Options:
[--debian=distros]
[--ubuntu=distros]
+ [--suffix=dist-suffix]
+ [--noauto]
[--clear]
EOF
exit $1
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]*=//'` ;;
--ubuntu=*)
UBUNTU_DIST=$optarg
;;
+ --suffix=*)
+ suffix="$optarg"
+ ;;
+ --noauto)
+ noauto=true
+ ;;
-*)
do_help=true
;;
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
fi
# All distributions we know of
-ALLD="ubuntu/lucid ubuntu/natty ubuntu/oneiric ubuntu/precise ubuntu/quantal 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 debian/jessie debian/wheezy debian/squeeze debian/lenny"
if test -z "$DISTRIBUTIONS"; then
DISTRIBUTIONS=$ALLD
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
exit 1
fi
cd $ftpdir
- test -d tmp || mkdir tmp
+ mkdir -p tmp
# Uncomment to clean the .db (cache)
- if $clean; then
+ if $clear; then
rm tmp/*
fi
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
fi
fi
done
- # ${confdir}/symclean.sh $d
rm -f $d/Release
if $has_packages; then
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' <tmp_Release >$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: