summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* profile/proteanos: Write /etc/groupP. J. McDermott2014-10-131-0/+4
| | | | Two of libarchive's unit tests fail without this file.
* lib/chroot.sh: RemoveP. J. McDermott2014-10-082-83/+0
| | | | Replaced by lib/session.sh.
* cmd/opkg: Clean up packages before session_end()feature/sessionsP. J. McDermott2014-10-071-1/+5
|
* cmd/build: Drop some whitespace in option handlingP. J. McDermott2014-10-071-6/+2
|
* cmd/build: Factor cleanup code into sig handler cbP. J. McDermott2014-10-071-30/+42
|
* cmd/opkg: Factor cleanup code into sig handler cbP. J. McDermott2014-10-071-6/+14
|
* session_end(): Block signals for func's lifetimeP. J. McDermott2014-10-071-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 signalP. J. McDermott2014-10-071-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 callbackP. J. McDermott2014-10-071-0/+2
|
* mutex_lock_timeout(): Rename to mutex_timedlock()P. J. McDermott2014-10-072-3/+3
|
* session: Handle signalsP. J. McDermott2014-10-071-0/+45
|
* session_end(): Don't lock mutex if we have itP. J. McDermott2014-10-071-2/+5
|
* mutex_is_unlockable(): New functionP. J. McDermott2014-10-071-0/+7
|
* session_begin(): Check for /prokit/installingP. J. McDermott2014-10-075-4/+8
|
* cmd/install: Make /prokit and /prokit/installingP. J. McDermott2014-10-071-1/+4
|
* session_begin(): Make /prokit if it doesn't existP. J. McDermott2014-10-071-0/+2
|
* opkg_install_all(): Switch to using sessionsP. J. McDermott2014-10-071-2/+4
|
* cmd/build: Split heredoc into up to three shellsP. J. McDermott2014-10-071-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 generationP. J. McDermott2014-10-071-14/+13
|
* cmd/build: Switch to using sessionsP. J. McDermott2014-10-071-27/+14
|
* session: Run commands in a "wd" subdirectoryP. J. McDermott2014-10-061-3/+5
|
* session_dir(): New functionP. J. McDermott2014-10-061-0/+6
|
* cmd/shell: Drop unnecessary variable.P. J. McDermott2014-10-051-2/+0
|
* cmd/opkg: Switch to using sessionsP. J. McDermott2014-10-051-2/+4
|
* cmd/shell: Use session_exec()P. J. McDermott2014-10-051-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 functionP. J. McDermott2014-10-051-0/+14
|
* session: Bind mount a dir to the session dirP. J. McDermott2014-10-052-20/+15
|
* profile_bind_*mount(): New functionsP. J. McDermott2014-10-052-0/+50
|
* cmd/shell: Switch to using sessionsP. J. McDermott2014-10-051-3/+3
|
* session_begin(): Fix a function callP. J. McDermott2014-10-051-1/+2
|
* session_*(): New functionsP. J. McDermott2014-10-042-0/+135
|
* profile_file_systems_mounted(): New functionP. J. McDermott2014-10-042-0/+18
|
* mutex_*(): New functionsP. J. McDermott2014-10-042-0/+51
|
* profile/proteanos: Update list of mirrorsP. J. McDermott2014-10-011-2/+5
|
* prof_proteanos_include_pkg(): Drop Package checkP. J. McDermott2014-09-241-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 opkbuildP. J. McDermott2014-09-241-54/+2
|
* prof_proteanos_include_pkg(): Drop more packagesP. J. McDermott2014-09-241-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 callP. J. McDermott2014-09-231-1/+1
|
* cmd/shell: Mount working directory within rootP. J. McDermott2014-09-231-2/+18
| | | | | This makes ProteanOS utilities like those of platconf-pkg-tools easily usable.
* package_2_set_substvars(): Fix parse_control callP. J. McDermott2014-09-231-1/+1
|
* prof_proteanos_include_pkg(): Drop base-filesP. J. McDermott2014-09-231-2/+1
| | | | base-files is marked "Essential: yes" as of version 1.0.3.
* profile_get_os_release(): DropP. J. McDermott2014-09-232-32/+0
| | | | base-files provides this as of version 1.0.3.
* cmd/install: Don't create /etc/os-releaseP. J. McDermott2014-09-231-5/+0
| | | | base-files provides this as of version 1.0.3.
* cmd/build: Add a missing printf argumentP. J. McDermott2014-09-031-1/+1
|
* cmd/install: Exit on illegal optionP. J. McDermott2014-09-021-1/+4
|
* get_options(): Return 1 on illegal optionP. J. McDermott2014-09-021-0/+2
|
* cmd/build: Don't make builddeps dirs if no B-DP. J. McDermott2014-09-021-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 doneP. J. McDermott2014-09-021-0/+3
|
* cmd/install: Make root dir's parent dirs as neededP. J. McDermott2014-09-021-1/+1
|
* profile/proteanos: Add a big TODO commentP. J. McDermott2014-09-011-0/+8
|