File: rules

package info (click to toggle)
moin 1.9.3-1%2Bsqueeze5
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 63,492 kB
  • ctags: 40,896
  • sloc: python: 90,434; java: 10,704; php: 2,374; perl: 1,562; xml: 371; makefile: 228; sh: 131; sed: 5
file content (169 lines) | stat: -rwxr-xr-x 8,297 bytes parent folder | download
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
# Copyright 2003-2010 Jonas Smedegaard <dr@jones.dk>
# Copyright 2009-2010 Frank Lin PIAT <fpiat@klabs.be>
# Description: Main Debian packaging script for MoinMoin
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2, or (at
# your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

DEB_PYTHON_SYSTEM = pysupport
include /usr/share/cdbs/1/rules/upstream-tarball.mk
include /usr/share/cdbs/1/rules/utils.mk
include /usr/share/cdbs/1/class/python-distutils.mk
include /usr/share/cdbs/1/rules/debhelper.mk

# Suppress unneeded auto-resolved build-dependency on python-dev
CDBS_BUILD_DEPENDS_class_python-distutils = python$(cdbs_python_nondefault_version)

DEB_UPSTREAM_URL = http://static.moinmo.in/files
DEB_UPSTREAM_TARBALL_BASENAME_MANGLE = s/~(alpha|beta|rc)/\1/
DEB_UPSTREAM_TARBALL_MD5 = b22c15446e9fabda180fc88b21635184

# Use local fork handling variations in owner names and license strings
DEB_COPYRIGHT_CHECK_SCRIPT = debian/licensecheck

pkg = python-moinmoin

libdir = /usr/share/moin/server
DEB_PYTHON_PRIVATE_MODULES_DIRS_$(pkg_data) = /usr/share/moin/data/plugin /usr/share/moin/server
# Grrr - this is needed thanks to broken defaults with new python policy!
DEB_PYTHON_DESTDIR = $(CURDIR)/debian/$(cdbs_curpkg)

DEB_MAKE_CHECK_TARGET = test
DEB_COMPRESS_EXCLUDE = .py
DEB_INSTALL_EXAMPLES_$(pkg) += wikiserver.py wikiconfig.py wiki/config debian/examples/*
DEB_INSTALL_DOCS_ALL += debian/README.Debian
DEB_INSTALL_DOCS_$(pkg) += docs/README.migration docs/INSTALL.html
DEB_INSTALL_DOCS_$(pkg) += docs/UPDATE.html docs/REQUIREMENTS
DEB_INSTALL_CHANGELOGS_ALL = docs/CHANGES
DEB_INSTALL_MANPAGES_$(pkg) += debian/moin-mass-migrate.8 debian/moin-update-wikilist.1 debian/moin.1

# Grab staticpath from some config file for use in our documentation
# (Make ignores exitlevel, so doublecheck result)
grep -q "url_prefix_static = '/moin_static' + version.release_short" MoinMoin/config/__init__.py || echo "Test failed"
staticpath := $(shell sed -n -e "s|^\s*release_short\s*=\s*'\([^']*\)'.*|/moin_static\1|p" MoinMoin/version.py)
$(if $(staticpath),,$(error Failed to resolve staticpath))

SEDRULE_CONTENT = -e 's,__STATICPATH__,$(staticpath),g'

# just being lazy...
datadir = /usr/share/moin

# Create (and cleanup) files, expanding variables static per build
update-config:: pre-build
	for file in `find debian -maxdepth 2 -type f -name '*.in' -not -name control.in -not -name control.in.in -not -name POTFILES.in`; do \
		targetfile=`echo $$file | sed -e 's/\\.in$$//'`; \
		sed $(SEDRULE_CONTENT) <$$file >$$targetfile; \
	done

clean::
	for file in `find debian -maxdepth 2 -type f -name '*.in' -not -name control.in -not -name control.in.in -not -name README.source.in -not -name POTFILES.in -not -name 'watch.in'`; do \
		targetfile=`echo $$file | sed -e 's/\\.in$$//'`; \
		rm -f $$targetfile; \
	done

# Ensure proper hash-bang in Python scripts (Python Policy 0.9.0.0 ยง3.1)
binary-fixup/$(pkg)::
	egrep -r -l -Z '^#! ?/usr/bin/(env )?python[[:print:]]*$$' debian/$(cdbs_curpkg)$(datadir)/server/* debian/$(cdbs_curpkg)/usr/share/doc/* \
		| xargs -r -0 perl -pi -e 's,^#! ?/usr/bin/(env )?python[[:print:]]*$$,#!/usr/bin/python$(cdbs_python_nondefault_version),'

# Strip notes in underlay about editing only on moinmaster.
binary-fixup/$(pkg)::
	sh debian/process_language_pages debian/$(cdbs_curpkg)

# moin is modular, insert sub-commands description
common-build-indep::
	bash debian/tweak-moin-manpage debian/moin.1.template debian/moin.1

# Make sure scripts are executable
binary-fixup/$(pkg)::
	egrep -r -l -Z '^#! ?/usr/bin/(env )?python[[:print:]]*$$' debian/$(cdbs_curpkg)$(libdir) \
		| xargs -r -0 chmod a+x

# Include Moinmoin Desktop editions files.
binary-fixup/$(pkg)::
	mkdir -p debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/examples/desktop-edition
	cp wikiserver.py wikiconfig.py debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/examples/desktop-edition
	chmod a+x debian/$(cdbs_curpkg)/usr/share/doc/$(cdbs_curpkg)/examples/wikiserver-init.sh

# Make sure translations are up-to-date
common-build-indep:: debian/stamp-update-translations

debian/stamp-update-translations: common-configure-indep
	cd MoinMoin/i18n && make
	touch debian/stamp-update-translations

clean::
	cd MoinMoin/i18n && make clean
	rm -f MoinMoin/i18n/meta.py
	rm -f debian/stamp-update-translations
	rm -f debian/moin.1

# Setup system wide farmconfig.
binary-fixup/$(pkg)::
	mkdir -p debian/$(cdbs_curpkg)/etc/moin
	for file in `find debian/$(cdbs_curpkg)$(datadir)/config/wikifarm -type f -print`; do \
		sed -f debian/configtweaks.sed $$file > debian/$(cdbs_curpkg)/etc/moin/$${file##*/}; \
	done
	for file in `find debian/$(cdbs_curpkg)$(datadir)/server -type f -printf '%f\n'`; do \
		cat debian/$(cdbs_curpkg)$(datadir)/server/$$file | sed -f debian/servertweaks.sed > debian/$(cdbs_curpkg)$(datadir)/server/$$file.new; \
		chmod --reference=debian/$(cdbs_curpkg)$(datadir)/server/$$file debian/$(cdbs_curpkg)$(datadir)/server/$$file.new; \
		mv -f debian/$(cdbs_curpkg)$(datadir)/server/$$file.new debian/$(cdbs_curpkg)$(datadir)/server/$$file; \
	done

