43 lines
1.1 KiB
Bash
43 lines
1.1 KiB
Bash
#!/bin/bash
|
|
UPLOAD_DIR=/home/di-ci/upload
|
|
|
|
set -e
|
|
|
|
cd /home/di-apt/pub
|
|
|
|
# $1 target (apt component), e.g development
|
|
# $2 name, e.g di-smp
|
|
# $3 file, e.g di-smp.deb
|
|
# $4 distro, e.g stretch (or di for jessie)
|
|
add_deb_to_repo() {
|
|
reprepro -C $1 remove $4 "$2"
|
|
reprepro deleteunreferenced
|
|
reprepro -C $1 includedeb $4 "$3"
|
|
}
|
|
|
|
# $1 directory, e.g /home/di-ci/upload/jessie
|
|
# $2 reponame, e.g di, stretch
|
|
add_packages_from_dir() {
|
|
for target in development testing acceptation production; do
|
|
for i in `find $1/${target} -name *.deb 2>/dev/null`; do
|
|
if [ -e "$i" ]; then
|
|
pkg=`basename $i`
|
|
echo "[`date`][$target] $pkg"
|
|
|
|
sudo /bin/chmod g+w `dirname $i`
|
|
sudo /bin/chmod g+w $i
|
|
dpkg-sig -k 907592FF --sign builder $i
|
|
NAME=`dpkg --info $i | grep 'Package' | awk '{print $NF}'`
|
|
add_deb_to_repo "${target}" "$NAME" "$i" $2
|
|
rm -f $i
|
|
fi
|
|
done
|
|
done
|
|
}
|
|
|
|
add_packages_from_dir ${UPLOAD_DIR}/jessie di
|
|
add_packages_from_dir ${UPLOAD_DIR}/stretch stretch
|
|
# NOTE: this must be last as it eats all packages from the root upload dir
|
|
# compatibility with old ci uploads
|
|
add_packages_from_dir ${UPLOAD_DIR} di
|