.PHONY : doc test
PROG = scriptform
fake :
# NOOP
install :
cp src/scriptform.py /usr/bin/scriptform
uninstall :
rm /usr/bin/scriptform
release : release_src release_deb release_rpm
doc :
markdown_py doc/MANUAL.md > doc/MANUAL.html
markdown_py README.md > README.html
release_src : doc
@echo " Making release for version $( REL_VERSION) "
@if [ -z " $( REL_VERSION) " ] ; then echo "REL_VERSION required" ; exit 1; fi
# Prepare source
rm -rf $( PROG) -$( REL_VERSION)
mkdir $( PROG) -$( REL_VERSION)
cp src/scriptform.py $( PROG) -$( REL_VERSION) /scriptform
cp src/daemon.py $( PROG) -$( REL_VERSION) /
cp src/formconfig.py $( PROG) -$( REL_VERSION) /
cp src/formdefinition.py $( PROG) -$( REL_VERSION) /
cp src/formrender.py $( PROG) -$( REL_VERSION) /
cp src/webapp.py $( PROG) -$( REL_VERSION) /
cp LICENSE $( PROG) -$( REL_VERSION) /
cp README.md $( PROG) -$( REL_VERSION) /
cp contrib/release_Makefile $( PROG) -$( REL_VERSION) /Makefile
cp doc/MANUAL.html $( PROG) -$( REL_VERSION) /MANUAL.html
# Bump version numbers
find $( PROG) -$( REL_VERSION) / -type f -print0 | xargs -0 sed -i " s/%%VERSION%%/ $( REL_VERSION) /g "
# Create archives
zip -r $( PROG) -$( REL_VERSION) .zip $( PROG) -$( REL_VERSION)
tar -vczf $( PROG) -$( REL_VERSION) .tar.gz $( PROG) -$( REL_VERSION)
release_deb : doc
@if [ -z " $( REL_VERSION) " ] ; then echo "REL_VERSION required" ; exit 1; fi
mkdir -p rel_deb/usr/bin
mkdir -p rel_deb/usr/lib/scriptform
mkdir -p rel_deb/usr/share/doc/$( PROG)
mkdir -p rel_deb/usr/share/man/man1
# Copy the source to the release directory structure.
cp LICENSE rel_deb/usr/share/doc/$( PROG)
cp README.md rel_deb/usr/share/doc/$( PROG)
cp doc/MANUAL.md rel_deb/usr/share/doc/$( PROG)
cp README.html $( PROG) -$( REL_VERSION) /README.html
cp doc/MANUAL.html $( PROG) -$( REL_VERSION) /MANUAL.html
cp src/scriptform.py rel_deb/usr/lib/scriptform/
cp src/daemon.py rel_deb/usr/lib/scriptform/
cp src/formconfig.py rel_deb/usr/lib/scriptform/
cp src/formdefinition.py rel_deb/usr/lib/scriptform/
cp src/formrender.py rel_deb/usr/lib/scriptform/
cp src/webapp.py rel_deb/usr/lib/scriptform/
ln -s /usr/lib/scriptform/scriptform.py rel_deb/usr/bin/scriptform
cp contrib/scriptform.init.d_debian rel_deb/usr/share/doc/$( PROG)
cp contrib/scriptform.init.d_redhat rel_deb/usr/share/doc/$( PROG)
cp -ar contrib/debian/DEBIAN rel_deb/
# Bump version numbers
find rel_deb/ -type f -print0 | xargs -0 sed -i " s/%%VERSION%%/ $( REL_VERSION) /g "
# Create debian pacakge
fakeroot dpkg-deb --build rel_deb > /dev/null
mv rel_deb.deb $( PROG) -$( REL_VERSION) .deb
# Cleanup
rm -rf rel_deb
release_rpm : release_deb
alien -r scriptform-$( REL_VERSION) .deb
clean :
rm -rf *.tar.gz
rm -rf *.zip
rm -rf *.deb
rm -rf rel_deb
rm -rf scriptform-*
rm -rf doc/manual.html
rm -rf doc/MANUAL.html
rm -rf examples/megacorp_acc/megacorp.db
rm -rf examples/megacorp_acc/.coverage
rm -rf examples/megacorp_acc/htmlcov
find ./ -name "*.log" -delete
find ./ -name "*.pyc" -delete
rm -rf $( PROG) -$( REL_VERSION)
test :
@echo "\nTESTS\n"
cd test && python ./test.py
@echo "\nFLAKE8\n"
cd src && flake8 *.py || true
@echo "\nPYLINT\n"
cd src && pylint --reports= n -dR -dW0142 *.py || true