2 # This script builds Debian packages for one or more distributions
3 # in i386/amd64 architectures. It uses pbuilder. pbuilder requires root
4 # privilege and is invoked with sudo.
6 # In order to avoid having to type-in the password for it, you might
7 # use something like this in sudoers
8 # user ALL=NOPASSWD,SETENV: /usr/sbin/pbuilder
9 # where user is your username.
14 Usage: id-pbuild-all.sh [OPTIONS]
25 # things that might be set by options
31 if test -f IDMETA; then
34 while test $# -gt 0; do
36 -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
63 if test "$do_help" = "yes"; then
67 if test -d deb-src; then
75 if test -z "$PKG"; then
76 echo "Specify .dsc file"
79 if test ! -e "$PKG"; then
80 echo "${PKG} does not exist"
83 PBUILDER=/usr/sbin/pbuilder
84 PRODUCT=`echo *.dsc|sed 's/_.*//g'`
86 echo "Dsc $PKG . Product $PRODUCT"
87 echo "Ubuntu distros: $UBUNTU_DIST"
88 echo "Debian distros: $DEBIAN_DIST"
90 for dist in ${UBUNTU_DIST}; do
91 scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/ubuntu/${dist}
93 for dist in ${DEBIAN_DIST}; do
94 scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/debian/${dist}
96 echo "Remember to update APT on ftp.indexdata.dk"
97 echo "cd git-tools/update-archive"
99 echo "./update-archive.sh"
104 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
105 for arch in ${ARCHS}; do
106 rm -fr ${dist}-${arch}
108 if test ! -f /var/cache/pbuilder/${dist}-${arch}-base.tgz; then
109 sudo DIST=$dist ARCH=$arch $PBUILDER create
112 sudo DIST=$dist ARCH=$arch $PBUILDER update --override-config
114 sudo DIST=$dist ARCH=$arch $PBUILDER --build $PKG
115 ) >${dist}-${arch}.log 2>&1 &
117 if test $i -eq $concurrency; then
124 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
125 for arch in ${ARCHS}; do
126 if test -f ${dist}-${arch}/*.dsc; then
129 echo "No .dsc file for ${dist}-${arch}"