Hi, On 2020-04-21 16:44:57 +0300, Reco wrote: > On Tue, Apr 21, 2020 at 03:23:37PM +0200, Thomas Martin wrote: > > My goal is simple : I'm applying few modifications on some Debian > > packages and would like those packages to be rebuilt with my changes > > when a new package version is available. > > apt install apt-build > > Requires some scripting to run without a human intervention, it's > relatively simple.
Can it handle the rebuild for multiple architectures? And can one provide a log message associated with each patch? FYI, I currently use a script (one for each source package) based on common functions (attached). A typical script consists of: ------------------------------------------------------------ #!/usr/bin/env zsh set -e . $0:h/mkdebs-functions apt-get source -t unstable <package_name> cd <package_name>-* [patch code] dch -l +local "<log message>" md_build "$@" ------------------------------------------------------------ Note that mkdebs-functions does the cd to a temporary directory. If I wish to add another patch before the rebuild, I can insert: [patch code 2] dch -a "<log message 2>" If I wish to add another patch after a rebuild (so that I need to increase the local version): [patch code 2] dch -l +local "<log message 2>" -- Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
# mkdebs support # # Note: the shell must be zsh so that "trap" behaves as wanted # (POSIX does not provide enough specification). # # The md_build function optionally takes architectures in arguments. debdir=$HOME/software/deb tmpdir=$(mktemp -d /tmp/mkdebs-XXXXXXXX) cleanup_and_exit() { local exitstat=$? echo "Clean-up..." rm -rf -- $tmpdir exit $exitstat } trap cleanup_and_exit EXIT SIGHUP SIGINT SIGQUIT SIGTERM cd $tmpdir md_build() { local i # Use debuild in order to have a sanitized environment for the build. # There must be no spaces between the "-a" option and its value; see # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898706 for i in '' $@ do printf > /dev/tty "\e]2;Build of %s${i:+ for $i}\x07" \ "$(head -n 1 debian/changelog | sed 's/(\([^)]*\)).*/\1/')" debuild -i -us -uc -b ${=i:+-a$i} done cd .. mkdir -p "$debdir" mv -v *.deb "$debdir" } # local variables: # mode: sh # eval: (sh-set-shell "zsh") # end: # # $Id: mkdebs-functions 125239 2020-02-10 13:26:05Z vinc17/cventin $