Hi Doug > The %{buildroot} directory is just a temporary location during an > rpmbuild for storing files which will end up in the final RPM. > > It's the %files step which indicates which files are included in the RPM > and > where they will be installed to.
Ok, but in this case how is it possible to know what will be installed where ? Moreover, since I use the sources RPM of GPT, I think there should be somewhere something which tells the system what to do to install the software. It's not a "simple copy and paste". > You might want to see the RPM-Howto to see which sections of a RPM SPEC > file have an impact on the RPM building process and which have an impact > on > the final RPM when it is actually installed, see: > > http://www.rpm.org/RPM-HOWTO/ Thanks a lot for the link. I was working using quite the same ( http://www.fedora.redhat.com/participate/developers-guide/ch-rpm-building.html ) but I still don't understand exactly how the RPM knows what to do when asked to install. Does RPM automatically copy everything from %{buildroot} to the files in the %files part ? For my first installation of AccessGrid I have just installed everything in the directory told by %files but I would like to understand RPM better to be sure the script I'm working on will work on every PC. > I don't know much about Debian's alien, perhaps it was designed mostly > for binary RPMs rather than SRC-RPMs? In fact I use it just as a way to open the file.src.rpm and then get a file.tgz and a file.spec. Just to be clear, let's see an example (I hope you don't mind it...). The lines concerning the installation in gpt.spc are : %define name gpt %define version 1.0 %define prefix /usr/lib/%{name} %define buildroot /var/tmp/%{name}-%{version} %prep %setup [ -n "%{buildroot}" -a "%{buildroot}" != / ] && rm -rf %{buildroot} %build export GPT_LOCATION=%{buildroot}%{prefix} ./build_gpt %files %defattr(-,root,root) /usr/lib/gpt %post cat <<EOF > /etc/profile.d/gpt.sh #!/bin/sh GPT_LOCATION=%{prefix} export GPT_LOCATION EOF cat <<EOF > /etc/profile.d/gpt.csh #!/bin/csh setenv GPT_LOCATION %{prefix} EOF chmod 0755 /etc/profile.d/gpt.* I see nothing which says or does install GPT in the prefix location... And this is what I'm would like to understand ! I have read the how-to but I still don't understand... :$ Thanks a lot for your help ! Cheers, Joseph