pbuilder-scripts-19/0000775000000000000000000000000012052667657011510 5ustar pbuilder-scripts-19/pcreate0000775000000000000000000000750712052667506013063 0ustar #!/bin/bash # -*- indent-tabs-mode: t; tab-width: 2 -*- # # Copyright 2009, 2010 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . DEFAULT_COMPONENTS="main restricted universe multiverse" ARCH="" DIST="" COMPONENTS="$DEFAULT_COMPONENTS" EXTRAPACKAGES="" usage() { echo echo "Usage: pcreate [-c COMPONENTS] [-e \"EXTRA PACKAGES\"] [-s SOURCES]" echo " -a ARCH -d DIST PROJECT" echo echo "Default distribution is '$DEFAULT_DIST'". echo echo "EXTRA PACKAGES are a double quoted, space separated list of" echo "packages which will be installed after chroot creation." echo echo "SOURCES is the starting contents of the sources list." echo exit 1 } while getopts 'a:c:e:d:s:' OPTION do case $OPTION in a) ARCH="$OPTARG" ;; c) COMPONENTS="$OPTARG" ;; e) EXTRAPACKAGES="$OPTARG" ;; d) DIST="$OPTARG" ;; s) SOURCES="$OPTARG" ;; ?) usage ;; esac done shift $(($OPTIND - 1)) PROJ=$1 if [ -z "$PROJ" -o -z "$ARCH" -o -z "$DIST" ]; then usage fi TMPFILE=$(mktemp) # -s file.list means you want to start with file.list as the initial contents if [ -z "$SOURCES" ] ; then echo \ '# Put your extra sources.list entries here. The normal entries for the # components and dist you selected will be added. This is just for extra # custom entries. ' > "$TMPFILE" else cat $SOURCES > "$TMPFILE" fi # Let user add custom, project-specific lines sensible-editor "$TMPFILE" if [ "$DIST" = "sid" ]; then # should be larger list of Debian names MIRROR="ftp://ftp.debian.org/debian" elif [ "$ARCH" = "i386" -o "$ARCH" = "amd64" ]; then MIRROR="http://archive.ubuntu.com/ubuntu" else MIRROR="http://ports.ubuntu.com/ubuntu-ports" fi # if arm, need qemu if [ "$ARCH" = "armel" -o "$ARCH" = "armhf" ]; then # get the host OS release and adapt r=$(lsb_release -rs) r=${r%%\.*} if (( r > 10 )) ; then echo "Installing qemu-user-static for ${ARCH}-on-x86 support (natty or later)" sudo apt-get install qemu-user-static || exit 1 DEBOOTSTRAP_ARGS="--debootstrap qemu-debootstrap --debootstrapopts --variant=buildd --debootstrapopts --arch=$ARCH" else echo "Installing qemu-arm-static for ${ARCH}-on-x86 support (maverick or earlier)" # sudo apt-get install qemu-user-static || exit 1 sudo apt-get install qemu-arm-static || exit 1 # Don't add debootstrapopts options, build-arm-chroot uses --arch itself and gets # confused with any extra options DEBOOTSTRAP_ARGS="--debootstrap build-arm-chroot" fi else DEBOOTSTRAP_ARGS="--debootstrapopts --variant=buildd --debootstrapopts --arch=$ARCH" fi # Create the Project directory SRCDIR=${PBUILDER_SRCDIR:-$HOME/Projects} mkdir -p "$SRCDIR/$PROJ" # Now, we didn't tell pbuilder about the user's input sources.list. We'll set # that up as an extra step below (this allows user to input https sources even # in hardy, which didn't install apt-transport-https by default) #set -x sudo sh -c "pbuilder create --basetgz \"/var/cache/pbuilder/$PROJ.tgz\" --distribution \"$DIST\" $DEBOOTSTRAP_ARGS --components \"$COMPONENTS\" --mirror \"$MIRROR\" --othermirror \"deb-src $MIRROR $DIST $COMPONENTS\" && pbuilder execute --save-after-exec --basetgz \"/var/cache/pbuilder/$PROJ.tgz\" --bindmounts \"$(dirname $TMPFILE)\" -- /usr/lib/pbuilder-scripts/pcreate-helper \"$TMPFILE\" \"$EXTRAPACKAGES\"" #set +x rm "$TMPFILE" pbuilder-scripts-19/debian/0000775000000000000000000000000012052667657012732 5ustar pbuilder-scripts-19/debian/bzr-builddeb.conf0000664000000000000000000000003112052667455016134 0ustar [BUILDDEB] native = True pbuilder-scripts-19/debian/source/0000775000000000000000000000000012052667657014232 5ustar pbuilder-scripts-19/debian/source/format0000664000000000000000000000001512052667455015435 0ustar 3.0 (native) pbuilder-scripts-19/debian/rules0000775000000000000000000000004012052667455014000 0ustar #!/usr/bin/make -f %: dh $@ pbuilder-scripts-19/debian/copyright0000664000000000000000000000151512052667455014663 0ustar Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=54 Files: * Copyright: 2009-2012 Canonical Ltd. License: GPL-3 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 3 of the License. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems the full text of the GNU General Public License can be found in the `/usr/share/common-licenses/GPL-3' file. pbuilder-scripts-19/debian/compat0000664000000000000000000000000212052667455014124 0ustar 9 pbuilder-scripts-19/debian/changelog0000664000000000000000000001445212052667506014603 0ustar pbuilder-scripts (19) raring; urgency=low * pcreate: Create project directory to match the new chroot (LP: #1079316) * pget: Correctly respond to the value of PBUILDER_SRCDIR_FORMAT (LP: #1079899) -- Scott Sweeny Fri, 16 Nov 2012 16:31:59 -0500 pbuilder-scripts (18) raring; urgency=low [ Mike Carifio ] * pbuild: Fix --debug option by properly quoting debuild arguments. -- Michael Terry Tue, 06 Nov 2012 15:01:32 -0500 pbuilder-scripts (17) quantal-proposed; urgency=low * Fix ptest's --save argument by allowing scripts to accept their own arguments * Have ptest allow -s for consistency -- Michael Terry Tue, 25 Sep 2012 10:38:54 -0400 pbuilder-scripts (16) quantal; urgency=low * Make more scripts support auto-detecting which project you are in * Some general packaging and script cleanup -- Michael Terry Wed, 25 Jul 2012 15:59:43 -0400 pbuilder-scripts (15) lucid; urgency=low * pcreate: added support for armhf -- Matthew Fischer Wed, 11 Apr 2012 10:32:55 -0600 pbuilder-scripts (14) lucid; urgency=low * pcreate: - added -s switch to initially populate sources.list file - Renamed qemu-arm-static to qemu-user-static to reflect package name changes in natty and above - Added logic to test host ubuntu version to import the correct package. -- Mike Carifio Thu, 19 May 2011 15:38:14 -0400 pbuilder-scripts (13) lucid; urgency=low * pget: Rename UID/GID to uid/gid to avoid problems with bash. -- Michael Terry Fri, 13 Aug 2010 10:57:41 -0400 pbuilder-scripts (12) lucid; urgency=low [ Peter Petrakis ] * pcreate, pcreate-helper: - Add support for -e to specify extra packages to install in the chroot. [ Michael Terry ] * pcreate: - Make help output nicer - Add default options back for -a (i386) and -d (same as host) - Don't prompt for sudo password a second time * debian/copyright: - Fix copyright to be Canonical's, not mine and to be GPL-3 just * debian/rules, debian/control: - Use dh7, bump Standards-Version, fix Maintainer * debian/source/format: - Use "3.0 (native)" * Update copyright headers for all files to specify GPL-3 only, not GPL-3+ -- Michael Terry Thu, 08 Jul 2010 14:06:11 -0400 pbuilder-scripts (11) hardy; urgency=low [ Loïc Minier ] * Priority is optional. * Add Vcs-Bzr. * Prettify debian/install file. * Fix ports.ubuntu.com URL to have /ubuntu-ports suffix. [ Michael Terry ] * pcreate: Update armel support; make -a and -d required -- Michael Terry Wed, 23 Dec 2009 16:34:07 -0500 pbuilder-scripts (10) hardy; urgency=low * pcreate: Support armel chroots -- Michael Terry Wed, 05 Aug 2009 11:58:30 +0100 pbuilder-scripts (9) hardy; urgency=low * debian/copyright: Update to DEP5 * debian/install, hooks/D10update, pbuild, pget: - Add a hook to apt-get update before building or getting a package * pget: - No longer save results of apt-get update automatically. This took extra time. If you want to save the results, run 'pupdate' * pcreate: - Support specifying non-default components with -c - Better help output - Use ports.ubuntu.com rather than ubuntu-ports-stable - If dist is 'sid', use debian mirror -- Michael Terry Mon, 08 Jun 2009 13:34:39 -0400 pbuilder-scripts (8) hardy; urgency=low * pcreate, pcreate-helper: - Install sources.list after chroot creation. This lets us use https URLs without trouble. * debian/control: - Add misc:Depends to Depends -- Michael Terry Fri, 06 Mar 2009 11:04:56 -0500 pbuilder-scripts (7) hardy; urgency=low * pget-helper: - On any error, return a non-zero error code * pget, pget-helper: - Create project and package directories as your user, not root -- Michael Terry Mon, 09 Feb 2009 09:00:47 -0500 pbuilder-scripts (6) hardy; urgency=low * pcreate: - Add -d argument to specify a distribution - Make -a argument actually work when you specify a non-lpia architecture, by pointing to main Ubuntu mirrors. -- Michael Terry Wed, 28 Jan 2009 15:24:39 -0500 pbuilder-scripts (5) hardy; urgency=low * pcreate: - Add -a argument to specify architecture, defaults to lpia - Read EDITOR variable and prefer that editor - Don't offer default sources.list that isn't relevant to most of our projects. * pget, pget-helper, pbuild: - Look at value of PBUILDER_SRCDIR_FORMAT. If it equals 'pkg', use SRCDIR/PROJ/PKG hierarchy. * pget: - Allow relative paths for PBUILDER_SRCDIR * pbuild: - Guess project name if not specified -- Michael Terry Fri, 23 Jan 2009 14:22:40 -0500 pbuilder-scripts (4) hardy; urgency=low * pget: - Fix typo that prevented downloaded source files from being owned by correct user. * pbuild: - Don't call pdebuild with sudo, doesn't need it. -- Michael Terry Fri, 16 Jan 2009 14:14:40 -0500 pbuilder-scripts (3) hardy; urgency=low * pbuild, pcreate, pget, ptest: - Use PBUILDER_SRCDIR instead of CESG_SRCDIR and default to ~/Projects instead of /opt. * pget, pget-helper: - Modify downloaded source to be owned by the user that called the script, not root. - When an expanded source directory already exists that we want to replace, back it up with a numbered suffix. - Run apt-get update before downloading source to avoid common problem with stale downloads (i.e. I forgot to pupdate beforehand) * debian/install, pclean: - New script to clean out pbuilder cache -- Michael Terry Fri, 16 Jan 2009 10:04:37 -0500 pbuilder-scripts (2) hardy; urgency=low * pcreate: - Set $PROJ correctly, to avoid creating ".tgz" chroots. -- Michael Terry Thu, 15 Jan 2009 15:59:14 -0500 pbuilder-scripts (1) hardy; urgency=low * Initial release. -- Michael Terry Thu, 15 Jan 2009 14:25:27 -0500 pbuilder-scripts-19/debian/install0000664000000000000000000000026412052667455014321 0ustar pbuild pclean pcreate pget ptest pupdate /usr/bin pcreate-helper pget-helper /usr/lib/pbuilder-scripts pfuncs /usr/share/pbuilder-scripts hooks/* /usr/share/pbuilder-scripts/hooks pbuilder-scripts-19/debian/control0000664000000000000000000000103512052667455014330 0ustar Source: pbuilder-scripts Section: devel Priority: extra Maintainer: Ubuntu Developers Build-Depends: debhelper (>= 9) Standards-Version: 3.9.3 Package: pbuilder-scripts Architecture: all Depends: ${misc:Depends}, pbuilder, # The following conflicts are due to the ptest executable Conflicts: pacemaker, parmetis-test, Description: Wrapper scripts for pbuilder pbuilder-scripts are a collection of wrapper scripts to make working with many simultaneous pbuilder projects easier. pbuilder-scripts-19/pcreate-helper0000775000000000000000000000203312052667455014330 0ustar #!/bin/sh # -*- indent-tabs-mode: t; tab-width: 2 -*- # # Copyright 2009-2012 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Expected arguments: # 1 is sources.list file to add # 2 is a list of extra packages to install set -e if grep "https://" "$1"; then apt-get --assume-yes --force-yes install apt-transport-https fi cat "$1" >> /etc/apt/sources.list apt-get update if [ -n "$2" ]; then apt-get --assume-yes --force-yes install $2 fi apt-get --assume-yes --force-yes dist-upgrade pbuilder-scripts-19/ptest0000775000000000000000000000246612052667455012601 0ustar #!/bin/sh # -*- indent-tabs-mode: t; tab-width: 2 -*- # # Copyright 2009-2012 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . /usr/share/pbuilder-scripts/pfuncs setup_all $* save_arg="" # Legacy support for long argument names, included to save people the hassle # of changing muscle memory. for arg in $*; do if [ $arg = "--save" ]; then save_arg="--save-after-login" fi done # New style support for short argument names while getopts ':s' OPTION do case $OPTION in s) save_arg="--save-after-login" ;; esac done xhost +SI:localuser:root echo "Remember to run export DISPLAY=localhost$DISPLAY if you want to test graphical apps" sudo pbuilder --login --basetgz "/var/cache/pbuilder/$proj.tgz" \ --bindmounts "$srcdir/$proj $HOME/.ssh" "$save_arg" pbuilder-scripts-19/pget-helper0000775000000000000000000000232612052667455013651 0ustar #!/bin/sh # -*- indent-tabs-mode: t; tab-width: 2 -*- # # Copyright 2009-2012 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Expected arguments: # 1 is destination directory for source # 2 is package name # 3 and 4 are uid and gid set -e SRCTMP=$(mktemp -d) cd "$SRCTMP" SRCDIR="$1" PKG="$2" apt-get update apt-get source $PKG chown -R $3:$4 * # Only move actual packaging files if they don't exist, but never just fail to # expand it nor overwrite an already-expanded source dir (the user may have # work in it). So we backup existing directories. mv -t "$SRCDIR" --backup=numbered $(ls -d */) # Now just move everything else mv -t "$SRCDIR" -u * cd / rm -r "$SRCTMP" pbuilder-scripts-19/hooks/0000775000000000000000000000000012052667657012633 5ustar pbuilder-scripts-19/hooks/D10update0000775000000000000000000000003112052667455014276 0ustar #!/bin/sh apt-get update pbuilder-scripts-19/pget0000775000000000000000000000265312052667506012374 0ustar #!/bin/sh # -*- indent-tabs-mode: t; tab-width: 2 -*- # # Copyright 2009-2012 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . /usr/share/pbuilder-scripts/pfuncs setup_all $* for pkg; do true; done # This neat trick grabs the last argument if [ -z "$pkg" ]; then echo "You must specify a package" >&2 exit 1 fi format=${PBUILDER_SRCDIR_FORMAT:-flat} case "$format" in flat) srcdir="$srcdir/$proj" ;; pkg) srcdir="$srcdir/$proj/$pkg" ;; *) echo "Didn't understand PBUILDER_SRCDIR_FORMAT=$format" >&2 echo "Using flat format." >&2 srcdir="$srcdir/$proj" ;; esac # Make sure the right source directory is present mkdir -p "$srcdir" uid=$(id -u) gid=$(id -g) sudo pbuilder execute --basetgz "/var/cache/pbuilder/$proj.tgz" \ --bindmounts "$srcdir" -- \ /usr/lib/pbuilder-scripts/pget-helper "$srcdir" \ "$pkg" $uid $gid pbuilder-scripts-19/pfuncs0000664000000000000000000000254312052667455012731 0ustar #!/bin/sh # -*- indent-tabs-mode: nil; tab-width: 2 -*- # # Copyright 2009-2012 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . setup_srcdir() { srcdir=${PBUILDER_SRCDIR:-$HOME/Projects} srcdir=$(readlink -m "$srcdir") } setup_proj() { proj="" while getopts ':p:' OPTION do case $OPTION in p) proj="$OPTARG" ;; esac done if [ -z "$proj" ]; then # Auto detect project by going up directory tree dir="$PWD" while [ "$dir" != "/" ]; do base=$(basename "$dir") dir=$(dirname "$dir") if [ "$dir" = "$srcdir" ]; then proj="$base" break; fi done if [ -z "$proj" ]; then echo "Could not determine project. Please specify one with -p." >&2 exit 1 fi fi mkdir -p "$srcdir/$proj" } setup_all() { setup_srcdir $* setup_proj $* } pbuilder-scripts-19/pbuild0000775000000000000000000000345612052667455012721 0ustar #!/bin/sh # -*- indent-tabs-mode: t; tab-width: 2 -*- # # Copyright 2009 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . /usr/share/pbuilder-scripts/pfuncs setup_all $* extra_args="" bin_only="false" for arg in $*; do if [ $arg = "--source" ]; then extra_args="$extra_args -S" elif [ $arg = "--binary-only" ]; then bin_only="true" elif [ $arg = "--debug" ]; then extra_args="$extra_args --set-envvar=DEB_BUILD_OPTIONS=debug,nostrip,noopt" elif [ $arg = "--help" ]; then echo "Usage: pbuild [--source, --debug, --help] [PROJECT]" echo " You must be in the source directory" exit 0 fi done if [ $bin_only = "true" ]; then debuild_args="-b $extra_args" pdebuild_args="--use-pdebuild-internal" # oddly, normal pdebuild explicitly forces source else debuild_args="-i -I -sa $extra_args" pdebuild_args="" fi # Let builddir just be '..', since it's hard to say where we should put it. # If the user's PBUILDER_SRCDIR_FORMAT is pkg, we'd have to guess package name # from current directory, and I don't want to go there. This is easier. builddir=.. pdebuild --buildresult "$builddir" $pdebuild_args \ --debbuildopts "\"$debuild_args\"" -- \ --basetgz "/var/cache/pbuilder/$proj.tgz" \ --hookdir "/usr/share/pbuilder-scripts/hooks" pbuilder-scripts-19/pclean0000775000000000000000000000127712052667455012703 0ustar #!/bin/sh # -*- indent-tabs-mode: t; tab-width: 2 -*- # # Copyright 2009-2012 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . sudo pbuilder --clean pbuilder-scripts-19/pupdate0000775000000000000000000000143512052667455013077 0ustar #!/bin/sh # -*- indent-tabs-mode: t; tab-width: 2 -*- # # Copyright 2009-2012 Canonical Ltd # # 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 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . /usr/share/pbuilder-scripts/pfuncs setup_all $* sudo pbuilder --update --basetgz "/var/cache/pbuilder/$proj.tgz"