Last time, I produced yet another Bible-long story of anything and everything, where I ended up stranded in MX for lacking the nerve to start over with Debian XFCE proper. This time, just a few wanderings in XFCE-colored Debian and Ubuntu derivatives.

Jump to Crazy distro spinsmacOS-like distrosWhat’s the deal with Pacstall?Debian is reinventing the wheel (twice!)

Small notes on XFCE

My legendary memory isn’t what it used to be. I remember that XFCE traditionally had the annoyance of having a forced background color on desktop icon labels. That is, it couldn’t draw text with a transparent background on the desktop. I simply don’t know when this changed! One used to have to use a CSS trick to work around this, but when did this change?

As I reuse my /home partition, tons of dot-files and dot-folders survive more than they should, and I already find myself with themes, fonts, and customizations right after a new installation. So I didn’t notice when the said hack wasn’t necessary anymore.

But I should have! Because Fedora 35 XFCE, using XFCE 4.16, already had a transparent background for desktop icon labels. In this comment I gave links to screenshots of installed FC35 XFCE (one, two), but also one from a live session which had some customizations, but none “inherited” and none targeting labels’ background. So it was just fine by default, but I either failed to notice the progress made by XFCE, or I noticed, but I forgot about it meanwhile.

Either way, there was one more change on XFCE’s way from 4.18 to 4.20. From left to right, XFCE 4.16, 4.18, 4.20. And the difference isn’t the improved contrast, which stems both from the theme and from the fact that, in MX, I’m using Amazon Ember Display Regular 13 (from here; more recommended fonts).

The so-called “Default Icons” have moved to a separate tab, but now there’s a new “Label background color” that needs to remain unchecked to have a transparent background!

The official announcement, Xfce 4.20 released, has two relevant mentions:

It is now possible to set custom colors for icon labels and icon background.

And (with screenshot):

The ‘Desktop Icons’ tab was fully reworked.

But I still don’t know since when transparency became an option. I asked three chatbots, to no avail.

Previously, a strange note on xfce-announce and in the changelog for xfdesktop:

4.19.5 (2024-10-16)

– I give up. Icon label backgrounds are transparent again.

But when did they stop being so?!

Not strictly about XFCE, but Linux Mint 22.3 has entered public beta. I can’t be persuaded to like Cinnamon on anything designed by Clem after he left MATE, but let’s just compare the menus in Mint 22.3’s flavors. From left to right, Cinnamon, XFCE, and MATE:

Mint is still more usable with XFCE than with MATE. WTF is with MATE’s fucked-up menu?! As for the new Cinnamon Menu, with 3 different icon sizes… Well, Clem, dans toute sa splendeur.

Crazy distro spins

Exploring SourceForge, I found some spins by the same guy:

The guy announced at least one of them on MX’s forums: MX-25 Respin Xfce released:

This time, there are 2 versions:
One is a normal version, but stripped down many components.
The other is a free version without non-free firmware for software freedom lovers.
The size of these ISO images are rather small, compared with Official MX release.

Indeed, SourceForge counts 1.3 GB for the “free” edition and 1.7 GB for the “non-free,” but mx-25-respin-xfce-nonfree-amd64-20251122_1900.iso has 1.57 GB.

Then, he played with Debian, in a more chaotic way and with poorer results:

From Archive.org, I retrieved live-image-trixie-xfce-20251001-amd64.hybrid.iso (922 MB). Teeny tiny! Note that the original identifier contained “20250810” (it’s still in the description) but the ISO was updated on Oct., hence it changed to “20251001.”

Quick overview of the MX 25 XFCE “non-free” respin

I won’t give any full-screen screenshots because it looks exactly like MX 25 XFCE, only slimmer. Debloated, if you wish. Some people might like MX’s tools, but not the MX team’s choice of preinstalled apps!

Take a look at a few menu categories (and yes, Ristretto!):

Even the theming has been reduced to a bare minimum:

Is LibreOffice always a must? Is this respin too drastically reduced? Is it buggier than the original? I didn’t try to install it, but the Wi-Fi worked, and it could at least be useful as a live ISO, just in case.

Quick overview of the Debian 13 XFCE respin

This spin, in contrast, is a failure. Its size of 922 MB vs. 1.57 GB is telling, even if you take into account MX’s utilities. As the main SF page for the project says, “Free components only.” That means no firmware for my Wi-Fi, even if I replaced it with Intel AX210. For fuck’s sake, if “free” means “it doesn’t need to work,” then what’s the fucking purpose of an OS?

