Release 1.4.99.11
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

Update to 1.4.99.7
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

Release pkg 1.4.1 and 1.4.99.1
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 to 1.4.0
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

Update to 1.4.0 rc2
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

Update to 1.4.0.a4
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!

Update to pkg 1.4.0.alpha1
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

Update to 1.4.0.pre-alpha16
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

If not built with WITH_PKG=devel, depend on ports-mgmt/pkg. This will use
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

Update to 1.4.0-alpha15
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

Update to 1.4.0-pre-alpha14
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

Remove support for pkg_install
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

- Update to 1.4.0.pre-alpha12
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.

- Update to 1.4.0.pre-alpha11
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)

Update to 1.4.0.pre-alpha6
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@

Update to 1.4.0.pre-alpha5
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@

Update to 1.4.0.pre-alpha4
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

Update to pre-alpha2.
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@

Prior to release 1.3 update pkg-devel to 1.4.0.pre-alpha1.
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@

ports-mgmt/pkg-devel: Chase relocation of pkg.8 man page
The pkg.8 manpage is edited by an extra patch on DragonFly due to
differences in jail operation. The patch no longer applies both due
to file relocation and regular bitrot. Regenerate the patch and
change its name to reflect the new file location. This is a no-op
on all releases of FreeBSD.
Approved by: just-fix-it blanket

Update to 1.3.0 beta5
Changes:
- repositories system has been reworked to support opaque repository operations
- progress bar has been reworked and simplified
- pkg backups generated by the distributed script are now plain sql files
- fixed some visual issues while installing packages
With hat: pkg@

Update to pkg 1.3.0 beta2
Changes:
- more fixes in pkg audit
- move audit functions into the library
- pkg lock -l now list the locked packages
- database lock behaviour is now configurable
- symlinks now has a checksum to ensure they are valid
- more fixes on the solver
- add long version of the options

Update to 1.3.0 beta1
Changes:
- pkg audit now accepts vuln.xml with multiple package names
- Prefer SONAME instead of filename for library provides
- Do not require dependencies that are self provided
- pkg upgrade can now have a name in argument to only upgrade a given package
and its dependencies
- Lots of bug fixes

When linking a library libA with a library libB using libtool, if libB.la
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la. So everything that subsequently links with libA will also
link to these extra libraries. This causes too much overlinking.
This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging. However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.
So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).

Update to 1.3.0 alpha8
Changes:
- Detect invalid packages that list directories in plist
- new pkg_emit_query_(yesno|select) to allow the library to ask question to the
user
- Reinstall packages on upgrade if remote abi changed (this catches up
automatically major upgrade of freebsd)
- Ability the specify the file to read the ABI from
- add --relocate to pkg add and register (this is totally unsafe to use a a
normal user, it is intended to be used in the ports tree)
- clean/improvements in the repo handling functions
- validate the directory is actually a port directory when running pkg version
against the ports tree
- new pkg audit -f <file> to run pkg audit against a local file
- pkg -j and pkg -c are now able to restart themself
- pkg version against the ports tree now works even if current working directory
has been deleted out from underneath us.
- Improved pkg upgrade/install/delete output
- Improve cache handling
- Make pkg update more verbose
- new RUN_SCRIPTS options (default on) to be able to switch of the running
pre/post operation scripts

Update to 1.3.0.a6:
Changes:
- pkg delete is not recursive by default
- pkg delete ui now explain why a package will be removed
- pkg which now handle PATH when looking for a file
- shared libraries are now directly resolved in the solver (no need anymore for
explicit package dependency)

Release 1.3.0.a5
Changes:
- Added ability to install packages with missing dependencies
- Do not enter in a sandbox if the database is open
- Do not count the lock owner as lock blocker.
- Lots of rework and fixes to improve the solver when trying to upgrade very old
package database.

Update to 1.3.0.a1:
- New solver that can support external solvers using the CUDF format and the
internal SAT solver
- pkg-ssh(8) is now sandboxed with capsicum if it is available
- pkg-ssh(8) now uses poll(2)
- Remove StringList usage to improve portability
- Rework the build system to use autotools to help portability
- Now fetching is done to a temporary location and cleaned up if it fails
- Remove PACKAGESITE
- pkg-audit: remove support for portaudit compact database (only VulnXML will be
used)
- Improved UI experience based on jmmv write up
(http://julipedia.meroh.net/search/label/cli-design)
- Hide the average speed from the progress bar (confusing for users)
- Reworking the database locking mechanism into a finer grain and more clever
system
- Dynamic conflict handling if a conflict on files is detected at the sanity
check level, try to solve the problem again with the new conflict information
- Fix %t (timestamp) modifier in pkg_printf(3)
- Full output now has a new field "date installed"
- New pkg -o A=B to overwrite configuration from command line without the need
of defining environment variables
- pkg-install now can handle local files
- pkg-add is now an alias on pkg-install
- Simplify API by using more and more libucl objects (hidden behind an opaque
'pkg_object')
Special thanks to Vsevolod Stakhov (vsevolod@)

Update to 1.2.5:
- Manpage improvements
- fix $auditfile in pkg audit periodic script
- Fix repo-*.sqlite being corrupted when pkg update is interrupted by the user
- pkg add now tells the version of the package missing
- Strop decoding/encoding all fields, only scripts and description are now
encoded/decoded

ports-mgmt/pkg*: Prepare for alternative PORTSDIR support
With the PKG_PORTSDIR make argument set, Release 1.2.2 will properly build
pkg when PORTSDIR doesn't equal the default /usr/ports, as is the standard
case with DragonFly.
Additionally, pkg(8) and pkg-static(8) man pages are conditionally edited
to remove references to the -j option when libjail isn't found on the
system. This extra-patch should never be used on FreeBSD.

Update to pkg 1.2.0 b1
Changes:
- Bug fixes in zsh completion
- Lots of bug fixes discovered by Coverity Scan
- New debug level traces
- Auto upgrade of pkg(8) now restart the upgrade process automatically
- Dependencies on library is now automatic via pkg register and pkg
create
- YAML is replaced by UCL format:
Both formats are really simular. pkg(8) will falls back on parsing YAML
when the UCL parser fail. And will emit a warning to the
user showing a syntax that is compatible with both YAML and UCL.
More informations on UCL: https://github.com/vstakhov/libucl

- Force pkg to not use base libbsdyml, which was available in head|stable/10
for some months. libbsdyml is being removed for 10-R. The bundled libyaml
will be used instead.
Discussed with: bapt
With hat: portmgr