Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
packagesystemsfeaturecomparison [2011/09/01 06:31] – page was renamed from PortsSystemsComparison MarkLinimonpackagesystemsfeaturecomparison [2022/10/04 00:10] (current) – Update 1:M entry: Primary/Sub Ports & FLAVORS are supported KubilayKocak
Line 1: Line 1:
-[MarkLinimon note: this page is a couple of years stale and needs to be updated]+==== Packaging Systems Comparison ====
  
-==== Feature Comparison of FreeBSD ports with other systems ==== +^ Feature ^ pkgsrc ^ %%FreeBSD%% Ports ^ %%OpenBSD%% Ports ^ mports ^ Gentoo Portage ^ dpkg/rpm + apt ^ 
- +| Used by | %%NetBSD%%, %%DragonflyBSD%% | %%FreeBSD%% | %%OpenBSD%% | %%MidnightBSD%% | Gentoo, Sabayon | Ubuntu, Debian, Fedora, Redhat | 
-:!: TODO: in progress, use footnotes. Also use colors and text like VCS cmp. +| Source-based | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ ((There are source packages, which contain both the full source code of the program and local patches, and are manually compiled and uploaded by the maintainer.)) | 
- +| Binary Packages | ✔ | ✔ | ✔ | ✔ | {o} ((A Gentoo derivate called Sabayon is developing a tool called [http://en.wikipedia.org/wiki/Sabayon_Linux#Features entropy], which uses ''%%binmerge%%'' for binary packages.)) | ✔ | 
-^ Feature/subject ^ pkgsrc ^ (%%FreeBSD%%) ports ^ (%%OpenBSD%%) ports ^ mports ^ Portage ^ dpkg/rpm + apt ^ +| Primary Focus | ? | src | bin | ? | src | bin |
-| Used by OSes | %%NetBSD%%, %%DragonflyBSD%% | %%FreeBSD%% | %%OpenBSD%% | %%MidnightBSD%% | Gentoo, Sabayon | Ubuntu, Debian, Fedora, Redhat | +
-| Ports | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ ((There are source packages, which contain both the full source code of the program and local patches, and are manually compiled and uploaded by the maintainer.)) | +
-| Packages | ✔ | ✔ | ✔ | ✔ | {o} ((A Gentoo derivate called Sabayon is developing a tool called [http://en.wikipedia.org/wiki/Sabayon_Linux#Features entropy], which uses ''%%binmerge%%'' for binary packages.)) | ✔ | +
-| Primary focus (src/bin) | ? | src | bin | ? | src | bin |+
 | Packages and ports integration | ? | {o} ((Some features are only supported by ports, like versioned dependencies. Also ports install directly, without generating packages.)) | ✔ ((Ports create the package and then uses the package tools to install.)) | ? | ? | ✘ | | Packages and ports integration | ? | {o} ((Some features are only supported by ports, like versioned dependencies. Also ports install directly, without generating packages.)) | ✔ ((Ports create the package and then uses the package tools to install.)) | ? | ? | ✘ |
-| Many packages out of same port | ? | {o} ((Shared code in one port, called by a slave port which only defines the required options (requires a directory with a ''%%Makefile%%'' for each package).)) | ✔ | ? | ✘ | ? | +| "One to Many" Packages | ? | ✔ ((Primary/Sub Ports and FLAVORS)) | ✔ | ? | ✘ | ? | 
-| Apps divided in many packages | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ ((Packages are split in ''%%-doc%%'', ''%%-dev%%'', ''%%-common%%'', ''%%-data%%'', etc. The good point is that packages which don't depend on the architecture are built only once, runtime dependencies don't require headers, and documentation is optional. However to build anything you need all the ''%%-dev%%'' versions.)) |+| "Sub" Packages | ✘ | ✘ | ✘ | ✘ | ✘ | ✔ ((Packages are split in ''%%-doc%%'', ''%%-dev%%'', ''%%-common%%'', ''%%-data%%'', etc. The good point is that packages which don't depend on the architecture are built only once, runtime dependencies don't require headers, and documentation is optional. However to build anything you need all the ''%%-dev%%'' versions.)) |
 | Self-contained packages | ? | ? | ? | ? | ? | ? | | Self-contained packages | ? | ? | ? | ? | ? | ? |
-| Building in a clean environment | ✔ | {o} (tinderbox/portbuild) | ✔ | ✔ (recently) | ? | ✔ |+| Isolated Builds | ✔ | ✔ (Poudriere) | ✔ | ✔ (recently) | ? | ✔ |
 | ''%%PREFIX%%'' clean | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | | ''%%PREFIX%%'' clean | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ |
 | ''%%CFLAGS%%'' clean | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | | ''%%CFLAGS%%'' clean | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ |
-| Compilation options framework | ? | ? | ? | ? | ? | ? |+| Customizable | ? | ? | ? | ? | ? | ? |
 | Rerrolled distfiles support | ? | ? | ? | ? | ? | ? | | Rerrolled distfiles support | ? | ? | ? | ? | ? | ? |
 | Differential updates (deltas) | ? | ? | ? | ? | ? | ? | | Differential updates (deltas) | ? | ? | ? | ? | ? | ? |
Line 32: Line 28:
 | Automatic management of users/groups | ? | ? | ? | ? | ? | ? | | Automatic management of users/groups | ? | ? | ? | ? | ? | ? |
 | Initial configuration and integration of apps | ? | ? | ? | ? | ? | ? | | Initial configuration and integration of apps | ? | ? | ? | ? | ? | ? |
-| License framework (info/agreement) | ? | ? | ? | ? | ? | ? |+| License Framework | ? | ? | ? | ? | ? | ? | 
 +| Track moved ports | ✘ | ✔ | ? | ? | ? | ? | 
 + 
 +==== Footnotes ====
  
 **References** **References**
  
-^ Symbol ^ Descrption ^+^ Symbol ^ Description ^
 | ✔ | Fully supported | | ✔ | Fully supported |
 | {o} | Partially supported, workaround used or WIP | | {o} | Partially supported, workaround used or WIP |
 | ✘ | Not supported | | ✘ | Not supported |
 +
 +==== See also ====
 +
 +PackageSystemsComparison for a more general discussion.
  
 ==== References ==== ==== References ====
Line 47: Line 50:
   * Conference paper about package management (with comparison and ideas): [[http://people.freebsd.org/~sat/pmp/papref.pdf|PDF]] [[http://people.freebsd.org/~sat/pmp/papref|TXT]].   * Conference paper about package management (with comparison and ideas): [[http://people.freebsd.org/~sat/pmp/papref.pdf|PDF]] [[http://people.freebsd.org/~sat/pmp/papref|TXT]].
   * [[http://www.dinoex.de/schulungen/package-en.html|Lightweight FreeBSD package cluster in a jail]] (:!: TODO: take ideas from here).   * [[http://www.dinoex.de/schulungen/package-en.html|Lightweight FreeBSD package cluster in a jail]] (:!: TODO: take ideas from here).
-  * [[Upak|Upak]] (effort to unify packages).+  * [[AndrewPantyukhin/Upak|Upak]] (effort to unify packages).
   * [[http://lwn.net/Articles/240399/|Package management in Gentoo Linux]].   * [[http://lwn.net/Articles/240399/|Package management in Gentoo Linux]].
 +  * A discussion of what [[http://mail-index.netbsd.org/netbsd-users/2011/08/04/msg008723.html|pkgsrc offers that FreeBSD does not]].
 +
 +==== Notes ====
 +
 +MarkLinimon: If updating, you may wish to start with this [[https://mail-index.netbsd.org/netbsd-users/2011/08/04/msg008723.html|netbsd-users mailing list: NetBSD vs FreeBSD thread]]
 +
 +----
 +
 +{{tag>Ports}}
 +{{tag>Packages}}
 +{{tag>Stale}}
 +{{tag>NeedsContent}}
  
  • packagesystemsfeaturecomparison.1314858689.txt.gz
  • Last modified: 2011/09/01 06:31
  • by MarkLinimon