summaryrefslogtreecommitdiffstats
path: root/makechrootpkg.in
AgeCommit message (Collapse)AuthorFilesLines
2013-11-01makechrootpkg: Look harder for -R argumentDave Reisner1-5/+7
We shouldn't be in the business of reparsing makepkg's arguments, but since we have to treat the case of repackaging separately, do a better job of trying to find signs of it happening. This change lets you pass the longopt, --repackage, or multiple shortopts such as -RA, and still get the intended effect. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-19makechrootpkg: add generic support for additional bind mountsDave Reisner1-3/+15
Piggyback on systemd-nspawn's --bind and --bind-ro flags to allow arbitrary mount points to be added to the build container. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-08avoid injecting code into the format stringDave Reisner1-7/+7
Now that die() properly forwards arguments to error(), we can expect that the first arg is a format string and not the entirety of the output. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-05-25makechrootpkg: Add hack for svn sources and makepkg 4.1.1Jan Alexander Steffens (heftig)1-0/+11
2013-05-11makechrootpkg: Update comments to point out the bad hacksJan Alexander Steffens (heftig)1-3/+4
2013-05-11makechrootpkg: Split out chrootbuild into a functionJan Alexander Steffens (heftig)1-28/+42
Now syntax highlighting works properly! :D
2013-05-06makechrootpkg: Ensure we have a writable PKGBUILDJan Alexander Steffens (heftig)1-0/+5
For pkgver updates.
2013-05-03makechrootpkg: Avoid parsing PKGBUILD and support VCS sourcesJan Alexander Steffens (heftig)1-148/+173
- Ensure sources are available before entering chroot - Bind STARTDIR and SRCDEST into the chroot read-only - Refactor makechrootpkg and introduce meaningful functions Avoids copying stuff from/to the chroot as much as possible. With VCS sources these copies can get quite expensive.
2013-05-03makechrootpkg: Remove add_to_db featureJan Alexander Steffens (heftig)1-12/+1
I don't think this is much use in our common workflow. Our pacman configs don't even make a reference to /repo.
2013-05-03lib/common.sh: Introduce locking helper functionsJan Alexander Steffens (heftig)1-14/+2
Reduces code duplication. With makechrootpkg not calling mkarchroot anymore, the lock handover protocol is unneeded. arch-nspawn does not do any locking, so add protection to archbuild.
2013-05-02mkarchroot: Refactor chroot running into a new scriptJan Alexander Steffens (heftig)1-3/+3
Separates the two features of mkarchroot. Provides users of the new arch-nspawn with the full feature set of systemd-nspawn. For example, this can be used to bind custom directories into the chroot.
2013-04-08makechrootpkg: Add option to build in temp chrootSébastien Luttringer1-8/+25
Add option -T to build in a temporary chroot. This apply to any kind of filesytem and allow to easily parrallelize builds. This patch also simplify how $default_copy and $copy are defined. Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-03-17makechrootpkg: Stat chrootdir type after existancySébastien Luttringer1-3/+3
Move detection of chrootdir type after have check if the directory exists. This avoid the following messages when -r is not given stat: cannot read file system information for '': No such file or directory Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-03-17archbuild: only use base-devel to new chrootSébastien Luttringer1-2/+2
Since TODO [1] which state: It would be good for base-devel to install everything needed for a build chroot we can remove base and sudo [1] https://www.archlinux.org/todo/add-more-to-base-devel/ Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-03-10makechrootpkg: use var instead of file in $copydirSébastien Luttringer1-7/+4
Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-03-10makechrootpkg: Properly detect filesystem typeSébastien Luttringer1-9/+10
Enable btrfs features only if the underlying filesystem is btrfs and not rely on the presence of the btrfs tools. Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-03-10makechrootpkg: Display uniform $copy in messagesSébastien Luttringer1-2/+2
Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-03-10makechrootpkg: -I to handle multiple packagesSébastien Luttringer1-8/+12
Since commit cb3a6ce, running makechroot 2 times to insert a package in a build directory require to find a directory without PKGBUILD cd /var/empty makechrootpkg -cu -I virtualbox-host-dkms-*-i686.pkg.tar.xz -r <dir> makechrootpkg -I virtualbox-host-dkms-*-i686.pkg.tar.xz -r <dir> cd - makechrootpkg -n -r <dir> This patch allow makechrootpkg to handle more than one package to be installed before the build is run and simplify the previous case in makechrootpkg -ncu -I virtualbox-host-dkms-*-i686.pkg.tar.xz -I virtualbox-guest-dkms-*-i686.pkg.tar.xz -r <dir> Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-01-20-I ends early if there is nothing to buildSébastien Luttringer1-2/+2
This allow to build in one shot a package depending of a missing package Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-11-15Make sure the usage functions are consistentEric Bélanger1-1/+1
The usage messages now begins with a "Usage:", i.e. capitalized and with a colon. Fixes FS#26956. Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-10-27Fix return code handlingJan Alexander Steffens (heftig)1-2/+2
Stop trap_exit from forcing a 0 exit code. This fixes makechrootpkg, which used to always return success, even if the build failed. Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-10-03makechrootpkg: do not run namcap as rootPierre Schmitz1-1/+1
2012-09-14Fix ownership when copying files from chroot to systemFlorian Pritz1-0/+4
Previously files were always owned by nobody which means trying to write to them directly would fail because only the owner has +w. Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-06-11Enable signature checking within build environmentPierre Schmitz1-4/+0
* bind /sys and /dev/pts from host * drop support for devtmpfs as it is no longer needed * add /run and /dev/rtc0 * clone own ipc, uts and mount namespaces for chroot * set localtime, timezone and locale within chroot environment * copy /etc/pacman.d/gnupg from host
2012-03-05makechrootpkg: Install the built packages before running namcap to reduce ↵Pierre Schmitz1-1/+1
false positives and check inter split package dependencies.
2012-01-18makechrootpkg: fix error messageAllan McRae1-3/+4
Passing a directory that does not exist to makechrootpkg results in an error message: ==> ERROR: No chroot dir defined, or invalid path '' The path is not being printed as the readlink command blanks it if the directory does not exist. Fix this. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-01-18Fix up usage help, the Default line belongs to -lJan Alexander Steffens (heftig)1-1/+1
Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2011-12-04makearchroot: source /etc/profile before buildingAllan McRae1-0/+1
This ensures the PATH used when building is the default path and not the value set by the user calling makechrootpkg. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2011-11-09makechrootpkg: fix repackIonut Biru1-1/+1
repack is defined as a boolean. set it true when -R is passed /usr/sbin/makechrootpkg: line 295: 1: command not found Signed-off-by: Ionut Biru <ibiru@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2011-11-06makechrootpkg: Create separate namcap log for every single filePierre Schmitz1-3/+6
2011-11-04Capitalize output messagesEric Bélanger1-3/+3
Some of the output/error messages were capitalized, some were not. This patch capitalize everything for consistency sake. Other minor changes were done to the messages like removing the superfluous "error:" from die messages and adding a final period to messages that were complete sentences as appropriate. Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2011-11-01Move common functions to a shared filePierre Schmitz1-17/+13
* common.sh is included on build time * most functions are copied from makepkg
2011-10-31makechrootpkg: Handle install and changelog file the same way as in commitpkgPierre Schmitz1-4/+4
2011-10-31makechrootpkg: Do not export LANGPierre Schmitz1-1/+1
This is done by /etc/profile.d/locale.sh. By this we also ensure compatibility with systemd.
2011-10-29makechrootpkg: Make host pubring.gpg available to check signed sourcesPierre Schmitz1-3/+13
2011-10-29makechrootpkg: Set the C locale system widePierre Schmitz1-0/+3
makepkg sources /etc/profile before calling build(). This will change the locale from C to en_US.UTF8.
2011-10-14makechrootpkg: Avoid running namcap on non-package file like signaturesPierre Schmitz1-1/+1
We only use .xz or .gz compression for pacakges so we can be more specific and avoid a match of e.g. *.pkg.tar.xz.sig etc.
2011-10-07Always log builds in makechrootpkgAllan McRae1-1/+1
It is very helpful to always log the build output in makechrootpkg so pass "-L" as a standard option to makepkg. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07makechrootpkg: If chroot is missing, exit instead of usageJan Alexander Steffens (heftig)1-1/+1
I'm not sure why this was handled differently than the other error conditions. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07makechrootpkg: Add option to explicitly run namcapJan Alexander Steffens (heftig)1-2/+8
Installs namcap if needed, *after* building the package, contrary to the former way of having to have namcap installed, e.g. via makedepends. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07makechrootpkg: Source PKGBUILD only onceJan Alexander Steffens (heftig)1-11/+11
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07makechrootpkg: Use nullglobJan Alexander Steffens (heftig)1-2/+2
Use nullglob instead of checking for existence. If the glob doesn't match any files, it will be removed instead of staying unexpanded. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07makechrootpkg: Always set PKGDEST and SRCDESTJan Alexander Steffens (heftig)1-10/+6
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07makechrootpkg: Replace $workdir with . ($PWD)Jan Alexander Steffens (heftig)1-4/+3
$workdir is never used when we change directory, so it's superfluous. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07makechrootpkg: Eliminate appname, only used onceJan Alexander Steffens (heftig)1-2/+1
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07makechrootpkg: Bashify syntaxJan Alexander Steffens (heftig)1-113/+111
No functional change. Eliminates unused variables RUN and FORCE. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
2011-10-07Support non-standard install locationsLukas Fleischer1-0/+305
This build system overhaul allows for adding (define-style) macros to our scripts. All source files are now suffixed with ".in" to clarify that they might contain unprocessed defines. The Makefile provides a new rule to preprocess source files and generate proper output scripts. Also, add a "@pkgdatadir@" define (as used in GNU Autotools) and use it instead of hardcoded paths to "/usr/share/devtools" everywhere. We missed this when adding PREFIX support to the build system in commit 35fc83ce7d8dc26cd424321f2e8638d05da0a6d4. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>