jtwdyp wrote:The fc15 one appeared to have a slightly higher version so I started there. When I got to the:
- Code: Select all
rpmbuild --rebuild amoebax-0.2.0-7.fc15.src.rpm
step however the process exited with
- Code: Select all
RPM build errors:
amoebax-0.2.0-7.fc15.src.rpm: Header V3 RSA/SHA256 Signature, key ID a82ba4b7: NOKEY
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
File not found: /home/jtwdyp/rpm/BUILDROOT/amoebax-0.2.0-7.fc15.x86_64/usr/share/man/man6/amoebax.6.gz
And didn't write an rebuilt rpm... I think it must have choked on the fact that Mageia created instead an:
- Code: Select all
/home/jtwdyp/rpm/BUILDROOT/amoebax-0.2.0-7.fc15.x86_64/usr/share/man/man6/amoebax.6.xz
And I have no idea how I could have fixed that...
Well, this is a tricky bit - By default mageia uses .xz compression for manpages (and other stuff)
so if a package includes manpages, they will be automatically be compressed with that.
And if a packages uses complete filenames, and not using wildcards, you will end up with such an error,
as the complete path/filename are hardcoded.
Such problems can only be fixed by installing the src.rpm with rpm -ihv as normal user,
it will be extracted into /home/username/rpmbuild as mentioned previously briefly,
and you would need to edit the .SPEC file to adjust for the new filename.
But rather easy change ...
The ROSA packages uses
- Code: Select all
%{_mandir}/man6/%{name}.6.*
and your fedora package probably uses
- Code: Select all
%{_mandir}/man6/%{name}.6.gz
for the manpage.
Exchange the latter with the former,
rpmbuild -ba amoebax.spec and you're done.
FWIW, if you want to know to what those % macros expand, use rpm --eval on the macro (short form is rpm -E, that's a capital e, not to be confused with -e

)
- Code: Select all
[doktor5000@Mageia3 ~]$ rpm -E %{_mandir}
/usr/share/man
jtwdyp wrote:I'm still not sure if I want to use "rpm -i $rpmPathname" or "urpmi $rpmPathname" to actually install it. But I doubt it matters much.
That's quite an easy question, as the latter uses the former. With the addition that urpmi does dependency resolution,
and downloads other required packages automatically, rpm doesn't do this and just tells you what else is missing,
you've got to query and install all Requires manually.
So best always use urpmi, be it on local rpm files or for package management.
FWIW, another dirty trick, related to buildrequires installation - partly inherited from rpm (rpm also has downloaders for all protocols builtin)
You can use urpmi --buildrequires on some remote package, and it will fetch you all the buildrequires, but leave the src.rpm alone - so you can save yourself the download.
If you only want to rebuild a src.rpm, that's quite useless, but really useful if you want to compile something that comes as a tarball.