mirror of
https://git.proxmox.com/git/debcargo-conf
synced 2025-04-28 09:41:55 +00:00

sh is rather inconvenient. I am about to introduce a bashism in vars.sh.frag and various others.
51 lines
1.4 KiB
Bash
Executable File
51 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Symlink {build => src}/$pkg/debian/patches for easier editing.
|
|
#
|
|
# If you give a second argument $2, will create this patch, add Cargo.toml to
|
|
# it, open it for editing, refresh the patch, and call cargo build for you.
|
|
#
|
|
# If the build succeeds, exits with success, and you can re-rerun update.sh
|
|
# If the build fails, will "quilt add" everything so you can begin editing the
|
|
# files without forgetting to add them.
|
|
|
|
set -e
|
|
|
|
pkg="$1"
|
|
|
|
if ! test -d "src/$pkg/debian"; then
|
|
echo >&2 "not a directory: src/$pkg/debian"
|
|
exit 1
|
|
fi
|
|
|
|
test -d "src/$pkg/debian/patches" || mkdir "src/$pkg/debian/patches"
|
|
rm -rf "build/$pkg/debian/patches"
|
|
rm -rf "build/$pkg/.pc"
|
|
mkdir -p "build/$pkg/debian"
|
|
ln -sfT "$PWD/src/$pkg/debian/patches" "build/$pkg/debian/patches"
|
|
|
|
if [ -z "$2" ]; then exit 0; fi
|
|
|
|
cd "build/$pkg"
|
|
export QUILT_PATCHES=debian/patches
|
|
patchname="${2%.patch}.patch"
|
|
quilt new "$patchname"
|
|
quilt add Cargo.toml
|
|
sensible-editor Cargo.toml
|
|
quilt refresh
|
|
find src -type f -execdir quilt add '{}' +
|
|
|
|
while ! cargo build --all-features; do
|
|
|
|
cat <<-eof
|
|
Spawning a sub-shell. Please try to fix the build failure by editing files in
|
|
src/, which have been already quilt-added for you to $patchname. Afterwards,
|
|
don't forgot to run "quilt refresh". To exit this loop without having fixed the
|
|
problem, press Ctrl-D then quickly Ctrl-C.
|
|
eof
|
|
$SHELL
|
|
quilt refresh
|
|
|
|
done
|
|
|
|
echo "patching was a success!"
|