PackageArchive

Differences between revisions 13 and 54 (spanning 41 versions)
Revision 13 as of 2009-01-29 11:05:01
Size: 10263
Editor: i59F72926
Comment:
Revision 54 as of 2025-10-24 11:11:54
Size: 2301
Editor: sally-makin
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
== The Package Archive == = The Package Archive =
Line 8: Line 8:
All current official Ubuntu packages are stored in the master archive, which is widely [[Mirrors|mirrored]]. A search interface is available at [[http://packages.ubuntu.com]]. Old versions can be retrieved from [[http://launchpad.net/ubuntu|Launchpad]].

It is administered by the [[http://launchpad.net/~ubuntu-archive|archive administration team]].
This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/how-ubuntu-is-made/concepts/package-archive/|The Package Archive]]
Line 13: Line 11:
=== Uploading === == Uploading ==
Line 15: Line 13:
If you are not yet an official Ubuntu developer, you can arrange for your package to be uploaded via the SponsorshipProcess. This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/contributors/uploading/|Uploading]]
Line 17: Line 15:
Packages are uploaded via FTP to ftp://upload.ubuntu.com/ using `dput` or `dupload`.

Notes for preparing your upload:

 * Make source-only uploads, i.e. use "``dpkg-buildpackage -S``"
 * When uploading to [[MOTU/Packages/REVU]], please include the orig tarball as well (use parameters `-S -sa`)

