> That's also the case if there's an official Debian package; you can build whatever package from whatever distribution
Yes, I can `apt source foo` and then spend annoying painstaking time dumping in the new version of the upstream source, fixing any weirdness with the build system, updating dependencies, etc. I've done this every now and then and I hate doing it. It doesn't help that Debian's packaging tools have worse UX than git, inscrutable errors, and nearly nonexistent detailed documentation.
In contrast, if upstream has its own debian directory checked into their source repo, I can usually expect it to work; all I'll need is a `sudo apt build dep . && dpkg-buildpackage -uc -us` and it should build without any futzing on my part. And if an even newer version later ends up in the official Debian repository, it'll get seamlessly updated with no further work on my part.
(Meanwhile I also appreciate being able to grab upstream Linux kernel source, copy in my local config, and run `make deb-pkg` in its root to get a perfectly-functioning, updated kernel that installs things to the right places and properly integrates with dkms and update-initramfs. Even just rebuilding Debian's shipped kernel is usually not that easy.)
> Note also that making "a" .deb package is not the same as making an official Debian package that satisfies the Debian Policy and passes the automated linters (lintian, piuparts, autopkgtest, etc). The second will have the minimum quality that Debian expects.
I frankly do not care about that one bit. All I want is something that I can trivially build, installs on and integrates (reasonably) well with my system, will get upgraded automatically if a newer version shows up in an official Debian repo, and I can easily remove with `apt purge foo`. A debian directory checked into the upstream ticks all those boxes. Trying to shoehorn newer upstream source into an existing Debian-maintained debian directory usually very much does not. If your experience differs, all the more power to you, but this has been my experience using Debian for many years now.
Yes, I can `apt source foo` and then spend annoying painstaking time dumping in the new version of the upstream source, fixing any weirdness with the build system, updating dependencies, etc. I've done this every now and then and I hate doing it. It doesn't help that Debian's packaging tools have worse UX than git, inscrutable errors, and nearly nonexistent detailed documentation.
In contrast, if upstream has its own debian directory checked into their source repo, I can usually expect it to work; all I'll need is a `sudo apt build dep . && dpkg-buildpackage -uc -us` and it should build without any futzing on my part. And if an even newer version later ends up in the official Debian repository, it'll get seamlessly updated with no further work on my part.
(Meanwhile I also appreciate being able to grab upstream Linux kernel source, copy in my local config, and run `make deb-pkg` in its root to get a perfectly-functioning, updated kernel that installs things to the right places and properly integrates with dkms and update-initramfs. Even just rebuilding Debian's shipped kernel is usually not that easy.)
> Note also that making "a" .deb package is not the same as making an official Debian package that satisfies the Debian Policy and passes the automated linters (lintian, piuparts, autopkgtest, etc). The second will have the minimum quality that Debian expects.
I frankly do not care about that one bit. All I want is something that I can trivially build, installs on and integrates (reasonably) well with my system, will get upgraded automatically if a newer version shows up in an official Debian repo, and I can easily remove with `apt purge foo`. A debian directory checked into the upstream ticks all those boxes. Trying to shoehorn newer upstream source into an existing Debian-maintained debian directory usually very much does not. If your experience differs, all the more power to you, but this has been my experience using Debian for many years now.