GNU bug report logs - #30006
bzip2 does not provide libbz2.so

Previous Next

Package: guix;

Reported by: ludo <at> gnu.org (Ludovic Courtès)

Date: Sat, 6 Jan 2018 13:30:02 UTC

Severity: normal

Done: Marius Bakke <mbakke <at> fastmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#30006: closed (bzip2 does not provide libbz2.so)
Date: Tue, 27 Mar 2018 20:50:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 27 Mar 2018 22:49:19 +0200
with message-id <87bmf9gs6o.fsf <at> fastmail.com>
and subject line Re: bug#30006: bzip2 does not provide libbz2.so
has caused the debbugs.gnu.org bug report #30006,
regarding bzip2 does not provide libbz2.so
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
30006: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30006
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: bug-guix <at> gnu.org
Subject: bzip2 does not provide libbz2.so
Date: Sat, 06 Jan 2018 14:29:00 +0100
Our current bzip2 package does not provide libbz2.so:

--8<---------------cut here---------------start------------->8---
$ ls $(guix build bzip2)/lib
libbz2.a  libbz2.so.1.0  libbz2.so.1.0.6
--8<---------------cut here---------------end--------------->8---

Consequently, software that uses libbz2 always ends up
statically-linking it.  Thus, security issues in libbz2 cannot be
grafted.

Ludo’.


[Message part 3 (message/rfc822, inline)]
From: Marius Bakke <mbakke <at> fastmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Mark H Weaver <mhw <at> netris.org>, 30006-done <at> debbugs.gnu.org,
 Tobias Geerinckx-Rice <me <at> tobias.gr>
Subject: Re: bug#30006: bzip2 does not provide libbz2.so
Date: Tue, 27 Mar 2018 22:49:19 +0200
[Message part 4 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hello Marius,
>
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> Ludovic Courtès <ludo <at> gnu.org> writes:
>>
>>> There’s no such function, which is unfortunate.  But I agree it’s nicer
>>> to preserve symlinks in this case.
>>>
>>> Perhaps we should actually do:
>>>
>>>   (with-directory-excursion libdir
>>>     (symlink … "libbz2.so"))
>>
>> Thanks for the feedback everyone.  I settled on a slightly different
>> solution, that first extracts the (full) soversion from the built
>> library, then creates symlinks for each "sub-version".
>>
>> It assumes that the major version is "1".  That could be circumvented
>> with a regex, but I'm not sure if it's worth the effort.
>>
>> As an added bonus, this also creates "libbz2.so.1" which was missing too.
>>
>> WDYT of this approach?  Can it be made simpler?
>
> Sounds reasonable to me.  I have a suggestion:

[...]

> To avoid ‘set!’, I’d write it along these lines:
>
>   ;; Create symlinks libbz2.so.1.2 -> libbz2.so.1, etc.
>   (let loop ((base "libbz2.so")
>              (numbers (string-split soversion #\.)))
>     (unless (null? numbers)
>       (let ((so-file (string-append base "." (car numbers))))
>         (symlink so-file base)
>         (loop so-file (cdr numbers)))))

This is much nicer, thanks!  I've pushed the patch with this improvement.
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 7 years and 116 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.