As expected (iwlwifi complained in dmesg about the lack of a firmware), both Wi-Fi and BT were disabled (it’s a combo chip). Formally, Wi-Fi accepted to be enabled, but it didn’t work, so zero access points:

This must be for purists who build custom PCs, ideologically tweaked to need no binary-only firmware.

However, if you didn’t notice already, everything looks shitty. Let me show you more of that:

Apparently, it has no styles and no icons, but only Xfwm4 themes?! WTF?

Abysmally stupid respin. Why anyone would want to use such a thing beats me. OK, I know that Debian’s official live ISOs are terribly bloated (3.6 GB for XFCE), but at least they work!

macOS-like distros

pearOS (DistroWatch, website) is an Arch-based distro from Romania that aims to emulate the look and feel of you-know-what.

I couldn’t care less about such copycat attempts. I could never use macOS.

I cannot use a global menu. If the app is not maximized, the menu is too far away, and it’s terribly impractical. And, if I maximize the app, I don’t need this feature.

I cannot use a dock whose icons can’t have text. I need the windows’ titles. Even if only an app’s name could be displayed, I know how to read! With lots of apps installed, those icons might not trigger the recognition fast enough. I can read, so I want to be able to have that information! Since Win95, most desktop environments have added this possibility, even if today’s retards are trying to take it away.

I cannot use Filer. Oh, it’s so retro-smart with its Miller columns or cascading columns. Typically, 3–4 columns are visible at a time. It might be useful, but nobody needs this thing! The price to pay is too high: the only text view that lacks the details is that Miller view (Column View). So, just like in the (detailed) List View, I can only have one column with the files from the current folder. One column with the current folder. And not with icons. Again, I want to read file names, full stop.

Let me give you an example. My folder “EN_ePub_FICTION_A-M” contains more than 3,400 files. I can’t possibly manage them if I can only see 30 at a time! But if I can see 90 of them at a time, I can.

All the GUI file managers in the known universe, with the notable exceptions of Apple’s Finder and of GNOME’s Files (the castrated, dumbified Nautilus), have a view mode called Compact View or Compact List View that can display several columns from the same folder! But no, Apple needed that retarded Miller view! True, GNOME’s Files is even more retarded, as it only has two views: Icons and (detailed) List.

Oh, well, I suppose this means I could never live in the United States. Too many Macs. When you think that the IBM PC was an American invention…

Anyway, Liam Proven has reviewed pearOS in The Reg: pearOS is a Linux that falls rather close to the Apple tree. It’s an instructive review.

Not every functionality that’s exposed has been implemented. The typical illustration for “close but no cigar.”

Because GNOME is not customizable enough, KDE was used, as it can be made to have a global menu. (Unity also has a global menu, but the distro’s developer didn’t consider it.) However, because Dolphin is too smart, too complicated with its too many views that include a Compact List, the file manager used is Files from GNOME! The worst of all!

I am Romanian myself, but the guy who made this distro is completely retarded.

Enter DESERT

Go big or go home! (BrEn: In for a penny, in for a pound!) Let’s go full monty! 😉

DESERT OS Linux (DistroWatch, website, SourceForge) is an Ubuntu LTS-based distro that uses XFCE 4.20 in a way that tries (what else?) to mimic macOS.

  • Version 4.5 is based on Ubuntu 24.04 LTS “noble” (but uses XFCE 4.20, not 4.18).
  • Version 5.0 is based on the upcoming Ubuntu 26.04 LTS “resolute”!

The official page includes some frightening screenshots:

And yet, something made me curious. How much of macOS’ look and feel could it emulate? It uses XFCE and Thunar, so no “foul play” here, alright.

It’s worth noting that this distro is from Ukraine, but the website is in Russian, and the distro only supports Russian and English. Not good.

I am aware that there are still so many Russian-speaking Ukrainians. But still, WTF. Or maybe this guy is from one of the Donetsk, Kherson, Luhansk, and Zaporizhzhia oblasts? Oh, my, an adept of Putler’s?

Another note, this time about the ISOs: version 4.5 has separate ISOs for RU and EN (2.6 GB each), whereas version 5.0 has a unique ISO (3.2 GB). Both versions have an EN/RU indicator that toggles, but it only changes the keyboard, apparently. I suppose the distro can be installed in RU, though.

