#!/usr/bin/make -f # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. export SHELL = /bin/bash # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) changelog_values := $(shell dpkg-parsechangelog \ | awk '/^(Version|Source):/ {print $$2}') PKGSOURCE := $(word 1, $(changelog_values)) PKGVERSION := $(word 2, $(changelog_values)) distribution := $(shell lsb_release -is) export VER=2.6 export NVER=2.7 export PVER=python2.6 PREVVER := $(shell awk '/^python/ && NR > 1 {print substr($$2,2,length($$2)-2); exit}' debian/changelog) PREVVER := 2.6.6-1~ PWD := $(shell pwd) d := debian/tmp scriptdir = usr/share/lib/python$(VER) scriptdir = usr/share/python$(VER) scriptdir = usr/lib/python$(VER) rst2html = rst2html with_doc = yes ifneq ($(with_doc),yes) NOPKGS = -Npython-doc endif build: stamp-build stamp-build: touch stamp-build stamp-doc-policy: debiandoc2text debian/python-policy.sgml mv -f python-policy.txt debian/ debiandoc2html debian/python-policy.sgml rm -rf debian/python-policy.html mv -f python-policy.html debian/ make -C pydist README.PyDist.html touch stamp-doc-policy stamp-doc: stamp-doc-policy touch stamp-doc control-file: sed -e "s/@PVER@/$(PVER)/g" \ -e "s/@NVER@/$(NVER)/g" \ -e "s/@VER@/$(VER)/g" \ -e "s/@PREVVER@/$(PREVVER)/g" \ debian/control.tmp ifeq ($(distribution),Ubuntu) ifneq (,$(findstring ubuntu, $(PKGVERSION))) m='Ubuntu Developers '; \ sed -i "/^Maintainer:/s/\(.*\)/Maintainer: $$m\nXSBC-Original-\1/" \ debian/control.tmp endif endif [ -e debian/control ] \ && cmp -s debian/control debian/control.tmp \ && rm -f debian/control.tmp && exit 0; \ mv debian/control.tmp debian/control faqs = index general programming library extending windows gui installed get-faq: rm -rf faq mkdir faq cd faq && \ wget -nv $(foreach p,$(faqs),http://python.org/doc/faq/$(p).ht) sed 's,\<\([a-zA-Z0-9]*\.html\)\>,faq/\1,' faq/index.ht \ | awk '/^Translations$$/ {exit} {print}' > faq/FAQ.ht ( \ echo ''; \ echo 'This is a local copy of the online FAQ located at'; \ echo 'http://python.org/doc/faq.'; \ echo "The copy was fetched and generated in `date '+%B %Y'`."; \ ) >> faq/FAQ.ht rm -f faq/index.ht clean: control-file dh_testdir dh_testroot rm -f stamp-* rm -f patch-stamp* rm -f debian/python-policy.txt rm -rf debian/python-policy.html rm -f faq/*.h2 faq/*.html set -e;\ for f in debian/*.in; do \ f2=`echo $$f | sed "s,PVER,$(PVER),g;s/VER/$(VER)/g;s,\.in$$,,"`; \ if [ $$f2 != debian/control ]; then \ rm -f $$f2; \ fi; \ done rm -f debian/*.py[co] make clean dh_clean stamp-control: : # We have to prepare the various control files set -e;\ for f in debian/*.in; do \ f2=`echo $$f | sed "s,PVER,$(PVER),g;s/VER/$(VER)/g;s,\.in$$,,"`; \ if [ $$f2 != debian/control ]; then \ sed -e "s/@PVER@/$(PVER)/g;s/@VER@/$(VER)/g" \ -e "s/@PRIORITY@/$(PRIORITY)/g" \ -e "s,@SCRIPTDIR@,/$(scriptdir),g" \ <$$f >$$f2; \ fi; \ done install: build stamp-dh_python stamp-install stamp-install: stamp-build control-file stamp-control dh_testdir dh_testroot dh_installdirs usr/share/doc/python/faq dh_install set -e; \ cd faq && \ for p in *.ht; do \ p=`basename $$p .ht`; \ echo $(rst2html) $$p.ht $$p.html; \ awk 'NR > 2' $$p.ht > $$p.ht2; \ $(rst2html) $$p.ht2 $$p.html; \ mv $$p.html ../debian/python/usr/share/doc/python/faq/; \ rm -f $$p.ht2; \ done mv debian/python/usr/share/doc/python/faq/FAQ.html \ debian/python/usr/share/doc/python/ touch stamp-install stamp-dh_python: dh_testdir dh_testroot dh_installdirs make check_versions DESTDIR=debian/python PREFIX=/usr make install-dev DESTDIR=debian/python-minimal PREFIX=/usr make install-runtime # disabled by default, run manually if you want to update it # (requires apt-file and network connection) #make -C pydist dist_fallback touch $@ # Build architecture-independent files here. binary-indep: build install stamp-doc dh_testdir -i dh_testroot -i dh_installman -i : # provide the python and python.1 defaults mkdir -p debian/python-minimal/usr/bin ln -sf python$(VER) debian/python-minimal/usr/bin/python mkdir -p debian/python-minimal/usr/share/man/man1 ln -sf python$(VER).1.gz \ debian/python-minimal/usr/share/man/man1/python.1.gz : # mkdir -p debian/python-minimal/usr/share/python cp -p debian/debian_defaults \ debian/python-minimal/usr/share/python/ install -m 755 debian/pyversions.py \ debian/python-minimal/usr/share/python/ install -m 644 debian/pyversions.1 \ debian/python-minimal/usr/share/man/man1/ dh_link -ppython /usr/share/python/pyversions.py /usr/bin/pyversions # install -m 755 debian/pycompile \ # debian/python-minimal/usr/bin/ # install -m 755 debian/pyclean \ # debian/python-minimal/usr/bin/ # mkdir debian/python-minimal/usr/share/python-central # cp -p debian/python.pycentral debian/python-minimal/usr/share/python-central/ mkdir -p debian/python/usr/bin ln -sf pydoc$(VER) debian/python/usr/bin/pydoc ln -sf pygettext$(VER) debian/python/usr/bin/pygettext ln -sf pdb$(VER) debian/python/usr/bin/pdb ln -sf 2to3-$(VER) debian/python/usr/bin/2to3 mkdir -p debian/python/usr/share/python install -m 644 debian/python.mk \ debian/python/usr/share/python/ mkdir -p debian/python/usr/share/man/man1 ln -sf pydoc$(VER).1.gz \ debian/python/usr/share/man/man1/pydoc.1.gz ln -sf pygettext$(VER).1.gz \ debian/python/usr/share/man/man1/pygettext.1.gz ln -sf pdb$(VER).1.gz \ debian/python/usr/share/man/man1/pdb.1.gz mkdir -p debian/python/usr/share/doc/python cp -a debian/python-policy.{html,sgml,txt} \ debian/python/usr/share/doc/python/ mkdir -p debian/python/usr/share/pixmaps ln -sf python$(VER).xpm debian/python/usr/share/pixmaps/python.xpm : # add symlinks to policy files mkdir -p debian/python/usr/share/doc/python$(VER) for ext in html sgml.gz txt.gz; do \ ln -sf ../python/python-policy.$$ext \ debian/python/usr/share/doc/python$(VER)/python-policy.$$ext; \ done ifeq ($(with_doc),yes) mkdir -p debian/python-doc/usr/share/doc/python ln -sf ../python$(VER)-doc/html \ debian/python-doc/usr/share/doc/python/html mkdir -p debian/python-doc/usr/share/doc/python-doc ln -sf ../python$(VER)-doc/html \ debian/python-doc/usr/share/doc/python-doc/html endif mkdir -p debian/python/usr/share/apps/konsole cp -p debian/python.desktop debian/python/usr/share/apps/konsole/ : # provide the python-config default mkdir -p debian/python-dev/usr/bin ln -sf python$(VER)-config debian/python-dev/usr/bin/python-config : # provide the python-dbg and python-dbg.1 defaults mkdir -p debian/python-dbg/usr/bin ln -sf python$(VER)-dbg debian/python-dbg/usr/bin/python-dbg ln -sf python$(VER)-dbg-config debian/python-dbg/usr/bin/python-dbg-config mkdir -p debian/python-dbg/usr/share/man/man1 ln -sf python$(VER)-dbg.1.gz \ debian/python-dbg/usr/share/man/man1/python-dbg.1.gz mkdir -p debian/python-dbg/usr/share/doc/python ln -sf ../python$(VER)/SpecialBuilds.txt.gz \ debian/python-dbg/usr/share/doc/python/SpecialBuilds.txt.gz ln -sf ../python$(VER)/README.debug \ debian/python-dbg/usr/share/doc/python/README.debug mkdir -p debian/python/usr/lib/valgrind cp -p debian/valgrind-python.supp \ debian/python/usr/lib/valgrind/python.supp : # provide the idle and idle.1 defaults mkdir -p debian/idle/usr/bin install -m 755 debian/idle.py debian/idle/usr/bin/idle mkdir -p debian/idle/usr/share/man/man1 install -m 644 debian/idle.1 debian/idle/usr/share/man/man1/idle.1 mkdir -p debian/idle/usr/share/pixmaps ln -sf python.xpm debian/python/usr/share/pixmaps/idle.xpm mkdir -p debian/idle/usr/share/applications cp -p debian/idle.desktop debian/idle/usr/share/applications/ # dh_installdebconf -i $(NOPKGS) dh_lintian -i dh_installdocs -i $(NOPKGS) --all debian/README.Debian dh_installmenu -i $(NOPKGS) dh_installchangelogs -i $(NOPKGS) for p in all all-dev all-dbg dbg dev examples idle; do \ [ $$p = idle ] || p=python-$$p; \ rm -rf debian/$$p/usr/share/doc/$$p; \ ln -sf python debian/$$p/usr/share/doc/$$p; \ done dh_compress -i $(NOPKGS) dh_fixperms -i $(NOPKGS) dh_installdeb -i $(NOPKGS) dh_gencontrol -i $(NOPKGS) dh_md5sums -i $(NOPKGS) dh_builddeb -i $(NOPKGS) # Build architecture-dependent files here. binary-arch: build install # nothing to do binary: binary-indep binary-arch .PHONY: control-file configure build clean binary-indep binary-arch binary install # Local Variables: # mode: makefile # end: