On Sun, Oct 22, 2017 at 12:28 PM, Guido Günther <a...@sigxcpu.org> wrote: > Hi, > On Sun, Oct 22, 2017 at 11:15:20AM +0200, Michael Stapelberg wrote: >> Thanks for filing this. >> >> On Sun, Oct 22, 2017 at 9:21 AM, Guido Günther <a...@sigxcpu.org> wrote: >> > Package: pk4 >> > Version: 2 >> > Severity: wishlist >> > >> > Hi, >> > it would be nice if pk4 would allow to use "gbp import-dsc" to unpack >> > the donwloaded sources in downloadDSCAndUnpack so users: >> > >> > - get a git archive right away >> > - can reuise their gbp configuration such as the configured builder, >> > - pristine-tar, ... right away >> >> I think we could introduce a hook which would replace the default >> behavior of dpkg-source -x, taking as arguments the path to the DSC >> and the destination directory. > > Sounds good. > >> >> I wonder whether the gbp hook should live in the git-buildpackage >> Debian package, though? That way, you could maintain it directly. If > > Sure. It would be nice if setup for users would the be as simple as > > ln -s /usr/share/doc/git-buildpackage/examples/pk4 ~/pk4/pk4.deb822.d/gbp
Almost: mkdir -p ~/.config/pk4/hooks-enabled/unpack/ ln -s /usr/share/pk4/hooks-available/unpack/gbp \ ~/.config/pk4/hooks-enabled/unpack/ Regarding the symlink target, could we ship /usr/share/pk4/hooks-available/unpack/gbp in git-buildpackage? That way, all hooks would be in the same directory. This is similar to how shell tab completion files are shipped. > >> you think that’s not a good idea, could you suggest how the hook >> should be implemented? I’m envisioning something like this (untested): >> >> #!/bin/sh >> set -e >> mkdir -p "$2" >> cd "$2" >> git init >> gbp import-dsc "$1" > > #!/bin/sh > set -e > gbp import-dsc "$1" "$2" > > is enough (gbp will do the rest). That way we could also support > incremental imports (that is if the directory is already there we simply > import the new version on top of it so the use can diff between the old > an new version. Note that the pk4 output directories contain the version number, so I think incremental imports wouldn’t work well. > >> Side note: I think we should be fairly clear about the difference >> between a gbp-from-dsc repo and a gbp-from-gbp-clone repo, to not >> confuse our users. > > Yeah. I was thinking of putting a .git/gbp.conf into the repo that sets > > [DEFAULT] > upstream-branch = upstream > debian-branch = pk4 > > This would > > - make sure we override settings any branch settings in debian/gbp.conf > which we don't care about (since we're not cloning from Vcs-Git: > - Having the default branch named pk4 would make it obvious that this > is s.th. special. > > What do you think? In this case it would rather be more like your script > above: Sounds good to me. > > #!/bin/sh > set -e > > if [ ! -d $2 ]; then nit: use "$2" here as well > > git init "$2" > > cat <<EOF > "$2"/.git/gbp.conf I suggest to add as a comment what you wrote above for the benefit of readers of the hook :). > [DEFAULT] > upstream-branch = upstream > debian-branch = pk4 > EOF > fi > > cd "$2" > gbp import-dsc "$1" > > > Does this sound reasonable? I would then also provide a script that can > be used with pk4-replace. I don’t quite follow. What sort of script is required for that? > > Cheers, > -- Guido > >> >> > >> > Cheers, >> > -- Guido >> > >> > -- System Information: >> > Debian Release: buster/sid >> > APT prefers testing >> > APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, >> > 'testing-debug'), (500, 'stable-updates'), (500, 'oldoldstable'), (500, >> > 'unstable'), (500, 'stable'), (1, 'experimental') >> > Architecture: amd64 (x86_64) >> > Foreign Architectures: i386 >> > >> > Kernel: Linux 4.13.0-1-amd64 (SMP w/4 CPU cores) >> > Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), >> > LANGUAGE=en_US:en (charmap=UTF-8) >> > Shell: /bin/sh linked to /bin/dash >> > Init: systemd (via /run/systemd/system) >> >> >> >> -- >> Best regards, >> Michael >> -- Best regards, Michael