DESERT 5.0

Wow, a distro based on an Ubuntu version that’s not even in alpha! This made me curious.

It starts with an invitation to a quick and basic customization that comprises 4 steps.

I opted for the dark theme.

The “About box”:

Its repos are “modernized,” so they can’t be managed from within Synaptic:

ℹ️ Here’s what “modernized” (the new *.sources vs. the legacy sources.list) means, in Debian’s wiki.

Let’s compare its (not bloated) XFCE System Settings with MX’s (and note that MX Tools opens another panel):

Otherwise, as expected, Mousepad has a global menu, Thunar has a global menu, there is a GNOME-like and tablet-like etc. array of big icons, and everything is nice if you’re into this kind of thing (the font is Inter):

And Thunar is a normal file manager, dammit. But I couldn’t use the left-side window controls! I was never an Apple guy!

The preinstalled apps include Chromium, Deluge, DESERT AI (wow!), DESERT FlatHub Store (which cannot be maximized!), DESERT Cleaner, DESERT Notes, DESERT Pacstall (I’ll discuss it later, but it cannot be maximized either!), Synaptic, DESERT Video Wallpapers (why?), GIMP, Inkscape, Ristretto, LibreOffice, Atril Document Viewer, Pragha Music Player, Redshift, Simple Screen Recorder, VLC Media Player.

The apps labeled “DESERT something,” not all of them specific to DESERT:

DESERT AI is a nice wrapper around several chatbots in their web app versions: Gemini, ChatGPT, Copilot, Grok, Perplexity, Claude and… Phind?! There isn’t much information about Phind (nothing to do with these fraudsters!), but they themselves seem unhappy with their models Phind Fast and Phind Large, so they can also use GPT-5.2, Claude Sonnet 4.5, Claude Opus 4.5, Gemini 3 Pro. Not for free, I bet.

DESERT Cleaner, DESERT Notes, DESERT Pacstall, DESERT FlatHub Store:

I have never used Pragha before. It expects your music to be in ~/Music:

Can one take a screenshot of a screensaver when the OS runs on bare metal, not in a VM? Not easily, so this is a pic.

Trying to be objective, I’d say that such a distro would appeal to those who love the macOS metaphor and glitz because, in some ways, this looks better than the original macOS crappy UI. In some other ways, it’s anything but. I couldn’t tell whether it looks classy or kitsch, because to me macOS looks like shit, but DESSERT looks much better than shit.

But there are two limitations: Ubuntu LTS only, and DESERT 5.0 tracks 26.04, which currently is unstable/rawhide/cooker/etc. That means no 3rd-party repos for an unreleased distro; no PPAs either.

Pacstall might help here, but we’ll see about it later.

DESERT 4.5

Tracking Ubuntu 24.04 LTS, DESERT 4.5 will have rather old packages, but it’s a safer bet for now. Unfortunately, it lacks the AI app, which cannot be installed (not even via Pacstall).

Everything is almost identical.

The sources are not “modernized”:

So they can be managed by Synaptic (that blue is hurting my eyes!):

A showcase similar to the one from DESERT 5:

A glitch in the last screenshot: “2025г” (short for “2025 год”) means “the year 2025” in Russian.

While XFCE is 4.20 in both versions, there are slight differences in the XFCE System Settings, at least in the live session: left is 4.5, right is 5.0:

Blueman is installed and can be found in the apps (Bluetooth Adapters and Bluetooth Manager), but not here.

The preinstalled apps include Chromium, Deluge, DESERT FlatHub Store (which cannot be maximized and mixes EN and RU), DESERT Cleaner, DESERT Notes, DESERT Pacstall (it cannot be maximized), Synaptic, DESERT Video Wallpapers (why?), GIMP, Inkscape, Image Viewer (Ristretto), Libre Office, Document Viewer (Atril), Pragha Music Player, Redhshift, VLC Player.

Chromium crashes in the live session with a “Permission denied.” The same bug occurs in Linux Lite 7 in the live session. It should work in the installed system. (Chromium works in DESERT 5.0 in the live session.)

The apps labeled “DESERT something”:

Everything else is 100% like in DESERT 5.0, except for DESERT FlatHub Store, which has some parts in Russian even in the English ISO. And, look, it’s so ridiculous that it cannot be maximized!

