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
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
- 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
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
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:
remove internal support for @*exec (this is now in the ports tree)
remove support for @ignore
remove support for @dirrm/@dirrmtry
remove support for @pkgdep
remove stub support for @stopdaemon
remove stub support for @display
remove stub support for @mtree
remove stub support for @conflict
- VUXML: fetch .xz compressed version of the file by default
- triggers are deferred to later command (firstboot is planned) if run
with pkg -r
- pkg triggers commands has been added and can execute the deferred
triggers for example at firstboot
Changes in the framework:
- Add a backward compatibility layer, so people are not forced to move
to pkg 1.17 yet (new quarter we will enforce the switch for triggers
anyway, but it gives time to people to switch)
- Introduce a new PKG_COMPRESSION_FORMAT for users to specify the
compression format they are willing to use when creating packages:
txz, tar, tgz, tbz, tzst are the valid ones (note that tzst is only
usable on FreeBSD 13 and 14)
- Add a backward compatibility for people who specified the compression
format already via PKG_SUFX and issue a warning to tell them about the
deprecation of PKG_SUFX
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)
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)
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
- get rid of sysexits
- improve performances for pkg query -F
- Fix an issue with metalog duplicated entries
- Relax keywords attributes syntax by allowing spaces
- Fix a crash when pkg is told to package a directory as a file
- pkg upgrade -n does not run anymore the "prior" test for self pkg upgrade
but instead prints everything that will be upgraded including pkg
- pkg info now print the installed timestamp and repository in --raw output
- print all missing packages not only the first one encountered
- All commands are now consistently using --no-scripts
- pkg audit now accepts a -R/--raw option for parseable output
- some fixes in the solver
PR: 251696
Changes from 1.14.99.6 to 1.14.99.7
- Default the OSVERSION check to false
- Fix some errors related to getpwname_r/getgrnam_r
- Add RISC-V ABI aliases
- Add '%X' to pkg-query, this print the internal package checksum
Changes from 1.14.99.5 to 1.14.99.6
- Run lua scripts before shell scripts
- unbreak build with -fno-common
Changes from 1.14.99.4 to 1.14.99.5
- Fix lua script during pkg_delete
- Return file type for lua_stat
Changes from 1.14.99.3 to 1.14.99.4
- Add function to lua scripts:
* Simple stat()
* filecopy to copy a file preserving its attributes
* filecmp to compare files
* update sqlite to latest version
* Add a new 'hash' mode to pkg repo to make repositories CDN friendly
* Isolate transport protocol to be able to easily change implementations
in the futur
* Fix invalid json in even_pipe
* lots of portability fixes
Changes from 1.14.99.2 to 1.14.99.3
- Fix linking on FreeBSD
Changes from 1.14.99.1 to 1.14.99.2
- Fix hanging if a script spawn a process and
it still run after the scripts finish
- Prevent potential hang with lua scripts
- For http mirror first try to get the list from the
full path and then fallback on the root one if we
didn't find anything.
- Add a debug message if obtaining the lock fails
hanges from 1.13.99.7 to 1.14.99.1
- parallelize the run of the tests
- Fix VERSION_MINOR expansion
- Fix chflags tests
- Bring back pkg create -n but in a consistent way
- Improve build of sqlite
- Use mmap in sqlite
- Update sqlite to latest version
- Document pkg_create(3)
- Prepare the land for futur proof remote dependency handling
- Update usage of pkg set -A and pkg set -v
- Add pkg create -l (compression level)
PR: 249035 (exp-run)
Approved by: bapt
Note that this is meant to be a temporary hack and will be reverted once the
freebsd/pkg have solved this in the build infrastructure.
PR: 200142
MFH: 2020Q2
Approved by: portmgr (bapt over IRC)
Differential Revision: https://reviews.freebsd.org/D24972
- Add pkg create -l to set compression level
- Parallelize the run of kyua
- Fix VERSION_MINOR UCL expansion
- Bring back pkg create -n
- Document pkg_create(3)
- Improve documentations in pkg-set(8)
Major changes since 1.13:
- HTTP keep-alive in libfetch (imported from xbps)
- allow to backup shared libraries during upgrades
(a compat-libraries packages is created to keep track of it)
- better reproducible build support
- More variable exposed to configuration
exp-run by: antoine
- when installing over a non tracked file (not owned by any package)
pkg now saves a copy of that file as .pkgsave
- Fix a chicken/egg problem with the meta being compressed and defining
the compression format. Now pkg repo will create a meta.conf file
uncompressed (it is small enough) and fallback on the old meta.txz.
Note that meta.txz is still created for backward compatibility.
- pkg repo now creates meta files in version 2 by default meaning the
digests.txz (this was only used with pkg up to 1.2).
Anyone using that version and willing to upgrade can do it via:
pkg bootstrap -f
- suppress version checking when -j is specified
- Alphabetically sort packages printed in the output of pkg commands to
ease readability
- pkg lock/unlock now allows multiple packages in arguments
- shell script can now print messages along with pkg-messages by writing
to ${PKG_MSGFD} file descriptor
- improve error reporting when parsing vuxml files
- lua script are now ready for prime time:
- sanboxed with capsicum on plateforms that support it
- rootdir native
- documented
- Fix pkg backup
- pkg now gives a hint about running pkg update -f in case of "size mismatch"
- scripts (lua and shell) can now determine if they are in the process of an
upgrade or an installation via a variable
- shell scripts are now fully documented
- keyword files are now documented
PR: 243564
exp-run by: antoine
Since recently, libarchive is linked to libzstd, which itself uses threads
somehow, this make the build of pkg in mips unhappy.
Given libpkg is not threadsafe anyway just drop the __thread
PR: 240822
Reported by: tech-lists@zyxst.net and mandree
Discussed with: jhb
- updating: allow to use regular expession in AFFECTS: value
- updating: improve the exact matching for AFFECTS: values
- recommand using pkg bootstrap -f instead of pkg-static install -f to reinstall
pkg itself
- Add support for lua in package scripts (not documented yet)
- Add support for lua in keywords definition (not documented yet)
- Properly detect when base libarchive is linked to zstd and handle it. (needed
an upcoming change in base)
- Add a function tu lua script to append message at the run of the pkg process
along with other messages
- Add the missing warning about @unexec being deprecated for a while now in
pkg-plist
- Fix build with gmake
- Ensure pkg_shutdown properly reinitialize all the closed fd to -1.
- Do not crash when being passed an unsupported ABI
Improvements:
* better ABI name on linux
* lots of changes in internal API to use fd when possible
* 410.pkg-audit now uses anticongestion on freebsd 12+
* completion improvements
* add an extra line when printing pkg-messages to improve readability
* add %q to pkg_printf(3) and pkg-query(8) to print altabi
* make pkg version -r imply -R
* New build system based on autosetup
* pkg is now a semi static binary
* Add 3 new aliases:
- rall-depends: showing depenencies of a non installed package
- rcomment: showing only the comment of a non installed package
- rdesc: showing only the description of a non installed package
* close stdin when running scripts
* Tons of bug fixes
Removal:
* removed option: pkg repo -L
* removed script: pkg2ng