HaikuPorts
  • Login
  • Preferences
  • Help/Guide
  • Wiki
  • Timeline
  • Roadmap
  • View Tickets
  • Search
  • Port Log
  • Blog

Context Navigation

  • ← Previous Ticket
  • Back to Query
  • Next Ticket →

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

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

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:

 http://ports-space.haiku-files.org/dev-libs/

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-12apr-1.4.2-x86-gcc4-2011-03-28.zip
libapr-1.a762.308 bytes227.806 bytes
libapr-1.so.0.4.2517.509 bytes173.198 bytes
zip size:370.790 bytes684.703 bytes

comment:13 Changed 7 months ago by diver

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.

Download in other formats:

  • Comma-delimited Text
  • Tab-delimited Text
  • RSS Feed

Trac Powered

Powered by Trac 0.13dev-r10686
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/