Misplaced Pages

Package format: Difference between revisions

Article snapshot taken from[REDACTED] with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editContent deleted Content addedVisualWikitext
Revision as of 19:24, 27 February 2024 editTonymetz (talk | contribs)Extended confirmed users970 edits ipados,ios← Previous edit Latest revision as of 23:11, 20 October 2024 edit undoWidefox (talk | contribs)Autopatrolled, Extended confirmed users, Page movers, IP block exemptions, New page reviewers, Pending changes reviewers, Rollbackers107,107 edits References: destub 
(17 intermediate revisions by 13 users not shown)
Line 2: Line 2:
{{Use mdy dates|date=March 2023}} {{Use mdy dates|date=March 2023}}
{{Use American English|date=March 2023}} {{Use American English|date=March 2023}}
A '''package format''' ({{Aka|AKA=Package}} Package) is a type of ] containing computer programs and additional metadata needed by ]s.<ref>Justin Angelo Cappos, {{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}, ProQuest, 2008, p. 128 ;</ref> While the ] itself may be unchanged, package formats bear additional metadata, such as a ] or certain directory layouts. Packages may contain either source code or ]. '''Package format''' is a type of ] containing computer programs and additional metadata needed by ]s;<ref>Justin Angelo Cappos, {{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}, ProQuest, 2008, p. 128;</ref> an instance of this type of archive is called a '''package'''. While the ] itself may be unchanged, package formats carry additional metadata, such as a ] or certain directory layouts. Packages may contain either source code or ].


Packages may be converted from one type to another with software such as ]. Packages may be converted from one type to another with software such as ].


== Software Development Lifecycle == == Software supply chain and security ==
Packages are an important component in managing the security and integrity of the software supply chain. Packages containing executables and configuration can be ] to establish the integrity of running software and protect against tampering.<ref>
Packages are important artifacts produced during the implementation phase of the ] . They are the products of the implementation phase, used during Customer Acceptance Testing and Service phases to determine if the software is viable to be put into service.
{{Cite web |url=https://csrc.nist.gov/pubs/itlb/2018/05/protecting-software-integrity-through-code-signing/final |title=Protecting Software Integrity Through Code Signing|website=] | series=ITL Bulletin | first1=David | last1=Cooper | first2=Larry | last2=Feldman | first3=Gregory | last3=Witte | date=May 23, 2018}}</ref>


Package formats that support ] include .deb (]), .msi (]), .apk (]) and .ipa (], ]).
Package artifacts provide a reproducible configuration, allowing for quality (customer) acceptance teams to validate a software component as ready for service to customers.
== Software Supply Chain and Security ==
Packages are an important component in managing the security and integrity of the software supply chain. Packages containing executables & configuration can be digitally signed (see ]) to establish the integrity of running software and protect against tampering.


Package formats that support ] include .deb (]), .msi (]), .apk (]) and .ipa (], ])
==Common formats== ==Common formats==


Line 20: Line 18:
!Format !Format
!Consumed by !Consumed by
|-
| ]
| ]
|- |-
| ] | ]
| ] | ]
|-
|Bottle
|]
|}

=== BSD-based formats ===
{| class="wikitable"
!Format
!Consumed by
|-
|]
|], ]
|-
| ] (BSD)
| ], ], ]<ref>{{Cite web |url=https://www.openbsd.org/faq/ports/ports.html |title=Ports - Working with Ports |website=OpenBSD.org}}</ref>
|-
|]
|], ], ], ], ], ], ], ], ]
|}

