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 so this script should be invoked with sudo.
9 Usage: id-pbuild.sh [OPTIONS]
20 # things that might be set by options
25 if test -f IDMETA; then
28 while test $# -gt 0; do
30 -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
57 if test "$do_help" = "yes"; then
61 PBUILDROOT=`dirname $0`/id-pbuild-root.sh
62 if test ! -x $PBUILDROOT; then
63 echo "$PBUILDROOT not found"
67 MKDEBSRC=`dirname $0`/id-mk-deb-src.sh
68 if test ! -x $MKDEBSRC; then
69 echo "$MKDEBSRC not found"
73 if test -d deb-src; then
79 if test -d deb-src; then
88 if test -z "$PKG"; then
89 echo "Specify .dsc file"
92 if test ! -e "$PKG"; then
93 echo "${PKG} does not exist"
96 if test -z "$PRODUCT"; then
97 PRODUCT=`echo *.dsc|sed 's/_.*//g'`
100 if grep "Architecture: all" $PKG >/dev/null; then
105 echo "Dsc $PKG . Product $PRODUCT"
106 echo "Ubuntu distros: $UBUNTU_DIST"
107 echo "Debian distros: $DEBIAN_DIST"
109 for dist in ${UBUNTU_DIST}; do
110 scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/ubuntu/${dist}
112 for dist in ${DEBIAN_DIST}; do
113 scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/debian/${dist}
116 echo "===================================================="
117 echo "Remember to update APT on ftp.indexdata.dk !!!"
119 echo "ssh ftp.indexdata.dk"
120 echo "cd ~/proj/git-tools/update-archive"
122 echo "./update-archive.sh"
123 echo "===================================================="
128 # call our privileged wrapper to clean the directories, no --dsc option
129 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
130 for arch in ${USE_ARCHS}; do
131 sudo -n $PBUILDROOT --dist=$dist --arch=$arch
135 # call our privileged wrapper to do the real work, with --dsc option
138 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
139 for arch in ${USE_ARCHS}; do
140 sudo -n $PBUILDROOT \
141 --dist=$dist --arch=$arch --dsc=$PKG >${dist}-${arch}.log 2>&1 &
143 if test $i -eq $concurrency; then
146 if test -f ${dist}-${arch}/*.dsc; then
149 echo "No .dsc file for ${dist}-${arch}"
156 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
157 for arch in ${USE_ARCHS}; do
158 if test -f ${dist}-${arch}/*.dsc; then
161 echo "No .dsc file for ${dist}-${arch}"