Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#40579 - [prelink] /etc/prelink.conf is no longer packaged

Attached to Project: Community Packages
Opened by ValdikSS (ValdikSS) - Wednesday, 28 May 2014, 09:24 GMT
Last edited by Alexander F. Rødseth (xyproto) - Thursday, 05 June 2014, 13:41 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Alexander F. Rødseth (xyproto)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
There is no /etc/prelink.conf in the current prelink version (prelink 20130503-2). Is this intended or a mistake?
This task depends upon

Closed by  Alexander F. Rødseth (xyproto)
Thursday, 05 June 2014, 13:41 GMT
Reason for closing:  Fixed
Additional comments about closing:  It would be nice if prelink would allow packages to blacklist themselves by adding files somewhere in /etc.
Comment by Alexander F. Rødseth (xyproto) - Friday, 30 May 2014, 15:42 GMT
This was intended.

Here are the contents of the previous prelink.conf file:

# System
/usr/lib
/usr/bin

# KDE3
/opt/kde/lib
/opt/kde/bin
/opt/kde/share

We no longer have KDE 3 in the official repos and /usr/lib and /usr/bin now have symlinks from /bin, /sbin etc.

Also, the configuration file is not provided by upstream and we have a policy to include as few patches and changes from the upstream version as possible.

Does the removal of the configuration file cause any problems on your end?
Comment by ValdikSS (ValdikSS) - Friday, 30 May 2014, 15:45 GMT
Well, I think prelink.conf should be included in the package because the program is totally unusable without it.
Comment by ValdikSS (ValdikSS) - Friday, 30 May 2014, 15:48 GMT
I would recommend to include either "basic" prelink.conf:

# System
/usr/lib
/usr/bin

or "advanced" one:

# System
/usr/lib
/usr/bin

# Blacklists
# Skype
-b /usr/lib32/skype/skype
-b /usr/lib/skype/skype

# Ruby
-b /usr/bin/ruby

# Flash Player Plugin
-b /usr/lib/mozilla/plugins/libflashplayer.so

# NVIDIA
-b /usr/lib/libGL.so*
-b /usr/lib32/libGL.so*
-b /usr/lib/libOpenCL.so*
-b /usr/lib32/libOpenCL.so*
-b /usr/lib32/vdpau/
-b /usr/lib/vdpau/
-b /usr/lib/xorg/modules/drivers/nvidia_drv.so
-b /usr/lib/xorg/modules/extensions/libglx.so*
-b /usr/lib/libnvidia-*
-b /usr/lib32/libnvidia-*

# Catalyst
-b /usr/lib/libati*
-b /usr/lib/fglrx*
-b /usr/lib/libAMDXvBA*
-b /usr/lib/libGL.so*
-b /usr/lib/libfglrx*
-b /usr/lib/xorg/modules/dri/fglrx_dri.so
-b /usr/lib/xorg/modules/drivers/fglrx_drv.so
-b /usr/lib/xorg/modules/extensions/fglrx/
-b /usr/lib/xorg/modules/linux/libfglrxdrm.so
-b /usr/lib/xorg/modules/extensions/libglx.so

(from here https://wiki.archlinux.org/index.php/Talk:Prelink)
Comment by Alexander F. Rødseth (xyproto) - Saturday, 31 May 2014, 10:17 GMT
Thank you for providing the example configurations.

Several other applications are also unusable without being properly configured, like rsnapshot, mfs and nginx.


I see several possible ways to go:

Alternative 1:
The "basic" and "advanced" configuration is placed somewhere in the filesystem (as /etc/prelink.conf.basic and /etc/prelink.conf.advanced or in /usr/share/doc/prelink).

Alternative 2:
I talk to upstream and hear if they can make prelink look in /usr/lib and /usr/bin by default, in lack of a configuration file, since one would think that this is a pretty reasonable default.

Alternative 3a and 3b:
The "basic" or "advanced" configuration is included as /etc/prelink.conf

I think Alternative 2 is the best option here, so I'll try that. If that yields no results, I think Alternative 1 is more in line with other Arch Linux packages, but I see that Alternative 3 would probably be the most comfortable and convenient option for users. As long as technical simplicity is not sacrificed, I guess some convenience would be ok.
Comment by Alexander F. Rødseth (xyproto) - Saturday, 31 May 2014, 10:24 GMT
Examined the latest release tarball of prelink more closely, and I see that a prelink.conf file _is_ included.

I'll make it so that it is installed in /etc/prelink.conf, while placing prelink.conf.basic and prelink.conf.advanced in /usr/share/doc/prelink.
Comment by ValdikSS (ValdikSS) - Saturday, 31 May 2014, 10:24 GMT
Alexander, I think we should choose between basic or advanced and not include both.
The problem is that prelink breaks skype, ruby and some other applications and we should blacklist them.
nVidia and Catalyst libraries are blacklisted because prelink can't link them and prints warnings, but doesn't break them.
But since all other distros doesn't blacklist anything, I don't know what version should we choose. I'd stick with the advanced one.
Comment by Alexander F. Rødseth (xyproto) - Monday, 02 June 2014, 11:29 GMT
Ideally, the blacklisting should be done by the packages that needs to be blacklisted. For instance, the Catalyst-related packages are the one that should add themselves to the prelink blacklist by placing a configuration file somewhere in /etc. I see that /etc/prelink.conf.d exists on Red Hat 6 installations. Perhaps there exists a good solution for this. Will investigate more.
Comment by Alexander F. Rødseth (xyproto) - Thursday, 05 June 2014, 13:21 GMT
Could not find a way for letting packages blacklist themselves that is cleaner than just including the "advanced" prelink.conf configuration. I considered writing a cleaner configuration system that would generate a prelink.conf on the fly, then pass it to prelink when prelink was being run, but it's a bit of a hassle, good chance that something going wrong, and better to fix it in prelink itself. Also, the number of packages that would need to blacklist themselves with prelink is low.

Ended up going for the clean and easy solution. Including the "advanced" configuration. Thanks for the input along the way, ValdikSS.

Loading...