mirror of
https://gitlab.archlinux.org/archlinux/devtools.git
synced 2025-09-14 02:16:18 +02:00
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
17e875f6b3 | ||
![]() |
a7c5010d24 | ||
![]() |
f72775feac | ||
![]() |
371f57b043 | ||
![]() |
2fe5dbf904 |
30
archrelease
30
archrelease
@@ -1,42 +1,34 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ "$1" = '' ]; then
|
abort() {
|
||||||
echo 'Usage: archrelease <repo>'
|
echo ${1:-'archrelease: Cancelled'}
|
||||||
exit 1
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$1" = '' ]; then
|
||||||
|
abort 'Usage: archrelease <repo>'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f PKGBUILD ]; then
|
if [ ! -f PKGBUILD ]; then
|
||||||
echo 'archrelease: PKGBUILD not found'
|
abort 'archrelease: PKGBUILD not found'
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$(basename $(readlink -f .))" != 'trunk' ]; then
|
if [ "$(basename $(readlink -f .))" != 'trunk' ]; then
|
||||||
echo 'archrelease: Not in a package trunk dir'
|
abort 'archrelease: Not in a package trunk dir'
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$(svn status -q)" ]; then
|
if [ ! -z "$(svn status -q)" ]; then
|
||||||
echo 'archrelease: You have not committed your changes yet!'
|
abort 'archrelease: You have not committed your changes yet!'
|
||||||
echo ' Please run "svn commit" first'
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -n 'releasing package...'
|
echo -n 'releasing package...'
|
||||||
pushd .. >/dev/null
|
pushd .. >/dev/null
|
||||||
|
|
||||||
trunk=$(svnversion -cn trunk | cut -f1 -d:)
|
|
||||||
repo=$(svnversion -cn "repos/${1}" 2>/dev/null | cut -f1 -d:)
|
|
||||||
if [[ ${trunk} -le ${repo} ]]; then
|
|
||||||
echo 'already done'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d "repos/${1}" ]; then
|
if [ -d "repos/${1}" ]; then
|
||||||
svn rm --force -q "repos/${1}"
|
svn rm --force -q "repos/${1}"
|
||||||
svn commit -q -m "archrelease: remove ${1}"
|
svn commit -q -m "archrelease: remove ${1}" || abort
|
||||||
fi
|
fi
|
||||||
svn copy -q -r HEAD trunk "repos/${1}"
|
svn copy -q -r HEAD trunk "repos/${1}"
|
||||||
svn commit -q -m "archrelease: copy trunk to ${1}"
|
svn commit -q -m "archrelease: copy trunk to ${1}" || abort
|
||||||
popd >/dev/null
|
popd >/dev/null
|
||||||
echo 'done'
|
echo 'done'
|
||||||
|
|
||||||
|
20
commitpkg
20
commitpkg
@@ -5,6 +5,17 @@ abort() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getpkgfile() {
|
||||||
|
if [[ ${#} -ne 1 ]]; then
|
||||||
|
echo 'ERROR: No canonical package found!' >&2
|
||||||
|
exit 1
|
||||||
|
elif [ ! -f "${1}" ]; then
|
||||||
|
echo "ERROR: Package ${1} not found!" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ${1}
|
||||||
|
}
|
||||||
|
|
||||||
# Source makepkg.conf; fail if it is not found
|
# Source makepkg.conf; fail if it is not found
|
||||||
if [ -r '/etc/makepkg.conf' ]; then
|
if [ -r '/etc/makepkg.conf' ]; then
|
||||||
@@ -74,11 +85,12 @@ echo 'done'
|
|||||||
|
|
||||||
for _arch in ${arch[@]}; do
|
for _arch in ${arch[@]}; do
|
||||||
for _pkgname in ${pkgname[@]}; do
|
for _pkgname in ${pkgname[@]}; do
|
||||||
pkgfile=$_pkgname-$pkgver-$pkgrel-${_arch}$PKGEXT
|
pkgfile=$(getpkgfile "$_pkgname-$pkgver-$pkgrel-${_arch}".pkg.tar.* 2>/dev/null)
|
||||||
|
pkgdestfile=$(getpkgfile "$PKGDEST/$_pkgname-$pkgver-$pkgrel-${_arch}".pkg.tar.* 2>/dev/null)
|
||||||
|
|
||||||
if [ ! -f $pkgfile -a -f "$PKGDEST/$pkgfile" ]; then
|
if [ ! -f "$pkgfile" -a -f "$pkgdestfile" ]; then
|
||||||
pkgfile="$PKGDEST/$pkgfile"
|
pkgfile="$pkgdestfile"
|
||||||
elif [ ! -f $pkgfile ]; then
|
elif [ ! -f "$pkgfile" ]; then
|
||||||
echo "skipping ${_arch}"
|
echo "skipping ${_arch}"
|
||||||
continue 2
|
continue 2
|
||||||
fi
|
fi
|
||||||
|
@@ -196,14 +196,14 @@ cd /build
|
|||||||
export HOME=/build
|
export HOME=/build
|
||||||
sudo -u nobody makepkg $MAKEPKG_ARGS || touch BUILD_FAILED
|
sudo -u nobody makepkg $MAKEPKG_ARGS || touch BUILD_FAILED
|
||||||
[ -f BUILD_FAILED ] && exit 1
|
[ -f BUILD_FAILED ] && exit 1
|
||||||
which namcap &>/dev/null && namcap /build/PKGBUILD /pkgdest/*${PKGEXT} > /pkgdest/namcap.log
|
which namcap &>/dev/null && namcap /build/PKGBUILD /pkgdest/*.pkg.tar.* > /pkgdest/namcap.log
|
||||||
exit 0
|
exit 0
|
||||||
EOF
|
EOF
|
||||||
) > "$copydir/chrootbuild"
|
) > "$copydir/chrootbuild"
|
||||||
chmod +x "$copydir/chrootbuild"
|
chmod +x "$copydir/chrootbuild"
|
||||||
|
|
||||||
if mkarchroot -r "/chrootbuild" "$copydir"; then
|
if mkarchroot -r "/chrootbuild" "$copydir"; then
|
||||||
for pkgfile in "${copydir}"/pkgdest/*${PKGEXT}; do
|
for pkgfile in "${copydir}"/pkgdest/*.pkg.tar.*; do
|
||||||
[ -e "$pkgfile" ] || continue
|
[ -e "$pkgfile" ] || continue
|
||||||
_pkgname=$(basename "$pkgfile")
|
_pkgname=$(basename "$pkgfile")
|
||||||
if [ "$add_to_db" -eq "1" ]; then
|
if [ "$add_to_db" -eq "1" ]; then
|
||||||
@@ -221,15 +221,6 @@ if mkarchroot -r "/chrootbuild" "$copydir"; then
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
for f in "${copydir}"/srcdest/*; do
|
|
||||||
[ -e "$f" ] || continue
|
|
||||||
if [ -d "$SRCDEST" ]; then
|
|
||||||
mv "$f" "${SRCDEST}"
|
|
||||||
else
|
|
||||||
mv "$f" "${WORKDIR}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
for l in "${copydir}"/build/*-{build,package}.log; do
|
for l in "${copydir}"/build/*-{build,package}.log; do
|
||||||
[ -f "$l" ] && mv "$l" "${WORKDIR}"
|
[ -f "$l" ] && mv "$l" "${WORKDIR}"
|
||||||
done
|
done
|
||||||
@@ -238,6 +229,15 @@ else
|
|||||||
touch "${copydir}/build/BUILD_FAILED"
|
touch "${copydir}/build/BUILD_FAILED"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for f in "${copydir}"/srcdest/*; do
|
||||||
|
[ -e "$f" ] || continue
|
||||||
|
if [ -d "$SRCDEST" ]; then
|
||||||
|
mv "$f" "${SRCDEST}"
|
||||||
|
else
|
||||||
|
mv "$f" "${WORKDIR}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
if [ -e "${copydir}/build/BUILD_FAILED" ]; then
|
if [ -e "${copydir}/build/BUILD_FAILED" ]; then
|
||||||
echo "Build failed, check $copydir/build"
|
echo "Build failed, check $copydir/build"
|
||||||
rm "${copydir}/build/BUILD_FAILED"
|
rm "${copydir}/build/BUILD_FAILED"
|
||||||
|
Reference in New Issue
Block a user