# Use systemwide word file as main dictionary
binary-fixup/$(pkg)::
	mkdir -p  debian/$(cdbs_curpkg)/usr/share/pyshared/MoinMoin/
	ln -s /etc/moin/words debian/$(cdbs_curpkg)/usr/share/pyshared/MoinMoin/
	ln -s /usr/share/dict/words debian/$(cdbs_curpkg)/etc/moin/words

# Move underlay to /usr/share/moin
install/$(pkg)::
	mkdir -p debian/$(cdbs_curpkg)$(datadir)
	mv debian/$(cdbs_curpkg)/usr/lib/python*/*-packages/MoinMoin/web/static/htdocs debian/$(cdbs_curpkg)$(datadir)
	ln -s debian/$(cdbs_curpkg)$(datadir)/htdocs debian/$(cdbs_curpkg)/usr/lib/python*/*-packages/MoinMoin/web/static/

# Strip TwikiDrawPlugin as we need to compile from source
binary-fixup/$(pkg)::
	rm -f debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/TWikiDrawPlugin/twikidraw.jar
	echo "This applet has not yet been packaged for Debian. for now it is available at http://debian.jones.dk/auryn/pool-all/official/moin/twikidraw/" > debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/TWikiDrawPlugin/README

# Strip FCKeditor, as it's provided by packages fckeditor
binary-fixup/$(pkg)::
	rm -rf debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/*
	echo "This applet is provided by Debian's fckeditor package." > debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/README
	echo "More info at /usr/share/doc/$(cdbs_curpkg)/README.Debian(.gz)" >> debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/FCKeditor/README

# Strip AnyWikiDrawForTWiki as needs to compile from source
binary-fixup/$(pkg)::
	rm -rf debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/anywikidraw/*
	echo "This applet has not yet been packaged for Debian." > debian/$(cdbs_curpkg)$(datadir)/htdocs/applets/anywikidraw/README

# Needed for our packaging
# * cdbs 0.4.72 or newer needed for variable $(cdbs_python_nondefault_version)
CDBS_BUILD_DEPENDS += , unzip, zip, cdbs (>= 0.4.72~)

# Needed (always, often or sometimes) at runtime
CDBS_DEPENDS += python-werkzeug, python-pygments, python-parsedatetime
CDBS_RECOMMENDS += , default-mta | mail-transport-agent, python-xapian, python-xappy, fckeditor
CDBS_RECOMMENDS += , libapache2-mod-wsgi | httpd-cgi
CDBS_SUGGESTS += , python-flup
CDBS_SUGGESTS += , python-4suite-xml, python-xml, python-gdchart, python-docutils (>= 0.3.10), python-pyxmpp, python-openid, python-tz, python-ldap, python-mysqldb
CDBS_SUGGESTS += , miscfiles | wordlist, antiword, catdoc, smbfs, poppler-utils | xpdf-utils, docbook-dsssl

# Transitional quirk: moinmoin-common dropped, functionality is in python-moinmoin
# (unneeded since Lenny: can be dropped after Lenny+1)
CDBS_PROVIDES += , moinmoin-common
CDBS_REPLACES += , moinmoin-common
CDBS_CONFLICTS += , moinmoin-common