Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| pkgbase [2020/05/10 16:18] – pkg version 1.10.5_3 is quite old now, nobody will need to update to it EdMaste | pkgbase [2023/10/18 20:32] (current) – Agreed with Mina Galić that the overview section is good enough to be treated as up-to-date. Draw a line there, with a hint that what's below is outdated. GrahamPerrin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| **Packaging %%FreeBSD%% base** | **Packaging %%FreeBSD%% base** | ||
| + | |||
| + | ===== About PkgBase ===== | ||
| + | |||
| + | PkgBase is the %%FreeBSD%% base operating system (OS), // | ||
| + | |||
| + | Use of [[https:// | ||
| + | |||
| + | Where it becomes possible to also use pkg for the OS: | ||
| + | |||
| + | * it's no longer necessary to use [[https:// | ||
| ===== Status ===== | ===== Status ===== | ||
| - | Packaged base (PkgBase) work is happening in HEAD. | + | Packages will be provided from %%FreeBSD%% 14.0 onwards: |
| - | A [[https://lists.freebsd.org/pipermail/freebsd-pkgbase/2016-March/000032.html|call for testing was made in March 2016]]. Major blockers and critical issues appear to be resolved. Please note, as with any development branch, this is not yet intended for production environments. Use of virtual machines or dedicated testing machines is strongly encouraged. | + | * as a technology preview of sorts, for experimentation and use by projects such as [[https://mastodon.world/ |
| + | * not yet for things such as [[https://man.freebsd.org/ | ||
| + | * not yet intended for production environments. | ||
| - | PkgBase comprises around 300 packages with the default build (empty src.conf(5) | + | In addition, to aid exploration |
| - | ===== Outstanding ===== | + | In Bugzilla: |
| - | * A few issues with configuration file merging. For now, after upgrading the base system with pkg(8) it is recommended to continue to use [[https://man.freebsd.org/ | + | * [[https://bugs.freebsd.org/ |
| - | * There is currently no method to notify users when new base packages are created (packages that did not previously exist), and they are not installed during | + | Use of a virtual machine, or a dedicated |
| - | * [[https:// | + | ===== Overview ===== |
| - | Please follow up on the freebsd-pkgbase@ mailing list with problems | + | PkgBase comprises a few hundred packages with the default build (empty [[https:// |
| + | |||
| + | In most cases, a runtime binary is split into multiple components. Debugging symbols and most shared libraries are packaged individually. 32-bit is bit packaged separately. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | //Content below this line is outdated, will be updated …// | ||
| ===== Initial setup ===== | ===== Initial setup ===== | ||
| Line 75: | Line 93: | ||
| </ | </ | ||
| - | - Use [[https://man.freebsd.org/mergemaster|mergemaster(8)]] or [[https://man.freebsd.org/etcupdate|etcupdate(8)]] after upgrading the base system with pkg(8) to ensure configuration files are merged. This is still required since there is an outstanding issue with configuration | + | **Caution:** There is currently no built-in mechanism for bootstrapping pkg info from the existing system, and files (such as ///etc/master.passwd//) will be replaced with default copies from the newly installed packages. Existing files will be renamed with a '' |
| + | |||
| + | Files that may be of particular interest include: | ||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | * /etc/mail.rc | ||
| + | * /etc/master.passwd | ||
| + | * /etc/ | ||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | * /etc/ttys | ||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | * / | ||
| + | |||
| + | **WARNINGS: | ||
| + | |||
| + | === Fixing missing user === | ||
| + | |||
| + | After upgrading, if you have the following message from '' | ||
| + | |||
| + | < | ||
| + | su: who are you? | ||
| + | </ | ||
| + | |||
| + | It means that you have replaced your '' | ||
| + | |||
| + | < | ||
| + | # cp /etc/master.passwd.pkgsave / | ||
| + | # / | ||
| + | </ | ||
| ==== Kernel packages ==== | ==== Kernel packages ==== | ||
| Line 96: | Line 149: | ||
| * %%FreeBSD%%-kernel-mykernel2-debug | * %%FreeBSD%%-kernel-mykernel2-debug | ||
| - | ==== Upgrading | + | ===== Upgrades ===== |
| After the first time the source tree was built and installed with PkgBase, an upgrade involves the following steps: | After the first time the source tree was built and installed with PkgBase, an upgrade involves the following steps: | ||
| Line 107: | Line 160: | ||
| # make [make flags] buildworld | # make [make flags] buildworld | ||
| # make [make flags] buildkernel | # make [make flags] buildkernel | ||
| - | # make packages | + | # make update-packages |
| </ | </ | ||
| + | Note that for make update-packages working correctly you need WITH_REPRODUCIBLE_BUILD=yes in / | ||
| - Upgrade the base packages: | - Upgrade the base packages: | ||
| Line 123: | Line 177: | ||
| Lines beginning with '' | Lines beginning with '' | ||
| - | |||
| - | - Use [[https:// | ||
| ==== Major version upgrades ==== | ==== Major version upgrades ==== | ||
| Line 154: | Line 206: | ||
| </ | </ | ||
| - | ===== Project goals and additional unresolved issues | + | ===== Outstanding ===== |
| + | |||
| + | * No method to notify users when new base packages are created (packages that did not previously exist), and they are not installed during a '' | ||
| + | |||
| + | * [[https:// | ||
| + | |||
| + | * certutil rehash needs to be manually run after upgrades | ||
| + | |||
| + | Please follow up on the freebsd-pkgbase@ mailing list with problems (and successes). | ||
| + | |||
| + | ==== Goals, | ||
| The following items need to be addressed before PkgBase can be considered for production use: | The following items need to be addressed before PkgBase can be considered for production use: | ||
| Line 182: | Line 244: | ||
| * IDEA: Ship the plist and ucl files from the build, since that is what pkg register would need. | * IDEA: Ship the plist and ucl files from the build, since that is what pkg register would need. | ||
| * Metapkgs: The current is to implement a pkg feature called groups. See: [[https:// | * Metapkgs: The current is to implement a pkg feature called groups. See: [[https:// | ||
| + | |||
| + | ===== Retrospective ===== | ||
| + | |||
| + | A [[https:// | ||
| + | |||
| + | Major blockers and critical issues appeared to be resolved. | ||
| ==== Glen Barber' | ==== Glen Barber' | ||
| //Userland packages sets// – can someone clarify what exactly this means? | //Userland packages sets// – can someone clarify what exactly this means? | ||
| - | |||
| - | ETA? | ||
| TODO: | TODO: | ||