Skip to content
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

etckeeper #524

Open
liljenstolpe opened this issue Sep 24, 2023 · 9 comments · May be fixed by #2048
Open

etckeeper #524

liljenstolpe opened this issue Sep 24, 2023 · 9 comments · May be fixed by #2048
Labels
help wanted Keep Bluefin alive, dive in!

Comments

@liljenstolpe
Copy link

liljenstolpe commented Sep 24, 2023

Describe the package

I'd like to request etckeeper as a way to backup the (hopefully) small config changes necessary in /etc et.al. to reconstitute a machine after a complete rebuild. Bonus points if it gets wired into hooks on rpm-ostree

Image

All Images

@castrojo
Copy link
Member

Last time I investigated this etckeeper tried to use yum or something to do per package commits, which doesn't work - but this would be nice to have!

@castrojo castrojo added the help wanted Keep Bluefin alive, dive in! label Sep 24, 2023
@liljenstolpe
Copy link
Author

I've hooked etckeeper in arch via pacman post-install hooks. It doesn't look like there are such hooks in rpm-ostree... 💩

@castrojo
Copy link
Member

What if we just did a git commit and push after every boot?

@tulilirockz
Copy link
Collaborator

That could be just a service file then! - etckeeper-boot.service if something has changed, commit + push

@liljenstolpe
Copy link
Author

We could. May not catch all of the individual changes - but it would probably be sufficient.

@drewmoseley
Copy link

Hmm. I don't recall this using yum or anything per-package but then again I have run this under Ubuntu so no yum present. I did manage to layer it in on the Fedora 38 base and it mostly worked but somehow broke the ability to upgrade since it seems to install the dnf package so maybe there is something to the yum per-package assertion. It seems likely we could just generate a custom rpm that did not have that dependency and it would work at least minimally.

@drewmoseley
Copy link

I looked a bit into this and it seems that since etckeeper has hooks for specific package managers built in, and thus the standard Fedora package has a dependency on dnf. It does not seem that etckeeper has any knowledge of rpm-ostree as a package manager and I didn't dig too deeply to find out how complicated that may be to implement.

I wonder if we can just create a custom RPM package without the dependency on dnf to at least be able to install it without breaking things. Then the etckeeper-boot.service mentioned above would be enough.

@drewmoseley
Copy link

OK, so I looked through the etckeeper sources and it doesn't seem too complicated. My first, completely untested, not even built, swag at this is here.

The more complicated part, I believe, will be in the rpm packaging, of which I know nothing. If I'm right, the spec file for the Fedora package is here and will need updates to support this. In fact the changes I made in my fork only make things cleaner. I think if we can make the spec file somehow know that it is "Fedora" but the rpm-ostree variant, then we can simply disable the dnf plugin.

Anyone know Fedora packaging that may want to help?

@dosubot dosubot bot added the stale Issue has not had recent activity or appears to be solved. Stale issues will be automatically closed label Sep 16, 2024
@dosubot dosubot bot closed this as not planned Won't fix, can't repro, duplicate, stale Sep 30, 2024
@dosubot dosubot bot removed the stale Issue has not had recent activity or appears to be solved. Stale issues will be automatically closed label Sep 30, 2024
@tulilirockz
Copy link
Collaborator

rip

@p5 p5 reopened this Sep 30, 2024
@GarciaLnk GarciaLnk linked a pull request Dec 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Keep Bluefin alive, dive in!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants