summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-25Use common functions to handle file lockingLuke Shumaker
* lib/common.sh: implement - lock_open_write() - lock_open_read() - lock_close() * archbuild.in, makechrootpkg.in, mkarchroot.in: use said functions This has two benefits: 1. All programs using these methods gain the ability to inherit locks, something that only mkarchroot could do before. This allows the commands to be more compos-able. 2. It is more readable. File locking isn't obvious.
2012-11-25fix locking bug in archbuild (likely bad copy-paste)Luke Shumaker
2012-10-27Prepare release20121027Pierre Schmitz
2012-10-27Use sigurd.archlinux.org instead of the now moved aur.archlinux.org hostnamePierre Schmitz
2012-10-27Fix return code handlingJan Alexander Steffens (heftig)
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-13prepare release20121013Pierre Schmitz
2012-10-13Fix releasing files with '@' in nameDan McGee
SVN treats '@' as a revision specifier, so with the addition of systemd spawning service files, we need to ensure it doesn't screw things up. Signed-off-by: Dan McGee <dan@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-10-13mkarchroot: do not try to bind /etc/timezone from hostPierre Schmitz
/etc/timezone is no longer used. We only need /etc/localtime. This fixes FS#31929
2012-10-04prepare release20121004Pierre Schmitz
2012-10-04mkarchroot: use a helper function to simplify bind mountsPierre Schmitz
2012-10-03prepare release20121003Pierre Schmitz
2012-10-03mkarchroot: Use systemd's nspawn if availablePierre Schmitz
* If we are running systemd use nspawn instead of our own chroot setup * Use pacstrap to setup our chroot environment * Make sure the common trap is still called * Bind resolve.conf, timezone and lcoaltime from the host if nspawn is not used * Run ldconfig within the chroot
2012-10-03Use dedicated trap functions to avoid unsetting the trap when e.g. cleanup ↵Pierre Schmitz
is called
2012-10-03makechrootpkg: do not run namcap as rootPierre Schmitz
2012-10-03archbuild: abort if update or creation of the chroot failsPierre Schmitz
2012-09-14Fix ownership when copying files from chroot to systemFlorian Pritz
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-07-20prepare release20120720Pierre Schmitz
2012-06-25Fix bash completionsEric Bélanger
With bash-completion 2.0, the completion must have the same name as the binary. Signed-off-by: Eric Bélanger <snowmaniscool@gmail.com> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-06-16prepare release20120616Pierre Schmitz
2012-06-16commitpkg: check if there are any packages to process before doing soPierre Schmitz
2012-06-16mkarchroot: reset trap so it wont be called twicePierre Schmitz
2012-06-16archbuild: do not cross filesystems when removing the chroot copiesPierre Schmitz
2012-06-16archbuild: use flock -n as we do elsewherePierre Schmitz
2012-06-15Fix /run permissions in chrootAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-06-12prepare release20120612Pierre Schmitz
2012-06-12Support multiple package cache directoriesPierre Schmitz
* We use the host package cache configuration * As only the first cache will be written to, we mount the others readonly
2012-06-12archbuild: Store chroots in /var/lib instead of /var/tmpPierre Schmitz
/var/tmp is cleaned up by tmpfiels by default which we cannot handle gracefully.
2012-06-11Remove no longer used optionPierre Schmitz
2012-06-11Add a version number to each chroot so we can tell the user when a rebuild ↵Pierre Schmitz
is needed
2012-06-11Enable signature checking within build environmentPierre Schmitz
* 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-06-11prepare release20120611Pierre Schmitz
2012-06-11update makepkg.conf and pacman.confPierre Schmitz
2012-06-10mkarchroot: use bind mount instead of symlink for /dev/ptmxGerardo Exequiel Pozzi
We need /dev/ptmx -> /dev/pts/ptmx (for devpts -o newinstance) Other way to do this thing is via bind mount (as said kernel doc[devpts.txt]). This should be done in this way at least for /dev as devtmpfs in the chroot. Since we can not touch /dev (devtmpfs), because devtmpfs is "singleton", just use bind method and avoid interference. Do it the same for both modes of /dev (tmpfs) and (devtmpfs) to keep it simple. Currently devpts in chroot is not working without this when using /dev as devtmpfs, this fixes this issue (opening /dev/ptmx, creates devices nodes on outside /dev/pts) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-06-10Gracefully handle files containing an "@"Lukas Fleischer
The "@" sign in file names in SVN marks the beginning of a pegged version number -- from the Subversion book: Peg revisions are specified to the Subversion command-line client using at syntax, so called because the syntax involves appending an “at sign” (@) and the peg revision to the end of the path with which the revision is associated. The trivial workaround is to always append an at sign to the end of the path in the version control checks. Before: $ community-stagingpkg 'Add systemd units.' ==> ERROR: exim-submission@.service is not under version control $ svn status -v | grep 'exim-submission@.service' A - ? ? exim-submission@.service After: $ community-stagingpkg 'Add systemd units.' ==> Committing changes to trunk...done ==> Signing package exim-4.80-2-x86_64.pkg.tar.xz... [...] Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-06-10Prevent packages being uploaded with "Unknown Packager"Allan McRae
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-03-21Move bash_completion to /usr/share/bash-completion/completions/Pierre Schmitz
2012-03-05Prepare release20120305Pierre Schmitz
2012-03-05commitpkg: Pass through the -f parameter to archrelease so unofficial repos ↵Pierre Schmitz
can be used
2012-03-05makechrootpkg: Install the built packages before running namcap to reduce ↵Pierre Schmitz
false positives and check inter split package dependencies.
2012-03-05Add -d param to optionally support devtmpfsGerardo Exequiel Pozzi
The main intention of this patch is to take advantage of /dev/loop-control and loop devices. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-03-05Add script to move packages between [extra] and [community]Pierre Schmitz
2012-03-04commitpkg: Add ability to override the serverPierre Schmitz
This might be useful for unofficial repos
2012-03-04find-libdeps: fix extraction of sonameFlorian Pritz
libperl.so results in soname="libperl.so.so" which is wrong. This returns the correct string: "libperl.so" Fix-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-02-15prepare release20120215Pierre Schmitz
2012-02-15Always sign unsigned packagesAllan McRae
We do not allow packages to be uploaded without signatures so force all unsigned packages to be signed. This has the bonus of not breaking makepkg signing support by requiring you use an internal makepkg variable. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-02-12archrelease: Validate tags before releasingLukas Fleischer
Compare every single tag with a list of valid tags. This prevents broken releases which occurred whenever someone made a typo on the command line: $ ./archrelease community i686 ==> ERROR: archrelease: Invalid tag: "community" (use -f to force release) Since the list is used in the ZSH completion as well, break it out to a separate file and move it to "lib/". Also, add a command line parameter to allow for releasing to an unknown repository when necessary. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-02-08zsh_completion: Remove multilib*-{i686, any}Lukas Fleischer
These tags make no sense. Remove them from our valid tag array that is used for tab completion. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-02-06prepare release20120206Pierre Schmitz
2012-02-06commitpkg: use absolute paths when uploading filesFlorian Pritz
This fixes a problem where rsync won't work if the pkgver contains a colon (epoch). In this case rsync assumes that the colon is a remote:path separator and having src and dest both being remote arguments is not supported. Signed-off-by: Florian Pritz <bluewind@xinu.at> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-01-19Fix typo: It's PKGDEST and not DESTDIRPierre Schmitz