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

Make btrfs a weak dependency in ignition #323

Closed
nullr0ute opened this issue Dec 5, 2019 · 10 comments
Closed

Make btrfs a weak dependency in ignition #323

nullr0ute opened this issue Dec 5, 2019 · 10 comments

Comments

@nullr0ute
Copy link

nullr0ute commented Dec 5, 2019

In Fedora IoT we don't intend on supporting btrfs so it would be useful to make the rpm dep for ignition a weak dependency so it can be excluded if not required.

from the spec:

%if 0%{?fedora}
Requires: btrfs-progs
%endif
@jlebon
Copy link
Member

jlebon commented Dec 5, 2019

https://src.fedoraproject.org/rpms/ignition/pull-request/43

Now, this will automatically also drop out btrfs-progs from FCOS. Do we want to keep it in? I lean towards yes. Some folks like btrfs and it's not large (nor does it bring in new deps AFAICT). (See also discussions in #33)

@dustymabe
Copy link
Member

Sounds good to me. I'm good for keeping btrfs-progs in.

@nullr0ute
Copy link
Author

Now, this will automatically also drop out btrfs-progs from FCOS. Do we want to keep it in? I lean towards yes. Some folks like btrfs and it's not large (nor does it bring in new deps AFAICT). (See also discussions in #33)

Could FCOS not just include it specifically in their package manifest?

@jlebon
Copy link
Member

jlebon commented Dec 5, 2019

Could FCOS not just include it specifically in their package manifest?

Yup, that's what we're discussing. :)

@ajeddeloh
Copy link
Contributor

Another thought: we should see about conditionalizing support for it in ignition itself. So if you build without btrfs configs using it will fail validation.

jlebon added a commit to jlebon/fedora-coreos-config that referenced this issue Dec 5, 2019
Ignition used to pull it in, but now it's going to become a weak dep.
But we still want it in FCOS so users can have btrfs partitions if
they'd like.

More info in: coreos/fedora-coreos-tracker#323
@jlebon
Copy link
Member

jlebon commented Dec 5, 2019

@lucab
Copy link
Contributor

lucab commented Dec 6, 2019

we should see about conditionalizing support for it in ignition itself. So if you build without btrfs configs using it will fail validation.

My understanding is that weak dependencies are conditionalized at runtime package install/compose time, not at package build-time.

I fear that build-time conditionals would require building a matrix of binary packages (for all the possible combinations) or a package system that natively support that (e.g. USE flags). So, while a good idea, I don't think it would help here.

Perhaps we can instead enhance Ignition to probe for btrfs-prog at runtime (if a btrfs filesystem was requested by config) before trying to perform. Same for anything else that we want to demote to a Recommends.

EDIT: clarified.

@nullr0ute
Copy link
Author

My understanding is that weak dependencies are conditionalized at runtime, not at build-time.

Do you mean install time? In the case of ostree use cases that would be compose time.

@dustymabe
Copy link
Member

I fear that build-time conditionals would require building a matrix of binary packages (for all the possible combinations) or a package system that natively support that (e.g. USE flags). So, while a good idea, I don't think it would help here.

I agree. Let's not try to do anything fancy here.

jlebon added a commit to coreos/fedora-coreos-config that referenced this issue Dec 6, 2019
Ignition used to pull it in, but now it's going to become a weak dep.
But we still want it in FCOS so users can have btrfs partitions if
they'd like.

More info in: coreos/fedora-coreos-tracker#323
@jlebon
Copy link
Member

jlebon commented Dec 6, 2019

PR merged; this will be fixed in the next build!

@jlebon jlebon closed this as completed Dec 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants