Changes since pkg 1.4.0:
- Initial provides/requires support
- Lots of new regression tests have been added
- Initial support for OS X
- Initial support for NetBSD/EdgeBSD
- Update most of the bundled third party software has been updated to their
latest version
- Improve the messages reported by pkg
- Properly support file flags
- Implement argument support for custom keywords
- Extend setting credential via plist to allow to set file flags
- Make credential syntax via plist more flexible allow to only defines the first
- pkg updating now supports case insensitive matching
- pkg create now support a verbose mode
- Add an option to change the default on question, until now the default answer
was "No" with that option set it would be "Yes"
- Lots of fixes to pkg audit -r
- Global memory usage reduction and speed up
- Improvements and cleanup on pkg alias
- pkg annotate --show --all has been fixed
- Make pkg.h C++ friendly
- Lots of improvements in the solver
- Lots of fixes on 32 bits platforms
- Add support for: pkg create -M ./plop.ucl -p ./plop.plist
- New pkg -r <rootdir> that will install in the given rootdir without chrooting
- Export PKG_ROOTDIR to scripts allow to make them as portable as possible
- Stop trying to remove all installed package with the argument of pkg delete is
a local file
- Be more explicit about why the solver it going to reinstall, remove or upgrade
(when possible)
- Plenty of bug fixes
- Plenty of new bugs
- pkg shlibs now support -q
- pkg lock gained a new --has-locked-packages option
- pkg now resumes fetch if possible
- CONSERVATIVE_UPGRADE is now on by default
- pkg alias now have a -l argument to list aliases
- A sample pkg.conf is now installed with a bunch of aliases set by default
- Fix the backup script to properly export an sql which will be importable via
pkg shell and/or sqlite out of box
Thanks to all testers and contributors,
Changes:
- 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.
- Lofs of fixes on the chflags handling
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
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
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
- Plist parser do not accept modes like o+w g+s u+r
- @owner/@group with no argument reset the default ownership to root/wheel
- Plug regression tests into the release mechanism as mandatory
- Allow url in repository configuration to be overriden by another configuration
file
- 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.
- External keywords can now take arguments
- Directories under PREFIX are automatically handled and removed if needed
- MTREE are not packaged anymore neither extracted on final installation
- OS major checking (to determine if pkg is running on an upgraded base system)
uses the same mechanism as ABI detection instead of relying on UNAME_r which
can have false positivie on jails
- Add @dir keyword for plist which is used to package explicitly directories
(directories with non root/wheel or outside prefix) and empty directories
(@dirrm and @dirrmtry are now considered as deprecated)
- root/wheel are now considered as the default user/group when creating a
package except @owner/@group are used to change that behaviour
- Import newer version of libucl which improves error messages in case of
problem parsing manifest or configuration files
- Fix pkg register so it checks for conflicts before actually copying files on
to the filesystem
- pkg now support a new no_provide_lib annotation to preventing automatic
populating of provided libs (useful for packages bundling libraries like wine)
- Improve documentations
- Ability to select usage of IPv4/IPv6 via config, repository config or command
line
- Lots of bug fixes
Side effects:
- Convert to install-mtree target into a no-op target Add empty directories to
plist of ports that needs them to run:
- share/aclocal to devel/automake and devel/automake14
- share/applications to devel/desktop-file-utils
- share/xml share/sgml to textproc/xmlcatmgr
- Prevent check-plist to issue warnings about some @dir*
- Adjist check_leftovers.sh to not take in account anything related to mtree
- Bump the default required version of pkg to 1.3.8
Please note announcement for special instructions at:
http://lists.freebsd.org/pipermail/freebsd-ports-announce/2014-August/000086.html
- Users need to run 'pkg check -Ba' after upgrading to pkg-1.3.7 and before
updating any other packages. This avoids needing to reinstall anything
not needed due to changed shlibs.
- People building packages for serving to other systems need to rebuild
all packages with 1.3.7.
Changes:
* Test suite fixes
* Documentation updates
* 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
* 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)
* 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
Changes:
* Fix bringing in i386-wine* as a dependency (requires rebuilding
the wine package). This is fixed, for now, by not considering
shlibs as provided by a package if they do not match the target
architecture. (#922)
!!! You should delete the i386-wine and i386-wine-devel !!!
!!! packages from your repository so they rebuild. !!!
!!! Bumping of PORTREVISION is pending due to the !!!
!!! nature of these ports. !!!
* Fix auto reinstallation of packages when shlibs/dependencies
change. This will force a 'pkg update' to run to rebuild
the local repository. Using -U will not work until this is
done. (#933)
* Fix 'pkg rquery %Av' (requires rerunning pkg-repo on remote) (#925)
* Fix pkg_solve_sat_problem assertions (#915)
* Fix 'pkg install -f' (#912)
'pkg install -R[f]' is still known to not work (#926)
* Fix 'pkg rquery -e' (#910)
* Fix 'size mismatch' errors requiring 'pkg update -f' (#906)
* Fix other cases of 'pkg update -f' being required.
* Fix 'pkg clean' to show files before confirming (#887)
* Fix upgrade/install not showing meta packages in the output (#909)
* Fix 'pkg autoremove -n' asking for confirmation
* Fix 'pkg lock' not being respected for forced operations (#911, #937).
Note that a locked package may still be deleted if the solver determines
it is no longer needed.
* Fix 'pkg delete -q'
* Replace the SAT solver with Picosat (#914). This is much more mature
and stable than our previous solver. It, along with other work, fixes
many issues with solving upgrades.
* 'pkg ssh' fixes
* Do not consider shlib versions for package provides/requires as there is
discrepency in what packages provide and what other require. For now only
rely on libname.so.
With hat: portmgr
Changes:
- Fix progress bars when not in a tty to give output
- Dragonfly fixes
- Multiple fixes in @keywords(user,group,mode) support
- Important fixes in repo incremental updates
- Fix pkg audit not returning an error in case of vulneraibilities found (making periodic script not working)
- Ignore sigpipe
- Make the read lock now no op
- Directories can be listed in the plist like files they will be considered like @dirrmtry
- Very important refactor and fixes in the solver making the whole code more manageable:
- This fixes multirepo support
- Fixes missed upgrades
- Fix pkg rquery -e with complex (%#r for example) queries
- Fix pkg upgrade -f
Changes:
- Fix repo database manipulation on FS with no proper locking mechanism
- Fix regression where options have "true" value instead of "on"
- Prevent early destruction of a repo
- Workaround new nginx behaviour of if_modified_since
- Fix pkg set -o
- Improve some error messages
- Do not fallback on yaml anymore to parse new keywords
Changes:
- Always use bundled libsbuf
- Make pkg help aware of aliases
- Add more debug info
- Yet another fix for pkg repo
- Fix some size to chase ucl changes
- Fix a bug if one if creating a package and a directory of that name exists
- Fix plist whitspace trimming
- Fix pkg_env
- Fix pkg ssh
- Allow pkg ssh server to serve poudriere made repositories
- Fix again pkg install -A
Changes:
- Import fixes from libucl (fixes memory corruption with pkg.conf)
- Fix memory corruption when reinstalling packages
- Rework pkg repo process distribution
Changes:
- Add a WORKERS_COUNT option to limit the number of workers used during pkg repo
- Fix pkg repo hanging on FreeBSD 8 and 9
- Fix migration of local database from 1.2 to 1.3 which was resetting the installation time
- Print the repository in search informations
- Ignore meta file when rebuilding a repository
- Lots of fixes in libucl
- Fix pkg info -R to generate a valid yaml
- Accept empty pkg.conf files
- Accept empty repository configuration files
- Fix pkg.conf reading so keys are now case insensitive again
- Blog sigalarn when reading passphrase allowing to sign packages with a passphrase protected key
- Install again zsh completion as _pkg instead of _pkg.zsh
- Rework the upgrade/install procedure so it doesn't leave files behind anymore and properly runs scripts
- Install periodic scripts with an executable bit
- Speed up pkg version without INDEX
- Preserve automatic flag on forced upgrade/reinstall
- Fix memory corruption on reinstall
Since pkg 1.2:
- 373 files changed, 66973 insertions(+), 38512 deletions(-)
- 29 differents contributors
- Merge of one of the 2013 Summer of code project
Changelog:
- 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)
- 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')
- Rework multirepository handling
- Prepare code for repository abstraction support
- Sandbox signature checking and extraction
- Support long options
- Rework the extraction process
- unicity of a package is now origin~name allowing subpackages and flavours
- Improve ui for all commands
- pkg lock -l now list the locked packages
- symlinks now has a checksum to ensure they are valid
- pkg backups generated by the distributed script are now plain sql files
- Tons of bugfixes
- Tons of behavour fixes
Changes:
- Only fallback to YAML if UCL parsing fails
- pkg2ng: Hide warnings about @mtree, @stopdaemon, @comment
@display and @conflicts
- Fix escaping issues with COMMENT
- pkg add: Fix -A to properly mark package as automatic
- pkg2ng: Fix over NFS
- pkg2ng: Show message while analyzing shared libraries
This update includes a security update for possible arbitrary code
execution from package manifest parsing. All users are advised to
upgrade ASAP. The base pkg(7) was never affected by this. [1]
Changes:
* Fix libyaml head-based buffer overflow [1]
* Fix pkg info -E support for ports, which namely affected
net/openldap* usage. [2]
* Fix packages registering themselves as dependencies [3]
* Bash autocompletion fixes [4]
* autoremove: Don't try to remove locked packages
* Support 'pkg bootstrap -f', which will force a reinstall of pkg
on FreeBSD 10.0+
* Fix %t timestamp formatter with %{...%} modifiers [5]
* pkg info: Show date installed
* Add $daily_status_security_pkgaudit_quiet to control 410.pkg-audit.in
output verbosity level
* Add an error when trying to update repository and none are defined [6]
* Fix typos in manpages [7]
Security: CVE-2013-6393 [1]
Reported by: secteam (delphij) [1]
PR: ports/184797 [2]
Reported by: Pavel Timofeev <timp87@gmail.com> [2], many
Submitted by: smh@ [3]
Submitted by: brd@ [4]
Submitted by: Jamie Landeg Jones [5]
Submitted by: Rodrigo Osorio [6]
Submitted by: Michael Gehring, wblock [7]
With hat: portmgr
MFH: 2014Q1
- 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
Changes:
- Fix segfault in pkg audit -F [1]
- Fix multiple segfault when using eventpipe [2]
- Fix REPOS_DIR being appended instead of overwritten when modified from pkg.conf
Reported by: many [1]
Reported by: kmoore [2]
Changes:
- Workaround a bug in bsd.*.mk on FreeBSD 8.x
- Fix a pkg repo segfault
- Document aliases in pkg.conf(5)
- Be more verbose when refusing a repository configuration file
- Sync libucl with upstream (bug fixes)
- Fix a fd leak in pkg repo
- Fix memory leaks due bad usage of libarchive
Changelog:
- Fix pkg which returns bogus non-zero exit status on success
- Better check libucl returns
- Fix bad build system resulting in broken binaries on arm and ia64
- Update pkg.conf documentation
- Add manpage for pkg config
- OOTB support for dragonfly
- Lots of fixes in libucl
- Fix pkg register complaining about shared libraries not found
- Do not resume a jailed or chrooted pkg(8) upgrade
- Document the plist format (in pkg-create(8))
- Pet mandoc -Tlint
- Add manpage for pkg_repos(3)
- Fix dependencies losing portepoch information
- pkg-[r]query: Add %q to display architecture
- Fix pkg add allowing to install package with missing dependencies
- Fix description being stored escaped
Special thanks to mat@ (for bug busting) and cognet@ (tracking down 2 issues
on arm and as a side effect fixing on ia64
Changes:
- Fix pkg rquery always printing index like lines
- Fix pkg -vv suggestion so it print something actually usable
- Fix shlib's -P and -R options were swapped round.
- Replace broken pkg_repos_count() by pkg_repos_total_count() and pkg_repos_activated_count()
- Fix parsing of options (in manifest)
- pkg add http:// now fetch to a temporary location and cleanup after itself
- Fix generation of the manifest digest
- Properly calculate how many packages where removed
- Fix support for dependencies with the same name (grrrr Fix you port if they have package name collision !!!!)
- Fix pkg info -R in case multiple dependencies has the same name
Changelog:
- Improved build system
- Allow to hook plugins, before closing the local db if it was opened in RW mode
- Allow ARCH to be printed by pkg info
- New pkg bootstrap subcommand that is the counter part of the pkg(7) bootstrap subcommand
- Use port specified in the SRV entries to connect to a given mirror
- Properly support srv priority/weigh when ordering mirrors
- Lots of spelling/grammar fixes
- Broken incremental pkg repo support was removed.
- ABI is now checked again using globs:
* a 'noarch' package should just specify: ARCH: 'freebsd:*'
* a package working on both i386 and amd64: ARCH: 'freebsd:9:x86:*'
- new pkg config subcommand to allow direct query of options
- options can now have a description
- pkg repo can now take new arguments:
pkg repo [path] [rsa_key|'signing_command: <command>']
This allow calling external command to perform the signing and
pass the checksum to be signed in the command stdin.
- in case pkg info is querying a file or is a single direct match
query then default on -f
- pkg info -q is now equivalent of pkg info -qa
- expat is now always bundled (for vuxml)
- vuxml is now the default source for pkg audit
- Accept empty/comment only configuration files
- Print a pkg name only once - even if multiple vulns were found - when using -q
in pkg audit
- pkg info now default on glob matching
- Support for pkg+foo url scheme where foo can be (http, https, ftp).
- pkg add is now able to read the packages from a pipe or a non-regular
file '-' is an alias for stdin, this also works from pipes, fifos,
unix domain sockets etc.
- New 'fingerprint' kind of signature:
if a repository is declared using the fingerprint type of
signature, a fingerprint directory should also be provided.
Inside that fingerprint directory should be 2 directories:
trusted and revoked. Those directories will contains files (in
yaml/ucl format) containing the fingerprint of the trusted
certificated and the revoked ones:
--- begins --
function: sha256
fingerprint: an_hex_representation_of_the_fingerprint
--- ends ---
All unknown attribute will be silently ignored to allow extending
in the future.
It also support multiple signatures inside the catalog. the
catalog should provide the signature in the following form:
name.sig
name.cert
- packagesite in pkg.conf is deprecated in favour using dedicated
repository configuration files
- REPO_DIR is now a list instead of a simple string
- New git like aliases to allow creating custom commands
- Allow using '?' operator in pkg query expressions
- Fix ssh:// support
- New PKG_SSH_ARGS to allow passing custom arguments to ssh command
used for the ssh:// protocol
- Do not generate catalogs in pkg 1.0 format anymore.
- 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
- Dependencies on library is now automatic via pkg register and pkg
create
- Auto upgrade of pkg(8) now restart the upgrade process automatically
- Lots of bug fixes discovered by Coverity Scan
- New debug level traces
- Bug fixes in zsh completion
- rquery can now take a -I argument to output index like lines (needed for
bsdconfig)
- Skip self upgrade with -F is passed
- Autodetect if libelf should be used bundled
- Lots of bug fixes
Thanks a lot to all people allowed this release to happen, may that be from providing
code, ideas, submitting bugs, documenting or just supporting.
Changes:
* Fix crash when opening repository in some cases
* Fix build with -Werror
* Fix 'pkg install [-f] pkg' not finding results
* Fix 'pkg upgrade -f' always wanting to upgrade pkg first
* Fix 'pkg install -R' always wanting to install pkg first
* Fix backwards compatibility for 1.0-built packages for
tracking shlibs. This may cause some packages to be
reinstalled after the repository is updated.
* Fix pkg (upgrade|fetch|install) -r <repo> crash
* Fix crash when specifying invalid repo with -r
Changes:
- Fix repository signing verification with new format during update
- Disable terminal title setting
- Fix %a/%k returning true/false instead of 0/1
- Various memory/fd leaks have been fixed
- Fixed pkg self-upgrade detection
- ZSH completion fixes
- Several crashes fixed
With hat: portmgr
Changes:
- Fix install|upgrade -f not executing post-install scripts [1]
- Fix bad size calculation on i386 for pkg delete (always say 4G will be freed)
- Fix pkg query '%sh' now properly converting to human number on i386
- Fix zsh completion missing ']' [2]
- Fix pkg stats in case no remote repositories are configured [3]
Reported by: ohauer [1], Kimmo Paasiala via github issue #520 [2], rene [3]
Changes since 1.0.X:
- new simpler and more reliable solver
- shared libraries are now always tracked
- ssh:// is supported as a protocol to distribute packages (needs pkg 1.1+ on
the server hosting the packages)
- multirepository is no longer considered experimental and works by default.
- incremental update of the catalog (only if the repository was created by pkg
1.1+)
- simplification of the public API
- stabilisation of the public API (we will now try to keep it stable and if
change are needed there will be deprecation time before removal of some old
functions)
- new experimental pkg convert (can convert from and to legacy pkg database)
pkg2ng now uses pkg convert (still recommanded to use pkg2ng)
- new pkg lock/unlock to prevent any manipulation of a given package (no
upgrade,delete,etc)
- improved UI (now you can see the progress of an upgrade what is left to be
done)
- new pkg annotation to allow one to add annotations (free form key/value) to a
package)
- pkg audit is now able to directly parse the vuxml native format and not only
the compact version
- pkg -vv now shows all available options and their current settings
- pkg -vvv now shows a description of all the available options
- pkg info now automatically considers the query as globbing if * is in the
requested pattern
- new hook plugin interface (allows users to create hooks that get called at
anytime during and upgrade/installation/deletion of a package)
- new cmd plugin interface (allows users to create new sub command available for
pkg)
- pkg register can now register a port installation in the legacy database
format
- repository can be defined in simple yaml files
- Explain why a package is being reinstalled
- A package can now be marked to only be upgraded from a given repository via
annotations
- install and upgrade will show from which repository packages are taken from
- old/unused 'informations' field has been removed in favor of using
annotations
- pkg repo produce a repo.txz in pkg 1.0 (legacy) fromat
Internal:
- massive usage of hash tables (uthash), which simplifies a lot of the code,
and improves performances
- lots of optimisation in plist and manifest parsing
- lots of optimisation in loading packages (mmap used when possible)
- lots of cleanup in memory usage
- regression test framework is now ready (using atf) regression test are slowly
being added and populated.
Changes:
- Add pkg -N to detect if pkgng is installed and activated.
See pkg(8) for usage as this is not completely safe for 9.1's
bootstrapper.
- Update manpages with examples
- Fix crash in shlib handling (was already in port)
- Fix shlibs scanning over NFS
- Update to new repository/upstream URL at
http://github.com/freebsd/pkg
With hat: portmgr
*** Binary Package Builders: It is recommended to rebuild
all packages and then run 'pkg check -Ba' and 'pkg
upgrade' on your client servers once. This will allow
the new shlib tracking to reinstall packages that have
changed shlib requirements. This step is optional.
Changes:
* Always track provided SHLIBS now when packages are
created
* Automatically reinstall packages when their needed shlibs
or dependencies change. This removes the need to run
'pkg install -Rf' in many, but not all, cases.
* New DB lock strategy when stored on a network filesystem
* pkg version: Show ? when package is missing on remote
* pkg check -s: Return non-zero exit status if a mismatch
is found
* pkg audit: Implement -q
* Add more periodic scripts
* Add bash completion script
* pkg audit: Performance optimizations
* Build fixes
* Add some forward-compatibility support for upcoming 1.1
Thank you to all contributors, listed in the upstream commits:
https://github.com/pkgng/pkgng/commits/1.0.12
With hat: portmgr
Changes:
- Fixes pkg-[r]query %d only returning the first
depedency. This could have resulted in packages
being built without a full depedency list. It is
recommended to rebuild any packages built in the
last day.
With hat: portmgr
- Replace tab with space in pkg-descr
Changes:
- gcc44/gcc48 build fixes
- pkg-install now returns 0 when requested pkgs already
installed
- Fixed pkgconf file handling
- Hard-coded post-deinstall list has been moved to
bsd.pkgng.mk as _FORCE_POST_PATTERNS so we can update
that instead of having a pkgng release every time a new
one is identified.
- Add pkg check -n for -d to be scriptable
- Fix memory corruption if WWW passed directly to manifest
- COMMENT/Description/WWW are now required to make valid
packages
- Store fetched packages as 0644
- Add events for conflicts
- Add -F to pkg-install
- Pipe fixes
- Misc fixes
Changes:
- pkg-query(8) now returns EX_UNAVAILABLE when no package could be found [1]
- pkg-rquery(8) now returns EX_UNAVAILABLE when no package could be found
- Incompatible ABI message has been improved
- Support base libbsdyml when possible over bundled libyaml
- Fix `pkg install -fR` not installing missing dependencies [2]
- Fix build with clang/gcc-4.7 in some cases [3]
- Fix SRV MIRROR support
- pkg-{fetch,install,upgrade} -L has been deprecated. Please use -U now.
-L will be removed in a future release. Thiwas was done to be consistent
with future support for -U in pkg-rquery(8) and pkg-search(8)
- Make DEVELOPER_MODE architecture suggestion more clear that it is non-fatal.
This is not really implemented yet and is just a hint.
- Fix @cwd not being respected for @exec/@unexec. This mostly manifested as
directories being created in the wrong place when installing packages.
- New configuration option FETCH_TIMEOUT [4]
- Documentation updates
PR: ports/173515 [1]
Reported by: eadler [1]
Submitted by: Alexandre Perrin [1]
PR: ports/175899 [2]
Reported by: Adam McDougall <mcdouga9@egr.msu.edu> [2]
Submitted by: John Marino [3]
Submitted by: Dan McGregor [4]
Reviewed by: bapt (release changeset)
With hat: portmgr
- changes:
* libpkg: When reseting a package reset the associated flags
* libpkg: Allow to build with newer and older libarchive
* Fix pkg clean trying to get information on non existing packages
* Fix build with bmake
* Fix multi repository save remote repository to wrong database
* Fix pkg repo incremental update
* Return an error when one of the repository failed to update in multi repo
mode
* Fix dragonfly abi detection to fit the way dragonfly development is done
- changes:
* Fix HTTP_MIRRORS parsing
* Workaround libarchive not 100% supporting mtree format
* prepend remote repository by 'repo-' in multirepository mode
* If mirror is stored in http use If-Modified-Since
* Register the packagesite in the remote database, pkg update detects
packagesite chanes
* Fix pkg check -s
* Allow to pipe events in json format though a unix socket/fifo via EVENT_PIPE
configuration
* store errno in events when it fits to avoid errno to be overwritten
- changes:
* Expand all instances of $ORIGIN in RPATH strings
* Use -rpath when building pkg
* Handle the case where left-over records are present in the local database
* Fix license logic
* Fix spelling in manpages
* Fix built with gcc when build without DEBUG_FLAGS
* Allow to set HTTP_PROXY/FTP_PROXY directly in pkg.conf(5)
* Fix +MTREE_DIR extracting during binary installation of a package
* Add experimental feature: HTTP_MIRRORS, see below
Please note that this version does something we normally do not do in a release
branch. It adds an experimental feature: HTTP_MIRRORS, that was requested for
PC-BSD. This feature makes possible to retrieve a list of mirrors via an http
request first, looking for the URL: http://... lines in the fetched page.
- changes:
* zsh completion for the help subcomment [1]
* Make unlocking an already unlocked database a no-op,
* Create the PKG_DBDIR if it doesn't exists
* Fix download size calculation
* When analysing shlibs, interpret the special token $ORIGIN in RPATH correctly
* For shared libraries installed by a package, don't require dynamic library dependencies to resolve
* Do not warn twice about unknown keywords
* New PERMISSIVE option please do not use !!!
* Add a seat belt in the ports Makefile to avoid automatic switching to pkgng [2]
Submitted by: ume [1]
Requested by: stas [2]
Bad english by: bapt [2]
Good english by: bdrewery, gjb [2]