Discussion:
Building as a root but the files should be added in /home/user
(too old to reply)
CSUIDL PROGRAMMEr
2008-06-25 21:24:19 UTC
Permalink
Hello,
I am trying to create a rpm package of a software that installs on /
home/user directory.

I am thinking how can i get the %install section to install on user
home directory on any system.

Is this workable.

Let me know

thanks
Gilles Allard
2008-06-27 07:05:42 UTC
Permalink
Post by CSUIDL PROGRAMMEr
Hello,
I am trying to create a rpm package of a software that installs on /
home/user directory.
I am thinking how can i get the %install section to install on user
home directory on any system.
Is this workable.
Hello
If the target directory is the same ( i.e. /home/user ) on every system, I
suggest that, in the "%install" step after "make ... install", you move the
created directory ( let's assume /usr ) to "/home/user" through a set of
Shell commands such as :
mkdir -p %{buildroot}/home/user
pushd %{buildroot}/usr
cp -R . %{buildroot}/home/user
popd
or, for example :
tar -C %{buildroot}/usr -cf - . | tar -C %{buildroot}/home/user -cf
-

But, if the "user" must be different ( or for different users on different
systems ) I think that the best way to do what you wish is to "relocate"
the installed package adding the "--relocate" flag to the "rpm --install"
command. That is ( using the above examples ) :

rpm --relocate /usr=/home/$USER --install <my_package>

This is because the scripts included in the package are for post ( or pre )
install ( or uninstall ) and the directories in which the files are
installed are "hardcoded"

Hope this will help a bit. Let me know.
CSUIDL PROGRAMMEr
2008-07-07 17:15:42 UTC
Permalink
thanks for the suggestion
I did that i am getting the following error while building the rpm

+ cd ..
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip
+ /usr/lib/rpm/brp-strip-static-archive
+ /usr/lib/rpm/brp-strip-comment-note
error: Bad owner/group: /root/ajboinic/SPECS/boinc.spec
error: Bad file: /root/ajboinic/SOURCES/boinc_INSTALL.patch: No such
file or directory
error: Bad owner/group: /root/ajboinic/SOURCES/boinc_path.sh
error: Bad owner/group: /root/ajboinic/SOURCES/
boinc_client_ps3grid.tgz


RPM build errors:
Bad owner/group: /root/ajboinic/SPECS/boinc.spec
Bad file: /root/ajboinic/SOURCES/boinc_INSTALL.patch: No such file
or directory
Bad owner/group: /root/ajboinic/SOURCES/boinc_path.sh
Bad owner/group: /root/ajboinic/SOURCES/boinc_client_ps3grid.tgz

Agreed i am building as a root, but thats the way i can install the
packages in all available user home directories.

Any suggestion what might be doing wrong.
Post by Gilles Allard
Post by CSUIDL PROGRAMMEr
Hello,
I am trying to create a rpm package of a software that installs on /
home/user directory.
I am thinking how can i get the %install section to install on user
home directory on any system.
Is this workable.
Hello
If the target directory is the same ( i.e. /home/user ) on every system, I
suggest that, in the "%install" step after "make ... install", you move the
created directory ( let's assume /usr ) to "/home/user" through a set of
mkdir -p %{buildroot}/home/user
pushd %{buildroot}/usr
cp -R . %{buildroot}/home/user
popd
tar -C %{buildroot}/usr -cf - . | tar -C %{buildroot}/home/user -cf
-
But, if the "user" must be different ( or for different users on different
systems ) I think that the best way to do what you wish is to "relocate"
the installed package adding the "--relocate" flag to the "rpm --install"
rpm --relocate /usr=/home/$USER --install <my_package>
This is because the scripts included in the package are for post ( or pre )
install ( or uninstall ) and the directories in which the files are
installed are "hardcoded"
Hope this will help a bit. Let me know.
Loading...