63 lines
1.3 KiB
Text
63 lines
1.3 KiB
Text
|
#!/bin/sh
|
||
|
#
|
||
|
# Copyright (C) 2012 Karel Zak <kzak@redhat.com>
|
||
|
#
|
||
|
# This script pushs files from <directory>/v<version> to kernel.org. The
|
||
|
# default directory is kernel.org and <version> is the current package version.
|
||
|
#
|
||
|
# The <directory>/v<version> files should be generated by ko-release-gen script.
|
||
|
#
|
||
|
|
||
|
cd "$(git rev-parse --show-toplevel)" || {
|
||
|
echo "error: failed to chdir to git root"
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
[ -f ".version" ] || \
|
||
|
echo "error: cannot found version file (call make distcheck)"
|
||
|
|
||
|
VERSION=$(cat .version)
|
||
|
VERSION_MAJOR=$(echo $VERSION | sed 's/-rc[0-9]//')
|
||
|
BASEDIR=${1:-"kernel.org"}
|
||
|
DISTDIR="${BASEDIR}/v${VERSION_MAJOR}"
|
||
|
|
||
|
KO_DIR="/pub/linux/utils/util-linux/v${VERSION_MAJOR}"
|
||
|
|
||
|
function die {
|
||
|
echo $1
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
function push_file {
|
||
|
local sig="$1"
|
||
|
|
||
|
case "$sig" in
|
||
|
*.tar.sign)
|
||
|
fl=$(echo "$sig" | sed 's/\.tar\.sign/.tar.xz/')
|
||
|
;;
|
||
|
*)
|
||
|
fl=$(echo "$sig" | sed 's/\.sign//')
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
echo -n " PUSH $sig ..."
|
||
|
kup put $fl $sig ${KO_DIR}/${fl##${DISTDIR}/}
|
||
|
echo " OK "
|
||
|
}
|
||
|
|
||
|
[ -d "$DISTDIR" ] || die "$DISTDIR: Not such directory"
|
||
|
|
||
|
FILES=$(find $DISTDIR -name "*.sign" | sort)
|
||
|
DIRS=$(for f in $FILES; do echo $(dirname ${KO_DIR}/${f##${DISTDIR}/}); done | sort -u)
|
||
|
|
||
|
for d in $DIRS; do
|
||
|
echo -n " MKDIR $d ..."
|
||
|
kup mkdir $d
|
||
|
echo " OK "
|
||
|
done
|
||
|
|
||
|
for f in $FILES; do
|
||
|
push_file $f
|
||
|
done
|
||
|
|