#
a361ab31 |
| 02-Jan-2024 |
Matthew Dillon <dillon@apollo.backplane.com> |
Add integrated dports build feature to build-all and install-all targets
When WITH_DPORTS=YES is used build-all and install-all, these targets will also build the base set of ports and all of their
Add integrated dports build feature to build-all and install-all targets
When WITH_DPORTS=YES is used build-all and install-all, these targets will also build the base set of ports and all of their dependencies using configuration data and the "dragonfly/base" dport found in "/usr/src/dports.base".
This feature is intended to be used by the nrelease build in an upcoming commit, and may also be used manually.
The /usr/dports tree must exist and contains the dports repo to use as the basis of the dports build. It will be null-mounted in the chroot and the "/usr/src/dports.base/dragonfly" directory will be null-mounted under it to provide the "dragonfly/base" meta-port. The DPORTSBASE make variable may be used to override the location of the main dports repo.
The build-all and install-all targets use a sophisticated chrooted environment to do a completely clean dports build with dsynth. It It will actually "make installworld" plus a clean "make distribution" inside the chroot environment to create the environment, and the host system's /etc/resolv.conf will be copied in.
build-all - Augmented when used WITH_DPORTS=YES install-all - Augmented when used WITH_DPORTS=YES buildportschroot - Build a fresh chroot environment for dsynth mountports - Do all null mounts and cp's needed for the env buildports - Run dsynth build dragonfly/base in the env installports - Install the built ports on the host system (see note) umountports - Remove the null mounts
WITH_DPORTS=YES - executes buildportschroot, mountports, buildports, and umountports when run from build-all.
executes mountports, installports, umountports when run from install-all.
DPORTSBASE=path - Defaults to /usr/dports, may be used to override the location where the main dports tree can be found.
NOTE: Installports may require interactivity as the base system might already have installed ports. Generally speaking it is best to not revert any ports you might already have installed, so feel free to tell it not to install anything.
* Added various make targets and augmented build-all and install-all
* /usr/local/sbin added and the stale /usr/pkg/bin removed from _HOSTPATH.
* Add /usr/src/dports.base infrastructure.
It contains the dsynth.ini and pkg.conf files that will be used for the local dsynth operations. Some paths are replaced with SED when copied to the chroot. The dsynth.ini is relative to the chroot.
It also contains the dragonfly/base dport which is the meta-port that dsynth will be told to build.
All other dports related files and directories are null-mounted from /usr/dports.
* Add /usr/distfiles.base to mtree/BSD.usr.dist. This directory is also created by the build if it does not exist since the host system might not have run a new installworld recently.
This directory will be used during build-all (buildports) to store the distfiles required to build dragonfly/base, so they only need to be fetched once.
* Add the "-C ConfigBase" option to dsynth to make running it from the chrooted environment easier. This overrides the /etc/dsynth directory and removes /etc/dsynth as a fallback.
* dsynth conditionalizes calling syscap_set() for backwards compatibility with older host systems that might not have been upgraded to include the feature yet.
show more ...
|
#
dd711b4a |
| 05-Feb-2023 |
Sascha Wildner <saw@online.de> |
Move mailwrapper(8) examples from /etc/mail to /usr/share/examples.
|
Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0 |
|
#
d8082429 |
| 19-Feb-2021 |
Aaron LI <aly@aaronly.me> |
games: Bring in ching(6) -- The Book of Changes -- from NetBSD
The ching(6) game/utility was nuked from FreeBSD in 1994 ... (see revision 2563)
It has been added back to NetBSD in June 30, 2005: --
games: Bring in ching(6) -- The Book of Changes -- from NetBSD
The ching(6) game/utility was nuked from FreeBSD in 1994 ... (see revision 2563)
It has been added back to NetBSD in June 30, 2005: ----------------------------------------------------------------------- ching(6) -- The Book of Changes, not seen in BSD since 4.4BSD.
The C code is a complete rewrite done by Guy Harris for 4.4BSD and is not the original from v7 at all. Unfortunately, the data file itself, without which the rest isn't useful, was not freed until Caldera released all of 32v a few years ago, so it was not in 4.4lite.
The data file, the ching nroff macros, and the driver script are under Caldera or Caldera+Berkeley copyright.
I've partially redone the driver script from 4.4 (there was no point in using a temporary file for the hexagram), which was already partially redone from 32v. (As an aside, it is nutty that the script needs a copyright so many times longer than the code.)
I've renamed "cno" to "castching", "phx" to "printching", (the traditional names were opaque), and put them in /usr/libexec/ching instead of the v7 /usr/games/ching.d. The data file and nroff macros are in /usr/share/games/ching ----------------------------------------------------------------------- (see https: //github.com/NetBSD/src/commit/5175ead765ed41e9db0f9f59d83ddf8966f6568a)
show more ...
|
Revision tags: v5.8.3, v5.8.2 |
|
#
d19ef5a2 |
| 02-Aug-2020 |
Aaron LI <aly@aaronly.me> |
calendar(1): Rewrite to support Chinese & Julian calendars
I wanted to use Chinese calendar in the calendar(1) utility, so I started working on it. The Chinese calendar is a lunisolar calendar and
calendar(1): Rewrite to support Chinese & Julian calendars
I wanted to use Chinese calendar in the calendar(1) utility, so I started working on it. The Chinese calendar is a lunisolar calendar and requires calculations of Sun and Moon positions. Along the way of implementing the Chinese calendar support, more and more parts of the old code has been replaced. Now, the new calendar(1) code base has been mostly rewritten to be more extensible to support multiple calendars. Although only the Gregorian (the default), Chinese and Julian calendars are currently supported, more calendars now becomes much easier to add.
Highlights: * Support Chinese calendar * Support Julian calendar * More accurate Sun and Moon calculations * More extensible * More calendar files/entries and more accurate information * Better code base
Major Changes: * If no user's calendar file, default to '/etc/calendar/default' * Search calendar files in '/etc/calendar', which allows to override the calendar file in '/usr/share/calendar' in a system-wide way * Add '-s' option to show information of Chinese/Julian calendar or Sun/Moon * Add '-H' option to specify the calendar home directory * Add '-L' option to specify the location, which should be set to get accurate Sun/Moon information * Add '-T' option to specify the current time for Sun/Moon calculations * Much Improved calendar file parser * More clean man page * More helpful error messages * Some bug fixes and various cleanups
The new calendar algorithms are implemented by referring to this great book: Calendrical Calculations: The Ultimate Edition (4th Edition) by Edward M. Reingold and Nachum Dershowitz. Cambridge University Press, 2018. ISBN: 9781107057623
More information about the development history of this calendar(1) utility can be found in my GitHub repository: https://github.com/liweitianux/ccalendar
show more ...
|
#
d87a94cb |
| 24-Aug-2020 |
Sascha Wildner <saw@online.de> |
zoneinfo: Update /etc/localtime when upgrading timezones.
* Add tzsetup(8) to the bootstrap-tools.
* Install the backward file to retain obsolete timezones as links for backward compatibility. Re
zoneinfo: Update /etc/localtime when upgrading timezones.
* Add tzsetup(8) to the bootstrap-tools.
* Install the backward file to retain obsolete timezones as links for backward compatibility. Remove all these timezones from Makefile_upgrade.inc again. Also extend mtree/BSD.usr.dist for this and remove the old 'dragonfly' file (which was only for UTC).
* After installing new timezones, run tzsetup -r to upgrade the user's chosen timezone. Allow this to fail for quickworlders. It will start working after the next full buildworld.
Taken-from: FreeBSD (with modifications)
show more ...
|
#
8f9e6710 |
| 24-May-2020 |
Sascha Wildner <saw@online.de> |
libc: Bring in getdate() from NetBSD for POSIX conformance.
|
#
eaf1ce35 |
| 24-May-2020 |
Sascha Wildner <saw@online.de> |
Revert "libc: Bring in getdate() from NetBSD for POSIX conformance."
This reverts commit 28bfdfe646cc75375bb9065f47aca011952469ef.
I need to work a bit more on this first.
|
#
28bfdfe6 |
| 24-May-2020 |
Sascha Wildner <saw@online.de> |
libc: Bring in getdate() from NetBSD for POSIX conformance.
|
Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3 |
|
#
7bb93f5c |
| 03-Feb-2020 |
zrj <rimvydas.jasinskas@gmail.com> |
binutils225: Unhook from the build.
Remove makefiles and installed parts.
|
#
8820073c |
| 03-Feb-2020 |
zrj <rimvydas.jasinskas@gmail.com> |
binutils234: Hook to the buildworld as alternative set.
Requires changes in kernel and sys/boot/efi.
|
Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2 |
|
#
50c43034 |
| 18-Feb-2019 |
Aaron LI <aly@aaronly.me> |
calendar(1): Use UTF-8 for all calendars
Remove 'pt_BR.ISO8859-1' and 'ru_RU.KOI8-R' since their UTF-8 version already exist.
Convert the following calendars to UTF-8: * de_AT.ISO8859-15 * de_DE.IS
calendar(1): Use UTF-8 for all calendars
Remove 'pt_BR.ISO8859-1' and 'ru_RU.KOI8-R' since their UTF-8 version already exist.
Convert the following calendars to UTF-8: * de_AT.ISO8859-15 * de_DE.ISO8859-1 * fr_FR.ISO8859-1 * hr_HR.ISO8859-2 * hu_HU.ISO8859-2 * uk_UA.KOI8-U
Update Makefile, Makefile_upgrade.inc and mtree(8) entries accordingly.
show more ...
|
#
54dbcd50 |
| 17-Feb-2019 |
Aaron LI <aly@aaronly.me> |
calendar(1): Sync calendars from FreeBSD
Update the mtree(8) entries and the man page accordingly.
|
#
a3e064e4 |
| 27-Sep-2019 |
Sascha Wildner <saw@online.de> |
Some cleanup regarding the removal of the old clang 3.8 framework.
Forgotten in 9f47dde1b3a468c6ec0f5593a50c214b95f51ebc.
|
#
652cecd9 |
| 14-Sep-2019 |
Antonio Huete Jimenez <tuxillo@quantumachine.net> |
mtree: Fix installworld
|
#
3c7e5806 |
| 19-Apr-2019 |
zrj <rimvydas.jasinskas@gmail.com> |
share/examples: Install missing defaults for ssl and ssh.
This would help with config updates merging and local system recovery when configs in /etc get accidentally deleted or broken beyond repair.
|
#
e2732a56 |
| 23-Apr-2019 |
zrj <rimvydas.jasinskas@gmail.com> |
gcc47: Disconnect objc components from world.
|
#
1419a4e1 |
| 23-Apr-2019 |
Sascha Wildner <saw@online.de> |
Remove groff from base.
There is a dports package available for people who need it. Also, for some manual pages in dports, man(1) will report that mandoc(1) cannot render them, and advise to install
Remove groff from base.
There is a dports package available for people who need it. Also, for some manual pages in dports, man(1) will report that mandoc(1) cannot render them, and advise to install groff too, which man(1) will then use.
Also remove vgrind(1) and the old base me(7) macros.
Disable the groff part of manlint for now, also mandiff. I will decide later if it should be made to work with dports groff.
There are a number of related utilities, like colcrt, checknr etc. that I have not touched yet. Their fate will be decided later.
There are also some references to these tools left in existing manual pages.
show more ...
|
#
105f26b5 |
| 22-Apr-2019 |
Sascha Wildner <saw@online.de> |
Switch to the new man(1) command.
* Exchange our old GNU man(1) command with the one from FreeBSD that I recently imported. It uses mandoc(1) by default. If mandoc(1) reports that it cannot rend
Switch to the new man(1) command.
* Exchange our old GNU man(1) command with the one from FreeBSD that I recently imported. It uses mandoc(1) by default. If mandoc(1) reports that it cannot render a page, man(1) will fall back to groff (right now our base groff, later the groff pkg when we remove it).
* Install mandoc(1) as apropos(1) and makewhatis(8). This means makewhatis moves from /usr/sbin to /usr/bin.
* Use mandoc(1) instead of groff for most purposes of bsd.man.mk.
* Remove /usr/share/man/cat*. It's not necessary anymore to cache formatted manual pages.
show more ...
|
#
baf4551a |
| 27-Mar-2019 |
Sascha Wildner <saw@online.de> |
mtree/BSD.usr.dist: Sort.
|
#
4b403a55 |
| 27-Mar-2019 |
Matthew Dillon <dillon@apollo.backplane.com> |
world - Add missing sample file for aws imaging script
* Add missing sample file for aws imaging script.
* Add missing mtree directory for above.
* Fixes installworld
|
#
92a42612 |
| 19-Mar-2019 |
zrj <rimvydas.jasinskas@gmail.com> |
gcc50: Disconnect from buildworld.
You served us good.
|
#
ee3ebee6 |
| 15-Jan-2019 |
Sascha Wildner <saw@online.de> |
kernel: Remove puffs(4), putter(9) and associated libs and utilities.
All of these were originally pushed and hooked into the build in non- working condition so that they would not go stale break bu
kernel: Remove puffs(4), putter(9) and associated libs and utilities.
All of these were originally pushed and hooked into the build in non- working condition so that they would not go stale break building. The hope was that someone would pick up the work and fix the remaining issues, which never materialized.
This has led to more harm than good, with people occasionally assuming that this code is functional. Also, the existence of /usr/include/fuse.h might lead configure checks into believing that we have a working implementation.
show more ...
|
Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1 |
|
#
5d669bfa |
| 19-Oct-2018 |
Aaron LI <aly@aaronly.me> |
dhcpcd: Bind to system
NOTE: This only makes 'dhcpcd' be built and installed, and doesn't affect the existing 'dhclient'.
|
#
d9a1074a |
| 18-Oct-2018 |
Aaron LI <aly@aaronly.me> |
openresolv: Bind to system as resolvconf(8)
The resolvconf(8) will be used by dhcpcd(8), which will be imported later to provide out-of-box IPv6 DHCP support, replacing the IPv4-only dhclient(8) in
openresolv: Bind to system as resolvconf(8)
The resolvconf(8) will be used by dhcpcd(8), which will be imported later to provide out-of-box IPv6 DHCP support, replacing the IPv4-only dhclient(8) in base and the rtsold(8).
Thanks to swildner for reviewing and providing suggestions.
show more ...
|
Revision tags: v5.2.2 |
|
#
e79a303f |
| 02-Jun-2018 |
Aaron LI <aly@aaronly.me> |
initrd: Detach from the world and build on the fly
Why --- Currently, the files for initrd image creation are built and installed at /usr/share/initrd by "buildworld" and "installworld", respectivel
initrd: Detach from the world and build on the fly
Why --- Currently, the files for initrd image creation are built and installed at /usr/share/initrd by "buildworld" and "installworld", respectively, and then mkinitrd(8) simply packs them to create the initrd.img.gz.
For normal users, the shipped /usr/share/initrd and mkinitrd(8) don't make much sense, since they don't need to modify the initrd contents and create a modified initrd image.
From a developer's perspective, the required steps (buildworld, installworld and mkinitrd) to create and test a new initrd image can be annoying.
How --- Detach the build and installation of the initrd contents from the world. Build the (rescue/initrd) tools on-the-fly when creating the initrd image.
As per ftigeot's suggestion, these statically linked tools can be useful when dealing with a broken system, so install them under /rescue to be more intuitive and easier to use (similar to FreeBSD and maybe other BSDs).
What ---- * Move "share/initrd" to be top-level, and detach it from world.
+ Update the patch in bsd.crunchgen.mk accordingly. + Add Makefile.inc to simplify subdir's makefiles. + Rewrite the Makefile with targets: - rescue: build and install the rescue tools into /rescue. - initrd: further packs the etc and rescue staffs to create the initrd image.
* Move "sbin/mkinitrd/mkinitrd.sh" under the new "initrd" directory and adapt it to work with the "initrd" make target. Remove the other parts of mkinitrd(8).
* Export the above "rescue" and "initrd" targets to be top-level.
* Update nrelease framework to use the new "make initrd".
* Update build.7 man page accordingly.
* Print the message about updating the initrd image and 3rd-party packages after "make upgrade" instead of "make installworld".
* Document this change in UPDATING.
* Other small updates and style cleanups.
TODO ---- * Add initrd.7 man page * Crunch more useful tools * Crunch bin/sbin/etc. into a bundle to save space (??)
Reviewed-by: swildner Thanks-to: dillon, swildner, ftigeot
show more ...
|