Ticket #511 (closed defect: fixed)
Opened 4 years ago
Last modified 7 months ago
[apr] enable Haiku installation path layout for apr and apr-util packages
| Reported by: | diver | Owned by: | scottmc |
|---|---|---|---|
| Priority: | normal | Milestone: | Haiku Optional Packages |
| Component: | dev-libs/apr | Version: | |
| Severity: | normal | Keywords: | apr apr-util layout |
| Cc: |
Description
It would be really nice to get rid of "-1" suffixes from this files and folders:
/boot/common/build-1 /boot/common/include/arp-1 /boot/common/bin/apr-1-config
To do this we need to use installation path layout switch in configure script.
But first we need to inject Haiku layout to config.layout files:
# Haiku layout...
<Layout haiku>
prefix: /boot/common
exec_prefix: ${prefix}
bindir: ${exec_prefix}/bin
sbindir: ${exec_prefix}/bin
libdir: ${exec_prefix}/lib
libexecdir: ${exec_prefix}/libexec
mandir: ${prefix}/man
sysconfdir: ${prefix}/conf
datadir: ${prefix}
installbuilddir: ${datadir}/build
includedir: ${prefix}/include
localstatedir: ${prefix}
runtimedir: ${localstatedir}/logs
</Layout>
and then change configure line in arp bep file to this:
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-layout=haiku
and in arp-util bep file to this:
./configure --prefix=`finddir B_COMMON_DIRECTORY` --with-apr=/boot/common/bin/apr-config --enable-layout=haiku
Change History
comment:1 Changed 4 years ago by diver
- Component changed from default to dev-libs/apr
comment:2 Changed 4 years ago by diver
It turns out there was a patch for apr-util 0.9.x which took care about this issue. It does look like this patch was somehow forgotten. Scottmc, could you please take a look? Thanks!
comment:3 Changed 4 years ago by bonefish
I don't know about the /boot/common/build-1 directory, but the ones with apr-1 are named that way for a good reason. The APR project has a strict binary compatibility policy. Different major library versions are generally incompatible with each other, hence the distinctive naming. Changing that will make installations of different major version clash with each other.
comment:4 Changed 4 years ago by scottmc
Partial fix in r1461.
Need to try using finddir in config.layout still.
comment:5 Changed 4 years ago by scottmc
APR is fixed in r1462, finddir fails in config.layout, so overiding it in the .bep file so that if/when finddir locations change it will get picked up by the bep file.
APR-Util is up next.
comment:6 Changed 4 years ago by scottmc
- Resolution set to fixed
- Status changed from new to closed
Fixed APR-util in r1463. Let me know if this looks ok now.
Here's where you can get the new gcc2 and gcc4 built zips for these:
comment:7 Changed 4 years ago by diver
- Resolution fixed deleted
- Status changed from closed to reopened
installbuilddir: ${datadir}/build is still missing in APR. Reopening for now.
comment:8 Changed 4 years ago by diver
Could include files be moved to it's own folder to clean it up a bit? What about other packages?
`finddir B_COMMON_DIRECTORY`/include/apr
Thanks!
comment:9 Changed 4 years ago by scottmc
I don't think we can move the header as programs that need it may not be able to find it if it's not where it's expected to be.
As for the installbuilddir, I think I tried moving it but it gets overridden and uses ${datadir}/build-1 which puts it into B_COMMON_DATA_DIRECTORY/build-1, which is a bit better than leaving bould-1 in B_COMMON_DIRECTORY. Can you check where it ends up on other systems? I think to override the build-1 to make it just "build" would require a little bit of hacking.
comment:10 Changed 4 years ago by diver
Not sure how, but curl, libxmls2, openssl and neon use their own directories inside /boot/common/include folder.
Ubuntu uses /usr/include/apr-1.0 folder see here
../configure --host=i686-linux-gnu --build=i686-linux-gnu --enable-layout=Debian --includedir=\${prefix}/usr/include/apr-1.0 --with-installbuilddir=\${prefix}/usr/share/apr-1.0/build --enable-nonportable-atomics
comment:11 Changed 4 years ago by diver
Can't we use /common/data/build instead of /common/data/build-1?
comment:12 Changed 4 years ago by diver
BTW, apr package size is almost twice as large as before, is it ok?
| apr-1.4.2-x86-gcc4-2010-11-12 | apr-1.4.2-x86-gcc4-2011-03-28.zip | |
| libapr-1.a | 762.308 bytes | 227.806 bytes |
| libapr-1.so.0.4.2 | 517.509 bytes | 173.198 bytes |
| zip size: | 370.790 bytes | 684.703 bytes |
comment:13 Changed 7 months ago by diver
- Resolution set to fixed
- Status changed from reopened to closed

mandir: ${prefix}/man
runtimedir: ${localstatedir}/logs