Commit Graph
2286 Commits
Author SHA1 Message Date
Jacques de Laval 9b3aca9846 Merge branch 'master' into wip-tests 2021-02-27 23:24:34 +01:00
Jacques de Laval e06e4175d3 test: Add license and copyright to test framework
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-27 23:23:03 +01:00
Joachim Wiberg 510bd1ac0b initctl: if edit cannot find the file, list available ones
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 20:13:57 +01:00
Joachim Wiberg 0d52583624 initctl: return correct path if -c is given
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 20:13:32 +01:00
Joachim Wiberg aa998583a7 Update example ASCII graphic a bit, add log and env commands
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 19:29:38 +01:00
Joachim Wiberg f9532d11ba initctl: only show enable/disable commands on compat systems
The enable/disable commands require either both the available/ and
enabled/ subdirectories in /etc/finit.d, or at least available/

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 19:27:58 +01:00
Joachim Wiberg c7d189f199 initctl: refactor list command slightly
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 19:27:22 +01:00
Joachim Wiberg 83cdb884d9 initctl: extend semantics for enable/disable cmd
A system may, or may not, have the available/ and enabled/
subdirectories in /etc/finit.d.  This is up to distros but
we support the following, example uses /etc/finit.d as the
FINIT_RCSD base directory:

 1. No subdirectories
    - enable: nop
    - disable: nop
 2. Only available/
    - enable: checks if there's a service in available/
      then symlinks to /etc/finit.d/
    - disable: checks if service in /etc/finit.d is a
      symlink, then removes it
 3. Both available/ and enabled/
    - enable: relative symlink in enabled/ is created if
      service is available in available/
    - disable: symlink in enabled/ is removed if exists

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 19:22:50 +01:00
Joachim Wiberg e9ed90cb34 initctl: let touch command handle both rcsd and available dirs
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 19:22:16 +01:00
Joachim Wiberg 689e6cd52a initctl: add -c create flag, to force creation at edit
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 19:21:18 +01:00
Jacques de Laval 0cb99d5c00 Merge branch 'master' into wip-tests
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-27 18:40:25 +01:00
Jacques de Laval aa096cde19 test: Only copy /tmp contents if there are any
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-27 18:27:26 +01:00
Jacques de Laval 7c45fd451e test: Remove some redundant exports
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-27 18:27:02 +01:00
Jacques de Laval acf886f483 test: Document how to run the test suite
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-27 18:03:00 +01:00
Joachim Wiberg 2fd4418371 initctl: add support for reading config to 'create' from stdin
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-27 17:02:37 +01:00
Jacques de Laval 7fe1189f7b test: Move test support files to separate dir and keep tests in /test
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-27 14:50:49 +01:00
Jacques de Laval 4aa17a84ab test: Minor clean up
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-27 13:53:55 +01:00
Jacques de Laval 255d90cee9 test: Mount /tmp as tmpfs again, but copy any existing files in /tmp back into it
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-27 13:45:05 +01:00
Jacques de Laval 8b680b1b14 test: ci: Add debug output for debugging Travis
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-26 16:55:20 +01:00
Joachim Wiberg 01cd9ec358 contrib: debian: rsyslogd provides syslogd cond
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 16:42:43 +01:00
Jacques de Laval f291c7ac9e test: ci: Fix syntax error in CI manifest
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-26 16:33:40 +01:00
Jacques de Laval 061de4ddf3 test: ci: Avoid shadowing failure with printing of test log
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-26 16:31:25 +01:00
Joachim Wiberg 6d4bc670e6 Relocate paste() from helpers.h to util.h, for sharing with initctl
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 16:21:53 +01:00
Jacques de Laval d258dcecd2 test: ci: Print test log if tests fail
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-26 16:19:03 +01:00
Jacques de Laval 2e0c658160 test: Utilize distcheck in CI; it tests pretty much everything we want to test
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-26 15:59:55 +01:00
Jacques de Laval 2f439194e5 test: Fix testenv-root lingering in build dir
Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-26 15:35:07 +01:00
Joachim Wiberg 5e37f94775 Improve error messages for failing wordexp()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 15:06:02 +01:00
Joachim Wiberg 41319a8cf8 Work around forbidden chars in wordexp(): | < > & ;
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 14:54:34 +01:00
Joachim Wiberg 001e859a97 initctl: add create command, no template yet
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 12:47:47 +01:00
Joachim Wiberg 6cf8c7ade4 initctl: minor refactor, simplify edit command
- Gamble a bit by redirecting stderr to /dev/null instead of command -v
- Drop vi from VISUAL/EDITOR expansion alternatives, tested later anyway

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 11:45:04 +01:00
Jacques de Laval 6b7ae50fbb test: Let Make generate shellcheck test from the list of test sources
Not very readable yet, so it needs clean up!

Signed-off-by: Jacques de Laval <jacques@de-laval.se>
2021-02-26 11:24:12 +01:00
Joachim Wiberg 7439fa0c2a initctl: fix logic in edit command fallback handling
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 11:08:03 +01:00
Joachim Wiberg 6b1ba37438 doc: bump required versions of libuEv and libite
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:57:30 +01:00
Joachim Wiberg a579e0e8ae travis-ci: bump libuEv and libite versions, for systemf()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:57:30 +01:00
Joachim Wiberg 8077169ea9 Merge pull request #157 from troglobit/usr/kandeg/initctl-edit
initctl: add edit command, fix #154 

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:54:00 +01:00
Andreas Egeberg bf2272c6b3 Beautify code 2021-02-26 10:51:30 +01:00
Joachim Wiberg 4e035f77f6 Fix regression introduced in 7ef25ab, global rlimits not initialized
Services that are instantiated by plugins, and thus don't have a .conf
file, tried to use uninitialized rlimits.  This caused the kernel to
immediately kill those services for violating their own rlimits.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:32:54 +01:00
Joachim Wiberg 9df5e7664d flog: new helper function for debugging to file
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:32:54 +01:00
Joachim Wiberg 41092095f5 configure: allow custom directory for --with-sysconfig
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:32:54 +01:00
Joachim Wiberg a758d3dddc contrib: alpine: update to use env: files for service arguments
- Check for env in /etc/conf.d on Alpine
- Update all services with their respective env: file
- Disable default modules, noew modprobe plugin should handle this
- Add watchdog service
- Rename syslogd -> syslog, in case we want to integrate sysklogd

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:32:54 +01:00
Joachim Wiberg e228174eb5 contrib: debian: update to use env: files for service arguments
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:32:54 +01:00
Joachim Wiberg a1f79e263a Refactor, add new helper fn paste() to concat directory compoents
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:32:54 +01:00
Joachim Wiberg 6f06c432ec Minor, insert '/' only if pasting components require it
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:32:54 +01:00
Joachim Wiberg 3ae609c341 configure: minor refactor, simplify to reduce duplication
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:32:41 +01:00
Andreas Egeberg 60d0ca1075 Added Edit command
Command Edit <CONF>  opens file /etc/finit.d/available/<CONF>.conf in
the editor referenced by Linux environment variable $EDITOR
If $EDITOR is not set it will try to open emacs and if emacs is not
found it will try to open the file in vim.

Signed-off-by: Andreas Egeberg <andreas.egeberg@gmail.com>
2021-02-26 10:28:21 +01:00
Joachim Wiberg 435211765c Follow-up to f4a0b99: track modifications of service env: files
Add support for monitoring environment files for services declared with
the `env:[-]/path/to/file` option.  The default path to such files has
been chosen to follow Debian and Buildroot /etc/default/*

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:23:24 +01:00
Joachim Wiberg 92c6de2c09 test: tests use .sh extension, for .log/.trs transformation
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 10:13:44 +01:00
Joachim Wiberg e3b27d47bc Follow-up to dfd41a1: fix default finit.conf path regression
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 09:52:42 +01:00
Joachim Wiberg 6b7255fdeb Fix regression introduced in 7ef25ab, global rlimits not initialized
Services that are instantiated by plugins, and thus don't have a .conf
file, tried to use uninitialized rlimits.  This caused the kernel to
immediately kill those services for violating their own rlimits.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 09:11:56 +01:00
Joachim Wiberg 80e4f025d3 flog: new helper function for debugging to file
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2021-02-26 09:09:34 +01:00