rpm building - 3rd take

Place to discuss Fedora and/or Red Hat

rpm building - 3rd take

Postby Ice9 » Mon Apr 05, 2004 3:25 am

I want to make an rpm for acidrip.
I have all the necessary complementary libraries installed, everything is cool.
I do $ perl Makefile.PL, $ make, and all is well.
But when I try to install in a temporary directory (in my case /home/user_id/Install, I get
Code: Select all
Warning: You do not have permissions to install into /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi at /usr/lib/perl5/5.8.0/ExtUtils/Install.pm line 84.
mkdir /usr/lib/perl5/site_perl/5.8.0/AcidRip: Permission denied at /usr/lib/perl5/5.8.0/ExtUtils/Install.pm line 137
make: *** [pure_site_install] Error 255


I tried:
make install prefix=/home/user_id/Install
make install DESTDIR=/home/user_id/Install
make install ROOT=/home/user_id/Install

Is there any other way to make it install in a temp location and not touch any system directories?
Ice9
guru
guru
 
Posts: 577
Joined: Thu Jan 09, 2003 12:40 am
Location: Belgium

Postby ZiaTioN » Mon Apr 05, 2004 8:07 am

Sidenote:
I would like to feature your program on my perlskripts.com site if you do not have a problem with it. I have not checked out the source yet but will later.
ZiaTioN
administrator
administrator
 
Posts: 460
Joined: Tue Apr 08, 2003 3:28 pm

Postby Ice9 » Mon Apr 05, 2004 8:15 am

Erm .... what program are you tallking about? :)
If you're talking about acidrip, it's not my program (I wish I had the skills to write something like that!!!!).
acid_kewpie@users.sourceforge.net is the one you should ask about this.
Ice9
guru
guru
 
Posts: 577
Joined: Thu Jan 09, 2003 12:40 am
Location: Belgium


Postby Ice9 » Tue Apr 06, 2004 1:29 am

A little :P
But on a sidenote, did you install the program in a temporary location, and how do you force that when it doesn't work?

Thing is I really wanna learn how to build the packages and handle unexpected situations and I feel I'm still lacking some general knowledge (like the question I asked above).
I still very often find myself in situations where I kinda know what to do but not 100%, so when anything doesn't work like it's supposed to I'm stuck.

All that said, thank you, I'll have a closer look at your spec files, they look pretty different from what I saw until now. :D
Ice9
guru
guru
 
Posts: 577
Joined: Thu Jan 09, 2003 12:40 am
Location: Belgium

Postby Void Main » Tue Apr 06, 2004 1:52 am

There was a spec file inclued with the tar.gz file, however, it didn't work for me without some tweaks. If it makes you feel any better, I don't know what I am doing either. :) I just look at the error messages and try and resolve them one at a time. It took me a little while but I finally figured out all the issues. I didn't write anything down so it may be lost forever. :) Oh, and I didn't do anything special about a special build area. It built properly in the BUILD root where the spec file tells it to. Just as an FYI, I don't even unbundle the tar.gz file. I just create the spec and let it do all the unpacking and building when I run the rpmbuild -ba blah.spec.
User avatar
Void Main
Site Admin
Site Admin
 
Posts: 5705
Joined: Wed Jan 08, 2003 5:24 am
Location: Tuxville, USA

Postby Ice9 » Tue Apr 06, 2004 2:24 am

Oh, so it's actually unnecessary to do ./configure, make, make install before you start building an rpm?
I thought you had to for all the files to be found and packaged, this is why I tried to install it in a temp location.
And that failed because it wanted to install stuff in /usr/perl or something like that ...
Ice9
guru
guru
 
Posts: 577
Joined: Thu Jan 09, 2003 12:40 am
Location: Belgium

Postby Void Main » Tue Apr 06, 2004 2:46 am

Correct, you don't have to do that. Just put the source RPM in the SOURCES directory and if you have the spec right it will unpackage and build the RPM with no further action. I build all my RPMS this way, and I *always* do it under my voidmain username rather than root, which means it *must* be built in a temporary location as my userID does not have permission to install into system directories. Of course when you have the RPM built and ready to install, then you will install it using the root account of course.
User avatar
Void Main
Site Admin
Site Admin
 
Posts: 5705
Joined: Wed Jan 08, 2003 5:24 am
Location: Tuxville, USA

Postby Griffin518 » Thu Apr 08, 2004 7:13 am

Correct me if I'm wrong, but you could also run

Code: Select all
rpmbuild --rebuild <pkg.src.rpm> --target=<processor architecture... i386, athlon, etc>


It'll compile a binary rpm from the source rpm, and (if it's an RH based distro) throw it in /usr/src/redhat/RPMS/<architecture>.

You'll need to be root to run it (I think), which is not as nice as void's way of doing it... but whatever works.

-Griffin-
Griffin518
user
user
 
Posts: 38
Joined: Tue Apr 06, 2004 8:43 pm


Return to Fedora/Red Hat

Who is online

Users browsing this forum: No registered users and 0 guests

cron