utt/app/dist/deb/Makefile

82 lines
2.5 KiB
Makefile
Raw Normal View History

#default task
# here there're few properties
_PRODUCT_NAME=utt
_BUILD_DIR=$(_UTT_BIN_DIR)
_UTT_VER=$(shell cat ../common/version.def)
_UTT_REL=$(shell cat ../common/release.def)
_DEB_ROOT=$(shell pwd)/deb_root
_INSTALL_DIR=/usr/local/$(_PRODUCT_NAME)/$(_UTT_VER)-$(_UTT_REL)
.PHONY: default
default:
# we need some extra configuration files
make_control
make_postinst
# first, we prepare some directory structure
mkdir -p $(_DEB_ROOT)/DEBIAN
mkdir -p $(_DEB_ROOT)$(_INSTALL_DIR)
mkdir -p $(_DEB_ROOT)/usr/share/man/man1
mkdir -p $(_DEB_ROOT)/usr/share/doc/$(_PRODUCT_NAME)
find $(_DEB_ROOT) -type d | xargs chmod 755 # this is necessary on Debian Woody, don't ask me why
# next, we copy necessary files
mv ./control $(_DEB_ROOT)/DEBIAN/
cp ./postinst $(_DEB_ROOT)/DEBIAN/
cp ./prerm $(_DEB_ROOT)/DEBIAN/
# cp -r $(_BUILD_DIR)/man/* $(_DEB_ROOT)/usr/share/man/
cp $(_BUILD_DIR)/COPYRIGHT $(_DEB_ROOT)/usr/share/doc/$(_PRODUCT_NAME)/copyright
# cp $(_BUILD_DIR)/changelog $(_DEB_ROOT)/usr/share/doc/$(_PRODUCT_NAME)/
# cp $(_BUILD_DIR)/changelog.Debian $(_DEB_ROOT)/usr/share/doc/$(_PRODUCT_NAME)/
# next we make man/doc archives
# gzip --best $(_DEB_ROOT)/usr/share/man/man1/$(_PRODUCT_NAME).1
# gzip --best $(_DEB_ROOT)/usr/share/doc/$(_PRODUCT_NAME)/changelog
# gzip --best $(_DEB_ROOT)/usr/share/doc/$(_PRODUCT_NAME)/changelog.Debian
# tar -cvvf control.tar.gz ${_DEB_ROOT}/DEBIAN/
# rm -fr ${_DEB_ROOT}/DEBIAN/
# and binaries
cp -rv $(_BUILD_DIR)/* $(_DEB_ROOT)$(_INSTALL_DIR)/
# tar -cvvf data.tar.gz ${_DEB_ROOT}/
# rm -fr ${_DEB_ROOT}/
# finally, we buid deb package
fakeroot dpkg-deb --build $(_DEB_ROOT)
mv $(_DEB_ROOT).deb $(_PRODUCT_NAME)_$(_UTT_VER)-$(_UTT_REL).all.deb
.PHONY: make_control
make_control:
echo "Package: $(_PRODUCT_NAME)" > control
echo "Version: $(_UTT_VER)" >> control
echo "Section: web" >> control
echo "Priority: optional" >> control
echo "Architecture: all" >> control
echo "Essential: no" >> control
echo "Depends: " >> control
# here we read this information from file ../common/requirements.def
#libwww-perl, acme-base (>= 1.2) <= wymagania pakietowe
echo "Pre-Depends: perl" >> control
echo "Maintainer: Adam Mickiewicz University" >> control
echo "Provides: $(_PRODUCT_NAME)" >> control
echo -n "Description: " >> control
cat ../common/description.def >> control
.PHONY: make_postinst
make_postinst:
echo "#!/bin/sh" > postinst
echo "$(_INSTALL_DIR)/create_utt_config.pl" >> postinst
echo "rm -f $(_INSTALL_DIR)/create_utt_config.pl" >> postinst
.PHONY: make_prerm
make_prerm:
echo "#!/bin/sh" > prerm