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}} |
|
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.