In brief, a possible option for the next ~4 months for those who prefer waiting for Ubuntu 26.04 LTS to be released. And even then, whoever needs extra 3rd-party software might need to wait at least 1-2 months before repos or PPAs for 26.04 show up.

What’s the deal with Pacstall?

Why, Pacstall is the AUR Ubuntu never had 🙂

Seriously, see Pacstall.dev and the project’s GitHub to learn how to use pacstall.

…except that’s a 2-in-1 solution:

  • It’s like AUR for Ubuntu, but it also works for Debian! “Pacstall takes in files known as pacscripts (similar to PKGBUILDs) that contain the necessary contents to build packages, and builds them into executables on your system.”
  • It’s also like Chaotic-AUR, meaning that a subset of packages are already built and offered in a repo for Ubuntu and Debian stable: Chaotic PPR!

To the point now.

❶ You only want a normal repo and normal packages

You go to ppr.packstall.dev and run what they tell you to run:

bash -c "$(curl -fsSL https://pacstall.dev/q/ppr)"

Well, not on the laptop used for your work with the CIA, the MOSSAD, or the FSB.

You’ll end up with a repo. Here’s what I got in the “modernized” /etc/apt/sources.list.d/ppr.list:

deb [signed-by=/usr/share/keyrings/ppr-keyring.gpg arch=amd64] https://ppr.pacstall.dev/pacstall/ pacstall main debian-stable

There are 69 packages that should be visible in Synaptic (all versions considered, there are 78 packages in the repo):

[ludditus@grumpy Desktop]$ apt list  | grep "pacstall"

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

ananicy-cpp/pacstall 1.1.0-pacstall1 amd64
neovim/pacstall 0.11.5-pacstall1 amd64
nushell-bin/pacstall 0.106.0-pacstall1 amd64
otf-aurulent-nerd/pacstall 3.4.0-pacstall1 all
otf-codenewroman-nerd/pacstall 3.4.0-pacstall1 all
otf-comicshanns-nerd/pacstall 3.4.0-pacstall1 all
otf-commit-mono-nerd/pacstall 3.4.0-pacstall1 all
otf-droid-nerd/pacstall 3.4.0-pacstall1 all
otf-firamono-nerd/pacstall 3.4.0-pacstall1 all
otf-geist-mono-nerd/pacstall 3.4.0-pacstall1 all
otf-hasklig-nerd/pacstall 3.4.0-pacstall1 all
otf-hermit-nerd/pacstall 3.4.0-pacstall1 all
otf-monaspace-nerd/pacstall 3.4.0-pacstall1 all
otf-opendyslexic-nerd/pacstall 3.4.0-pacstall1 all
otf-overpass-nerd/pacstall 3.4.0-pacstall1 all
pacstall/pacstall,now 6.3.8-pacstall1 all [installed]
ttf-0xproto-nerd/pacstall 3.4.0-pacstall1 all
ttf-3270-nerd/pacstall 3.4.0-pacstall1 all
ttf-agave-nerd/pacstall 3.4.0-pacstall1 all
ttf-anonymouspro-nerd/pacstall 3.4.0-pacstall1 all
ttf-arimo-nerd/pacstall 3.4.0-pacstall1 all
ttf-bigblueterminal-nerd/pacstall 3.4.0-pacstall1 all
ttf-bitstream-vera-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-cascadia-code-nerd/pacstall 3.4.0-pacstall1 all
ttf-cascadia-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-cousine-nerd/pacstall 3.4.0-pacstall1 all
ttf-d2coding-nerd/pacstall 3.4.0-pacstall1 all
ttf-daddytime-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-dejavu-nerd/pacstall 3.4.0-pacstall1 all
ttf-envycoder-nerd/pacstall 3.4.0-pacstall1 all
ttf-fantasque-nerd/pacstall 3.4.0-pacstall1 all
ttf-firacode-nerd/pacstall 3.4.0-pacstall1 all
ttf-go-nerd/pacstall 3.4.0-pacstall1 all
ttf-gohu-nerd/pacstall 3.4.0-pacstall1 all
ttf-hack-nerd/pacstall 3.4.0-pacstall1 all
ttf-heavydata-nerd/pacstall 3.4.0-pacstall1 all
ttf-iawriter-nerd/pacstall 3.4.0-pacstall1 all
ttf-ibmplex-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-inconsolata-go-nerd/pacstall 3.4.0-pacstall1 all
ttf-inconsolata-lgc-nerd/pacstall 3.4.0-pacstall1 all
ttf-inconsolata-nerd/pacstall 3.4.0-pacstall1 all
ttf-intone-nerd/pacstall 3.4.0-pacstall1 all
ttf-iosevka-nerd/pacstall 3.4.0-pacstall1 all
ttf-iosevkaterm-nerd/pacstall 3.4.0-pacstall1 all
ttf-iosevkatermslab-nerd/pacstall 3.4.0-pacstall1 all
ttf-jetbrains-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-lekton-nerd/pacstall 3.4.0-pacstall1 all
ttf-liberation-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-lilex-nerd/pacstall 3.4.0-pacstall1 all
ttf-martian-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-meslo-nerd/pacstall 3.4.0-pacstall1 all
ttf-monofur-nerd/pacstall 3.4.0-pacstall1 all
ttf-monoid-nerd/pacstall 3.4.0-pacstall1 all
ttf-mononoki-nerd/pacstall 3.4.0-pacstall1 all
ttf-mplus-nerd/pacstall 3.4.0-pacstall1 all
ttf-noto-nerd/pacstall 3.4.0-pacstall1 all
ttf-profont-nerd/pacstall 3.4.0-pacstall1 all
ttf-proggyclean-nerd/pacstall 3.4.0-pacstall1 all
ttf-recursive-nerd/pacstall 3.4.0-pacstall1 all
ttf-roboto-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-sharetech-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-sourcecodepro-nerd/pacstall 3.4.0-pacstall1 all
ttf-space-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-terminus-nerd/pacstall 3.4.0-pacstall1 all
ttf-tinos-nerd/pacstall 3.4.0-pacstall1 all
ttf-ubuntu-mono-nerd/pacstall 3.4.0-pacstall1 all
ttf-ubuntu-nerd/pacstall 3.4.0-pacstall1 all
ttf-victor-mono-nerd/pacstall,now 3.4.0-pacstall1 all [installed]
ttf-zed-mono-nerd/pacstall 3.4.0-pacstall1 all

