take an archive as an argument, minify with the new external script

git-svn-id: file:///home/svn/framework3/trunk@9861 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
James Lee 2010-07-19 19:16:11 +00:00
parent 23fd327f30
commit 5059ac9c0e
1 changed files with 20 additions and 52 deletions

View File

@ -1,36 +1,18 @@
#!/bin/sh
VERSION="3.4.0-release"
VERSION="3.4.1-release"
BASE=`dirname $0`
# We can only "exclude" directories. For specific files, we just have to rm
# them.
MINI_EXCLUDES="
data/templates/src
documentation
external/installer-linux
external/installer-win32
external/source
lib/rex/exploitation/opcodedb.rb
test
"
MINI_RM="
msfd
msfelfscan
msfgui
msfmachscan
msfopcode
msfpescan
msfrpc
msfrpcd
msfweb
test
$(find tmp/msf3-mini -name '*.rb.ut.rb')
"
ARCHIVE=$1
if [ -n "${ARCHIVE}" ]; then
echo "Extracting archive"
rm -rf tmp/msf3-*
tar -C tmp -xjf "${ARCHIVE}"
cp -r tmp/msf3-http tmp/msf3-full
fi
#
# Expects tmp/msf3.tar to exist
# Expects tmp/msf3.tar to exist and contain a single directory called msf3
#
build_makeself() {
TITLE=$1
@ -48,31 +30,16 @@ build_makeself() {
rm -rf ${TMP}
}
if [ -f tmp/msf3/msfconsole ]; then
svn up tmp/msf3
else
svn co https://www.metasploit.com/svn/framework3/trunk msf3
fi
if [ -f tmp/msf3-mini/msfconsole ]; then
svn up tmp/msf3-mini
else
cp -r tmp/msf3 tmp/msf3-mini
for dir in ${MINI_EXCLUDES}; do
# Supposedly only have to do this once
svn up --set-depth=exclude "$dir" 2>/dev/null
done
fi
for file in ${MINI_RM}; do
rm -rf tmp/msf3-mini/"$file"
done
# Remove any lingering symlinks from previous builds
rm tmp/msf3
(cd tmp; tar cf msf3.tar msf3)
(cd tmp; ln -sf msf3-full msf3; tar hcf msf3.tar msf3)
TITLE="Metasploit Framework v${VERSION} Installer (64-bit)"
INSTALLER_FILENAME="framework-${VERSION}-linux-x86_64.run"
BINPATH="${BASE}/bin/linux64.tar.bz2"
if [ -f ${BINPATH} ]; then
echo "Making 64-bit"
build_makeself "${TITLE}" "${INSTALLER_FILENAME}" "${BINPATH}"
fi
@ -80,16 +47,17 @@ TITLE="Metasploit Framework v${VERSION} Installer (32-bit)"
INSTALLER_FILENAME="framework-${VERSION}-linux-i686.run"
BINPATH="${BASE}/bin/linux32.tar.bz2"
if [ -f ${BINPATH} ]; then
echo "Making 32-bit"
# Build the regular 32-bit installer
# Uses the same msf3.tar as 64-bit, so we don't need to regenerate it.
build_makeself "${TITLE}" "${INSTALLER_FILENAME}" "${BINPATH}"
# Set up and build the mini 32-bit installer
mv tmp/msf3 tmp/msf3-full
mv tmp/msf3-mini tmp/msf3
(cd tmp; tar cf msf3.tar msf3)
mv tmp/msf3 tmp/msf3-mini
mv tmp/msf3-full tmp/msf3
if [ ! -d tmp/msf3-mini ]; then
./minify.sh tmp/msf3-full
fi
rm tmp/msf3
(cd tmp; ln -sf msf3-mini msf3; tar hcf msf3.tar msf3)
TITLE="Metasploit Framework v${VERSION} Miniature Installer (32-bit)"
INSTALLER_FILENAME="framework-${VERSION}-mini-linux-i686.run"