-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unzip was not building with bzip2 support #18
Conversation
This appears to have begun at the point that we stopped shipping the static libbz2.a. Fixes: omniosorg/omnios-build#3448
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for putting this together @citrus-it.
build/unzip/build.sh
Outdated
@@ -48,6 +50,7 @@ configure_aarch64() { | |||
} | |||
|
|||
pre_install() { | |||
ldd $PROG | $EGREP -s libbz2 || logerr "unzip was built without bzip2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if we should be using eldfump -d here as otherwise you could get a false positive if a dep of a dep had libbz2 support.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, and the test also doesn't work for cross compiled binaries such as aarch64
. Here's an update.
build/unzip/build.sh
Outdated
@@ -50,7 +50,8 @@ configure_aarch64() { | |||
} | |||
|
|||
pre_install() { | |||
ldd $PROG | $EGREP -s libbz2 || logerr "unzip was built without bzip2" | |||
$ELFEDIT -e dyn:dump -o simple $PROG | $EGREP -s 'libbz2\.so' \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$ELFEDIT -e dyn:dump -o simple $PROG | $EGREP -s 'libbz2\.so' \ | |
$ELFEDIT -r -e 'dyn:tag NEEDED' -o simple $PROG | $EGREP -s 'libbz2\.so' \ |
This makes sure that elfedit opens it read-only, which should be fine, but if the users are off will throw this off. Tihs also only dumps the needed tag, so that way if something else is in here and matches for some weird reason, you'll not be thrown off. Here's an example output:
rm@beren:~$ elfedit -r -e 'dyn:tag NEEDED' /usr/bin/ls
index tag value
[1] NEEDED 0x693 libsec.so.1
[3] NEEDED 0x6b8 libnvpair.so.1
[5] NEEDED 0x6d0 libcmdutils.so.1
[7] NEEDED 0x6e1 libcurses.so.1
[8] NEEDED 0x6f0 libc.so.1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that's better, done.
This imports several
unzip
fixes from upstream - omniosorg/omnios-build#3449