1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh ${@} --with linktree
TDIR:=$(CURDIR)/debian/cacti
SHAREDIR:=${TDIR}/usr/share/cacti
SITEDIR:=${SHAREDIR}/site
LIBDIR:=${TDIR}/var/lib/cacti
export HOME=$(CURDIR)/tmp-home
override_dh_auto_configure:
# make sure that we catch it when cli-include-path.patch is not up-to-date
if grep -r -E '(include|repair).*\.\./' cli | grep -v /site/; then \
echo " ^ fix above include paths in cli directory ^" && false; \
fi
dh_auto_configure
override_dh_clean:
# make sure that we catch translation updates
debconf-updatepo
# make sure we catch new themes (that must be stripped from source and
# linked in)
for theme in classic dark modern paper-plane paw ; do \
if [ -f include/themes/$${theme}/jquery-ui.css ] ; then \
echo "New theme '$${theme}' found. Add it to d/copyright, d/cacti.links and d/cacti.linktrees" \
&& return 1 ; \
fi ; \
done
dh_clean
override_dh_auto_build:
# Upstream doesn't provide the source of the documentation in the tar, so
# we include that via a second tar ball in the release and build it from
# there.
cd docs-source ; bash -ex bin/build_html_docs.sh
# Generate all translations from source
cd locales/po ; for file in *.po ; do msgfmt -o ../LC_MESSAGES/$${file%.po}.mo $${file} ; done
dh_auto_build
override_dh_fixperms:
# normalize permissions in the site directory
find ${SITEDIR}/ -type d -exec chmod 755 {} \;
find ${SITEDIR}/ -type f -exec chmod 644 {} \;
find ${SITEDIR}/scripts -type f -exec chmod 755 {} \;
# and then fix the special case files
find ${SITEDIR}/scripts -type f -name '*.php' -exec chmod 644 {} \;
find ${SHAREDIR}/cli -type f -print0 | xargs -0 file | \
grep -e /usr/bin/php -e "PHP script, ASCII text executable" | \
cut -d: -f1 | xargs chmod 755
dh_fixperms
# Do this after the call to dh_fixperms to not miss files unintentionally
find ${LIBDIR}/* -exec chown root:www-data {} \;
find ${LIBDIR}/* -type d -exec chmod 770 {} \;
override_dh_link:
# Because upstream has an unconventional way of naming locale file, and
# assumes jquery-ui files with these names to detect locale support, lets
# generate links for all cacti supported languages.
mkdir -p ${SITEDIR}/include/js/LC_MESSAGES
cd locales/po ; \
for file in *.po ; do \
language=$$(grep '^"Language: ' $${file} | cut -f2 -d' ' | cut -f1 -d"\\" | sed s/_/-/) ; \
if [ -z "$${language}" ] ; then echo "$${file} doesn't define its language" ; return 1 ; fi ; \
if [ -f /usr/share/javascript/jquery-ui/ui/i18n/datepicker-$${language}.min.js ] ; then \
ln -s \
/usr/share/javascript/jquery-ui/ui/i18n/datepicker-$${language}.min.js \
${SITEDIR}/include/js/LC_MESSAGES/jquery.ui.datepicker-$${file%.po}.js ; \
else \
language=$${language%-*} ; \
if [ -f /usr/share/javascript/jquery-ui/ui/i18n/datepicker-$${language}.min.js ] ; then \
ln -s \
/usr/share/javascript/jquery-ui/ui/i18n/datepicker-$${language}.min.js \
${SITEDIR}/include/js/LC_MESSAGES/jquery.ui.datepicker-$${file%.po}.js ; \
fi ; \
fi ; \
done
dh_link
override_dh_install:
dh_install
# Somewhere deep we don't want to install some files, remove them here
cd ${SITEDIR}/include/vendor/flag-icon-css ; \
rm -rf assets *.json Gruntfile.coffee index.html less LICENSE README.md sass svgo.yaml yarn.lock
# Because we skip the install web page, we need to add some paths and other
# items to the cacti settings. To avoid putting this in a patch, let's add
# it here.
cat debian/cacti_debian.sql >> ${SHAREDIR}/conf_templates/cacti.sql
# Remove extra files as they aren't needed in Debian
cd ${SITEDIR}/include/vendor/csrf && rm -f LICENSE NEWS README
|