Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
... | |||||
* | cmd/install: Error only if root dir is not empty | P. J. McDermott | 2014-11-11 | 1 | -1/+2 |
| | |||||
* | lib/dir.sh: New file | P. J. McDermott | 2014-11-11 | 2 | -0/+47 |
| | |||||
* | profile/proteanos: Write /etc/group | P. J. McDermott | 2014-10-13 | 1 | -0/+4 |
| | | | | Two of libarchive's unit tests fail without this file. | ||||
* | lib/chroot.sh: Remove | P. J. McDermott | 2014-10-08 | 2 | -83/+0 |
| | | | | Replaced by lib/session.sh. | ||||
* | cmd/opkg: Clean up packages before session_end()feature/sessions | P. J. McDermott | 2014-10-07 | 1 | -1/+5 |
| | |||||
* | cmd/build: Drop some whitespace in option handling | P. J. McDermott | 2014-10-07 | 1 | -6/+2 |
| | |||||
* | cmd/build: Factor cleanup code into sig handler cb | P. J. McDermott | 2014-10-07 | 1 | -30/+42 |
| | |||||
* | cmd/opkg: Factor cleanup code into sig handler cb | P. J. McDermott | 2014-10-07 | 1 | -6/+14 |
| | |||||
* | session_end(): Block signals for func's lifetime | P. J. McDermott | 2014-10-07 | 1 | -6/+3 |
| | | | | | | | If prokit receives a signal (e.g. the user hits Ctrl+C) while session_end() is running (e.g. while unmounting file systems), the system can be left in an unclean state (e.g. with some file systems still mounted and the sessions change mutex permanently locked). | ||||
* | error(): Die by signal | P. J. McDermott | 2014-10-07 | 1 | -1/+4 |
| | | | | | | | Calling error() within a subshell will now kill the whole shell process. More importantly, session_end() will now be called if we've started a session. | ||||
* | session_end(): Run session exit callback | P. J. McDermott | 2014-10-07 | 1 | -0/+2 |
| | |||||
* | mutex_lock_timeout(): Rename to mutex_timedlock() | P. J. McDermott | 2014-10-07 | 2 | -3/+3 |
| | |||||
* | session: Handle signals | P. J. McDermott | 2014-10-07 | 1 | -0/+45 |
| | |||||
* | session_end(): Don't lock mutex if we have it | P. J. McDermott | 2014-10-07 | 1 | -2/+5 |
| | |||||
* | mutex_is_unlockable(): New function | P. J. McDermott | 2014-10-07 | 1 | -0/+7 |
| | |||||
* | session_begin(): Check for /prokit/installing | P. J. McDermott | 2014-10-07 | 5 | -4/+8 |
| | |||||
* | cmd/install: Make /prokit and /prokit/installing | P. J. McDermott | 2014-10-07 | 1 | -1/+4 |
| | |||||
* | session_begin(): Make /prokit if it doesn't exist | P. J. McDermott | 2014-10-07 | 1 | -0/+2 |
| | |||||
* | opkg_install_all(): Switch to using sessions | P. J. McDermott | 2014-10-07 | 1 | -2/+4 |
| | |||||
* | cmd/build: Split heredoc into up to three shells | P. J. McDermott | 2014-10-07 | 1 | -10/+8 |
| | | | | | This might be slightly less efficient, but the code looks a little nicer and any whitespace in arguments to opkbuild is preserved. | ||||
* | cmd/build: Update builddeps.opk generation | P. J. McDermott | 2014-10-07 | 1 | -14/+13 |
| | |||||
* | cmd/build: Switch to using sessions | P. J. McDermott | 2014-10-07 | 1 | -27/+14 |
| | |||||
* | session: Run commands in a "wd" subdirectory | P. J. McDermott | 2014-10-06 | 1 | -3/+5 |
| | |||||
* | session_dir(): New function | P. J. McDermott | 2014-10-06 | 1 | -0/+6 |
| | |||||
* | cmd/shell: Drop unnecessary variable. | P. J. McDermott | 2014-10-05 | 1 | -2/+0 |
| | |||||
* | cmd/opkg: Switch to using sessions | P. J. McDermott | 2014-10-05 | 1 | -2/+4 |
| | |||||
* | cmd/shell: Use session_exec() | P. J. McDermott | 2014-10-05 | 1 | -2/+2 |
| | | | | | | | | | | | | | | Now command arguments are separated and escaped naturally. For example, the following commands work: $ sudo prokit shell $root printf 'arg: %s\n' foo bar arg: foo arg: bar $ sudo prokit shell $root printf 'arg: %s\n' 'foo bar' arg: foo bar $ sudo prokit shell $root printf "'ello world\n" 'ello world | ||||
* | session_exec(): New function | P. J. McDermott | 2014-10-05 | 1 | -0/+14 |
| | |||||
* | session: Bind mount a dir to the session dir | P. J. McDermott | 2014-10-05 | 2 | -20/+15 |
| | |||||
* | profile_bind_*mount(): New functions | P. J. McDermott | 2014-10-05 | 2 | -0/+50 |
| | |||||
* | cmd/shell: Switch to using sessions | P. J. McDermott | 2014-10-05 | 1 | -3/+3 |
| | |||||
* | session_begin(): Fix a function call | P. J. McDermott | 2014-10-05 | 1 | -1/+2 |
| | |||||
* | session_*(): New functions | P. J. McDermott | 2014-10-04 | 2 | -0/+135 |
| | |||||
* | profile_file_systems_mounted(): New function | P. J. McDermott | 2014-10-04 | 2 | -0/+18 |
| | |||||
* | mutex_*(): New functions | P. J. McDermott | 2014-10-04 | 2 | -0/+51 |
| | |||||
* | profile/proteanos: Update list of mirrors | P. J. McDermott | 2014-10-01 | 1 | -2/+5 |
| | |||||
* | prof_proteanos_include_pkg(): Drop Package check | P. J. McDermott | 2014-09-24 | 1 | -8/+0 |
| | | | | | Updated linux-image packages with "Essential: yes" have been uploaded and will be in the archive and mirrors soon. | ||||
* | cmd/build: Drop handling of old opkbuild | P. J. McDermott | 2014-09-24 | 1 | -54/+2 |
| | |||||
* | prof_proteanos_include_pkg(): Drop more packages | P. J. McDermott | 2014-09-24 | 1 | -7/+2 |
| | | | | | busybox now depends on libc.6, and Essential config-base packages now exist and depend on proteanos-branding. | ||||
* | package_2_set_substvars(): Fix parse_control call | P. J. McDermott | 2014-09-23 | 1 | -1/+1 |
| | |||||
* | cmd/shell: Mount working directory within root | P. J. McDermott | 2014-09-23 | 1 | -2/+18 |
| | | | | | This makes ProteanOS utilities like those of platconf-pkg-tools easily usable. | ||||
* | package_2_set_substvars(): Fix parse_control call | P. J. McDermott | 2014-09-23 | 1 | -1/+1 |
| | |||||
* | prof_proteanos_include_pkg(): Drop base-files | P. J. McDermott | 2014-09-23 | 1 | -2/+1 |
| | | | | base-files is marked "Essential: yes" as of version 1.0.3. | ||||
* | profile_get_os_release(): Drop | P. J. McDermott | 2014-09-23 | 2 | -32/+0 |
| | | | | base-files provides this as of version 1.0.3. | ||||
* | cmd/install: Don't create /etc/os-release | P. J. McDermott | 2014-09-23 | 1 | -5/+0 |
| | | | | base-files provides this as of version 1.0.3. | ||||
* | cmd/build: Add a missing printf argument | P. J. McDermott | 2014-09-03 | 1 | -1/+1 |
| | |||||
* | cmd/install: Exit on illegal option | P. J. McDermott | 2014-09-02 | 1 | -1/+4 |
| | |||||
* | get_options(): Return 1 on illegal option | P. J. McDermott | 2014-09-02 | 1 | -0/+2 |
| | |||||
* | cmd/build: Don't make builddeps dirs if no B-D | P. J. McDermott | 2014-09-02 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removal of builddeps dirs only happens if there are no build dependencies. The same must be true of creation of builddeps dirs. Fixes issues like: pj@debian-x60t:~/proteanos/pkg/expat$ cat control Maintainer: "J. Random Hacker" <jrandom@example.com> # Build-Depends: opkhelper-3.0 Homepage: http://expat.sourceforge.net/ pj@debian-x60t:~/proteanos/pkg/expat$ sudo prokit build $root -b -c -T nop . opkbuild: Detecting architecture and platform... opkbuild: Making work area... opkbuild: Parsing package metadata... opkbuild: Build system: opkbuild: Architecture: i686-linux-glibc opkbuild: Platform: dev opkbuild: Host system: opkbuild: Architecture: i686-linux-glibc opkbuild: Platform: dev ob-checkbuilddeps: Checking build dependencies... ob-buildenv: Setting up build environment... ob-unpacksource: Extracting upstream source archive... ob-applypatches: No patches to be applied ob-installplatconf: No config files to be copied mv: cannot move `../root/prokit/build.1556949533/builddeps' to `./../builddeps': Directory not empty rmdir: failed to remove `../root/prokit/build.1556949533': Directory not empty | ||||
* | cmd/install: Remove .prokit directory when done | P. J. McDermott | 2014-09-02 | 1 | -0/+3 |
| |