diff mbox series

[RFC] bzip2: introduce make variable LIBDIR

Message ID 20171124220554.24261-1-code@mmayer.net
State Rejected
Headers show
Series [RFC] bzip2: introduce make variable LIBDIR | expand

Commit Message

Markus Mayer Nov. 24, 2017, 10:05 p.m. UTC
From: Markus Mayer <mmayer@broadcom.com>

In order to allow us to install libz2 into a location other than
/usr/lib, we introduce a variable called LIBDIR that can be set by
the build system to an alternate location.

LIBDIR defaults to /usr/lib, so the behaviour doesn't change if
LIBDIR is never set.

Signed-off-by: Markus Mayer <mmayer@broadcom.com>
---

Most package in buildroot seem to offer the flexibility to install
libraries into directories specified by the user (build system) rather
than hard-coding the destination in the way bzip2 does.

I am looking for some feedback regarding this change.

Since the changes touch the makefiles that are part of the bzip2
distribution, the changes have to be applied in the form of a patch.
Also, patches 3 & 4 somewhat relate to the already existing patch 2.

My question is whether patches 2-4 should be combined into a single
patch or if it is preferable to keep them separate.

 package/bzip2/0003-add-libdir-to-makefile.patch    | 36 ++++++++++++++++++++++
 .../bzip2/0004-add-libdir-to-makefile-libbz2.patch | 31 +++++++++++++++++++
 2 files changed, 67 insertions(+)
 create mode 100644 package/bzip2/0003-add-libdir-to-makefile.patch
 create mode 100644 package/bzip2/0004-add-libdir-to-makefile-libbz2.patch

Comments

Thomas Petazzoni Nov. 24, 2017, 10:35 p.m. UTC | #1
Hello,

On Fri, 24 Nov 2017 14:05:54 -0800, Markus Mayer wrote:
> From: Markus Mayer <mmayer@broadcom.com>
> 
> In order to allow us to install libz2 into a location other than
> /usr/lib, we introduce a variable called LIBDIR that can be set by
> the build system to an alternate location.
> 
> LIBDIR defaults to /usr/lib, so the behaviour doesn't change if
> LIBDIR is never set.
> 
> Signed-off-by: Markus Mayer <mmayer@broadcom.com>
> ---
> 
> Most package in buildroot seem to offer the flexibility to install
> libraries into directories specified by the user (build system) rather
> than hard-coding the destination in the way bzip2 does.

We don't support customizing on a per-package basis, or even globally,
where libraries are installed. Where have you seen that we offer the
flexibility to choose where libraries are installed ?

> My question is whether patches 2-4 should be combined into a single
> patch or if it is preferable to keep them separate.

The whole point of patch 2 is to allow cross-compilation, not to allow
customizing the directory where libraries are installed.

What are you trying to do?

Thomas
Markus Mayer Nov. 25, 2017, 12:24 a.m. UTC | #2
On 24 November 2017 at 14:35, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Fri, 24 Nov 2017 14:05:54 -0800, Markus Mayer wrote:
>> From: Markus Mayer <mmayer@broadcom.com>
>>
>> In order to allow us to install libz2 into a location other than
>> /usr/lib, we introduce a variable called LIBDIR that can be set by
>> the build system to an alternate location.
>>
>> LIBDIR defaults to /usr/lib, so the behaviour doesn't change if
>> LIBDIR is never set.
>>
>> Signed-off-by: Markus Mayer <mmayer@broadcom.com>
>> ---
>>
>> Most package in buildroot seem to offer the flexibility to install
>> libraries into directories specified by the user (build system) rather
>> than hard-coding the destination in the way bzip2 does.
>
> We don't support customizing on a per-package basis, or even globally,
> where libraries are installed. Where have you seen that we offer the
> flexibility to choose where libraries are installed ?

I haven't seen that anywhere, but many packages I looked at do provide
the option to specify the library directory somehow (if they are
autoconf packages, it's --libdir=$somepath, other packages use make
variables).

>> My question is whether patches 2-4 should be combined into a single
>> patch or if it is preferable to keep them separate.
>
> The whole point of patch 2 is to allow cross-compilation, not to allow
> customizing the directory where libraries are installed.
>
> What are you trying to do?

