diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2017-02-15 18:55:25 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2017-04-11 13:02:27 -0400 |
commit | 74067d389c204cd40906980391680724380667c0 (patch) | |
tree | 654f7aaed07e8fe019893337256929db87a017a1 | |
parent | 2e798795833af72ba0618f5577f15488b201b0fa (diff) |
Expect devtools files to already be patched.
-rw-r--r-- | INSTALL | 3 | ||||
-rw-r--r-- | build-aux/Makefile.each.tail/20-libretools.mk | 10 | ||||
-rw-r--r-- | build-aux/Makefile.once.head/00-libretools.mk | 11 | ||||
-rw-r--r-- | src/chroot-tools/.gitignore | 1 | ||||
-rw-r--r-- | src/chroot-tools/Makefile | 6 | ||||
-rw-r--r-- | src/chroot-tools/arch-nspawn.patch | 71 | ||||
-rw-r--r-- | src/chroot-tools/makechrootpkg.sh.patch | 344 | ||||
-rw-r--r-- | src/chroot-tools/mkarchroot.patch | 67 | ||||
-rw-r--r-- | src/devtools/checkpkg.patch | 45 | ||||
-rw-r--r-- | src/devtools/find-libdeps.patch | 47 | ||||
-rw-r--r-- | src/devtools/finddeps.patch | 35 | ||||
-rw-r--r-- | src/devtools/lddd.patch | 29 | ||||
-rw-r--r-- | src/lib/Makefile | 16 | ||||
-rw-r--r-- | src/lib/common.sh.head | 25 | ||||
-rw-r--r-- | src/lib/common.sh.tail | 1 | ||||
-rw-r--r-- | src/xbs-abs/archrelease.patch | 8 |
16 files changed, 4 insertions, 715 deletions
@@ -26,9 +26,6 @@ The "unusual" build-time dependencies are: - GNU Make -- other `make`s will not work. - GNU sed -- must support `-r` for ERE; BSD sed uses `-E` for this purpose. - - Emacs 24.4+ -- `emacs --batch` is used to use Emacs Lisp to process - some text. GNU Emacs 24.4 introduced a new `advice-add` system - which we depend on. - ronn -- A markdown-to-manpage converter At this time, the build system does not support not building the diff --git a/build-aux/Makefile.each.tail/20-libretools.mk b/build-aux/Makefile.each.tail/20-libretools.mk index c498396..1a6dc82 100644 --- a/build-aux/Makefile.each.tail/20-libretools.mk +++ b/build-aux/Makefile.each.tail/20-libretools.mk @@ -59,16 +59,6 @@ $(outdir)/%.pot: $(srcdir)/% $(topsrcdir)/src/lib/librexgettext $(outdir)/everything.pot: $(addprefix $(outdir)/,$(addsuffix .pot,$(libretools.pots))) cat $^ | $(libretools.pofmt) > '$@' -# If we have a .patch file, the flow is: -# $(devtoolsdir)/%.in -> %.in + %.patch -> %.ugly -> % -_do_patch = $(filter $(patsubst %.patch,%,$(filter %.patch,$(libretools.src.git))),$(patsubst %.in,%,$(libretools.src.devtools))) -$(outdir)/%.ugly: $(srcdir)/%.in $(srcdir)/%.patch - cp -T $< $@ - patch $@ $(<D)/$*.patch -$(sort $(addprefix $(outdir)/,$(_do_patch))): $(outdir)/%: $(outdir)/%.ugly - @echo 'EDIT < $< > $@'; $(libretools.edit) < '$<' | install -T -m$(if $(_is_executable),755,644) /dev/stdin '$@' - @echo 'INDENT $@'; $(call libretools.indent,$@) - # Install rules ###################################################### $(DESTDIR)$(pkgconfdir)/% : $(outdir)/% ; install -T -Dm644 '$<' '$@' $(DESTDIR)$(pkgdocdir)/% : $(outdir)/% ; install -T -Dm644 '$<' '$@' diff --git a/build-aux/Makefile.once.head/00-libretools.mk b/build-aux/Makefile.once.head/00-libretools.mk index 8497d68..1f2957d 100644 --- a/build-aux/Makefile.once.head/00-libretools.mk +++ b/build-aux/Makefile.once.head/00-libretools.mk @@ -37,7 +37,6 @@ define mod.libretools.doc # - `var` # - Shell commands (Global variables) # - `libretools.edit` -# - `libretools.indent` # - `libretools.pofmt` # - Source information # - Directory variable : `libretools.src` @@ -93,16 +92,6 @@ libretools.edit = sed \ -e 's|m4_include(lib/\(.*\))|. "$$(librelib \1)"|' \ $(foreach v,$(patsubst $(var.)%,%,$(filter $(var.)%,$^)), -e 's|@$(v)@|$($(v))|g' ) -# Usage: $(call libretools.indent,FILENAME) -# Command to auto-indent a file. -libretools.indent = emacs --batch $1 \ - --eval '(setq make-backup-files nil)' \ - --eval '(setq sh-basic-offset 8)' \ - --eval '(defun sh-smie-sh-rules--fix (args) "fix bug in Emacs 24 sh-script.el" (if (equal args (list :after "then")) (list :after "if") args))' \ - --eval "(advice-add 'sh-smie-sh-rules :filter-args \#'sh-smie-sh-rules--fix)" \ - --eval '(indent-region (point-min) (point-max) nil)' \ - -f save-buffer &>/dev/null - # Usage <INPUT $(libretools.pofmt) >OUTPUT # Normalize a .po(t) file libretools.pofmt = msguniq -Fi --to-code=UTF-8 diff --git a/src/chroot-tools/.gitignore b/src/chroot-tools/.gitignore index f0969c7..8054d28 100644 --- a/src/chroot-tools/.gitignore +++ b/src/chroot-tools/.gitignore @@ -1,4 +1,5 @@ makechrootpkg.sh* +makechrootpkg.in arch-nspawn* mkarchroot* !*.patch diff --git a/src/chroot-tools/Makefile b/src/chroot-tools/Makefile index 93655d7..055b40e 100644 --- a/src/chroot-tools/Makefile +++ b/src/chroot-tools/Makefile @@ -3,14 +3,14 @@ include $(topsrcdir)/build-aux/Makefile.head.mk pkglibexecdir = $(libexecdir)/libretools/chroot -libretools.src.devtools = makechrootpkg.sh.in mkarchroot.in arch-nspawn.in +libretools.src.devtools = makechrootpkg.in mkarchroot.in arch-nspawn.in libretools.out.bins = chcleanup librechroot libremakepkg libretools.out.libexecs = arch-nspawn chcleanup distcc-tool indent mkarchroot libretools.out.libs = $(libretools.src.sh) makechrootpkg.sh files.out.int += chcleanup.lib -$(srcdir)/makechrootpkg.sh.in: $(srcdir)/%.sh.in: $(devtoolsdir)/%.in - cp $< $@ +$(srcdir)/makechrootpkg.sh.in: $(srcdir)/makechrootpkg.in + sed '/^\s*main "$$@"\s*$$/d' < $< > $@ $(outdir)/chcleanup: $(srcdir)/chcleanup.in $(outdir)/chcleanup.lib m4 -I$(@D) -P $< | $(libretools.edit) | install -m755 /dev/stdin $@ diff --git a/src/chroot-tools/arch-nspawn.patch b/src/chroot-tools/arch-nspawn.patch deleted file mode 100644 index dc4cb25..0000000 --- a/src/chroot-tools/arch-nspawn.patch +++ /dev/null @@ -1,71 +0,0 @@ ---- arch-nspawn.in 2016-05-10 13:48:14.303797115 -0400 -+++ arch-nspawn.ugly 2016-05-10 13:48:23.296957958 -0400 -@@ -1,4 +1,6 @@ - #!/bin/bash -+# License: GNU GPLv2 -+# - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by - # the Free Software Foundation; version 2 of the License. -@@ -14,6 +16,8 @@ - - working_dir='' - -+files=() -+ - usage() { - echo "Usage: ${0##*/} [options] working-dir [systemd-nspawn arguments]" - echo "A wrapper around systemd-nspawn. Provides support for pacman." -@@ -22,17 +26,21 @@ - echo ' -C <file> Location of a pacman config file' - echo ' -M <file> Location of a makepkg config file' - echo ' -c <dir> Set pacman cache' -+ echo ' -f <file> Copy file from the host to the chroot' -+ echo ' -s Do not run setarch' - echo ' -h This message' - exit 1 - } - - orig_argv=("$@") - --while getopts 'hC:M:c:' arg; do -+while getopts 'hC:M:c:f:s' arg; do - case "$arg" in - C) pac_conf="$OPTARG" ;; - M) makepkg_conf="$OPTARG" ;; - c) cache_dir="$OPTARG" ;; -+ f) files+=("$OPTARG") ;; -+ s) nosetarch=1 ;; - h|?) usage ;; - *) error "invalid argument '%s'" "$arg"; usage ;; - esac -@@ -78,6 +86,12 @@ - [[ -n $pac_conf ]] && cp $pac_conf "$working_dir/etc/pacman.conf" - [[ -n $makepkg_conf ]] && cp $makepkg_conf "$working_dir/etc/makepkg.conf" - -+ local file -+ for file in "${files[@]}"; do -+ mkdir -p "$(dirname "$working_dir$file")" -+ cp -T "$file" "$working_dir$file" -+ done -+ - sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${cache_dirs[@]})|g" -i "$working_dir/etc/pacman.conf" - } - # }}} -@@ -92,6 +106,7 @@ - fi - - build_mount_args -+cache_dirs+=('/repo/') - copy_hostconf - - eval $(grep '^CARCH=' "$working_dir/etc/makepkg.conf") -@@ -99,6 +114,8 @@ - armv7h) CARCH=armv7l;; - esac - -+[[ -z $nosetarch ]] || unset CARCH -+ - exec ${CARCH:+setarch "$CARCH"} systemd-nspawn -q \ - -D "$working_dir" \ - --register=no \ diff --git a/src/chroot-tools/makechrootpkg.sh.patch b/src/chroot-tools/makechrootpkg.sh.patch deleted file mode 100644 index 648f574..0000000 --- a/src/chroot-tools/makechrootpkg.sh.patch +++ /dev/null @@ -1,344 +0,0 @@ ---- makechrootpkg.sh.in 2017-01-29 23:29:48.520332237 -0500 -+++ makechrootpkg.sh.ugly 2017-01-29 23:31:17.341897626 -0500 -@@ -1,4 +1,6 @@ - #!/bin/bash -+# License: GNU GPLv2 -+# - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by - # the Free Software Foundation; version 2 of the License. -@@ -12,6 +14,7 @@ - - shopt -s nullglob - -+init_variables() { - default_makepkg_args=(-s --noconfirm -L --holdver) - makepkg_args=("${default_makepkg_args[@]}") - repack=false -@@ -29,9 +32,10 @@ - bindmounts_rw=() - - copy=$USER --[[ -n $SUDO_USER ]] && copy=$SUDO_USER -+[[ -n ${SUDO_USER:-} ]] && copy=$SUDO_USER - [[ -z "$copy" || $copy = root ]] && copy=copy - src_owner=${SUDO_USER:-$USER} -+} - - usage() { - echo "Usage: ${0##*/} [options] -r <chrootdir> [--] [makepkg args]" -@@ -68,13 +72,21 @@ - } - - # {{{ functions -+# Usage: load_vars $makepkg_conf -+# Globals: -+# - SRCDEST -+# - SRCPKGDEST -+# - PKGDEST -+# - LOGDEST -+# - MAKEFLAGS -+# - PACKAGER - load_vars() { - local makepkg_conf="$1" var - - [[ -f $makepkg_conf ]] || return 1 - - for var in {SRC,SRCPKG,PKG,LOG}DEST MAKEFLAGS PACKAGER; do -- [[ -z ${!var} ]] && eval $(grep "^${var}=" "$makepkg_conf") -+ [[ -z ${!var:-} ]] && eval $(grep "^${var}=" "$makepkg_conf") - done - - return 0 -@@ -135,16 +147,31 @@ - btrfs subvolume delete "$dir" - } - --create_chroot() { -- # Lock the chroot we want to use. We'll keep this lock until we exit. -- lock 9 "$copydir.lock" "Locking chroot copy [%s]" "$copy" -+# Usage: sync_chroot $CHROOTDIR/$CHROOT <$CHROOTCOPY|$copydir> -+sync_chroot() { -+ local chrootdir=$1 -+ local copy=$2 -+ local copydir='' -+ if [[ ${copy:0:1} = / ]]; then -+ copydir=$copy -+ else -+ copydir="$chrootdir/$copy" -+ fi -+ -+ if [[ "$chrootdir/root" -ef "$copydir" ]]; then -+ error 'Cannot sync copy with itself: %s' "$copydir" -+ return 1 -+ fi -+ -+ # Detect chrootdir filesystem type -+ local chroottype=$(stat -f -c %T "$chrootdir") - -- if [[ ! -d $copydir ]] || $clean_first; then - # Get a read lock on the root chroot to make - # sure we don't clone a half-updated chroot -- slock 8 "$chrootdir/root.lock" "Locking clean chroot" -+ slock 8 "$chrootdir/root.lock" \ -+ "Locking clean chroot [%s]" "$chrootdir/root" - -- stat_busy "Creating clean working copy [%s]" "$copy" -+ stat_busy "Synchronizing chroot copy [%s] -> [%s]" "$chrootdir/root" "$copydir" - if [[ "$chroottype" == btrfs ]] && ! mountpoint -q "$copydir"; then - if [[ -d $copydir ]]; then - btrfs_subvolume_delete "$copydir" >/dev/null || -@@ -160,14 +187,18 @@ - - # Drop the read lock again - lock_close 8 -- fi - - # Update mtime - touch "$copydir" - } - --clean_temporary() { -- stat_busy "Removing temporary copy [%s]" "$copy" -+# Usage: delete_chroot $copydir -+delete_chroot() { -+ local copydir=$1 -+ # Detect chrootdir filesystem type -+ local chroottype=$(stat -f -c %T "$copydir") -+ -+ stat_busy "Removing chroot copy [%s]" "$copydir" - if [[ "$chroottype" == btrfs ]] && ! mountpoint -q "$copydir"; then - btrfs_subvolume_delete "$copydir" >/dev/null || - die "Unable to delete subvolume %s" "$copydir" -@@ -182,9 +213,14 @@ - stat_done - } - -+# Usage: install_packages $copydir $pkgs... - install_packages() { -+ local copydir=$1 -+ local install_pkgs=("${@:2}") -+ declare -i ret=0 - local pkgname - -+ local install_pkg - for install_pkg in "${install_pkgs[@]}"; do - pkgname="${install_pkg##*/}" - cp "$install_pkg" "$copydir/$pkgname" -@@ -197,11 +233,19 @@ - rm "$copydir/$pkgname" - done - -- # If there is no PKGBUILD we are done -- [[ -f PKGBUILD ]] || exit $ret -+ return $ret - } - -+# Usage: prepare_chroot $copydir $HOME $repack $run_namcap -+# Globals: -+# - MAKEFLAGS -+# - PACKAGER - prepare_chroot() { -+ local copydir=$1 -+ local USER_HOME=$2 -+ local repack=$3 -+ local run_namcap=$4 -+ - $repack || rm -rf "$copydir/build" - - mkdir -p "$copydir/build" -@@ -248,12 +292,12 @@ - printf 'builduser:x:%d:100:builduser:/build:/bin/bash\n' "$builduser_uid" >>"$copydir/etc/passwd" - chown -R "$builduser_uid" "$copydir"/{build,pkgdest,srcpkgdest,logdest,srcdest,startdir} - -- if [[ -n $MAKEFLAGS ]]; then -+ if [[ -n ${MAKEFLAGS:-} ]]; then - sed -i '/^MAKEFLAGS=/d' "$copydir/etc/makepkg.conf" - echo "MAKEFLAGS='${MAKEFLAGS}'" >> "$copydir/etc/makepkg.conf" - fi - -- if [[ -n $PACKAGER ]]; then -+ if [[ -n ${PACKAGER:-} ]]; then - sed -i '/^PACKAGER=/d' "$copydir/etc/makepkg.conf" - echo "PACKAGER='${PACKAGER}'" >> "$copydir/etc/makepkg.conf" - fi -@@ -266,10 +310,25 @@ - chmod 440 "$copydir/etc/sudoers.d/builduser-pacman" - fi - -+ if ! grep -q '^\[repo\]' "$copydir/etc/pacman.conf"; then -+ local line=$(grep -n '^\[' "$copydir/etc/pacman.conf" |grep -Fv ':[options]'|sed 's/:.*//;1q') -+ local ins='[repo] -+SigLevel = Optional TrustAll -+Server = file:///repo -+' -+ sed -i "${line}i${ins//$'\n'/\\n}" "$copydir/etc/pacman.conf" -+ fi -+ - # This is a little gross, but this way the script is recreated every time in the - # working copy - { - printf '#!/bin/bash\n' -+ declare -f _chrootprepare -+ printf '_chrootprepare "$@"\n' -+ } > "$copydir/chrootprepare" -+ chmod +x "$copydir/chrootprepare" -+ { -+ printf '#!/bin/bash\n' - declare -f _chrootbuild - printf '_chrootbuild "$@" || exit\n' - -@@ -286,13 +345,19 @@ - chmod +x "$copydir/chrootbuild" - } - -+# Usage: download_sources $copydir $src_owner -+# Globals: -+# - SRCDEST - download_sources() { -+ local copydir=$1 -+ local src_owner=$2 -+ - local builddir="$(mktemp -d)" - chmod 1777 "$builddir" - - # Ensure sources are downloaded -- if [[ -n $SUDO_USER ]]; then -- sudo -u $SUDO_USER env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \ -+ if [[ $USER != $src_owner ]]; then -+ sudo -u $src_owner env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \ - makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o - else - ( export SRCDEST BUILDDIR="$builddir" -@@ -302,10 +367,10 @@ - (( $? != 0 )) && die "Could not download sources." - - # Clean up garbage from verifysource -- rm -rf $builddir -+ rm -rf "$builddir" - } - --_chrootbuild() { -+_chrootprepare() { - # This function isn't run in makechrootpkg, - # so no global variables - -@@ -314,6 +379,7 @@ - shopt -s nullglob - - # XXX: Workaround makepkg disliking read-only dirs -+ rm -rf -- /srcdest/* /startdir/* - ln -sft /srcdest /srcdest_host/* - ln -sft /startdir /startdir_host/* - -@@ -343,15 +409,42 @@ - exit 1 - fi - -- sudo -u builduser makepkg "$@" -+ # Sync deps now, as networking may be disabled during _chrootbuild -+ cp /repo/repo.db /var/lib/pacman/sync/repo.db -+ sudo -u builduser makepkg "$@" --nobuild -+} -+ -+_chrootbuild() { -+ # This function isn't run in makechrootpkg, -+ # so no global variables -+ -+ . /etc/profile -+ export HOME=/build -+ shopt -s nullglob -+ -+ cd /startdir -+ -+ sudo -u builduser makepkg "$@" --noextract --noprepare - } - -+# Usage: move_products $copydir $owner -+# Globals: -+# - PKGDEST -+# - LOGDEST - move_products() { -+ local copydir=$1 -+ local src_owner=$2 -+ -+ local pkgfile - for pkgfile in "$copydir"/pkgdest/*; do - chown "$src_owner" "$pkgfile" - mv "$pkgfile" "$PKGDEST" -+ if [[ $PKGDEST != $PWD ]]; then -+ ln -sf "$PKGDEST/${pkgfile##*/}" . -+ fi - done - -+ local l - for l in "$copydir"/logdest/*; do - [[ $l == */logpipe.* ]] && continue - chown "$src_owner" "$l" -@@ -365,6 +458,9 @@ - } - # }}} - -+main() { -+init_variables -+ - orig_argv=("$@") - - while getopts 'hcur:I:l:nTD:d:' arg; do -@@ -430,30 +526,45 @@ - [[ -d $SRCPKGDEST ]] || SRCPKGDEST=$PWD - [[ -d $LOGDEST ]] || LOGDEST=$PWD - --create_chroot -+# Lock the chroot we want to use. We'll keep this lock until we exit. -+lock 9 "$copydir.lock" "Locking chroot copy [%s]" "$copy" -+ -+if [[ ! -d $copydir ]] || $clean_first; then -+ sync_chroot "$chrootdir" "$copy" -+fi - - $update_first && arch-nspawn "$copydir" \ - "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" \ - pacman -Syu --noconfirm - --[[ -n ${install_pkgs[*]} ]] && install_packages -+if [[ -n ${install_pkgs[*]:-} ]]; then -+ install_packages "$copydir" "${install_pkgs[@]}" -+ ret=$? -+ # If there is no PKGBUILD we have done -+ [[ -f PKGBUILD ]] || exit $ret -+fi - --download_sources -+download_sources "$copydir" "$src_owner" - --prepare_chroot -+prepare_chroot "$copydir" "$USER_HOME" "$repack" - - if arch-nspawn "$copydir" \ - --bind-ro="$PWD:/startdir_host" \ - --bind-ro="$SRCDEST:/srcdest_host" \ - "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" \ -+ /chrootprepare "${makepkg_args[@]}" && -+ arch-nspawn "$copydir" \ -+ --bind-ro="$PWD:/startdir_host" \ -+ --bind-ro="$SRCDEST:/srcdest_host" \ -+ "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" \ - /chrootbuild "${makepkg_args[@]}" - then -- move_products -+ move_products "$copydir" "$src_owner" - else - (( ret += 1 )) - fi - --$temp_chroot && clean_temporary -+$temp_chroot && delete_chroot "$copydir" - - if (( ret != 0 )); then - if $temp_chroot; then -@@ -464,3 +575,4 @@ - else - true - fi -+} diff --git a/src/chroot-tools/mkarchroot.patch b/src/chroot-tools/mkarchroot.patch deleted file mode 100644 index 9fc7b39..0000000 --- a/src/chroot-tools/mkarchroot.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- mkarchroot.in 2016-06-09 16:36:04.297290617 -0400 -+++ mkarchroot.ugly 2016-06-09 16:36:26.290140708 -0400 -@@ -1,4 +1,6 @@ - #!/bin/bash -+# License: GNU GPLv2 -+# - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by - # the Free Software Foundation; version 2 of the License. -@@ -14,23 +16,29 @@ - - working_dir='' - -+files=() -+ - usage() { - echo "Usage: ${0##*/} [options] working-dir package-list..." - echo ' options:' - echo ' -C <file> Location of a pacman config file' - echo ' -M <file> Location of a makepkg config file' - echo ' -c <dir> Set pacman cache' -+ echo ' -f <file> Copy file from the host to the chroot' -+ echo ' -s Do not run setarch' - echo ' -h This message' - exit 1 - } - - orig_argv=("$@") - --while getopts 'hC:M:c:' arg; do -+while getopts 'hC:M:c:f:s' arg; do - case "$arg" in - C) pac_conf="$OPTARG" ;; - M) makepkg_conf="$OPTARG" ;; - c) cache_dir="$OPTARG" ;; -+ f) files+=("$OPTARG") ;; -+ s) nosetarch=1 ;; - h|?) usage ;; - *) error "invalid argument '%s'" "$arg"; usage ;; - esac -@@ -68,6 +76,16 @@ - chmod 0755 "$working_dir" - fi - -+for file in "${files[@]}"; do -+ mkdir -p "$(dirname "$working_dir$file")" -+ cp "$file" "$working_dir$file" -+done -+ -+_env=() -+while read -r varname; do -+ _env+=("$varname=${!varname}") -+done < <(declare -x | sed -r 's/^declare -x ([^=]*)=.*/\1/' | grep -i '_proxy$') -+env -i "${_env[@]}" \ - pacstrap -GMcd ${pac_conf:+-C "$pac_conf"} "$working_dir" \ - "${cache_dirs[@]/#/--cachedir=}" "$@" || die 'Failed to install all packages' - -@@ -77,7 +95,8 @@ - - systemd-machine-id-setup --root="$working_dir" - --exec arch-nspawn \ -+exec "$(librelib chroot/arch-nspawn)" \ -+ ${nosetarch:+-s} \ - ${pac_conf:+-C "$pac_conf"} \ - ${makepkg_conf:+-M "$makepkg_conf"} \ - ${cache_dir:+-c "$cache_dir"} \ diff --git a/src/devtools/checkpkg.patch b/src/devtools/checkpkg.patch deleted file mode 100644 index 5cfb794..0000000 --- a/src/devtools/checkpkg.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- checkpkg.in 2014-03-21 13:59:31.849658036 -0400 -+++ checkpkg.ugly 2014-03-21 14:20:52.340291982 -0400 -@@ -1,8 +1,30 @@ - #!/bin/bash -+# License: Unspecified - - shopt -s extglob - --m4_include(lib/common.sh) -+. "$(librelib messages)" -+ -+usage() { -+ print 'Usage: %s [-h]' "${0##*/}" -+ print 'Compare a locally built a package with the one in the repositories.' -+ echo -+ prose 'This should be run from a directory containing a -+ PKGBUILD. It searches for a locally built package -+ corresponding to the PKGBUILD, and downloads the last -+ version of that package from the pacman repositories. -+ It then compares the list of .so files provided by each -+ version of the package. It does this for each part of -+ a split package.' -+} -+ -+if [[ $1 = '-h' ]]; then -+ usage -+ exit 0 -+elif [[ $# -gt 0 ]]; then -+ usage >&2 -+ exit 1 -+fi - - # Source makepkg.conf; fail if it is not found - if [[ -r '/etc/makepkg.conf' ]]; then -@@ -17,7 +39,9 @@ - fi - - if [[ ! -f PKGBUILD ]]; then -- die 'This must be run in the directory of a built package.' -+ error 'This must be run in the directory of a built package.' -+ usage >&2 -+ exit 1 - fi - - . ./PKGBUILD diff --git a/src/devtools/find-libdeps.patch b/src/devtools/find-libdeps.patch deleted file mode 100644 index 1bcffc9..0000000 --- a/src/devtools/find-libdeps.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- find-libdeps.in 2014-03-21 13:59:32.059649315 -0400 -+++ find-libdeps.ugly 2014-03-21 14:21:18.955744982 -0400 -@@ -1,6 +1,7 @@ - #!/bin/bash -+# License: Unspecified - --m4_include(lib/common.sh) -+. "$(librelib messages)" - - set -e - shopt -s extglob -@@ -19,12 +20,32 @@ - *) die "Unknown mode %s" "$script_mode" ;; - esac - -+usage() { -+ print "Usage: find-lib(deps|provides) [options] <package file|extracted package dir>" -+ print "Find library dependencies or provides of a package." -+ echo -+ prose 'Prints a list of library dependencies in the format:' -+ echo -+ print ' <soname>=<soversion>-<soarch>' -+ echo -+ prose 'Where <soversion> is the shared library version, or -+ <soname> repeated if there is no version attached; and -+ <soarch> is the architecture of the library (either `32` -+ or `64`, based on the ELF Class).' -+ echo -+ print "Options:" -+ flag "--ignore-internal" "Ignore internal libraries; libraries -+ without a version attached" -+ flag "-h" "Show this message" -+} - if [[ -z $1 ]]; then -- echo "${0##*/} [options] <package file|extracted package dir>" -- echo "Options:" -- echo " --ignore-internal ignore internal libraries" -+ usage >&2 - exit 1 - fi -+if [[ $1 = '-h' ]]; then -+ usage -+ exit 0 -+fi - - if [[ -d $1 ]]; then - pushd $1 >/dev/null diff --git a/src/devtools/finddeps.patch b/src/devtools/finddeps.patch deleted file mode 100644 index caf2121..0000000 --- a/src/devtools/finddeps.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- finddeps.in 2014-03-21 13:59:32.249641424 -0400 -+++ finddeps.ugly 2014-03-21 14:21:09.949489174 -0400 -@@ -2,19 +2,26 @@ - # - # finddeps - find packages that depend on a given depname - # -+# License: Unspecified - --m4_include(lib/common.sh) -+. "$(librelib messages)" - - match=$1 - -+usage() { -+ print 'Usage: %s <depname>' "${0##*/}" -+ print 'Find packages that depend on a given depname.' -+ echo -+ prose 'Run this script from the top-level directory of your ABS tree.' -+} - if [[ -z $match ]]; then -- echo 'Usage: finddeps <depname>' -- echo '' -- echo 'Find packages that depend on a given depname.' -- echo 'Run this script from the top-level directory of your ABS tree.' -- echo '' -+ usage >&2 - exit 1 - fi -+if [[ $match = '-h' ]]; then -+ usage -+ exit 0 -+fi - - find . -type d | while read d; do - if [[ -f "$d/PKGBUILD" ]]; then diff --git a/src/devtools/lddd.patch b/src/devtools/lddd.patch deleted file mode 100644 index 6383aa4..0000000 --- a/src/devtools/lddd.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- lddd.in 2014-03-21 13:59:32.419634364 -0400 -+++ lddd.ugly 2014-03-21 14:21:31.538503947 -0400 -@@ -2,8 +2,25 @@ - # - # lddd - find broken library links on your machine - # -+# License: Unspecified - --m4_include(lib/common.sh) -+. "$(librelib messages)" -+ -+usage() { -+ print "Usage: %s [-h]" "${0##*/}" -+ print "Find broken library links on your machine." -+ echo -+ prose 'Scans $PATH and library directories for ELF files with -+ references to missing shared libraries.' -+} -+ -+if [[ $1 = '-h' ]]; then -+ usage -+ exit 0 -+elif [[ $# -gt 0 ]]; then -+ usage >&2 -+ exit 1 -+fi - - ifs=$IFS - IFS="${IFS}:" diff --git a/src/lib/Makefile b/src/lib/Makefile index eb2ffde..7c573de 100644 --- a/src/lib/Makefile +++ b/src/lib/Makefile @@ -8,22 +8,6 @@ libretools.out.libs += common.sh conf.sh $(outdir)/conf.sh: $(var.)sysconfdir $(var.)pkgconfdir -$(outdir)/common.sh: $(outdir)/%: $(srcdir)/%.in $(srcdir)/%.head $(srcdir)/%.tail $(outdir)/Makefile - @echo "OUT $@" - @{ \ - cat '$(<D)/$*.head' && \ - echo && \ - sed -r \ - -e '/encoding problem/d;/LANG=/d' \ - -e 's/mesg=\$$(.)/mesg="$$(_ "$$\1")"/' \ - -e 's/gettext /_l _ /g' \ - -e "s/^(\s+)(msg|error) '/\1_l \2 '/" \ - -e 's|lock\(\)\s*\{|lock()\n{|' \ - '$(<D)/$*.in' && \ - echo && \ - cat '$(<D)/$*.tail' && \ - :; } > '$@' - # Translate ########################################################## $(outdir)/blacklist.sh.pot: $(srcdir)/blacklist.sh $(srcdir)/librexgettext diff --git a/src/lib/common.sh.head b/src/lib/common.sh.head deleted file mode 100644 index 23bfeb8..0000000 --- a/src/lib/common.sh.head +++ /dev/null @@ -1,25 +0,0 @@ -#!/hint/bash -# This may be included with or without `set -euE` - -# This file is included by libremessages. -# You should probably use libremessages instead of this. - -# License: Unspecified - -shopt -s extglob - -if [[ -z ${_INCLUDE_COMMON_SH:-} ]]; then -_INCLUDE_COMMON_SH=true - -[[ -n ${TEXTDOMAIN:-} ]] || export TEXTDOMAIN='libretools' -[[ -n ${TEXTDOMAINDIR:-} ]] || export TEXTDOMAINDIR='/usr/share/locale' - -if type gettext &>/dev/null; then - _() { gettext "$@"; } -else - _() { echo "$@"; } -fi - -_l() { - TEXTDOMAIN='librelib' TEXTDOMAINDIR='/usr/share/locale' "$@" -} diff --git a/src/lib/common.sh.tail b/src/lib/common.sh.tail deleted file mode 100644 index e133fad..0000000 --- a/src/lib/common.sh.tail +++ /dev/null @@ -1 +0,0 @@ -fi diff --git a/src/xbs-abs/archrelease.patch b/src/xbs-abs/archrelease.patch deleted file mode 100644 index bdf2deb..0000000 --- a/src/xbs-abs/archrelease.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- archrelease.in 2014-06-20 09:42:13.367553434 -0400 -+++ archrelease.ugly 2014-06-27 17:42:14.392917837 -0400 -@@ -1,4 +1,5 @@ - #!/bin/bash -+# License: Unspecified - - m4_include(lib/common.sh) - m4_include(lib/valid-tags.sh) |