-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
user/transactional-update: new package #2975
base: master
Are you sure you want to change the base?
Conversation
495ffa4
to
74937c0
Compare
74937c0
to
150a9b3
Compare
should be good now |
6a65b4a
to
e24a622
Compare
also, ive noticed that it generates stuff with |
/init says rootmnt=/root and does stuff with that, so probably that, feel free to test |
e24a622
to
6c9d437
Compare
yeah i also checked it out rn - probably will work with /root |
6c9d437
to
6963285
Compare
probably should make a initramfs script that mounts |
how does this even work at all? it seems to need dracut also shouldn't it be called transactional-update |
i'm not really interested in packaging software that will conditionally break because of requiring random stuff depending on how you invoke it (i see references to... dracut, systemctl, ... and considering a lot of this consists of random shell that is presumably not tested on non-gnu userland, there is probably more, even if it "works" on the surface) so i think this is only fine if you can guarantee that this stuff will not randomly break and that it won't be a net longer term maintenance burden |
Transactional-update is the OpenSUSE-specific implementation of this thing, tukit is just a snapper wrapper that makes is to you can do something like |
Most of these dependencies only appear on the tukitd thing which is not necessary for the usage of this system, you can totally just go with tukit and ur good to go. Transacional-update is also not necessary due to it just straight up being an OpenSUSE tool, so no need to worry about the shell wrapper |
The dracut dependency is also just for making it so the initramfs mounts /etc as an overlayfs like this fstab entry |
6963285
to
895a70b
Compare
i just added the initramfs hooks! they work completely fine apparently (although there is a warning when running update-initramfs). everything else, like etc cleanup or whatever should be implemented by a higher level tool (like transactional-update on suse) - this should actually totally be good to go now! would this be welcome or is it better not to merge? |
i don't really understand why it's the initramfs that needs to mount that, why can't it be done after initramfs by early dinit services? |
also as far as i can tell the package should still be called transactional-update as that's the name of the repo/project also i don't see any reason to leave out tukitd? it only depends on sd-bus api (you can supply it with |
i mean, at this point it is just a naming thing - i just think that it makes more sense for it to be "tukit" since we arent really messing around wirh the |
i just didnr know you could do that! ill be changinf this PR to include that! sweet! |
honestly it doesnt make that much sense indeed, this probaly could just run on the |
dinit should still work fine without it if the overlay mount is done early enough, it does not depend on that in any way |
https://github.com/chimera-linux/cports/blob/master/Packaging.md#naming package name is the project/repo name |
fair! ill just rename it real quick |
i thought it had to have the /etc/dinit.d directory to actually work, but i guess theres /usr/lib/dinit.d, right? |
2e723bf
to
5ec6e6a
Compare
5ec6e6a
to
4c5e6ab
Compare
Not mounting /etc on the initramfs leads to some really funky behaviour from tukit, like, it just cant do anything outside of |
it can get services from there, but it doesn't need it present per se, especially not in early boot (so it's fine if it appears later) initramfs shouldn't be doing this because one doesn't even necessarily need to have an initramfs, it should never be a hard assumption |
52027bd
to
fbb4bec
Compare
After some debugging and testing, I managed to make it work without the initramfs things! - This, though, doesnt seem like the best solution... Like, upstream they just expect that you have an initrd generated to mount /etc. Should this package still have the initramfs stuff as an optional subpackage or should it just only support the non-initramfs approach? @q66 Edit: just made the initramfs-tools not have the install_if thing. Everything should work fine now |
3d0a966
to
81c63b9
Compare
Been using this on my main system for a bit - without using the initramfs hook - and it doesn't seem to have broken anything? - I hope this can be merged since its such a wonderful way for atomic updates. |
81c63b9
to
8fd2f89
Compare
8fd2f89
to
be726d5
Compare
oh! thanks for the typo fix! i didnt see it earlier @triallax |
be726d5
to
83473ed
Compare
self.install_initramfs(self.files_path / "tukit.init-bottom", "init-bottom") | ||
|
||
|
||
@subpackage("transactional-update-initramfs-tools") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will split automatically, you don't need to declare it
OpenSuSE MicroOS's approach to immutability and its dependencies, depends on snapper - #2944