Warning: this is a htmlized version!
The original is across this link. |
####### # # E-scripts on making ".deb"s. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/a/e/debiandev.e> # or at <http://angg.twu.net/e/debiandev.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/a/.emacs[.html]>, # <http://angg.twu.net/a/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### ##### # # Some places with important docs # ##### lynx /usr/doc/debian/FAQ/debian-faq.html lynx /usr/doc/debian/FAQ/debian-faq-15.html#ss15.1 # (find-fline "$S/ftp/ftp.debian.org/debian/doc/package-developer/") # (find-fline "$S/ftp/ftp.debian.org/debian/doc/package-developer/developers-reference.text.gz") cd $S/http/www.debian.org/~elphick/ddp/ # (find-vldifile "debhelper.list") # (find-fline "/usr/doc/debhelper/") # (find-fline "/usr/doc/debhelper/README") # (find-fline "/usr/doc/debhelper/examples/") zcat /var/catman/cat1/debhelper.1.gz | colcrt > ~/o # (find-fline "/var/catman/cat1/debhelper.1.gz") PAGER=cat man debhelper # (find-vldifile "debmake.list") # (find-fline "/usr/doc/debmake/") ##### # # hello # ##### rm -Rv pdsc /big/slinks1/dists/slink/main/source/devel/hello-debhelper_1.3-14.3.dsc pdsc /big/slinks1/dists/slink/main/source/devel/debhelper_1.1.24.dsc pdsc /big/slinks1/dists/slink/main/source/devel/dh-make_0.7.dsc apti packaging-manual apti debhelper dh-make # Debhelper is a replacement for debstd, and at this time # (slink/potato) is the standard tool for building packages. # (find-fline "/usr/doc/debhelper/from-debstd") # (find-fline "/usr/doc/debhelper/") # (find-fline "/usr/doc/dh-make/") # (find-fline "/usr/doc/packaging-manual/") # (find-fline "/usr/doc/packaging-manual/packaging.text.gz") # (find-vldifile "debhelper.list") # (find-vldifile "dh-make.list") # (find-vldifile "packaging-manual.list") # (eeman "dh_make") # (find-es "tcl" "mktclapp") apti devscripts # (find-vldifile "devscripts.list") # (find-fline "/usr/doc/devscripts/") ##### # # mktclapp: raw make # 99aug?? # ##### # «mktclapp_raw» rm -Rv /usr/src/mktclapp* mkdir /usr/src/mktclapp-3.7/ cd /usr/src/mktclapp-3.7/ tar -xvzf $S/http/www.hwaci.com/sw/mktclapp/mktclapp.tar.gz cd /usr/src/mktclapp-3.7/ cat > hello.c <<'---' /* A C module */ #include <stdio.h> #include "mta.h" int ET_COMMAND_print_hello(ET_TCLARGS){ printf("Hello, out there!\n"); return TCL_OK; } --- cat > hello.tcl <<'---' button .b -text Go -command print_hello button .e -text Quit -command exit pack .b .e -side left --- cat > Makefile <<'---' mktclapp: mktclapp.c mta.h: mktclapp ./mktclapp -header > mta.h glue.c: mktclapp hello.c hello.tcl ./mktclapp -dont-strip-tcl -read-stdin \ hello.c -main-script hello.tcl > glue.c glue.o: glue.c mta.h hello.o: hello.c mta.h hello: glue.o hello.o gcc -ltk8.0 -ltcl8.0 -L/usr/X11R6/lib -lX11 -lm -ldl \ -o hello glue.o hello.o clean: rm -fv mta.h glue.c glue.o hello.o hello --- make clean make hello |& tee om # The program below has a window AND a stdin interpreter. ./hello ##### # # dh_make on mktclapp # 99aug?? # ##### # «mktclapp_dh_make» rm -Rv /usr/src/mktclapp* mkdir /usr/src/mktclapp-3.7/ cd /usr/src/mktclapp-3.7/ tar -xvzf $S/http/www.hwaci.com/sw/mktclapp/mktclapp.tar.gz export EMAIL=edrx@inx.com.br echo s | dh_make cd /usr/src/mktclapp-3.7/debian/ rm -v crontab.ex diversions.ex inetd.conf.ex info.ex init.d.ex menu.ex watch.ex # (find-fline "~/Makefile.mta") cd /usr/src/mktclapp-3.7/ cp ~/Makefile.mta Makefile debian/rules binary |& tee odrb # (find-fline "/usr/src/mktclapp-3.7/debian/") # (deb-view "/usr/src/mktclapp_3.7-1_i386.deb") dpkg -i /usr/src/mktclapp_3.7-1_i386.deb # (find-vldifile "mktclapp.list") # (find-fline "/usr/doc/mktclapp/") dpkg --purge mktclapp install *.html *.gif balloon.tcl $(DESTDIR)/usr/doc/ # (find-fline "/usr/src/mktclapp-3.7/debian/") # (find-fline "/usr/src/pforth-21/debian/") # (find-fline "/usr/doc/packaging-manual/packaging.text.gz") ###### # # Packaging mktclapp in a more serious way # 99aug26 # ###### # «mktclapp» rm -Rv /usr/src/mktclapp-3.7/ mkdir /usr/src/mktclapp-3.7/ cd /usr/src/mktclapp-3.7/ tar -xvzf $S/http/www.hwaci.com/sw/mktclapp/mktclapp.tar.gz cd ~/debian/mktclapp/ cp -dipvR * /usr/src/mktclapp-3.7/ cd /usr/src/mktclapp-3.7/ debian/rules binary |& tee odrb cd /usr/src/mktclapp-3.7/debian/tmp/ find cd /usr/src/ mv -v mktclapp*.deb .debs/ # apt-update # apti mktclapp dpkg -i /usr/src/.debs/mktclapp_3.7-1_i386.deb # (find-fline "~/debian/mktclapp/") # (find-fline "~/debian/mktclapp/Makefile") # (find-fline "~/debian/mktclapp/examples/") # (find-fline "~/debian/mktclapp/debian/") # (find-fline "/usr/src/mktclapp-3.7/odrb") # (find-fline "/usr/src/mktclapp-3.7/debian/") # (find-vldifile "mktclapp.list") # (find-fline "/usr/doc/mktclapp/") # (find-fline "/usr/doc/mktclapp/examples/") # (find-fline "/usr/doc/mktclapp/examples/README") # (find-fline "/usr/doc/packaging-manual/packaging.text.gz") # (find-vldifile "et.list") # (find-fline "/usr/doc/et/") # (find-fline "/usr/doc/et/html/.dhelp") pdsc /big/slinks1/dists/slink/main/source/devel/et_80b2-8.dsc # (eeman "dhelp_parse") ##### # # extracting the examples from mktclapp.html # 99aug?? # ##### # (find-node "(gawk)Pattern Overview") # (find-node "(gawk)Using Constant Regexps") # (find-node "(gawk)Print") cd /usr/doc/mktclapp/ awk '/<pre>/ { p=1 }; { if(p) {print $0} }; /<\/pre>/ { p=0 }' \ < mktclapp.html > ~/o awk '{ if ($0 ~ /pre>/) print ""; else print $0 }' < ~/o > ~/o2 # (find-fline "~/o2") # (fooi "<" "<" ">" ">" "<b>" "" "</b>" "") a2ps -o /tmp/o.ps -X ibmpc \ --columns=2 --rows=1 --major=columns --portrait --medium=A4dj \ ~/o2 gv /tmp/o.ps cd /tmp make -f ~/LATEX/Makefile o.p01 pdsc /big/slinks1/dists/slink/main/source/devel/et_80b2-8.dsc ##### # # Making a manpage # 99sep?? # ##### # «manpage_via_groff» # (find-es "debiandev" "writing_pods") # (find-fline "~/.zshrc" "man2t") # (find-vldifile "groff.list") # (find-fline "/usr/doc/groff/") # (eeman "groff_man") # (eeman "colcrt") # (eeman "col") man --help cd /tmp/ man -Tascii groff_man > groff_man # col -b < groff_man > groff_man.txt colcrt groff_man > groff_man.txt man -Tascii troff | colcrt > /tmp/troff.txt man -Tascii 7 man | colcrt > /tmp/7man.txt # (find-fline "/tmp/groff_man.txt") # (find-fline "/tmp/troff.txt") # (find-fline "/tmp/7man.txt") groff -Tps -man < /usr/lib/deb-make/debian/manpage.1.ex > /tmp/manpage.ps gv /tmp/manpage.ps & man -Tps 7 man > /tmp/7man.ps gv /tmp/7man.ps & # (find-fline "/usr/lib/deb-make/debian/manpage.1.ex") # (find-fline "/tmp/manpage.ps") # (find-fline "/usr/share/groff/tmac/tmac.an") # (find-fline "/usr/share/groff/tmac/tmac.andoc") apti manpages-dev # (find-vldifile "manpages-dev.list") # (find-fline "/usr/doc/manpages-dev/") # (find-fline "/usr/doc/mktclapp/") # (find-fline "/usr/doc/mktclapp/quickref.html") # (find-fline "~/debian/mktclapp/m.1") # (find-fline "/usr/man/man7/undocumented.7.gz") # (find-fline "/usr/man/man1/gcc.1.gz") # (find-fline "/usr/man/man7/man.7.gz") lynx $LH/cgi-bin/man2html ##### # # groff # 99oct?? # ##### pdsc /big/slinks2/dists/slink/main/source/text/groff_1.11a-7.dsc cd /usr/src/groff-1.11a/ etags troff/{*.cc,*.h} # (code-c-d "grof" "/usr/src/groff-1.11a/") # (find-groffile "") # (find-groffile "tmac/") # (find-groffile "tmac/tmac.an") # (find-groffile "tmac/tmac.e") # (find-groffile "tmac/tmac.s") # (find-groffile "tmac/tmac.safer") # (find-groffile "tmac/tmac.trace") # (find-groffile "tmac/tmac.tty") # (find-groffile "tmac/tmac.tty-char") # # To understand tmac.an: # # (defun find-tcom (n &rest lixo) (eeman "troff" n)) # (defun find-tcom (n &rest lixo) (find-fline "/tmp/troff.txt" n)) # (defun find-trofs (f s) (find-groffile (format "troff/%s" f) (format "\"%s\"" s))) man -Tascii troff | col -b > /tmp/troff.txt cd /usr/src/groff-1.11a/troff/ # for i in *.cc *.h; do getstrings < $i; done | sort > ogss for i in *.cc *.h; do echo "\n\n __ $i\n"; getstrings < $i; done > ogs awk '/__/ { file = $2 } NF==1 && /^\.?[A-Za-z]+$/ { # printf "(find-groffile \"troff/%s\" \"\\\"%s\\\"\")\n", file, $1 printf "(find-trofs \"%s\" \"%s\")\n", file, $1 } ' \ < ogs > ogsa # (find-groffile "troff/ogs") # (find-groffile "troff/ogsa") # (find-fline "/tmp/troff.txt") # (find-groffile "tmac/tmac.an") lynx $S/http/www.kohala.com/~rstevens/troff/troff.html $S/http/plan9.bell-labs.com/7thEdMan/vol2/troff.bun $S/http/plan9.bell-labs.com/7thEdMan/vol2/trofftut.bun cd /tmp rm -Rv troff mkdir troff cd /tmp/troff/ sh $S/http/plan9.bell-labs.com/7thEdMan/vol2/troff.bun # (find-fline "/tmp/troff/") # (find-fline "/tmp/troff/tprint") groff -Tascii -me add groff -Tascii -mm m0 groff -Tascii -me add groff -Tascii -me add groff -Tascii -me add groff -Tascii -me add groff -Tascii -me add # (find-fline "~/.zshrc" "heredoc") # (find-zshfile "") # (find-zshfile "Src/builtin.c" "to start a new option parse") strace-to ~/s man -Tascii troff rm -v /tmp/grotty /tmp/o cd /tmp/ heredoc grotty -m 0777 <<'---' #!/bin/sh tee /tmp/o | /usr/bin/grotty --- laf PATH=/tmp:$PATH man -Tascii 2 undocumented > u strace -f -etrace=open,fork,execve,wait4 -o ~/s man -Tascii 2 undocumented strace -f -etrace=fork,execve,wait4 -o ~/s man -Tascii 2 undocumented # (find-fline "~/s") grep -v '\-1 E' s | egrep -v 'wait4|resume|exited|fork' ##### # # debhelper # 99oct?? # ##### # (find-vldifile "debhelper.list") # (find-fline "/usr/doc/debhelper/") # (find-vldifile "debmake.list") # (find-fline "/usr/bin/deb-make") # (find-fline "/usr/lib/deb-make/debians/") # (find-fline "/usr/doc/debmake/") # (find-fline "/usr/bin/dh_installdirs") # (find-fline "/usr/bin/dh_testversion") # (eeman "dh_testversion") # (find-fline "/usr/bin/dh_testdir") # (eeman "dh_testdir") # (find-fline "/usr/bin/dh_testroot") # (eeman "dh_testroot") # (find-fline "/usr/bin/dh_installdocs") # (eeman "dh_installdocs") # (find-fline "/usr/bin/dh_installexamples") # (eeman "dh_installexamples") # (find-fline "/usr/bin/dh_installmenu") # (eeman "dh_installmenu") # (find-fline "/usr/bin/dh_installemacsen") # (eeman "dh_installemacsen") # (find-fline "/usr/bin/dh_installinit") # (eeman "dh_installinit") # (find-fline "/usr/bin/dh_installcron") # (eeman "dh_installcron") # (find-fline "/usr/bin/dh_installmanpages") # (eeman "dh_installmanpages") # (find-fline "/usr/bin/dh_undocumented") # (eeman "dh_undocumented") # (find-fline "/usr/bin/dh_installchangelogs") # (eeman "dh_installchangelogs") # (find-fline "/usr/bin/dh_strip") # (eeman "dh_strip") # (find-fline "/usr/bin/dh_compress") # (eeman "dh_compress") # (find-fline "/usr/bin/dh_fixperms") # (eeman "dh_fixperms") # (find-fline "/usr/bin/dh_suidregister") # (eeman "dh_suidregister") # (find-fline "/usr/bin/dh_installdeb") # (eeman "dh_installdeb") # (find-fline "/usr/bin/dh_shlibdeps") # (eeman "dh_shlibdeps") # (find-fline "/usr/bin/dh_gencontrol") # (eeman "dh_gencontrol") # (find-fline "/usr/bin/dh_makeshlibs") # (eeman "dh_makeshlibs") # (find-fline "/usr/bin/dh_md5sums") # (eeman "dh_md5sums") # (find-fline "/usr/bin/dh_builddeb") # (eeman "dh_builddeb") ##### # # pgp5i-5.0 (needed for signing packages) # 99oct?? # ##### pdsc $SNUDEBIAN/dists/slink/non-US/source/pgp5i_5.0-3.dsc cd /usr/src/pgp5i-5.0/ debian/rules binary |& tee odrb mv -v /usr/src/pgp*deb /usr/src/.debs/ apt-update apti pgp5i # (find-vldifile "pgp5i.list") # (find-fline "/usr/doc/pgp5i/") man 1 pgpk man 1 pgps man 1 pgpv man 1 pgp5 man 1 pgpe man 5 pgp.cfg man 7 pgp-intro man 7 pgp-integration pgpk -g # pass Weisman ###### # # pgp2.6 # 99oct?? # ###### # «pgp2.6» # (find-fline "$SNUDEBIAN/") # (find-fline "$SNUDEBIAN/ls-lR.i") # (find-fline "$SNUDEBIAN/indices-non-US/Packages-Master-i386") # (find-vldifile "pgp-i.list") # (find-fline "/usr/doc/pgp-i/") pdsc $SNUDEBIAN/dists/slink/non-US/source/pgp_2.6.3a-4.dsc cd /usr/src/pgp-2.6.3a/ debian/rules binary |& tee odrb # Not ok, so I decided to (oh, no) fetch the binary package. dpkg -i $SNUDEBIAN/dists/slink/non-US/binary-i386/pgp-i_2.6.3a-4.deb pgp -kg ##### # # mktclapp: making a source debian package # 99oct?? # ##### # «mktclapp_dbp» rm -Rv /usr/src/mktclapp-3.7.orig/ mkdir /usr/src/mktclapp-3.7.orig/ cd /usr/src/mktclapp-3.7.orig/ tar -xvzf $S/http/www.hwaci.com/sw/mktclapp/mktclapp.tar.gz rm -Rv /usr/src/mktclapp-3.7/ mkdir /usr/src/mktclapp-3.7/ cd /usr/src/mktclapp-3.7/ tar -xvzf $S/http/www.hwaci.com/sw/mktclapp/mktclapp.tar.gz cd ~/debian/mktclapp/ cp -dipvR * /usr/src/mktclapp-3.7/ cd /usr/src/mktclapp-3.7/ dpkg-buildpackage # (find-fline "~/debian/mktclapp/debian/") # (find-fline "/usr/bin/dpkg-buildpackage") # (find-fline "/usr/bin/dpkg-buildpackage" 124) ###### # # lintian # 99oct?? # ###### # «lintian» apti lintian diffstat # (find-fline "/usr/doc/diffstat/") # (find-fline "/usr/doc/lintian/") # (find-vldifile "diffstat.list") # (find-vldifile "lintian.list") # (find-fline "/usr/doc/lintian/README" "lintian <something>") # Must be run as a non-root user. cd /usr/src/ lintian mktclapp_3.7-1_i386.deb lintian mktclapp_3.7-1.dsc lintian mktclapp_3.7-1_i386.changes ###### # # ? # ###### # (eeman "dpkg-buildpackage") # (eeman "dpkg-buildpackage" 208) ##### # # Making a manpage via pod # 99nov03 # ##### # «writing_pods» # (find-es "debiandev" "manpage_via_groff") # (find-pl5file "pod/") # (find-pl5file "pod/perlpod.pod") # (find-fline "~/debian/mktclapp/") # (find-fline "~/debian/mktclapp/m.1") # (find-fline "~/debian/mktclapp/m.pod") # (eeman "perlpod") # (eeman "pod2man") # (eeman "1 man" "A manual page consists") # (find-fline "/usr/man/man3/") # (eeman "Tcl_Read") cd ~/debian/mktclapp/ pod2man --section=1 --center="mktclapp" --release="mktclapp 3.7" m.pod \ > /tmp/m.1 \ && man2t /tmp/m.1 | l ###### # # mktclapp-3.8: testing and making the .deb # 00jan13 # ###### # «mktclapp-3.8» rm -Rv /usr/src/mktclapp-3.8/ cd /usr/src/ tar -xvzf $S/http/www.hwaci.com/sw/mktclapp/mktclapp.tar.gz mv mktclapp mktclapp-3.8 cd /usr/src/mktclapp-3.8/ cd ~/mktclapp-3.8/ cp -dipvR * /usr/src/mktclapp-3.8/ cd /usr/src/mktclapp-3.8/ debian/rules binary |& tee odrb mv -v /usr/src/mktclapp_3.8*.deb /usr/src/.debs/ # apti mktclapp dpkg -i /usr/src/.debs/mktclapp_3.8-1_i386.deb cd /usr/doc/mktclapp/examples/ sh README # -ltk -L/usr/X11R6/lib -lX11 -ltcl -lm -ldl # (find-mtafile "examples/") # (find-mtafile "examples/README") # (find-mtafile "examples/Makefile" "factor_.c") # (find-mtafile "examples/appinit.mta") # (find-mtafile "") # (find-fline "~/mktclapp-3.8/") # (find-fline "~/mktclapp-3.8/mktclapp.pod") # (find-fline "~/mktclapp-3.8/Makefile" "%.1") # (find-fline "~/mktclapp-3.8/debian/") # (find-fline "~/mktclapp-3.8/examples/") # (find-fline "~/mktclapp-3.8/examples/Makefile" "8.0") # (find-vldifile "mktclapp.list") # (find-fline "/usr/doc/mktclapp/") cd /usr/src/mktclapp-3.8/examples/ make mktclapp.h mktclapp -notk -extension Factor \ factor.c > factor_e.c make factor_e.o factor.o gcc -shared -o factor.so factor_e.o factor.o expect -c ' load ./factor.so factor 12 puts ' # (find-fline "/usr/doc/packaging-manual/packaging.text.gz") # (find-vldifile "et.list") # (find-fline "/usr/doc/et/") # (find-fline "/usr/doc/et/html/.dhelp") pdsc /big/slinks1/dists/slink/main/source/devel/et_80b2-8.dsc # (eeman "dhelp_parse")