Changelog:
- Add pinstall, preinstall frontends to upgrade-ports script
- Use ellipsis '...' to indicate time consuming operations
- Clarify usage descriptions
upgrade-ports:
- backup self conflicting packages and use them to restore
when upgrade fails
- allow to remove conflicting package in install phase
- show type of failure in upgrade summary when failed builds occur
- improve conflicts handling
- show removal reason in upgrade summary
- check rebuilt ports for BROKEN and IGNORE flags
- automatically change port name on move operation
- implement option for only checking packages database for errors (-c)
- improved MOVED entries tracking
- don't offer recompilation of packages linked to libraries not
found by system linker
upgrade-base:
- force sudo to preserve already set environment variables, this fixes
PORTS_MODULES not being passed when user is non-root
tbuilder:
- improve detection of required option for library dependency
- add profiles feature, it's files in $CONFIGDIR containing names of jails
for use in one build test batch.
pcommit:
- print correct object type in file_add() function
* Check for use of OPT_XXX_OFF syntax to prevent false incorrect option
usage assertions. [1]
* Remove now-obsolete warning about using :LU operators with make(1). [2]
* Fix the regex to prevent direct command use from hittin on lines
like FOO_USES=... [3]
PR: 218260 [1]
218325 [2]
218672 [3]
Submitted by: jrm [2]
Reported by: rezny [2]
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
* Fold in the same removal of the obsolete HTTP-only warning
* Add support for checking for direct dependency on bison, fmake, and libexecinfo. [1]
PR: 216268 [1]
HTTPS-only is normal novadays, also may@ says that the warning was
there because before 8.4 libfetch did not support going through a
proxy for HTTPS
PR: 217995
Approved by: maintainer timeout (marcus, 2 weeks)
Differential Revision: D10015
- Cache pw result to avoid over reloading nssswitch.conf
- Fix allow to set env per repo for everykind of repo
- Fix signing_command something saving a truncated signature in the file
as a result pkg will reject any repository signed
- Fix sqlite vfs overload with new sqlite
- pkg which: add -m to show what files matched using globs
- Revert the new UI which does not respect 80 columns
- Fix query '%q' printing the internal arch instead of the official one
- Fix signing_command something saving a truncated signature in the file
as a result pkg will reject any repository signed
- pkg which: add -m to show what files matched using globs
- fix sqlite overload with new sqlite
- Revert the new UI which does not respect 80 columns
- Fix query '%q' printing the internal arch instead of the official one
- Fix ZFS rollback handling to create needed file for checking for race
after a rollback.
- pkg/dist/logclean: Make size calculation account for compressed ZFS
datasets.
- Add a 'logclean' command that cleans build logs older than N days, or
builds over a certain count, by filter.
- Store temp and lock files in $(mktemp -dt poudriere), and remove on exit.
- Change SHASH_VAR_PATH out of umounting MASTERMNT on exit
- USE_TMPFS=yes: extend to data as well as wrkdirs
- JSON jail: Ignore broken builds rather than corrupting the data
- HTML JSON: Fix not writing on exit, and writing to /.data.json[.mini]
- blacklist: Fix loading of JAIL-SETNAME-blacklist
- Don't bother statting or creating pkg cache dirs when deleting them at startup.
- pkgclean: Clean cache files as well
- poudriere.8: Fix reference to native-xtools and document use of /usr/src
- jail -d: Fix not cleaning up jail's temporary mountpoint directory
- jail -uc: Don't leak host /etc/src-env.conf into jail builds
- timestamp: Fix not exiting when stdin closes.
- timestamp: Fix not properly handling newlines.
- Fix umounting when using MDMFS
- Make jail -k try harder to cleanup any messes left behind.
- Add an ALLOW_NETWORKING_PACKAGES to allow networking for select packages
- testport: Support -B
- Only load linux64 if the host is newer than ~10.2 Current that had it
- Determine UMOUNT_NONBUSY at startup, which allows jail -k to benefit
- jail cleanup: Fix only the first 2 builders cleaning sometimes on older
systems.
- build_pkg: Assert that rollbackfs worked
- Rework ZFS rollback race fix by creating the file at markfs time.
- Actually install cache.sh
- Fix very old bug with ZFS rollback not succeeding due to
race with zfs rollback + zfs snapshot.
https://www.illumos.org/issues/7600
- bulk/status summaries: Fix build time being wildly wrong
- MOVED: Convert to using shash
- jail -u: Don't show /compat mount warning.
- Automatically handle making some internal paths relative when
doing 'cd'
- Add a per-run caching mechanism for commands
- Cache ZFS list (for mountpath) lookups.
- jail -u, etc: Fix ZFS snapshots not being created after 33297b28f.
- destroyfs: Avoid zfs_getfs() if not needed
- testport: Support MOVED for main port being tested
- locks: Disable INT/TERM traps while in here
- HTML JSON is now generated with TERM delayed, meaning leftover tempfiles
in the logdir should be fixed and the JSON should be more consistent.
- poudriere: Allow -v to increase VERBOSE since not all sub-commands allow it.
- poudriere: Allow -A to force colors, even if not in a TTY
- HTML JSON: Use relative paths for reading/writing files in logdirs
- prefix_output: Append into proctitle to make debugging simpler
- testport -c: Fix after 88334520d1159.
- Introduce HTML_TYPE to select if HTML files are inline or hosted
- Rewrite parsing of 'bulk -f' and 'bulk PORT1 PORT2' (and testport)
handling of ports into the queue.
- Update sh to FreeBSD head r315005.
- compute_deps_pkg: Give a hint about failed pooldir creation being from
duplicates. This is still undergoing further changes. It's technically
an assertion still that is has proven to be possible.
- Support copying a static ccache into the jail with CCACHE_STATIC_PREFIX.
This is to support using something like devel/ccache-memcached-static
in the jail to support memccached without any bootstrap or cyclic
dependency problems.
- Fix spurious SIGALRM on poudriere processes.
- Add a LOCAL_MTREE_EXCLUDES to allow appending to the list of directories
to ignore in the mtree checks.
- Document RESTRICT_NETWORKING
- Fix regression from last build not causing ZFS+USE_TMPFS=all to
rollback to the clean snapshot before cloning.
- Fix mktemp using TMPDIR='' by default (thus /). This broke
some non-root operations.
- options: Fix harmless warning about missing 'arch' file.
- Fix very old crash with SIGINFO while cleaning the queue after
a port is done building.
- Revert a change for port statistics changes which may have resulted in
warnings such as:
mv: rename /usr/local/poudriere/data/logs/bulk/103i386-default/434652/.tmp..poudriere.stats_ignored to /usr/local/poudriere/data/logs/bulk/103i386-default/434652/.poudriere.stats_ignored: No such file or directory
Note that the change here does not restore ignoring errors like
the previous code did. So some odd crashes may occur, but all
callers of this code were audited and should be ignoring the
error anyhow.
- Fix build on <head
- Fix startup depqueue errors if the listed ports have duplicates.
- Fix NO_ZFS/USE_TMPFS=all jail cloning error:
[00:00:00] ====>> Creating the reference jail...realpath: Illegal option -r
- NO_ZFS now overrides existing ZFS datasets; ZFS won't be used at all if
NO_ZFS is set.
- ZFS datasets are now looked up with 'zfs list' rather than 'mount -t zfs',
which fixes some cases of ZFS datasets being left around after an error.
- Properly ignore /proc without invoking pseudofs kernel code.
- mtree: Remove exclusion of /usr/home
- mtree: Remove exclusion of .p4config
- mtree: Restore ignoring /var/tmp in prebuild/prestage.
- mtree: Don't descend into /dev, avoiding devfs_readdir, etc.
- mtree: Avoid descending into all directories.
- gather_distfiles: Use port_var_fetch to lessen needed make executions
- sh: Make touch a builtin
- Fix commit c0daac2f: /dev/null is a special character device, not directory.
- pwait builtin: Properly restore SIGALRM on exit
- pkgclean/distclean: Properly support PREPARE_PARALLEL_JOBS from
poudriere.conf
- Default PREPARE_PARALLEL_JOBS to 1.25*PARALLEL_JOBS
- Poudriere now sets process title for some operations via setproctitle(2).
- Dependency calculation majorly refactored to fetch more make variables
at once rather than fetching some and then more later. This rework also
speeds up some startups by up to 60% by keeping the compute_deps work
queue full and more parallelized. This is especially seen in meta
port lists. The storage for the make variables fetched is not very
efficient yet and will improve more in the future.
- Add more sh builtins: pwait, mkdir, rename, setproctitle, rmdir, mktemp
- nohang: Do read before logfile comparison.
- update_stats: Stop building from html_json coproc after done building
- More work to use relative paths, thus reducing namecache contention.
- rm is bundled if the base system version does not support rm -x.
- Determine at runtime if umount -n (MNT_NONBUSY) is supported
- buildlog: Properly show limits in jail
- The "balance_pool" operation after a port is done building is now
asynchronous.
- Fix some cases where stats were not updated on early exit.
- Detect race during jail startup; prevent multiple concurrent jail
startups for the same jail+set+portstree.
- Some unexpected older packages may be deleted during startup.
- bulk: Change dependency information to -v rather than -vv
- Limit parallel umounts if batched free vnode lists not supported.
- Only fetch LIB/RUN_DEPENDS and OPTIONS if the CHECK_CHANGED_DEPS/OPTIONS
is set
- Add some missing license headers in HTML code.
- run_hook: cd to / before running hook to avoid umount problems.
- Pass -DNOCLEANDEPENDS when cleaning to not clean dependency dirs.
- Slightly reword some of the port job statuses.
- api: Allow evalling from stdin
- Move /var/db/freebsd-update exemption into common_mtree.
- More tests added
- Fix PORTBUILD_UID lookup when user doesn't exist in jail.
- configure: Don't prefer GCC (poudriere build only)
* fix pkg which -g
* Do not use openssl for sha256
* Improve the default output when fetching data
* Update libfetch to the version of FreeBSD 11
* Fix NetBSD ABI
* Add a fallback for utimensat when reporting EOPNOTSUPP
* replace libsbuf with utstring for portability
* Overwrite some sqlite vfs functions to allow more capsicumisation of pkg
* move more pkg audit details into the library
* allow to run pkg query without any privileges
* extend the audit periodic script to report deprecated packages
* Fix fd leak to rcscripts
* stop dropping privieges during fetching it causes more issues than it solves
* speed walking though [reverse]dependencies
* Update blake2b to latest version
* Add blake2s to the list of supported checksums
* Internal digest now default on blake2b on 64 bits and blake2s on 32 bits.
* Fix segfault when ABI is defined but empty
* Do not use the shared library provides/requires on non FreeBSD/Linux
* Define _NETBSD_SOURCES on NetBSD to allow libfetch to use funopen
* Document vital flags
* Fix potential double free when dealing with @config keyword
* Add progress when fetching (number of files to fetch)
* Improved messages about locked packages
* Return 1 when a user rejects the proposed plan
* When dealing with configuration files '@config' never overwrites non tracked
files
* Warn everyone about deprecation of @dirrm and @exec
* Deduplicate metadata loading code
* pkg register now understands context aware messages
* Fix pkg register issues with some version of libarchive:
hardlinks not being made hardlinks sometime
issues when PREFIX is a symlink to another directory
* Use portable mechanism to find the number of CPUs which allows pkg repo to be
faster on linux
* New pkg upgrade --vulnerable
- Manpage updates
- Remove pkg_install support.
- Remove NO_STAGE support.
- Remove use of umount -f where possible.
- Use relative paths where possible to avoid namecache contention.
- USE_CACHED reworked to use POSIX mq (will soon change again)
- PRIORITY_BOOST is fixed to boost dependencies as well now with
USE_PTSORT enabled (default yes).
- Load linux64 when needed
- Improved ports_env support (less executions during ports interations)
- Show resource limits in build log
- Limit filedescriptors to 1024 by default with MAX_FILES
- Shutdown/unmount build jails in parallel
- Don't leak mount path in build log from ident(1)
- sh: Add some builtins to avoid fork/execs (mostly poudriere C helpers):
cachec, clock_monotonic, date +%s, dirempty, locked_mkdir, realpath,
sleep
- BUILD_AS_NON_ROOT: Remove redundant chown -R.
- Add HTML_JSON_UPDATE_INTERVAL (def: 2) to allow overriding JSON update
interval.
- Add support for USE_TMPFS=no
- jail: install the kernel requested with -K when using src method
- jail -c -m src: Add support for building the src tree with -b.
- jail -u -m src: Update the version for the jail as well.
- jail -c: Allow @rev for releng/X.Y branch
- jail: Switch to http protocol for ftp-archive.
- ports: Do not create a FS when '-m none'
- ports -d: Do not delete a ports tree created with method=none or -.
- ports -d: Confirm if in a TTY
- ports -d: Really delete the zfs dataset when TMPFS_ALL is used
- ports: Add git+http support
- ports/jail: Auto pass PROXY env vars from parent environment
- image: only isos have a restriction in the image name
- image: If the images dir does not exist, attempt to create it
- image: Handle a relative path with -o
- image: Various fixes.
- image: usb|*firmware|rawdisk now require a kernel and image size.
- testport: Fix fdescfs/procfs/linprocfs not being mounted.
- testport: Fix limits not being applied
- testport+SIGINFO: Fix very old deadlock with update_stats.
- pkgclean: Add hook: pkgclean done <DELETED_FILES: 0|1> <BUILT_REPO: 0|1>
- pkgclean: Cleanup corrupt packages
- pkgclean: Act on .latest directory for ATOMIC_PACKAGE_REPOSITORY
- poudriere.conf: Don't suggest changing svn.FreeBSD.org to a mirror anymore.
- QEMU+Arm64: Coppy the latest aarch64-binutils ld into the jail at startup.
- QEMU+Arm64: Link /usr/bin/ld to /nxb-bin/usr/bin/ld.
- QEMU+Arm64: Tell about copying ld
* QEMU+Arm64: Note that this is not working properly yet due to the
aarch64-binutils port not providing a static ld.
- options: Properly setup ARCH/MACHINE in make.conf for cross-builds
From the PR:
"The web site used by this port, http://fbsdmon.org, has been taken
over by cybersquatters. That means that users are sending their
system info to an unknown party. The port has had no maintainer
for almost two years and the original maintainer (and previous owner
of the website) is not responding to email."
Since there's no way to force this port to be deinstalled from users'
machines, to stop data being sent to an unknown party, also do the
following:
- Modify the port to never send data to fbsdmon.org, bump PORTREVISION
- Mark the port IGNOREd for ports users, but allow package to be built
and set extended 6 month EXPIRATION_DATE (or should it be extended
to a year?) to give a modified package chance to replace original one
on users machines
PR: 217099
Submitted by: asomers
MFH: 2017Q1
- Remove pkg2ng and pkg convert code
- Emit dep_formula within the manifests
- Use stack based read (32k buffer) instead of mmap
- Use 32k buffers for each reads
- Cache pw/group to reduce overreading nsswitch.conf
- Update libucl and remove over call of getcwd
The mistake was completely on my part, I somehow connected the dots the
wrong way in my head.
The only exceptions (for now) are archivers/zstd and ports-mgmt/synth
which were already picked up by new volunteers in the mean time.