summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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-18checkpkg: avoid using PKGEXT to guess tarball nameDave Reisner1-14/+16
We can't rely on PKGEXT since it's not sourced from a controlled location. Case in point, if a user sets PKGEXT=.pkg.tar.gz, checkpkg fails and offers no easy workaround. Instead, use glob expansion to resolve the name of the tarball, bailing if it can't be found definitively. This involves some refactoring to avoid modifying PWD (which is advisable regardless). Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-18ensure that PKGBUILDs aren't sourced via PATHDave Reisner2-2/+2
Fixes FS#36378. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-18arch-nspawn: allow oddly named directoriesDave Reisner1-8/+8
This fixes various errors one might encounter when trying to use a build root or cachedir with whitespace in it. Note that the cachedir fix is not a complete one, as pacman's output is unreliable (and not meant for parsing here). Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-18arch-nspawn: avoid escaping mount_argsDave Reisner1-7/+3
eval is no longer involved in the execution of systemd-nspawn, so we no longer need a layer of escaping on the arguments. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-08Prepare release20130808Pierre Schmitz1-1/+1
2013-08-08Update makepkg.conf from pacman 4.1.2Pierre Schmitz2-0/+4
2013-08-08Makefile: validate generated files as part of buildDave Reisner1-0/+1
For example... $ make GEN checkpkg GEN commitpkg GEN archco archco: line 179: unexpected EOF while looking for matching `"' archco: line 181: syntax error: unexpected end of file make: *** [archco] Error 2 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 Reisner9-24/+24
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-08-08common: Properly forward arguments from die to errorDave Reisner1-1/+1
Also allow this function to be called without arguments, in which case, don't call error at all. Some uses of this function wrongly assumed that this was already allowed. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-08-08arch-nspawn: remove leading - from the machine name/hostnameFlorian Pritz1-1/+4
Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-05-25prepare new release20130525Pierre Schmitz1-1/+1
2013-05-25Move all scripts from sbin to bin directoriesPierre Schmitz1-8/+3
2013-05-25Update .gitignoreJan Alexander Steffens (heftig)1-0/+1
2013-05-25crossrepomove: copy packages locallyJan Alexander Steffens (heftig)1-5/+2
Nymeria's HTTP mirror is now password-protected and crossrepomove broke.
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-11archbuild: Correct makechrootpkg argument orderJan Alexander Steffens (heftig)1-1/+1
The user-passed makechrootpkg_args may contain a "--" to pass arguments to makepkg. In this case, the order is wrong.
2013-05-11arch-nspawn: Quiet systemd-nspawn againJan Alexander Steffens (heftig)1-1/+1
systemd-nspawn always outputs some debug messages over stderr. Both stdout and stderr from inside the chroot are sent through a pty to stdout.
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-06arch-nspawn: setarch to CARCHJan Alexander Steffens (heftig)2-3/+9
Allows calling makechrootpkg without worrying about the architecture
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)3-14/+2
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)4-37/+29
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-03arch-nspawn: Set machine nameJan Alexander Steffens (heftig)1-1/+1
Recent changes to systemd-nspawn have it take the machine name from the chroot dir name, which isn't unique enough for our setup.
2013-05-02mkarchroot: Refactor chroot running into a new scriptJan Alexander Steffens (heftig)7-128/+159
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-08Prepare release20130408Pierre Schmitz1-1/+1
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-04-07mkarchroot: Fix creation of btrfs snapshot and remove force optionPierre Schmitz3-15/+8
2013-04-06Prepare release20130406Pierre Schmitz1-1/+1
2013-04-06Bump the chroot version as we changed the default package setPierre Schmitz1-1/+1
2013-04-06Only try to use btrfs snapshots if chroots are on a btrfs partitionPierre Schmitz2-3/+7
2013-04-06Sync pacman.conf and makepkg.conf with pacman 4.1Pierre Schmitz10-111/+100
2013-04-06Simplify update call as pacman does no longer support SyncFirstPierre Schmitz1-2/+2
2013-04-06mkarchroot: code cleanupPierre Schmitz1-14/+6
2013-04-06mkarchroot: Create working directory if neededPierre Schmitz1-0/+4
2013-04-06use nspawn to bind mount needed directoriesDave Reisner1-38/+17
systemd-nspawn is capable of doing this as of systemd-198. Doing this means we can remove all of our home grown chroot mount/umount logic, as it's all performed by pacstrap or systemd-nspawn. Signed-off-by: Dave Reisner <dreisner@archlinux.org> 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 Luttringer2-3/+3
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-27Fix crossrepomove for use on nymeria20130127Pierre Schmitz2-29/+15
2013-01-22archbuild: fix default build flags20130122Pierre Schmitz2-2/+2
2013-01-20Use nymeria instead of gerolde20130120Pierre Schmitz5-17/+9
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>
2013-01-20Allow makechroot options in archbuildSébastien Luttringer1-4/+12
This will allow, by example, to easily build a package with a custom pkg. staging-x86_64-build -- -cI /var/cache/pacman/pkg/ldoc-1.2.0-1-any.pkg.tar.xz staging-x86_64-build -- -n Signed-off-by: Sébastien Luttringer <seblu@seblu.net> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2013-01-20Drop initscripts supportPierre Schmitz1-61/+1