ProteanOS Development Kit 1.1.0 released
- From: "Patrick 'P. J.' McDermott" <pj+proteanos-ml АТ pehjota DОТ net>
- To: proteanos-dev АТ lists DОТ proteanos DОТ com
- Date: Wed, 08 Oct 2014 13:36:05 -0400
- Message-id: <E1Xbv9h-00072C-VP АТ sleipnir1>
About
=====
This is prokit, the ProteanOS Development Kit.
prokit can install a ProteanOS system, run a ProteanOS shell and other
commands, manage software packages in an installed ProteanOS system, and
build packages for ProteanOS (with build dependencies automatically
installed and removed).
prokit is similar in function to the debootstrap, pbuilder, and sbuild
programs of Debian and derivatives.
Here is the Web page for the ProteanOS Development Kit:
http://www.proteanos.com/dev/prokit/
Downloading
===========
Source archives are available from the files site by HTTP or FTP:
http://files.proteanos.com/pub/prokit/1.1.0/
ftp://files.proteanos.com/pub/prokit/1.1.0/
Here are the MD5 checksums:
92656cce044fa455d75cddd6bad1b547 prokit-1.1.0.tar.gz
afbe178da9a6e8431e45d18b97b801c6 prokit-1.1.0.tar.bz2
5bb43073f4af3b086baaed8fa94f98eb prokit-1.1.0.tar.xz
Here are the SHA-256 checksums:
2bd986a8196c4ac9f896cb974ffd58085fddb832bfb36813129601170366ec22 prokit-1.1.0.tar.gz
857b6947ddc9ca888a1069738e21afa94a477b50b2a143ddcfdb912005d6c859 prokit-1.1.0.tar.bz2
515faba2bc93b7cb60a25d7779db675094d4835314748133da637580d0601bcc prokit-1.1.0.tar.xz
The sources are maintained in a Git repository:
http://git.proteanos.com/prokit/prokit.git/
git://git.proteanos.com/prokit/prokit.git/
This release is marked by the "prokit/1.1.0" tag.
NEWS for Version 1.1.0
======================
Changes in this release:
* The previously missing prokit-install(8) manual page is now
distributed and installed.
* Some logic of "prokit install" has been simplified as ProteanOS
packages now have the necessary data files and control fields.
* "prokit build" now parses substvars files without errors.
* The current working directory is bind mounted within the isolated
file system environment and used as the working directory for the
"prokit shell" and "prokit opkg" commands.
* Compatibility with older versions of opkbuild has been dropped.
Before running "prokit build", make sure your ProteanOS system has
version 3.0.0~beta6-1 or later of the opkbuild package.
* The list of mirrors has been updated. Thanks to Morten 'Jobbe'
Jakobsen for providing another mirror.
* Session management has been added to allow multiple instances of
prokit to run simultaneously. The first instance started will mount
the basic file systems, and the last instance exited will unmount
them. A mutex is used to eliminate race conditions on changes to
the sessions pool.
* Whitespace in arguments to "prokit shell" and "prokit build" is now
preserved.
* Signals are handled during active sessions with callbacks for the
"prokit opkg" and "prokit build" commands, to ensure that the
isolated file system environment is left in a clean state when a
signal like SIGINT (Ctrl+C) is received.
Shortlog of Changes Since Version 1.0.0
=======================================
P. J. McDermott (50):
cmd/build: Add a missing printf argument
man/local.mk: Add man/prokit-install.8in
.gitignore: Add manual pages
cmd/install: Don't create /etc/os-release
profile_get_os_release(): Drop
prof_proteanos_include_pkg(): Drop base-files
package_2_set_substvars(): Fix parse_control call
cmd/shell: Mount working directory within root
package_2_set_substvars(): Fix parse_control call
prof_proteanos_include_pkg(): Drop more packages
cmd/build: Drop handling of old opkbuild
prof_proteanos_include_pkg(): Drop Package check
profile/proteanos: Update list of mirrors
mutex_*(): New functions
profile_file_systems_mounted(): New function
session_*(): New functions
locale/en_US: Add string from lib/session.sh
session_begin(): Fix a function call
cmd/shell: Switch to using sessions
profile_bind_*mount(): New functions
session: Bind mount a dir to the session dir
session_exec(): New function
cmd/shell: Use session_exec()
cmd/opkg: Switch to using sessions
cmd/shell: Drop unnecessary variable.
session_dir(): New function
session: Run commands in a "wd" subdirectory
cmd/build: Switch to using sessions
cmd/build: Update builddeps.opk generation
cmd/build: Split heredoc into up to three shells
opkg_install_all(): Switch to using sessions
session_begin(): Make /prokit if it doesn't exist
cmd/install: Make /prokit and /prokit/installing
session_begin(): Check for /prokit/installing
mutex_is_unlockable(): New function
session_end(): Don't lock mutex if we have it
session: Handle signals
mutex_lock_timeout(): Rename to mutex_timedlock()
session_end(): Run session exit callback
error(): Die by signal
session_end(): Block signals for func's lifetime
cmd/opkg: Factor cleanup code into sig handler cb
cmd/build: Factor cleanup code into sig handler cb
cmd/build: Drop some whitespace in option handling
cmd/opkg: Clean up packages before session_end()
Merge branch 'feature/sessions'
lib/chroot.sh: Remove
configure.ac: Set package version to 1.1.0
NEWS: Add section for 1.1.0
NEWS: Release prokit 1.1.0
Diffstat of Changes Since Version 1.0.0
=======================================
.gitignore | 2 +
NEWS | 32 ++++++
configure.ac | 2 +-
lib/chroot.sh | 82 --------------
lib/cmd/build.sh | 176 ++++++++++-------------------
lib/cmd/install.sh | 8 +-
lib/cmd/opkg.sh | 28 +++--
lib/cmd/shell.sh | 10 +-
lib/local.mk | 3 +-
lib/mutex.sh | 57 ++++++++++
lib/opkg.sh | 6 +-
lib/output.sh | 5 +-
lib/package/2.sh | 4 +-
lib/profile.sh | 38 +++++--
lib/profile/proteanos.sh | 81 ++++++-------
lib/session.sh | 219 ++++++++++++++++++++++++++++++++++++
locale/en_US.sh | 5 +
man/local.mk | 1 +
18 files changed, 488 insertions(+), 271 deletions(-)
--
Patrick "P. J." McDermott
http://www.pehjota.net/
Lead Developer, ProteanOS
http://www.proteanos.com/