1
votes

I have been trying to package the chef gem into rpm. I tried with fpm and gem2rpm, but both of them doesn't pack the dependencies. I mean after preparing the rpm, when I try to install it, it still gives me dependencies failed error.

Any idea how can I package all the dependencies into the rpm package?

1

1 Answers

0
votes

Software packaging in Linux world is very elaborate process. What you need to do is to package them one by one. Also, if you want to get the software into distributions like Fedora, you need to check the licenses, patents, all content that is not acceptable and also build always from source (gems are Ruby sources anyway but in case of native extensions).

Making a package that contains any dependencies is against Fedora policy, this is same for other distributions. If you want to distribute your app in a one huge RPM, you can do that for sure, but this is not the right way to do this.

I've built many packages including those from gems and what I recommend is the most recent version of gem2rpm (use the one from git). It works quite nicely, you usually only need to do few modifications.

I'd recommend to start with this reading: https://fedoraproject.org/wiki/Packaging:Ruby?rd=Packaging/Ruby