For instance, you could try some fonts; here’s VictorMono Nerd Font Mono Regular 13:

💡 There is a bit of cheating here: this repo is “universal” in that most, if not all, packages work in several versions of Ubuntu and Debian. The fonts certainly are distro-agnostic! But there isn’t much in the repo. You can inspect:

  • The list of distros (ubuntu-develop and ubuntu-rolling are supported, which I suspect is the same thing, hence DESERT 5.0, which is Ubuntu 26.04).
  • The packages themselves.

❷ You want a true “AUR” experience

To really use Pacstall as an AUR, you need to install the package pacstall from that repo. Then, you’ll have access to build scripts for 887 packages!

DESERT Pacstall also listed 887 “packages” for Ubuntu.

I searched for typora and sublime, and I found typora-deb and sublime-text-deb.

Take one:

[ludditus@grumpy Desktop]$ pacstall -I typora-deb
(typora-deb) Do you want to view/edit the pacscript? [y/N] 
[+] INFO: Sourcing pacscript
[+] INFO: Checking apt dependencies
      [>] libgtk-3-0 ↑↓ [remote]
      [>] libnss3  [installed]
[+] INFO: Optional dependencies
      [*] WARNING: noto-fonts-emoji does not exist in apt repositories
            [0] Select none
            [1] pandoc: Import/export for extra file formats
      Select optional dependencies to install [1 or Y] 1
[+] INFO: Selecting packages pandoc
[+] INFO: Retrieving packages
[+] INFO: Downloading typora_1.9.3_amd64.deb
typora_1.9.3_amd64.deb 100%[=====================================================================================================================>]  90.60M  32.0MB/s    in 2.8s    
      [>] Checking hash deb47f0a[...]
      [>] Repacking typora.deb
      [>] Packing control.tar
      [>] Packing data.tar
      [>] Compressing
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'typora' instead of '/usr/src/pacstall/typora-deb_1.9.3-1-pacstall1_amd64.deb'
Suggested packages:
  pandoc
The following NEW packages will be installed:
  typora
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/144 MB of archives.
After this operation, 346 MB of additional disk space will be used.
Get:1 /usr/src/pacstall/typora-deb_1.9.3-1-pacstall1_amd64.deb typora amd64 1.9.3-1 [144 MB]
Selecting previously unselected package typora.
(Reading database ... 359877 files and directories currently installed.)
Preparing to unpack .../typora-deb_1.9.3-1-pacstall1_amd64.deb ...
Unpacking typora (1.9.3-1) ...
Setting up typora (1.9.3-1) ...
Processing triggers for desktop-file-utils (0.28-1) ...
Processing triggers for hicolor-icon-theme (0.18-2) ...
Processing triggers for gnome-menus (3.36.0-3) ...
Processing triggers for mailcap (3.74) ...
[+] INFO: Performing post install operations
      [>] Storing pacscript
[+] INFO: Done installing typora-deb
[+] INFO: Cleaning up
[ludditus@grumpy Desktop]$

There is a reason they don’t go beyond version 1.9.3: it’s the last version that works without activation.

Take 2:

[ludditus@grumpy Desktop]$ pacstall -I sublime-text-deb
[sudo] password for ludditus:     
(sublime-text-deb) Do you want to view/edit the pacscript? [y/N] 
[+] INFO: Sourcing pacscript
[+] INFO: Checking apt dependencies
[+] INFO: Retrieving packages
[+] INFO: Downloading sublime-text_build-4200_amd64.deb
sublime-text_build-4200_amd64.deb 100%[=====================================================================================================================>]  15.21M  7.67MB/s    in 2.0s    
      [>] Checking hash 79a687ff[...]
Note, selecting 'sublime-text' instead of './sublime-text_build-4200_amd64.deb'
Installing:
  sublime-text

Summary:
  Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 0
  Download size: 0 B / 15.9 MB
  Space needed: 54.3 MB / 204 GB available

Get:1 /tmp/pacstall/sublime-text-deb~4200/sublime-text_build-4200_amd64.deb sublime-text amd64 4200 [15.9 MB]
Selecting previously unselected package sublime-text.
(Reading database ... 360281 files and directories currently installed.)
Preparing to unpack .../sublime-text_build-4200_amd64.deb ...
Unpacking sublime-text (4200) ...
Setting up sublime-text (4200) ...
Processing triggers for mailcap (3.74) ...
Processing triggers for desktop-file-utils (0.28-1) ...
Processing triggers for hicolor-icon-theme (0.18-2) ...
Processing triggers for gnome-menus (3.36.0-3) ...
[+] INFO: Performing post install operations
      [>] Storing pacscript
[+] INFO: Done installing sublime-text-deb
[+] INFO: Cleaning up
[ludditus@grumpy Desktop]$ 

The result:

💡 This was a bit of cheating, too, because what they do is to retrieve upstream binaries as .deb. In the case of Typora and Sublime Dev, which are proprietary, there are no public sources. But it was an easy way to test this thing, plus I wanted these apps.

Debian is reinventing the wheel (twice!)

But there is more: the Debian guys want their PPAs, and they’ll have them!

But… why were PPAs even needed? Why not just extra repos? There are 3rd-party repos for Ubuntu and Debian created for major apps, but not only. People use the openSUSE Build Service (OSBS) to build packages and create repos for several distros: openSUSE, Fedora, Debian, Ubuntu. A repo is a repo. Sure thing, a PPA can be added easier, but c’mon, are people that lazy?

Now, Debusine has been created as a PPA alternative for Debian, but it’s a full-cycle solution, i.e. not just a repo, but “a modern cloud-powered Continuous Integration (CI) platform to run many packaging and distribution-related workflows for the Debian ecosystem.” Sort of like OSBB. However, “Debusine’s goal is to be an integrated solution to build, distribute and maintain a Debian-based distribution.”

Debian developers can already upload to Debusine and build: Debusine repositories now in beta (also here).

Further info: Debusine: a CI platform for Debian-based distributions; DebusineDebianNet; Colin Watson: Preparing a transition in Debusine.

Some people seem to like reinventing the wheel. Christian Kastner: Simple-PPA, a minimalistic PPA implementation.

Simple-PPA is a second PPA implementation for Debian. Christian Kastner: “Simple-PPA was never meant to compete with Debusine, though. In fact, it’s entirely the opposite: from discussions at DebConf, I knew that it was only a matter of time until Debusine gained a PPA-like feature, but I needed a stop-gap solution earlier, and with some polish, what was once by Python script already doing APT processing for apt.ai.debian.net, recently became Simple-PPA.”