I have to make 32-bit ARM binaries work on a 64-bit ARM rootfs. I
don't have much of a choice at this time, because there are some
applications that we receive binary-only from other teams and they
come in 32-bit format only for now. As far as I know, the reason for
that is that the applications haven't been made 64-bit safe, so it
isn't a matter of asking for the apps to be compiled as 64-bit
binaries. They wouldn't work correctly. Or more likely, they wouldn't
even build in the first place.

The consequence of this is that I need to stick 32-bit libraries in
/lib and 64-bit libraries in /lib64 and /usr/lib64. To make this work,
one has to specify a path to a 32-bit sys-root (via a new BR
configuration setting), which will then be used to populate /lib. Of
course, there can't be lib64 -> lib type sym-links, either.

All shared libraries that are being built by buildroot go in
/usr/lib64 rather than /usr/lib. bzip2 is the only package I came
across that I couldn't tell that its library directory should be
/usr/lib64.

It took some doing, but this approach is working for me at this point.
I can successfully run the 32-bit binaries from a 64-bit rootfs.

I can certainly share what I have done so far. Of course, I have only
tested this with our toolchains (which are external to build root). I
am sure there are issues when you try other toolchains. It would
probably take some work to make this behave properly in all scenarios,
so I've been a bit hesitant to post the changes here. I am also still
cleaning up the modifications I made. There are five commits and the
bzip2 change here to make this work. So, maybe it isn't that bad after
all. :-)

Here's the result with my changes:

$ ls -la target/lib
total 2736
drwxr-xr-x  4 mmayer mmayer   4096 Nov 24 14:37 .
drwxr-xr-x 18 mmayer mmayer   4096 Nov 24 14:38 ..
drwxr-xr-x  3 mmayer mmayer   4096 Nov 24 14:37 dhcpcd
-rwxr-xr-x  1 mmayer mmayer 122884 Nov 24 14:37 ld-2.24.so
lrwxrwxrwx  1 mmayer mmayer     19 Nov 24 14:22 ld-linux-aarch64.so.1
-> ../lib64/ld-2.24.so
lrwxrwxrwx  1 mmayer mmayer     10 Nov 24 14:22 ld-linux-armhf.so.3 ->
ld-2.24.so
-rwxr-xr-x  1 mmayer mmayer  14036 Nov 24 14:37 libanl-2.24.so
lrwxrwxrwx  1 mmayer mmayer     14 Nov 24 14:22 libanl.so.1 -> libanl-2.24.so
lrwxrwxrwx  1 mmayer mmayer     18 Nov 24 14:22 libatomic.so.1 ->
libatomic.so.1.2.0
-rwxr-xr-x  1 mmayer mmayer  10640 Nov 24 14:37 libatomic.so.1.2.0
-rwxr-xr-x  1 mmayer mmayer 898732 Nov 24 14:37 libc-2.24.so
-rwxr-xr-x  1 mmayer mmayer  30248 Nov 24 14:37 libcrypt-2.24.so
lrwxrwxrwx  1 mmayer mmayer     16 Nov 24 14:22 libcrypt.so.1 ->
libcrypt-2.24.so
lrwxrwxrwx  1 mmayer mmayer     12 Nov 24 14:22 libc.so.6 -> libc-2.24.so
-rwxr-xr-x  1 mmayer mmayer   9640 Nov 24 14:37 libdl-2.24.so
lrwxrwxrwx  1 mmayer mmayer     13 Nov 24 14:22 libdl.so.2 -> libdl-2.24.so
-rwxr-xr-x  1 mmayer mmayer  94220 Nov 24 14:37 libgcc_s.so.1
-rwxr-xr-x  1 mmayer mmayer 423316 Nov 24 14:37 libm-2.24.so
lrwxrwxrwx  1 mmayer mmayer     12 Nov 24 14:22 libm.so.6 -> libm-2.24.so
-rwxr-xr-x  1 mmayer mmayer  55060 Nov 24 14:37 libnsl-2.24.so
lrwxrwxrwx  1 mmayer mmayer     14 Nov 24 14:22 libnsl.so.1 -> libnsl-2.24.so
-rwxr-xr-x  1 mmayer mmayer  13756 Nov 24 14:37 libnss_dns-2.24.so
lrwxrwxrwx  1 mmayer mmayer     18 Nov 24 14:22 libnss_dns.so.2 ->
libnss_dns-2.24.so
-rwxr-xr-x  1 mmayer mmayer  30208 Nov 24 14:37 libnss_files-2.24.so
lrwxrwxrwx  1 mmayer mmayer     20 Nov 24 14:22 libnss_files.so.2 ->
libnss_files-2.24.so
-rwxr-xr-x  1 mmayer mmayer 106868 Nov 24 14:37 libpthread-2.24.so
lrwxrwxrwx  1 mmayer mmayer     18 Nov 24 14:22 libpthread.so.0 ->
libpthread-2.24.so
-rwxr-xr-x  1 mmayer mmayer  54968 Nov 24 14:37 libresolv-2.24.so
lrwxrwxrwx  1 mmayer mmayer     17 Nov 24 14:22 libresolv.so.2 ->
libresolv-2.24.so
-rwxr-xr-x  1 mmayer mmayer  22372 Nov 24 14:37 librt-2.24.so
lrwxrwxrwx  1 mmayer mmayer     13 Nov 24 14:22 librt.so.1 -> librt-2.24.so
lrwxrwxrwx  1 mmayer mmayer     19 Nov 24 14:22 libstdc++.so.6 ->
libstdc++.so.6.0.22
-rwxr-xr-x  1 mmayer mmayer 841260 Nov 24 14:37 libstdc++.so.6.0.22
-rwxr-xr-x  1 mmayer mmayer   2498 Nov 24 14:22 libstdc++.so.6.0.22-gdb.py
-rwxr-xr-x  1 mmayer mmayer   9676 Nov 24 14:37 libutil-2.24.so
lrwxrwxrwx  1 mmayer mmayer     15 Nov 24 14:22 libutil.so.1 -> libutil-2.24.so
drwxr-xr-x  3 mmayer mmayer   4096 Nov 24 14:37 modules

