Chrome, Truecrypt, compat32, wine and dependencies

Post links to your 64bit module repos here. Repo maintainers are responsible for resolving any issues caused by their xzm's.
maverick
White ninja
White ninja
Posts: 15
Joined: 29 Nov 2011, 16:08
Location: The Great North

Chrome, Truecrypt, compat32, wine and dependencies

Post#1 by maverick » 10 Jan 2012, 16:21

Hello everyone,

I just finished creating and testing my first set of modules. I elected to place small dependencies (less than 10% of the main program size) within the module itself in order to keep things simple for new users (I remember struggling with dependencies not too long ago). True to the Porteus spirit, each of these modules should run without any problem on a fresh Porteus 1.1 install simply by adding it to the modules folder or by adding it to the optional folder and then double clicking it after running Porteus. Only in the case of wine I kept the compat32 libraries in a separate module (but that should still be much easier to install than compiling the alien multilib libraries from scratch). Without further ado, you can find my modules at:

http://www.mediafire.com/?29l9t16ava2xv

I am not sure when this link will expire so I hope that one of you who maintains a proper repository will copy my files to it. The modules available are:

google-chrome-16.0.912.63-x86_64-1sl.xzm (30 mb) - includes all dependencies resolved through slackyd
truecrypt-7.0a-x86_64-1sl.xzm (8 mb) - includes all dependencies resolved through slackyd + sudo with a modification of /etc/sudoers allowing the guest user to sudo provided they know the root password
compat32-libraries-1.1.02_13.37-x86_64-1sl.xzm (48 mb)
wine-1.3.36-i486-1sg.xzm (16 mb) - depends on compat32-libraries
winetricks-20110614-i686-1sl.xzm (124 kb) - depends on wine

For any of you who are curious, here is my step-by-step process of creating these modules after booting Porteus in Always Fresh mode with all non-base modules disabled (by moving them to the optional folder or using noload=module_name at the boot screen):

Code: Select all

su # then enter root password
slackyd -u
cd /var/slackyd
rm -R tmp/
rm *.txz
pkgname=my_package_name # change this to the name of the package you are looking for such as 'chrome' or 'truecrypt'
slackyd -g $pkgname
installpkg --root tmp/ *.txz
dir2xzm tmp/ $pkgname.xzm
mv $pkgname.xzm /mnt/sdb1/porteus/optional/ # change this to wherever your porteus files are located
In the case of Truecrypt, I only discovered that sudo was required after running it so I downloaded it, installed it to the /var/slackyd/tmp folder, and modified /etc/sudoers before running the dir2xzm command. wine and winetricks were not available in slackyd but they were easy enough to find as .txz files and convert to .xzm, after which I ran slackyd to discover that the compat32-libraries dependency was missing.

Porteus gurus, please let me know if you have any feedback or suggestions regarding my approach. For the rest of you, I hope this helps!

Maverick

User avatar
fanthom
Moderator Team
Moderator Team
Posts: 5666
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Re: Chrome, Truecrypt, compat32, wine and dependencies

Post#2 by fanthom » 12 Jan 2012, 09:03

Hello maverick,

thanks for your submission :)
just to let you know that Truecrypt and Chrome are available in the official 64bit repo and accessible through PPM.
i'm not sure if i should add compat32 there as it may confuse PPM dependency handling system (many 32bit libs inside) so it's good to have it in external repo.

Cheers

EDIT:\\
compat32 is also in the repo now :)
Please add [Solved] to your thread title if the solution was found.

maverick
White ninja
White ninja
Posts: 15
Joined: 29 Nov 2011, 16:08
Location: The Great North

Re: Chrome, Truecrypt, compat32, wine and dependencies

Post#3 by maverick » 13 Jan 2012, 05:23

Hi fanthom,

Thanks for letting me know. I created the modules on Porteus 1.1 RC2 before the new version of PPM became available; I must say that the new version is a huge improvement and I will probably be using it to install new modules in the future. Nice job Brokenmann!

Unfortunately, I tried downloading Chrome through PPM as a test and while it did resolve all dependencies, there was still a permissions issue it didn't take care of which led to the following error message when running Chrome: "You need to make sure that /opt/google/chrome/chrome-sandbox is owned by root and has mode 4755."

As far as Truecrypt is concerned, again all dependencies were resolved except for sudo, which not only needs to be installed (unless Truecrypt is run as root but in that case the mounted volume would only be accessible by root), but also /etc/sudoers needs to be modified to allow all users to run sudo as long as they know the root password.

I am not sure if it is the job of a package manager to deal with such issues but it would certainly be nice if everything just worked! Both problems are resolved in my modules but I wouldn't know how to automate the process in order to include it in PPM.

Maverick

User avatar
fanthom
Moderator Team
Moderator Team
Posts: 5666
Joined: 28 Dec 2010, 02:42
Distribution: Porteus Kiosk
Location: Poland
Contact:

Re: Chrome, Truecrypt, compat32, wine and dependencies

Post#4 by fanthom » 13 Jan 2012, 08:36

1) i have fixed chrome issue and uploaded new version to the server:
http://ponce.cc/porteus/x86_64/modules/ChangeLog.txt

2) PPM is able to discover direct binary dependencies only (tracable by `ldd executable/library`) so if sudo is a functional dependency for Truecrypt then it wont be resolved by PPM.
However - i have asked brokenman for adding an exception to LIBS.TXT which will allow us to insert non-binary deps manually (pain in the ass but i have an idea how to do it in semi-automatic way). this will be implemented in near future and i'll be able to add some python apps to the repo (PPM will also download sudo for Truecrypt, etc..).

3) despite of fact that PPM will download sudo for Truecrypt (in the future) i'm going to refuse modifying /etc/sudoers by default. users can have different setups and non standard config may be dangerous in some cases.

you could write a "Porteus Truecrypt" HOWTO and describe all steps: downloading TC, sudo (could be through PPM), modifying /etc/sudoers, etc... necessary to get TC working in Porteus.

Cheers

EDIT:\\
i had to remove compat32 package fromofficial repo as it was confusing PPM a bit (32bit libraries included in compat32 package were offered as 64bit ones).
please keep it in your repo.
Please add [Solved] to your thread title if the solution was found.

Post Reply