FS#14700 - drop the libelf dependency on GNU screen

Attached to Project: Arch Linux
Opened by Greg (dolby) - Tuesday, 12 May 2009, 17:58 GMT
Last edited by Allan McRae (Allan) - Thursday, 28 May 2009, 15:29 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Allan McRae (Allan)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Arch is the only distribution linking GNU screen to libelf.
See some examples:
http://packages.debian.org/squeeze/screen
http://crux.nu/ports/crux-2.5/opt/screen/Pkgfile
In fact Gentoo has a patch to not link to it even if found on the system:

# Don't link against libelf even if it is found on the system
epatch "${FILESDIR}"/4.0.2-no-libelf.patch

http://gentoo-portage.com/AJAX/Ebuild/76461/View
This task depends upon

Closed by  Allan McRae (Allan)
Thursday, 28 May 2009, 15:29 GMT
Reason for closing:  Fixed
Comment by Greg (dolby) - Tuesday, 12 May 2009, 18:00 GMT
BTW if the dependency gets dropped libelf can move out of core
Comment by Greg (dolby) - Tuesday, 12 May 2009, 18:35 GMT
Almost forgot. gpm, while its an excellent application, isnt really a GNU screen dependency either. It can be removed too.
Comment by Gerardo Exequiel Pozzi (djgera) - Tuesday, 12 May 2009, 18:43 GMT
Yes, also the dependency in shadow isn't used. Is linked but not used. (same from libutil from glibc) There are many many packages in this situation.

This link behaviour, maybe will be changed in the next pacman version if --as-needed is implemented in LDFLAGS as default[#1]. Then no patch is needed.

[#1] http://www.archlinux.org/pipermail/arch-general/2009-April/004377.html
Comment by Gerardo Exequiel Pozzi (djgera) - Tuesday, 12 May 2009, 18:56 GMT
PS: screen is in [extra] not in [core]
Comment by Gerardo Exequiel Pozzi (djgera) - Tuesday, 12 May 2009, 22:19 GMT
for example if you run makepkg as-is with: export LDFLAGS="-Wl,--as-needed -Wl,--no-undefined"

The result of binary is ( readelf -d screen-4.0.3 | awk '/NEEDED/{print $5}' )
[libncursesw.so.5]
[libcrypt.so.1]
[libpam.so.0]
[libc.so.6]

instead of
[libncursesw.so.5]
[libelf.so.0]
[libutil.so.1]
[libcrypt.so.1]
[libshadow.so.0]
[libpam.so.0]
[libc.so.6]

Comment by Greg (dolby) - Wednesday, 13 May 2009, 04:02 GMT
I think screen was in core until recently. But libelf, although it doesnt depend on any package in core, it's still there.
Comment by Allan McRae (Allan) - Wednesday, 13 May 2009, 04:16 GMT
I do not think screen was ever in [core]. Anyway, I will get to this at some stage... definitely a low priority.

Loading...