X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=update-archive%2Fupdate-archive.sh;h=6df2794ef67194eb3fe50963149b91d328684db4;hb=9f9ba41e6c3300e9c129b1e26037c1f749f56773;hp=58dc46f1ba5d74b1eff6e66b60ccfc6c8d813c9f;hpb=92e0f7db731978b40d0d6043391ef180966c22a4;p=git-tools-moved-to-github.git diff --git a/update-archive/update-archive.sh b/update-archive/update-archive.sh index 58dc46f..6df2794 100755 --- a/update-archive/update-archive.sh +++ b/update-archive/update-archive.sh @@ -9,6 +9,8 @@ Usage: update-archive.sh [OPTIONS] Options: [--debian=distros] [--ubuntu=distros] + [--suffix=dist-suffix] + [--noauto] [--clear] EOF exit $1 @@ -16,6 +18,8 @@ EOF do_help=false clear=false +noauto=false +suffix="" while test $# -gt 0; do case "$1" in -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; @@ -31,6 +35,12 @@ while test $# -gt 0; do --ubuntu=*) UBUNTU_DIST=$optarg ;; + --suffix=*) + suffix="$optarg" + ;; + --noauto) + noauto=true + ;; -*) do_help=true ;; @@ -46,18 +56,13 @@ if test ! -f ${confdir}/apt-ftparchive.conf.in; then echo "$0: ${condir}/apt-ftparchive.conf.in not found" exit 1 fi -if test ! -f ${confdir}/apt-release.conf.in; then - echo "$0: ${condir}/apt-release.conf.in not found" - exit 1 -fi - if test ! -x /usr/bin/apt-ftparchive; then echo "$0: /usr/bin/apt-ftparchive missing. Install apt-utils" exit 1 fi # gpg -a -d -o Release.gpg Release - + architectures="i386 amd64" if test "$DEBIAN_DIST"; then @@ -72,7 +77,7 @@ if test "$UBUNTU_DIST"; then fi # All distributions we know of -ALLD="ubuntu/lucid ubuntu/natty ubuntu/oneiric ubuntu/precise ubuntu/quantal ubuntu/raring debian/jessie debian/wheezy debian/squeeze debian/lenny" +ALLD="ubuntu/lucid ubuntu/natty ubuntu/oneiric ubuntu/precise ubuntu/quantal ubuntu/raring ubuntu/saucy ubuntu/trusty ubuntu/utopic ubuntu/vivid ubuntu/wily ubuntu/xenial ubuntu/yakkety debian/stretch debian/jessie debian/wheezy debian/squeeze debian/lenny" if test -z "$DISTRIBUTIONS"; then DISTRIBUTIONS=$ALLD @@ -94,6 +99,10 @@ fi echo "DISTRIBUTIONS=$DISTRIBUTIONS" for vdist in $DISTRIBUTIONS ; do dist=`basename $vdist` + fdist=${dist} + if test -n "${suffix}"; then + fdist="${fdist}-${suffix}" + fi vendor=`dirname $vdist` ftpdir=/home/ftp/pub/$vendor if test ! -d $ftpdir; then @@ -101,7 +110,7 @@ for vdist in $DISTRIBUTIONS ; do exit 1 fi cd $ftpdir - test -d tmp || mkdir tmp + mkdir -p tmp # Uncomment to clean the .db (cache) if $clear; then rm tmp/* @@ -110,8 +119,8 @@ for vdist in $DISTRIBUTIONS ; do sections="" for section in main restricted; do # Prepare pool - d=pool/dists/$dist/$section - if test ! -d $d; then mkdir -p $d; fi + d=pool/dists/$fdist/$section + mkdir -p $d mkdir -p $d/source # Remove invalid symlinks (source, i386, amd64,..) for l in $d/*/*; do @@ -151,7 +160,6 @@ for vdist in $DISTRIBUTIONS ; do fi fi done - # ${confdir}/symclean.sh $d rm -f $d/Release if $has_packages; then @@ -161,53 +169,42 @@ for vdist in $DISTRIBUTIONS ; do sections="$sections $section" fi for arch in $architectures; do - d=dists/$dist/$section/binary-$arch - if test ! -d $d; then mkdir -p $d; fi - echo "Archive: $dist" >$d/Release + d=dists/$fdist/$section/binary-$arch + mkdir -p $d + echo "Archive: $fdist" >$d/Release echo "Component: $section" >>$d/Release - echo 'Origin: Indexdata' >>$d/Release + echo 'Origin: Index Data' >>$d/Release echo "Architecture: $arch" >>$d/Release done - d=dists/$dist/$section/source - if test ! -d $d; then mkdir -p $d; fi - echo "Archive: $dist" >$d/Release + d=dists/$fdist/$section/source + mkdir -p $d + echo "Archive: $fdist" >$d/Release echo "Component: $section" >>$d/Release - echo 'Origin: Indexdata' >>$d/Release + echo 'Origin: Index Data' >>$d/Release echo 'Architecture: source' >>$d/Release fi done - # generate - echo "Begin Generate $dist: $sections" - F=apt-ftparchive.conf - sed "s/@dist@/$dist/g" <${confdir}/${F}.in | \ - sed "s/@architectures@/${architectures}/g" | \ - sed "s/@sections@/${sections}/g" > $F - # Don't know if clean is needed! - # apt-ftparchive clean apt-ftparchive.conf - apt-ftparchive generate apt-ftparchive.conf 2>&1 - echo "Done generate $dist: $sections" - - # release - r=dists/$dist/Release - F=apt-release.conf - sed "s/@dist@/$dist/g" <${confdir}/${F}.in | \ - sed "s/@architectures@/${architectures}/g" | \ - sed "s/@sections@/${sections}/g" > $F - # Move Release file away while calling using release - rm $r - apt-ftparchive -c $F release dists/$dist >tmp_Release - mv tmp_Release $r - - # sign - if true; then - r=dists/$dist/Release + if test -n "$sections"; then + F=apt-ftparchive.conf + sed "s/@dist@/$fdist/g" <${confdir}/${F}.in | \ + sed "s/@architectures@/${architectures}/g" | \ + sed "s/@sections@/${sections}/g" > $F + apt-ftparchive generate apt-ftparchive.conf 2>&1 + r=dists/$fdist/Release + rm -f $r # Move Release file away while calling using release + apt-ftparchive -c $F release dists/$fdist >tmp_Release + if $noauto; then + sed -e 's/^Suite:/NotAutomatic: yes\nButAutomaticUpgrades: yes\nSuite:/g' $r + else + mv tmp_Release $r + fi rm -f ${r}.gpg - gpg --sign -u "Index Data" -ba -o ${r}.gpg dists/$dist/Release + gpg --sign -u "Index Data" -ba -o ${r}.gpg $r fi done # Local Variables: # mode:shell-script -# sh-indentation: 2 +# sh-indentation: 8 # sh-basic-offset: 8 # End: