===> The following configuration options are available for pkg-2.8.4:
DOCS=on: Build and/or install documentation
===> Use 'make config' to modify these settings
ports-mgmt/pkg: update to 2.8.2
Changes:
- lots of security improvements
- repo: keep file lists out of the data catalog
- rwhich: store filesite as a compressed archive locally.
- rwhich add global and per repository configuration of the file
database
- fix deferred rc script execution
- fix duplicated reinstall reason
- fix UAF in additional SAT cycle
- fix SRV/HTTP mirror handling
- respect compression level for file database and metadata
ports-mgmt/pkg: update to 2.8.1
Changes:
- fix: non-root reads of a WAL-mode database with missing sidecars
- fix: leftover parent @dir directories on deinstall
- fix: static build with -pie
- macho: map macOS 26 / iOS 19 to Darwin 25
- api: add PKG_EVENT_PKG_FETCH_BEGIN for per-package fetch progress
- fix: missing space in a libpkg error message
ports-mgmt/pkg: update to 2.8.0
Major Changes:
==============
Database & performance
- better read/write concurrency on the local DB
- Schema bumped to v42: 15 redundant single-column indexes dropped, flavors VIEW
added, shlib_id indexes added
- Read-only databases opened with SQLITE_OPEN_READONLY, falling back to
immutable=1
- Binary repositories: 16K pages and synchronous=OFF during bulk catalog updates
- Implicit SQL-89 JOINs converted to explicit JOIN syntax, several queries
optimized
- Some database concurrency issues fixed
New features
- pkg-checksum(8): new command to generate and validate checksums
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: update to 2.7.5
Changes:
- backup lib: loudly complain if a library is not in filesystem but in plist
- backup lib: fix with rootdir
- progress: avoid useless newlines
- config: accept more boolean types
- fix fflags support
ports-mgmt/pkg: update to 2.7.4
- repo: do not delete repositories in overrides, simply disable them
- query: fix %y/%Y
- Declare CheriBSD and CheriABI OS and ABI
ports-mgmt/pkg: update to 2.7.1
Major Changes:
- install: respect -q
- vital: now explicitly state the SAT solver issue are due to a vital package
- lua: add pkg.exec_capture, a pkg.exec version capturing stdout/stderr
- Honor --repository flag for disabled repos as documented
Other Changes:
- version: add IGNORE_MAJOR to pkg.conf and document it
- pkg_config: accept int as boolean converted via != 0
- lock: do not error in expected (un)lock state
- backup_libraries: now fully respects rootdir
- backup libraries: atomic replacement of the library
- DB: loudly complain if the DB cannot be opened
- shlibs: also remove ignored shlibs provided from shlibs required
ports-mgmt/pkg: update to 2.7.0
Changes:
* switch back to libfetch (curl support has been removed)
* triggers: add per-package triggers, with new `pkg_upgrade` variable,
documented in triggers(5)
* install: accept `http://`, `https://` and `file://` URLs to install packages
directly
* install: small behaviour change — `install -A` no longer marks
upgraded/reinstalled packages as automatic
* autoremove: install, delete and upgrade are now autoremove aware
* solver: avoid spurious reinstall from wrong repo with multi-repo setups,
* solver: fix extra reinstallations,
* solver prevent rdeps discovery explosion
* search: add `search -S comment-description`
* search: add `ssh_args` per repository configuration
* query: add `%y` and `%Y` formats for provides/requires
* backup libraries: change the default behaviour 1 package per library now.
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: update to 2.6.2
Changes:
- register: properly close the database
- fix an issue which make some installed packages temporary invisible
to the non root users (regression from the WAL introduction)
- fix the json for info --raw --raw-format json when requested on multiple
packages
ports-mgmt/pkg: update to 2.6.0
Major Changes
* create: use -t to specify the timestamp for the manifest file.
* fetch: add -s/--sumlink option for mirror mode
* triggers: only defer triggers when the need to execute an external program
* db: enable WAL mode for local databases
* query: add support for query evaluation of complex attributes
* libpkg: store ignored shlibs in manifest and db
* libpkg: respect ignred shlibs for BACKUP_LIBRARIES
* drastically reduce memory usage for all operations
* fix reproducible build issue
* autoremove: fix deletion order
* lots of documentation updates
Other Changes
* use C23 __has_include to reduce configure checks
* fix issue hiding the unit in progress bar
* if for anyreason the extraction rename failed, keep the file around with a
.pkgnew suffix
* plenty of fixes in the upgrade decision process
* plenty of corner cases crash fixed
* prevent fetching a file twice
ports-mgmt/pkg: update to 2.5.1
Changes from 2.5.0 to 2.5.1
- Regression: fix directory permission when @mode is used in plist
- use the timestamp provided by -t for manifest timestamp
- improvements in documentation
- slight inprovements in the progress bar:
* counters are now always aligned
* when possible only print name-version for the package being fetched.
* add a space in the debit
ports-mgmt/pkg: update to 2.5.0
Major Changes
- unregister: new command to remove the records from an installed package
- while keeping the files around
- install: new --register-only: record the package as installed without
touching
- anyfiles on the filesystem
- case sensitivity: lots of changes: now the behaviour is conistent accross all
- commands and respect the default setting in pkg.conf
Other Changes:
- update curl to 8.17.0
- update sqlite to 3.51.1
- fetch: many imrpovements in debug output
- set a sane default mode for empty directory in plist
- improve the error message when not deleting a package due to a lock or a vital
flag
ports-mgmt/pkg: Fix stage-qa warning and sort PLIST
- Strip shared library and binary executable
- Sort PLIST
- Bump PORTREVISION for package change
====> Running Q/A tests (stage-qa)
Warning: 'lib/libpkg.so.4' is not stripped consider trying
INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Warning: 'sbin/pkg-static' is not stripped consider trying
INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Warning: 'sbin/pkg' is not stripped consider trying INSTALL_TARGET=install-strip
or using ${STRIP_CMD}
PR: 290600
Approved by: bapt
ports-mgmt/pkg: update to 2.4.1
Changes from 2.4.0 to 2.4.1
- Fix 32bit regression
- cleanup trigger(5) manpage
- fix a crash during 3 way merge
Changes form 2.3.0 to 2.4.0
- Use line buffering for the metalog file handle
- Fix bug making pkg delete too many directories in case of split upgrades
- BACKUP_LIBRARIES now create one backup package per source package
- new metalog_copy lua function to create entries in the metalog cloning
metadata
from another file
- New OSVF Parser
- New CPE Parser/Emitter
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: Backport bug fix needed for 15.0
This adds a patch (7ea9566835a82f111d7771f58168babc5e0dde6a) which
fixes a release-build-breaking bug in pkg(8). It is now in the pkg
repository but the 15.0 release process can't wait for a new pkg
release to happen so I'm pulling the bug fix in here instead.
With hat: re@
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D53310
ports-mgmt/pkg: update to 2.3.0
Major changes
improve reproducible build support
scripts now support METALOG
set(8): allow to bulk "partial replacement"
rework the scheduler to minimize the number of split upgrades
add(8): backout support for provides/requiress
Other changes
update sqlite 3.50.4
update curl 3.16.0
fix fetch resuming
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: Update to 2.2.2
Changes:
- Set numeric uid/gid when adding archive entries
- Provide the METALOG path to pkg scripts
- Run script even for split upgrade
Sponsored by: Beckhoff Automation GmbH & Co. KG
ports-mgmt/pkg: update to 2.2.1
Changes:
- revert the scheduler "fixes" trying to reduce the
number of "split upgrades", it causes ordering issues
- plug some leaks
- fix some sqlite statement leak
ports-mgmt/pkg: update to 2.2.0
Major changes:
- Fix new solver over splitting upgrades
- Fix multi repository priority decision during installation
- Use a cache file during pkg_add execution for provides/requires
- Lots of internal rework to improve performances on low ressources machines
- Update bundled code to their latest version
PR: 287293
Exp-run: antoine
ports-mgmt/pkg: update to 2.1.2
Changes:
- fix an important regression introduced in 2.1.1
- more performance improvement on pkg add
Because of a bad merge between the main and the release branch of pkg
some commits were missed and a regression was introduced in pkg 2.1.1
It results in some packages dependending on themselves which breaks
early the various bulks.
Those packages built with 2.1.1 needs to be recreated with 2.1.2
PR: 286130
ports-mgmt/pkg: update to 2.1.1
Changes from 2.1.0 to 2.1.1
- fix cases where upgrade detection was missed
- improvement performances for pkg add (aka poudriere build time as
well)
PR: 286130
Exp-run: antoine
ports-mgmt/pkg: update to 2.1.0
/!\ Committer visible changes /!\
in poudriere and system using pkg add, pkg will verify that provides
requires (including for shlibs) are satisfied, which meaning it can now
stop stating a missing required dependency is missing, which up to now
where happening unnoticed!
Major changes:
* pkg add: now supports shlibs and regular provides/requires
* info -r and -d now shows shlibs and regular provides/requires
* new --script-no-exec: which makes pkg dies if a script attempt to exec an
external binary
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: update to 2.0.6
Changes:
- sort list before exporting manifest to improve reproducibility
- only track shared libraries which starts with lib*
- ignore compat32 libraries on systems installed from sets (vs pkgbase) where
the lib32 set is not installed.
- update: now works again on system with less than 300MB of RAM available
ports-mgmt/pkg: udpate to 2.0.5
Changes from 2.0.4 to 2.0.5
- Allow ABI_FILE in pkg.conf(5)
- fix crash in case of conflicts
- restore flexibility for end user to replace directories with symlinks to
directories
- Do not track absolute DT_NEEDED (really this time)
- curl: more verbose error message
ports-mgmt/pkg: update to 2.0.4
- Fix an issue preventing pkg to fetch some packages in case of multiple
iteration of the solvers
- Do not track DT_NEEDED libs which are registered with full path
ports-mgmt/pkg: update to 2.0.1
Changes:
- fix pkg version
- fix pkg check -d
- logs of improvements in the solver to avoid extra reinstallation on
systems without pkgbase
ports-mgmt/pkg: update to 2.0.0
- rework scheduler entirely (Sponsored by the FreeBSD Foundation)
- add support for using an external tool for 3 way merge (Sponsored by Serenity
Cyber Security, LLC)
- great improvement in portability: now pkg on any OS supported OS can deal with
packages built for any supported OS
- pkg now tracks shlibs with tagging: (Sponsored by the FreeBSD Foundation)
libfoo.so.1.0.0 - native (no change to status quo)
libfoo.so.1.0.0:32 - compat 32
libfoo.so.1.0.0:Linux - compat Linux
libfoo.so.1.0.0:Linux:32 - compat Linux 32
- pkg tracks 32bit compat shlibs (Sponsored by the FreeBSD Foundation)
- pkg can track linux shlibs for linux compatibility (disabled by default) via
TRACK_LINUX_COMPAT_SHLIBS
- new SHLIB_REQUIRE_IGNORE_GLOB and SHLIB_REQUIRE_IGNORE_REGEX to filter out
some libraries to be added to shlibs_required list
- ALTABI is not used anymore at all and is considered deprecated, only ABI is
considered
- MACHO support has been entirely rewritten
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: Remove pre-everything target
It displays messages related to conversion from ancient pkg_* tools to
pkg. But support of the former ended with FreeBSD 9 and ports
framework doesn't support them either.
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D44902
ports-mgmt/pkg: release 1.21.2
Changes:
- fix database path handling for rootdir
- revert a change in vital/lock handling in the solver cause
some vital packages to never be upgraded.
ports-mgmt/pkg: update to 1.21.0
Changes since latest 1.20.0
- new event PKG_EVENT_PKG_ERRNO
- add: only generates .pkgsave when really needed
- repo:
* remove the ability to create v1 repository format
* remove ability to produce meta.{pkg,txz} unused since 1.13
* replace packagesite.pkg with data.pkg (new extensible format)
* keep producing packagesite.pkg for backward compatibility
* local repository information is now located in
/var/dbv/repos/<reponame/*
- support job cancellation (packagekit support)
- update bundle code to latest versions:
* libcurl
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: update to 1.20.9
Changes:
- fix a race in vuln.xml udpate trigger
- undocument ftp support
- curl: add backward compatibility with libfetch on HTTP_USER_AGENT
- new Keyword: @override_prefix (pkgbase)
- only generate .pkgsave files when really needed
ports-mgmt/pkg: update to 1.20.7
Changes from 1.20.6 to 1.20.7
- improve sql traces in debug mode
- fix autoremove issue leading to 100% of CPU consumed almost forever
- don't complain about Last-modified http header being absent in case the DL
failed
- plug memory leaks in pkg autoremove
- fix build with lld >= 17
ports-mgmt/pkg: update to 1.20.5
Changes:
- fix a regression introduce with switch to libcurl which results in
the remote db mtime being badly set
- fix a regression which makes pkg query report twice some packages
when configured in multirepository mode.
- fix a compatibility issue with http_proxy env var (lowercase)
- update libcurl to latest version
pkg*: new regression fixes release
Changes:
- speed up pkg add again, and greatly reduce its memory footprint
- more compatibility with libfetch (SSL_* variables)
- fixed FETCH_TIMEOUT adaptation to libcurl
pkg*: fix regressions from 1.20 release
- reduce memory usage for pkg add
- fix regression in url parsing for ssh
- fix some more compatibility with libfetch
- update pkg-triggers manpage
ports-mgmt/pkg: release 1.20.0
Changes:
- update libucl to latest version
- update sqlite to latest version
- remove support for pkg_* tools backward compatibility
- add and autoremove command now respects provides/requires and shlibs
provides/requires
- improve SRV and HTTP mirroring: reducing the number of round trips
- replace bundled libfetch with a stripped down bundled libcurl (only used for
http(s))
- new COMPRESSION_FORMAT configuration entry in pkg.conf
- periodic script: Use locale-agnostic (ISO 8601)
- Add support for openssl3
ports-mgmt/pkg: update to 1.19.2
This release only deals with RSA signature for people using the PUBKEY
mechanism.
With openssl3 the signature had to change, in this release we make pkg
accept both the new signatures and the old ones.
if built with openssl 1 (aka freebsd 12 and 13) pkg will continue issueing
the usual signatures aka no changes.
if built with openssl 3 (aka freebsd 14) pkg will issue a new format of
signature.
The version of pkg older than 1.19.2 will not be able to use a signature
issued witg pkg running on freebsd 14
All system running 1.19.2 and above will be able to accept any of the
signatures.
If a user get stuck, for any reason, pkg bootstrap -f will fix the
situation as long as it installs 1.19.2 and above.
Note that is only concens PUBKEY which is not the default.
No changes at all for users of the official FreeBSD repositories.
pkg: revert openssl3 support
This change makes pkg generate a signature that is incompatible with
previous keys, it is better to have pkg broken for openssl3 and die
instead of having a backward incompatibility
ports-mgmt/pkg: fix regression in pkg-static and version number
When adding the support for static PIE, we masked the actually
STATIC_ARGS making pkg-static a dynamic binary in all other cases.
While here fix the version numbering which was not updated properly
during the release process.
ports-mgmt/pkg: update to 1.19.1
Changes:
- fix regression in pkg autoremove
- fix regression preventing tracking files with path longer than 64
chars
- fix build out of tree
- fix spelling issues in pkg-trigger(8)
ports-mgmt/pkg: update to 1.19.0
Changes:
- rework file extraction to solve edge cases happening sometime when a file
in a package becomes a directory in a new package or vice versa
- update bundled lua to 5.4.4 and sqlite to 3.40 and linenoise to latest
versionautoremove will not remove anything anymore which is required
by another installed package via provides or via shlibs_provides.
- Accept '~' in the version or the name of a package
- delete now handles properly provides/requires (and shlibs equivalent)
- (r)query now have new operators: =~ ==~ and !=~ (case insensitivity)
- (r)query is now stricter regarding command line validation
- pkg-backup command has been removed (prefer pkg shell ".dump" instead)
- fix regressions in pkg lock
- fix pkg annotate --modify
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: update to 1.18.4
Changes from 1.18.3 to 1.18.4
- fix querying licenses
- fix "ambiguous colomn name
- fix packaging the lua deinstall scripts
- add pkg.symlink to allow creating symlinks from lua scripts
- performance improvements
- sync libfetch with base bringing in socks proxy support
ports-mgmt/pkg: update to 1.18.3
Changes from 1.18.2 to 1.18.3
- allow to deal with 240 character long filenames
- fix an issue when disabling a repository resulting in breakage
of the repository list
ports-mgmt/pkg: update to 1.18.0
Changes:
- add support for category and flavor in all queries
(<category>/<portname>[@<flavor>]
- new tcp protocol to support inetd/spiped
- end of ftp support
- allow filtering out files at install time
- improvements on triggers
- plenty of bug and doc fixes
ports-mgmt/pkg-*: fix symbol collisions
while we fixed the symbol collision between libmd and libcrypto long
ago in dynamic linked program, the collision is still there somehow for
statically build programs.
The manual check for liblzma_libs for static linking that was added long
ago brings in a link to libmd before a link to libcrypto (this is since
FreeBSD 13.0+
This manual check is not necessary anymore anyway, so let's drop it.
Reported by: Franco Fitchner (from Opnsense)
ports-mgmt/pkg: update to 1.17.5
Changes from 1.17.4 to 1.17.5
- pkg add: only runs triggers at the end of the equivalent of a transaction
- pkg search: fix the combinaison of -q and -o
- pkg fetch: correctly exit with error on fetch failures
- Improve error message when failing to drop privileges
ports-mgmt/pkg: update to 1.17.3
Changes:
- revert 2 regressions,
* periodic script for audit which reduced verbosity
* the fallback on version mismatch on pkg add
- prevent an endless recursion on the solver
- make fingerprint signature validation respect rootdir
MFH after: 1 week
ports-mgmt/pkg: update to 1.17.2
- make audit.h c++ friendly
- fix build with libressl
- autoremove now respects -q
- version: reports error if INDEX file does not exists but is expected
- periodic audit:
* Allow user to specify which jail not to audit
* New option to ignore deprecation and expiration warnings
* Reduce verbosity of the report
* Add a script to audit base
- register: implement -N to actually not register in the database
- fetch: do not count cached package in the list to be fetched
- query: -e is not supported as additional condition
- fix pkg not finding its db when run from a directory which does not exists
anymore
- De-prioritize upgrade-removals in the solver
- triggers:
* run them for pkg register and pkg add
* Add pkg.readdir lua function
* Add documentation for the triggers
ports-mgmt/pkg: retag the release
The tag was put on the wrong version of the release, (missing the NEWS
update and the internal version update)
retag it
ports-mgmt/pkg: release 1.17.1
Changes from 1.17.0 to 1.17.1
- by default only create .txz symlinks for metadata
- only consider the .pkg when creating a repository
add an option REPO_ACCEPT_LEGACY_PKG to keep index old pkg
- Reduce usage of memory stack
ports-mgmt/pkg*: Release 1.17.0
TL;DR: new uniq package file extension: '.pkg'
Full changelog for pkg:
- add a new "snap" prefix, to deal with pkg base snapshots
- pkg repo now accepts packages with different compression formats
- pkg now have a single extension: ".pkg" and a backward compatible
symlink is created when the package is created to help transitioning
- Default compression level for zstd is now set to 19
- the default compression level is now a configuration option
- plenty of portability fixes
- fix plenty of typos
- expose the name of the package to lua and shell scripts
- plist:
(Only the first 15 lines of the commit message are shown above )
ports-mgmt/pkg: Update to 1.16.2
Changes from 1.16.1 to 1.16.2
- libpkg: add a snap(shot) version prefix
- libpkg: only upgrade installed packages with pattern matches
- Document pkg-lock(8) accepts a list of packages
Approved by: bapt (implicit)
ports-mgmt/pkg: Update WWW
The pkg wiki entry (https://wiki.freebsd.org/pkgng) says "The content of this
page was outdated and misleading so it has been deleted." Instead, point to
the upstream github repo where truths about pkg can be found.
Approved by: pkg (bapt)
update to 1.16.0
Main highlights:
- Add support for RISC-V
- plist now supports '@include <anotherfile>'
- Keywords can now validate the plist syntax at packaging time
validation is done via a lua script
- Keywords can issue a deprecation warning if needed
- Add support for triggers (lua and shell scripts possible)
- pkg create -e now will create a package with a readable MANIFEST
but also:
- pkg-query now supports %X to print the internal package checksum
- remove usage of utstring
- lua scripts can now take real arguments
(Only the first 15 lines of the commit message are shown above )
Update to 1.15.8
Fixes a typo which results in pkg ignoring some lua script in some particular
circumpstancies: shell script also available in certain types
ports-mgmt/pkg: Update to 1.15.5
Changes from 1.15.4 to 1.15.5
- Add powerpc64le arch
- Fix query '%X' to not use the version
Approved by: bapt (implicit)