2014-08-26 16:26:25 -04:00
SHELL = /bin/sh
2014-08-28 20:47:32 +00:00
PKGNAME = stack_blackbox
2014-08-26 16:26:25 -04:00
all :
@echo 'Menu:'
2015-07-09 22:52:42 -07:00
@echo ' make update Update any generated files'
2014-11-17 15:38:03 +00:00
@echo ' make packages Make RPM packages'
2015-02-28 20:44:28 -08:00
@echo ' make packages-deb Make DEB packages'
2015-01-27 10:39:30 +00:00
@echo ' make install (incomplete)'
2014-08-26 16:26:25 -04:00
install :
@echo 'To install, copy the files from bin to somewhere in your PATH.'
@echo 'Or, if you use RPMs, "make packages" and install the result.'
2014-08-28 20:47:32 +00:00
2014-11-17 15:38:03 +00:00
# The default package type is RPM.
packages : packages -rpm
#
# RPM builds
#
2015-06-02 15:37:06 +00:00
# NOTE: mk_rpm_fpmdir.stack_blackbox.txt is the master list of files. All
# other packages should generate their list from it.
2014-11-17 15:38:03 +00:00
packages-rpm :
2015-01-29 16:43:26 -05:00
cd tools && PKGRELEASE = " $$ {PKGRELEASE} " PKGDESCRIPTION = "Safely store secrets in git/hg/svn repos using GPG encryption" ./mk_rpm_fpmdir stack_blackbox mk_rpm_fpmdir.stack_blackbox.txt
2014-11-17 15:38:03 +00:00
packages-rpm-debug :
2014-08-28 20:47:32 +00:00
@echo BUILD:
@PKGRELEASE= 99 make packages
@echo ITEMS TO BE PACKAGED:
find ~/rpmbuild-$( PKGNAME) /installroot -type f
@echo ITEMS ACTUALLY IN PACKAGE:
@rpm -qpl $$ ( cat ~/rpmbuild-$( PKGNAME) /bin-packages.txt)
2014-11-17 15:38:03 +00:00
local-rpm :
2014-08-28 20:47:32 +00:00
@PKGRELEASE= 1 make packages
-@sudo rpm -e $( PKGNAME)
sudo rpm -i $$ ( cat ~/rpmbuild-$( PKGNAME) /bin-packages.txt)
2014-11-17 15:38:03 +00:00
lock-rpm :
2014-08-28 20:47:32 +00:00
sudo yum versionlock add $( PKGNAME)
2014-11-17 15:38:03 +00:00
unlock-rpm :
2014-08-28 20:47:32 +00:00
sudo yum versionlock clear
2014-08-29 20:21:02 +00:00
2015-03-01 14:37:07 -08:00
#
# DEB builds
#
2015-03-01 14:58:09 -08:00
packages-deb : tools /mk_deb_fpmdir .stack_blackbox .txt
2015-02-28 20:44:28 -08:00
cd tools && PKGRELEASE = " $$ {PKGRELEASE} " PKGDESCRIPTION = "Safely store secrets in git/hg/svn repos using GPG encryption" ./mk_deb_fpmdir stack_blackbox mk_deb_fpmdir.stack_blackbox.txt
2015-06-02 15:37:06 +00:00
# Make mk_deb_fpmdir.vcs_blackbox.txt from mk_rpm_fpmdir.stack_blackbox.txt:
tools/mk_deb_fpmdir.stack_blackbox.txt : tools /mk_rpm_fpmdir .stack_blackbox .txt
2015-07-09 22:52:42 -07:00
sed -e '/^#/d' -e 's@/usr/blackbox/bin/@/usr/bin/@g' -e '/profile.d-usrblackbox.sh/d' <tools/mk_rpm_fpmdir.stack_blackbox.txt >$@
2015-06-02 15:37:06 +00:00
2015-03-01 14:58:09 -08:00
packages-deb-debug : tools /mk_deb_fpmdir .stack_blackbox .txt
2015-02-28 20:44:28 -08:00
@echo BUILD:
2015-03-01 14:37:07 -08:00
@PKGRELEASE= 99 make packages-deb
2015-02-28 20:44:28 -08:00
@echo ITEMS TO BE PACKAGED:
find ~/debbuild-$( PKGNAME) /installroot -type f
@echo ITEMS ACTUALLY IN PACKAGE:
2015-03-01 14:37:07 -08:00
@dpkg --contents $$ ( cat ~/debbuild-$( PKGNAME) /bin-packages.txt)
2015-02-28 20:44:28 -08:00
local-deb :
@PKGRELEASE= 1 make packages
-@sudo dpkg -e $( PKGNAME)
sudo dpkg -i $$ ( cat ~/rpmbuild-$( PKGNAME) /bin-packages.txt)
2015-06-02 15:37:06 +00:00
#
# MacPorts builds
#
# To test:
# rm -rf /tmp/foo ; mkdir -p /tmp/foo;make packages-macports DESTDIR=/tmp/foo;find /tmp/foo -ls
# Make mk_macports.vcs_blackbox.txt from mk_rpm_fpmdir.stack_blackbox.txt:
tools/mk_macports.vcs_blackbox.txt : tools /mk_rpm_fpmdir .stack_blackbox .txt
2015-07-09 22:52:42 -07:00
sed -e '/^#/d' -e 's@/usr/blackbox/bin/@bin/@g' -e '/profile.d-usrblackbox.sh/d' <tools/mk_rpm_fpmdir.stack_blackbox.txt >$@
2015-06-02 15:37:06 +00:00
# MacPorts expects to run: make packages-macports DESTDIR=${destroot}
packages-macports : tools /mk_macports .vcs_blackbox .txt
mkdir -p $( DESTDIR) /bin
cd tools && ./mk_macports mk_macports.vcs_blackbox.txt
2015-06-14 18:01:06 -04:00
# stow is a pretty easy way to manage simple local installs on GNU systems
install-stow :
mkdir -p /usr/local/stow/blackbox/bin
cp bin/* /usr/local/stow/blackbox/bin
rm /usr/local/stow/blackbox/bin/Makefile
cd /usr/local/stow; stow -R blackbox
uninstall-stow :
cd /usr/local/stow; stow -D blackbox
rm -rf /usr/local/stow/blackbox
2014-11-17 15:38:03 +00:00
# Add other package types here.
2015-07-09 22:52:42 -07:00
#
# Updates
#
update : tools /mk_deb_fpmdir .stack_blackbox .txt tools /mk_macports .vcs_blackbox .txt
clean :
rm tools/mk_deb_fpmdir.stack_blackbox.txt tools/mk_macports.vcs_blackbox.txt
2014-11-17 15:38:03 +00:00
#
# System Test:
#
2014-11-02 08:39:12 -05:00
confidence :
2015-03-03 09:31:09 +07:00
@if [ -e ~/.gnupg ] ; then echo ERROR: '~/.gnupg should not exist. If it does, bugs may polute your .gnupg configuration. If the code has no bugs everything will be fine. Do you feel lucky?' ; false ; fi
2014-11-05 16:47:15 +00:00
@if which >/dev/null gpg-agent ; then pkill gpg-agent ; rm -rf /tmp/tmp.* ; fi
2015-03-09 07:56:37 -04:00
@export PATH = " $( PWD) /bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/local/bin: $( PATH) " ; tools/confidence_test.sh
tools/confidence_test.sh
2014-11-05 16:47:15 +00:00
@if which >/dev/null gpg-agent ; then pkill gpg-agent ; fi
2015-03-03 09:31:09 +07:00
@if [ -e ~/.gnupg ] ; then echo ERROR: '~/.gnupg was created which means the scripts might be poluting GnuPG configuration. Fix this bug.' ; false ; fi