Forcing an installer to install in a certain sub directory
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Forcing an installer to install in a certain sub directory
Hey all,
I'm trying to create a package for the new version of the VMWare View PCoIP client. VMWare provides a installer which seems to have the locations (/usr/bin /usr/share ...) hardcoded or at least there is no documented way to specify the installation directory.
Now my question: Is there a tool or a way to force it to install to a certain directory which I then can use to create my package?
This was my first thought, too. But for some reason I can't get it to work. Maybe I'm too stupid for that, but I ran into the following problem:
One way is to copy my full base system to the directory I want to chroot to. This gives the installer all the dependencies it needs. But that's not practical because to build a package I need to remove them again afterwards and for a SlackBuild script basically copying the whole system is way overblown. I'm trying to find an easier way.
So I tryed to run to get chroot to run the installer in an empty directory, but this doesn't work. That's what I get:
Code:
# chroot /tmp/chroot ./VMware-Horizon-Client-3.2.0-2331566.x86.bundle
chroot: failed to run command ‘./VMware-Horizon-Client-3.2.0-2331566.x86.bundle’: No such file or directory
The man page for chroot is very concise and doesn't really help.
The installer runs just fine without chroot. So it's not a 32 vs. 64bit problem. (The installer is a shell script with some binary data attached anyway.)
Extract the files out of the tar archive found within the self-installer
Code:
mkdir VMware-Horizon-Client-3.2.0-2331566.x86
sed '1,/^exit$/d' VMware-Horizon-Client-3.2.0-2331566.x86.bundle | gzip -qd | tar x -C VMware-Horizon-Client-3.2.0-2331566.x86
This will leave you will all the files in the "VMware-Horizon-Client-3.2.0-2331566.x86" directory. Now make your own installer!
Extract the files out of the tar archive found within the self-installer
Code:
mkdir VMware-Horizon-Client-3.2.0-2331566.x86
sed '1,/^exit$/d' VMware-Horizon-Client-3.2.0-2331566.x86.bundle | gzip -qd | tar x -C VMware-Horizon-Client-3.2.0-2331566.x86
This will leave you will all the files in the "VMware-Horizon-Client-3.2.0-2331566.x86" directory. Now make your own installer!
This is even integrated in the script and can be done via
Code:
VMware-Horizon-Client-3.2.0-2331566.x86 -x DIR
But I wasn't able to figure out what I had to do to register a component with a install, just copying the files doesn't seem to do it. But maybe I really should dig into the script as you said. Guess there is no way around this.
This was my first thought, too. But for some reason I can't get it to work. Maybe I'm too stupid for that, but I ran into the following problem:
One way is to copy my full base system to the directory I want to chroot to. This gives the installer all the dependencies it needs. But that's not practical because to build a package I need to remove them again afterwards and for a SlackBuild script basically copying the whole system is way overblown. I'm trying to find an easier way.
So I tryed to run to get chroot to run the installer in an empty directory, but this doesn't work. That's what I get:
Code:
# chroot /tmp/chroot ./VMware-Horizon-Client-3.2.0-2331566.x86.bundle
chroot: failed to run command ‘./VMware-Horizon-Client-3.2.0-2331566.x86.bundle’: No such file or directory
The man page for chroot is very concise and doesn't really help.
The installer runs just fine without chroot. So it's not a 32 vs. 64bit problem. (The installer is a shell script with some binary data attached anyway.)
Now that I've thought about it, chroot won't work here. The chroot environment won't point to any executables, like /bin/bash.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.