On Friday, 29 March 2024 09:52:14 CET Carsten Schoenert wrote: > > Starting with Debian packaging isn't a easy thing and there is *not* the > one way to do it right. And there are for sure hundreds of HowTos out > there. You will need to try a few of them and chose in the end the > workflow that fit's best for you.
The problem with this advice is that for the Debian Python Team, there probably aren't many ways to "do it right". Instead, as I understand it, there will be very few ways that people tolerate, as recent discussion on this list has indicated. > git-buildpackage is one of the high level tools that can and should > packaging tasks easier, to use it effective you will need to know what > it is doing under the hood, means you need to be familiar with the low > level tools that getting called by gbp. I packaged stuff for Debian about ten years ago or so and recently repackaged one tool, whose package is now parked in a state where it could conceivably be incorporated into Debian but is evidently not of interest to anyone here (or I need to promote it more, perhaps). I have also been packaging Moin 2.0 which is coincidentally relevant to these documentation discussion threads. After following the advice on the Debian Wiki about suitable approaches for packaging Python libraries and applications, I ended up reading all about gbp and trying out the different suggestions in its documentation. Although quite helpful, this documentation does not give concrete advice about what would-be packagers should do, so it really does fall on context-specific advice to fill in those gaps. In the end, I did my usual thing and distilled the documentation's prose down to a concise workflow to remind me of what I might need to do if I were to start packaging something else. In fact, I wrote the following for the Moin 2.0 packages and then made use of it for the other package: git branch -c master upstream git checkout -b debian/master <introduce debian directory here> git add debian git commit <introduce upstream tag here, if you want to avoid hassle with Salsa> git push origin <upstream tag> gbp buildpackage --git-debian-branch=debian/master \ --git-upstream-tag='upstream/%(version)s' --git-builder=sbuild This saves me from having to re-read the gbp documentation or find the appropriate mention on the Debian Wiki of whatever the accepted approach might be. I also wrote summaries to maintaining patches since it seemed that gbp could be quite obstructive if not operated in precisely the right fashion, not entirely obvious from its documentation. Obviously, this leaves a lot of stuff out, but it is a reminder and not a complete guide. Indeed, the issue of what the Debian directory might contain is almost an orthogonal topic to the mechanics of gbp. And then there are the social or collaborative aspects of the exercise as well, like setting up a Salsa account and project, filing an ITP, and so on. Yes, such matters are covered in the more general documentation, at least if it was updated and no longer refers to Alioth or whatever. But in this context the advice will be quite specific and not vague suggestions that present more choices to be made rather than eliminating them. In any case, I commend this effort to improve the documentation. In some ways, it really is quite a brave endeavour. I would have made edits to various pages myself, but I don't want to tread on any toes, and I don't really have much time to spend on this matter alongside numerous other commitments at the moment. Paul P.S. The argument made about needing to understand what happens "under the hood" is something of an indictment of the way technology is developed these days. A tool that is meant to simplify something should present its own coherent level of abstraction; deferring to lower-level mechanisms is something that the Git developers and community like to do, which is why the usability of Git is the subject of occasional jokes and somewhat more infrequent attempts to wrap it in more usable interfaces.