History log of /dragonfly/Makefile (Results 1 – 25 of 66)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


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
# 89e9c22c 24-Jun-2021 Aaron LI <aly@aaronly.me>

Makefile: Rename 'preupgrade' to 'preinstall'

The 'preupgrade' target performs certain pre-installworld operations,
and is executed before 'installworld' automatically. So rename it to
'preinstall'

Makefile: Rename 'preupgrade' to 'preinstall'

The 'preupgrade' target performs certain pre-installworld operations,
and is executed before 'installworld' automatically. So rename it to
'preinstall'.

Update build(7) man page accordingly.

Suggested-by: swildner

show more ...


# 6d657f85 27-May-2021 Aaron LI <aly@aaronly.me>

Makefile: Make 'installworld' depend on 'preupgrade'

The 'preupgrade' target will creates new users/groups, which may be
required by the 'installworld' target, so make 'installworld' depend on
'preu

Makefile: Make 'installworld' depend on 'preupgrade'

The 'preupgrade' target will creates new users/groups, which may be
required by the 'installworld' target, so make 'installworld' depend on
'preupgrade'. This will fix the installation of nvmmctl(8) that
requires the 'nvmm' group.

As another result, no longer need to check for users/groups in the
'installcheck' target.

show more ...


Revision tags: v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2
# 1bd119d2 04-Jun-2020 Daniel Fojt <df@neosystem.org>

build.7: mention "build-all" and "install-all" targets

Describe "build-all" and "install-all" targets in both Makefile
and build(7).

Submitted by: Pierre-Alain TORET <pierre-alain.toret@protonmail.

build.7: mention "build-all" and "install-all" targets

Describe "build-all" and "install-all" targets in both Makefile
and build(7).

Submitted by: Pierre-Alain TORET <pierre-alain.toret@protonmail.com>
Issue: https://bugs.dragonflybsd.org/issues/3229

show more ...


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# 83abeeca 07-Jan-2020 zrj <rimvydas.jasinskas@gmail.com>

Makefile: Use internal variable for setting PATH.

Mainly to prevent double override PATH when invoking submakes.


# d0bcca46 14-Nov-2019 Matthew Dillon <dillon@apollo.backplane.com>

build - Add build-all and install-all targets

* Add a 'smart' build-all and install-all target that spews to a
log file instead of to the screen and. Will automatically
run the build stage -j

build - Add build-all and install-all targets

* Add a 'smart' build-all and install-all target that spews to a
log file instead of to the screen and. Will automatically
run the build stage -j N, and both targets can be specified on
one command line.

make build-all install-all

build-all: runs buildworld and buildkernel -j hw.ncpu
install-all: runs installkernel and installworld -j 1

* The usual warnings and cautions still apply when installing a
new world and kernel.

show more ...


# fae4aceb 28-Sep-2019 Matthew Dillon <dillon@apollo.backplane.com>

installworld - Generate /etc/os-release

* Generate an /etc/os-release file during an installworld.


Revision tags: v5.6.2, v5.6.1, v5.6.0
# 982afa6b 15-Jun-2019 Aaron LI <aly@aaronly.me>

Makefile: Require explicit target

Explicit target (e.g., buildworld, buildkernel) is required, otherwise
fail with an error.

Obtained-from: FreeBSD
Bug-report: #3158


Revision tags: v5.6.0rc1, v5.7.0, v5.4.3
# 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 ...


Revision tags: v5.4.2
# bc14b951 04-Feb-2019 Aaron LI <aly@aaronly.me>

Fix pkg "-f" flag in the "make upgrade" message


Revision tags: v5.4.1, v5.4.0
# bc897c50 24-Nov-2018 Aaron LI <aly@aaronly.me>

initrd: Rework build and install stages

* Rewrite the Makefile to provide only the 'all' and 'install' targets.
Do not separate the handling of the rescue tools and initrd image.
Thus greatly si

initrd: Rework build and install stages

* Rewrite the Makefile to provide only the 'all' and 'install' targets.
Do not separate the handling of the rescue tools and initrd image.
Thus greatly simplify the whole logic.

The 'all' target will build the rescue tools and initrd contents, and
does not require root priviledge, while the 'install' target will
install the rescue tools to the system, create the initrd image and
install it.

* Update the top-level makefiles to call the new 'all' and 'install'.
The 'buildworld' target now doesn't require root priviledge, same as
before the refactoring in 9b724c0dcb2b9548a82d28d97e34375f64668669.

* Only provide the 'initrd' top-level target to keep it simple. This
target will install the rescue tools and initrd image built by the
'buildworld', overwriting the existing ones.

* Clean up the nrelease/Makefile a bit, since 'installworld' will also
install the rescue tools and initrd image in such a case.

* Update the mkinitrd.sh script a bit.

* Update the build(7) man page and clean up a bit.

Reviewed-by: swildner

show more ...


Revision tags: v5.5.0, v5.4.0rc1
# 9b724c0d 27-Oct-2018 Matthew Dillon <dillon@apollo.backplane.com>

build - refactor rescue and initrd handling

* buildworld now builds the rescue directory tree and initrd
image in /usr/obj.

* installworld will install the rescue and initrd stuff if it
does no

build - refactor rescue and initrd handling

* buildworld now builds the rescue directory tree and initrd
image in /usr/obj.

* installworld will install the rescue and initrd stuff if it
does not exist on the destination. If rescue or initrd stuff
is already installed, it is not overwritten.

* Add 'installrescue' and 'installinitrd' targets. These will
copy the rescue and initrd image built by buildworld.

* The normal 'rescue' and 'initrd' targets are unchanged and
should build (from scratch) and install the rescue and initrd
stuff.