=== Linux-based formats ===
{| class="wikitable"
!Format
!Consumed by
|-
| ]
| ]
|- |-
|] |]
Line 34: Line 56:
|- |-
|] |]
|]-agnostic. |]-agnostic
|-
|] and ]
|] and later, ]<ref>{{cite web|url = http://msdn.microsoft.com/en-us/library/windows/apps/bg182885.aspx|title = App packaging|access-date = 29 September 2014}}</ref>
|-
|Bottle
|]
|- |-
|] |]
|] and its derivatives, such as ], ] ], ], and ]<ref>{{cite web|url = https://help.ubuntu.com/community/InstallingSoftware|title = InstallingSoftware - Community Ubuntu Documentation|publisher = Help.ubuntu.com|access-date = 2013-04-24}}</ref> |] and its derivatives, such as ], ], ], and ]<ref>{{cite web|url = https://help.ubuntu.com/community/InstallingSoftware|title = InstallingSoftware - Community Ubuntu Documentation|publisher = Help.ubuntu.com|access-date = 2013-04-24}}</ref>
|- |-
|] |]
|]<ref>{{cite web|url = https://wiki.gentoo.org/Ebuild|title = ebuild|access-date = 29 July 2015}}</ref> |]<ref>{{cite web|url = https://wiki.gentoo.org/Ebuild|title = ebuild|access-date = 29 July 2015}}</ref>
|- |-
|] |]
|]<ref>{{cite web|url = https://getsol.us/articles/package-management/basics/en/|title = Basics to Package Management|access-date = 1 May 2020}}</ref> |]<ref>{{cite web|url = https://getsol.us/articles/package-management/basics/en/|title = Basics to Package Management|access-date = 1 May 2020}}</ref>
|- |-
|]
|]
|], ] |Nix, ], Home Manager
|-
|]
|], ]<ref>{{Cite web |url=https://www.linode.com/docs/guides/portage-package-manager/ |title=Using Portage to Manage Packages in Gentoo |website=linode.com}} </ref>
|- |-
|]
| Ports (BSD)
| ] <ref>{{Cite web |url=https://www.openbsd.org/faq/ports/ports.html |title=Ports - Working with Ports |website=OpenBSD.org}} </ref> |], ]<ref>{{Cite web |url=https://www.linode.com/docs/guides/portage-package-manager/ |title=Using Portage to Manage Packages in Gentoo |website=linode.com|date=July 15, 2021 }}</ref>
|- |-
|] |]
|]-agnostic. |]-agnostic
|- |-
|] |]
|], ], ] and Linux based ] |], ], Oniro OS and Linux based ]
|- |-
|] |]
|] |]
|- |-
|] |]
|], ], ], ], ], ], ], ], ]
|-
|]
|] |]
|- |-
Line 79: Line 89:
|- |-
|] |]
|], ], derivatives such as ],<ref>{{cite web|url = http://rpm.org/|title = rpm - Trac|access-date = 29 September 2014}}</ref> and ], ] |], ], derivatives such as ],<ref>{{cite web|url = http://rpm.org/|title = rpm - Trac|access-date = 29 September 2014}}</ref> and ], ]
|- |-
|] |]
|]-agnostic, mainly developed for ] |]-agnostic, mainly developed for ]
|}

=== Windows formats ===
{| class="wikitable"
!Format
!Consumed by
|-
|] and ]
|] and later, ]<ref>{{cite web|url = http://msdn.microsoft.com/en-us/library/windows/apps/bg182885.aspx|title = App packaging|access-date = 29 September 2014}}</ref>
|- |-
|Windows Installer package / MSI |Windows Installer package / MSI
Line 89: Line 108:


=== Generic formats === === Generic formats ===
]'s ]<ref>{{cite web|url=https://www.archlinux.org/pacman/makepkg.conf.5.html|title= makepkg.conf(5) Manual Page}}</ref> and ]<ref>{{cite web|url=http://www.slackware.com/config/packages.php|title=The Slackware Linux Project: Configuration Help|access-date=29 September 2014}}</ref> use ] but specific internal structures. ]'s ]<ref>{{cite web|url=https://www.archlinux.org/pacman/makepkg.conf.5.html|title= makepkg.conf(5) Manual Page}}</ref> and ]<ref>{{cite web|url=http://www.slackware.com/config/packages.php|title=The Slackware Linux Project: Configuration Help|access-date=29 September 2014}}</ref> use ] but specific internal structures.


==References== ==References==
Line 101: Line 120:
] ]
] ]


