1
0

treewide: move zsh functions to sh scripts
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
2025-09-09 20:53:55 +03:00
parent 37599593bc
commit 9871b29288
54 changed files with 2753 additions and 191 deletions

View File

@@ -1,14 +0,0 @@
#!/bin/zsh
gpg-warmup() {
(( ${+commands[gpg]} )) || return 127
local t r
t=$(mktemp)
command gpg -abs "$t"
r=$?
rm -f "$t" "$t.asc"
return "$r"
}

View File

@@ -1,84 +0,0 @@
#!/bin/zsh
z-quilt() { command quilt "$@" ; }
quilt-series-strip-comments() {
sed -E '/^[[:space:]]*(#|$)/d' "$@"
}
quilt-series-auto() {
[ -n "${1:?}" ]
[ -d "$1" ] || return 1
find "$1/" -follow -type f -printf '%P\0' \
| sed -zEn '/\.(diff|patch)$/p' \
| sort -zuV \
| xargs -0r printf '%s\n'
}
krd-quilt() {
(( $+commands[quilt] )) || return 127
[ -n "${1:?}" ]
local patchdir series tmp_series
if [ -d "$1" ] ; then
patchdir="$1/debian/patches"
if [ -d "${patchdir}" ] ; then
[ -f "${patchdir}/series" ] || return 1
else
patchdir="$1"
fi
series="${patchdir}/series"
if ! [ -f "${series}" ] ; then
mkdir -p "$1/.pc" || return 1
series="$1/.pc/krd-quilt-series"
touch "${series}" || return 1
quilt-series-auto "${patchdir}" > "${series}"
fi
elif [ -f "$1" ] ; then
[ -s "$1" ] || return 1
series="$1"
patchdir=${series:h}
else
return 1
fi
local r
(
z-quilt-default-env
set -a
QUILT_SERIES="${series}"
QUILT_PATCHES="${patchdir}"
set +a
r=0
while read -rs i ; do
[ -n "$i" ] || continue
z-quilt --fuzz=0 push "$i"
r=$? ; [ $r -eq 0 ] || exit $r
z-quilt refresh "$i"
r=$? ; [ $r -eq 0 ] || exit $r
sed -E -i \
-e 's#^(-{3} )[^/][^/]*/(.*)$#\1a/\2#;' \
-e 's#^(\+{3} )[^/][^/]*/(.*)$#\1b/\2#' \
"$i"
rm -f "$i"'~'
done <<< $(
if ! z-quilt unapplied ; then
quilt-series-strip-comments "${series}" \
| sed -E "s${ZSHU_XSED}^${ZSHU_XSED}${patchdir}/${ZSHU_XSED}"
fi
)
exit $r
)
r=$?
return $r
}

View File

@@ -1,84 +0,0 @@
#!/bin/zsh
krd-debsrc() {
(( $+commands[deb-src-export] )) || return 127
[ -n "${1:?}" ]
local dstdir
case "$1" in
*/* ) dstdir="$1/src" ;;
* ) dstdir="/tmp/$1/src" ;;
esac
rm -rf "${dstdir}"
deb-src-export "${dstdir}"
}
krd-sbuild() {
(( $+commands[sbuild] )) || return 127
(( $+commands[xz] )) || return 127
[ -n "${1:?}" ]
[ -n "${2:?}" ]
local topdir
case "$1" in
*/* ) topdir="$1" ;;
* ) topdir="/tmp/$1" ;;
esac
[ -d "${topdir}" ] || return 1
local srcdir="${topdir}/src"
[ -d "${srcdir}" ] || return 2
arch="$2"
## done with args
shift 2
local -a sbuild_env sbuild_args
local i
for i ; do
## naive splitting args and env
case "$i" in
-*) sbuild_args+=( $i ) ;;
*=* ) sbuild_env+=( $i ) ;;
*) sbuild_args+=( $i ) ;;
esac
done
(
for i ( ${sbuild_env} ) ; do
export "$i"
done
z-set-tmpdir /tmp
builddir="${topdir}/${arch}"
mkdir -p "${topdir}/all" "${builddir}" "${builddir}-all" "${builddir}-debug"
cd "${builddir}"
for i ( "${srcdir}"/*.dsc(N.r) ) ; do
idle sbuild --arch-all --arch-any --arch=${arch} ${sbuild_args[@]} "$i"
find -name '*.build' -type l -exec rm -f {} +
find -name '*.build' -type f -exec xz -9vv {} +
done
find \
-name '*_all.deb' -type f \
-exec mv -fvt "../${arch}-all" {} +
find \
-name '*_all.ddeb' -type f \
-exec mv -fvt "../${arch}-all" {} +
find \
-regextype egrep -regex '.+dbg(sym)?_[^_]+_'"${arch}"'\.d?deb$' -type f \
-exec mv -fvt "../${arch}-debug" {} +
find \
-name '*.ddeb' -type f \
-exec mv -fvt "../${arch}-debug" {} +
cd "${builddir}-all"
find -type f -exec mv -nvt '../all' {} +
)
}