Makeself: Make self-extractable archives on Unix
stephanepeter.com
stephanepeter.com
It came as a shar. I was dumbfounded for a moment as I had never heard of a shell archive. pretty cool tech actually. I've been into UNIX and such for over five years and had never even come across one. Also came across Generic Window Manager during that time as well, which I had never heard of before. Further reading: [1] and [2].
[0]: ftp://freefriends.org/arnold/Source/
[1]: ftp://ftp.x.org/contrib/window_managers/gwm/
It's written from the point of view of "I invented this neat idea of producing a self-extracting archive that is a shell script".
The opening paragraph desperately needs a sentence which begins like this: "This is similar to the traditional shar that we all know about, but better because ...".
I guess if the answer is anywhere, it'll be on Usenet, but Google Groups' search-by-date functionality is hopelessly broken.
I've run into it when I used to install Virtualbox "Guest Additions" or whenever I'd make the questionable decision to use the latest video drivers during my annual dalliance with desktop Linux a decade ago.
The value it provides is fewer steps in an installation guide for non-power users (or as jakobdabo mentions below, particularly for users coming from the Windows "double click to install" world). It would extract and run a post extract hook. I haven't come across it much in the last few years though.
(For installing non-executable material, it does elevate the risk.)
The thing is, that ship has largely sailed, with the proliferation of package management that prompts you for a password to go sudo.
sudo apt-get install whatever # trust your distro
sudo ./foo.run # trust foo.run's publisher, a bit worse
> * A shell script just does whatever it wants, making it potentially surprising/destructive and difficult to clean up.*Just like Windows installers---which is why we need utilities like Revo Uninstaller. This lets us run the application's uninstaller first, then scan the entire filesystem and registry for what looks like bits and pieces that might belong to that program, and let the user select which of them to blow off. I use it quite a bit.
if the system has a tmpfs/ramdisk mount, it can also extract itself there, and have a no HDD deployment, which can dramatically speed things up too.
diff -Naur dummy my_project >xx
patch -p0 <xx