Debian's Git Transition

(diziet.dreamwidth.org)

96 points | by all-along 8 hours ago

9 comments

  • ckastner 2 hours ago
    There is some nuance to this. Adding comments to the stated goal "Everyone who interacts with Debian source code (1) should be able to do so (2) entirely in git:

    (1) should be able does not imply must, people are free to continue to use whatever tools they see fit

    (2) Most of Debian work is of course already git-based, via Salsa [1], Debian's self-hosted GitLab instance. This is more about what is stored in git, how it relates to a source package (= what .debs are built from). For example, currently most Debian git repositories base their work in "pristine-tar" branches built from upstream tarball releases, rather than using upstream branches directly.

    [1]: https://salsa.debian.org

  • MarsIronPI 36 minutes ago
    What I've always found off-putting about the Debian packaging system is that the source lives with the packaging. I find that I prefer Ports-like systems where the packaging specifies where to fetch the source from. I find that when the source is included with the packaging, it feels more unwieldy. It also makes updating the package clumsier, because the packager has to replace the embedded source, rather than just changing which source tarball is fetched in the build recipe.
  • Valodim 3 hours ago
    Oh, yes. This seems like nothing short of necessary for the long term viability of the project. I really hope this effort succeeds, thank you to everyone pushing this!
    • jonhohle 25 minutes ago
      You might think, but here we are at the end of 2025 and this is still a WIP.

      I don’t think it’s a bad move, but it also seems like they were getting by with patches and tarballs.

    • boldcode69 1 hour ago
      [dead]
  • jancsika 59 minutes ago
    > The canonical git format is “patches applied”.

    How many Debian packages have patches applied to upstream?

    • dima55 9 minutes ago
      Lots. Because many upstream projects don't have their build system set up to work within a distribution (to get dependencies form the system and to install to standard places). All distros must patch things to get them to work.
    • dspillett 31 minutes ago
      A fair few I expect, amongst actively developed apps/utils/libs. Away from sid (unstable) Debian packages are often a bit behind upstream but still supported, so security fixes are often back-ported if the upstream project isn't also maintaining older releases that happen to match the version(s) in testing/stable/oldstable.
  • rilindo 48 minutes ago
    I always thought that Debian is already on git, so this confused me. How is source control currently (or was) done with the Debian project?
    • Sesse__ 36 minutes ago
      The short answer is that it's not.

      The longer answer is that a lot of people already use Git for Debian version control, and the article expands on how this will be better-integrated in the future. But what goes into the archive (for building) is fundamentally just a source package with a version number. There's a changelog, but you're free to lie in it if you so wish.

  • trebligdivad 39 minutes ago
    This is great; I hate fighting distro source tools when I want to debug something.
  • mschuster91 3 hours ago
    Now if a consequence of that could be that one (as an author of a piece of not-yet-debianized software) can have the possibility to decently build Debian packages out of their own repository and, once the package is qualified to be included in Debian, trivially get the publish process working, that would be a godsend.

    At the moment, it is nothing but pain if one is not already accustomed and used to building Debian packages to even get a local build of a package working.

    • kpcyrd 2 hours ago
      The problem is that "once the package is qualified to be included in Debian" is _mostly_ about "has the package metadata been filled in correctly" and the fact that all your build dependencies also need to be in Debian already.

      If you want a "simple custom repository" you likely want to go in a different direction and explicitly do things that wouldn't be allowed in the official Debian repositories.

      For example, dynamic linking is easy when you only support a single Debian release, or when the Debian build/pkg infrastructure handles this for you, but if you run a custom repository you either need a package for each Debian release you care about and have an understanding of things like `~deb13u1` to make sure your upgrade paths work correctly, or use static binaries (which is what I do for my custom repository).

    • rjsw 2 hours ago
      They could take a look at how pkgsrc [1] works.

      [1] https://www.pkgsrc.org/

      • eduction 2 hours ago
        pkgsrc is great, I use this on smartos (as just an end user) and it’s extremely straightforward
  • hu3 2 hours ago
  • shmerl 1 hour ago
    I wish Debian would also transition to a modern bug tracker. Current one is very archaic.
    • kstrauser 42 minutes ago
      It surely won't win any beauty contests, but do you think it's missing any needed functionality?

      Sincere question. I haven't interacted with it much in ages.

    • thesnide 49 minutes ago
      to be fair, it fits my exact needs. and without common javacript bloat.

      so kudos to its authors

      • fanf2 41 minutes ago
        Ian Jackson (the author of this article) also wrote debbugs.