* NOTE: crunchgen is currently hacked to add system paths when
WORLDBUILD is defined, in order to access native binaries
for 'uniq' and a few others, instead of building them in
cross-tools.

In particular, we have to use the native 'vnconfig' binary
as building one in crosstools might not be compatible with
the currently running system. buildworld now uses 'vn' to
create the initrd image.

Possibly needs some work.

show more ...


# 4cdf70c7 04-Jul-2018 Aaron LI <aly@aaronly.me>

initrd: Refactor Makefile and introduce quick{rescue,initrd}

Refactor the Makefile by splitting the original targets into smaller
ones.

Introduce targets quick{rescue,initrd} which skip the clean s

initrd: Refactor Makefile and introduce quick{rescue,initrd}

Refactor the Makefile by splitting the original targets into smaller
ones.

Introduce targets quick{rescue,initrd} which skip the clean step.
Such similar behavior was achieved by passing '-DNO_CLEAN' to make.
(suggested-by: swildner)

show more ...


# e972a8ba 27-Jun-2018 Sascha Wildner <saw@online.de>

Remove the old 'most' and 'installmost' targets (they are broken too).


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


# f71956f7 02-Jun-2018 Aaron LI <aly@aaronly.me>

Makefile{,.inc1}: Merge user-driven target descriptions and cleanups

* Merge the descriptions to user-driven targets from Makefile.inc1 to
Makefile and improve the wordings a bit.

* Delete some o

Makefile{,.inc1}: Merge user-driven target descriptions and cleanups

* Merge the descriptions to user-driven targets from Makefile.inc1 to
Makefile and improve the wordings a bit.

* Delete some obsolete information.

* Whitespace cleanups.

show more ...


Revision tags: v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2
# 92c9dfec 23-Jul-2016 Sascha Wildner <saw@online.de>

Add a realquickkernel target, analogous to realquickworld.

It skips the recently added depend step, so it behaves like
quickkernel did before 521f740e8971df6fdb1b63933cb534746e86bfae.


Revision tags: v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0
# dd7331fe 20-Jun-2015 Sascha Wildner <saw@online.de>

i386 removal, part 2/x: Remove i386 specific kernel config files.

Which are: GENERIC, LINT, SOEKRIS, VKERNEL


Revision tags: v4.0.6, v4.3.0, v4.2.0rc, v4.0.5
# 24c1eacf 08-Mar-2015 John Marino <draco@marino.st>

Fix lack of buildworld and quickworld messages

The "world" target has a nice start/stop message. However, if somebody
chooses to use "make buildworld" followed by "make installworld" rather
than "m

Fix lack of buildworld and quickworld messages

The "world" target has a nice start/stop message. However, if somebody
chooses to use "make buildworld" followed by "make installworld" rather
than "make world", they get no messages at all. I think this has been an
ongoing oversight.

This commit improves the "world" target messages (e.g. all targets are
ELF so don't need to specify that, and pre/post-world targets are shown.)
More importantly it adds start/complete messages to buildworld, and start
message to installworld. The installworld already had a complete message,
but this was redone to match the format of the other ones.

Similar messages were added to quickworld and realquickworld targets too.

show more ...


Revision tags: v4.0.4, v4.0.3, v4.0.2
# 108fa417 10-Dec-2014 Matthew Dillon <dillon@apollo.backplane.com>

build - add installworld-force target and better checks

* Add better checks to installworld. Print an error and exit if the
base system is too old, directing users to run installworld-force.

* A

build - add installworld-force target and better checks

* Add better checks to installworld. Print an error and exit if the
base system is too old, directing users to run installworld-force.

* Add installworld-force. This automates installing the world on a
base system which is too old and thus has chicken-and-egg problems
with binaries and libraries.

This install target will install to a temporary directory, compile up
a static cpdup, and then use it to just blast copy /bin, /sbin, /lib,
/libexec, /usr/bin, /usr/sbin, /usr/lib, and /usr/libexec. It will
then execute a normal make installworld and make upgrade.

show more ...


Revision tags: v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0
# 917662e5 25-Aug-2014 Matthew Dillon <dillon@apollo.backplane.com>

build - separate out the rescue initrd

* Multiple issues with users crashing at the end of an installworld because
initrd kldloads an out-of-date vn device.

* Not a good idea to update the rescue

build - separate out the rescue initrd

* Multiple issues with users crashing at the end of an installworld because
initrd kldloads an out-of-date vn device.

* Not a good idea to update the rescue image during an installworld anyway.

* Make it a manual target called 'rescue' and remind the user at the end
of the installworld that the target is available, but suggest
rebooting first.

show more ...


Revision tags: v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0
# 18cdb849 07-Oct-2013 Franco Fichtner <franco@lastsummer.de>

bsd.man.mk: add temporary ``mandiff'' target

Show differences in ASCII output between groff(1) and mandoc(1). This
will help generate uptream bug reports. Also useful for spotting local
configurat

bsd.man.mk: add temporary ``mandiff'' target

Show differences in ASCII output between groff(1) and mandoc(1). This
will help generate uptream bug reports. Also useful for spotting local
configuration quirks of both programs.

show more ...


Revision tags: v3.4.3
# f2f03f32 17-Aug-2013 John Marino <draco@marino.st>

Remove last two references to legacy make

This last two LEGACY MAKE conditions slipped by. The others were removed
in a previous commit.


Revision tags: v3.4.2
# ee48961f 20-May-2013 Sascha Wildner <saw@online.de>

Give /usr/local/... precedence over /usr/pkg/... in various paths.


# bea7ea0d 20-May-2013 Sascha Wildner <saw@online.de>

Add /usr/local/... to various paths.


123