add a mini installer to the standard build. it can still use some more minification, it's at about 24MB and expands to 132MB
git-svn-id: file:///home/svn/framework3/trunk@9341 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
a6795c4714
commit
4f61fb6dc3
|
@ -3,16 +3,37 @@
|
||||||
VERSION="3.4.0-release"
|
VERSION="3.4.0-release"
|
||||||
BASE=`dirname $0`
|
BASE=`dirname $0`
|
||||||
|
|
||||||
# Grab a fresh copy of Metasploit
|
# We can only "exclude" directories. For specific files, we just have to rm
|
||||||
if [ -f "tmp/msf3/msfconsole" ]; then
|
# them.
|
||||||
svn update tmp/msf3/
|
MINI_EXCLUDES="
|
||||||
else
|
data/templates/src
|
||||||
svn checkout https://www.metasploit.com/svn/framework3/trunk tmp/msf3/
|
documentation
|
||||||
fi
|
external/installer-linux
|
||||||
(cd tmp; tar cf msf3.tar msf3)
|
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')
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Expects tmp/msf3.tar to exist
|
||||||
|
#
|
||||||
build_makeself() {
|
build_makeself() {
|
||||||
NAME=$1
|
TITLE=$1
|
||||||
INSTALLER_FILENAME=$2
|
INSTALLER_FILENAME=$2
|
||||||
BIN_TARBALL_PATH=$3
|
BIN_TARBALL_PATH=$3
|
||||||
|
|
||||||
|
@ -23,17 +44,57 @@ build_makeself() {
|
||||||
bunzip2 ${TMP}/metasploit.tar.bz2
|
bunzip2 ${TMP}/metasploit.tar.bz2
|
||||||
cp -a scripts/*.sh ${TMP}/
|
cp -a scripts/*.sh ${TMP}/
|
||||||
cp -a scripts/msfupdate ${TMP}/
|
cp -a scripts/msfupdate ${TMP}/
|
||||||
makeself "${TMP}" "${INSTALLER_FILENAME}" "${NAME}" ./installer.sh
|
makeself "${TMP}" "${INSTALLER_FILENAME}" "${TITLE}" ./installer.sh
|
||||||
rm -rf ${TMP}
|
rm -rf ${TMP}
|
||||||
}
|
}
|
||||||
|
|
||||||
NAME32="Metasploit Framework v${VERSION} Installer (32-bit)"
|
if [ -f tmp/msf3/msfconsole ]; then
|
||||||
PATH32="framework-${VERSION}-linux-i686.run"
|
svn up tmp/msf3
|
||||||
BINPATH32="${BASE}/bin/linux32.tar.bz2"
|
else
|
||||||
build_makeself "${NAME32}" "${PATH32}" "${BINPATH32}"
|
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
|
||||||
|
|
||||||
|
|
||||||
|
(cd tmp; tar cf 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
|
||||||
|
build_makeself "${TITLE}" "${INSTALLER_FILENAME}" "${BINPATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
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
|
||||||
|
# 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
|
||||||
|
|
||||||
|
TITLE="Metasploit Framework v${VERSION} Miniature Installer (32-bit)"
|
||||||
|
INSTALLER_FILENAME="framework-${VERSION}-mini-linux-i686.run"
|
||||||
|
BINPATH="${BASE}/bin/linux32.tar.bz2"
|
||||||
|
build_makeself "${TITLE}" "${INSTALLER_FILENAME}" "${BINPATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
NAME64="Metasploit Framework v${VERSION} Installer (64-bit)"
|
|
||||||
PATH64="framework-${VERSION}-linux-x86_64.run"
|
|
||||||
BINPATH64="${BASE}/bin/linux64.tar.bz2"
|
|
||||||
build_makeself "${NAME64}" "${PATH64}" "${BINPATH64}"
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue