aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* More work on format-upgrade inclusion: real meta-information storageHEADmainLaurent Bercot23 hours6-29/+45
| | | | | | | | | | If a db format upgrade is necessary, we need to compile the snapshot with the new s6-rc-compile. There's data we need to pass to it that isn't stored (options passed when committing the original set), so we store it in the db itself (patching s6-rc-compile). We modify the s6-rc-compile wrappers to pass all this metadata. Next, we will compile the snapshot.
* Second part of the format-upgrade support: ensure snapshots are thereLaurent Bercot26 hours2-5/+40
| | | | | | | We don't want to install compiled dbs without having a snapshot of their source set, so whenever we test that the compiled db is up to date, we also test that a snapshot is present. This is important because we will auto-cleanup unused snapshots after installation.
* Prepare for 0.8.0.0, update depsLaurent Bercot4 days1-1/+1
|
* But this day is not today, so screw it. We gotta keep em separatedLaurent Bercot7 days7-30/+20
|
* Someday I'll figure out dynamic libraries dependencies with rpathLaurent Bercot7 days12-11/+2
|
* Maybe maybe maybeLaurent Bercot7 days3-0/+3
|
* Fix build, maybe?Laurent Bercot7 days6-0/+6
|
* Propagate -L catchall changes to s6-rc-set-commitLaurent Bercot11 days9-13/+39
| | | | | s6-rc-set-install is undergoing changes, it might not work properly. The rest is coming this week.
* Add -L catchall to s6-rc-compile and s6-rc-fdholder-fillerLaurent Bercot11 days2-55/+112
|
* s6-rc-compile: accept direct dependencies on s6rc- servicesLaurent Bercot11 days1-6/+29
|
* Prepare for 0.7.1.0; add major version to every compiled dbLaurent Bercot13 days5-0/+72
|
* First part of the format-upgrade support in repoLaurent Bercot2026-10-027-83/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to work across major bumps, we need to add a call to s6-rc-format-upgrade before s6-rc-update in the s6-rc-set-install sequence of commands. s6-rc-format-upgrade only works when the db is exactly the same across s6-rc versions. That means we need to have the source version of the current live set at all times, in order to compile it with the new s6-rc version before upgrading and then updating. So: 1. we take a snapshot of the source version of a set every time we commit. 2. we refuse to install if we don't have the snapshot. 3. we add s6-rc-format-upgrade to the processing chain 4. for cleanup: after installing, we delete all the snapshots of the set except the one that corresponds to the newly installed live set. This commit implements 1: taking the snapshot. It's a regular s6-rc-set-copy, using an internal name. We refactor s6-rc-set-copy and s6-rc-set-delete to have primitives we can use internally. Wait for later commits before using repo, else you'll fill your repository with snapshots that won't get cleaned up. TBD: how to store the s6-rc version in the compiled db. We probably need to add a small file in there.
* Delete the correct directory after a rollback in s6-rc-updateLaurent Bercot2026-09-221-1/+1
|
* debug the --clean featureLaurent Bercot2026-07-142-7/+11
|
* s6-rc list without selection prints everythingLaurent Bercot2026-07-111-16/+12
|
* Add -c|--clean option to s6-rc (untested)Laurent Bercot2026-07-095-9/+80
|
* Update depsLaurent Bercot2026-06-221-1/+1
|
* s6-rc-set-change: move if-dependencies tristate to two boolsLaurent Bercot2026-06-151-33/+23
|
* Prepare for 0.7.0.0; lots of changes!Laurent Bercot2026-06-149-648/+347
| | | | | | | | | | | | | | | - s6-rc-bundle deleted. Changing bundles without recompiling is not supported anymore. (It works, but it incentivizes poor workflows; it is better to handle stuff at the source level and recompile when in doubt, that's what s6-frontend does.) - new db format, need to recompile and use s6-rc-format-upgrade on new live db - support for the reload-signal file in service directories - new reload scripts for oneshots (which is why the db format has changed) - new "s6-rc reload" command, calling s6-svc -l on longruns (which makes use of reload-signal, HUP by default) and the reload script on oneshots - the live state now tracks when a service has been explicitly brought up as opposed to by pulled by dependencies. Nothing uses the feature for now but now the tech is there for an auto-stop-if-unneeded feature.
* Prepare for 0.6.2.0; implement s6-rc reloadLaurent Bercot2026-06-093-12/+62
| | | | Also support reload-signal in the service definition directory.
* Prepare for 0.6.1.2; make s6-rc-init idempotent and more resilientLaurent Bercot2026-05-291-32/+125
|
* s6-rc-init: accept -b, prepare for idempotenceLaurent Bercot2026-05-211-3/+38
|
* Cleanup on s6-rc-repo-init sync errorLaurent Bercot2026-05-121-1/+11
|
* Prepare for 0.6.1.1 ; fix loop exit condition in store checkingLaurent Bercot2026-05-091-0/+1
|
* Convert s6-rc-init to golLaurent Bercot2026-05-021-54/+71
|
* Support flag-timeout-killpgLaurent Bercot2026-04-232-2/+28
| | | | Also add the missing support for flag-newpidns when compiling a db
* Prepare for 0.6.1.0; set RC_NAME in oneshotsLaurent Bercot2026-04-201-28/+41
|
* Do not specialcase ENOENT on repo syncLaurent Bercot2026-02-231-1/+0
|
* s6rc_repo_sync error message fix; also allow overriding by later storesLaurent Bercot2026-02-021-19/+11
|
* s6-rc-repo-init: check validity of stores before creating linksLaurent Bercot2026-01-281-0/+11
|
* Rename "sub" to "prescription"Laurent Bercot2026-01-2421-171/+171
|
* And add similar options to s6-rc-set-installLaurent Bercot2026-01-241-2/+6
| | | | | s6-rc-set-install downs essential services by default. This is different from the s6-rc-update default.
* Support bringing down essential services in s6-rc-updateLaurent Bercot2026-01-242-40/+64
| | | | Also adjust verbosity of s6-rc-compile
* Fix bugs in repo_syncset and repo_makesetbundles, refactor a bitLaurent Bercot2026-01-242-71/+67
| | | | | | Also add an extra bundle in the demo store in order to test. Imports of store bundles didn't work properly; now they do. Sets were not properly synced on store change; now they are.
* bugfix in repo_syncsetLaurent Bercot2026-01-241-1/+1
|
* s6-rc -X is now s6-rc --no-lock (not public)Laurent Bercot2026-01-212-3/+3
|
* Fix s6-rc-set-copyLaurent Bercot2026-01-211-16/+10
|
* TIL ENOTEMPTY is a thingLaurent Bercot2026-01-211-1/+1
|
* Better dry run messages in s6-rcLaurent Bercot2026-01-211-3/+3
|
* BigfuxLaurent Bercot2026-01-201-1/+1
|
* Option is --no-update, not ----no-update. Also fix dotpc.Laurent Bercot2026-01-191-1/+1
|
* Add --no-update option to s6-rc-set-installLaurent Bercot2026-01-171-56/+62
|
* Modernize s6-rc-compile; declare internal services as essentialLaurent Bercot2026-01-131-41/+41
|
* Modernize s6-rc-db as well, fix tiny bugLaurent Bercot2026-01-133-115/+162
|
* Modernize s6-rc; add -E and -e options (with/out essentials)Laurent Bercot2026-01-121-91/+125
|
* s6-rc-set-install fixesLaurent Bercot2025-12-213-71/+77
|
* Working repo fix that understands pipelinesLaurent Bercot2025-12-2016-90/+190
|
* Add s6-rc-repo-listLaurent Bercot2025-12-206-55/+81
|
* Consistency of --force-essential optionLaurent Bercot2025-12-203-9/+10
|
* Add s6-rc-set-fixLaurent Bercot2025-12-208-71/+202
|