commit 0e61dffbc612b516e8bb6a13d0a04c6668ed9e12
Author: yangfl <yangfl@users.noreply.github.com>
Date: Thu Sep 25 11:55:47 2025 +0800
debian: update to 4.14
commit 47ef24b26d9d773a71028e18fce3865a23c9a329
Merge: 1500ae0e 61de42d4
Author: yangfl <yangfl@users.noreply.github.com>
Date: Thu Sep 25 11:55:38 2025 +0800
Merge tag 'upstream/4.14'
commit 61de42d4435e6a75cffd68324447f786907c3f12
Author: yangfl <yangfl@users.noreply.github.com>
Date: Thu Sep 25 11:54:25 2025 +0800
New upstream version 4.14
commit 1500ae0e1807b48aae06211d6f43bba481c750d8
Author: yangfl <yangfl@users.noreply.github.com>
Date: Fri May 9 23:27:09 2025 +0800
debian: update to 4.12
commit 9b734666bea165941a43d827035564c532fb7dba
Merge: e0adfe2a 1f77b9fc
Author: yangfl <yangfl@users.noreply.github.com>
Date: Fri May 9 23:26:15 2025 +0800
Merge tag 'upstream/4.12'
commit 1f77b9fcb13b3cf3cf504ff6a6989dad627671eb
Author: yangfl <yangfl@users.noreply.github.com>
Date: Fri May 9 23:25:23 2025 +0800
New upstream version 4.12
commit 6b7478ff4369e263cc00f5857090d06e5a98aff0
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Apr 28 00:23:10 2025 +0200
Update ChangeLog and bump version for v4.12 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 6c4c16cbdb52cf3ee33eea3748e3bc986100cf73
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Apr 7 13:31:34 2025 +0200
Update ChangeLog for v4.12
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit e539dbfe37ca2b8875d27bf4d74b31438ec77e25
Merge: c9c268f2 90c6bcd3
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Apr 27 09:56:17 2025 +0200
Merge pull request #436 from sirocyl/patch-1
README.md: typo
commit 90c6bcd36577010036d3de1764f783287a5eda79
Author: Tyler True <944067+sirocyl@users.noreply.github.com>
Date: Sat Apr 26 23:45:19 2025 -0400
README.md: typo
`intictl` -> `initctl`, also linkified it to the command description
commit c9c268f21814716f6d0c9b6d3b4462af3acafe4e
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Apr 7 12:55:01 2025 +0200
plugins: fix variable overloading warning in urandom plugin
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 3feff37ba51fa0a6a0a06f59682a0918aa5b04de
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Apr 7 12:52:16 2025 +0200
plugins: use byte addressing of rand_pool_info data buffer
Fix out-of-bounds write in urandom plugin.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit c67d15e2725b0f2cabcbdeefcf7d34ef3d2d2d0d
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Mar 31 14:17:55 2025 +0200
runparts: update usage text, missing '-b' flag for batch mode
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 8984c655f8bb99595f96f28b621d355a3222c44e
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Mar 31 14:16:24 2025 +0200
cond_get_agg: minor refactor
- Use stack instead of heap memory
- constify
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 1a7b26bac390b937d2264b83874241250a835e1d
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Mar 30 11:19:23 2025 +0200
Bump version for 4.12 release cycle
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 1f47718012f6239bcea774b7ca11cce032c432a4
Merge: 185a72bd fa13cddc
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sat Mar 29 13:28:15 2025 +0100
Merge pull request #435 from aanderse/master
commit fa13cddc28d74ab1876f94beae5933416bcf63bc
Author: Aaron Andersen <aaron@fosslib.net>
Date: Fri Mar 28 20:24:57 2025 -0400
improve notify:s6 compatibility
commit e0adfe2a0d514eaa6fd7f0512eb6ab13dea49a32
Author: yangfl <yangfl@users.noreply.github.com>
Date: Fri Mar 28 09:57:45 2025 +0800
debian: update to 4.11
commit 9384f49809aadd87338533c2b03ce5f8b5c08dd4
Merge: 9f8e130f 8aefcc33
Author: yangfl <yangfl@users.noreply.github.com>
Date: Fri Mar 28 09:57:01 2025 +0800
Merge tag 'upstream/4.11'
commit 8aefcc33bee051afb827dee5354a71fd2e7547f2
Author: yangfl <yangfl@users.noreply.github.com>
Date: Fri Mar 28 09:56:17 2025 +0800
New upstream version 4.11
commit 185a72bd14d0ec9780df14d32e62e4b23bb63c74
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Mar 27 19:29:48 2025 +0100
Bump version for v4.11 GA release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit cd32c623cf938065ac8baaeb2bf96c013e242a53
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Mar 27 19:12:10 2025 +0100
plugins: ignore PID file events for svc_t in setup/teardown/cleanup
An svc_t (service/sysv) that is in setup, teardown, or cleanup state
must be ignored by the pidfile plugin for any events regarding PID
files. E.g., a setup script for a sysv service may create a PID file
to alert the system that a setup process for the service is running.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit ac4b9c2f93ac19fe0afe317f46d6cfa9d5a9ab20
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Mar 27 19:07:52 2025 +0100
Unblock signals for pre/post/ready/cleanup scripts
The service_fork() function blocks all signals for the new process, it
is up to the callee to call sig_unblock() before calling exec().
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 5e9591d0a867fd7601440656101b93c4c6df317d
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Mar 27 10:46:16 2025 +0100
Set correct -rc version
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit e3bcf9bf1668e3833783a7ba1a5691ff3b92f419
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Mar 27 10:28:39 2025 +0100
Update ChangeLog and bump version for v4.11 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 84fd3196b0c24cf68c24990ffaf0f1cacbaae651
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Mar 27 10:20:24 2025 +0100
doc: clarify what is required for moving from runlevel S to 2
All run/tasks must complete before Finit moves to runlevel 2. This
critical piece of information has mysteriously been missing from the
documentation since the start.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 994e51e34f3d421c68e2286e22e0dd84c6d610d4
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Wed Mar 26 06:55:50 2025 +0100
Convert **Note:** et al to GitHub Markdown alerts
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 0a7814b3917b2713a01052f444b5be41ebf183e9
Merge: 73f72b39 6528628b
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Mar 27 07:00:54 2025 +0100
Merge commit from fork
Improve argument handling when launching login
commit 73f72b39cf9ac3acfa9c8a102e99f5c67cf25444
Merge: 14806579 02e0aa73
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sat Mar 22 19:27:41 2025 +0100
Merge pull request #433 from aanderse/patch-1
commit 02e0aa73830565e0048655f702a95c2fc39e0333
Author: Aaron Andersen <aaron@fosslib.net>
Date: Sat Mar 22 18:06:05 2025 +0000
fixup: links in config.md
commit 6528628b5c771c25ffa0cb1a46c6c89d9d0d69e0
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Mar 17 14:35:51 2025 +0100
getty: improve argument handling when launching login
Add explicit argument separator before username to ensure correct
parsing of the login command regardless of username format. This
follows best practices for command execution and prevents unexpected
behavior when processing special characters in usernames.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 1480657982e9b4911bd4988cc7146948d117df4e
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Mar 18 07:27:00 2025 +0100
Update ChangeLog, serious issues with stopping services
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 33e378a345a5e6a7531052e2ed2835ca5d25692d
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Mar 18 07:21:44 2025 +0100
Fix #432: allow services in 'setup' to be stopped
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit b695b46a9d99ce1852cc0144951da986e293d1c8
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Mar 18 07:18:16 2025 +0100
Revert last part of 91a9c83, fallback SIGKILL when stopping services
When a service is stopped, but does not respond to the default SIGTERM,
a fallback kicks in after 3 seconds (default) to send SIGKILL. Since
91a9c83 (v3.2-rc2) this has however not worked since the signal was
only sent to the process group.
It is the job of service_monitor(), when it reaps the process leader,
to forward the signal to the process group.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 0e61ed727f2ad09a17c54d5540be29b4afd50891
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Mar 18 07:17:37 2025 +0100
Add helper function, svc_is_stopped() when stopped by user
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit e9d60a6c045585676f1d1d1c54cd325f60d628e9
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Mar 18 07:17:23 2025 +0100
Minor, coding style
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 5e9edf9debb6bd73e154fbf64a47488e69a1e015
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Mar 17 18:43:04 2025 +0100
Update ChangeLog and bump version for 4.11 release cycle
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 8ed2751ae19b01d5b1abb1838c451e30991b4fb9
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Mar 17 18:39:05 2025 +0100
Fix pre/post/ready/cleanup script execution if env:file is missing
Don't try to source an optional env:file if it is missing. Otherwise
execution of pre/post/ready/cleanup script will fail.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 7fec66dc09392bb4b2ac978b036af87dfc16453a
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Mar 16 07:14:19 2025 +0100
Simplify, svc_checkenv() already checks if optional
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 75fa868a4bfe14b1979f7913057fb0d97ae0c1bc
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sat Mar 15 19:23:31 2025 +0100
Fix various typos found by codepsell
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 7b321de33961e7b0e73b7727346d585dbdf01fbf
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Mar 3 03:46:21 2025 +0100
Update ChangeLog and bump version for v4.10 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 1691ebb2925b985356d3ba03c672990f2cd8a4a1
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Mar 3 03:39:55 2025 +0100
logit(): RFC3164 conformance for /dev/kmsg fallback
RFC3164 section 5.3 states; "a colon and a space character usually
follow the TAG". This is also the reference format in the kernel:
https://www.kernel.org/doc/Documentation/ABI/testing/dev-kmsg
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit c371c10455ab6612ea2550190c785547f57b2fbc
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Fri Feb 28 12:11:06 2025 +0100
Update ChangeLog and bump version for 4.10-rc2
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit a23e152f6b2c883130bb0a4bfa55ef304294a369
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Fri Feb 28 11:17:01 2025 +0100
plugins: rtc: follow-up to bc8118d, stop timer at shutdown
Introduced to work-around systems with broken RTCs, it also introduced a
dormant bug in Finit, triggered at shutdown on some systems. The call
to dlclose() removed the memory to the rtc_timer which libuev later then
referenced.
Fixes #429
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 9210f2851ed91f4b5f545c45c40880955912136e
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 25 08:37:27 2025 +0100
Skip killing initctl on shutdown/reboot
Initiating a shutdown/reboot from `initctl` should not cause `initctl`
to be killed in do_shutdown().
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 617609cbc5d9e1974d9e02accfae23bb29a05c74
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 12:35:48 2025 +0100
.github: allow running coverity scan on workflow dispatch
[skip ci]
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit b0229167589e8afe0feb6770eee51ea0d1c3626a
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 12:34:02 2025 +0100
doc: update svc_t state machine, drop transparent background
The transparent png is completely illegible in dark mode.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 9a357b7aab4ae81721702cd36235b87ebe66d580
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 10:30:16 2025 +0100
Fix possible NULL pointer dereference
When a user sets up a TTY without a device, triggering the tty->notty
code path, the tty->dev will be NULL and tty_parse_args() still return
OK result.
Found by Coverity Scan
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit ffd01b0276c903f3a63451be3d5d57492234afc9
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 05:43:14 2025 +0100
Update ChangeLog and bump version for v4.10-rc1
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 2c95f091eedbc06df0abfdd58c566f651b94e4c9
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 05:35:00 2025 +0100
Sync documentation and manual page
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit b75b107d6dae09ca610a9fed80123a9cac90ce2e
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 04:51:04 2025 +0100
plugins: urandom: improve entropy gathering in fallback path
Enhance fallback entropy generation by mixing in multiple sources:
runtime statistics, PID, and high-resolution timestamps.
This provides better initialization for the PRNG when neither saved
entropy nor hardware RNG are available during early boot.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 1f2c1d2109f9beb3b2cf9f140079bb279bbeb82e
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 04:46:43 2025 +0100
Minor, staticify
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit f328d24d015a4b1879cadfaad93266b5530c700d
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 04:29:56 2025 +0100
Fix possible overflow in return value
Found by Coverity Scan
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 211293a83d890325e8b697aa77ae99e1be744619
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 04:28:26 2025 +0100
Fix possible overflow in return value
Found by Coverity Scan
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 446f5bc8b88b56e53278e4a96330910d42404ff8
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 04:25:19 2025 +0100
Fix possible memory leak in sourcing of environment file
Found by Coverity Scan
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 0c6f748f2ca8654428ca607d36c0845beaaa68cb
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 04:23:22 2025 +0100
Fix invalid pointer use in log message
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit a677b94ad9eca1bfb71dccf869b43e732a61ee9a
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 04:05:55 2025 +0100
Minor, coding style fixes
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 6552cda60527766aa8674349bd47b71c53fbd309
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 23 04:02:00 2025 +0100
Fix #427: make sure first found binary is used as external getty
When using Finit with an external getty that supports alternative login
program argument, the tty_parse_args() function did not check if a getty
command had already been registered:
tty [12345] /sbin/agetty -L -l /bin/login console noclear
This caused Finit to try /bin/login as the getty program.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 3add682be3e20e37f793bbd378120dae63625795
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sat Feb 22 16:36:27 2025 +0100
Wait for post:script and cleanup:script before returning OK
This change introduces two new states for the big Finit state machine:
runlevel-clean and reload-clean. Here Finit now waits for any post or
cleanup script to finish before returning OK to the initctl command.
Additionally, the service state machine has been updated to ensure a
run/task/sysv/service calls any post or cleanup script before they are
removed. A new 'dead' state for svc_t is introduced which any removed
svc_t ends up in now instead of becing collected from 'halted' state.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Add cleanup:script support, runs at service removal
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit abac31682d30ab87671a285e0bb67958886445aa
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Wed Feb 19 05:48:55 2025 +0100
Handle UEV_ERROR properly in all libuev callbacks
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit cfe915e6d5a46e24d141120b3fb5939c1804ab59
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 18 06:23:12 2025 +0100
Reclassify sysv, more like service than run/task
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit ecf65ce44bd30bb00f2214794143affa04a43c9f
Merge: cf201a43 0d742d6a
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Fri Feb 21 04:27:14 2025 +0100
Merge pull request #428 from aanderse/path/sysctl
commit 0d742d6ae8e58fce9c09e287e838706e3c57756d
Author: Aaron Andersen <aaron@fosslib.net>
Date: Tue Feb 18 20:14:37 2025 -0500
allow sysctl path to be configured at build time
commit cf201a43df05f9007096f67c804c1ab3456a7873
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Feb 17 05:16:28 2025 +0100
Add cleanup:script support, runs at service removal
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 9245869e18c98b09c1c706de79b39de95554a936
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sat Feb 15 07:09:58 2025 +0100
Update ChangeLog and bump version for v4.9 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 0f4a487328365153b91a653f7507678156b1ea68
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Fri Feb 14 10:28:16 2025 +0100
.github: tests share same sysroot, must run in sequence
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit f1b5b429196f42f2b19ca9c1e39329507c5bc30f
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Fri Feb 14 10:23:38 2025 +0100
test: enable debug logs for global-envs
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit f546129baffb9f82f474454210708e3df4841c38
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Fri Feb 14 10:23:19 2025 +0100
test: debug sysvparts
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 27451ac3f2fb184dc60eb1085b0130636170cd6f
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Fri Feb 14 06:26:27 2025 +0100
Update ChangeLog and bump version for v4.9-rc1
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 0a8f3a62500fe7d513ca2a725575c55667a1448b
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Feb 13 07:06:13 2025 +0100
Fix #425: flush .conf file events before reload and runlevel change
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 70c4e7d774299920bd1730d9762afe75495bd3b9
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Wed Feb 12 18:01:35 2025 +0100
iwatch: ensure adding a new watcher is idempotent
Some subsystems call iwatch_add() without first calling iwatch_del() on
the same path. E.g., cgroup_config().
Issue #417 but unclear atm. if this is the root cause.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 5265eee25d2909d7269430ec8e4dc41fc1c3109f
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 11 10:15:12 2025 +0100
test: slightly more robust checkself.sh
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 4b06e1a49f6c641ae3209bad595fb546c2242062
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 11 10:02:41 2025 +0100
Silence overly verbose debug messages in cond_set/clear/update
These functions call other functions that log more detailed information.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 6b9aa2150952c59058212905c1406815a1ae3b33
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 11 10:01:57 2025 +0100
Minor cleanup, code (style) and comments
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 990307fbc946f79e783f2b29de90a7291e8d26f0
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 11 09:59:16 2025 +0100
Fix kill() on timeout of pre:/post:/ready:scripts
A long running pre/post/ready script must be killed properly, not by
targeting its process group. Process group cleanup is handled by the
service_monitor() when reaping the script's PID.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 9d8a9b7fba66ec42edc529eda58221394671bc23
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 11 09:58:11 2025 +0100
Check for pre:- and post:scripts in $PATH
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit bbc83eaa64ad227f2044c611bed13e72797230b0
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 11 09:40:03 2025 +0100
test: new test
New test adds /bin/fail.sh to verify that a failing pre:script (that
also takes too long to run) is detected: exit code and timeout.
Ensure existing test pass full path to /sbin/fail.sh script.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 23d034f521f8bd7ba9dd3451bc5d7df73e99d0ef
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Tue Feb 11 08:04:19 2025 +0100
Prevent main process from starting if pre: script fails
Check exit status of `pre:` scripts, on failure drive service/sysv to
`crashed` state. The exit code of `post:` scripts remain ignored for
now.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 9a3148a49d2e1647824299c9bedfbc01631928d6
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Feb 10 10:29:12 2025 +0100
Bump version to v4.9-beta1 and update ChangeLog
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 8560103a24d222d187fdb7fc9504011d1d11791e
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 9 20:10:27 2025 +0100
Add individual timeout support for pre/post/ready scripts
Syntax:
[pre|post|ready]:[0-3600,]/path/to/script
Description:
Before this patch all pre/post/ready scripts used the global kill
delay as timeout. After this patch it is possible to disable the
timeout as well as set a timeout >60, which is max kill delay.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 7a75e34808213a18c8796c48f9fe70133edd6643
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Feb 9 20:06:38 2025 +0100
Fix `initctl touch` of template services
Follow-up to 465bc17, which addressed unintended restart of siblings.
This patch fixes a problem where template instantiated services are not
properly reloaded/restarted when marked as "dirty" with `initctl touch`.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 4d4fc10d57852cd1f60a7924d7a2405b67f003bb
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Feb 10 10:42:26 2025 +0100
plugins: rtc: follow-up to bc8118d
In save() RTC, ensure the RTC_FILE option is actually enabled.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 003faae9e9c505b90785e4e3d6a2bf5b8847cd33
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Feb 3 10:23:35 2025 +0100
.github: disable apparmarmor to allow testing in unshare
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 01a01d65c07e295022dd366f1482d24912aab5f7
Merge: 74f0fcfc 048302f0
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Feb 3 07:13:33 2025 +0100
Merge pull request #424 from aanderse/container/systemd-nspawn
Add systemd-nspawn to the list of container types
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 048302f06a7dda6920373e90c941778cd6708996
Author: Aaron Andersen <aaron@fosslib.net>
Date: Sun Feb 2 08:58:36 2025 -0500
add systemd-nspawn to the list of container types
commit 74f0fcfccda97a33bba56e4c0c1c051a4406b8cf
Merge: 465bc17c 3cfe0a33
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Fri Dec 20 02:18:09 2024 +0100
Merge pull request #422 from az143/fstab-nofail
commit 3cfe0a33b83fa2206ac12b81104450122504c08c
Author: az <az143@users.noreply.github.com>
Date: Wed Dec 18 07:55:53 2024 +1000
fstab with UUID/LABEL: nofail handling for fsck
add support for 'nofail' fstab option. if present, finit's fsck invocation ignores errors for this device.
this is useful if you have an fstab entry for a device with UUID= or LABEL= which isn't always present and which you'd like to not
bail on (so you set nofail). in this case finit leaves the presence-or-not decision to fsck, which exits nonzero.
for block devices that are directly listed in fstab this change isn't important, because for such finit looks for the blockdev's existence and skips the fsck if n/a.
commit 465bc17ca4b131f8c1ef27ff8279f4ea13745a78
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Nov 28 11:06:57 2024 +0100
Fix unintended restart of template siblings
Consider the case where container@.conf is an available template. When
creating a container@foo.conf it will share the same base .conf as an
existing container@bar.conf, but we do not expect to restart bar just
because foo is instantiated.
Up until this change, all template siblings were considered "dirty" if a
new one was created or updated. Skipping realpath() for all files that
have a '@' works around the problem.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit d4889b435db954ef24e26ea4b046fcdee0c9981d
Merge: 119e66a7 49c0557c
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Nov 4 10:48:26 2024 +0100
Merge pull request #419 from troglobit/rtc
RTC plugin fixes and extension
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 49c0557cedd8d3c1a2f74d27fa7db83dd529914a
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Nov 3 20:49:04 2024 +0100
plugins: reduce log level LOG_ERR -> LOG_WARNING
These plugins signal success and failure directly to the console, the
user should inspect syslog for more information.
This change is a follow-up to 340cae4, where kernel logs of LOG_ERR and
higher are allowed to log directly to the console. Since syslogd has
not been started before these plugins, the log messages would otherwise
leak to the console.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 6be16f2f6d093ef495d0fe4313f7b05b4ba3e08f
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Nov 3 10:38:38 2024 +0100
Fix buggy --with-rtc-date=DATE, introduced in Finit v4.4
In 42ef3d3c, for v4.4-rc1, support for setting a custom RTC restore date
was introduced. Unfortunately the configure script was wrong and caused
config.h to contain
#define RTC_TIMESTAMP_CUSTOM "$rtc_date"
instead of
#define RTC_TIMESTAMP_CUSTOM "2023-04-10 14:35:42"
Furthermore, the error handling for strptime() was wrong, so the restore
date was always reverted to the default.
This patch fixes both issues and extends the DATE of --with-rtc-date to
also include seconds.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit bc8118d515839dc598f437aa01f07a771646968d
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Nov 3 09:47:16 2024 +0100
Fix #418: support systems with a broken RTC
This patch introduces a new configure option --with-rtc-file=FILE. When
enabled the RTC plugin detects missing RTC device and falls back to save
and restore system time from a file instead. When --with-rtc-file is
used without an argument the default file is /var/lib/misc/rtc, but the
feature itself is disabled by default.
The usefulness of this feature may not be obvious at first, but some
systems are equipped with an RTC that resets to a random date at power
on. This can be really bad in the case the date is far in the future,
because an NTP sync would then cause time skips backwards, which shows
up in logs and causes a whole lot of pain in alarm systems.
The solution is to disable the RTC driver or device tree node, and when
Finit starts up, the RTC plugin detects a the device node and instead
restores time from the last save game. Meaning time will always only
move forwards.
NOTE: when Finit is built --with-rtc-file we always save to disk, but
only restore from the "save game" if restoring from RTC fails.
If the system has no RTC we always restore from disk.
As an added bonus, this change also makes sure to periodically
sync also the RTC with the system clock. Useful for systems
that do not run an NTP client.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 0c0e880f3fdd38f7bbde618408378dc0a19ff005
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Nov 3 09:39:46 2024 +0100
plugins: refactor rtc.so
Factor out time_set() and time_get() for readability and reuse.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 119e66a7e9c95283918639b51dd03a3d666955f8
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Mon Oct 28 10:58:04 2024 +0100
Reset color attributes and clear screen when starting up
Some boot loaders, like GRUB, leave background color artifacts from
their boot menu. This patch resets the foreground and background
color attributes, and then clears the screen, without clearing the
scrollback buffer.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 46ffa81f5c88ce95db011369d8bfb802313e4217
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Thu Oct 17 14:23:24 2024 +0200
Only mark rdeps dirty if main service is nohup
This patch changes a behavior that's been default since Finit 4.0,
introduced in 4d05bf9 with 4.0-rc2.
If service B depends on A and A needs to be reloaded, then B may be
affected. If A is declared as NOHUP <!>, then A will be stopped and
restarted, during which time the condition it provides is removed,
and B will also be stopped.
However, and as of this patch, if A is declared supporting HUP, then the
condition A provides will only go into flux, during which time B will be
SIGSTOPed instead of needing to be reloaded.
Fix #415
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 54701422a50237cd48d2bb7340063055fcb2ccc9
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Oct 13 19:41:58 2024 +0200
Bump version for v4.8 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 9d463e382319f2e6cf7a9e09a0111ffa38a9c638
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sat Oct 12 08:01:28 2024 +0200
Update ChangeLog, added fistmpfs() check and zebra stop fix
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit 56e558c960c688b1181582b964c1910a27dc6487
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sun Oct 13 19:36:21 2024 +0200
initctl: add support for showing template@foo.conf
Fixes #411
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit dfaf351da117ac6da4788d6401fff37a3526252d
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sat Oct 12 07:54:13 2024 +0200
Fix #414: zebra immediately restarts if manually stopped
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
commit a8433fcb7f4def505959be70e60dc8a0b01fedcc
Author: Joachim Wiberg <troglobit@gmail.com>
Date: Sat Oct 12 08:27:33 2024 +0200
test: ignore unreachable shellcheck warning
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
There are 2 open security issues in bookworm.
You can find information about how to handle these issues in the security team's documentation.
Among the 2 debian patches available in version 4.14-1 of the package, we noticed the following issues: