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: ludo <at> gnu.org (Ludovic Courtès)
Subject: bug#30006: closed (Re: bug#30006: bzip2 does not provide libbz2.so)
Date: Tue, 27 Mar 2018 20:50:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#30006: bzip2 does not provide libbz2.so

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 30006 <at> debbugs.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: 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 3 (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)]
[Message part 5 (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’.



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.