Changes since pkg-1.5 series
- Lots of improvements in the solver (in particular fixes the case like the
recent jpeg upgrade)
- Lots of fixes in the 3 way merge code
- pkg add can now work without a version specified in the dependency line
- pkg check -d now also check the required libraries
- Improved support for partial upgrades
- Improved zsh completion support
- Improved linux support (now all regression tests passes on linux)
- Messages can now be context aware: (only print a given message during
installation, upgrade - version aware -, removal, or always)
- @keywords now accepts new entries to add context aware messages
- Add the ability to generate graphiz's dot format representation of the
solver's problem
- pkg search now default on showing the comments of of the matched packages
- Lots of bug fixes and code cleanup
- Document @{pre,post}[un]exec in plist added in pkg 1.5
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
Changes:
- Incorporate in sources the patch for expat CVE-2015-1283
Note that pkg is not vulnerable because it does not use the patched function
- improvements in pkg check manpage
- fix format specifier in libpkg's pkg_vets
Changes:
- Manpages updates
- Add a random delay to pkg-audit when invoked without a TTY
- Update zsh completion
- Add a new AUTOCLEAN option to automatically clean the cache directory
- Don't attempt to set file ownership when INSTALL_AS_USER is set
- Add a new configuration item to define custom HTTP User-Agent
- Fix an integer overflow when displaying package size for packages larger than 2GiB.
Changes:
- Fix partial upgrades
- pkg create -v now ticks (print does on a regular basis) if not on a tty
- Fix vuxml url in sample configuration
- zsh completion improvements
Changes:
- Updates in manpages
- Improved support for --quiet everywhere
- Keep 7 (by default) days (rotation) of backups of the database
- Prune old style backups entirely
- Do not pushed in shlibs required any library we can find in the list of files
owned by the package
Changes:
- Documentation updates
- Make pkg alias -l respect quiet
- Reinstall packages if shlib provided has changed
- Do not expose shlibs without SONAME as provided libs
- Fix pkg audit -r formatting
- Stop elf analysis sooner if not operating on an elf file
- Fix checking signatures on arm
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
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
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