0.1.5.4 - 2012 October 26:
* Fixes:
* ordering of jobs
* auto (dependency) flag for pkgng
* deadlock between OS pipes and wait()
* options detection (track changes in Port's infrastructure)
* detection of pkgng mode (aka ${OSVERSION} > 1000017)
0.1.5.3 - 2012 August 19:
* Dynamically work around python issue 11973
0.1.5.2 - 2012 July 08:
* Implement support for new options framework
0.1.5.1 - 2012 June 16:
* Fix reading of new option format
0.1.5 - 2012 May 28:
* Added '-j' option to tune concurrency
* Removed '--force' and '--force-all' option to simplify code
* Major rewrite of stage handling code
* Initial work for splitting the repo method into multiple stages
* Use a separate log directory for chroot builds.
* Use the DependHandler to install ports (i.e. explicit ports can now be
installed directly from repo or package if --method prescribes that)
* Fixes:
* Partial fix for bug 0.1.3.1-0 (superseded by bug 0.1.5-0)
* Fix the "0 failed" Top-interface bug
* Properly display information about failed ports
* Mark dependencies as such (-DINSTALLS_DEPENDS, `pkg set -a 1`)
* Properly detect installed ports (only match port origin)
0.1.4.1 - 2012 April 23:
* Fixes:
* Fix assertion for Port.build_stage (error prevented any port building)
* Suppress questions from pkgng (s/ALWAYS_ASSUME_YES/ASSUME_ALWAYS_YES/)
0.1.4 - 2012 April 22:
* Support pkgng as an alternative package manager
* Support installing packages from a repository
* Support port pre-cleaning
* Support dynamic defaults from /etc/make.conf (i.e. DEPENDS_(PRE)CLEAN)
* Major code cleanup and refactor effort
* Switch to a revised milestone schedule
* Fixes:
* Fix assertion when using PKGINSTALL builder
* If kevent fails with EINTR then retry command again
0.1.3.1 - 2011 July 21:
* Install project meta files, for port
* Add copyright notice (FreeBSD style BSD license)
* Fixes:
* Ordering of ports in Top-style monitor
* Upgrading multiple ports with -u flag (-U is preferred)
* Many fixes to the build logic (depend resolution and stage checks)
0.1.3: 2011 June 19:
* Implemented a kqueue (external) event handler
* Remove the use of callback (use Signal instead)
* Add multiple methods (with fallback) to resolve a port
* Obey -DUSE_PACKAGE_DEPENDS (see previous item)
* Create a persistent stage (and stage) tracker based on signals from builders
* Improve performance by:
* Skipping exception check from subprocess
* Caching variables used by Mk/bsd.port.mk and Mk/bsd.port.subdir.mk
* Use StateTracker for Top UI
0.1.2 - 2011 April 16:
* Rename to portbuilder (and pyport->libpb)
* Use python/distutils to make program installable
* Add support for profiling internals (use gprof2dot to parse output)
* Add FreeBSD port (currently only -devel)
0.1.1 - 2011 March 16:
* Add support for fetch_only mode
* Add support for (recursive) update mode
* Cleanup after port completion
* Allow program to be terminated prematurely
* Add support for building ports in a chroot environment
* Add internal support for cross building (convenience)
* Add package building
0.1.0 - 2011 February 15:
* Rewrite of pypkg (now pyport) to remove need for threads
0.0.5 - 2008 November 17:
* Speedups in:
- pkg_version
* CacheDB:
- Caching of port data
- Caching of fetched files
- AutoExit (move to quick notification)
- PortCache (reduced duplicate jobs)
* Fix monitor when console access is required (config and interactive build)
* Port:
- Self cleaning and precleaning (with precision cleaning)
- Add logging of port targets
- Handle pkg-message
- config stage only calls config when needed
- fetch exclusion based on files fetching
- Proper handling of non privileged building (via sudo)
0.0.4 - 2008 October 29:
* pypkg:
* Add a stripped down version that can
- Install/upgrade ports
- Make packages
- Allow variables to be passed to make
- fetch only
- No op (just prints the commands)
* Initial support for making INDEX (still too slow)
* Port:
- Can clean ports
* Rename TargetBuilder to StageBuilder
* Create progress monitor for the build process (aka top mode)
* Create progress monitor type 2 (aka stat mode)
* Implement proper thread/system shutdown:
- Create interrupt handlers
- Create exit handlers
- Provide easy interface for running main
* Cleanup the use of tools
* Create proper statistical handling of data (with easy collection methods)
* Allow KeyboardInterrupt to terminate program:
- Get threads to terminate kindly
* PortCache:
- Normalise name (for getters)
* WorkerQueue:
- Add terminate and kill functions (to clean off threads)
0.0.3 - 2008 September 30:
* Port:
- Make thread safe
- Use TargetBuilder to handle stages
- Make depends allocate late
- Stage resolution fixes
* DependHandler:
- Make thread safe
- Allow constructor to initialise dependencies
- Add getters for dependencies and dependants (ports and/or field)
* WorkerQueue:
- Have all threads terminate on exit()
* queue:
- Add installer queue
* make:
- Rename pre_target to pre_cmd
- Handle pipes properly
- Allow disabling of pre_cmd
- Condense functionality
* Create ordering logic for building (and resolving dependants)
* Remove make_target from global import
0.0.2 - 2008 August 30:
* Port:
- Update attribute tables and fixers
- Late allocation for dependent handler
- Create handlers for targets
- Refractured handler code
* PortDepend:
- Implement with API and pseudo working code
* make:
- Handles environment variables
- Executor for make targets
0.0.1 - 2008 July 19:
* Port:
- Basic Port class created
- Version information about build and install status
- Generic attribute support
- Port creation filterable (to prevent all dependants being created at once)
* PortCache:
- Live cache of ports
- Handles adding ports to the queue for construction
- Creates a Port on-demand
* WorkerQueue:
- Dynamic pool of workers to execute jobs
- Workers created on-demand
- Worker pool (numbers) dynamically adjustable
- Workers terminate when idle