aboutsummaryrefslogtreecommitdiff
path: root/release/scripts
Commit message (Collapse)AuthorAgeFilesLines
* release: Rework vm_extra_pre_umountColin Percival2024-05-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vm_extra_pre_umount function in vmimage.subr served two purposes: It removed /etc/resolv.conf and /qemu (if cross-building), and it provided a function for cloudware to override in order to make cloud specific changes to the filesystem before constructing a disk image. This resulted in a number of bugs: 1. When cross-building, the emulator binary was left as /qemu in the Azure, GCE, Openstack and Vagrant images. 2. The build host's resolv.conf was left as /etc/resolv.conf in the basic-ci and basic-cloudinit images. 3. When building GCE images, a Google-specific resolv.conf file was constructed, and then deleted before the disk image was created. Move the bits needed for running code inside a VM staging directory from vm_install_base into a new vm_emulation_setup routine, and move the corresponding cleanup bits from vm_extra_pre_umount to a new vm_emulation_cleanup routine. Remove the /qemu and /etc/resolv.conf cleanups from the cloudware configuration files (where they exist) since we will now be running vm_emulation_cleanup to remove those even when vm_extra_pre_umount has been overridden. Override vm_emulation_cleanup in gce.conf since in that one case (and *only* that one case) we don't want to clean up resolv.conf (since it was constructed for the VM image rather than copied from the host). releng/14.1 candidate. MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva
* release: Use the ABI of the target release to fetch packagesJohn Baldwin2024-04-141-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Point --rootdir at the installed destdir in the dvd tree. This causes pkg to determine the ABI from the installed destdir instead of the host's binaries. Previously the result was that packages for the host's ABI were always downloaded breaking cross-releases (e.g. arm64 releases built on an amd64 host included amd64 packages on the DVD ISO image rather than arm64 packages). This also handles version mismatches, and I tested this by cross-building a 15.x arm64 release on a 14.x amd64 host. - As a result, pkg now does a chdir(3) to the rootdir before running, so the -o argument to fetch needs to be updated to be relative to rootdir instead of the CWD as make runs. - Add a new ROOTDIR variable to limit references to "dvd" to one place. Ideally ROOTDIR would be an argument to this script so that it didn't really know about the dvd layout at all. - While here, simplify creation of symlinks by just using a longer path to the link name instead of using 'cd' in the shell before invoking ln(1). Also use ln -sf to create the pkg.pkg symlink rather than rm + ln. PR: 278273 Reported by: gatekeeper <tiago.gasiba@gmail.com> Reviewed by: imp, delphij MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D44749
* Reapply "pkgbase: Create a FreeBSD-dtb package"Emmanuel Vadot2024-02-031-6/+14
| | | | | | | | | | | | This reverts commit 9bbe06b004e2cadb55a3792c77991ee640bf0f52. Before that dtbs where included in each kernel packages which prevents us to install multiple kernels. Fix mtree-to-plist.awk to only generate a dtb.plist when we create the kernel one (because dtb are installed during make installkernel). Sponsored by: Beckhoff Automation GmbH & Co. KG
* pkg-stage.sh: add x11/sddmGraham Perrin2024-02-031-0/+1
| | | | | | MFC After: 2 days Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/996
* Revert "pkgbase: Create a FreeBSD-dtb package"Emmanuel Vadot2024-02-021-14/+6
| | | | | | | | | Somehow this doesn't work iwth make packages due to some kind of a race. The package is first created correctly but later in the process it is overwritten by a badly created empty package. Revert in the mean time so we can have working pkgbase on arm/arm64 This reverts commit a5afd7920d50ff23f91bdbabb1f0fd7ba028ba9e.
* pkgbase: Create a FreeBSD-dtb packageEmmanuel Vadot2024-01-291-6/+14
| | | | | | | | | Before that dtbs where included in each kernel packages which prevents us to install multiple kernels. Differential Revision: https://reviews.freebsd.org/D43632 Reviewed by: bapt Sponsored by: Beckhoff Automation GmbH & Co. KG
* pkgbase: propagate SRCRELDATE to the packages correctlyBaptiste Daroussin2023-12-041-0/+1
| | | | | | MFC After: 3 days Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D42892
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-168-9/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* release/DVD_PACKAGES: Update the names of drm-kmod portsLi-Wen Hsu2023-07-041-2/+3
| | | | | | | Reviewed by: x11 (manu), re (gjb) MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40770
* release: Remove "All Rights Reserved" from FreeBSD Foundation copyrightsEd Maste2023-04-171-1/+0
|
* pkg-stage.sh: update port trailing version informationGlen Barber2023-03-201-2/+2
| | | | | | | | Reported by: Ian Smith, Graham Perrin MFC after: 1 week X-MFC-13.2: NO Sponsored by: Rubicon Communications, LLC ("Netgate")
* release: Add support for creating ZFS-based VM imagesMark Johnston2022-10-281-2/+6
| | | | | | | | | | | | | | | | | | The change extends vmimage.subr to handle a new parameter, VMFS, which should be equal to either "ufs" or "zfs". When it is set to ZFS, we use makefs to create a bootable pool populated using the same dataset layout as bsdinstall and "poudriere image" use. The pool can be grown using the growfs rc.d script, just as in UFS images. This will make it easy to provide VM and cloud images with ZFS as the root filesystem. So far I did not do extensive testing of cloud images; I merely verified that creation of ZFS-based AWS AMIs works and allows me to create amd64 and arm64 EC2 instances with ZFS as the root filesystem. Reviewed by: emaste, gjb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34426
* Replace subversion with git in the installation DVDAlan Somers2022-05-271-2/+1
| | | | | | | | | | I assume the original reason for Subversion's inclusion was to checkout the base system. But now we use git for that. Reviewed by: gjb Sponsored by: Axcient MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35329
* release: fix on-disc pkg binary symbolic linksGlen Barber2022-04-261-1/+3
| | | | | | | PR: 263574 Reported by: loader MFC after: immediately Sponsored by: Rubicon Communications, LLC ("Netgate")
* release: Move the vagrant.vmx config out to its own file to match vboxBrad Davis2021-03-121-0/+31
| | | | | | Silly to have all these echos and makes this easier to use in other tooling. Reviewed by: gjb (re)
* Use makefs(8) in release VM-image generation instead of md(4) and newfs.Nathan Whitehorn2021-02-251-2/+0
| | | | | | | | | | | | | | Using makefs instead reduces the privileges needed to build VM images, simplifies the script (no need to copy files to a fresh image at the end), and improves portability by allowing generation of cross-endian images. As a result of the last, this patch also adds support for generation of powerpc64 and powerpc64le VM images. No other changes to the output. Tested and working for both amd64 and powerpc64 targets. Reviewed by: gjb Differential Revision: https://reviews.freebsd.org/D28912
* arm64: convert virtual machine images to GPTMitchell Horne2020-10-301-9/+1
| | | | | | | | | | | | | | | | | | | These images were switched to MBR in r281876 as a way to cope with a hard-coded partition GUID in QEMU's default EFI firmware. Enough time has passed that this is no longer a problem; QEMU versions >= 4.0 include a copy of edk2 EFI firmware that can detect the root filesystem properly. Alternatively, sysutils/u-boot-qemu-arm64 can be used. Switch back to building these images with a GPT partition table, and re-enable the swap partition. Reviewed by: gjb, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26986 Notes: svn path=/head/; revision=367177
* release: update to use git instead of svn:Glen Barber2020-07-311-133/+0
| | | | | | | | | | | | | | | | | | | | | | release.sh: - Bump the version number. - Default VCSCMD to '/usr/local/bin/git clone'. - Rename SVN* variables to GIT* equivalents. - Remove dead code to inject a trailing '/' between two variables. - Remove SRC_FORCE_CHECKOUT. - Exit if the build host does not have devel/git installed. - Install devel/git in the build chroot(8) for newvers.sh. release.conf.sample: - Update sample configuration variables to the git equivalent. relnotes-search.sh: - Remove script. It is specifically for use with svn. Sponsored by: Rubicon Communications, LLC (netgate.com) Notes: svn path=/projects/release-git/; revision=363740
* pkgbase: use -dev,-dbg instead of -development,-debugEd Maste2020-05-201-1/+1
| | | | | | | | | | | | | | | | | | -development is long and awkward, and is also inconsistent with prior art from the Linux world, which uses -dev (Debian) or -devel (Red Hat). Follow the Debian convention, and similarly for debug info packages. Also remove redundant pkgbase development tag from includes. We already tag include files with package=runtime,dev; there is no need to separately tag them as dev. Discussed with: bapt Reviewed by: manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24139 Notes: svn path=/head/; revision=361290
* pkgbase: remove more profile package leftoversEd Maste2020-04-011-1/+1
| | | | | | | | As of r356797 we don't produce profile packages. r358549 removed one remnant of profile package support; clean up another now. Notes: svn path=/head/; revision=359519
* pkgbase: Move device.hints from the runtime to the bootloader packageEmmanuel Vadot2020-03-241-3/+2
| | | | | | | | | | | | | | | | | Also mark it as config file so if a user changes this file pkg will attempt to merge the new file upon an update. device.hints is neither related to runtime or loader but it make more sense to have it in loader in case some user delete /boot/ and wants to recreate it, now only two packages are required FreeBSD-bootloader and the kernel package. While here change where we override the package for files installed in /boot, this allow us to keep other tags (such as config). Reported by: pizzamig Reviewed by: bapt pizzamig emaste Differential Revision: https://reviews.freebsd.org/D24159 Notes: svn path=/head/; revision=359265
* pkgbase: Move the bootloader related files to a new FreeBSD-bootloader packageEmmanuel Vadot2019-09-051-0/+3
| | | | | | | | | | Bootloader file isn't needed for jails so don't include it in FreeBSD-runtime. Reviewed by: bapt, delphij, gjb Differential Revision: https://reviews.freebsd.org/D21496 Notes: svn path=/head/; revision=351848
* In followup to r340406, remove doc from the EXTRA_DISTRIBUTIONSGlen Barber2018-11-131-3/+0
| | | | | | | | | | | | list and remaining references from the script used to create the MANIFEST file used by bsdinstall(8). No MFC is planned at this time. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340407
* The roff ascii.gz documentation installed to /usr/share/docGlen Barber2018-11-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | was removed in r318881 when roff was removed from the base system. This results in the doc.txz distribution set containing a single directory (./) which is empty. Remove the "Additional documentation" option from the menu selection of bsdinstall(8), as the plain-text documentation installed in /usr/share/doc is installed as part of the packageworld target. The doc entry has not been removed from EXTRA_DISTRIBUTIONS in Makefile.inc1, in case its removal triggers an issue with freebsd-update(8), which is currently aware of the world/doc component, so the empty doc.txz continues to be created as a precaution. Noticed by: rgrimes MFC after: 2 days MFC before: 12.0-RC1 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340406
* Add graphics/drm-legacy-kmod and graphics/drm-stable-kmod to theGlen Barber2018-10-101-0/+2
| | | | | | | | | | list of packages to include on the dvd installer. Approved by: re (marius, rgrimes) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339290
* Update the pkg-stage.sh script used to populate packages on theGlen Barber2018-09-181-1/+1
| | | | | | | | | | | | | dvd1.iso installation medium from including KDE4 to KDE5, as the KDE4-based ports have been marked as deprecated in the Ports Collection. MFC after: 3 days Approved by: re (rgrimes) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=338754
* build: skip the database check when generating install mediaRoger Pau Monné2018-08-171-1/+1
| | | | | | | | | | | | | | | There are several scripts and targets solely used to generate install media, make sure DB_FROM_SRC is used in that case in order to prevent checking the host database, which is irrelevant when generating install binaries. Sponsored by: Citrix Systems R&D PR: 230459 Reviewed by: gjb Differential revision: https://reviews.freebsd.org/D16638 Notes: svn path=/head/; revision=337960
* Change installer default to not install ports treeSteve Wills2018-01-301-0/+1
| | | | | | | | | Reviewed by: gjb, dteske, allanjude, bdrewery, mat Approved by: gjb Differential Revision: https://reviews.freebsd.org/D14064 Notes: svn path=/head/; revision=328593
* Rework r325076: Just use the pre-existing OBJDIR.Bryan Drewery2017-11-051-7/+3
| | | | | | | | | | Like was done in usr.sbin/mergemaster in r249906, we can just use the already-built OBJDIR for install(1). Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325457
* Rework r254951 to not reach into private OBJDIR areas.Bryan Drewery2017-10-291-5/+3
| | | | | | | | | | | | | | | | | | | The original change was dealing with the build wanting to run a newer install(1) that was not yet installed. The solution to look into the private legacy directory of the existing build conflicts with 2 upcoming features: a changed OBJDIR format, and splitting the host tools into arch-dependent and arch-independent directories. Rather than hardcoding and changing the paths in this script, just let kernel-toolchain do the work, while disabling much of the meat. With -j15 this finishes in 25 seconds for me and 117 seconds with -j1. All that is really needed is bootstrap-tools, but the system is not currently written in a way that all previous dependent steps will have ran. The previous steps, such as _worldtmp, are being reworked and renamed and so cannot be relied upon to be right. Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325076
* Fix Vagrant image upload after recent API changes.Glen Barber2017-07-031-19/+19
| | | | | | | | | | | | | - Update ATLAS_UPLOAD_URL to avoid various regular expressions from failing to match due to redirections. - Use ATLAS_UPLOAD_URL throughout the script. - Adjust several regular expression patterns. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=320599
* Allow PORTSDIR to be overridden in the pkg-stage target.Glen Barber2017-05-221-4/+5
| | | | | | | | | | Submitted by: Johannes Jost Meixner (original) PR: 218393 MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=318646
* Update release/scripts/atlas-upload.sh to account for API changesGlen Barber2017-05-111-5/+5
| | | | | | | | | | | | | | made recently by Atlas Hashicorp. The data returned from GET and POST requests has changed, which caused a number of regex patterns to fail to be properly identified as 'success' or 'failure', which ended up in upload/publish failures. Tested with: 12-CURRENT MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=318190
* Add sysutils/tmux to the DVD package setEd Maste2017-04-241-0/+1
| | | | | | | | | | | The zsh + tmux combination is commonly wanted. Approved by: gjb MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=317376
* Revert r309339, thus re-instating r309314Matthew Seaman2016-12-161-4/+5
| | | | | | | | | | | | | The original problem with conflicting definitions of ${PKG_CMD} was solved by r427523 in ports (see https://reviews.freebsd.org/D8677), so this should be safe now. Reviewed by: gjb Approved by: gjb Differential Revision: https://reviews.freebsd.org/D8120 Notes: svn path=/head/; revision=310181
* Revert r309314, which breaks installing ports.Glen Barber2016-11-301-5/+4
| | | | | | | | | Requested by: antoine Differential Revision: https://reviews.freebsd.org/D8120 (related) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=309339
* Allow a user-overridable setting 'PKG_CMD' to control the command usedMatthew Seaman2016-11-301-4/+5
| | | | | | | | | | | | | | | | | | | | | | to create a repo during 'make packages' This would have been useful for a situation I found myself in where pkg(8) had been upgraded to a version that wanted the FBSD_1.5 ABI version but libc.so.7 had not been upgraded, and only provided FBSD_1.4. I found I needed to update libc in order to run pkg, and I also needed to use pkg to update libc... Which is why pkg-static exists, but there's currently no way to tell the build system to use pkg-static instead of pkg. This creates a variable PKG_CMD, default value 'pkg', that can be overridden from the command line. Reviewed by: gjb Approved by: gjb Differential Revision: https://reviews.freebsd.org/D8120 Notes: svn path=/head/; revision=309314
* Apply mergemaster r255428:Xin LI2016-06-081-1/+1
| | | | | | | | | | Pass -n (do not emit comments) when saving mtree information for future mergemaster(8) runs. MFC after: 3 days Notes: svn path=/head/; revision=301584
* Replace linux-f10 packages with updated linux-c6.Glen Barber2016-05-271-1/+1
| | | | | | | | | PR: 208280 Submitted by: Johannes Meixner Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=300860
* Avoid adding the '-release' suffix to non-debug kernel packages.Glen Barber2016-03-081-1/+1
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296545
* Prefix lib32, profile, debug, and development packagesGlen Barber2016-03-081-7/+3
| | | | | | | | | with 'runtime-' for consistency with other packages. Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=296531
* Include a 'package-pkg' target, intended for use forGlen Barber2016-02-241-0/+25
| | | | | | | | | | | | | | | | | architectures we do not provide upstream pkg(8) packages. This is not tied to anything as-is, and likely will break your system if used (based on experience with testing with powerpc). There is an overwhelming amount of evil happening here, so until the issues are fixed, it will not be tied into the 'packages' target. Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295955
* Fix naming inconsistency with lib32 debug packages.Glen Barber2016-02-011-1/+1
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295127
* Add 'stagekernel' target, which invokes 'distributekernel'Glen Barber2016-01-271-2/+20
| | | | | | | | | | | | | | | | | | | | with -DNO_ROOT to create the METALOG mtree(8) file. Separate the default STAGEDIR for world (WSTAGEDIR) and kernel (KSTAGEDIR). Fix the 'create-kernel-packages' target to work properly. Evaluate if 'kernel' is set when invoking mtree-to-plist.awk, which splits the kernel and kernel.debug into separate plist files. Fix METALOG creation when building/packaging multiple kernels. Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=294942
* MFHGlen Barber2016-01-051-13/+59
|\ | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=293225
| * Merge ^/projects/release-install-debug:Glen Barber2016-01-051-13/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rework MANIFEST generation and parsing via bsdinstall(8). - Allow selecting debugging distribution sets during install. - Rework bsdinstall(8) to fetch remote debug distribution sets when they are not available on the local install medium. - Allow selecting additional non-GENERIC kernels during install. At present, GENERIC is still required, and installed by default. Tested with: head@r293203 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=293223
* | MFH r289384-r293170Glen Barber2016-01-041-1/+1
|\| | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=293172
| * Ensure TEMPROOT is unique, to guard against multiple builds on same machine.Simon J. Gerraty2015-11-081-1/+1
| | | | | | | | | | | | | | | | Differential Revision: D3002 Reviewed by: gjb Notes: svn path=/head/; revision=290565
* | Merge from headBaptiste Daroussin2015-10-091-10/+11
|\| | | | | | | Notes: svn path=/projects/release-pkg/; revision=289092
| * Use print as a function, not operator.Craig Rodrigues2015-10-081-10/+11
| | | | | | | | Notes: svn path=/head/; revision=289002