Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

How to install a relocatable package? #2105

Open
flixman opened this issue Jun 26, 2024 · 4 comments
Open

How to install a relocatable package? #2105

flixman opened this issue Jun 26, 2024 · 4 comments
Labels
Priority:LOW RFE Request for Enhancement (as opposed to a bug) triaged

Comments

@flixman
Copy link

flixman commented Jun 26, 2024

I have been navigating the man pages and I have not been able to find an answer to: How can I use dnf to install a relocatable package (and its dependencies)? Using plain rpm I would use the --prefix option, but I do not see any equivalent in dnf.

@flixman flixman changed the title How to install a relocatable package How to install a relocatable package? Jun 26, 2024
@ppisar
Copy link
Contributor

ppisar commented Jun 26, 2024

You can install it the same way as nonrelocatable package. The effect will be the using rpm without --prefix and --relocate options. In other words, you can use DNF to install a relocatable package, but you cannot override the installation prefix.

(For completeness, dnf has "--installroot" option which allows to install packages including their dependencies into a separate directory to build a new and independent file system.)

@flixman
Copy link
Author

flixman commented Jun 26, 2024

@ppisar Thank you for your answer, but this is exactly the problem I have :-/ we are producing RPMs for internal company consumption, which have the prefix set for the production location, which we are now using also for dev/test (in that case, we relocate them to other locations). I do not see a straight forward way to do this with dnf, but I might be missing pieces of information.

@ppisar
Copy link
Contributor

ppisar commented Jun 27, 2024

There is no support for relocation prefix in DNF.

It's not as easy as requesting librpm for the relocation: DNF resolves dependencies based on repository metadata way before it downloads the packages. Those metadata, I worry, do not support relocatable packages. So this requires enhancing a format of the metadata, implementing it in tools for creating repositories (e.g. createrepo_c), then add a support to a dependency solver (libsolv in case of DNF), libdnf, and finally DNF.

Since you are first one (based in this issue tracker) asking for the support, I worry that such a request won't find high priority in the near feature.

@ppisar ppisar added this to DNF team Jun 27, 2024
@github-project-automation github-project-automation bot moved this to Backlog in DNF team Jun 27, 2024
@ppisar ppisar added the RFE Request for Enhancement (as opposed to a bug) label Jun 27, 2024
@flixman
Copy link
Author

flixman commented Jun 27, 2024

@ppisar I understand what you mean, and indeed: I have no high hopes of this being prioritised, as seems not to be much used. However, I still have the doubt: how can we apply the idea of "promoting" RPM packages without being able to relocate them? I am affraid I might be doing something the wrong way.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Priority:LOW RFE Request for Enhancement (as opposed to a bug) triaged
Projects
Status: Backlog
Development

No branches or pull requests

2 participants