Creating Self-Extracting sources files
The idea is pretty simple : Embed all your tgz's below a place holder and count the lines to get each tgz and pipe tail and tar to extract them to required folder.
Steps
Step I Make a tgz file with all the source you have
Assuming we call the folder to be source, so the compressed file must be source.tgz and the source might contain any extractable files, even simple shell scripts.
Lets assume that our source folder has a build.sh script which takes care of installing each and every source.
Step 2 Make an extractor script as below
#!/bin/bash
#Author : Hemanth
echo ""
echo "Self Extracting Files"
echo ""
echo ""
echo "Extracting file into `pwd`/source"
#Count for source list
COUNT=`awk '/^__SOURCE__/ { print NR + 1; exit 0; }' $0`
#The current file
FILE=`pwd`/$0
# take the tarfile and pipe it into tar
tail -n+$COUNT $FILE | tar -xz
echo "Finished"
cd sources
#build.sh to build and install the sources as per your need
./build.sh
#Remove the source folder
cd .. ; rm -rf sources
exit 0
__SOURCE__
</b>
Step 3 Final move
Make the file ready, that is embed the tgz below the extractor.sh
cat source.tgz extractor.sh > install.sh
That's it run the install.sh to do whatever its intended to do
Recent blog posts
- watir-webdriver web inspector
- gem list to gemfile
- Packing ruby2.0 on debian.
- Made it into The Guinness Book!
- to_h in ruby 2.0
- Filter elements by pattern jQuery.
- Better HTML password fields for mobile ?
- Grayscale image when user offline
- nth-child CSS pseudo-class Christmas colors
- EventEmitter in nodejs