On Tue, 2018-01-30 at 10:04 +0100, Igor Gnatenko wrote:
For those who didn't check Change page since today's morning:
Thanks
to Jason
Tibbits (tibbs) who proposed %ldconfig_scriptlets macro and its
implementation.
Now we have 4 macros you could use: %ldconfig, %ldconfig_post,
%ldconfig_postun, %ldconfig_scriptlets.
So long story short:
* If you have %post -p /sbin/ldconfig and %postun -p /sbin/ldconfig,
replace it
with %ldconfig_scriptlets
* If you have just one of those, replace it with %ldconfig_post or
%ldconfig_postun accordingly
* If you just call to /sbin/ldconfig from one of your scriptlets in
shell, just
replace it with %?ldconfig
However, if you are not interested to support distro versions less
than F28,
then just remove scriptlets 😉 Although on F28+, those macro expand t
o nothin
g so it's just matter of having 1-2 additional lines in spec file.
Hi,
now, building network-manager-applet(fc28) on Fedora 27, it fails:
Full log written to /data/src/fedpkg/network-manager-applet/network-
manager-applet-1.8.10/x86_64-redhat-linux-gnu/meson-logs/testlog.txt
+ %ldconfig_scriptlets -n libnma
/var/tmp/rpm-tmp.YVXizL: line 40: fg: no job control
error: Bad exit status from /var/tmp/rpm-tmp.YVXizL (%check)
Bad exit status from /var/tmp/rpm-tmp.YVXizL (%check)
This doesn't seem right. Can we fix this? It seems very convenient to
be able to build a package for f28 across various Fedora versions,
because that is how I test the package...
See
https://src.fedoraproject.org/rpms/network-manager-applet/c/d6f6981153e4b...
best,
Thomas
On Mon, 2018-01-29 at 22:30 +0100, Jan Kurik wrote:
> = Proposed Self Contained Change: Removing ldconfig scriptlets =
>
https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets
>
> Change owner(s):
> * Igor Gnatenko <ignatenkobrain AT fedoraproject DOT org,>
> * Neal Gompa <ngompa13 AT gmail DOT com>
>
> For many years, package maintainers were required to write
> scriptlets
> which call ldconfig in %post/%postun if they package shared
> libraries.
>
> == Detailed Description ==
> Since time immemorial, Red Hat/Fedora packagers have been required
> to
> add a stanza to spec files for packages containing libraries to
> update
> the ldconfig cache.
>
> %post -p /sbin/ldconfig
> %postun -p /sbin/ldconfig
>
> To say this is annoying is to put it mildly. However, there was no
> standard mechanism to make this boilerplate go away. Now with RPM
> 4.13+, we should change this to file triggers and make all of that
> go
> away.
>
> With this change, these scriptlets can be removed and ldconfig
> would
> be run just once per transaction.
>
> If your package places shared libraries in special locations
> referenced by ld.so.conf, you still need to run ldconfig manually.
>
> For those who concerned about whether this is self-contained or
> system-wide change: there is no overhead if packagers don't remove
> ldconfig scriptlets in time, so completion doesn't depend whether
> packagers remove them or not. We are just making it possible.
>
>
> == Scope ==
> * Proposal owners:
> Make sure that DSO symlinks are being packagedcommit, add
> transaction
> filetriggers to glibccommit + commit.
>
> * Other developers:
> Package maintainers are advised to remove ldconfig scriptlets in
> order
> to achieve benefits specified above.
>
> * Release engineering:
> #7284:
https://pagure.io/releng/issue/7284
>
> * List of deliverables:
> N/A (not a System Wide Change)
>
> * Policies and guidelines:
> Packaging guidelines need to be updated to reflect reality.
>
> * Trademark approval:
> N/A (not needed for this Change)
> --
> Jan KuÅ™Ãk
> Platform & Fedora Program Manager
> Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic
_______________________________________________
devel mailing list -- devel(a)lists.fedoraproject.org
To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org