#1106057 ITP: gwh -- git-buildpackage workflow helper

#1106057#5
Date:
2025-05-19 09:30:19 UTC
From:
To:
* Package name    : gwh
  Version         : 0.6.14
  Upstream Contact: Roland Mas
* URL             : https://salsa.debian.org/lolando/gwh
* License         : GPL-3+
  Programming Lang: bash
  Description     : git-buildpackage workflow helper

This is a wrapper script around git-buildpackage that helps automate
common operations in a Debian package maintainer's workflow. To be fair,
this should currently read "in *this* Debian package maintainer's
workflow". It condenses years of automating things I do all day long,
and as such it fits my own workflows, but I still think it could be
useful to others.

The main features are:
- bind-mount machinery to make previously built packages available in
the chroot, in order to build complex dependency chains even before
the packages are available on standard mirrors;
- a set of hooks that can perform common tasks after the build: run
lintian, or piuparts, or autopkgtest, or try a second build in a
row;
- other hooks that allow running a shell before the build, or after
the build if it succeeds, or if it fails;
- a build-sign-upload-push sequence.

I've been asked how opinionated this is. My initial answer was "not very",
but I acknowledge this is a subjective opinion. The main assumption is
pbuilder/cowbuilder (because of the hooks system), and debrelease for now
(but that part could probably be made modular).

Given the current discussions on -devel, I'd eventually like to sort of
integrate DEP-14 and/or team policies wrt. branch naming. So far I'm
still in the process of making sure that the scripts can actually be useful
on somebody else's system; a few weeks ago they were still living in
my ~/bin and ~/.config and so on, with some hardcoded paths and
assumptions everywhere.

I am of course open to contributions, and will gladly move the package
to the /debian namespace on salsa to facilitate things if there's interest
beyond myself.

#1106057#10
Date:
2025-05-19 10:44:55 UTC
From:
To:
Hello Roland,

do you know the package debian-package-scripts and the corresponding
reference "debian-package-book-en-US" (or in German:
"debian-package-book-de")

If you miss something there, please send a message and we can add it.

Kind regards

Mechtilde


Am 19.05.25 um 11:30 schrieb Roland Mas:

#1106057#15
Date:
2025-05-19 19:54:20 UTC
From:
To:
Hello,

Using just three letters for something highly Debian-specific doesn't
seem the best for our users.

Suggestions: gbp-gwh, gbp-wh, gbpwh.

#1106057#20
Date:
2025-05-20 10:07:03 UTC
From:
To:
I'm deeply concerned that the "surface area" of Debian packaging tools
is too large already for new folk, and adding something like gwh into
the archive makes that problem worse.

I would really like to see an effort to improve gbp itself directly at
least first. Have you tried to do that?

From the README, I see

IMHO, putting this in the archive is premature.

I think most feedback on ITPs (like this) just goes into the void. Can I
be explicit in asking you Roland, to withdraw this ITP, at least until
you have exhausted options for improving gbp itself?

#1106057#25
Date:
2025-05-20 11:27:40 UTC
From:
To:
Agreed.
#1106057#30
Date:
2025-05-20 12:10:44 UTC
From:
To:
I did not look into gwh, but if there are good reasons not to modify gbp
directly (such as the willingness to maintain a stable interface), maybe
a better alternative is to design & develop an alternative to gbp (and
then see how it gains traction or not).

Lucas

#1106057#35
Date:
2025-05-20 14:15:19 UTC
From:
To:
Le 20/05/2025 à 12:07, Jonathan Dowland a écrit :
Fair enough, although I'm hoping to make gwh good enough to encapsulate
part of that surface area in one tool.
I got in touch with Guido Guenther before sending this ITP, and he
seemed to agree that gwh can only be implemented as a wrapper around gbp
(mainly due to adherence to pbuilder hooks while gbp can be used with
other builders).
I wouldn't upload to the archive before that warning is gone :-)
(Besides, it's almost gone, I just need to pick up the nerves to commit
its removal). I'm also stabilizing the option names before pushing further.

I've read all the feedback on this ITP, and will take it into account,
including the renaming part. I'm uncomfortable with withdrawing it
altogether, but I propose to sit on it for a few weeks, at least long
enough to make the tool good enough to add real value to the archive.
Then I'll restart a discussion on -devel, and if the consensus then is
that gwh has no place in Debian I'll withdraw the ITP.

How does that sound?

Roland.

#1106057#40
Date:
2025-05-20 14:59:31 UTC
From:
To:
Do you mean gwh assumes pbuilder and doesn't support sbuild?
#1106057#45
Date:
2025-05-20 15:02:46 UTC
From:
To:
Right, it's even in the ITP.

Well, then I guess (and hope) that it won't be used by a large percent of
people, hopefully by the majority (I understand this is controversial but
meh).

#1106057#50
Date:
2025-05-20 23:45:53 UTC
From:
To:
As someone who is one of the most vocal supporters of standardizing how we
package things, I would like to say that I always worry when someone says,
“Don’t package this new thing.  The things we have are already good enough.”
I worry that attitude hinders progress, mostly because it is hard to tell
which things will end up being really useful over time.

There are a number of teams that have already packaged scripts and wrappers
that are useful for particular packaging workflows.  An example is pkg-kde-
tools, which includes pkgkde-symbolshelper.  This ends up being crazy useful
when dealing with symbols files, so much that I (and other people) use it for
any package, not just KDE ones.

https://qt-kde-team.pages.debian.net/symbolfiles.html

I would be very sad if this hadn’t been packaged because someone said there
shouldn’t be any more wrappers.