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]
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]*=//'` ;;
60 if test "$do_help" = "yes"; then
64 if test "$REMOTE"; then
65 if test ! -d deb-src; then
66 echo "deb-src not in current directory"
70 PRODUCT=`echo *.dsc|sed 's/_.*//g'`
72 ssh $REMOTE "mkdir -p $PRODUCT/deb-src"
73 scp IDMETA $REMOTE:$PRODUCT
74 scp deb-src/*.gz deb-src/*.dsc $REMOTE:$PRODUCT/deb-src
76 ssh $REMOTE "cd $PRODUCT; \$HOME/proj/git-tools/id-deb-build/id-pbuild.sh --upload"
78 ssh $REMOTE "cd $PRODUCT; sudo \$HOME/proj/git-tools/id-deb-build/id-pbuild.sh"
82 if test -d deb-src; then
90 if test -z "$PKG"; then
91 echo "Specify .dsc file"
94 if test ! -e "$PKG"; then
95 echo "${PKG} does not exist"
98 PBUILDER=/usr/sbin/pbuilder
99 if test -z "$PRODUCT"; then
100 PRODUCT=`echo *.dsc|sed 's/_.*//g'`
103 if grep "Architecture: all" $PKG >/dev/null; then
108 echo "Dsc $PKG . Product $PRODUCT"
109 echo "Ubuntu distros: $UBUNTU_DIST"
110 echo "Debian distros: $DEBIAN_DIST"
112 for dist in ${UBUNTU_DIST}; do
113 scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/ubuntu/${dist}
115 for dist in ${DEBIAN_DIST}; do
116 scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/debian/${dist}
119 echo "===================================================="
120 echo "Remember to update APT on ftp.indexdata.dk !!!"
122 echo "ssh ftp.indexdata.dk"
123 echo "cd ~/proj/git-tools/update-archive"
125 echo "./update-archive.sh"
126 echo "===================================================="
129 # remove existing package directories
140 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
141 for arch in ${USE_ARCHS}; do
142 rm -fr ${dist}-${arch}
144 if test ! -f /var/cache/pbuilder/${dist}-${arch}-base.tgz; then
145 DIST=$dist ARCH=$arch $PBUILDER create
147 DIST=$dist ARCH=$arch $PBUILDER update --override-config
148 DIST=$dist ARCH=$arch $PBUILDER --build $PKG
149 ) >${dist}-${arch}.log 2>&1 &
151 if test $i -eq $concurrency; then
158 for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
159 for arch in ${USE_ARCHS}; do
160 if test -f ${dist}-${arch}/*.dsc; then
163 echo "No .dsc file for ${dist}-${arch}"