abuild: add amove func to move from $pkgdir to $subpkgdir
moving files and directories from $pkgdir to $subpkgdir is a common pattern, so make a helper function for this. usage: amove FILESPEC... FILESPEC is a list of files or patterns/globs that will be exanded by the shell. amove will clean up empty directories after moving the files/dirs. Example usage: amove 'usr/lib/lib*.a' amove 'etc/*.d' # moves both etc/conf.d and etc/init.d amove 'lib/*.so' 'usr/lib/*.so' cd "$pkgdir" find usr -name '*.h' | xargs amove This is based on the work of Chloe Kudryavtsev: https://github.com/alpinelinux/abuild/pull/92
This commit is contained in:
parent
610f1982ef
commit
aa86438443
23
abuild.in
23
abuild.in
@ -72,6 +72,29 @@ error() {
|
|||||||
logcmd "ERROR: $pkgname: $1"
|
logcmd "ERROR: $pkgname: $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
amove() {
|
||||||
|
[ -n "$subpkgdir" ] || return 1
|
||||||
|
|
||||||
|
# store directory
|
||||||
|
d="$(pwd -L)"
|
||||||
|
|
||||||
|
cd "$pkgdir"
|
||||||
|
local pattern f
|
||||||
|
for pattern; do
|
||||||
|
for f in ${pattern#/}; do # let shell expand the pattern
|
||||||
|
# only create dir if needed
|
||||||
|
if [ "${f%/*}" != "$f" ]; then
|
||||||
|
mkdir -p "$subpkgdir/${f%/*}"
|
||||||
|
fi
|
||||||
|
mv -v "$pkgdir"/$f "$subpkgdir/${f%/*}"
|
||||||
|
# cleanup
|
||||||
|
rmdir -p "$f" || rmdir -p "${f%/*}" || true
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
cd "$d"
|
||||||
|
}
|
||||||
|
|
||||||
cross_creating() {
|
cross_creating() {
|
||||||
test "$CHOST" != "$CTARGET" -a -n "$CBUILDROOT"
|
test "$CHOST" != "$CTARGET" -a -n "$CBUILDROOT"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user