You are here

MSYS Portable 1.10.11 Development Test 1

10 posts / 0 new
Last post
pmwheatley
Offline
Last seen: 12 years 5 months ago
Joined: 2011-12-12 14:48
MSYS Portable 1.10.11 Development Test 1

Application: MSYS
Category: Development
Description: MSYS is a collection of GNU utilities such as bash, make, gawk and grep to allow building of applications and programs which depend on traditionally UNIX tools to be present. It is intended to supplement MinGW and the deficiencies of the cmd shell.

Download MSYS Portable 1.10.11 Development Test 1 [2.2MB download / 7.9MB installed]
(MD5: c9beae38b30a3a774608488dc89dd8be)

Release Notes:

Development Test 1 (2011-12-12): Initial release

pmwheatley
Offline
Last seen: 12 years 5 months ago
Joined: 2011-12-12 14:48
Development Test 1 - Details

Hey guys,

First of all, I hope I'm not stepping on anybody's toes by releasing this. I will post on the 2 other projects which I believe to be most related to this, and hope those guys can comment and perhaps contribute some helpful information along the way.

For those interested, this is a package that I developed for my personal use after discovering sar3th's MinGW release. It is currently integrating well with MinGW on both systems I have access to at the moment.

Some problems I had putting this together (hopefully someone will be able to shed some light on these, or suggest alternative solutions).

  • Creating correct (i.e. portable) directory entries in /etc/fstab (specifically for the location of MinGW). My solution to this was to create a custom.nsh script to scan the /Data/settings directory for an fstab file and relocate it to /App/MSYS/etc. If no relevant file was found then a 'default' would be copied containing the default location for MinGW (i.e. /CommonFiles/MinGW). I could not find a way to locate MinGW under non-standard installations (i.e. when MinGW is not installed under the default X:\PortableApps\CommonFiles) using the standard launcher.ini (tried all sorts of different techniques, but in the end it came down to copying a 'default' fstab into place if a custom one wasn't found.
  • Deciding where (and indeed what) to include in fstab. My instinctive idea, and the one I went with in the end (to limit writing to the Data directory) was to mount /Data/home and /Data/usr/local as the relevant /home and /usr/local directories within MSYS. As far as I could gather these two alone are sufficient for most purposes (and the MinGW directory is mounted in the case of necessary library installs etc.) What do you guys think?
  • Choosing the current /home/user directory. I found that using MSYS as it was in different environments would create a /home directory based on whichever user was currently logged in on the PC (which may or may not be the same ID on different computers) and resulted in creating many different /home folders and losing access to others depending on which user was logged in. I 'remedied' this by setting $HOME="user" in /App/MSYS/etc/profile. While this has it's limitations (only a single /home directory) it did solve the problem of multiple inaccessible /home directories. Any thoughts, or alternative solutions to this?

Sorry for the massive post guys, I'm new to these forums, and don't want to fall into the trap of providing little and/or irrelevant information. As mentioned earlier, as far as I can tell, this package is drive/folder independent (the only requirement being that /CommonFiles/MinGW is located in the parent directory - although this won't break the program, just mean there will be no access to MinGW), and integrates fine with sar3th's MinGW package (I have successfully compiled OpenTTD and it's dependencies :), and could be set to use a different location by creating /Data/settings/fstab).

If I have stepped on anybody's toes by posting this I apologize in advance, and hope that if that is the case, you will understand a naive young portableapper excited about a project that (finally) seems to be working.

Guys, please download and test, and play around and try to break it, and let me know your results.

Cheers

pmwheatley
Offline
Last seen: 12 years 5 months ago
Joined: 2011-12-12 14:48
Just had a sudden face-palm

Just had a sudden face-palm moment when I realized that handling the /etc/fstab through an NSIS script will cause problems when running MSYS through Console Portable or Command Prompt Portable. Will rethink this and possibly reimplement it through msys.bat. That was my original method using variables passed from launcher.ini but can't remember why I changed it now (something to do with the PortableApps.com File Format Specifications, I think)... hmm.

Will have another look at it tomorrow.

sar3th
sar3th's picture
Offline
Last seen: 10 years 10 months ago
Joined: 2009-02-13 03:57
Re: Development Test 1

Hi pmwheatley,
so here's the promised feedback on your release (apologies for the wall of text, it's a bit longer than I originally intended it to be):
Creating correct (i.e. portable) directory entries in /etc/fstab (specifically for the location of MinGW).
You're indeed right, this is the main work that has to be done by a MSYS Portable launcher. One problem is that the file has LF-endings, which i solved in my previous attempts by writing a custom launcher from scratch.
Today, my suggestion is to code a small launcher that updates the fstab and call that before doing anything else. This is somewhat related to the next point.
Deciding where (and indeed what) to include in fstab
Ideally, your launcher should detect MinGW Portable in CommonFiles. If the user for some reason has decided to install it somewhere else, he will need to edit fstab manually. To help the user, I suggest to parse fstab for the old drive letter (save it in an ini-file to remember) and replace all occurrences of it with the new drive letter (i.e. replace all instances of X:\ with G:\ if X is last letter and G is the current one - you get the idea). This will take care of all mount points, including custom ones. If you like to automatically mount something, you just need to include it in the default values and the launcher will take good care of it, while the user still can change it if he likes and it won't be broken by the launcher Smile
Choosing the current /home/user directory
I 'remedied' this by setting $HOME="user" in /App/MSYS/etc/profile.
This is exactly what I did as well, and what I believe is the best thing to do. After all, this is a PortableApp, so you don't want your home directory to change on every machine you log on. If somebody really wants that, he can undo the change in the profile file.
Sorry for the massive post guys, I'm new to these forums, and don't want to fall into the trap of providing little and/or irrelevant information.
Welcome to the forums! Smile Your post saved me from downloading your app before posting suggestions Biggrin

The package itself seems to have some issues. I checked the MD5 to be sure that the download worked correctly. Some of your files are 0 Bytes in size, not sure why...

  • App\Readme.txt
  • help.html
  • Other\*

MSYS itself started properly. It seems to be working as it should Smile

mfidler
Offline
Last seen: 12 years 3 months ago
Joined: 2010-01-14 12:13
I noticed some issues:

I noticed some issues:

  • The fstab is not copied to the data directory upon start, and it is not updated with the new drive
  • mingw-get install still installs to CommonFiles\MinGW\msys\1.0
mfidler
Offline
Last seen: 12 years 3 months ago
Joined: 2010-01-14 12:13
I have fixed these issues.

I have fixed these issues. The code is at:

https://github.com/mlf176f2/msysPortable

The downloads are at:

http://code.google.com/p/msys-portable/downloads/list

Note that the Launcher is generated from PortableApps Launcher, like the original.

tal
Offline
Last seen: 1 year 8 months ago
Developer
Joined: 2009-08-07 07:34
Thanks!

could you open a new thread at beta section,
and publish your files?

Thanks,
Tal.

mfidler
Offline
Last seen: 12 years 3 months ago
Joined: 2010-01-14 12:13
The Files are already

The Files are already published at:

http://code.google.com/p/msys-portable/downloads/list

A direct download is located at:

http://msys-portable.googlecode.com/files/MSYSPortable-Installer-0.01.exe

It requires MinGW

The beta page is published here.

https://portableapps.com/node/32295

gluxon
gluxon's picture
Offline
Last seen: 4 years 2 months ago
Developer
Joined: 2008-06-21 19:26
pmwheatley, are you still

pmwheatley, are you still supporting this?

tal
Offline
Last seen: 1 year 8 months ago
Developer
Joined: 2009-08-07 07:34
Hi

Do you have a time to support MinGW or MSYS?

Log in or register to post comments