{{Install-software-stub}}
{{Linux-stub}}

Latest revision as of 23:11, 20 October 2024

Type of computer archive

Package format is a type of archive containing computer programs and additional metadata needed by package managers; an instance of this type of archive is called a package. While the archive file format itself may be unchanged, package formats carry additional metadata, such as a manifest file or certain directory layouts. Packages may contain either source code or executable files.

Packages may be converted from one type to another with software such as Alien.

Software supply chain and security

Packages are an important component in managing the security and integrity of the software supply chain. Packages containing executables and configuration can be digitally signed to establish the integrity of running software and protect against tampering.

Package formats that support code signing include .deb (Debian), .msi (Microsoft Windows), .apk (Android) and .ipa (IOS, IPadOS).

Common formats

Specialized formats

Format Consumed by
AIR Adobe AIR
Bottle Homebrew

BSD-based formats

Format Consumed by
.ipa IOS, IPadOS
Ports (BSD) pkgsrc, FreeBSD, OpenBSD
PKG macOS, iOS, PlayStation 3, Solaris, SunOS, UNIX System V, Symbian, BeOS, Apple Newton

Linux-based formats

Format Consumed by
AAB Android
APK (Alpine) Alpine Linux
APK (Android) Android
AppImage Linux distribution-agnostic
Deb Debian and its derivatives, such as Raspberry Pi OS, Kali Linux, Ubuntu, and Linux Mint
ebuild Gentoo Linux
eopkg Solus
Nixpkg Nix, NixOS, Home Manager
Portage Gentoo Linux, ChromeOS
Flatpak Linux distribution-agnostic
.app, .hap HarmonyOS, OpenHarmony, Oniro OS and Linux based Unity Operating System
PISI Pardus
.pkg.tar.zst Arch Linux
PUP and PET Puppy Linux (PUP format is deprecated since version 3.0)
RPM Red Hat Enterprise Linux, Fedora, derivatives such as CentOS, and SUSE Linux Enterprise, openSUSE
Snap Linux distribution-agnostic, mainly developed for Ubuntu

Windows formats

Format Consumed by
APPX and APPXBundle Windows 8 and later, Windows Phone
Windows Installer package / MSI Windows Installer on Microsoft Windows

Generic formats

Arch Linux's Pacman and Slackware use 'tar' archives with generic naming but specific internal structures.

References

  1. Justin Angelo Cappos, Stork: Secure Package Management for VM Environments, ProQuest, 2008, p. 128;
  2. Cooper, David; Feldman, Larry; Witte, Gregory (May 23, 2018). "Protecting Software Integrity Through Code Signing". National Institute of Standards and Technology. ITL Bulletin.
  3. "Ports - Working with Ports". OpenBSD.org.
  4. "Alpine package format - Alpine Linux". wiki.alpinelinux.org. Retrieved May 19, 2016.
  5. "InstallingSoftware - Community Ubuntu Documentation". Help.ubuntu.com. Retrieved April 24, 2013.
  6. "ebuild". Retrieved July 29, 2015.
  7. "Basics to Package Management". Retrieved May 1, 2020.
  8. "Using Portage to Manage Packages in Gentoo". linode.com. July 15, 2021.
  9. "rpm - Trac". Retrieved September 29, 2014.
  10. "App packaging". Retrieved September 29, 2014.
  11. "makepkg.conf(5) Manual Page".
  12. "The Slackware Linux Project: Configuration Help". Retrieved September 29, 2014.
Archive formats
Archiving only
Compression only
Archiving and compression
Software packaging and distribution
Document packaging and distribution
Linux package management systems
dpkg
RPM
Embedded systems
Distribution-agnostic
Others (binary)
Others (source)
Front-ends
Related topics
Linux
Linux kernel
Controversies
Distributions
Organizations
Adoption
Media
Professional related certifications
Categories:
Package format: Difference between revisions Add topic