$ ls -la target/lib64
total 6920
drwxr-xr-x  4 mmayer mmayer    4096 Nov 24 14:37 .
drwxr-xr-x 18 mmayer mmayer    4096 Nov 24 14:38 ..
drwxr-xr-x  2 mmayer mmayer    4096 Nov 24 14:37 bash
-rwxr-xr-x  1 mmayer mmayer 1196544 Nov 24 14:22 ld-2.24.so
-rwxr-xr-x  1 mmayer mmayer   14616 Nov 24 14:37 libanl-2.24.so
lrwxrwxrwx  1 mmayer mmayer      14 Nov 24 14:22 libanl.so.1 -> libanl-2.24.so
lrwxrwxrwx  1 mmayer mmayer      18 Nov 24 14:22 libatomic.so.1 ->
libatomic.so.1.2.0
-rwxr-xr-x  1 mmayer mmayer   15744 Nov 24 14:37 libatomic.so.1.2.0
-rwxr-xr-x  1 mmayer mmayer 1267264 Nov 24 14:37 libc-2.24.so
-rwxr-xr-x  1 mmayer mmayer   30720 Nov 24 14:37 libcrypt-2.24.so
lrwxrwxrwx  1 mmayer mmayer      16 Nov 24 14:22 libcrypt.so.1 ->
libcrypt-2.24.so
lrwxrwxrwx  1 mmayer mmayer      12 Nov 24 14:22 libc.so.6 -> libc-2.24.so
-rwxr-xr-x  1 mmayer mmayer   10216 Nov 24 14:37 libdl-2.24.so
lrwxrwxrwx  1 mmayer mmayer      13 Nov 24 14:22 libdl.so.2 -> libdl-2.24.so
-rwxr-xr-x  1 mmayer mmayer   61896 Nov 24 14:37 libgcc_s.so.1
lrwxrwxrwx  1 mmayer mmayer      18 Nov 24 14:34 libhandle.so.1 ->
libhandle.so.1.0.3
-rwxr-xr-x  1 mmayer mmayer    9096 Nov 24 14:37 libhandle.so.1.0.3
-rwxr-xr-x  1 mmayer mmayer  641632 Nov 24 14:37 libm-2.24.so
lrwxrwxrwx  1 mmayer mmayer      12 Nov 24 14:22 libm.so.6 -> libm-2.24.so
-rwxr-xr-x  1 mmayer mmayer   76448 Nov 24 14:37 libnsl-2.24.so
lrwxrwxrwx  1 mmayer mmayer      14 Nov 24 14:22 libnsl.so.1 -> libnsl-2.24.so
-rwxr-xr-x  1 mmayer mmayer   18472 Nov 24 14:37 libnss_dns-2.24.so
lrwxrwxrwx  1 mmayer mmayer      18 Nov 24 14:22 libnss_dns.so.2 ->
libnss_dns-2.24.so
-rwxr-xr-x  1 mmayer mmayer   39088 Nov 24 14:37 libnss_files-2.24.so
lrwxrwxrwx  1 mmayer mmayer      20 Nov 24 14:22 libnss_files.so.2 ->
libnss_files-2.24.so
-rwxr-xr-x  1 mmayer mmayer 2218840 Nov 24 14:22 libpthread-2.24.so
lrwxrwxrwx  1 mmayer mmayer      18 Nov 24 14:22 libpthread.so.0 ->
libpthread-2.24.so
-rwxr-xr-x  1 mmayer mmayer   76280 Nov 24 14:37 libresolv-2.24.so
lrwxrwxrwx  1 mmayer mmayer      17 Nov 24 14:22 libresolv.so.2 ->
libresolv-2.24.so
-rwxr-xr-x  1 mmayer mmayer   27304 Nov 24 14:37 librt-2.24.so
lrwxrwxrwx  1 mmayer mmayer      13 Nov 24 14:22 librt.so.1 -> librt-2.24.so
lrwxrwxrwx  1 mmayer mmayer      19 Nov 24 14:22 libstdc++.so.6 ->
libstdc++.so.6.0.22
-rwxr-xr-x  1 mmayer mmayer 1317416 Nov 24 14:37 libstdc++.so.6.0.22
-rwxr-xr-x  1 mmayer mmayer    2509 Nov 24 14:22 libstdc++.so.6.0.22-gdb.py
-rwxr-xr-x  1 mmayer mmayer   10344 Nov 24 14:37 libutil-2.24.so
lrwxrwxrwx  1 mmayer mmayer      15 Nov 24 14:22 libutil.so.1 -> libutil-2.24.so
drwxr-xr-x  2 mmayer mmayer    4096 Nov 24 14:25 pkgconfig

