# Produce standard tools tarballs using linuxbrew
# Customize the variables as desired
# Where to store build tarballs
EXPORTDIR = /shared
# Where tools directory lives
INSTALLDIR = /opt/TundraWare
# Name of the tools directory
TOOLS = tools
# Things that have to be built during the bootstrap phase with system tools
BOOTSTRAP = gcc make nload
# Languages to install after bootstrap but before other packages
LANGS = perl python
# Stuff we want pip to install
PIPMODULES = ansible pew pythonz-bd
# Set of packages we want to include in the distribution tarball
MYTOOLS = emacs file-formula git htop joe nmap screen the_silver_searcher tree vim
# ----------- Nothing below here should need changing ----------- #
TOOLSDIR = ${INSTALLDIR}/${TOOLS}
BREW = ${TOOLSDIR}/bin/brew -v
DATESTAMP = $(shell date +%Y%m%d)
# Get latest linuxbrew
getbrew:
@echo "Make sure you have write permission on the target directory!"
git clone https://github.com/Linuxbrew/brew.git ${TOOLSDIR}
bootstrap-build:
@echo "Make sure you have the OS development tools installed!"
${BREW} install ${BOOTSTRAP}
bootstrap-release: tidyup
cd ${INSTALLDIR} && mv -v ${TOOLS} ${TOOLS}-bootstrap-${DATESTAMP}
cd ${INSTALLDIR} && tar -czvf ${EXPORTDIR}/${TOOLS}-bootstrap-${DATESTAMP}.tar.gz ${TOOLS}-bootstrap-${DATESTAMP}
full-build:
@echo "Make sure the bootstrap is installed at ${TOOLSDIR}"
-sudo yum -y install autoconf automake perl
${BREW} install ${LANGS}
ln -nfs ${INSTALLDIR}/${TOOLS}/bin/python2 ${INSTALLDIR}/${TOOLS}/bin/python
ln -nfs ${INSTALLDIR}/${TOOLS}/bin/pip2 ${INSTALLDIR}/${TOOLS}/bin/pip
pip install ${PIPMODULES} -U --ignore-installed
${BREW} install ${MYTOOLS}
full-release: tidyup
cd ${INSTALLDIR} && mv -v ${TOOLS} ${TOOLS}-${DATESTAMP}
cd ${INSTALLDIR} && tar -czvf ${EXPORTDIR}/${TOOLS}-${DATESTAMP}.tar.gz ${TOOLS}-${DATESTAMP}
tidyup:
${BREW} config
${BREW} prune
${BREW} cleanup
-${BREW} doctor
clean:
cd ${INSTALLDIR} && rm -vrf ${TOOLS} ${TOOLS}-bootstrap-${DATESTAMP} ${TOOLS}-${DATESTAMP}