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 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
|
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# Lines commented with XXX are things that better should be fixed.
# XXX: This hack is necessary for glibc 2.0 systems (i.e. potato/m68k)
# This really should be a test for glibc 2.1 in configure.in, but for this
# time, it will work (libdb1.a does exist iff we're on a glibc 2.1 system):
DB1LIB = $(shell if [ -f /usr/lib/libdb1.a ]; then echo -ldb1; else echo -ldb; fi)
DB2LIB = $(shell if [ -f /usr/lib/libdb1.a ]; then echo -ldb; else echo -ldb2; fi)
configure: configure.in
# Since we changed configure.in, we have to build a new configure before.
autoconf
build: configure build-stamp
build-stamp:
dh_testdir
# Build Python with threads enabled.
./configure --prefix=/usr --with-thread
$(MAKE) DB1LIB=$(DB1LIB) DB2LIB=$(DB2LIB)
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
-$(MAKE) clean || true
-$(MAKE) distclean
dh_clean
install:
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# make install into tmp and subsequently move the files into
# their packages' directories.
install -d `pwd`/debian/tmp/usr
$(MAKE) prefix=`pwd`/debian/tmp/usr install
# XXX: dirty hack to allow postrm of old 1.4 packages
install -d `pwd`/debian/tmp/usr/lib/python1.4
install -m 644 debian/old_compileall.py `pwd`/debian/tmp/usr/lib/python1.4/compileall.py
# Some files in upstream Lib have strange exec permissions,
# make lintian glad:
chmod 755 `pwd`/debian/tmp/usr/lib/python1.5/test/test_popen2.py
# Move the static library and the header files into python-dev.
install -d `pwd`/debian/python-dev/usr/lib/python1.5
mv `pwd`/debian/tmp/usr/lib/python1.5/config `pwd`/debian/python-dev/usr/lib/python1.5/
rm -rf `pwd`/debian/python-dev/usr/include/python1.5
install -d `pwd`/debian/python-dev/usr/include/
mv `pwd`/debian/tmp/usr/include/python1.5 `pwd`/debian/python-dev/usr/include/
ln -s python1.5 `pwd`/debian/python-dev/usr/include/python
install -d `pwd`/debian/python-dev/usr/lib/
mv `pwd`/debian/tmp/usr/lib/libpython1.5.so `pwd`/debian/python-dev/usr/lib/
# We don't include STDWIN any more:
rm -rf `pwd`/debian/tmp/usr/lib/python1.5/lib-stdwin
# Move the Tkinter files into python-tk.
install -d `pwd`/debian/python-tk/usr/lib/python1.5/lib-dynload
mv `pwd`/debian/tmp/usr/lib/python1.5/lib-tk `pwd`/debian/python-tk/usr/lib/python1.5/
mv `pwd`/debian/tmp/usr/lib/python1.5/lib-dynload/_tkinter.so `pwd`/debian/python-tk/usr/lib/python1.5/lib-dynload/
# mpz module into python-mpz
install -d `pwd`/debian/python-mpz/usr/lib/python1.5/lib-dynload
mv `pwd`/debian/tmp/usr/lib/python1.5/lib-dynload/mpzmodule.so `pwd`/debian/python-mpz/usr/lib/python1.5/lib-dynload/
# gdbm and dbm modules into python-gdbm
install -d `pwd`/debian/python-gdbm/usr/lib/python1.5/lib-dynload
mv `pwd`/debian/tmp/usr/lib/python1.5/lib-dynload/gdbmmodule.so `pwd`/debian/python-gdbm/usr/lib/python1.5/lib-dynload/
mv `pwd`/debian/tmp/usr/lib/python1.5/lib-dynload/dbmmodule.so `pwd`/debian/python-gdbm/usr/lib/python1.5/lib-dynload/
# zlib module into python-zlib
install -d debian/python-zlib/usr/lib/python1.5/lib-dynload
mv debian/tmp/usr/lib/python1.5/lib-dynload/zlibmodule.so debian/python-zlib/usr/lib/python1.5/lib-dynload/
# The regression test
install -d debian/python-regrtest/usr/lib/python1.5
mv debian/tmp/usr/lib/python1.5/test/ debian/python-regrtest/usr/lib/python1.5/
# Prepare python-mode.el in python-elisp
install -d debian/python-elisp/usr/lib/emacsen-common/packages/install
install -m755 debian/python-elisp.install debian/python-elisp/usr/lib/emacsen-common/packages/install/python-elisp
install -d debian/python-elisp/usr/lib/emacsen-common/packages/remove
install -m755 debian/python-elisp.remove debian/python-elisp/usr/lib/emacsen-common/packages/remove/python-elisp
install -d debian/python-elisp/usr/share/emacs/site-lisp/python-elisp
install -m644 Misc/python-mode.el debian/python-elisp/usr/share/emacs/site-lisp/python-elisp/
install -d debian/python-elisp/etc/emacs/site-start.d
install -m644 debian/50python-mode.el debian/python-elisp/etc/emacs/site-start.d/
# IDLE
install -d `pwd`/debian/idle/usr/lib/idle
install -d `pwd`/debian/idle/usr/bin
cp -rp Tools/idle/* `pwd`/debian/idle/usr/lib/idle
rm `pwd`/debian/idle/usr/lib/idle/{NEWS,README,TODO,extend}.txt
rm `pwd`/debian/idle/usr/lib/idle/{ChangeLog,*.bat,*.pyw}
ln -s ../lib/idle/idle.py `pwd`/debian/idle/usr/bin/idle
# Move the demos and tools into python-example's doc directory
##todo dh_installexamples
install -d `pwd`/debian/python-examples/usr/share/doc/python/examples/
cp -rp Demo Tools `pwd`/debian/python-examples/usr/share/doc/python/examples/
rm -r `pwd`/debian/python-examples/usr/share/doc/python/examples/Demo/sgi
# IDLE is in its own package:
rm -r `pwd`/debian/python-examples/usr/share/doc/python/examples/Tools/idle
# XXX: We don't need rgb.txt, we'll use our own:
rm -r `pwd`/debian/python-examples/usr/share/doc/python/examples/Tools/pynche/X
# XXX: Some files in upstream Demo and Tools have strange exec permissions,
# make lintian glad:
chmod 644 `pwd`/debian/python-examples/usr/share/doc/python/examples/Demo/{classes/class.doc,classes/*.py*,comparisons/patterns,cwilib/*.py*,dns/*.py*,ibrowse/*,md5test/*,rpc/*,threads/*.py*,stdwin/ibrowse/*}
chmod 644 `pwd`/debian/python-examples/usr/share/doc/python/examples/Demo/pdist/{FSProxy.py,client.py,cmdfw.py,cmptree.py,cvslib.py,cvslock.py,mac.py,rcsclient.py,rcslib.py,security.py,server.py,sumtree.py}
chmod 644 `pwd`/debian/python-examples/usr/share/doc/python/examples/Demo/sockets/{broadcast.py,ftp.py,mcast.py,radio.py,unicast.py}
chmod 644 `pwd`/debian/python-examples/usr/share/doc/python/examples/Demo/tkinter/guido/{AttrDialog.py,ManPage.py,ShellWindow.py,hanoi.py,hello.py,imagedraw.py,imageview.py,listtree.py,regexdemo.py,wish.py}
chmod 644 `pwd`/debian/python-examples/usr/share/doc/python/examples/Demo/tkinter/www/{Para.py,fmt.py,htmllib.py,sgmllib.py,tkfmt.py}
chmod 644 `pwd`/debian/python-examples/usr/share/doc/python/examples/Demo/scripts/{morse.py,newslist.doc,wh.py}
chmod 755 `pwd`/debian/python-examples/usr/share/doc/python/examples/Demo/{stdwin/ibrowse/ib.py,ibrowse/ib.py}
chmod 644 `pwd`/debian/python-examples/usr/share/doc/python/examples/Tools/{bgen/README,bgen/bgen/*.py*,freeze/winmakemakefile.py,modulator/{EXAMPLE.py,README,ScrolledListbox.py,genmodule.py,varsubst.py,Templates/*}}
chmod 644 `pwd`/debian/python-examples/usr/share/doc/python/examples/Tools/scripts/{mailerdaemon.py,README,dutree.doc}
# Move the docs into python-base's /usr/doc/python directory,
# all other packages only have a copyright file.
dh_installdocs --noscripts README Misc/NEWS Misc/ACKS Misc/BLURB Misc/HISTORY debian/sample.postinst debian/sample.prerm debian/README.maintainers debian/README.dbm
mv debian/tmp/usr/share/doc/python-base debian/tmp/usr/share/doc/python
dh_installdocs --noscripts --all debian/README.Debian
dh_installdocs
# IDLE has its own changelogs, docs...
dh_installchangelogs -pidle Tools/idle/ChangeLog
dh_installdocs -pidle Tools/idle/{NEWS,README,TODO,extend}.txt
# those packages have own README.Debian's
install -m 644 -p debian/README.python-base debian/tmp/usr/share/doc/python/README.Debian
install -m 644 -p debian/README.python-elisp debian/python-elisp/usr/share/doc/python-elisp/README.Debian
install -m 644 -p debian/README.idle debian/idle/usr/share/doc/idle/README.Debian
#install -d debian/tmp/etc/python
#ln -s /etc/python/sitecustomize.py debian/tmp/usr/lib/python1.5/
dh_movefiles
touch install-stamp
# Build architecture-independent files here.
binary-indep: build install
# dh_testversion
dh_testdir -i
dh_testroot -i
dh_installdocs -i
dh_installexamples -i
dh_installmenu -i
# dh_installemacsen -i
# dh_installinit -i
dh_installcron -i
dh_installmanpages -pidle
# dh_undocumented
dh_installchangelogs -i
dh_compress -i
dh_fixperms -i
dh_suidregister -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build architecture-dependent files here.
binary-arch: build install
# dh_testversion
dh_testdir -a
dh_testroot -a
dh_installdocs -a
dh_installexamples -a
dh_installmenu -a
# dh_installemacsen -a
# dh_installinit -a
dh_installcron -a
## dh_installmanpages -a
# dh_undocumented
dh_installchangelogs -a
dh_strip -a
dh_compress -a
dh_fixperms -a
dh_suidregister -a
dh_installdeb -a
dh_shlibdeps -a
sed 's/, python-base (\([^\)]*\))//' <debian/substvars >debian/substvars.tmp
mv debian/substvars.tmp debian/substvars
sed 's/tk8.0 (\([^\)]*\))/tk8.0/' <debian/python-tk.substvars >debian/python-tk.substvars.tmp
mv debian/python-tk.substvars.tmp debian/python-tk.substvars
dh_gencontrol -a
## dh_makeshlibs -a
dh_md5sums -a
dh_builddeb -a
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
|