-
Scott Kitterman authoredScott Kitterman authored
rules 8.67 KiB
#!/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.7
export NVER=2.8
export PVER=python2.7
PREVVER := $(shell awk '/^python/ && NR > 1 {print substr($$2,2,length($$2)-2); exit}' debian/changelog)
PREVVER := 2.7.3~rc2-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
build-arch: stamp-build
build-indep: 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.in >debian/control.tmp
ifeq ($(distribution),Ubuntu)
ifneq (,$(findstring ubuntu, $(PKGVERSION)))
m='Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>'; \
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 manpages
# 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-minimal /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
ln -sf 2to3-$(VER).1.gz \
debian/python/usr/share/man/man1/2to3.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/idle/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: