Score:3

How does ubuntu manage packages?

lu flag

A noob here. I really want to learn or at least have some ideas on how software is packaged in Ubuntu.

Is it compiled and packaged by the package author?

Or is it compiled by Ubuntu developers?

How do Ubuntu choose packages that could be installed directly via apt package manager.

I would very much appreciate ELI5 explanations

Thank you

guiverc avatar
cn flag
https://packaging.ubuntu.com/html/ But I'd pick a package and follow it's creation in Ubuntu, through to upstream. I'll use `gcc-10` (https://packages.ubuntu.com/focal/gcc-10) as it was the last package I looked up. To the right of the details on the package you'll see homepage (upstream clues), maintainers, changelog & more. Compilations are done by infrastructure/builders (*machines not people*)... Compilations are done locally; then uploaded often to PPAs for testing by ourselves, others in teams before committing to source for upload to Ubuntu etc.
guiverc avatar
cn flag
https://packaging.ubuntu.com/ubuntu-packaging-guide.pdf or https://packaging.ubuntu.com/html/ , but many guides exist, eg. Lubuntu's can be found at https://phab.lubuntu.me/w/packaging/
OK-Validation avatar
lu flag
@guiverc: Thank you. That seems to be helpful. I have a question though; about some packages such as paraview `sudo apt-cache show paraview:` it shows `Maintainer: Ubuntu Developers <[email protected]> Original-Maintainer: Debian Science Team <[email protected]> Bugs: https://bugs.launchpad.net/ubuntu/+filebug ` what is the difference between maintainer and original maintainer?
guiverc avatar
cn flag
A link may have been useful (https://packages.ubuntu.com/impish/paraview) shows me Ubuntu Developers maintain the package as you said; at the top I see it's a `universe` package (ie. community support only) with the upstream developers Debian Science Team (https://packages.debian.org/bookworm/paraview) so for example I'd next look up https://tracker.debian.org/pkg/paraview for more clues IF the Ubuntu changelog wasn't enough (https://changelogs.ubuntu.com/changelogs/pool/universe/p/paraview/paraview_5.9.0-2ubuntu1/changelog; look at changes; names/emails etc). Debian is upstream, ie. source.
guiverc avatar
cn flag
A large percentage of Ubuntu packages come from upstream (Debian is upstream). I'm involved with Lubuntu (*thus my providing that link as I knew it earlier*); our LXQt we provide has been newer in Ubuntu than Debian has for last few releases, as Debian were in *freezes* & it was easier to package only for Ubuntu/Lubuntu. Debian isn't in *freeze* anymore so the Lubuntu packagers were discussing only recently packaging the next version upstream in Debian, so it'll flow back to us (and Debian benefit from the packaging too... thus many *devs* have \@debian and \@ubuntu emails.. you'll discover!)
OK-Validation avatar
lu flag
@guiverc: Many thanks for the detailed input. I find it very useful, probably you can add that as an answer.
Score:5
cn flag

I'd suggest picking a package and follow it's creation in Ubuntu, through to upstream. I'll use gcc-10 (https://packages.ubuntu.com/focal/gcc-10) as it was the last package I looked up. To the right of the details on the package you'll see homepage (upstream clues), maintainers, changelog & more. Compilations are done by infrastructure/builders (machines not people)...

Compilations are done locally; then uploaded often to PPAs for testing by ourselves, others in teams before committing to source for upload to Ubuntu etc.

Useful reference (but there are many more!)

but many guides exist, eg. Lubuntu's can be found at https://phab.lubuntu.me/w/packaging/

In comment you asked about paraview

A link may have been useful (https://packages.ubuntu.com/impish/paraview) shows me Ubuntu Developers maintain the package as you said; at the top I see it's a universe package (ie. community support only) with the upstream developers Debian Science Team (https://packages.debian.org/bookworm/paraview) so for example I maynext look up https://tracker.debian.org/pkg/paraview for more clues IF the Ubuntu changelog wasn't enough (https://changelogs.ubuntu.com/changelogs/pool/universe/p/paraview/paraview_5.9.0-2ubuntu1/changelog; look at changes; names/emails etc).

Debian is upstream, ie. the source.

A large percentage of Ubuntu packages come from upstream. I'm involved with Lubuntu (thus my providing that link as I knew it earlier); our LXQt we provide has been newer in Ubuntu than Debian has for last few releases, as Debian were often in freezes & it was easier to package only for Ubuntu/Lubuntu. Debian isn't in freeze anymore so the Lubuntu devs/packagers were discussing only recently packaging the next version upstream in Debian, so it'll flow back to us (thus Debian benefit from the packaging too... Many devs (but not all) have @debian and @ubuntu emails.. you'll discover, so don't be surprised if the one name appears using both!)

guiverc avatar
cn flag
this is just a *somewhat* fast copy of my comments... hopefully without errors & all links correctly made into links again..
Score:2
cn flag

Ubuntu currently has two software packaging systems, the traditional APT system, and a novel system SNAP. The former continues to be used for core system components and many application software. The latter is used for application software.

The software in the APT repositories is compiled from source and packaged into .deb package files by the Ubuntu developpers and the Ubuntu community. There is a quality control process packages undergo before they make it into the official Ubuntu software sources. For applications that are not core packages, it depends to an extend on the contributors whether and how fast they make it to the official software sources.

The Ubuntu packaging guide introduces people wishing to be involved in the packaging in how it technically works.

Software published in Snap is compiled and published by the software developer. That, together with Snap being distribution independent, makes it much easier and quicker to push newer versions of software to the users.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.