aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* null and empty string are the same for catchall, fdhuser and defbundleHEADmainLaurent Bercot6 hours1-3/+3
|
* bugfix: I can't count to 14Laurent Bercot8 hours2-13/+13
|
* Louis, I think this is the beginning of a long series of bugfixes.Laurent Bercot8 hours1-1/+1
|
* Part four: we delete all the snapshots after set-installLaurent Bercot9 hours5-37/+64
| | | | | | | | | | Except the snapshot corresponding to the new live db, of course. Also, in order to accommodate snapshots without risking name conflicts, the real name of set foobar isn't .foobar:XXXXXX anymore, but .real.foobar:XXXXXX Now the automatic upgrade in case of major bump is complete. Next comes testing and debugging.
* Third part of the format-upgrade inclusion: add support in s6-rc-set-installLaurent Bercot29 hours13-106/+254
| | | | | | | | | | | | | | | | | | | | | | | | | Now that everything is in place, we go for the main thing: add snapshot support to s6-rc-set install. The workflow is: - check the major version of the old db against the current s6-rc - if the old db is up to date, nothing changes - otherwise: + find the snapshot corresponding to the old db + compile it + copy the snapshot db to the bootdir + call s6-rc-format-upgrade on it + atomically switch the bootdb to it. At this point the snapshot is the new bootdb: same as the old db, but with the correct major version. + unconditionally remove the old db + and now we can perform the regular s6-rc-update with the wanted set, since they have the same major. We also add --no-snapshot options to s6-rc-set-commit and s6-rc-set-install, and propagate them in the supporting functions, so users can manually skip all this bloat (and this is important for the initial install). All that remains is cleaning up obsolete snapshots. This will probably go at the end of s6-rc-set-install as well.
* More work on format-upgrade inclusion: real meta-information storageLaurent Bercot3 days7-30/+50
| | | | | | | | | | 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 Bercot3 days2-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 Bercot6 days6-11/+28
|
* But this day is not today, so screw it. We gotta keep em separatedLaurent Bercot9 days8-43/+32
|
* Someday I'll figure out dynamic libraries dependencies with rpathLaurent Bercot9 days13-25/+16
|
* Maybe maybe maybeLaurent Bercot9 days4-3/+6
|
* Fix build, maybe?Laurent Bercot9 days7-7/+13
|
* Propagate -L catchall changes to s6-rc-set-commitLaurent Bercot13 days14-21/+48
| | | | | 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 Bercot13 days5-58/+123
|
* s6-rc-compile: accept direct dependencies on s6rc- servicesLaurent Bercot13 days1-6/+29
|
* Prepare for 0.7.1.0; add major version to every compiled dbLaurent Bercot2026-10-0310-7/+94
|
* First part of the format-upgrade support in repoLaurent Bercot2026-10-028-87/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Credit KimLaurent Bercot2026-09-221-0/+1
|
* Delete the correct directory after a rollback in s6-rc-updateLaurent Bercot2026-09-221-1/+1
|
* Doc typo fixesLaurent Bercot2026-09-053-3/+4
|
* version: 0.7.0.0v0.7.0.0Laurent Bercot2026-07-141-0/+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-097-17/+112
|
* Update depsLaurent Bercot2026-06-225-5/+5
|
* Update cgit URLLaurent Bercot2026-06-201-1/+1
|
* s6-rc-set-change: move if-dependencies tristate to two boolsLaurent Bercot2026-06-154-64/+56
|
* Prepare for 0.7.0.0; lots of changes!Laurent Bercot2026-06-1421-828/+376
| | | | | | | | | | | | | | | - 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-0911-22/+97
| | | | 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-298-44/+158
|
* 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
|
* version: 0.6.1.1v0.6.1.1Laurent Bercot2026-05-093-7/+4
|
* Prepare for 0.6.1.1 ; fix loop exit condition in store checkingLaurent Bercot2026-05-097-6/+20
|
* version: 0.6.1.0v0.6.1.0Laurent 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-207-36/+56
|
* Link man pages repoLaurent Bercot2026-04-111-0/+8
|
* doc typo fixLaurent Bercot2026-04-061-1/+1
|
* Update deps/docs/mirrorsLaurent Bercot2026-04-0428-3/+33
|
* Add support for disabling rpath; update depsLaurent Bercot2026-03-319-9/+27
|
* AI policiesLaurent Bercot2026-03-261-1/+27
|
* Prepare for 0.6.0.1Laurent Bercot2026-03-187-10/+29
|
* Doc typo fixLaurent Bercot2026-02-231-1/+1
|
* Do not specialcase ENOENT on repo syncLaurent Bercot2026-02-231-1/+0
|
* doc typo fixesLaurent Bercot2026-02-233-5/+5
|
* doc clarity: what the "usable" rx meansLaurent Bercot2026-02-111-1/+3
|
* s6rc_repo_sync error message fix; also allow overriding by later storesLaurent Bercot2026-02-021-19/+11
|
* Doc typo fixLaurent Bercot2026-01-291-1/+1
|