Changes:
- logclean: Don't show dry-run messages when not in dry mode.
- bulk [-a] -f: Delete packages unknown/unqueued like pkgclean would.
- bulk: Link to the build logs at PACKAGES/logs
- bulk missing pkg: Delete packages before fetching from remote
- enter_interactive: Allow non-root to write to /wrkdirs
- Various locking changes
- Package Fetch: Clarify cached packages may be used.
- Fix race with distfile fetch saving
- Show loginfo on error
Changes:
- git dirty check: Check for untracked Makefile.local and patch files
- bulk/testport: Detect *new but disabled* OPTIONS
- buildlog_start: Revert display back to readable local TZ.
- testport -c: Fix to use the right port directory
- Package fetch: Generate logfiles, stats, and show in web
- PACKAGE_FETCH_WHITELIST: Fix only reading the first pkgname.
- PACKAGE_FETCH_WHITELIST: Fix so globs in the list work too.
- Package fetch: Check OSVERSION / ABI
- Package fetch: Save fetch list and url into logdir.
- Package fetch: Don't double count ports-mgmt/pkg
Changes:
* misc fixes for pkg-1.17's new PKG_SUFX of .pkg
* Some PORTBUILD_UID/GID fixes and display changes
* ports -c: Disallow using - in new trees as it causes parsing issues
* ALLOW_MAKE_JOBS: Explicitly compare to 'yes'
* bulk -b: prefetch package fixes
* bulk -b: prefetch packages are now cached (linked and deleted under normal pkgclean/bulk delete behavior)
* Add in more notes for built packages.
* Don't store timestamp+poudriere version git notes if PKG_REPRODUCIBLE is set
* Change pkg notes naming style From_This to_this
* Allow zstd in WRKDIR_ARCHIVE_FORMAT
* misc manpage improvements
* jail: Automatically set XDEV as needed
* Rename MUTABLE_BASE to clearer IMMUTABLE_BASE
* bulk/testport -i: Many improvements and /etc/motd populated with env hints
* jail -m src: Fix src.conf not being used during install
* Add PACKAGE_FETCH_BLACKLIST
* bulk: Rebuild all packages if the pkg bootstrap is missing
* Disallow /dev/bpf in the jails
* CCACHE_DIR_NON_ROOT_SAFE: Chmod /root to 755 to allow non-root to access
* CCACHE + BUILD_AS_NON_ROOT: Give detailed information on proper setup for this.
See https://github.com/freebsd/poudriere/commit/8c36dfe5cca92
* bulk: Do not process dependencies of IGNORED ports.
* misc error handling fixes
* bulk: Rebuild packages with changed ABI
Changes:
- PACKAGE_FETCH: Don't fetch packages that are not queued.
- bulk: Store (pkg note) and show top level ports git info as well
- image: various fixes
Changes
- testport: Show logs info on depend build failures
- MUTABLE_BASE=schg: Support writing to /boot/firmware for cpu microcode
- jail -x: This is not limited to src builds
- bulk: Don't run 'bulk crashed' hook on -f failures
- Add git hash annotation into built packages.
- jail -cu: Fix freebsd-update using wrong arch [1]
- Update log parsing reasons (processonelog.sh)
PR: 256652 [1]
Changes:
* testport|bulk -b: New feature to fetch remote packages. See PACKAGE_FETCH options in poudriere.conf.sample.
This feature has pitfalls like downloading and deleting packages. That may be improved with
upcoming improved incremental build supoport.
* ports now defaults to using FreeBSD's git repository for checkout when no method is specified.
* jail: Add support for fetching from artifact.ci.freebsd.org
* ports -m git: Remove default --single-branch.
* ports: Support -D to not shallow clone with git
* ports: Properly detect vcs checkout errors
* ports/jail -m git: Properly check for git being installed
* logclean -N <n>: Fix to keep latest <n>.
* bulk -n: Don't remove .building dir unless this ran made it
* bulk -f: Ignore anything after first column.
* Update cpdup to v1.22 68cb3cb4e14d9c
* ports/jail -m git: Support -U /local/path.
* jail: Allow poudriere -v to override -q for git/svn
* jail -cm git: Allow -v to be excluded to default to remote branch
* ports: Fix -B being rejected with git.
* jail -r: Fix this to work again
** Some git handling and the PACKAGE_FETCH support is not yet stable and may change in the future.
* ports: move away from portsnap as default
* zfs rollback: Try harder to rollback snapshots.
* bulk -n: Don't remove .building dir unless this ran made it
* common.sh: use new URL for base system
* jail: Fix git checkout during jail update to operate within SRC_BASE.
* image: Add -w (swap size) and -b (swap position)
* image: Support pre and post build scripts
* image: remove unneeded vfs.root.mountfrom that might cause problems
* image: Fix usb and usb+mfs
* image: Add pkgbase support
* image: Fix loader.efi name for arm and arm64
* image: Don't install pmbr and gptboot on !x86
* image: Enable zfs in rc.conf
* testport: Support overlay
* jail: Support PKG_REPO_SIGNING_KEY/KERNCONF for pkgbase
* bulk|testport -i: Mount ports rw
* jail -u: Fix git not running from the src dir on update
* MOVED: Support from overlays
* bulk: Always build repo even if no packages build
* distclean: Don't delete .hidden files.
* bulk: Delete FORBIDDEN packages during incremental check.
* pkgclean: Delete FORBIDDEN packages.
* bulk: Delete corrupted packages like pkgclean does.
* bulk -af: Delete unqueued packages like pkgclean.
* Many test improvements
* Many fixes for builtin helpers
* A lot more random stuff
* Minor perf improvements for builtins.
* Fix html with port named "latest".
* testport / bulk -t: Set DEVELOPER in patch phase.
* image: Make iso images bootable in UEFI
* Pass MAKEWORLDARGS during installworld too
* bulk/testport: Initial support for ports OVERLAYS
* testport: Show log info on failure exit
* jail -d: Don't confirm if the jail doesn't exist
* jail -c: Fix NO_LIB32 support
* jail -i: Don't show ports tree info if not requested
* bulk: Compute queued stats after trimming ignored AND trimming queue.
* Various fixes and expansion of sh mapfile support
* Always export `LC_COLLATE=C`
- Add DISALLOW_NETWORKING, fixes#689
- qemu: Add /usr/bin/wc and /usr/bin/head to HLINK_FILES.
- image: Add zsnapshot imagetype.
- Fix pkg 1.11 issue with devfs mount.
- bulk -a: Don't print ports in summary unless -v is used.
- Show FLAVOR in more places.
- ports -l: Fix error when no ports trees exist yet.
- testport -c: Fix make.conf not being respected for `make config`.
- image: Add sleep, ls, and ping to miniroot.
- poudriere: Only pass MAKEOBJDIRPREFIX to 'jail'
- Document environment fully for poudriere/-jail/-ports.
- Revert progress indicator
- poudriere: Fix all environment to be space/quote safe.
- jail/ports -l: Avoid printing empty columns/trailing whitespace.
- jail -c -m null/tar/src: Again require -v if newvers.sh is not readable.
- Show proper errors for missing jail metadata.
- poudriere-jail.8: jail -m null does NOT null-mount during build.
- jail -c: Defer pwd_mkdb until bulk's jail_start() call.
- jail -cu: Stop modifying /etc/login.conf in the jail.
- Slightly speedup MOVED parsing
- Fix symlinked POUDRIERE_DATA unmount bug.
- testport: Fix ports-mgmt/pkg Latest link leaking into real package repository.
- bulk/status: Display the progress indicator extracted from build logs.
This will be 3.3.0.
- Update sh from head r343981
- Add a builtin for simple string substitutions
- Fix some invalid memset(3)
- mapfile fixes and tests
- Micro-optimize some hash functions to save around 30%
- Inline some mapfile checks
- Manpage updates/fixes
- Replace portsmon links with freshports.
- Document that hook plugins can provide make.conf, but not with filename patterns.
- pkgclean: Ensure -j is passed in.
- Create a dataset for poudriere/data/images during initial setup (#630)
- image -t zrawdisk: Load the ZFS module at boot, so the filesystem can be
mounted (#633)
- image -t zrawdisk: Fix check for IMAGESIZE (#634)
- image: On failure, don't leave md(4) devices laying around (#635)
- image: When copying the contents of an overlay, copy symlinks as
symlinks (#636)
- Update sh to r338473
- bulk -cC: Prompt to delete if not in a TTY.
- Only prompt when ATOMIC_PACKAGE_REPOSITORY is off.
- Only prompt if there are packages to remove.
- ATOMIC_PACKAGE_REPOSITORY: Be a bit more verbose about packages directory
paths.
- image: Add bytes to bibytes conversion regarding image size (#638)
- image: Add dump support (#644)
- Update zsh completion
- jail -u freebsd-update: Auto confirm prompts
- bulk tests: Don't let system perl interfere with the partial tree used.
- compute_deps: Determine all errors before bailing out
- Add BASH option for completion installation
- ports_env: set UID=0 to avoid id -u lookups.
- Remove USE_PTSORT=no support and only use ptsort.
- Remove POOL_BUCKETS option
- Only set POOL_BUCKET_DIRS from load_priorities()
- SIGINFO: Reverse phase and total times to: phase / total
The original change order was confusing but so is the change. It may
ultimately be reverted.
- USE_CACHED=yes: Block using this as it does not work.
- Fix '3: Bad file descriptor' on crashed build
- Format crashed build with JOB_ID if possible
- MUTABLE_BASE=schg: Exclude immutable paths from mtree comparisons
- markfs: No need to rewrite the mtree file every time, just share it from
MASTERMNT
- Always null-mount ro /usr/lib32
- Remove references to INDEX - support removed in 0bef52955606412ac64aceddde6
- MUTABLE_BASE=schg: Need to track flags for mtree
- MUTABLE_BASE=schg mtree: Don't ignore changes to schg files with testport
or bulk -t
- Remove some shash buckets once no longer needed.
- Fix some error spam in bulk.
- Exclude /root from build_fs_violation.
- MUTABLE_BASE=schg: Allow writing new files to /boot.
- Move ALLOW_MAKE_JOBS_PACKAGES handle to remove misleading DISABLE_MAKE_JOBS
in buildlog make.conf
- bulk: Spawn builds in their own process group.
Block SIGTTOU/SIGTTIN to avoid stopping on tty access.
- kill_job: Don't show jobid warning.
- Close stdin at exit in case an interrupted redirection is referencing the
jail which results in umount warnings.
- processonelog: Detect pkg's conflict line
- processonelog: Try to detect immutable base failures
- Create /home and /usr/home paths in port build startup
- MUTABLE_BASE=schg: Allow writing to /usr/home
- poudriere: Default -e to /usr/local/etc for non-install executions
- options: Don't pass FLAVOR as a make arg - which may break downstream ports
- testport -c: Don't pass FLAVOR as a make argument
- testport: Show log summary at the end
- Support PKG_NOCOMPRESS in make.conf
- CCACHE_STATIC_PREFIX: Add CCACHE_JAIL_PREFIX for overriding /ccache in jail
- MUTABLE_BASE=schg + CCACHE_STATIC_PREFIX: Allow ccache-update-links to work
properly
- Add bash completion script
- Don't consider /var/crash/*.core as build_fs_violations
- distclean: Suck in ports_env which brings a big performance improvement.
- bulk: Add validation to check for dependencies with empty FLAVOR 'foo/bar@'
- Split poudriere.8 into subpages.
- jail -x: Fix error installing /nxb-bin with HEAD host 11 jail
- Fix double error when a dependency error is found.
- testport: Trim away excess '/' as done for bulk and dependencies.
- Fix finding aarch64 binutils for <head after ports r461058.
- jail -s: Always start with MUTABLE_BASE=yes
- Avoid copying or comparing /var/db/etcupdate into the jails.
- Add a MUTABLE_BASE=schg (rename 'no' to 'nullfs' and default to 'schg')
for testing. This will significantly reduce files copied during jail
rollback between package builds. It is supported on USE_TMPFS=all and
NO_ZFS=yes. It restricts writes to only /boot /etc /root /var and
/usr/local. Custom PREFIX/LOCALBASE likely won't work yet.
- Sort some usage output.
- Manpage cleanup.
- bulk: use buffered reads for various operations.
- timestamp: rewritten.
- Add more tests.
- Various performance improvements.
- TMPFS_ALL: reduce tmpfs lock contention for builder rollbacks.
- Reduce proctree lock contention.
- Fix null-mounting of /rescue.
- Null-mount /usr/share and /usr/tests.
- Add a foreachport sub-command for running arbitrary commands against ports.
This is quite new and still under development.
- Fix shared locks not properly handling stale locks.
- image: Fix default permissions to cfg and data partitions
- Add dialog4ports as a dependency since 'options' requires it. [1]
- image: Allow hostname to be empty for machines that get their hostname
from DHCP
- Force unmount if the non-busy unmount fails
- bulk: Rework queue handling to avoid hitting 32k link limit on tmpfs on
older releases.
- Remove the need for a separate clean.sh to be called for queue cleanup.
- Update poudriere.conf example to use ZPOOL=zroot as installer has
- SIGINFO: Show phase time as well
- Use PKG_EXT in more needed places (working on PKG_NOCOMPRESS still)
- Avoid two builds stomping on the shared HTML assets directory
- Fix MOVED handling for new flavor.
- HTML: Serialize access to jail and top .data.json files
PR: 22547 [1]
Submitted by: Yasuhiro KIMURA <yasu@utahime.org> [1]
- timestamp: Don't exit on [EINTR] to kevent(2)
- timestamp: Support EOF for command usage
- timestamp: Support buffered modes
- Add MAX_EXECUTION_TIME_{EXTRACT,INSTALL,PACKAGE,DEINSTALL} overrides
- Export PACKAGE_BUILDING to environment as well as some ports check there
(like postfix pkg-install)
- Fix not showing MOVED entries at start
- MOVED: Show more information.
- MOVED: Fix not being recursive.
- disclean: Handle MOVED.
- Add some missing COLOR_PORT
- Fix a dependency lookup bug with FLAVORS by adding a metadata queue.
- Add an 'rm' builtin for sh.
- Delay deps_sanity checks until all deps are checked
- Show user where a bad dependency may have MOVED to
- ports -B: Disallow branch if not SVN/git
- testport: Add missing dependency assertions that bulk was handling.
- testport: Add missing Invalid Flavor assertion from ec23b9a6c15.
- testport: Fix missing assertion for port depending on itself via a FLAVOR.
- pkgclean: Fix creating corrupt repository from the wrong place.
- Rework bulk pkg-query cache for incremental checks to fix a silent crash.
- HTML: Fix failed origin column
- testport -c: Don't read host /etc/make.conf.
- testport: Avoid reading ports files outside jail for FLAVOR/DEPENDS_ARGS
- Avoid using `injail` on system.
- ports/jail -c NOZFS: Consider non-empty-already-existing-directory a failure
- Fix usage printout before system is setup.
- jail -c: Replace colon in JAILMNT to avoid PATH issues in buildworld.
- image: Setup PKG ABI properly
- FORCE_MOUNT_HASH: Support yes/no.
- FORCE_MOUNT_HASH: Fix due to improper logic.
- Record lld failures as lld_linker_error.
- options -p: Warn/confirm if in a TTY about overwriting older options
directory.
- poudriere -vv: Show which poudriere.conf files are loaded
Last minute fixes for 3.2. If there are no reports of issues this will
be released as 3.2 tomorrow.
- Fix maintainer in buildlog missing.
- bulk/testport: Undocument -s after its removal.
- DEPENDS_ARGS: Store a PKG_NOTE with the value used for the port
- delete_old_pkg: Fix some renamed PKGNAME issues.