[Fedora-packaging] Missing 'Provides:' from rpmdeps, apparently?
John Pye
john.pye at anu.edu.au
Tue Dec 18 05:24:03 UTC 2012
Hi Toshi, and thanks for your suggestions:
On 18/12/12 15:35, Toshio Kuratomi wrote:
> On Tue, Dec 18, 2012 at 02:15:14PM +1100, John Pye wrote:
>> Can anyone set me straight on what is going on here? (One thing that
>> I notice is that shared libraries in Ubuntu use 644 mode, but Fedora
>> 17 uses 755. But I believe I've corrected for that using %defattr.
>>
> What happens if you use chmod 0755 %{buildroot}%{_libdir}/lib*so*
> in %install ? I haven't checked recently but traditionally, the provides
> and requires scripts only checked shared libraries that were mode 0755.
This was the right solution. Indeed, the 'find-provides' or 'rpmdeps'
stuff only works if the shared library .so files are installed with the
executable bit set. It's *not* enough to use '%defattr' in the %files
section(s).
I couldn't find this fact mentioned ANYWHERE in the documentation, FWIW,
and it's especially a concern/difficulty since this +x marking is
different from the practice on Debian systems.
>> Also I am getting automatically-generated dependencies on /bin/sh
> One reason for this is that you have %post and %postun scripts. Those
> automaticaly use /bin/sh as the interpreter unless told otherwise.
>
> Since you only call ldconfig there, you could do them like ths instead:
> %post -p /sbin/ldoncifg
>
> That will invoke /bin/ldconfig directly without the need of the shell.
> However:
That seems to be a good idea, and replaces the 'sh' dependency with
'/sbin/ldconfig' instead.
>> and
>> /usr/bin/env that I am surprised by)
>>
> This likely means that you're installing a script somewhere that has
> /usr/bin/env in its shebang line that rpm is finding.
Actually what was happening here is that I have a 'freesteam-config'
script that starts with "#!/usr/bin/env python". Should I ideally change
that script to start with #!/usr/bin/python, or is the /usr/bin/env
approach considered acceptable, and I just add "Requires: python" for
the devel package instead?
Cheers
JP
--
http://jpye.dyndns.org
More information about the packaging
mailing list