Changes:
- stop spamming users about false libraries not found when creating a package
- do not consider local files when evaluation the pkg delete arguments
- be more precise about the reasons of a dependency change
- give informations about abi changes
- give informations about options changes
- fix conflicts handling in multi repository mode
Changes:
- More fixes on pkg lock/unlock on 32bits
- Initial support for provides/requires
- Print which package is the reason for direct depend change
- Cleanup regression tests
- Allow pkg create -M ./plop.ucl -p ./plop.plist
- Deprecate --relocate
- add pkg -r <rootdir> option to allow easy cross installation
- export PKG_ROOTDIR in script to ease cross installation friendly scripts
Changes:
- Add examples about annotations
- Make the public API c++ friendly
- Fix bug in solver found by the ruby 2.1 upgrade: puppet getting removed when
it should not
Changes:
- New option DEFAULT_ALWAYS_YES to have pkg defaulting on Yes for all questions
- Cleanup some internal APIs
- 37 more regression tests
- Improved support for NetBSD
- Fix return code of pkg lock -l
- Fix documentation about the default location for keywords
- Mark @ignore as deprecated
- Add more flexibility to keyword credentials:
* Now accept mini version of arguments: @(owner) or @(,group)
* All arguments after 4th arguments is now considered as file flags
- Allow custom (UCL) keywords to have arguments, this will split the line after
the keywords line any command line arguments.
- Improve report from error when parsing the plist lines to format the '%' keys
- Reduce memory usage in lot of operations
- Speed up lot of operations
- Update bundled libelf
- Add support for aarch64
- Fix pkg audit -r printing twice the CVE entry
- Fix pkg audit -r not finding reverse dependencies
- Fix dynamic conflicts (was only broken in devel branches not releases)
- Fix pkg lock on 32bits
- Cleanup pkg alias: Show errors in stderr, Support -q (quiet)
- Fix parsing key/value list from env
- Fix annotate --show --all
- Make sure the kernel allows PROCCTL_REAP_ACQUIRE.
Changes:
- connect pkg alias to the build
- add pkg create -v and PKG_CREATE_VERBOSE in pkg.conf to get verbose package
creation
- show repository priority in pkg -vv
- document pkg_repo_priority() in pkg_repos(3)
- fix a bug handling chflags on systems without chflagsat reported on dfly but
might also affect FreeBSD 8 and 9 even if no bugs were reported yet [1]
[1] Special thanks goes to Dillon for removing the dirt our of my eyes and
spotting the bug, Antonio Huete Jimenez (tuxillo) for testing and tracking the
bug since it has been spotted on dragonfly
Changes:
- pkg updating now support case insensitive matching
- pkg_printf(3) support %x (so print the size of the package tarball)
- Use SI symbols (MiB instead of MB)
- When using procctl on an older kernel that does not implement the reaper
functionnality, be explicit about the failing syscall.
- Lots of fixes on the chflags handling
- Emit names in cudf instead of origins
Changes:
- Enforce a bit more pkgname a unicity identifier
- Fix regression on pkg query with multiline
- Fix sql error on some pkg query
- Stop again caching files for file:/// repos
- Do not trust libarchive to apply modes
- Accept tar files in repositories
- Handle chflags
- Some updates in documentation
- update sqlite to 3.8.8 (small performances improvements and bug memory usage reduction)
Changes:
- Remove lots of dead code
- Fix pkg stat reporting the size of remote repositories
- Remove execinfo dependency
- Fix pkg check with no active remote db
- Remove outdated example from manpages
- More accurate error messages in pkg check
- Use the new procctl(2) features when possible to prevent script from spawning daemons
- More fixes in integrity check
- Improvements in zsh completion
- Initial support for OSX (passes all regression tests)
- Initial support for Linux (early)
- Update libucl to 0.7.1
- Bundle libfetch (to simplify porting as well as providing latest improvements to all FreeBSD version)
- Support blake2b digests
Changes:
- Fix applying proper modes on directories on some corner cases (fixes pkg install mailman)
- Do not display pkg-message is pkg register fails
- During removal, if a directory was already removed by a bogus script, continue removing parents.
Changes specific to -devel:
- pkg -d now set DEBUG_LEVEL -d == DEBUG_LEVEL=1 -dd == 2 etc
Changes:
- Manpages updates
- Fix directory removal guard
- Fix loading of files from packages
- Add new CONSERVATIVE_UPGRADE option to enforce keeping package from the
repository they were installed from
- Add priority support for multi repository
While this version improves a lot multi repo support please note that there is a
known bug resulting in failures during integrity checking, resulting in some
operations may have to be run twice we are investigating a fix
Update pkg-devel to 1.4.99.0 (aka 1.5 pre-alpha0)
Changes since pkg 1.3.0:
Changes you can expect in pkg 1.4 are the following:
- Loads of bug fixes
- Stricter checking of the path passed via the plist
- Removal of the bundled libyaml
- new --raw-format to chose the output format for info -R and search -R
- ABI (for freebsd, unchanged for dragonfly) is now follwing MACHINE_ARCH
(freebsd:10:x86:64 become FreeBSD:10:amd64) the old ABI is available as a
fallback in ALTABI
- pkg check now support a quiet mode
- new 3 way merge code ("stolen" from the fossil-scm) to allow automerging
configuration files
- new @config keyword to mark a file as a config file (during
upgrade/reinstallation it will try to merge the configuration with the one the
user may have modified) an option AUTOMERGE is available to prevent
automerging if automerge fails a .pkgnew file will be created along with the
untouched user version of the configuration
- The update procedure has been improved and speed up a lot (in particular for
machine with low resources)
- The unique identifier has been modified to be pkgname meaning now ports can be
moved in new categories without having to be considered a different package
- Only libraries starting by lib* are added to the provided libraries
- General speed up of all operations
- pkg set gain a -n option (equivalent to -o but works on name rather than origin)
- pkg set -o now considered deprecated
- pkg version accept '?' and '!' in pkg version limchar
Changes:
- More fixes to pkg fetch -o
- Fix pkg delete removing too many directories
- new pkg set -n (to change names) equivalent of pkg set -o
- Run pkg set -n and -o understand transaction to speed up
- Allow @dir to be a symlink
Changes:
- Important bug fix in the solver in case an explicit conflict has been
discovered in that case the solve should delete the old version then
install the new version when it was deleting the old version then upgrading \
to the new version
- Small cosmetic fix
Changes:
- Print orphaned packages in pkg version when comparing with the INDEX file
- Fix pkg upgrade leaving directories behind
- Plug memory leaks when parsing plists
- Remove some dead code
- Improve documentation
- file:// repository files are now fetched again into the cache to avoid
problems in integrity check
- The repository configuration files are now load in alpha order
- When upgrading from a database with duplicated package names arbitrary rename them
- Fix pkg fetch -o
- Fix return code when pkg fetch fails
Changes:
- Lots of documentation fixes
- Lots of typos fixes in messages
- Fix UI when a package is going to be downgraded
- Cleanup is internal functions (removing useless accessors)
- Do not allow to create packages in old format anymore (it was broken anyway)
- allow ? and ! in pkg version limchar
- New configuration option VERSION_SOURCE (to the version used to read INDEX)
- Really fix multirepo (hopefully)
Changes:
- Reinstall packages if one of its dependency have change
While hackish this allows seamless upgrade of perl5 and ruby2
- Fix pkg audit as used from ports
- Reject chroot for unknown ABIs
- Fix generating repos from 1.3 created packages
- Allow to build out of the source tree
- Fix ABI detection on armeb
- Fix some left overs from Unique id migration
- Fix pkg delete regression (it is again recursive by default)
- Locked packages prevent deleting anything that depends on them
- Fix pkg upgrade on multi repo
- Fix pkg upgrade ignoring the lock flag
Thank you very much for all the testers and reports! Please keep testing!
Changes:
- Change the default fetch site for vuxml
- simplify some code
- fix too small buffers
- only add in provided shlibs the files starting with lib*
Changes:
- Lots of cleanup in the API
- Huge refactoring to avoid using hashes where not needed
- add a new @config keyword for all files with such flags pkg will try
automatically to merge the difference with newer version on upgrades
a vanilla version of the file is kept in the db to allow 3 way merge
this was the last blocker to be able to package base
- new options AUTOMERGE to prevent pkg to automatically merge @config files
- speed up upgrades by only extracting files that are different from 2 packages
- convert unique package identifier to the package name (at last !)
- drop incremental update support this was preventing allowing multiple packages
with the same name in a remote repo
- lots of improvements in the pkg update process
- update sqlite to 3.8.7
- Change pkg audit so that it points to the http://vuxml.FreeBSD.org/freebsd/
location by default
- Lots of fixes in the solver
Changes:
- Rework the job request processing
- Fix pkg install/upgrade
- Fix forced reinstall
- Rework of integrity checking
- The ABI is now defined using MACHINE_ARCH meaning freebsd:10:x86:64 is now FreeBSD:10:amd64
this is encoded in the package as "abi" the old "arch" key remains for compatibility and is translated to the old ABI
- New option ALTABI represent the ancient ABI format
- Repository configuration files can now talle ${ALTABI} as well as ${ABI}
- The audit periodic script is able to audit pkgs in jails or chroots from the host system
- The backup periodic script is able to backup database from jails or chroots to the host system
- The status periodic script is able to report on chroots and jails from the host system.
- The checksum periodic script is able to report on checksum mismatches in chroots and jails.
- pkg check now support -q (--quiet)
- 3 way merge code has been imported from the fossil scm project (not yet in use)
- Code cleanup
- Lots of minor bug fixes
- Update libucl
- Rationalise path before packaging ( /something//bla is not the same a /something/bla)
- pkg info/search -R can now specify ucl as a format for the raw output
the normal pkg for packaging pkg-devel. This is needed because the repo is
expected to be only non-devel packages.
This also fixes a poudriere crash when the repo is empty and both pkg and
pkg-devel are built. When pkg-devel would finish first it would crash due to
not having a pkg to use for caching various metadata from the package.
Differential Revision: D809
With hat: portmgr
Reviewed by: bapt
Changes:
- pkg register checks conflicts before installing the files
- do not provide any shlibs if the "no_provide_shlib" annotation is set
- fix invalid free() in keywords arguments parsing
- Add ability to select usage of IPv4/IPv6 via config, repository config or command line
- some documentation fixes and improvements
- If one of -P, -I or -R is not explicitly given on the command line, do
not emit error messages while searching for a mechanism to find data
about the latest available ports.
- Rework automatic directory deletion
Changes:
- New @dir keyword
- @dirrm/@dirrmtry will now expose a warning in DEVELOPER_MODE
- directories outside of PREFIX are now automatically handled
- Determine the running OS version from /bin/sh not uname so that
pkg doesn't think a jail running on a newer host is an OS upgrade
- Remove libyaml
- The plist now entirely default on owner root, group wheel
- Add more regressions tests
Changes:
- @owner/@group without var reset to root/wheel
- Do not accept @mode with '+-' like u+s or g-w
- Integrate kyua with autools (make check now calls kyua)
- Fix pkg annotate -y
- Fix a regression in pkg_is_valid
- Allow keywords define in ucl files '(Keywords/*.ucl)' to consider its
argument as a command line argument (aka split it)
- Completly ignore mtree
- Automatically remove any directory under PREFIX if needed
Merge back bsd.pkgng.mk into bsd.port.mk
Add a note about @stopdaemon not being supported anymore
With hat: portmgr
Differential Revision: https://reviews.freebsd.org/D693
Changes:
* Documentation updates
* Fix always refetching of file:// and ftp:// repositories
* pkg query -g: Fix handling of ranges such as 'name-[0-9]*' which
is used by ports CONFLICTS checking
* Fix crash when SIGNATURE_TYPE=PUBKEY but PUBKEY is not defined
* New output for UX testing/feedback:
* pkg add - Use a nested tree view due to how the job is handled
* pkg upgrade/install/delete - Show 'Installing' message separate
from Extracting or Deleting of files. This is so that any messages
from the package are shown after noting what is being done. Messages
were shown before "Installing" before.
Users will see a "changed shlibs" reinstall for 'pkg upgrade' until:
1. _All_ packages on remote repositories are rebuilt with this version
of pkg.
2. 'pkg check -Ba' should be run after upgrading pkg but before upgrading
other packages. This requires #1 though, which is not happening until
1.3.7 is released. Running 'pkg check -Ba' before the remote repository
is fixed will just continue to propose reinstalling packages for 'changed
shlibs'.
Changes:
* pkg fetch -d: Fix crash (#955)
* Progress bar improvements/fixes
* Fix ETA for fetching (#943)
* Fix progressbar stalled support
* ETA progress: Account for TCP SLOW START and weigh the first few ticks less
* Rework 'pkg update' output slightly to clarify what it is doing.
* pkg check: Add progressbar when not using -v
* pkg check: Add job counter with using -v
* pkg clean: Add progressbar
* Fix hardlink calculations (#958)
* pkg backup: Add -q
* pkg backup: Remove docs for '-d -' as it does not work.
* pkg config: Fix output for arrays/objects (#971)
* Fix RC scripts being started on deinstall rather than stopped
* Add some more asserts
* pkg-fetch.8: Remove reference to removed mirror mode
* Fix a few typos in pkg.conf.5 (#969)
* Document new configuration options. (#969)
Changes:
* Test suite fixes
* Fix pkg-devel self upgrade when remote repo defaults to non-devel
* pkg-rquery(8): Add a pointer to EXAMPLES in pkg-query(8)
* If opening the db in READ_ONLY give a warning if it is missing
* Give advice on how to recreate the database if auto-updating was skipped
* Remove pkg --check-activation. It is too tempting to use.
* Make it more clear that the 'Major version' change is non-fatal
* Jobs display: Avoid excessive newline before prompt and after unprompted usage
* Remove references to PACKAGESITE/MIRROR_TYPE/PUBKEY
* Support uppercase ENABLED in repo config.
* Avoid POLA, make PACKAGESITE/MIRROR_TYPE/PUBKEY in pkg.conf fatal
* Fix self upgrade loop with pkg upgrade -Fy
* Fix self upgrade not using the new pkg binary
* pkg-{delete,autoremove}: Use a readonly lock in dry run
* pkg-convert: Add locking. EXCLUSIVE by default, READONLY with -n
* pkg-convert: Check for proper db permissions for both real and dry_run mode
* pkg-convert -r: Only a readonly lock is required for converting from the db
* pkg-convert -r: Add common db access checks
* pkg convert -r: Don't crash if unable to create the package dir
* Revert stripping shlib versions from e127d91d4.
This will require rebuilding packages on the repository and then
running pkg check -Ba to fully utilize. Until packages are rebuilt
there may be false-positive shlib reinstalls.
* pkg {register, check -B}: Fix registering provided shlibs as required
* When analysing ELF files with DEVELOPER_MODE, don't bail on first error
* Fix pkg-ssh when SSH_RESTRICT_DIR is a symlink
* Fix size calculations with hardlinks
* Fix pkg-which glob
Changes:
- When filtering out shlib archs, compare wordsize first and then ABI arch string
- Fix rquery -e
- Fix install progress output for meta packages
- Fix writing annotations to manifests
- pkg-clean: Show files to delete first
- Add a pkg_symlink_cksumat to fix pkg-delete
- Add packages checksums to digest file to fix broken repo update
- Unbreak pkg-ssh
With hat: pkg@
Changes:
- Fix crash on i386 (thanks to antoine@)
- Ignore duplicates in require/provide
- Add missed call to pkg_list_free for PKG_PROVIDES (thanks to Maxim Ignatenko)
- Print error if we cannot parse manifest
- Select the newest possible package to satisfy dependency
- Check shared libraries architecture and ignore incompatible ones
With hat: pkg@
Changes:
- Print number of upgrade candidates
- Fix request addition
- Suggest manual resolution for UNSAT problems
- Check repository and force update if it is not valid
- Fix issue with seen packages not added to the request
- Use plain .so for all shared libraries requires/provides
With hat: pkg@
Changes:
- Use picosat SAT solver instead of the internal one:
* production grade solver that is extensively tested
* faster than internal one
* has more flexible features
- Fix issues with adding items to the universe
- Fix forced operations
With hat: pkg@
Changes:
- The solver and jobs interface were completely reworked:
* multirepos have now better support
* fix a number of issue with missed shared library dependencies
* upgrade and install are now more clever about chosing repositories
* implement package pinning to a repository
* add heuristic to resolve conflicts between remote packages
* removed tonns of old hacks
* arrays are now used in many places instead of lists for performance
* some hash tables are improved by using direct pointers hash
- Minor fixes
Changes:
- Explicitly pass when passmode should be used with libarchive
- Properly trim end spaces in plist for files and directories
- Fix pkg ssh client
- Fix pkg_env
- Follow symlinks in fstatat otherwise it breaks repos created by poudriere
- Fix sqlite on FS without proper locking mechanism
- Fix pkg install -A
- Do not distinguish anymore between dirrm and drirmtry
- Fix options parsing by libucl
- Rework repo update to avoid early repo destruction
- Fix forced update
- Update errors are now not fatal
- Fix realpath usage
- Fix pkg set -o
- Fix progress bars when not in a tty to give output
- Ignore sigpipe to avoid resources leak
- Read lock is now no-op unles READ_LOCK option is turned on
- Fix incremental repo updates (size missmatch error)
- Add a rootfd to simplify handling of relocation
- Implement a set of *at functions
- Improve documentation
- Tons of minor bugfixes
With hat: pkg@
This build includes all fixes from pkg 1.3.2 plus the following changes:
- Fix an issue with pkg-repo that prevents from getting all packages in the
archive
- Fix an issue with manifests parsing on big-endian platforms
- Add help messages for aliases (by admi3)
- Fix linkage with sbuf (always use bundled sbuf)
With hat: pkg@
This version is equal to pkg 1.3.0 tag.
Changes from 1.3.0.rc4:
- Use rename(2) to install symlink [1]
- Link directly pkg frontend to libsbuf
- Rework installation logic:
If a file is found on the way do the following:
1) Append 12 chars random suffix to the filename;
2) Extract new file to that modified filename;
3) Rename new file to old file.
- or -
3) Remove temporary file in case of error.
- Fix reporting of locked packages [2]
- Fix link with binutils 2.24
Reported by: bdrewery[1], az[2]
With hat: pkg@