[SailfishDevel] Boolean dependencies in RPM SPEC

rinigus rinigus.git at gmail.com
Sun May 12 17:56:16 UTC 2019


PS: And it failed on 3.0.2 - back to the drawing board...

On Sun, May 12, 2019 at 8:47 PM rinigus <rinigus.git at gmail.com> wrote:

> Martin,
>
> thanks for pointing in this direction. I added %dump in SPEC and the only
> reasonable macro that I could see was _repository. So, I added the
> following to differentiate the dependencies:
>
> %if %{_repository} == "sailfish_3.0.2.8_armv7hl"
> BuildRequires: libicu52-devel
> %else
> BuildRequires: libicu-devel
> %endif
>
> Not the prettiest of the solutions, but seem to work.
>
> Rinigus
>
> On Sun, May 12, 2019 at 3:53 PM Martin Kolman <martin.kolman at gmail.com>
> wrote:
>
>> Sat, 11 May 2019 17:53:27 +0300 Rinigus <rinigus.git at gmail.com>
>> <rinigus.git at gmail.com>:
>>
>> Summary from IRC chat on the topic: David spotted that BuildRequires is
>> not mentioned in the list of boolean dependencies (thank you!).
>>
>> So, next question: which condition could I use in %if expansion of SPEC
>> to distinguish SFOS 3.0.3.x from the earlier versions? Maybe there is some
>> variable defined at OBS build env that can be used?
>>
>> I know that Fedora/RHEL/CentOS/OpenSUSE and RPM based distros in general
>> usually have some RPM macro[0] defined that can be used to check on which
>> "target" the package is being built and then behave accordingly. That way
>> people can use the same spec file across multiple Fedora and even RHEL
>> releases. I would assume Sailfish OS might have something similar and if
>> not it definitely should be added.
>>
>> But if no such mechanism is available at the moment, there might still be
>> a way to share a common spec file the way modRana does it. I didn't want to
>> maintain three spec files for modRana (one for Open Repos, one for Harbour,
>> one for Fedora) so I've added conditions to the single shared spec file
>> based on custom RPM variables. The variables are then set at build time
>> based on custom config for the given Mer OBS project.
>>
>> The condition can be seen for example here:
>>
>> https://github.com/M4rtinK/modrana/blob/master/packaging/modrana.spec#L33
>>
>>
>> The custom repo configs can be seen here:
>>
>> https://build.merproject.org/project/prjconf/home:MartinK:sailfish:modrana
>>
>>
>> https://build.merproject.org/project/prjconf/home:MartinK:sailfish:modrana-harbour
>>
>>
>> Note that the modRana project has just %with_sailfish set while
>> modrana-harbour has also %with_harbour set.
>>
>> I think you could use something similar, eq. %with_old_icu or %sfos_303
>> on two separate OBS projects sharing the same spec file
>>
>> with the respective conditions set.
>>
>>
>> Best Wishes
>>
>> Martin Kolman
>>
>>
>> [0] https://docs.fedoraproject.org/en-US/packaging-guidelines/DistTag/
>>
>>
>> Rinigus
>>
>>
>>
>> On Sat, May 11, 2019 at 4:38 PM rinigus <rinigus.git at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> the problem is while building at OBS:
>>> https://build.merproject.org/package/show/home:rinigus:maps/mapnik
>>>
>>> Rinigus
>>>
>>> On Sat, May 11, 2019 at 4:30 PM David Llewellyn-Jones <
>>> david at flypig.co.uk> wrote:
>>>
>>>> On 11/05/2019 16:12, rinigus wrote:
>>>> [snip]
>>>> > BuildRequires: (libicu52-devel or libicu-devel)
>>>> >
>>>> > as in
>>>> >
>>>> https://github.com/rinigus/pkg-mapnik/blob/da5b6a11667b286c89bbee93eb57e2d4d52d5902/rpm/mapnik.spec#L16
>>>>
>>>> [snip]
>>>> > Hence the question - how can I add support for 3.0.2.x and 3.0.3.x
>>>> using
>>>> > the same SPEC file? On device, RPM has version 4.14, if its of any
>>>> > importance.
>>>>
>>>> For 'BuildRequires', it's presumably the versioning in your SDK tooling
>>>> which is important, rather than the RPM version on your device. It may
>>>> be worth checking that too.
>>>>
>>>> Or is the problem you're experiencing happening at install time (i.e. in
>>>> relation to the 'Requires' on line 36 of that file)? I can't see any
>>>> difference between your version and the examples in the spec you posted.
>>>>
>>>> David
>>>> --
>>>> Website: http://www.flypig.co.uk
>>>> _______________________________________________
>>>> SailfishOS.org Devel mailing list
>>>> To unsubscribe, please send a mail to
>>>> devel-unsubscribe at lists.sailfishos.org
>>>
>>>
>> _______________________________________________
>> SailfishOS.org Devel mailing list
>> To unsubscribe, please send a mail to devel-unsubscribe at lists.sailfishos.org
>>
>>
>>
>> _______________________________________________
>> SailfishOS.org Devel mailing list
>> To unsubscribe, please send a mail to
>> devel-unsubscribe at lists.sailfishos.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20190512/3d3f88db/attachment.html>


More information about the Devel mailing list