Changes:
- A package can now be marked to only be upgraded from a given repository via annotations
- install and upgrade will now show from which repository packages are taken (if at least 2 repositories are setup)
- old/unused 'informations' field has been removed in favor of using annotations
- important cleanup using pkg_printf(3)
- add seat belt so pkg-devel can only be removed with -f
- signing key is only asked once now in pkg repo
- only look withing the note version of elf files
- fix pkg delete -a
- pkg repo has been changed to produce repo.txz in 1.0 only format
- catalog is now only take from digest in 1.1
- fix pkg update to that is is really incremental.
- fix pkg convert (thus fix pkg2ng)
- Add a DISABLE_MTREE option, which just disables processing +MTREE data
- Rename ENV to PKG_ENV to not conflict with sh(1)'s ENV
- Refactor 'pkg [-v|-vv|-vvv]' handling
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
Changes:
- Jail tar(1) and pkg(8) invokations
- Remove unneeded ldd temp script
- Fix appending MASTERNAME-make.conf twice [1]
- Use swap-based disk for MDMFS [2]
- HTML: Move assets into assets/ so that tab completion
is not hindered for logs/ by logo.jpg
Reported by: kwm [1]
Submitted by: ak [2]
- Update web documentation for using custom ports tree
Changes:
- Add missing validations to check that the specified
ports tree exists
- SIGINFO/status fixes
- SIGINT/SIGTERM no longer marks a build as 'crashed'
- Fix pkgng being required on the host to build pkgng packages [1]
- Fix CCACHE support by always mounting to /root/.ccache
- jail: Fix USE_TMPFS=all cleanup/deleting
- ports -c: Fix svn+file
- Allow DISTFILES_CACHE=PORTSDIR/distfiles again
- Jail tar(1) and pkg(8) invokations
- testport: Make failed builds more clear [2]
Reported by: tj [1]
Submitted by: antoine [2]
- Rename distfile and fix checksum errors. These errors
were due to renaming the upstream account, which changed
which directory the distfile untarred in.
- Shuffle MASTER_SITES so that FreeBSD.org and other more
reliable mirrors come before github
Changes:
- Leftover fixes
- Status fixes
- ports-mgmt/pkg no longer required in the host when building
WITH_PKGNG sets.
- CCACHE fixes
- jail: Support -m url= [1]
- jail -u: Allow updating snapshot jails [1]
- jail: Fix destroying/cleanup of jails with USE_TMPFS=all
- HTML: Show skipped counts in failed/ignored tables
- HTML: Show SVN URL
- Allow DISTFILES_CACHE=PORTSDIR/distfiles now that DISTFILES
are mounted in /distfiles [2]
- testport: Make failed builds more clear [3]
Submitted by: will [1]
Reported by: mat [2]
Reported by: tj [3]
- Fix the solver endlessly proposing to reinstall some packages [1]
- Fix a typo in repository configuration parser
- Explain why a package is being reinstalled
Reported and tested by: Nikolai Lifanov <lifanov@mail.lifanov.com> [1]
- Fix pkg audit -F [1]
- Fix the new solver trying to downgrade some packages when it shouldn't
- Properly show how much space is going to be free/required when deinstalling [2]
Reported by: Nikolai Lifanov <lifanov@mail.lifanov.com> [1], gerald [2]
pkg.
Here is the list of new features that happened in pkg 1.1:
- 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
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.
To use this new version:
Ports users (or in building factories: poudriere/tinderbox):
Add WITH_PKGNG=devel to your make.conf
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
Binary package users, if the remote repository is providing pkg 1.1:
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
pkg upgrade
Note that pkg 1.1 can use a repository created for pkg 1.0 and vis versa.
Huge thanks to all the people that have contributed to the pkg developement:
- may that be by code
- documentation
- bug report
- feedback
- ideas
List of people who contributed code:
Baptiste Daroussin, Matthew Seaman, Bryan Drewery, Vsevolod Stakhov,
Marin Atanasov Nikolov, Alexandre Perrin, Romain Tartière, Julien Laffaye,
Glen Barber, John Marino, Alex Kozlov, Roman Naumann, Sofian Brabez,
Alberto Villa, Will Andrews, Eitan Adler, Dan McGregor, namor, niamtokik,
Arthur Gautier, Garrett Cooper, Andrew Turner, Jeremy Chadwick,
Hajimu UMEMOTO, Mark Lokowich, Eygene Ryabinkin, Pietro Cerutti,
Rolf Grossmann, Ed Schouten, Dimitry Andric, David Forsythe, Stefan Grundmann,
Craig Rodrigues, Antoine Brodin, Andrey Zonov, Joel Dahl
Stats between 1.0 and 1.1:
287 files changed, 63418 insertions(+), 18763 deletions(-)
1198 commits
- Actually checkout the older version when recursing
Reported by: jrm: IRC
- Behave properly when the path to the temp ports directory contains a symlink
Changes:
- Add example hook in etc/poudriere.d/hooks
- Documentation cleanups
- Sanity check fixes (ports tree exists)
- SIGINT during build no longer register the build as
'crashed'
- status: Fix cases where this would change the status of
the actual build
- queue/daemon - Use a UNIX domain socket for scheduling builds
instead of requiring the 'queue' user to have write access to
the queue dir.
- bulk -t: Add -r flag to recursively test dependencies (this was
the old default behavior)
- Revert linux leftover change - this is now handled in ports
r318960
- Update WWW to be a tagged link so that the documentation
matches the version installed
Changes:
- Add workaround for ZFS zteardown deadlock on 9.0/9.1-RELEASE
- jail -c: Fix NO_ZFS support
- options: Fix *make.conf not being respected
- status: Fix when running multiple builds at once
- Various fixes and documentation fixes
Changes:
- Add rc script
- jail -c: Fix NO_ZFS support
- bulk -t: Only test ports specified, not unlisted depends
- make_index: Jail the INDEX building
- options: Fix *make.conf not being respected
- Add workaround for ZFS zteardown deadlock on 9.0/9.1-RELEASE
- status: Fix when running multiple builds at once
- leftovers: Ignore shared library cache files
- Various fixes
Changes:
- ZFS support is now optional:
* NO_ZFS can be set to disable ZFS usage
* TMPFS_ALL can be used to the build 100% in memory via tmpfs
- Jail/Port properties are no longer stored in ZFS. They will
be automatically converted on the first execution. This means
that downgrading to 2.x is not easily possible.
- Removed cron command
- queue/daemon added
* These will be expanded more in 3.1 and the usage may change.
- New HTML/AJAX interface using jQuery
- Build times are now tracked
- Runaway builds are now automatically killed after 7200/84600
seconds of no output / max build time
- Build logs are now saved forever and not removed on every build.
testport will store its logs into "bulk" dir for now as well.
- Ability to resume a previous bulk -a build by using -B (this
is mostly for exp-runs as it allows grouping incremental logs
in with the previous logs). By default the buildname defaults
to YYYY-MM-DD_HH:MM:SS for every build.
- Install depends just-in-time in the proper sequence ordering,
instead of all upfront. This also fixes differences between
testport and bulk with regards to run-depends.
- Give a port all the special depends distfiles it needs during
build as well. This fixes issues with fetching and distfiles.
- Add basic hook support in /usr/local/etc/poudriere.d/hooks
- CHECK_CHANGED_OPTIONS now defaults to verbose
- Add CHECK_CHANGED_DEPS (default yes) to automatically detect
direct dependency changes and rebuild packages if needed. This
allow automatically detecting default postgresql/mysql/perl
changes requiring rebuild of ports. Note this has a bug with
ports that depend on libraries that are in base, but have a
port fallback. This will be addressed in 3.1.
- The reason for packages being deleted during the startup is
now more verbose
- Speedup packaging by reducing I/O
- Port testing: Add "preinst_fs_violation" which will detect
ports that touch the filesystem during fetch/build before
calling install.
- Lots of performance improvements. Poudriere is now lock-free
and has very little overhead.
- Various documentation/typo fixes
- Support value of 'no' for NO_RESTRICTED and SAVE_WRKDIR
- Add new latest-per-pkg symlinks into the root bulk/ dir and
bulk/jail/ dirs to link back to the most recent builds for
each package
- Add new subcommand 'status' which lists running builds. Specify
-j[pz] to view the current status of a specific build and all of
its jobs
- Fix support for jails with ':' in them
- Buildtimes are now tracked
- ports:
* Support checking out a different branch with -B
- testport:
* -d option has been removed
* testport -i improvements:
- Network enabled
- Works even when build fails
- RUN_DEPENDS now installed
- Add hostname into /etc/hosts
- tty usage is fixed
* Add .keep support for wrkdir saving
- bulk:
* New C index builder for pkg_* builds
* Add -N: skip generating package repository or INDEX
* Add -T: Use TRY_BROKEN
* Add -F: Try to download from the original mirror and
ignore all FreeBSD mirrors
* Allow specifying -f multiple times
- jail:
* -c: Add -P ./path.to.patch to patch the src tree with
the given patch before building it
* -c: Fix on recent CURRENT by using DB_FROM_SRC
Thank you to all contributors and testers
Please report and discuss defects in #poudriere on freenode
or report to https://fossil.etoilebsd.net/poudriere/reportlist
Changes:
- Add new subcommand 'status' which lists running builds. Specify
-j[pz] to view the current status of a specific build and all of
its jobs.
- Missing/New Dependencies: Be more verbose by default about why
packages are being deleted.
- CHECK_CHANGED_OPTIONS now defaults to verbose
- Add CHECK_CHANGED_DEPS and default it to on
- Fix support for jails with ':' in them
- bulk: Allow specifying -f multiple times
- testport -i: Add hostname into /etc/hosts
- Documentation fixes
- Fix DISABLE_MAKE_JOBS support
- Fix dependencies being checked twice during port builds when not
port testing
- jail -u fixes for freebsd-update/ftp
- Fix buildtime tracking missing a space
*** 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
For a while now bsdtar is able to autotermine compression and archive format.
Let's then use tar directly instead of piping to tar.
Now USE_BZIP2 and USE_XZ only set EXTRACT_SUFX to the right format
* Add support for the PL_SVN_IGNORE environment variable. [1]
* Promote PORT_OPTIONS:MDOCS to NOPORTDOCS. [2]
* Add a check for pure FTP or HTTP mirrors in MASTER_SITES. [3]
PR: 177043 [1]
177048 [2]
177805 [3]
Submitted by: tota [1]
pclin [2]
Tijl Coosemans <tijl@coosemans.org> [3]