My issue is very similar to to this: https://bbs.archlinux.org/viewtopic.php … 23#p622523
I am running arch x64 and have a ramdisk where build packages (named /build)
In makepkg.conf I have my BUILDDIR pointing to /build. It downloads file right and all, but fails to extract the file to a ./src directory before trying to compile. This happens everytime I run makepkg (I illustrate with an AUR package)
makepkg aborts with
/build/yaourt-tmp/aur-powder/./PKGBUILD: line 16: cd: /build/yaourt-tmp/aur-powder/src/powder117_src/: No such file or directory
If I manually extract the contents and run makepkg, it works fine.
Any help on this issue is appreciated.
Last edited by ayr0 (2012-05-21 16:49:25)
If you're using yaourt, don't blame makepkg.
Have you tried it with makepkg on its own? That way, your title would be correct.
the problem persists with just makepkg. I probably should have clarified that. I was using yaourt to grab PKGBUILDs from AUR to test.
Here is what I have discovered so far.
Remember that in makepkg.conf, BUILDDIR=/build
[@:/build/powder]# ls PKGBUILD [@:/build/powder]# ls PKGBUILD [@:/build/powder]# makepkg ==> Making package: powder 117-1 (Mon May 21 16:06:29 MDT 2012) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving Sources... -> Downloading powder117_src.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1846k 100 1846k 0 0 1563k 0 0:00:01 0:00:01 --:--:-- 2013k ==> Validating source files with md5sums... powder117_src.tar.gz ... Passed ==> Extracting Sources... -> Extracting powder117_src.tar.gz with bsdtar ==> Starting build()... /build/powder/PKGBUILD: line 16: cd: /build/powder/src/powder117_src/: No such file or directory ==> ERROR: A failure occurred in build(). Aborting... [@:/build/powder]# ls PKGBUILD powder117_src.tar.gz [@:/build/powder]# cd .. [@:/build]# ls makepkg pkg powder src yaourt-tmp [@:/build]#
In the last line, the src and pkg directories are the directories that should be inside ./powder
Actually, now I understand that BUILDDIR is responsible for this. However, the PKGBUILD is not aware that I'm building in a different place, so changing directories in the PKGBUILD fail.
I am running arch on an SSD and would prefer to have makepkg build its packages in RAM rather than on disk. Is there a way to make the PKGBUILD aware that src and pkg are not where it thinks they are?
Last edited by ayr0 (2012-05-21 22:16:59)
The PKGBUILD is broken, because it still uses $startdir/src instead of $srcdir, which does not work anymore when BUILDDIR is set.
Sorry about that!
It's fixed now. Didn't notice this one still used the old syntax (the package wasn't originally mine, I adopted it).
Last edited by megadriver (2012-05-25 13:32:11)