[artix-general] [s6] How to migrate from legacy s6-rc-bundle with default+boot bundles to new contents.d

Dudemanguy dudemanguy at artixlinux.org
Mon Feb 7 02:54:44 CET 2022


On 2/6/22 18:14, Javier wrote:
> On 2/6/22 18:07, Javier wrote:
>>
>> Just to double check, *everything* listed by *s6-rc-db contents 
>> <bundle>* must be touched into */etc/s6/adminsv/<bundle>/contents.d*, 
>> and not just the services/oneshots I have manually added into the 
>> bundles before...  If so, then I think this can be scripted, rather 
>> than manually go touch the files, one by one...
>>
>> Also, *dhcpcd* should belong to the *network* bundle I guess.  Not 
>> sure about *network-detection* and *net-lo*, since I didn't manually 
>> add them, but it sounds the *network* bundle might depend on those 2 
>> oneshots.
> 
> Ohh, I remember at least *dhcpcd* must belong to *default*, since it's a 
> *network* provider, and the other 2 I mentioned are similarly somehow 
> part of network getting up, so all 3 belong to *default*.  Sorry about 
> the question...  The other one about all bundle contents, including non 
> manually added, still remains, :)
> 
> Thanks !

Sorry, I'm not sure what the question is exactly. If you added something
to a bundle using s6-rc-bundle-update in the past (the most common use
case would be adding things to the default bundle of course), then you
should stop relying on that and add things to bundles by touching files
in the appropriate location. There are already plenty of defined
services and bundles that come from Artix via s6-scripts and other
upstream packages. You don't need to worry about those. They always work
as intended. This is strictly just for things you as a user did with
s6-rc-bundle-update.

The main reason for persuading users to transition how they manage their
bundles to the new way is because the complicated logic in the update
script that tries to preserve bundles between database upgrades will be
disabled by default sometime in the future. In other words, things added
to a bundle via s6-rc-bundle-update would silently disappear on script
updates (this is because of how s6-rc-bundle works; it's complicated).
The reason for moving away from this is because s6-rc-bundle-update is a
complicated workaround for something that isn't really needed anymore
thanks to the addition of contents.d/dependencies.d and it also causes
some subtle problems/unintuitive behavior in certain edge cases that's
not really fixable.


More information about the artix-general mailing list