All worked as soon as %{_repository} is as in

%if "%{_repository}" == "sailfish_3.0.2.8_armv7hl"
BuildRequires: libicu52-devel
%else
BuildRequires: libicu-devel
%endif

Rinigus

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

> PS: And it failed on 3.0.2 - back to the drawing board...
>
> On Sun, May 12, 2019 at 8:47 PM rinigus <rinigus....@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.kol...@gmail.com>
>> wrote:
>>
>>> Sat, 11 May 2019 17:53:27 +0300 Rinigus <rinigus....@gmail.com>
>>> <rinigus....@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....@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 <
>>>> da...@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-unsubscr...@lists.sailfishos.org
>>>>
>>>>
>>> _______________________________________________
>>> SailfishOS.org Devel mailing list
>>> To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org
>>>
>>>
>>>
>>> _______________________________________________
>>> SailfishOS.org Devel mailing list
>>> To unsubscribe, please send a mail to
>>> devel-unsubscr...@lists.sailfishos.org
>>
>>
_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org

Reply via email to