OK, so people needed an automated process to build those packages, not just a repo hosted somewhere. But the openSUSE Build Service (OSBS) already offered such a service to everyone! Norbert Preining used to offer newer KDE builds for Debian stable, built and hosted by OSBS as normal repos!

Claude to the rescue:

You’ve touched on a fascinating tension in Linux packaging history! Let me address why PPAs became a thing despite alternatives existing:

Why PPAs Emerged (Despite Repos Existing)

The convenience factor was real, not just laziness:

  • Lower barrier to entry: PPAs on Launchpad required minimal infrastructure knowledge. You didn’t need to understand repository structure, signing keys, or hosting
  • Integrated with Ubuntu’s ecosystem: One add-apt-repository command vs. manually adding repo files and keys
  • Built-in trust model: Launchpad’s identity system provided some accountability
  • Free hosting and building: Canonical provided the entire infrastructure

OBS existed but had friction:

  • Yes, Norbert Preining and others used OBS successfully, but it required:
    • Understanding OBS’s workflow (different from native Debian/Ubuntu processes)
    • Account on openSUSE infrastructure
    • Learning a different toolchain
  • PPAs kept Ubuntu developers in their native ecosystem

Why Debusine Now?

Your point about “reinventing the wheel” has merit, but there are reasons:

Debian-specific needs:

  • Integration with Debian infrastructure: Salsa (GitLab), package tracking, archive workflows
  • Debian policy compliance: Built-in checks for Debian packaging standards
  • Governance: Debian controls the entire stack rather than depending on openSUSE

OBS limitations for Debian’s use case:

  • OBS is excellent for multi-distro building, but Debian wanted something optimized for their ecosystem
  • Different design philosophy: OBS is a general build service; Debusine aims to handle the full Debian distribution lifecycle

The Simple-PPA Situation

Christian Kastner’s approach is pragmatic: he needed a stopgap while Debusine matured. Simple-PPA serves a niche use case (like apt.ai.debian.net) without the overhead of full CI infrastructure.

The Real Answer

You’re right that technically, “a repo is a repo.” But the tooling around creating, building, signing, and maintaining those repos matters immensely for adoption. PPAs succeeded because they removed friction at a time when OBS felt “foreign” to Ubuntu developers. Debusine exists because Debian wants that same low-friction experience, but under their own control and optimized for Debian workflows.

It’s less about reinventing wheels and more about building the right tool for your community’s specific workflow and governance model. Though yes, sometimes open source does reinvent wheels unnecessarily! 😊

OK, but to say, “Debian developers can start uploading there” when Debian developers are supposed to be using Debian’s infrastructure and building for Debian’s own experimental, unstable, testing, and stable repos sounds strange to me!

Claude:

You’re absolutely right to find that phrasing strange! Let me clarify what’s actually happening here:

The Key Distinction

Debusine serves TWO different purposes:

  1. Official Debian archive infrastructure – Building packages for experimental/unstable/testing/stable (this is what Debian developers have always done, just now with modern CI infrastructure replacing older build daemons)
  2. PPA-like functionality – The “repositories” feature that just entered beta, which allows developers to create personal/unofficial repositories outside the main Debian archive

What the Announcement Actually Means

When they say “Debian developers can start uploading there,” they’re specifically talking about the PPA-like feature – creating personal repos for:

  • Backports of newer software to stable
  • Experimental packages not ready for unstable
  • Personal projects
  • Testing packages before official upload

This is analogous to how Ubuntu developers use both:

  • Official Ubuntu archives (main/universe/etc.)
  • Personal PPAs for unofficial/experimental work

Why This Matters

Previously, Debian developers who wanted to provide unofficial builds had to:

  • Use their own infrastructure (like mentors.debian.net for limited cases)
  • Use third-party services like OBS
  • Use Ubuntu’s Launchpad PPAs (awkward!)
  • Host repos manually on personal servers

Now they have an official Debian-hosted option for unofficial repositories, while keeping the main archive separate.

So you’re correct: the phrasing could be clearer. It’s not about replacing official Debian uploads, but about adding a new capability for unofficial/supplementary repositories within Debian’s infrastructure. The beta announcement is specifically about this PPA-like feature, not the main build infrastructure.

OMFG. I give up. I’m too much of a Luddite. Still, a repo is a repo is a repo!