When your upload is processed (typically within a matter of minutes), you will receive an email with the result of your upload, whether it succeeds or fails, '''unless''' you use an unregistered email address. The system will only send mail to an address which belongs to a launchpad account which is a member of the relevant team for uploading. E.g. [[http://launchpad.net/people/ubuntu-dev|ubuntu-dev]] for universe and [[http://launchpad.net/people/ubuntu-core-dev|ubuntu-core-dev]] for main.

Your upload must be signed by GPG key registered in launchpad. If the signature cannot be traced to a member of the appropriate team, then the upload will be '''silently rejected'''.

To add a new package to Ubuntu, simply upload it as usual. Any new packages uploaded are put in a [[https://launchpad.net/ubuntu/intrepid/+queue|queue]] to be checked by the administrators before being included.

<<Anchor(Publishing)>>
=== Autobuilding and Publishing ===

Once an upload has been accepted, it takes some time to be [[#Autobuilders|built]] and published in the archive. For simple packages, this is usually on the order of an hour, but varies depending on release activity (uploads may be temporarily suspended), the time needed to build the package (including other packages in the build queue), and other factors.
Line 36: Line 17:
=== Notification of changes === == Notification of changes ==
Line 38: Line 19:
Notifications of uploads are sent to a mailing list. A different list is used for each Ubuntu release: This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/how-ubuntu-is-made/concepts/debian-directory/#the-changelog-file|Changelogs]]
Line 40: Line 21:
 * [[http://lists.ubuntu.com/mailman/listinfo/dapper-changes/|dapper]] ([[http://feeds.ubuntu-nl.org/DapperChanges|RSS]])
 * [[http://lists.ubuntu.com/mailman/listinfo/feisty-changes/|feisty]] ([[http://feeds.ubuntu-nl.org/FeistyChanges|RSS]])
 * [[http://lists.ubuntu.com/mailman/listinfo/gutsy-changes/|gutsy]] ([[http://feeds.ubuntu-nl.org/GutsyChanges|RSS]])
 * [[http://lists.ubuntu.com/mailman/listinfo/hardy-changes/|hardy]] ([[http://feeds.ubuntu-nl.org/HardyChanges|RSS]])
 * [[http://lists.ubuntu.com/mailman/listinfo/Intrepid-changes|intrepid]] ([[http://feeds.ubuntu-nl.org/IntrepidChanges|RSS]])

Changelogs for all packages are available at http://changelogs.ubuntu.com/changelogs/ (this is the source used by update-manager and Synaptic).
Line 49: Line 23:
=== Syncing and Merging === == Syncing and Merging ==
Line 51: Line 25:
(See the [[../ReleaseProcess#MergeProcess rationale]].) This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/how-ubuntu-is-made/processes/merges-and-syncs/|Merges and Syncs]]
Line 53: Line 27:
Most packages in Ubuntu originate elsewhere, including Debian and related package repositories.
Line 55: Line 28:
A '''sync''' copies a source package verbatim from an external repository into Ubuntu, overwriting any package of the same name. This is used when a newer version of it is available, and should be included in Ubuntu, and happens automatically during some phases of the release cycle. To request a sync, follow the SyncRequestProcess. <<Anchor(Freezes)>>
== Freezes ==
Line 57: Line 31:
A '''merge''' is a three-way merge of a package which originated in an external repository. This is used when there is a newer version available from the external repository, but the package has also been modified (branched) in Ubuntu. [[http://merges.ubuntu.com/|Merge-o-Matic]] assists with this work, and [[../Merging|the Merging page]] explains how and when to merge. Packages which are [[UbuntuDevelopment/#Bazaar|maintained in Bazaar]] can and should be merged using Bazaar itself. This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/release-team/freezes/|Freezes]]
Line 59: Line 33:
The "Last Uploader" column in the Merge-o-Matic output is the default assignee for the merge, following the touched-it-last maintenance principle. However, you can and often should grab other people's merges if they don't have time or you feel you can do a better job. It's polite and often a good idea (though not mandatory) to contact the other person first to make sure you aren't duplicating work.

Backports work similarly to syncs, but have somewhat different requirements. To request a backport, follow the UbuntuBackports process.

<<Anchor(Consistency)>>
=== Consistency ===

The archive is periodically checked for various inconsistencies, such as incorrect dependency relationships between packages.

 * http://people.ubuntu.com/~ubuntu-archive/testing/ - packages which are uninstallable due to unsatisfiable dependencies
 * http://conflictchecker.ubuntu.com/possible-conflicts/ - paths included in multiple packages without declaring `Replaces` or `Conflicts` or doing a diversion. Contact RobertCollins or MichaelVogt with suggestions for improvements or questions. (Email or at #ubuntu-devel or #ubuntu-motu).
 * [[UbuntuDevelopment/NBS]] - binary packages that are no longer built by any source package. These packages are not automatically removed from the archive, since generally they still have reverse dependencies (packages depending on them).

A special case is the installer:

 * The `Kernel-Version:` field in the `installer` file in all the [[https://code.launchpad.net/ubuntu-seeds|seeds]] needs to be current.
 * It needs to be built against the current kernel. This can be checked on the [[http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/udeb.list|jaunty installer's udeb list]] (please also verify the other architectures).
Line 78: Line 35:
=== Managing Components === == Managing Components ==
Line 80: Line 37:
Ubuntu packages are classified into components according to [[http://www.ubuntu.com/ubuntu/components|maintenance and licensing criteria]], a process which is described in SeedManagement. This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/staging/release-team/seed-management/|Seed Management]]
Line 82: Line 39:
Packages sometimes move from one component to another, according to policy or licensing changes, as managed by the archive administrators. Special consideration is necessary when packages move into `main` or `restricted`, as this implies a commitment of ongoing maintenance. Such changes must follow the MainInclusionProcess.

<<Anchor(Autobuilders)>>
=== Autobuilders ===

Ubuntu source packages are automatically built for a variety of platforms by Launchpad, which provides [[https://launchpad.net/ubuntu/+builds|build status information]]. Build log files are available from Launchpad as well, by [[https://launchpad.net/ubuntu/|searching for the package]] and selecting a version.

Some supplementary information about the build infrastructure is available on BuildDaemons.
Line 92: Line 41:
=== Removing Packages === == Removing Packages ==
Line 94: Line 43:
Packages which are removed from Debian are semi-automatically removed from Ubuntu universe on a regular basis by the administrators. However, packages are not removed from Ubuntu main without explicit request, nor are packages which originated elsewhere. To request removal of such a package, file a bug against the package.

The bug must have the following elements:
 * which release to remove it from (ie, `hardy`)
 * mention to remove both source and all binaries
 * a rationale for why to remove them
 * make sure that it has no rdepends

If you are not an [[UbuntuDevelopers|Ubuntu developer]] use the following [[SponsorshipProcess|process]]. If you are then subscribe the "ubuntu-archive" team to the bugs. If you need help deciding whether a package ought to be removed, please discuss on the `ubuntu-devel` mailing list rather than asking the archive administrators.

Refer to `https://launchpad.net/ubuntu/+source/<source package>` for the reason of the removal of a specific package.
This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/contributors/advanced/aa-request-package-removal/|Request a package removal]]
Line 107: Line 46:
=== Architectures === == Architectures ==
Line 109: Line 48:
Packages are typically built for each of several architectures. For example, the `hello` package is built on `i386`, `amd64`, `sparc`, etc. These are divided into two categories according to their level of official support by the project. This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/how-ubuntu-is-made/concepts/supported-architectures/|Supported architectures]]
Line 111: Line 50:
==== Official Architectures ==== <<Anchor(InstallationMedia)>>
== Installation Media ==
Line 113: Line 53:
These are officially supported and maintained by the Ubuntu project. Canonical Ltd. provides server resources to build, store and distribute packages and installation media for them, and the core development team is responsible for their upkeep. Build failures on these architectures are considered serious bugs. Each official Ubuntu release and update includes appropriate support for these architectures. There may or may not be a team which is specifically responsible for architecture-specific issues. The kernel team builds and tests the Ubuntu kernel on these architectures.

 * `i386`
 * `amd64`
 * `sparc`

==== Ports ====

These are maintained on a best-effort basis by interested volunteers in the Ubuntu community. Each architecture has a corresponding community team formed of the developers who support it. Canonical Ltd. provides server resources to build, store and distribute packages and installation media for ports, however, the porting teams are responsible for their operation and maintenance, including the kernel, toolchain and build infrastructure. Build failures are not considered a serious issue by the core team. Ports may issue new releases or updates out of sync with official Ubuntu releases.

 * `ia64` ([[IA64PortStatus]], https://launchpad.net/~ubuntu-ia64)
 * `hppa` ([[HPPAPortStatus]], https://launchpad.net/~ubuntu-hppa)
 * `powerpc` (https://launchpad.net/~ubuntu-powerpc)

The ports system was announced here: https://lists.ubuntu.com/archives/ubuntu-announce/2005-October/000040.html
This section is now covered in the Ubuntu Project documentation: [[https://documentation.ubuntu.com/project/release-team/ubuntu-releases/#editions|Ubuntu releases: Editions]]

The Package Archive

This section is now covered in the Ubuntu Project documentation: The Package Archive

Uploading

This section is now covered in the Ubuntu Project documentation: Uploading

Notification of changes

This section is now covered in the Ubuntu Project documentation: Changelogs

Syncing and Merging

This section is now covered in the Ubuntu Project documentation: Merges and Syncs

Freezes

This section is now covered in the Ubuntu Project documentation: Freezes

Managing Components

This section is now covered in the Ubuntu Project documentation: Seed Management

Removing Packages

This section is now covered in the Ubuntu Project documentation: Request a package removal

Architectures

This section is now covered in the Ubuntu Project documentation: Supported architectures

Installation Media

This section is now covered in the Ubuntu Project documentation: Ubuntu releases: Editions


Go back to UbuntuDevelopment.
CategoryUbuntuDevelopment
CategoryProcess

UbuntuDevelopment/PackageArchive (last edited 2025-10-24 11:11:54 by sally-makin)