Subject: [alpine-devel] Issue with abuild on aports github build

From: Timothy Legge <[email-masked]>
Date: Wed, 27 Mar 2019 20:05:01 -0300

Hi

I pushed a pull request https://github.com/alpinelinux/aports/pull/6851 for
perlmagic.  The build works on my development box if I use abuild from the
current https://github.com/alpinelinux/abuild master.

If I use the version of abuild included on 3.8.4 I it fails with

>>> ERROR: perlmagick*: Has /home/... in rpath
>>> ERROR: perlmagick*: prepare_package failed
>>> ERROR: perlmagick: all failed

This is the same error that shows up in github after the pull request runs:

continuous-integration/drone/pr — Build is failing
continuous-integration/travis-ci/pr — The Travis CI build failed

However the current git version of abuild works without any errors.  Any
thoughts?

Tim

---

From: Natanael Copa <[email-masked]>
Date: Thu, 28 Mar 2019 12:01:21 +0100

On Wed, 27 Mar 2019 20:05:01 -0300

> Hi

Hi!

> >>> ERROR: perlmagick*: Has /home/... in rpath

This is a check that there should be no references to /home in the
binaries. Binaries should not be told to look for shared libs in any
place under /home.

What probably happened here is that build script will set RPATH to look
for shared libs in the build tree, most likely to be able to run test
suite or similar.

My guess is that this does not happen on your local machine because you
don't run your build from /home.

You can find the offending binaries with: scanelf --recursive --rpath $pkgdir

As a side note, I think we may need extend the test to also look
for /tmp and /var/tmp or any place that users may have write access too.

> continuous-integration/drone/pr * Build is failing
> continuous-integration/travis-ci/pr * The Travis CI build failed
> 

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Timothy Legge <[email-masked]>
Date: Thu, 28 Mar 2019 08:43:06 -0300

I do my builds from /home/tim

the built-in abuild results in the same error message on my system

however running the abuild from my local git clone for like

~/abuild/abuild -r

works fine.

Now that I think of it I should do a diff between my git version of abuild
and the  local system abuild.

Tim

---

From: Timothy Legge <[email-masked]>
Date: Thu, 28 Mar 2019 12:44:55 -0300

HI

Thanks.  Apparently I had commented out the rpath check in my git repo
version so that explained the reason.

However, my APKBUILD file does not have /home or ~/ so how I could be
getting the same results on the github checks is strange to me.

I guess it likely has to do with:

Warning: -L../MagickCore/.libs changed to
-L/home/tim/aports/testing/perlmagick/src/ImageMagick-7.0.8-35/PerlMagick/../MagickCore/.libs

localhost:~/aports/testing/perlmagick/pkg$ scanelf --recursive --rpath .
 TYPE   RPATH FILE
ET_DYN
/home/tim/aports/testing/perlmagick/src/ImageMagick-7.0.8-35/PerlMagick/quantum/../../MagickCore/.libs
./perlmagick/usr/lib/perl5/vendor_perl/auto/Image/Magick/Q16HDRI/Q16HDRI.so