#!/usr/bin/make -f

DEB_VERSION:=$(shell dpkg-parsechangelog -n1 | sed -n '/^Version: /s///p')
DEB_NOEPOCH_VERSION:=$(shell DEB_VERSION=${DEB_VERSION}; echo $${DEB_VERSION\#*:})
DEB_UPSTREAM_VERSION:=$(shell DEB_NOEPOCH_VERSION=${DEB_NOEPOCH_VERSION}; echo $${DEB_NOEPOCH_VERSION%+dfsg-*})

override_dh_install:
	dh_install
	# Ugh. This is easier than patching, though.
	chmod a+x debian/mediawiki/usr/share/mediawiki/includes/normal/UtfNormalTest2.php
	# Now some tidying up is required
	chmod a+x debian/mediawiki/usr/share/mediawiki/maintenance/postgres/compare_schemas.pl
	chmod a+x debian/mediawiki/usr/share/mediawiki/maintenance/postgres/mediawiki_mysql2postgres.pl
	chmod a+x debian/mediawiki/var/lib/mediawiki/extensions/ConfirmEdit/captcha.py
	chmod a-x debian/mediawiki/usr/share/mediawiki/resources/jquery/images/marker.png
	chmod a-x debian/mediawiki/var/lib/mediawiki/extensions/WikiEditor/modules/jquery.wikiEditor.toolbar.config.js
	find debian/mediawiki/usr/share/mediawiki -maxdepth 1 -mindepth 1 | grep -v "\(LocalSettings.php\|AdminSettings.php\|debian-scripts\|images\|extensions\|config\)" | \
	while read i; do \
		dh_link "`echo "$$i" | sed -e s#debian/mediawiki/##`" \
		"`echo "$$i" | sed -e s#debian/mediawiki/usr/share/mediawiki/#var/lib/mediawiki/#`"; \
	done
	# Use system javascript libraries
	rm debian/mediawiki/usr/share/mediawiki/resources/jquery/jquery.js
	rm debian/mediawiki/usr/share/mediawiki/resources/jquery.tipsy/jquery.tipsy.js
	dh_link usr/share/javascript/jquery/jquery.min.js usr/share/mediawiki/resources/jquery/jquery.js
	dh_link usr/share/javascript/jquery-tipsy/jquery.tipsy.min.js usr/share/mediawiki/resources/jquery.tipsy/jquery.tipsy.js; \
	for lib in cookie form; do \
		rm debian/mediawiki/usr/share/mediawiki/resources/jquery/jquery.$$lib.js; \
		dh_link usr/share/javascript/jquery-$$lib/jquery.$$lib.min.js usr/share/mediawiki/resources/jquery/jquery.$$lib.js; \
		echo $$lib; \
	done
	# Remove Makefiles
	find debian/mediawiki/ -iname makefile -exec rm {} \;
	# Put debian version for mediawiki version..
	sed -e "s#$(DEB_UPSTREAM_VERSION)#$(DEB_NOEPOCH_VERSION)#" \
			-i debian/mediawiki/usr/share/mediawiki/includes/DefaultSettings.php
	# Move extensions
	mkdir -p debian/mediawiki/usr/share/doc/mediawiki
	mv debian/mediawiki/var/lib/mediawiki/extensions/README \
	    debian/mediawiki/usr/share/doc/mediawiki/README.extensions
	mv debian/mediawiki/var/lib/mediawiki/extensions \
	    debian/mediawiki/usr/share/mediawiki/extensions-core
	mkdir debian/mediawiki/var/lib/mediawiki/extensions
	coreextensions=$$(cd debian/mediawiki/usr/share/mediawiki/extensions-core; \
	    echo *); for coreextension in $$coreextensions; do \
		dh_link usr/share/mediawiki/extensions-core/"$$coreextension" \
		    var/lib/mediawiki/extensions/"$$coreextension"; \
	done
	# includes/libs is provided by mediawiki-classes
	rm -rf debian/mediawiki/usr/share/mediawiki/includes/libs
	# licences added to debian/copyright file
	rm -f debian/mediawiki/usr/share/mediawiki/extensions-core/Gadgets/COPYING
	rm -f debian/mediawiki/usr/share/mediawiki/extensions-core/Nuke/COPYING
	rm -f debian/mediawiki/usr/share/mediawiki/extensions-core/ParserFunctions/COPYING
	rm -f debian/mediawiki/usr/share/mediawiki/extensions-core/Renameuser/COPYING
	rm -f debian/mediawiki/usr/share/mediawiki/extensions-core/WikiEditor/COPYING
	rm -f debian/mediawiki/usr/share/mediawiki/maintenance/cssjanus/COPYING
	rm -f debian/mediawiki/usr/share/mediawiki/maintenance/cssjanus/LICENSE
	rm -f debian/mediawiki/usr/share/mediawiki/skins/common/images/cyrl/LICENSE
	rm -f debian/mediawiki/usr/share/mediawiki/skins/common/images/icons/COPYING
	rm -f debian/mediawiki/usr/share/mediawiki/skins/common/images/ksh/LICENSE
	# fixup permissions
	chmod a-x debian/mediawiki/usr/share/mediawiki/extensions-core/Nuke/Nuke*.php

override_dh_installdeb:
	find debian/mediawiki -depth \( -name ".cvsignore" -o -name ".gitignore" -o -name ".arch-ids" \) -exec rm -rf {} \;
	dh_installdeb

# DevRef §6.7.8.2.
.PHONY: get-orig-source-tg
get-orig-source-tg:
	# rely on uscan to download, including pgp signature check
	# run “dch -i” and increase to new upstream version before calling this!
	uscan --force-download --verbose
	test -s ../mediawiki-${DEB_UPSTREAM_VERSION}.tar.gz
	mksh -o pipefail -e -x -c 'DEB_UPSTREAM_VERSION=${DEB_UPSTREAM_VERSION}; \
		rm -rf debian/tmp; mkdir debian/tmp; cd debian/tmp; \
		paxtar xzf ../../../mediawiki-${DEB_UPSTREAM_VERSION}.tar.gz; \
		rm -f mediawiki-${DEB_UPSTREAM_VERSION}/skins/common/images/cc-*; \
		mv mediawiki-${DEB_UPSTREAM_VERSION} mediawiki-${DEB_UPSTREAM_VERSION}.orig; \
		find mediawiki-${DEB_UPSTREAM_VERSION}.orig -type f | \
		    sort | paxcpio -oC512 -Hustar -Mdist | \
		    xz -6e >../../mediawiki_${DEB_UPSTREAM_VERSION}+dfsg.orig.tar.xz; \
		cd ..; rm -rf tmp'
	@ls -l mediawiki_${DEB_UPSTREAM_VERSION}+dfsg.orig.tar.xz
.PHONY: get-orig-source-jmw
get-orig-source-jmw:
	$(eval TMPDIR=$(shell mktemp -d))
	$(eval MWTAR=mediawiki_${DEB_UPSTREAM_VERSION}.orig.tar.gz)
	$(eval DFSGTAR=mediawiki_${DEB_UPSTREAM_VERSION}+dfsg.orig.tar.xz)
	@uscan --rename --download-current-version --destdir=${TMPDIR} > /dev/null
	@cd ${TMPDIR} && ( \
		tar zxf ${MWTAR}; \
		rm -f mediawiki-${DEB_UPSTREAM_VERSION}/skins/common/images/cc-*; \
        mv mediawiki-${DEB_UPSTREAM_VERSION} mediawiki-${DEB_UPSTREAM_VERSION}.orig; \
		tar Jcf ${DFSGTAR} mediawiki-${DEB_UPSTREAM_VERSION}.orig; \
	)
	@mv ${TMPDIR}/${DFSGTAR} ../
	@rm -r ${TMPDIR}

%:
	dh $@
