Dear All
Is there some way of merging two rpms into a single one?
Thanks in advance,
Paul
Paul Smith wrote:
Dear All
Is there some way of merging two rpms into a single one?
Thanks in advance,
Paul
Yeah.
in %setup mkdir /tmp/sumware cd /tmp/sumware rpm2cpio <the first> | cpio # man cpio for the grotties rpm2cpio <the second> | cpio
Now you have everything laid out in /tmp/sumware %build is a noop. %install rearranges the the binaries to suit your taste.
Don't forget to adapt and mutilate the above using the appropriate rpm macroes and/or variables.
I guess the sources are the initial rpms.
Of course, I may well have misunderstood your question. If you're starting with two different sourc rpms the answer's quite different, likely more complex and reads, "It depends."
Note the above technique works (with minor mods) starting with tarballs, starting with an rpm that you want to change a little (but watch the gpm if you redistribute!), starting with an rpm for Some Other Distribution (you might wish to move stuff from /opt or change placement of some files to conform more closely to One True Way[tm]. It also works starting with Debian packages.
In some cases you will need to fiddle with deps.
On 12/28/05, John Summerfied debian@herakles.homelinux.org wrote:
Is there some way of merging two rpms into a single one?
Yeah.
in %setup mkdir /tmp/sumware cd /tmp/sumware rpm2cpio <the first> | cpio # man cpio for the grotties rpm2cpio <the second> | cpio
Now you have everything laid out in /tmp/sumware %build is a noop. %install rearranges the the binaries to suit your taste.
Don't forget to adapt and mutilate the above using the appropriate rpm macroes and/or variables.
I guess the sources are the initial rpms.
Of course, I may well have misunderstood your question. If you're starting with two different sourc rpms the answer's quite different, likely more complex and reads, "It depends."
Note the above technique works (with minor mods) starting with tarballs, starting with an rpm that you want to change a little (but watch the gpm if you redistribute!), starting with an rpm for Some Other Distribution (you might wish to move stuff from /opt or change placement of some files to conform more closely to One True Way[tm]. It also works starting with Debian packages.
In some cases you will need to fiddle with deps.
Thanks, John. Cannot one find a program to do all that procedure automatically?
Paul
Paul Smith wrote:
Thanks, John. Cannot one find a program to do all that procedure automatically?
Paul
One of the other distros might have something. AFAIK we don't.
On 1/5/06, Paul Howarth paul@city-fan.org wrote:
Is there some way of merging two rpms into a single one?
Just curious, but why would you want to do this?
I agree, Paul, that my question may sound somewhat heterodox. However, the idea came to me when I tried to create a rpm of the last version of tovid:
To create the rpm of the main part of tovid, I followed the usual procedure (configure --> make --> checkinstall), but there was another part of tovid, written in python, that I had to install too. The creation of the respective rpm (of that second part of tovid) had to follow a different procedure (specific to software written in python). Then I thought that it would be convenient to have the whole tovid in a single rpm, which motivated my question.
Paul
Paul Smith wrote:
On 1/5/06, Paul Howarth paul@city-fan.org wrote:
Is there some way of merging two rpms into a single one?
Just curious, but why would you want to do this?
I agree, Paul, that my question may sound somewhat heterodox. However, the idea came to me when I tried to create a rpm of the last version of tovid:
To create the rpm of the main part of tovid, I followed the usual procedure (configure --> make --> checkinstall), but there was another part of tovid, written in python, that I had to install too. The creation of the respective rpm (of that second part of tovid) had to follow a different procedure (specific to software written in python). Then I thought that it would be convenient to have the whole tovid in a single rpm, which motivated my question.
Given that the whole thing is architecture-independent (it's all done in scripting languages, calling up other tools), there's no reason why it shouldn't all be in the same package, and the presence of SUSE RPM packages linked from the project's website confirms this. I'm not sure why the presence of python bits should be a problem for checkinstall, not being a checkinstall user, but a hand-crafted RPM containing everything should certainly be possible.
Paul.
On 1/5/06, Paul Howarth paul@city-fan.org wrote:
Is there some way of merging two rpms into a single one?
Just curious, but why would you want to do this?
I agree, Paul, that my question may sound somewhat heterodox. However, the idea came to me when I tried to create a rpm of the last version of tovid:
To create the rpm of the main part of tovid, I followed the usual procedure (configure --> make --> checkinstall), but there was another part of tovid, written in python, that I had to install too. The creation of the respective rpm (of that second part of tovid) had to follow a different procedure (specific to software written in python). Then I thought that it would be convenient to have the whole tovid in a single rpm, which motivated my question.
Given that the whole thing is architecture-independent (it's all done in scripting languages, calling up other tools), there's no reason why it shouldn't all be in the same package, and the presence of SUSE RPM packages linked from the project's website confirms this. I'm not sure why the presence of python bits should be a problem for checkinstall, not being a checkinstall user, but a hand-crafted RPM containing everything should certainly be possible.
As they say at their site:
«The installation files will go into a subdirectory tovid-0.23 within the current directory. Next, do the following:
$ cd ~/Downloads/tovid-0.23 $ ./configure $ su -c 'make install' $ su -c './setup.py install' »
As far as know, checkinstall has not implemented the last (above) command. The Suse rpms that you mention are too old (version 0.19, whereas the current one is 0.24).
Paul
Paul Howarth wrote:
Paul Smith wrote:
On 1/5/06, Paul Howarth paul@city-fan.org wrote:
Is there some way of merging two rpms into a single one?
Just curious, but why would you want to do this?
I agree, Paul, that my question may sound somewhat heterodox. However, the idea came to me when I tried to create a rpm of the last version of tovid:
To create the rpm of the main part of tovid, I followed the usual procedure (configure --> make --> checkinstall), but there was another part of tovid, written in python, that I had to install too. The creation of the respective rpm (of that second part of tovid) had to follow a different procedure (specific to software written in python). Then I thought that it would be convenient to have the whole tovid in a single rpm, which motivated my question.
Given that the whole thing is architecture-independent (it's all done in scripting languages, calling up other tools), there's no reason why it shouldn't all be in the same package, and the presence of SUSE RPM packages linked from the project's website confirms this. I'm not sure why the presence of python bits should be a problem for checkinstall, not being a checkinstall user, but a hand-crafted RPM containing everything should certainly be possible.
Paul.
Agree, you can do all the special stuff in the Makefile, and keep the spec file very simple.
Tim
On 1/6/06, Tim Lauridsen tla-ml@rasmil.dk wrote:
Is there some way of merging two rpms into a single one?
Just curious, but why would you want to do this?
I agree, Paul, that my question may sound somewhat heterodox. However, the idea came to me when I tried to create a rpm of the last version of tovid:
To create the rpm of the main part of tovid, I followed the usual procedure (configure --> make --> checkinstall), but there was another part of tovid, written in python, that I had to install too. The creation of the respective rpm (of that second part of tovid) had to follow a different procedure (specific to software written in python). Then I thought that it would be convenient to have the whole tovid in a single rpm, which motivated my question.
Given that the whole thing is architecture-independent (it's all done in scripting languages, calling up other tools), there's no reason why it shouldn't all be in the same package, and the presence of SUSE RPM packages linked from the project's website confirms this. I'm not sure why the presence of python bits should be a problem for checkinstall, not being a checkinstall user, but a hand-crafted RPM containing everything should certainly be possible.
Agree, you can do all the special stuff in the Makefile, and keep the spec file very simple.
Thanks, Tim. That is too complicate to me, and I can survive well with two rpms instead of a single one.
Paul