$ file target/lib/librt-2.24.so target/lib64/librt-2.24.so
target/lib/librt-2.24.so:   ELF 32-bit LSB shared object, ARM, EABI5
version 1 (GNU/Linux), dynamically linked, for GNU/Linux 3.2.0,
stripped
target/lib64/librt-2.24.so: ELF 64-bit LSB shared object, ARM aarch64,
version 1 (SYSV), dynamically linked, for GNU/Linux 3.7.0, stripped

$ ls -la target/usr/lib64
total 4072
drwxr-xr-x 5 mmayer mmayer   4096 Nov 24 14:37 .
drwxr-xr-x 9 mmayer mmayer   4096 Nov 24 14:37 ..
-rwxr-xr-x 1 mmayer mmayer 977080 Nov 24 14:37 libbfd-2.28.1.so
-rwxr-xr-x 1 mmayer mmayer   1116 Nov 24 14:25 libbfd.la
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:25 libbfd.so -> libbfd-2.28.1.so
-rwxr-xr-x 1 mmayer mmayer    990 Nov 24 14:27 libblkid.la
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:27 libblkid.so -> libblkid.so.1.1.0
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:27 libblkid.so.1 ->
libblkid.so.1.1.0
-rwxr-xr-x 1 mmayer mmayer 236632 Nov 24 14:37 libblkid.so.1.1.0
lrwxrwxrwx 1 mmayer mmayer     15 Nov 24 14:27 libcom_err.so -> libcom_err.so.2
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:27 libcom_err.so.2 ->
libcom_err.so.2.1
-rwxr-xr-x 1 mmayer mmayer  10992 Nov 24 14:37 libcom_err.so.2.1
-rw-r--r-- 1 mmayer mmayer  21288 Nov 24 14:26 libcpufreq.a
lrwxrwxrwx 1 mmayer mmayer     19 Nov 24 14:26 libcpufreq.so ->
libcpufreq.so.0.0.0
lrwxrwxrwx 1 mmayer mmayer     19 Nov 24 14:26 libcpufreq.so.0 ->
libcpufreq.so.0.0.0
-rwxr-xr-x 1 mmayer mmayer  16448 Nov 24 14:37 libcpufreq.so.0.0.0
lrwxrwxrwx 1 mmayer mmayer     20 Nov 24 14:31 libcpupower.so ->
libcpupower.so.0.0.0
lrwxrwxrwx 1 mmayer mmayer     20 Nov 24 14:31 libcpupower.so.0 ->
libcpupower.so.0.0.0
-rwxr-xr-x 1 mmayer mmayer  13448 Nov 24 14:37 libcpupower.so.0.0.0
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:24 libcurses.so -> libncurses.so.6.0
-rwxr-xr-x 1 mmayer mmayer  50576 Nov 24 14:37 libdmalloc.so
-rwxr-xr-x 1 mmayer mmayer  51480 Nov 24 14:37 libdmallocthcxx.so
-rwxr-xr-x 1 mmayer mmayer  51048 Nov 24 14:37 libdmallocth.so
-rwxr-xr-x 1 mmayer mmayer  51008 Nov 24 14:37 libdmallocxx.so
lrwxrwxrwx 1 mmayer mmayer     11 Nov 24 14:27 libe2p.so -> libe2p.so.2
lrwxrwxrwx 1 mmayer mmayer     13 Nov 24 14:27 libe2p.so.2 -> libe2p.so.2.3
-rwxr-xr-x 1 mmayer mmayer  28808 Nov 24 14:37 libe2p.so.2.3
lrwxrwxrwx 1 mmayer mmayer     14 Nov 24 14:27 libext2fs.so -> libext2fs.so.2
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:27 libext2fs.so.2 ->
libext2fs.so.2.4
-rwxr-xr-x 1 mmayer mmayer 250152 Nov 24 14:37 libext2fs.so.2.4
lrwxrwxrwx 1 mmayer mmayer     12 Nov 24 14:24 libform.so -> libform.so.6
lrwxrwxrwx 1 mmayer mmayer     14 Nov 24 14:24 libform.so.6 -> libform.so.6.0
-rwxr-xr-x 1 mmayer mmayer  49984 Nov 24 14:37 libform.so.6.0
lrwxrwxrwx 1 mmayer mmayer     15 Nov 24 14:24 libhistory.so -> libhistory.so.7
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:24 libhistory.so.7 ->
libhistory.so.7.0
-rwxr-xr-x 1 mmayer mmayer  29784 Nov 24 14:37 libhistory.so.7.0
-rwxr-xr-x 1 mmayer mmayer    928 Nov 24 14:28 libip4tc.la
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:28 libip4tc.so -> libip4tc.so.0.1.0
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:28 libip4tc.so.0 ->
libip4tc.so.0.1.0
-rwxr-xr-x 1 mmayer mmayer  22144 Nov 24 14:37 libip4tc.so.0.1.0
-rwxr-xr-x 1 mmayer mmayer    928 Nov 24 14:28 libip6tc.la
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:28 libip6tc.so -> libip6tc.so.0.1.0
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:28 libip6tc.so.0 ->
libip6tc.so.0.1.0
-rwxr-xr-x 1 mmayer mmayer  23856 Nov 24 14:37 libip6tc.so.0.1.0
-rwxr-xr-x 1 mmayer mmayer   1100 Nov 24 14:28 libiptc.la
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:28 libiptc.so -> libiptc.so.0.0.0
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:28 libiptc.so.0 -> libiptc.so.0.0.0
-rwxr-xr-x 1 mmayer mmayer   4016 Nov 24 14:37 libiptc.so.0.0.0
-rwxr-xr-x 1 mmayer mmayer    923 Nov 24 14:32 liblxc.la
lrwxrwxrwx 1 mmayer mmayer     11 Nov 24 14:32 liblxc.so -> liblxc.so.1
lrwxrwxrwx 1 mmayer mmayer     15 Nov 24 14:32 liblxc.so.1 -> liblxc.so.1.3.0
-rwxr-xr-x 1 mmayer mmayer 647048 Nov 24 14:37 liblxc.so.1.3.0
-rwxr-xr-x 1 mmayer mmayer    912 Nov 24 14:31 liblzma.la
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:31 liblzma.so -> liblzma.so.5.2.3
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:31 liblzma.so.5 -> liblzma.so.5.2.3
-rwxr-xr-x 1 mmayer mmayer 116232 Nov 24 14:37 liblzma.so.5.2.3
lrwxrwxrwx 1 mmayer mmayer     12 Nov 24 14:24 libmenu.so -> libmenu.so.6
lrwxrwxrwx 1 mmayer mmayer     14 Nov 24 14:24 libmenu.so.6 -> libmenu.so.6.0
-rwxr-xr-x 1 mmayer mmayer  23600 Nov 24 14:37 libmenu.so.6.0
lrwxrwxrwx 1 mmayer mmayer     15 Nov 24 14:24 libncurses.so -> libncurses.so.6
lrwxrwxrwx 1 mmayer mmayer     17 Nov 24 14:24 libncurses.so.6 ->
libncurses.so.6.0
-rwxr-xr-x 1 mmayer mmayer 239352 Nov 24 14:37 libncurses.so.6.0
lrwxrwxrwx 1 mmayer mmayer     13 Nov 24 14:24 libpanel.so -> libpanel.so.6
lrwxrwxrwx 1 mmayer mmayer     15 Nov 24 14:24 libpanel.so.6 -> libpanel.so.6.0
-rwxr-xr-x 1 mmayer mmayer  10480 Nov 24 14:37 libpanel.so.6.0
-rw-r--r-- 1 mmayer mmayer 330644 Nov 24 14:31 libpcap.a
lrwxrwxrwx 1 mmayer mmayer     12 Nov 24 14:31 libpcap.so -> libpcap.so.1
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:31 libpcap.so.1 -> libpcap.so.1.8.1
-rwxr-xr-x 1 mmayer mmayer 204776 Nov 24 14:37 libpcap.so.1.8.1
lrwxrwxrwx 1 mmayer mmayer     11 Nov 24 14:31 libpci.so -> libpci.so.3
lrwxrwxrwx 1 mmayer mmayer     15 Nov 24 14:31 libpci.so.3 -> libpci.so.3.5.5
-rw-r--r-- 1 mmayer mmayer  32000 Nov 24 14:37 libpci.so.3.5.5
-rwxr-xr-x 1 mmayer mmayer    903 Nov 24 14:32 libpopt.la
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:32 libpopt.so -> libpopt.so.0.0.0
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:32 libpopt.so.0 -> libpopt.so.0.0.0
-rwxr-xr-x 1 mmayer mmayer  36344 Nov 24 14:37 libpopt.so.0.0.0
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:24 libreadline.so ->
libreadline.so.7
lrwxrwxrwx 1 mmayer mmayer     18 Nov 24 14:24 libreadline.so.7 ->
libreadline.so.7.0
-rwxr-xr-x 1 mmayer mmayer 257648 Nov 24 14:37 libreadline.so.7.0
lrwxrwxrwx 1 mmayer mmayer     10 Nov 24 14:27 libss.so -> libss.so.2
lrwxrwxrwx 1 mmayer mmayer     12 Nov 24 14:27 libss.so.2 -> libss.so.2.0
-rwxr-xr-x 1 mmayer mmayer  21112 Nov 24 14:37 libss.so.2.0
-rwxr-xr-x 1 mmayer mmayer    903 Nov 24 14:27 libuuid.la
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:27 libuuid.so -> libuuid.so.1.3.0
lrwxrwxrwx 1 mmayer mmayer     16 Nov 24 14:27 libuuid.so.1 -> libuuid.so.1.3.0
-rwxr-xr-x 1 mmayer mmayer  21336 Nov 24 14:37 libuuid.so.1.3.0
-rwxr-xr-x 1 mmayer mmayer    949 Nov 24 14:28 libxtables.la
lrwxrwxrwx 1 mmayer mmayer     20 Nov 24 14:28 libxtables.so ->
libxtables.so.12.0.0
lrwxrwxrwx 1 mmayer mmayer     20 Nov 24 14:28 libxtables.so.12 ->
libxtables.so.12.0.0
-rwxr-xr-x 1 mmayer mmayer  41536 Nov 24 14:37 libxtables.so.12.0.0
-rw-r--r-- 1 mmayer mmayer  99442 Nov 24 14:25 libz.a
lrwxrwxrwx 1 mmayer mmayer     14 Nov 24 14:25 libz.so -> libz.so.1.2.11
lrwxrwxrwx 1 mmayer mmayer     14 Nov 24 14:25 libz.so.1 -> libz.so.1.2.11
-rwxr-xr-x 1 mmayer mmayer  72744 Nov 24 14:37 libz.so.1.2.11

