| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The EC2 "base" flavour installs the devel/py-awscli package at boot
time by default; we don't do this in the "small" flavour, so the
default behaviour was to update the FreeBSD-ports repository and
then do nothing with it.
Turn off firstboot_pkgs by default; if someone is using the "small"
flavour of AMIs and wants to install packages at instance launch
time, they simply need to add 'firstboot_pkgs_enable="YES"' to
/etc/rc.conf (which they must already be editing via user-data, in
order to provide the list of packages they want installed).
Sponsored by: Amazon
MFC after: 3 days
MFC to: stable/15
Relnotes: EC2 "small" images now have firstboot_pkgs_enable="NO".
|
| |
|
|
|
|
|
|
| |
Update a couple more cloudware images which I forgot about earlier.
Reviewed by: ziaee
Fixes: 464a351267dc ("Cloud releases: Switch to firstboot_pkg_upgrade")
Differential Revision: https://reviews.freebsd.org/D57006
|
| |
|
|
|
|
|
|
|
|
|
| |
Cloud images are deployed with base system packages. Introduce a
firstboot package auto updater to patch the base system on first boot.
MFC after: 1 hour
MFC to: stable/15
Reviewed by: cperciva
Sponsored by: Google Cloud
Differential Revision: https://reviews.freebsd.org/D56890
|
| |
|
|
|
|
|
| |
Make it clear which of two possible cases applies.
Reviewed by: cperciva
Differential Revision: https://reviews.freebsd.org/D56837
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit d1c176fedfc9 made create-sets.sh exit when it encounters an
error, instead of creating an empty repository. However, this turns
out to cause some issues:
1. A package not having any sets is considered an error, but during
the release build, we stuff a 'pkg' package into the repository
which doesn't have any sets, which causes a failure. Avoid this
by simply ignoring the pkg package.
2. No error was printed in this case, which made the problem hard
to diagnose. Add an explicit error message.
3. A similar problem occurred running on a repository which already
contained sets, which is not usually done during the build, but
is not necessarly an inappropriate thing to do. Fix this one by
ignoring set packages when looking for sets.
While here, fix another issue that might cause packages to be wrongly
skipped if the path to the repository contains a '-' character, since
we didn't strip the path before testing the package name.
PR: 294966
Fixes: d1c176fedfc9 ("packages: Make create-sets.sh more robust")
MFC after: 2 weeks
Reported by: Alastair Hogge <agh@riseup.net>
Reviewed by: emaste
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56792
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use ${PKG_CMD} rather than bare 'pkg' to fix the build when pkg is
not in the tools path. Provide a default in case it's not set for
some reason (e.g., running the script by hand).
Since set -- $(...) does not trigger an exit from set -e if the
command fails, this failure was silent and resulted in sets not
being built correctly if we failed to run pkg. Use a temporary
variable, which does trigger set -e, to fail correctly.
MFC after: 2 weeks
Reviewed by: sjg
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56676
|
| |
|
|
|
|
|
|
| |
This makes it less likely we will silently generate broken artifacts.
Reviewed by: ivy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56671
|
| |
|
|
|
|
|
|
|
| |
Invoke ln with -n and -f. In normal use it doesn't matter, but during
development this might be run in a partially populated leftover tree.
Reviewed by: ivy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52883
|
| |
|
|
|
|
|
| |
This reverts commit 970cef9f652ec4d902b20cba6d99dce48458d7b6.
I made a mistake when rebasing 1342eb5a832fa10e689a29faab3acb6054e4778c;
I did not mean to re-introduce this one.
|
| |
|
|
|
|
|
|
|
| |
This should fix the creation of the new packages introduced by the
import of pkgconf into the base system.
Fixes: b8352da33f34 ("pkgconf: import into the base system")
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D56589
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of driving the world package build from Makefile.inc1,
use a subdir build where each package has a subdirectory under
packages/ using the new <bsd.pkg.mk>.
Convert some metadata that was previously in the UCL files (e.g.
sets and dependencies) to Makefile variables.
Build the packages under objdir (not repodir), and use the new
stagepackages target to copy them to repodir when creating the
repository.
Determine an explicit list of packages to build in packages/Makefile
based on enabled src.conf options, and add logic to abort the build
if we attempt to build an empty package. This inverts the previous
logic in Makefile.inc1 which would simply skip empty packages.
There are a few advantages to doing it this way:
* The package build works more like the rest of the build system,
so it's more accessible to developers.
* We can customise the packages we build based on src.conf options,
e.g. skipping a package entirely, or adjusting its dependencies
based on what it actually requires.
* We have a specific list of packages that we want to build, and an
unexpectedly missing package results in a build error, instead of
silently producing a broken repository.
* It's possible to build (and in the future, install) an individual
package without having to rebuild the entire repository.
This doesn't apply to the dtb, kernel-* or src-* packages; those
have their own build systems in Makefile.inc1 and will be converted
later.
MFC after: 4 weeks (stable/15 only)
Reviewed by: jlduran, sjg, brooks
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56087
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This should fix the creation of the new packages introduced by the
import of pkgconf into the base system.
Fixes: b8352da33f34 ("pkgconf: import into the base system")
PR: 294724
Reviewed by: ivy, ngie
Approved by: ngie
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D56589
|
| |
|
|
|
|
| |
This should no longer be necessary after 2018ae4e3b6a.
This reverts commit cfe0b7d37e552d78762c029f5b15e0f36d9d0d38.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FreeBSD-clang package contains a 32-bit shared object at
/usr/lib/clang/19/lib/freebsd/libclang_rt.asan-i386.so
This is expected, since clang uses this object when compiling for i386
targets with asan enabled.
What is not expected is that the FreeBSD-clang package currently depends
on 32-bit libc packages due to pkg's shared library analysis, making it
impossible to install pkgbase on x86_64 without any lib32 packages.
This commit leverages a new pkg feature implemented in [1], but could
be landed before a pkg version including that feature is released
without any ill effects. Unknown keys in package manifests are ignored.
[1]: https://github.com/freebsd/pkg/pull/2594
Reviewed by: ivy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54792
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Oracle's previous support is no longer available to the project.
Repeated attempts to find a sponsor within Oracle's cloud business
have not been successful.
The last published official images are from 15.0-RELEASE.
https://marketplace.oracle.com/app/freebsd-release
Relnotes: yes
Sponsored by: SkunkWerks, GmbH
Differential Revision: https://reviews.freebsd.org/D56360
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
| |
To avoid breaking the build due to incompatible changes in flua or lua
libraries on the host, use the bootstrap flua for the package build.
MFC after: 2 weeks
Reviewed by: kevans, emaste
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56271
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In libucl 0.9.3, macros and includes are disabled by default when
creating a new UCL parser. This breaks the package build, which
relies on includes. Fix this by explicitly passing zero flags
to ucl.parser().
MFC after: 3 days
Fixes: abda442d92fd ("contrib/libucl: Import libucl 0.9.3")
Reviewed by: kevans, bapt
Reported by: freebsd@walstatt-de.de
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D56266
|
| |
|
|
|
|
|
|
| |
These were modified to avoid triggering a libucl bug which is now fixed.
MFC after: 1 week
Reviewed by: ivy, kevans
Differential Revision: https://reviews.freebsd.org/D52824
|
| |
|
|
|
|
|
|
|
| |
The correct syntax is 'post-deinstall', not 'post-uninstall'.
MFC after: 3 days (stable/15 only)
Reviewed by: jlduran, des
Differential Revision: https://reviews.freebsd.org/D56109
Sponsored by: https://www.patreon.com/bsdivy
|
| |
|
|
|
|
|
|
|
|
| |
/etc/rc.d/var_run uses mtree, which is in the devel set and isn't
installed as part of either minimal or optional, so add a manual
dependency.
Reviewed by: des, bapt, emaste
Differential Revision: https://reviews.freebsd.org/D54540
Sponsored by: https://www.patreon.com/bsdivy
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pkg(8), via its daily periodic script, requires xz. We don't have
a way to encode dependencies from ports on base packages right now,
so instead move xz to the minimal set so it's always installed.
This isn't an ideal solution, but it's justified in this case since
pkg(8) is always installed, so having its dependencies always
installed is acceptable.
(Following discusson on the diff, new versions of pkg have now been
changed to use zstd instead of xz, but we still think xz is useful
enough to keep in minimal.)
MFC after: 1 week (stable/15 only)
Reviewed by: des, bapt, emaste
Differential Revision: https://reviews.freebsd.org/D55630
Sponsored by: https://www.patreon.com/bsdivy
|
| |
|
|
|
|
|
|
|
|
| |
This package no longer exists since it was merged into bluetooth.
Fixes: 41ee4321cc52 ("libsdp: Move to bluetooth-lib package")
MFC after: 3 days
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D55822
Sponsored by: https://www.patreon.com/bsdivy
|
| |
|
|
|
|
|
|
|
|
| |
This file was missed when ftpd(8) was removed.
Fixes: 614c8750ce11 ("Remove ftpd(8)")
MFC after: 3 days
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D55820
Sponsored by: https://www.patreon.com/bsdivy
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The chroot_cleanup routine handles any cleanup needed post-chroot_setup,
etc. This consists of purely tearing down `${CHROOTDIR}/dev` today, but
might involve additional steps, as needed for custom functions. This
allows end-users to override the various chroot functions without having
to modify code in main() or replicate the unmount procedure in an
equivalent routine setup via the trap builtin.
This change modifies the /dev unmount process to use `umount -f` instead
of `umount`. The latter can result in failures if resources are still
mounted or are running post-build, whereas the former will clean up any
resources still in use by processes running in the chroot at time of
build. Moreover, the `chroot_cleanup` routine is now called when the
script is killed with `SIGINT` and `SIGTERM`, as well as at `EXIT`,
better ensuring that the script's resources are cleaned up in relatively common
scenarios that can be detected/handled.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D55450 (as part of a larger change)
|
| |
|
|
|
|
|
| |
This helps others attempting to customize the behavior of `release.sh`.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D55450 (as part of a larger change)
|
| |
|
|
|
| |
MFC after: 3 days
Sponsored by: Amazon
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 6a13aeac3c1f98db7cf156f24a4d6bc8d3c321f6.
The "bogus dependencies being installed" issue was traced down to pkg
confusion surrounding libclang_rt.asan-i386.so linking to a 32-bit
libgcc_s.so.1, and a more minimal workaround of "install clibs-lib32"
has been applied, so this hack is no longer required.
MFC after: 3 days
Sponsored by: Amazon
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FreeBSD-clang package on amd64 contains libclang_rt.asan-i386.so,
which links to the 32-bit version of libgcc_s.so.1. It is not clear
if that file belongs in FreeBSD-clang or if it should be placed into
a different package.
For unknown reasons, pkg *sometimes* recognizes this and decides that
it needs to install a package to supply libgcc_s.so.1:32.
In particular, when we initially install the VM with 'pkg install
[long list of FreeBSD-* packages]', pkg does not recognize that it
wants this; but the *next* time 'pkg install' runs, it decides that
it needs libgcc_s.so.1:32 -- even though that particular library is
not needed by the particular package we're trying to install -- and
goes looking for it... and ends up picking gcc12-devel as a provider.
Later in the EC2 image building process, we run 'pkg autoremove' (which
was added during 15.0 to get rid of the "bogus dependencies" which were
added while installing other packages) and pkg is once again confused:
It decides that gcc12-devel is an automatic port which is not required
by anything else, but upon determining that it should be removed it
then determines that FreeBSD-clang depends upon a port which is being
removed and deletes FreeBSD-clang as well.
It's not clear what is breaking in pkg, but as a temporary workaround
add the FreeBSD-clibs-lib32 package to the "small" and "builder" EC2
image flavours in order to satisfy the libgcc_s.so.1 demand.
This commit should be reverted if libclang_rt.asan-i386.so moves out
of FreeBSD-clang, (i.e. if it becomes possible to install a 32-bit-free
amd64 system) or when the pkg issue is resolved (i.e. pkg consistently
recognizes the shared library dependency and installs clibs-lib32
automatically as a FreeBSD-clang dependency).
MFC after: 3 days
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D55978
|
| |
|
|
|
|
|
|
| |
We're avoiding *unicode*, not avoiding *ascii*.
Reported by: marck
Fixes: 277830b4d3ae ("EC2: Don't use unicode in boot loader")
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
|
| |
The boot loader menu is disabled by default in EC2, but if it is ever
turned on, the default (unicode) output breaks EC2's web interface to
the serial console.
Set loader_menu_frame="ascii" instead.
MFC after: 3 days
Sponsored by: Amazon
|
| |
|
|
|
|
|
|
|
|
| |
This matches non-pkgbase behavior as installworld/installkernel skip the
debug bits if these knobs are set.
MFC after: 1 week
Sponsored by: Chelsio Communications
Reviewed by: cperciva
Differential Revision: https://reviews.freebsd.org/D55572
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We added the option to build BSD diff3 in commit 2201f7c49f11 ("Build
BSD diff3 if GNU diff3 is disabled.") and made it the default in
4d5c434ed16e ("diff3: use bsd diff3 by default") after resolving
deficiencies relative to GNU diff3. Thus, we can now remove the GNU
diff3 build infrastructure and source.
Reviewed by: bapt, ziaee
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46878
|
| |
|
|
|
|
|
|
|
| |
Having these packages available on release media may help users who
need to sneakernet other packages (e.g. firmware) from systems running
Linux or Windows.
Suggested by: vladlen, ziaee
MFC after: 3 days
|
| |
|
|
|
|
|
|
|
|
| |
Running `pkg -d` in pkg-stage.sh results in multiple GB of network
traffic being written into the log files, which is less than helpful
when it comes to tracking down build failures. Remove the -d flag.
MFC after: 5 days
X-MFC-note: The code in 15 has diverged from 14, but the flag is
there, just in a different place.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`make vm-image` calls mk-vmimage.sh, which supports
`-c CONFFILE`. This file gets sourced before building the image.
One example of how to use it is to define
vm_extra_filter_base_packages() to filter the list of packages
installed into the VM image:
# vm-nodbg32.conf
vm_extra_filter_base_packages() {
grep -v -E '(-dbg|lib32)'
}
$ make VM_IMAGE_CONFIG=path/to/vm-nodbg32.conf \
VMFORMATS=raw \
-DWITH_VMIMAGES \
vm-image
Signed-off-by: Pat Maddox <pat@patmaddox.com>
Reviewed by: cperciva
Closes: https://github.com/freebsd/freebsd-src/pull/1993
|
| |
|
|
|
|
|
|
| |
- Add *-jail-dbg variant to dvd1 to match the non-jail variant;
- Remove assertion introduced in the previous commit for consistency with existing code.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1991
|
| |
|
|
|
|
|
| |
Having *-jail metapackage variants on the installation media allows convenient offline jail creation.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1991
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The packages for X.Y-RELEASE are a snapshot of the quarterly branch
for stable/X, i.e. typically built on X.(Y-1)-RELEASE. (The case of
Y=0 is an exception for obvious reasons.) This works for most ports
but not for kernel modules, which may need to be built on the release
in question; this is why we have a separate "kmods" repository.
Make sure that we put the packages from the kmods repository onto the
mini-pkg-repo on the DVD rather than shipping unusable firmware.
Reviewed by: bz
MFC after: 1 week
Sponsored by: https://www.patreon.com/cperciva
Differential Revision: https://reviews.freebsd.org/D52581
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We always use NO_ROOT for release artifact builds, so remove the
alternate code paths.
For the first step we set NO_ROOT unconditionally in cases that invoke
submakes, and turn NO_ROOT being unset into an error in lover-level
targets so that we can catch potential out-of-tree build scripts (or
missed in-tree cases) that expect to run not-NO_ROOT builds. The second
step will be to remove those entirely.
Reviewed by: cperciva
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54179
|
| |
|
|
|
|
|
| |
PR: 292595
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D54923
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instructions in /etc/pkg/FreeBSD.conf and elsewhere recommend putting
changes in /usr/local/etc/pkg/repos/FreeBSD.conf so bring OCI containers
into line as well.
Reviewed by: dfr, ivy
Differential Revision: https://reviews.freebsd.org/D54090
MFC after: 5 days
Sponsored by: SkunkWerks, GmbH
|
| |
|
|
|
|
|
|
| |
When building VM and Cloud images with a packaged base system, install
the pkg package; this makes it possible for the base system to be
updated without installing pkg from the FreeBSD-ports repository.
Sponsored by: Amazon
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Record releases in the SSM Parameter Store not just as e.g.
/aws/service/freebsd/arm64/small/ufs/15.0/RELEASE
but also as .../RELEASE/latest, e.g.
/aws/service/freebsd/arm64/small/ufs/15.0/RELEASE/latest
The latter parameters will be updated when new AMIs are built with
security and errata updates appplied, and have been backfilled for
15.0.
MFC after: 3 days
MFC to: stable/15 (14.x will not get security-update AMIs)
Sponsored by: Amazon
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
awk changed somewhere between 14 and 15 and it stopped accepting
a hexadecimal number as its input - it will always return 0.
This results in a very badly written apple boot block.
So just remove it; do the math in shell.
PR: kern/292341
Differential Revision: https://reviews.freebsd.org/D54639
Reviewed by: imp
MFC after: 1 week
|
| |
|
|
|
|
| |
Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me>
Reviewed by: jhibbits, emaste
Pull request: https://github.com/freebsd/freebsd-src/pull/1914
|
| |
|
|
|
|
|
|
|
|
| |
The default shell for root has been changed to sh(1) followup changing
in release images sh(1) the shell for the "freebsd" user.
MFC After: 1 week
Reviewed by: manu, emaste (re)
Approved by: manu, emaste (re)
Differential Revision: https://reviews.freebsd.org/D54602
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is required for MSI support on GCE ARM64 instances which is
prerequisite to gve(4) not panicking at boot, and nvme(4) also has
a real sad time without interrupts. Tested on a variety of c4a VMs.
This is meant to be a temporary hack; long term fix would be to
check for the hypervisor and quirk gve(4) device with
PCI_QUIRK_ENABLE_MSI_VM.
PR: kern/292081
MFC after: 1 week
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes hw.vtnet.mq_disable=1.
This workaround was originally introduced nearly a decade ago to
address stability issues on KVM that have long since been resolved
in both the FreeBSD driver and the GCE hypervisor. Removing this
allows network interrupts to scale across multiple vCPUs.
Tested on n2-highcpu-16 VM with 15.0-RELEASE and confirmed multiple
queue pairs active and interrupts handling across cores.
PR: kern/292081
MFC after: 1 day
|
| |
|
|
|
|
|
|
|
|
| |
The sed command was missing the ${DESTDIR} prefix, meaning it was
attempting to modify the build host's /etc/rc.d/growfs instead of
the target image's script. Tested in an arm64 builder that builds
as non-root.
PR: kern/292081
MFC after: 1 day
|
| |
|
|
|
|
|
|
|
| |
sendmail is already disabled by default everywhere since 14.0
MFC After: 1 week
Approved by: emaste (re)
Reviewed by: emaste (re)
Differential Revision: https://reviews.freebsd.org/D54575
|