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-all.sh [OPTIONS]
19 # things that might be set by options
24 if test -f IDMETA; then
27 while test $# -gt 0; do
29 -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
56 if test "$do_help" = "yes"; then
60 if test "$REMOTE"; then
61 if test ! -d deb-src; then
62 echo "deb-src not in current directory"
66 PRODUCT=`echo *.dsc|sed 's/_.*//g'`
68 ssh $REMOTE "mkdir -p $PRODUCT/deb-src"
69 scp IDMETA $REMOTE:$PRODUCT
70 scp deb-src/*.gz deb-src/*.dsc $REMOTE:$PRODUCT/deb-src
72 ssh $REMOTE "cd $PRODUCT; \$HOME/proj/git-tools/id-deb-build/id-pbuild.sh --upload"
74 ssh $REMOTE "cd $PRODUCT; sudo \$HOME/proj/git-tools/id-deb-build/id-pbuild.sh"
78 if test -d deb-src; then
86 if test -z "$PKG"; then
87 echo "Specify .dsc file"
90 if test ! -e "$PKG"; then
91 echo "${PKG} does not exist"
94 PBUILDER=/usr/sbin/pbuilder
95 PRODUCT=`echo *.dsc|sed 's/_.*//g'`
97 if grep "Architecture: all" $PKG >/dev/null; then
102 echo "Dsc $PKG . Product $PRODUCT"
103 echo "Ubuntu distros: $UBUNTU_DIST"
104 echo "Debian distros: $DEBIAN_DIST"
106 for dist in ${UBUNTU_DIST}; do
107 scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/ubuntu/${dist}
109 for dist in ${DEBIAN_DIST}; do
110 scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/debian/${dist}
112 echo "Remember to update APT on ftp.indexdata.dk"
113 echo "cd git-tools/update-archive"
115 echo "./update-archive.sh"
118 # remove existing package directories
129 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
130 for arch in ${USE_ARCHS}; do
131 rm -fr ${dist}-${arch}
133 if test ! -f /var/cache/pbuilder/${dist}-${arch}-base.tgz; then
134 DIST=$dist ARCH=$arch $PBUILDER create
136 DIST=$dist ARCH=$arch $PBUILDER update --override-config
137 DIST=$dist ARCH=$arch $PBUILDER --build $PKG
138 ) >${dist}-${arch}.log 2>&1 &
140 if test $i -eq $concurrency; then
147 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
148 for arch in ${USE_ARCHS}; do
149 if test -f ${dist}-${arch}/*.dsc; then
152 echo "No .dsc file for ${dist}-${arch}"