Regards,
-Markus
diff mbox series

Patch

diff --git a/package/bzip2/0003-add-libdir-to-makefile.patch b/package/bzip2/0003-add-libdir-to-makefile.patch
new file mode 100644
index 0000000..3172a3a
--- /dev/null
+++ b/package/bzip2/0003-add-libdir-to-makefile.patch
@@ -0,0 +1,36 @@ 
+Introduce LIBDIR to Makefile
+
+The variable LIBDIR allows us to override where libbz2 is installed.
+
+Index: bzip2-1.0.6/Makefile
+===================================================================
+--- bzip2-1.0.6.orig/Makefile	2010-09-10 15:46:02.000000000 -0700
++++ bzip2-1.0.6/Makefile	2017-11-23 12:51:53.318896836 -0800
+@@ -19,6 +19,7 @@
+ AR=ar
+ RANLIB=ranlib
+ LDFLAGS=
++LIBDIR ?= lib
+ 
+ override CFLAGS += -Wall
+ 
+@@ -71,7 +73,7 @@
+ 
+ install: bzip2 bzip2recover
+ 	if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
+-	if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
++	if ( test ! -d $(PREFIX)/$(LIBDIR) ) ; then mkdir -p $(PREFIX)/$(LIBDIR) ; fi
+ 	if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi
+ 	if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi
+ 	if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
+@@ -87,8 +89,8 @@
+ 	chmod a+r $(PREFIX)/man/man1/bzip2.1
+ 	cp -f bzlib.h $(PREFIX)/include
+ 	chmod a+r $(PREFIX)/include/bzlib.h
+-	cp -f libbz2.a $(PREFIX)/lib
+-	chmod a+r $(PREFIX)/lib/libbz2.a
++	cp -f libbz2.a $(PREFIX)/$(LIBDIR)
++	chmod a+r $(PREFIX)/$(LIBDIR)/libbz2.a
+ 	cp -f bzgrep $(PREFIX)/bin/bzgrep
+ 	ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
+ 	ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
diff --git a/package/bzip2/0004-add-libdir-to-makefile-libbz2.patch b/package/bzip2/0004-add-libdir-to-makefile-libbz2.patch
new file mode 100644
index 0000000..22390d6
--- /dev/null
+++ b/package/bzip2/0004-add-libdir-to-makefile-libbz2.patch
@@ -0,0 +1,31 @@ 
+Introduce LIBDIR to Makefile-libbz2_so
+
+The variable LIBDIR allows us to override where libbz2 is installed.
+
+Index: bzip2-1.0.6/Makefile
+===================================================================
+--- bzip2-1.0.6/Makefile-libbz2_so.orig	2017-11-23 11:08:33.067637637 -0800
++++ bzip2-1.0.6/Makefile-libbz2_so	2017-11-23 12:51:38.694728036 -0800
+@@ -23,6 +23,9 @@
+ 
+ SHELL=/bin/sh
+ CC=gcc
++
++LIBDIR ?= lib
++
+ override CFLAGS += -fpic -fPIC -Wall
+ 
+ OBJS= blocksort.sho  \
+@@ -38,9 +41,9 @@
+ 	$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.6
+ 
+ install:
+-	install -m 0755 -D libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0.6
+-	ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so
+-	ln -sf libbz2.so.1.0.6 $(PREFIX)/lib/libbz2.so.1.0
++	install -m 0755 -D libbz2.so.1.0.6 $(PREFIX)/$(LIBDIR)/libbz2.so.1.0.6
++	ln -sf libbz2.so.1.0.6 $(PREFIX)/$(LIBDIR)/libbz2.so
++	ln -sf libbz2.so.1.0.6 $(PREFIX)/$(LIBDIR)/libbz2.so.1.0
+ 
+ clean: 
+ 	rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared