--- pydb-1.19.orig/Doc/Makefile +++ pydb-1.19/Doc/Makefile @@ -0,0 +1,610 @@ +# Makefile for Python documentation +# --------------------------------- +# +# See also the README file. +# +# This is a bit of a mess. The documents are identified by short names: +# api -- Python/C API Reference Manual +# doc -- Documenting Python +# ext -- Extending and Embedding the Python Interpreter +# lib -- Library Reference Manual +# mac -- Macintosh Library Modules +# ref -- Python Reference Manual +# tut -- Python Tutorial +# inst -- Installing Python Modules +# dist -- Distributing Python Modules +# +# The LaTeX sources for each of these documents are in subdirectories +# with the three-letter designations above as the directory names. +# +# The main target creates HTML for each of the documents. You can +# also do "make lib" (etc.) to create the HTML versions of individual +# documents. +# +# The document classes and styles are in the texinputs/ directory. +# These define a number of macros that are similar in name and intent +# as macros in Texinfo (e.g. \code{...} and \emph{...}), as well as a +# number of environments for formatting function and data definitions. +# Documentation for the macros is included in "Documenting Python"; see +# http://www.python.org/doc/current/doc/doc.html, or the sources for +# this document in the doc/ directory. +# +# Everything is processed by LaTeX. See the file `README' for more +# information on the tools needed for processing. +# +# There's a problem with generating the index which has been solved by +# a sed command applied to the index file. The shell script fix_hack +# does this (the Makefile takes care of calling it). +# +# Additional targets attempt to convert selected LaTeX sources to +# various other formats. These are generally site specific because +# the tools used are all but universal. These targets are: +# +# ps -- convert all documents from LaTeX to PostScript +# pdf -- convert all documents from LaTeX to the +# Portable Document Format +# +# See the README file for more information on these targets. +# +# The formatted output is located in subdirectories. For PDF and +# PostScript, look in the paper-$(PAPER)/ directory. For HTML, look in +# the html/ directory. If you want to fix the GNU info process, look +# in the info/ directory; please send patches to docs@python.org. + +# This Makefile only includes information on how to perform builds; for +# dependency information, see Makefile.deps. +srcdir=. +DISTFILES=lib/lib.tex lib/libpydb.tex Makefile.in Makefile.deps \ + html + +PYTHON_SRC:=$(shell cd .. && pwd) +PYTHON_DOC:=$(shell cd . && pwd) + +# Customization -- you *may* have to edit this + +# You could set this to a4: +PAPER=letter + +# Ideally, you shouldn't need to edit beyond this point +.PHONY: realclean distclean clean clobber test check + + +INFODIR= $(srcdir)/info +TOOLSDIR= $(srcdir)/tools + +# This is the *documentation* release, and is used to construct the +# file names of the downloadable tarballs. It is initialized by the +# getversioninfo script to ensure that the right version number is +# used; the script will also write commontex/patchlevel.tex if that +# doesn't exist or needs to be changed. Documents which depend on the +# version number should use \input{patchlevel} and include +# commontex/patchlevel.tex in their dependencies. +RELEASE:=$(shell $(PYTHON) $(PYTHON_DOC)/tools/getversioninfo) + +PYTHON:= python +DVIPS:= dvips -N0 -t $(PAPER) + +# This is ugly! The issue here is that there are two different levels +# in the directory tree at which we execute mkhowto, so we can't +# define it just once using a relative path (at least not with the +# current implementation and Makefile structure). We use the GNUish +# $(shell) function here to work around that restriction by +# identifying mkhowto and the commontex/ directory using absolute paths. +# +# If your doc build fails immediately, you may need to switch to GNU make. +# (e.g. OpenBSD needs package gmake installed; use gmake instead of make) +PWD=$(shell pwd) + +# (The trailing colon in the value is needed; TeX places its default +# set of paths at the location of the empty string in the path list.) +TEXINPUTS:=$(PYTHON_DOC)/commontex: + +# The mkhowto script can be run from the checkout using the first +# version of this variable definition, or from a preferred version +# using the second version. The standard documentation is typically +# built using the second flavor, where the preferred version is from +# the Python CVS trunk. +MKHOWTO= TEXINPUTS=$(TEXINPUTS) $(PYTHON) $(PYTHON_DOC)/tools/mkhowto + +MKDVI= $(MKHOWTO) --paper=$(PAPER) --dvi +MKHTML= $(MKHOWTO) --html --about html/stdabout.dat \ + --iconserver ../icons --favicon ../icons/pyfav.png \ + --address $(PYTHONDOCS) --up-link ../index.html \ + --up-title "Python Documentation Index" \ + --global-module-index "../modindex.html" --dvips-safe +MKPDF= $(MKHOWTO) --paper=$(PAPER) --pdf +MKPS= $(MKHOWTO) --paper=$(PAPER) --ps + +BUILDINDEX=$(TOOLSDIR)/buildindex.py + +PYTHONDOCS="See About this document... for information on suggesting changes." +HTMLBASE= file:`pwd` + +# The emacs binary used to build the info docs. GNU Emacs 21 is required. +EMACS= emacs + +# The end of this should reflect the major/minor version numbers of +# the release: +WHATSNEW=whatsnew25 + +# what's what +MANDVIFILES= paper-$(PAPER)/lib.dvi + +MANPDFFILES= paper-$(PAPER)/lib.pdf + +HOWTOPDFFILES= + +MANPSFILES= paper-$(PAPER)/lib.ps + +DVIFILES= $(MANDVIFILES) $(HOWTODVIFILES) +PDFFILES= $(MANPDFFILES) $(HOWTOPDFFILES) +PSFILES= $(MANPSFILES) $(HOWTOPSFILES) + +HTMLCSSFILES=html/lib/lib.css + +ISILOCSSFILES= + +ALLCSSFILES=$(HTMLCSSFILES) $(ISILOCSSFILES) + +INDEXFILES=html/lib/lib.html + +ALLHTMLFILES=$(INDEXFILES) + +COMMONPERL= $(PYTHON_DOC)/perl/manual.perl $(PYTHON_DOC)/perl/python.perl $(PYTHON_DOC)/perl/l2hinit.perl + +ANNOAPI=api/refcounts.dat tools/anno-api.py + +include ./Makefile.deps + +# These must be declared phony since there +# are directories with matching names: +.PHONY: api doc lib ref tut inst dist install +.PHONY: html info + + +# Main target +default: html +all: html info dvi ps pdf + +dvi: $(DVIFILES) +pdf: $(PDFFILES) +ps: $(PSFILES) + +# For now, we don't install anything. +install: + +# For now, we don't test/check anything. +test check: + +world: ps pdf html distfiles + + +# Rules to build PostScript and PDF formats +.SUFFIXES: .dvi .ps + +.dvi.ps: + $(DVIPS) -o $@ $< + + +# Targets for each document: +# Python/C API Reference Manual +paper-$(PAPER)/api.dvi: $(ANNOAPIFILES) + cd paper-$(PAPER) && $(MKDVI) api.tex + +paper-$(PAPER)/api.pdf: $(ANNOAPIFILES) + cd paper-$(PAPER) && $(MKPDF) api.tex + +paper-$(PAPER)/api.tex: api/api.tex + cp api/api.tex $@ + +paper-$(PAPER)/abstract.tex: api/abstract.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/abstract.tex + +paper-$(PAPER)/concrete.tex: api/concrete.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/concrete.tex + +paper-$(PAPER)/exceptions.tex: api/exceptions.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/exceptions.tex + +paper-$(PAPER)/init.tex: api/init.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/init.tex + +paper-$(PAPER)/intro.tex: api/intro.tex + cp api/intro.tex $@ + +paper-$(PAPER)/memory.tex: api/memory.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/memory.tex + +paper-$(PAPER)/newtypes.tex: api/newtypes.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/newtypes.tex + +paper-$(PAPER)/refcounting.tex: api/refcounting.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/refcounting.tex + +paper-$(PAPER)/utilities.tex: api/utilities.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/utilities.tex + +paper-$(PAPER)/veryhigh.tex: api/veryhigh.tex $(ANNOAPI) + $(PYTHON) $(TOOLSDIR)/anno-api.py -o $@ api/veryhigh.tex + +# Distributing Python Modules +paper-$(PAPER)/dist.dvi: $(DISTFILES) + cd paper-$(PAPER) && $(MKDVI) ../dist/dist.tex + +paper-$(PAPER)/dist.pdf: $(DISTFILES) + cd paper-$(PAPER) && $(MKPDF) ../dist/dist.tex + +# Documenting Python +paper-$(PAPER)/doc.dvi: $(DOCFILES) + cd paper-$(PAPER) && $(MKDVI) ../doc/doc.tex + +paper-$(PAPER)/doc.pdf: $(DOCFILES) + cd paper-$(PAPER) && $(MKPDF) ../doc/doc.tex + +# Extending and Embedding the Python Interpreter +paper-$(PAPER)/ext.dvi: $(EXTFILES) + cd paper-$(PAPER) && $(MKDVI) ../ext/ext.tex + +paper-$(PAPER)/ext.pdf: $(EXTFILES) + cd paper-$(PAPER) && $(MKPDF) ../ext/ext.tex + +# Installing Python Modules +paper-$(PAPER)/inst.dvi: $(INSTFILES) + cd paper-$(PAPER) && $(MKDVI) ../inst/inst.tex + +paper-$(PAPER)/inst.pdf: $(INSTFILES) + cd paper-$(PAPER) && $(MKPDF) ../inst/inst.tex + +# Python Library Reference +paper-$(PAPER)/lib.dvi: $(LIBFILES) + cd paper-$(PAPER) && $(MKDVI) ../lib/lib.tex + +paper-$(PAPER)/lib.pdf: $(LIBFILES) + cd paper-$(PAPER) && $(MKPDF) ../lib/lib.tex + +# Macintosh Library Modules +paper-$(PAPER)/mac.dvi: $(MACFILES) + cd paper-$(PAPER) && $(MKDVI) ../mac/mac.tex + +paper-$(PAPER)/mac.pdf: $(MACFILES) + cd paper-$(PAPER) && $(MKPDF) ../mac/mac.tex + +# Python Reference Manual +paper-$(PAPER)/ref.dvi: $(REFFILES) + cd paper-$(PAPER) && $(MKDVI) ../ref/ref.tex + +paper-$(PAPER)/ref.pdf: $(REFFILES) + cd paper-$(PAPER) && $(MKPDF) ../ref/ref.tex + +# Python Tutorial +paper-$(PAPER)/tut.dvi: $(TUTFILES) + cd paper-$(PAPER) && $(MKDVI) ../tut/tut.tex + +paper-$(PAPER)/tut.pdf: $(TUTFILES) + cd paper-$(PAPER) && $(MKPDF) ../tut/tut.tex + +# What's New in Python X.Y +paper-$(PAPER)/$(WHATSNEW).dvi: whatsnew/$(WHATSNEW).tex + cd paper-$(PAPER) && $(MKDVI) ../whatsnew/$(WHATSNEW).tex + +paper-$(PAPER)/$(WHATSNEW).pdf: whatsnew/$(WHATSNEW).tex + cd paper-$(PAPER) && $(MKPDF) ../whatsnew/$(WHATSNEW).tex + +# The remaining part of the Makefile is concerned with various +# conversions, as described above. See also the README file. + +info: + cd $(INFODIR) && $(MAKE) EMACS=$(EMACS) WHATSNEW=$(WHATSNEW) + +# Targets to convert the manuals to HTML using Nikos Drakos' LaTeX to +# HTML converter. For more info on this program, see +# . + +# Note that LaTeX2HTML inserts references to an icons directory in +# each page that it generates. I have placed a copy of this directory +# in the distribution to simplify the process of creating a +# self-contained HTML distribution; for this purpose I have also added +# a (trivial) index.html. Change the definition of $ICONSERVER in +# perl/l2hinit.perl to use a different location for the icons directory. + +# If you have the standard LaTeX2HTML icons installed, the versions shipped +# with this documentation should be stored in a separate directory and used +# instead. The standard set does *not* include all the icons used in the +# Python documentation. + +$(ALLCSSFILES): html/style.css + cp $< $@ + +$(INDEXFILES): $(COMMONPERL) \ + $(PYTHON_DOC)/html/stdabout.dat $(PYTHON_DOC)/tools/node2label.pl + +html/acks.html: ACKS $(TOOLSDIR)/support.py $(TOOLSDIR)/mkackshtml + $(PYTHON) $(TOOLSDIR)/mkackshtml --address $(PYTHONDOCS) \ + --favicon icons/pyfav.png \ + --output html/acks.html $@ + +html/modindex.html: $(TOOLSDIR)/support.py $(TOOLSDIR)/mkmodindex +html/modindex.html: html/dist/dist.html +html/modindex.html: html/lib/lib.html html/mac/mac.html + cd html && \ + $(PYTHON) ../$(TOOLSDIR)/mkmodindex --columns 3 \ + --output modindex.html --address $(PYTHONDOCS) \ + --favicon icons/pyfav.png \ + dist/modindex.html \ + lib/modindex.html mac/modindex.html + +html: $(ALLHTMLFILES) + +doc: html/doc/doc.html html/doc/doc.css +html/doc/doc.html: $(DOCFILES) + $(MKHTML) --dir html/doc doc/doc.tex + +lib: html/lib/lib.html html/lib/lib.css +html/lib/lib.html: $(LIBFILES) + $(MKHTML) --dir html/lib lib/lib.tex + +tut: html/tut/tut.html html/tut/tut.css +html/tut/tut.html: $(TUTFILES) + $(MKHTML) --dir html/tut --numeric --split 3 tut/tut.tex + +inst: html/inst/inst.html html/inst/inst.css +html/inst/inst.html: $(INSTFILES) $(PYTHON_DOC)/perl/distutils.perl + $(MKHTML) --dir html/inst --split 4 inst/inst.tex + +whatsnew: html/whatsnew/$(WHATSNEW).html +html/whatsnew/$(WHATSNEW).html: whatsnew/$(WHATSNEW).tex + $(MKHTML) --dir html/whatsnew --split 4 whatsnew/$(WHATSNEW).tex + + +# The iSilo format is used by the iSilo document reader for PalmOS devices. + +ISILOINDEXFILES= + +$(ISILOINDEXFILES): $(COMMONPERL) html/stdabout.dat $(PYTHON_DOC)/perl/isilo.perl + +# webchecker needs an extra flag to process the huge index from the libref +WEBCHECKER=$(PYTHON) ../Tools/webchecker/webchecker.py +HTMLBASE= file:`pwd`/html + +webcheck: $(ALLHTMLFILES) + $(WEBCHECKER) $(HTMLBASE)/api/ + $(WEBCHECKER) $(HTMLBASE)/doc/ + $(WEBCHECKER) $(HTMLBASE)/ext/ + $(WEBCHECKER) -m290000 $(HTMLBASE)/lib/ + $(WEBCHECKER) $(HTMLBASE)/mac/ + $(WEBCHECKER) $(HTMLBASE)/ref/ + $(WEBCHECKER) $(HTMLBASE)/tut/ + $(WEBCHECKER) $(HTMLBASE)/dist/ + $(WEBCHECKER) $(HTMLBASE)/inst/ + $(WEBCHECKER) $(HTMLBASE)/whatsnew/ + +fastwebcheck: $(ALLHTMLFILES) + $(WEBCHECKER) -x $(HTMLBASE)/api/ + $(WEBCHECKER) -x $(HTMLBASE)/doc/ + $(WEBCHECKER) -x $(HTMLBASE)/ext/ + $(WEBCHECKER) -x -m290000 $(HTMLBASE)/lib/ + $(WEBCHECKER) -x $(HTMLBASE)/mac/ + $(WEBCHECKER) -x $(HTMLBASE)/ref/ + $(WEBCHECKER) -x $(HTMLBASE)/tut/ + $(WEBCHECKER) -x $(HTMLBASE)/dist/ + $(WEBCHECKER) -x $(HTMLBASE)/inst/ + $(WEBCHECKER) -x $(HTMLBASE)/whatsnew/ + + +# Release packaging targets: + +paper-$(PAPER)/README: $(PSFILES) $(TOOLSDIR)/getpagecounts + cd paper-$(PAPER) && ../$(TOOLSDIR)/getpagecounts -r $(RELEASE) >../$@ + +info-$(RELEASE).tgz: info + cd $(INFODIR) && tar cf - README python.dir python-*.info* \ + | gzip -9 >../$@ + +info-$(RELEASE).tar.bz2: info + cd $(INFODIR) && tar cf - README python.dir python-*.info* \ + | bzip2 -9 >../$@ + +latex-$(RELEASE).tgz: + $(PYTHON) $(TOOLSDIR)/mksourcepkg --gzip $(RELEASE) + +latex-$(RELEASE).tar.bz2: + $(PYTHON) $(TOOLSDIR)/mksourcepkg --bzip2 $(RELEASE) + +latex-$(RELEASE).zip: + rm -f $@ + $(PYTHON) $(TOOLSDIR)/mksourcepkg --zip $(RELEASE) + +pdf-$(PAPER)-$(RELEASE).tar: $(PDFFILES) + rm -f $@ + mkdir Python-Docs-$(RELEASE) + cp paper-$(PAPER)/*.pdf Python-Docs-$(RELEASE) + tar cf $@ Python-Docs-$(RELEASE) + rm -r Python-Docs-$(RELEASE) + +pdf-$(PAPER)-$(RELEASE).tgz: pdf-$(PAPER)-$(RELEASE).tar + gzip -9 <$? >$@ + +pdf-$(PAPER)-$(RELEASE).tar.bz2: pdf-$(PAPER)-$(RELEASE).tar + bzip2 -9 <$? >$@ + +pdf-$(PAPER)-$(RELEASE).zip: pdf + rm -f $@ + mkdir Python-Docs-$(RELEASE) + cp paper-$(PAPER)/*.pdf Python-Docs-$(RELEASE) + zip -q -r -9 $@ Python-Docs-$(RELEASE) + rm -r Python-Docs-$(RELEASE) + +postscript-$(PAPER)-$(RELEASE).tar: $(PSFILES) paper-$(PAPER)/README + rm -f $@ + mkdir Python-Docs-$(RELEASE) + cp paper-$(PAPER)/*.ps Python-Docs-$(RELEASE) + cp paper-$(PAPER)/README Python-Docs-$(RELEASE) + tar cf $@ Python-Docs-$(RELEASE) + rm -r Python-Docs-$(RELEASE) + +postscript-$(PAPER)-$(RELEASE).tar.bz2: postscript-$(PAPER)-$(RELEASE).tar + bzip2 -9 <$< >$@ + +postscript-$(PAPER)-$(RELEASE).tgz: postscript-$(PAPER)-$(RELEASE).tar + gzip -9 <$< >$@ + +postscript-$(PAPER)-$(RELEASE).zip: $(PSFILES) paper-$(PAPER)/README + rm -f $@ + mkdir Python-Docs-$(RELEASE) + cp paper-$(PAPER)/*.ps Python-Docs-$(RELEASE) + cp paper-$(PAPER)/README Python-Docs-$(RELEASE) + zip -q -r -9 $@ Python-Docs-$(RELEASE) + rm -r Python-Docs-$(RELEASE) + +HTMLPKGFILES=*.html */*.css */*.html */*.gif */*.png + +html-$(RELEASE).tar: $(ALLHTMLFILES) $(HTMLCSSFILES) + mkdir Python-Docs-$(RELEASE) + -find html -name '*.gif' -size 0 | xargs rm -f + cd html && tar cf ../temp.tar $(HTMLPKGFILES) + cd Python-Docs-$(RELEASE) && tar xf ../temp.tar + rm temp.tar + tar cf html-$(RELEASE).tar Python-Docs-$(RELEASE) + rm -r Python-Docs-$(RELEASE) + +html-$(RELEASE).tgz: html-$(RELEASE).tar + gzip -9 <$? >$@ + +html-$(RELEASE).tar.bz2: html-$(RELEASE).tar + bzip2 -9 <$? >$@ + +html-$(RELEASE).zip: $(ALLHTMLFILES) $(HTMLCSSFILES) + rm -f $@ + mkdir Python-Docs-$(RELEASE) + cd html && tar cf ../temp.tar $(HTMLPKGFILES) + cd Python-Docs-$(RELEASE) && tar xf ../temp.tar + rm temp.tar + zip -q -r -9 $@ Python-Docs-$(RELEASE) + rm -r Python-Docs-$(RELEASE) + +isilo-$(RELEASE).zip: isilo + rm -f $@ + mkdir Python-Docs-$(RELEASE) + cp isilo/python-*.pdb Python-Docs-$(RELEASE) + zip -q -r -9 $@ Python-Docs-$(RELEASE) + rm -r Python-Docs-$(RELEASE) + + +# convenience targets: + +tarhtml: html-$(RELEASE).tgz +tarinfo: info-$(RELEASE).tgz +tarps: postscript-$(PAPER)-$(RELEASE).tgz +tarpdf: pdf-$(PAPER)-$(RELEASE).tgz +tarlatex: latex-$(RELEASE).tgz + +tarballs: tarpdf tarps tarhtml + +ziphtml: html-$(RELEASE).zip +zipps: postscript-$(PAPER)-$(RELEASE).zip +zippdf: pdf-$(PAPER)-$(RELEASE).zip +ziplatex: latex-$(RELEASE).zip + +zips: zippdf zipps ziphtml + +bziphtml: html-$(RELEASE).tar.bz2 +bzipinfo: info-$(RELEASE).tar.bz2 +bzipps: postscript-$(PAPER)-$(RELEASE).tar.bz2 +bzippdf: pdf-$(PAPER)-$(RELEASE).tar.bz2 +bziplatex: latex-$(RELEASE).tar.bz2 + +bzips: bzippdf bzipps bziphtml + +disthtml: bziphtml ziphtml +distinfo: bzipinfo +distps: bzipps zipps +distpdf: bzippdf zippdf +distlatex: bziplatex ziplatex + +# We use the "pkglist" target at the end of these to ensure the +# package list is updated after building either of these; this seems a +# reasonable compromise between only building it for distfiles or +# having to build it manually. Doing it here allows the packages for +# distribution to be built using either of +# make distfiles && make PAPER=a4 paperdist +# make paperdist && make PAPER=a4 distfiles +# The small amount of additional work is a small price to pay for not +# having to remember which order to do it in. ;) +paperdist: distpdf distps pkglist +edist: disthtml distinfo zipisilo pkglist + +# The pkglist.html file is used as part of the download.html page on +# python.org; it is not used as intermediate input here or as part of +# the packages created. +pkglist: + $(TOOLSDIR)/mkpkglist >pkglist.html + +distfiles: paperdist edist + $(TOOLSDIR)/mksourcepkg --bzip2 --zip $(RELEASE) + $(TOOLSDIR)/mkpkglist >pkglist.html + + +# Housekeeping targets + +# Remove temporary files; all except the following: +# - sources: .tex, .bib, .sty, *.cls +# - useful results: .dvi, .pdf, .ps, .texi, .info +clean: + -rm -f html-$(RELEASE).tar + -rm -f $(INDEXFILES) +# cd $(INFODIR) && $(MAKE) clean + +# Remove temporaries as well as final products +clobber: clean + -rm -f html-$(RELEASE).tgz info-$(RELEASE).tgz + -rm -f pdf-$(RELEASE).tgz postscript-$(RELEASE).tgz + -rm -f latex-$(RELEASE).tgz html-$(RELEASE).zip + -rm -f pdf-$(RELEASE).zip postscript-$(RELEASE).zip + -rm -f $(DVIFILES) $(PSFILES) $(PDFFILES) + cd $(INFODIR) && $(MAKE) clobber + -rm -f paper-$(PAPER)/*.tex paper-$(PAPER)/*.ind paper-$(PAPER)/*.idx + -rm -f paper-$(PAPER)/*.l2h paper-$(PAPER)/*.how paper-$(PAPER)/README + -rm -rf html/index.html html/lib/ + +realclean distclean: clobber + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done --- pydb-1.19.orig/Doc/pydb.1 +++ pydb-1.19/Doc/pydb.1 @@ -0,0 +1,198 @@ +.TH pydb 1 +.SH NAME +pydb \- enhanced Python debugger +.SH SYNOPSIS +.B pydb +[debugger-options] +python-script +[script-options...] +.SH "DESCRIPTION" +This manual page documents briefly the +.BR pydb +command. +.PP +.B pydb +is an extended Python debugger. It extends the Python standard +debugger pdb and is suited for use with the graphical debugger DDD. +The purpose of a debugger such as this one is to allow you to see what is +going on ``inside'' another program while it executes\(em\&or what another +program was doing at the moment it crashed. + +.PP +We follow gdb's command set unless there's good reason not to. + +.PP +pydb can do four main kinds of things (plus other things in support of +these) to help you catch bugs in the act: + +.TP +\ \ \ \(bu +Start or restart your Python script, specifying arguments that might +affect its behavior. + +.TP +\ \ \ \(bu +Make your program stop at various points possibly determined by +specified conditions. + +.TP +\ \ \ \(bu +Examine what has happened when your program has stopped. + +.TP +\ \ \ \(bu +Change things in your program, so you can experiment with correcting the +effects of one bug and go on to learn about another. +.PP + +Here are some of the most frequently-needed commands: +.TP +.B break \fR[\|\fIfile\fB:\fIline\fR\fR|\fIfunction\fR] +\& +Set a breakpoint at \c +.I function\c +\& or at the specified file and line. +.TP +.B clear \fR[\|\fIfile\fB:\fIline\fR\fR|\fIfunction\fR] +\& +Clear a breakpoint at \c +.I function\c +\& or at the specified file and line. +.TP +.TP +.B continue +Continue running your program (after stopping, e.g. at a breakpoint). +.TP +.B delete \fR[\fIbreakpoint-numbers\fR] +\& +Delete breakpoints by number. +.TP +.B disassemble \fR[\fIlocation\fR] +\& +Disassemble Python instructions +.TP +.BI examine " expr"\c +\& +Give type/object and value information about expression. +.TP +.B finish +Run until the completion of the current function or method. +.TP +.BI frame " frame-number" +Set the stack frame to \fIframe-number\fR for purposes of examinine local variables. For positioning relative to the current frame, use +.B up +or +.B down. +.TP +.B help \fR[\|\fIname\fR\|] +Show information about pydb command \c +.I name\c +\&, or general information +about using pydb. +.TP +.B info \fR[\|\fIname\fR\|] +Get the various information usually about the debugged program. +.TP +.B list \fR[\|\fIfile\fB:\fIline\fR|\fIfunction] +type the text of the program in the vicinity of where it is presently stopped +or at the specified function or file and line. +.TP +.B next \fR[\|\fIcount\fR\|] +Execute next program line(s) (after stopping); step \c +.I over\c +\& any +function calls in the line. +.TP +.BI pp " expr"\c +\& +Pretty print the value of an expression. +.TP +.BI print " expr"\c +\& +Display the value of an expression. +.TP +.BI source " filename"\c +\& +Read and execute the lines in file \fIfilename\fR as a series of debugger +commands. +.TP +.B quit +Exit from the debugger. +.TP +.B run \fR[\|\fIarglist\fR\|] +(Re)start your program (with \c +.I arglist\c +\&, if specified). If you want the debugger to get reloaded, use +.B restart +instead. +.TP +.B set +Modify parts of the debugger environment. +.TP +.B shell \fIcommand\fR +Run a shell command. +.TP +.B show +See the debugger environment settings +.TP +.B step \fR[\|\fIcount\fR\|] +Execute next program line(s) (after stopping); step \c +.I into\c +\& any +function calls in the line. +.TP +.B where \fR[\|\fIcount\fR\|] +Display all or \fIcount\fR items of the program stack. +.PP +For full details on pydb, see \c +http://bashdb.sourceforge.net/pydb/pydb/index.html +.SH OPTIONS +.PP +.TP 10 +.B \-h | \-\-help +show invocation help and exit +.TP +.B \-\-version +show the version number and exit +.TP +.B \-n | \-\-nx +Don't execute commands found in any initialization files +.TP +.B \-\-batch +Don't run interactive commands on debugger entry +.TP +.B \-\-cd=DIR +Change current directory to DIR. +.TP +.B \-x | \-\-command=FILE +Execute commands from FILE +.TP +.B \-e | \-\-exec +Run debugger commands command-list. Commands should be separated by +";;"-the same as you would do inside the debugger. You may need to +quote this option to prevent command shell interpretation, e.g. --exec +"break 20;; continue" +.TP +.B \-\-error=FILE +Write debugger's error output (stderr) to FILE +.TP +.B \-o | \-\-output=FILE +Write debugger's output (stdout) to FILE +.TP +.B \-X | \-\-trace +Show lines before executing them. This option also sets --batch. +.PD +.SH "SEE ALSO" +.Sp +/usr/share/python-support/pydb/pydb/pydb.doc and +.Sp +http://bashdb.sourceforge.net/pydb/ +.SH AUTHOR +pydb was written by Richard Wolff (now retired) +based on the standard Python debugger pdb.py. Over the many years, pdb.py and +pydb.py have diverged. It was subsequently revised and +expanded to be more like gdb by Rocky Bernstein + +The first version of this manual page was written by Gregor Hoffleit + for the Debian project (but may be used by +others). --- pydb-1.19.orig/pydb/pydb.py +++ pydb-1.19/pydb/pydb.py @@ -1,4 +1,4 @@ -#!/usr/local/bin/python -t +#!/usr/bin/python -t """$Id: pydb.py.in,v 1.122 2006/10/13 22:45:10 rockyb Exp $ A Python debugger. Contains user-callable routines, e.g. run, set_trace, runevel. --- pydb-1.19.orig/test/pm.py +++ pydb-1.19/test/pm.py @@ -1,4 +1,4 @@ -#!/usr/local/bin/python -t +#!/usr/bin/python -t # $Id: pm.py.in,v 1.4 2006/07/29 01:52:57 rockyb Exp $ -*- Python -*- "Unit test for Extended Python debugger's Post-Mortem (pm) commands " import difflib, os, time, sys, unittest --- pydb-1.19.orig/test/test.py +++ pydb-1.19/test/test.py @@ -1,4 +1,4 @@ -#!/usr/local/bin/python -t +#!/usr/bin/python -t # $Id: test.py.in,v 1.35 2006/10/27 02:15:39 rockyb Exp $ -*- Python -*- "Unit test for the Extended Python debugger." import difflib, os, time, sys, unittest --- pydb-1.19.orig/test/connect.py +++ pydb-1.19/test/connect.py @@ -1,4 +1,4 @@ -#!/usr/local/bin/python -t +#!/usr/bin/python -t # $Id: connect.py.in,v 1.5 2006/09/21 08:56:54 rockyb Exp $ -*- Python -*- # This unit test doesn't use any of the debugger code. It is meant solely --- pydb-1.19.orig/test/sighandle.py +++ pydb-1.19/test/sighandle.py @@ -1,4 +1,4 @@ -#!/usr/local/bin/python -t +#!/usr/bin/python -t # -*- Python -*- # $Id: sighandle.py.in,v 1.4 2006/10/08 19:20:43 rockyb Exp $ "Unit test for Extended Python debugger's signal handling commands " --- pydb-1.19.orig/test/sigtest.py +++ pydb-1.19/test/sigtest.py @@ -1,4 +1,4 @@ -#!/usr/local/bin/python -t +#!/usr/bin/python -t # -*- Python -*- # $Id: sigtest.py.in,v 1.17 2006/10/09 20:11:56 rockyb Exp $ "Unit test for Extended Python debugger's signal handling commands " --- pydb-1.19.orig/test/trace.py +++ pydb-1.19/test/trace.py @@ -1,4 +1,4 @@ -#!/usr/local/bin/python -t +#!/usr/bin/python -t # $Id: trace.py.in,v 1.7 2006/09/22 00:20:42 rockyb Exp $ -*- Python -*- "Unit test of program execution tracing using the Extended Python debugger " import difflib, os, time, sys, unittest --- pydb-1.19.orig/test/Makefile +++ pydb-1.19/test/Makefile @@ -0,0 +1,458 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# test/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +#$Id: Makefile.am,v 1.30 2006/10/25 10:50:12 rockyb Exp $ +# Copyright (C) 2006 Rocky Bernstein +# +# 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 of the License, 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 USA. + +# SUBDIRS := thread +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/pydb +pkglibdir = $(libdir)/pydb +pkgincludedir = $(includedir)/pydb +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = test +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/connect.py.in $(srcdir)/except.py.in \ + $(srcdir)/fifo_connect.py.in $(srcdir)/file.py.in \ + $(srcdir)/fns.py.in $(srcdir)/pm.py.in $(srcdir)/runtest.py.in \ + $(srcdir)/settrace.py.in $(srcdir)/sighandle.py.in \ + $(srcdir)/sigtest.py.in $(srcdir)/tcp_connect.py.in \ + $(srcdir)/test.py.in $(srcdir)/trace.py.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = connect.py except.py fifo_connect.py file.py \ + fns.py pm.py settrace.py runtest.py sighandle.py sigtest.py \ + tcp_connect.py test.py trace.py +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run aclocal-1.9 +AMTAR = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run tar +AUTOCONF = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run autoconf +AUTOHEADER = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run autoheader +AUTOMAKE = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run automake-1.9 +AWK = gawk +CVS2CL = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run cvs2cl +CYGPATH_W = echo +DEFS = -DPACKAGE_NAME=\"pydb\" -DPACKAGE_TARNAME=\"pydb\" -DPACKAGE_VERSION=\"1.19\" -DPACKAGE_STRING=\"pydb\ 1.19\" -DPACKAGE_BUGREPORT=\"bashdb-pydb-devel@lists.sourceforge.net\" -DPACKAGE=pydb -DPACKAGE=\"pydb\" -DVERSION=\"1.19\" +ECHO_C = +ECHO_N = -n +ECHO_T = +EMACS = no +EMACSLOADPATH = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_EMACS_LISP_FALSE = # +INSTALL_EMACS_LISP_TRUE = +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LIBOBJS = +LIBS = +LN_S = ln -s +LTLIBOBJS = +MAINT = # +MAINTAINER_MODE_FALSE = +MAINTAINER_MODE_TRUE = # +MAKEINFO = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run makeinfo +PACKAGE = pydb +PACKAGE_BUGREPORT = bashdb-pydb-devel@lists.sourceforge.net +PACKAGE_NAME = pydb +PACKAGE_STRING = pydb 1.19 +PACKAGE_TARNAME = pydb +PACKAGE_VERSION = 1.19 +PATH_SEPARATOR = : +PYTHON = /usr/bin/python +PYTHON_EXEC_PREFIX = ${exec_prefix} +PYTHON_PLATFORM = linux2 +PYTHON_PREFIX = ${prefix} +PYTHON_VERSION = 2.4 +READLINE = readline +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.19 +ac_ct_STRIP = +am__leading_dot = . +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +datadir = ${prefix}/share +exec_prefix = ${prefix} +host_alias = +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/malex/debian/pydb/1.19/pydb-1.19/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +lispdir = ${datadir}/emacs/site-lisp +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pkgpyexecdir = ${pyexecdir}/pydb +pkgpythondir = ${pythondir}/pydb +prefix = /home/malex/debian/pydb/1.19/pydb-1.19/debian/pydb/usr +program_transform_name = s,x,x, +pyexecdir = ${exec_prefix}/lib/python2.4/site-packages +pythondir = /home/malex/debian/pydb/1.19/pydb-1.19/debian/pydb/usr/lib/python2.4/site-packages +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +check_DATA = \ + brkpt1.cmd \ + brkpt1.right \ + brkpt1t.right \ + brkpt2.cmd \ + brkpt2.right \ + brkpt2-2.3.right \ + brkpt3.cmd \ + brkpt3.right \ + brkpt3t.right \ + cmdparse.cmd \ + cmdparse.right \ + comm1.cmd \ + comm2.cmd \ + connect.py \ + except.py \ + file.cmd \ + file.right \ + file-2.5.right \ + filebug.cmd \ + filebug.py \ + filebug.right \ + gcd.py \ + hanoi.py \ + history.cmd \ + history.right \ + logging.cmd \ + logging.right \ + noscript.cmd \ + noscript.right \ + pm.cmd \ + pm.py \ + pm.right \ + run.cmd \ + run.right \ + run2.cmd \ + run2.right \ + sighandle.py \ + sighandler.cmd \ + sighandler.right \ + sigtest.py \ + sigtestexample.py \ + test.py \ + trace-2.5.right \ + trace.py \ + trace.right + +TESTS = fns.py test.py file.py pm.py trace.py sighandle.py sigtest.py \ + runtest.py connect.py tcp_connect.py fifo_connect.py + +EXTRA_DIST = $(check_DATA) except.py.in file.py.in fns.py.in pm.py.in \ + runtest.py.in settrace.py.in test.py.in sighandle.py.in sigtest.py.in \ + trace.py.in + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu test/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: # $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): # $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +connect.py: $(top_builddir)/config.status $(srcdir)/connect.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +except.py: $(top_builddir)/config.status $(srcdir)/except.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +fifo_connect.py: $(top_builddir)/config.status $(srcdir)/fifo_connect.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +file.py: $(top_builddir)/config.status $(srcdir)/file.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +fns.py: $(top_builddir)/config.status $(srcdir)/fns.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +pm.py: $(top_builddir)/config.status $(srcdir)/pm.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +settrace.py: $(top_builddir)/config.status $(srcdir)/settrace.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +runtest.py: $(top_builddir)/config.status $(srcdir)/runtest.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +sighandle.py: $(top_builddir)/config.status $(srcdir)/sighandle.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +sigtest.py: $(top_builddir)/config.status $(srcdir)/sigtest.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +tcp_connect.py: $(top_builddir)/config.status $(srcdir)/tcp_connect.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +test.py: $(top_builddir)/config.status $(srcdir)/test.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +trace.py: $(top_builddir)/config.status $(srcdir)/trace.py.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +check-TESTS: $(TESTS) + @failed=0; all=0; xfail=0; xpass=0; skip=0; \ + srcdir=$(srcdir); export srcdir; \ + list='$(TESTS)'; \ + if test -n "$$list"; then \ + for tst in $$list; do \ + if test -f ./$$tst; then dir=./; \ + elif test -f $$tst; then dir=; \ + else dir="$(srcdir)/"; fi; \ + if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xpass=`expr $$xpass + 1`; \ + failed=`expr $$failed + 1`; \ + echo "XPASS: $$tst"; \ + ;; \ + *) \ + echo "PASS: $$tst"; \ + ;; \ + esac; \ + elif test $$? -ne 77; then \ + all=`expr $$all + 1`; \ + case " $(XFAIL_TESTS) " in \ + *" $$tst "*) \ + xfail=`expr $$xfail + 1`; \ + echo "XFAIL: $$tst"; \ + ;; \ + *) \ + failed=`expr $$failed + 1`; \ + echo "FAIL: $$tst"; \ + ;; \ + esac; \ + else \ + skip=`expr $$skip + 1`; \ + echo "SKIP: $$tst"; \ + fi; \ + done; \ + if test "$$failed" -eq 0; then \ + if test "$$xfail" -eq 0; then \ + banner="All $$all tests passed"; \ + else \ + banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ + fi; \ + else \ + if test "$$xpass" -eq 0; then \ + banner="$$failed of $$all tests failed"; \ + else \ + banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ + fi; \ + fi; \ + dashes="$$banner"; \ + skipped=""; \ + if test "$$skip" -ne 0; then \ + skipped="($$skip tests were not run)"; \ + test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$skipped"; \ + fi; \ + report=""; \ + if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ + report="Please report to $(PACKAGE_BUGREPORT)"; \ + test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ + dashes="$$report"; \ + fi; \ + dashes=`echo "$$dashes" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + test -z "$$skipped" || echo "$$skipped"; \ + test -z "$$report" || echo "$$report"; \ + echo "$$dashes"; \ + test "$$failed" -eq 0; \ + else :; fi + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_DATA) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-TESTS check-am clean clean-generic \ + distclean distclean-generic distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am uninstall-info-am + + +test: check +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: --- pydb-1.19.orig/test/fifo_connect.py +++ pydb-1.19/test/fifo_connect.py @@ -0,0 +1,58 @@ +#!/usr/bin/python -t +# $Id: fifo_connect.py.in,v 1.4 2006/09/21 08:56:54 rockyb Exp $ -*- Python -*- + +# This unit test doesn't use any of the debugger code. It is meant solely +# to test the connection classes. + +import os, sys, thread, time, unittest + +top_builddir = "../" +if top_builddir[-1] != os.path.sep: + top_builddir += os.path.sep +sys.path.insert(0, os.path.join(top_builddir, 'pydb')) +top_srcdir = ".." +if top_srcdir[-1] != os.path.sep: + top_srcdir += os.path.sep +sys.path.insert(0, os.path.join(top_srcdir, 'pydb')) + +import connection + +class TestFIFOConnections(unittest.TestCase): + + def test_client_server(self): + """Test that the we can read and write between a FIFO client and + server""" + fname='fifotest' + server = connection.ConnectionFIFO(is_server=True) + client = connection.ConnectionFIFO(is_server=False) + thread.start_new_thread(server.connect, (fname,)) + for i in range(10): + if not hasattr(server, 'outp') or server.outp is None: + time.sleep(0.05) + client.connect(fname) + line = 'this is a test\n' + client.write(line) + + for i in range(10): + if not os.path.exists('fifotest.out'): + time.sleep(0.05) + else: + break + + self.assertEqual(True, os.path.exists('fifotest.out')) + for i in range(10): + if not hasattr(server, 'inp') or server.inp is None: + time.sleep(0.05) + l2 = server.readline() + self.assertEqual(l2, line, "client to server") + line = 'Another test\n' + server.write(line) + l2 = client.readline() + self.assertEqual(l2, line, "server to client") + client.disconnect() + server.disconnect() + # And again just to see what will happen + server.disconnect() + +if __name__ == '__main__': + unittest.main() --- pydb-1.19.orig/test/file.py +++ pydb-1.19/test/file.py @@ -0,0 +1,70 @@ +#!/usr/bin/python -t +# $Id: file.py.in,v 1.2 2006/09/25 00:08:13 rockyb Exp $ -*- Python -*- +"Unit test of the file command for Extended Python debugger " +import difflib, os, time, sys, unittest + +top_builddir = "../" +if top_builddir[-1] != os.path.sep: + top_builddir += os.path.sep +sys.path.insert(0, os.path.join(top_builddir, 'pydb')) +top_srcdir = ".." +if top_srcdir[-1] != os.path.sep: + top_srcdir += os.path.sep +sys.path.insert(0, os.path.join(top_srcdir, 'pydb')) + +builddir = "." +if builddir[-1] != os.path.sep: + builddir += os.path.sep + +srcdir = "." +if srcdir[-1] != os.path.sep: + srcdir += os.path.sep + +pydir = os.path.join(top_builddir, "pydb") +pydb_short = "pydb.py" +pydb_path = os.path.join(pydir, pydb_short) + +def run_debugger(testname, pydb_opts='', args=''): + global srcdir, builddir, pydir + + if sys.version_info[0:2] == (2, 5): + rightfile = os.path.join(srcdir, "%s-2.5.right" % testname) + else: + rightfile = os.path.join(srcdir, "%s.right" % testname) + + cmdfile = os.path.join(srcdir, "%s.cmd" % testname) + outfile = "%s.out" % testname + outfile_opt = '--output=%s ' % outfile + + # print "builddir: %s, cmdfile: %s, outfile: %s, rightfile: %s" % \ + # (builddir, cmdfile, outfile, rightfile) + + if os.path.exists(outfile): os.unlink(outfile) + + cmd = "%s --command %s %s %s %s" % \ + (pydb_path, cmdfile, outfile_opt, pydb_opts, args) + + os.system(cmd) + fromfile = rightfile + fromdate = time.ctime(os.stat(fromfile).st_mtime) + fromlines = open(fromfile, 'U').readlines()[0:-2] + tofile = outfile + todate = time.ctime(os.stat(tofile).st_mtime) + tolines = open(tofile, 'U').readlines()[0:-2] + diff = list(difflib.unified_diff(fromlines, tolines, fromfile, + tofile, fromdate, todate)) + if len(diff) == 0: + os.unlink(outfile) + for line in diff: + print line, + return len(diff) == 0 + +class PdbTests(unittest.TestCase): + + def test_trace(self): + """Test running program via the 'fil'e command""" + result=run_debugger(testname='file', pydb_opts='--basename') + self.assertEqual(True, result, "pydb 'file' command comparision") + +if __name__ == "__main__": + unittest.main() --- pydb-1.19.orig/test/fns.py +++ pydb-1.19/test/fns.py @@ -0,0 +1,32 @@ +#!/usr/bin/python -t +# $Id: fns.py.in,v 1.1 2006/09/21 09:45:51 rockyb Exp $ -*- Python -*- + +# This unit test doesn't use any of the debugger code. It is meant solely +# to test the connection classes. + +import os, sys, thread, time, unittest + +top_builddir = "../" +if top_builddir[-1] != os.path.sep: + top_builddir += os.path.sep +sys.path.insert(0, os.path.join(top_builddir, 'pydb')) +top_srcdir = ".." +if top_srcdir[-1] != os.path.sep: + top_srcdir += os.path.sep +sys.path.insert(0, os.path.join(top_srcdir, 'pydb')) + +import fns + +class TestFns(unittest.TestCase): + + def test(self): + """Test various routines in fns.py""" + self.assertEqual(fns.show_onoff(True), 'on') + self.assertEqual(fns.show_onoff(False), 'off') + self.assertEqual( fns.printf(31, "/o"), '037') + self.assertEqual( fns.printf(31, "/t"), '00011111') + self.assertEqual( fns.printf(33, "/c"), '!') + self.assertEqual( fns.printf(33, "/x"), '0x21') + +if __name__ == '__main__': + unittest.main() --- pydb-1.19.orig/test/settrace.py +++ pydb-1.19/test/settrace.py @@ -0,0 +1,50 @@ +#!/usr/bin/python +"""Towers of Hanoi""" +import sys, os + +top_builddir = "../" +if top_builddir[-1] != os.path.sep: + top_builddir += os.path.sep +sys.path.insert(0, os.path.join(top_builddir, 'pydb')) +top_srcdir = ".." +if top_srcdir[-1] != os.path.sep: + top_srcdir += os.path.sep +sys.path.insert(0, os.path.join(top_srcdir, 'pydb')) + +def hanoi(n,a,b,c): + if n-1 > 0: + hanoi(n-1, a, c, b) + print "Move disk %s to %s" % (a, b) + if n-1 > 0: + hanoi(n-1, c, b, a) + +i_args=len(sys.argv) +if i_args > 3: + print "usage %s [disks [cmdfile]]" % sys.argv[0] + sys.exit(1) + +n=3 +if i_args > 1: + try: + n = int(sys.argv[1]) + except ValueError, msg: + print "** Expecting an integer, got: %s" % repr(sys.argv[1]) + sys.exit(2) + +if n < 1 or n > 100: + print "*** number of disks should be between 1 and 100" + sys.exit(2) + +dbg_cmds=['where', + 'list', + 'step', + 'step', + 'where', + 'info locals', + 'set linetrace on', + 'continue'] + +import pydb +pydb.set_trace(dbg_cmds) + +hanoi(n, "a", "b", "c") --- pydb-1.19.orig/test/runtest.py +++ pydb-1.19/test/runtest.py @@ -0,0 +1,81 @@ +#!/usr/bin/python -t +# -*- Python -*- +# $Id: runtest.py.in,v 1.3 2006/10/27 02:15:39 rockyb Exp $ +"Unit test for Extended Python debugger's runl and runv commands " +import difflib, os, sys, unittest, signal, time + +top_builddir = "../" +if top_builddir[-1] != os.path.sep: + top_builddir += os.path.sep +sys.path.insert(0, os.path.join(top_builddir, 'pydb')) +top_srcdir = ".." +if top_srcdir[-1] != os.path.sep: + top_srcdir += os.path.sep +sys.path.insert(0, os.path.join(top_srcdir, 'pydb')) + +import pydb + +builddir = "." +if builddir[-1] != os.path.sep: + builddir += os.path.sep + +top_builddir = "../" +if top_builddir[-1] != os.path.sep: + top_builddir += os.path.sep + +srcdir = "." +if srcdir[-1] != os.path.sep: + srcdir += os.path.sep + +pydir = os.path.join(top_builddir, "pydb") +pydb_short = "pydb.py" +pydb_path = os.path.join(pydir, pydb_short) + +def diff_files(outfile, rightfile): + fromfile = rightfile + fromdate = time.ctime(os.stat(fromfile).st_mtime) + fromlines = open(fromfile, 'U').readlines() + tofile = outfile + todate = time.ctime(os.stat(tofile).st_mtime) + tolines = open(tofile, 'U').readlines() + + diff = list(difflib.unified_diff(fromlines, tolines, fromfile, + tofile, fromdate, todate)) + if len(diff) == 0: + os.unlink(outfile) + for line in diff: + print line, + return len(diff) == 0 + +class RunTests(unittest.TestCase): + + def test_runl(self): + """Test pydb.runl()""" + python_script = '%sgcd.py' % srcdir + cmdfile = '%sbrkpt2.cmd' % srcdir + if sys.version_info[0:2] != (2, 5): + rightfile = "%sbrkpt2-2.3.right" % srcdir + else: + rightfile = "%sbrkpt2.right" % srcdir + outfile = 'runtest.out' + if os.path.exists(outfile): os.unlink(outfile) + pydb.runl('--basename', '--batch', '--nx', '--output', outfile, + '--command', cmdfile, python_script, '3', '5') + result = diff_files(outfile, rightfile) + self.assertEqual(True, result, "brkpt2 (via runl)") + + def test_runv(self): + """Test pydb.runl()""" + python_script = '%shanoi.py' % srcdir + cmdfile = '%scmdparse.cmd' % srcdir + rightfile = '%scmdparse.right' % srcdir + outfile = 'runtest.out' + if os.path.exists(outfile): os.unlink(outfile) + args = ('--basename', '--batch', '--nx', '--output', outfile, + '--command', cmdfile, python_script) + pydb.runv(args) + result = diff_files(outfile, rightfile) + self.assertEqual(True, result, "cmdparse (via runv)") + +if __name__ == '__main__': + unittest.main() --- pydb-1.19.orig/test/tcp_connect.py +++ pydb-1.19/test/tcp_connect.py @@ -0,0 +1,113 @@ +#!/usr/bin/python -t +# $Id: tcp_connect.py.in,v 1.4 2006/09/21 01:13:41 rockyb Exp $ -*- Python -*- + +# This unit test doesn't use any of the debugger code. It is meant solely +# to test the connection classes. + +import os, sys, threading, time, unittest + +top_builddir = "../" +if top_builddir[-1] != os.path.sep: + top_builddir += os.path.sep +sys.path.insert(0, os.path.join(top_builddir, 'pydb')) +top_srcdir = ".." +if top_srcdir[-1] != os.path.sep: + top_srcdir += os.path.sep +sys.path.insert(0, os.path.join(top_srcdir, 'pydb')) + +import connection + +debug=True + +class TestTCPConnections(unittest.TestCase): + + def setUp(self): + self.port = 8000 + self.host = '127.0.0.1' + self.server = connection.ConnectionServerTCP() + self.client = connection.ConnectionClientTCP() + + def tear_Down(self): + self.server.disconnect() + self.client.disconnect() + + def repeated_connect(self, MAXTRIES=15): + """Try to connect the client to self.addr either until we've + tried MAXTRIES times or until it succeeds.""" + for i in range(MAXTRIES): + if self.server._sock is None: + time.sleep(0.01) + else: + for j in range(MAXTRIES): + try: + self.client.connect(self.addr) + if self.client.connected: + if debug: + print "client connected" + return True + except connection.ConnectionFailed, e: + if debug: print e + + if debug: print "Client can't connect" + return False + + def server_listen(self, MAXPORTS=20): + """Try to start the server listening over a range of ports + starting with self.port""" + self.addr = "%s:%d" % (self.host, self.port) + for i in range(MAXPORTS): + try: + self.server.connect(self.addr) + if debug: print "Listening on socket %s" % self.addr + return True + except connection.ConnectionFailed, e: + if e[0] == 'Address already in use': + self.port += 1 + print "Trying port %d" % self.port + self.addr = "%s:%d" % (self.host, self.port) + if debug: print "No free port found" + return False + + def setup_client_and_server(self): + t=threading.Thread(target=self.server_listen) + t.start() + if not self.repeated_connect(): return False + for i in range(15): + if self.server._sock is not None and \ + self.server.output is not None: + return True + time.sleep(0.01) + + def test_client_server(self): + """Test that the we can read and write between a TCP client and + server""" + if not self.setup_client_and_server(): + self.server.disconnect() + self.client.disconnect() + return + self.server.write("good") + line = self.client.readline() + self.assertEqual("good", line, "Server write to client read bad") + self.client.write('success') + line = self.server.readline() + self.assertEqual('success\n', line, 'Client write to server read bad') + + def test_disconnect_disconnected(self): + """Test disconnecting twice """ + self.server.disconnect() + self.server.disconnect() + + def test_invalid_address_port_pair(self): + """Test an erroneous connection name""" + addr = 'localhost 8000' + self.assertRaises(connection.ConnectionFailed, + self.server.connect, addr) + + def test_invalid_server_address(self): + """Test an erroneous server address""" + addr = 'fff.209320909xcmnm2iu3-=0-0-z.,x.,091209:2990' + self.assertRaises(connection.ConnectionFailed, + self.server.connect, addr) + +if __name__ == '__main__': + unittest.main() --- pydb-1.19.orig/emacs/Makefile +++ pydb-1.19/emacs/Makefile @@ -0,0 +1,364 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# emacs/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# Copyright (C) 2006 Rocky Bernstein rockyb@users.sourceforge.net +# +# Bash 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. +# +# Bash 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 Bash; see the file COPYING. If not, write to the Free Software +# Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. +#$Id: Makefile.am,v 1.3 2006/02/27 15:33:56 rockyb Exp $ + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/pydb +pkglibdir = $(libdir)/pydb +pkgincludedir = $(includedir)/pydb +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = emacs +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(lispdir)" +lispLISP_INSTALL = $(INSTALL_DATA) +LISP = $(lisp_LISP) +am__ELFILES = pydb.el +am__ELCFILES = $(am__ELFILES:.el=.elc) +elisp_comp = $(top_srcdir)/elisp-comp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run aclocal-1.9 +AMTAR = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run tar +AUTOCONF = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run autoconf +AUTOHEADER = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run autoheader +AUTOMAKE = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run automake-1.9 +AWK = gawk +CVS2CL = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run cvs2cl +CYGPATH_W = echo +DEFS = -DPACKAGE_NAME=\"pydb\" -DPACKAGE_TARNAME=\"pydb\" -DPACKAGE_VERSION=\"1.19\" -DPACKAGE_STRING=\"pydb\ 1.19\" -DPACKAGE_BUGREPORT=\"bashdb-pydb-devel@lists.sourceforge.net\" -DPACKAGE=pydb -DPACKAGE=\"pydb\" -DVERSION=\"1.19\" +ECHO_C = +ECHO_N = -n +ECHO_T = +EMACS = no +EMACSLOADPATH = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_EMACS_LISP_FALSE = # +INSTALL_EMACS_LISP_TRUE = +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LIBOBJS = +LIBS = +LN_S = ln -s +LTLIBOBJS = +MAINT = # +MAINTAINER_MODE_FALSE = +MAINTAINER_MODE_TRUE = # +MAKEINFO = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run makeinfo +PACKAGE = pydb +PACKAGE_BUGREPORT = bashdb-pydb-devel@lists.sourceforge.net +PACKAGE_NAME = pydb +PACKAGE_STRING = pydb 1.19 +PACKAGE_TARNAME = pydb +PACKAGE_VERSION = 1.19 +PATH_SEPARATOR = : +PYTHON = /usr/bin/python +PYTHON_EXEC_PREFIX = ${exec_prefix} +PYTHON_PLATFORM = linux2 +PYTHON_PREFIX = ${prefix} +PYTHON_VERSION = 2.4 +READLINE = readline +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.19 +ac_ct_STRIP = +am__leading_dot = . +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +datadir = ${prefix}/share +exec_prefix = ${prefix} +host_alias = +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/malex/debian/pydb/1.19/pydb-1.19/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +lispdir = ${datadir}/emacs/site-lisp +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pkgpyexecdir = ${pyexecdir}/pydb +pkgpythondir = ${pythondir}/pydb +prefix = /home/malex/debian/pydb/1.19/pydb-1.19/debian/pydb/usr +program_transform_name = s,x,x, +pyexecdir = ${exec_prefix}/lib/python2.4/site-packages +pythondir = /home/malex/debian/pydb/1.19/pydb-1.19/debian/pydb/usr/lib/python2.4/site-packages +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +EXTRA_DIST := pydb.el python-mode.el.diff +ELCFILES := pydb.elc +lisp_LISP = pydb.el +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu emacs/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu emacs/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: # $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): # $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: + +elc-stamp: $(LISP) + @echo 'WARNING: Warnings can be ignored. :-)' + @rm -f elc-temp && touch elc-temp + if test "$(EMACS)" != no; then \ + set x; \ + list='$(LISP)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + set x "$$@" "$$d$$p"; shift; \ + done; \ + shift; \ + EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \ + else : ; fi + @mv -f elc-temp $@ +$(am__ELCFILES): elc-stamp + @if test "$(EMACS)" != no && test ! -f $@; then \ + trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \ + if mkdir elc-lock 2>/dev/null; then \ + rm -f elc-stamp; \ + $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \ + rmdir elc-lock; \ + else \ + while test -d elc-lock; do sleep 1; done; \ + test -f elc-stamp; exit $$?; \ + fi; \ + else : ; fi +install-lispLISP: $(lisp_LISP) $(ELCFILES) + @$(NORMAL_INSTALL) + @if test "$(EMACS)" != no; then \ + test -z "$(lispdir)" || $(mkdir_p) "$(DESTDIR)$(lispdir)"; \ + list='$(lisp_LISP)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(lispLISP_INSTALL) '$$d$$p' '$(DESTDIR)$(lispdir)/$$f'"; \ + $(lispLISP_INSTALL) "$$d$$p" "$(DESTDIR)$(lispdir)/$$f"; \ + if test -f $${p}c; then \ + echo " $(lispLISP_INSTALL) '$${p}c' '$(DESTDIR)$(lispdir)/$${f}c'"; \ + $(lispLISP_INSTALL) "$${p}c" "$(DESTDIR)$(lispdir)/$${f}c"; \ + else : ; fi; \ + done; \ + else : ; fi + +uninstall-lispLISP: + @$(NORMAL_UNINSTALL) + @if test "$(EMACS)" != no; then \ + list='$(lisp_LISP)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(lispdir)/$$f' '$(DESTDIR)$(lispdir)/$${f}c'"; \ + rm -f "$(DESTDIR)$(lispdir)/$$f" "$(DESTDIR)$(lispdir)/$${f}c"; \ + done; \ + else : ; fi + +clean-lisp: + -rm -f elc-stamp $(ELCFILES) +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LISP) $(ELCFILES) +installdirs: + for dir in "$(DESTDIR)$(lispdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-lisp mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-lispLISP + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-lispLISP + +.PHONY: all all-am check check-am clean clean-generic clean-lisp \ + distclean distclean-generic distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-lispLISP install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \ + uninstall-lispLISP + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: --- pydb-1.19.orig/debian/menu +++ pydb-1.19/debian/menu @@ -0,0 +1 @@ +?package(pydb):needs="text" title="pydb" section="Apps/Programming" command="/usr/bin/pydb" hints="Debuggers" --- pydb-1.19.orig/debian/control +++ pydb-1.19/debian/control @@ -0,0 +1,15 @@ +Source: pydb +Section: devel +Priority: optional +Maintainer: Oleksandr Moskalenko +Standards-Version: 3.7.2 +Build-Depends: debhelper (>= 5), python-support (>= 0.4) + +Package: pydb +Architecture: all +Depends: ${python:Depends} +Suggests: ddd +Description: An enhanced Python command-line debugger Pydb is a command-line + debugger for Python. It is based on the standard Python debugger pdb, but has + a number of added features. Particularly, it is suitable for use with DDD, a + graphical debugger front end. --- pydb-1.19.orig/debian/rules +++ pydb-1.19/debian/rules @@ -0,0 +1,65 @@ +#!/usr/bin/make -f +#export DH_VERBOSE=1 +DEBIAN_DIR = $(shell pwd)/debian +PACKAGE = pydb +PYTHON_VER = 2.4 +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +OPT_FLAG = -O0 +endif + +CFLAGS="$(OPT_FLAG)" + +build: build-stamp +build-stamp: + dh_testdir + dh_clean + ./configure \ + --prefix=$(CURDIR)/debian/$(PACKAGE)/usr \ + --with-site-packages=$(CURDIR)/debian/$(PACKAGE)/usr/lib/python$(PYTHON_VER)/site-packages + $(MAKE) + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp install-stamp config.status config.log + dh_clean + +install: install-stamp +install-stamp: build-stamp + dh_testroot + dh_installdirs + dh_install + $(MAKE) install + rm -rf $(DEBIAN_DIR)/$(PACKAGE)/usr/man + rm -f $(DEBIAN_DIR)/$(PACKAGE)/usr/bin/pydb + sed -i 's:^.*site-packages/pydb.doc:/usr/share/python-support/pydb/pydb/pydb.doc and:' Doc/pydb.1 + touch install-stamp + +# Build architecture-independent files here. +binary-indep: build install + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installdocs + dh_installmenu + dh_installman Doc/pydb.1 + dh_installchangelogs + dh_strip + dh_compress + dh_fixperms + dh_pysupport + dh_link + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary --- pydb-1.19.orig/debian/changelog +++ pydb-1.19/debian/changelog @@ -0,0 +1,152 @@ +pydb (1.19-1) unstable; urgency=low + + * New upstream release on Oct 26th. + * debian/control: Removed python from "Depends" as ${python:Depends} takes + care of that. + + -- Oleksandr Moskalenko Fri, 27 Oct 2006 11:31:21 -0600 + +pydb (1.18-1) unstable; urgency=low + + * New upstream release. + * debian/rules: Updated the sed rule that fixes the path to the pydb.doc + in the man page as the upstream fixed pdb.doc --> pydb.doc. + + -- Oleksandr Moskalenko Tue, 3 Oct 2006 18:11:48 -0600 + +pydb (1.17-1) unstable; urgency=low + + * New upstream release on July 29th, 2006. Pydb is now developed by Rocky + Bernstein . See http://bashdb.sourceforge.net/pydb/ for + more information on how it differs from the old (1.01) pydb. + * debian/README.Debian: Added a note from the new upstream author explaining + the pydb evolution to the present day. + * debian/copyright: Updated the copyright file to reflect the switch to new + upstream and new license GPLv2. + * debian/control: + + Updated Standards-Version to 3.7.2. + + Added a dependency on python-support (>= 0.4) per new + python policy. + + Removed version from the ddd suggests (>= 3.0-5). + + Changed build-depends-indep to build-depends per linda warning. + * debian/rules: + + Call dh_pysupport instead of dh_python per new python policy. + + Added a "DEBIAN_DIR" variable. + + Added a dh_clean rule to the build-stamp target. + + Added the build commands - ./configure, make, make install to teh + build-stamp target. + + Added DEB_HOST_GNU_TYPE and DEB_BUILD_GNU_TYPE variable expansion. + + Added rules for setting CFLAGS + + Remove configure generated files in the clean target. + * debian/pydb.1: Switched to the upstream manpage. + + -- Oleksandr Moskalenko Wed, 16 Aug 2006 19:26:50 -0600 + +pydb (1.01-10) unstable; urgency=low + + * debian/compat: Changed compatibility level to 5, the latest. + * debian/control: Updated debhelper dependency to reflect the new + compatibility level. + * debian/control: Changed the maintainer email to ...debian.org. + + -- Oleksandr Moskalenko Tue, 10 Jan 2006 09:08:02 -0700 + +pydb (1.01-9) unstable; urgency=low + + * New maintainer (Closes: #312850). Thanks to Gregor Hofleit and NMU + uploaders for their work. + * Acknowledge NMUs (Closes: #190662, #213878, #211787). + * debian/control: Updated Standards-Version to 3.6.2. + * debian/control: Changed Maintainer to my own name. + * debian/compat: Added this file to set the DH_COMPAT level to 4. + * debian/rules: Removed unnecessary comments. + * debian/rules: Fixed build-time installation paths from debian/tmp to + debian/pydb. + * debian/pydb.1: Updated the location of pdb.doc. + * debian/rules: Use dh_installman instead of the deprecated + dh_installmanpages for man page installation. + * pydb.py: Updated the file directly instead of patching it as there is no + upstream anymore (Closes: #213214). + + -- Oleksandr Moskalenko Tue, 23 Aug 2005 23:00:43 -0600 + +pydb (1.01-8.3) unstable; urgency=low + + * NMU (using the prepared package from Oleksandr Moskalenko). + * Fix breakpoint set interaction with ddd (Closes: #190662). + * Quote all debian/menu entries (lintian warning) + * Use newer standards version (lintian warning) + + -- Bastian Kleineidam Wed, 9 Mar 2005 17:56:58 +0100 + +pydb (1.01-8.2) unstable; urgency=high + + * NMU. + * Compensate for missing debhelper dependencies, depend on python. + Closes: #213878. + + -- Matthias Klose Fri, 10 Oct 2003 08:10:31 +0200 + +pydb (1.01-8.1) unstable; urgency=low + + * NMU. + * Fix postinst/prerm (closes: #211787). + + -- Matthias Klose Sun, 28 Sep 2003 13:39:02 +0200 + +pydb (1.01-8) unstable; urgency=low + + * Make the package now use Python 2.3, which is the new default (closes: + #205309). + + -- Gregor Hoffleit Tue, 2 Sep 2003 19:27:44 +0200 + +pydb (1.01-7) unstable; urgency=low + + * Make the package use Python 2.2 (closes: #140810, #161553). + + -- Gregor Hoffleit Tue, 24 Sep 2002 14:39:02 +0200 + +pydb (1.01-6) unstable; urgency=low + + * Fix manpage (point to /usr/lib/python2.1/pdb.doc). + + -- Gregor Hoffleit Sun, 14 Apr 2002 13:44:55 +0200 + +pydb (1.01-5) unstable; urgency=low + + * Remove python1.5ism in postinst script (closes: #133520). + + -- Gregor Hoffleit Tue, 12 Feb 2002 19:21:49 +0100 + +pydb (1.01-4) unstable; urgency=high + + * Remove use of newdir, which is obsolete since Python 1.5 (apply a patch + from ddd/pydb) (closes: #127408). + * Make the package use Python 2.1. + + -- Gregor Hoffleit Thu, 24 Jan 2002 15:18:00 +0100 + +pydb (1.01-3) unstable; urgency=low + + * Repackaged to depend on python1.5 (closes: #119203). + + -- Gregor Hoffleit Thu, 13 Dec 2001 15:42:54 +0100 + +pydb (1.01-2) unstable; urgency=low + + * Updated package for policy 3.1.1: + - FHS transition of docs + - Build-Depends + (closes: #80319). + * Added hint to the menu file (closes: #80244). + + -- Gregor Hoffleit Mon, 25 Dec 2000 22:41:32 +0100 + +pydb (1.01-1) unstable; urgency=low + + * Initial Release. + * pydbcmd.py: Included functions from newdir.py, which is no + longer included in Python. + + -- Gregor Hoffleit Sun, 22 Aug 1999 23:02:50 +0200 --- pydb-1.19.orig/debian/README.Debian +++ pydb-1.19/debian/README.Debian @@ -0,0 +1,17 @@ +pydb for Debian +--------------- + +pydb is under a new management! As its new developer Rocky Bernstein wrote: + +A little about pydb development. Active development on Pydb stopped sometime +around 2000. Richard Wolff who was working on that and the python debugger as +a parallel (not unified) efforts has retired. About the begining of 2006 I +wanted to add a restart to the stock python debugger, pdb. With Richard +Wolff's blessing, I took over the name pydb. Since then I've merged in +improvements that had gone on in pdb with those in pydb that were not in pdb +(in particular display expressions). And many new things have been added +guided by the gdb interface. The next release of ddd will no longer distribute +a version of the 1999 pydb, but will use the pydb that is now maintained +outside of ddd. (And of course, ddd also benefits from the new features added +to pydb.) + --- pydb-1.19.orig/debian/copyright +++ pydb-1.19/debian/copyright @@ -0,0 +1,29 @@ +The original pydb package was debianized by Gregor Hoffleit + on Sun, 22 Aug 1999 23:02:50 +0200. + +It was downloaded from the now defunct http://daikon.tuc.noao.edu/python/ + +The original upstream author: Richard Wolff + +Current maintainer since 2005-08-23: Oleksandr Moskalenko + +Current upstream source is downloaded from http://bashdb.sourceforge.net/pydb/ + +Current upstream author: Rocky Bernstein + +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 of the License, 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, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1301 USA. + +On Debian systems the full text of the latest General Public License (GPL) can +be found at /usr/share/common-licenses/GPL --- pydb-1.19.orig/debian/pydb.dirs +++ pydb-1.19/debian/pydb.dirs @@ -0,0 +1,2 @@ +usr/bin/ +usr/share/man/man1 --- pydb-1.19.orig/debian/pydb.links +++ pydb-1.19/debian/pydb.links @@ -0,0 +1 @@ +usr/share/python-support/pydb/pydb/pydb.py usr/bin/pydb --- pydb-1.19.orig/debian/compat +++ pydb-1.19/debian/compat @@ -0,0 +1 @@ +5 --- pydb-1.19.orig/Makefile +++ pydb-1.19/Makefile @@ -0,0 +1,816 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +#$Id: Makefile.am,v 1.44 2006/10/24 02:49:02 rockyb Exp $ +# Copyright (C) 2006 Rocky Bernstein +# +# 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 of the License, 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 USA. + + +srcdir = . +top_srcdir = . + +pkglibdir = $(libdir)/pydb +pkgincludedir = $(includedir)/pydb +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +#am__append_1 = Doc +#am__append_2 = \ +# Doc/Makefile.deps \ +# Doc/Makefile.in \ +# Doc/lib/Makefile \ +# Doc/lib/lib.tex \ +# Doc/lib/libpydb.tex \ +# Doc/paper-letter/lib.pdf \ +# Doc/paper-letter/lib.ps \ +# Doc/perl/SynopsisTable.pm \ +# Doc/perl/l2hinit.perl \ +# Doc/perl/manual.perl \ +# Doc/perl/python.perl \ +# Doc/texinputs/fncychap.sty \ +# Doc/texinputs/manual.cls \ +# Doc/texinputs/pypaper.sty \ +# Doc/texinputs/python.ist \ +# Doc/texinputs/underscore.sty \ +# Doc/tools/getversioninfo \ +# Doc/tools/indfix.py \ +# Doc/tools/mkhowto \ +# Doc/tools/node2label.pl \ +# Doc/tools/patchlevel.h \ +# Doc/tools/toc2bkm.py + +#am__append_3 = ChangeLog +subdir = . +DIST_COMMON = README $(am__configure_deps) $(pkgpython_PYTHON) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/setup.py.in $(top_srcdir)/Doc/Makefile.in \ + $(top_srcdir)/Doc/pydb.1.in $(top_srcdir)/configure \ + $(top_srcdir)/pydb/__init__.py.in $(top_srcdir)/pydb/gdb.py.in \ + $(top_srcdir)/pydb/pydb.py.in AUTHORS COPYING ChangeLog \ + INSTALL NEWS THANKS TODO elisp-comp install-sh missing \ + py-compile +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = Doc/Makefile Doc/pydb.1 pydb/__init__.py \ + pydb/gdb.py pydb/pydb.py setup.py +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgpythondir)" \ + "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgdatadir)" +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) $(noinst_SCRIPTS) +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +pkgpythonPYTHON_INSTALL = $(INSTALL_DATA) +py_compile = $(top_srcdir)/py-compile +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man1_MANS) +pkgdataDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgdata_DATA) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = test emacs Doc +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +pkgdatadir = $(pkgpythondir) +ACLOCAL = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run aclocal-1.9 +AMTAR = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run tar +AUTOCONF = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run autoconf +AUTOHEADER = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run autoheader +AUTOMAKE = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run automake-1.9 +AWK = gawk +CVS2CL = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run cvs2cl +CYGPATH_W = echo +DEFS = -DPACKAGE_NAME=\"pydb\" -DPACKAGE_TARNAME=\"pydb\" -DPACKAGE_VERSION=\"1.19\" -DPACKAGE_STRING=\"pydb\ 1.19\" -DPACKAGE_BUGREPORT=\"bashdb-pydb-devel@lists.sourceforge.net\" -DPACKAGE=pydb -DPACKAGE=\"pydb\" -DVERSION=\"1.19\" +ECHO_C = +ECHO_N = -n +ECHO_T = +EMACS = no +EMACSLOADPATH = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_EMACS_LISP_FALSE = # +INSTALL_EMACS_LISP_TRUE = +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LIBOBJS = +LIBS = +LN_S = ln -s +LTLIBOBJS = +MAINT = # +MAINTAINER_MODE_FALSE = +MAINTAINER_MODE_TRUE = # +MAKEINFO = ${SHELL} /home/malex/debian/pydb/1.19/pydb-1.19/missing --run makeinfo +PACKAGE = pydb +PACKAGE_BUGREPORT = bashdb-pydb-devel@lists.sourceforge.net +PACKAGE_NAME = pydb +PACKAGE_STRING = pydb 1.19 +PACKAGE_TARNAME = pydb +PACKAGE_VERSION = 1.19 +PATH_SEPARATOR = : +PYTHON = /usr/bin/python +PYTHON_EXEC_PREFIX = ${exec_prefix} +PYTHON_PLATFORM = linux2 +PYTHON_PREFIX = ${prefix} +PYTHON_VERSION = 2.4 +READLINE = readline +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.19 +ac_ct_STRIP = +am__leading_dot = . +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +datadir = ${prefix}/share +exec_prefix = ${prefix} +host_alias = +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/malex/debian/pydb/1.19/pydb-1.19/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +lispdir = ${datadir}/emacs/site-lisp +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +pkgpyexecdir = ${pyexecdir}/pydb +pkgpythondir = ${pythondir}/pydb +prefix = /home/malex/debian/pydb/1.19/pydb-1.19/debian/pydb/usr +program_transform_name = s,x,x, +pyexecdir = ${exec_prefix}/lib/python2.4/site-packages +pythondir = /home/malex/debian/pydb/1.19/pydb-1.19/debian/pydb/usr/lib/python2.4/site-packages +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +SUBDIRS := test emacs $(am__append_1) + +# Basename of debugger, used to form help doc, python script and script +# installed in an executable directory. +DEBUGGER := pydb + +# The Python debugger script +python_debugger_script := $(DEBUGGER).py +pkgpython_PYTHON := \ + $(DEBUGGER)/__init__.py \ + $(DEBUGGER)/$(python_debugger_script) \ + $(DEBUGGER)/connection.py \ + $(DEBUGGER)/display.py \ + $(DEBUGGER)/fns.py \ + $(DEBUGGER)/gdb.py \ + $(DEBUGGER)/info.py \ + $(DEBUGGER)/pydb.py \ + $(DEBUGGER)/pydbbdb.py \ + $(DEBUGGER)/pydbcmd.py \ + $(DEBUGGER)/set.py \ + $(DEBUGGER)/show.py \ + $(DEBUGGER)/sighandler.py \ + $(DEBUGGER)/subcmd.py \ + $(DEBUGGER)/threaddbg.py + +pkgdata_DATA := $(DEBUGGER)/$(DEBUGGER).doc + +# Section 1 are general commands +EXT = 1 +man1_MANS = Doc/$(DEBUGGER).$(EXT) + +# We in fact do install python_PYTHON, just not in the executable directory. +# Instead it's installed with other python programs. The noinst however +# forces a changed pydb.py to get created whenever pydb.py.in changes. +noinst_SCRIPTS := $(python_PYTHON) +bin_SCRIPTS := $(DEBUGGER) +PHONY := $(DEBUGGER) test $(am__append_3) +EXTRA_DIST = ChangeLog TODO THANKS Doc/Makefile.deps Doc/info/Makefile \ + pydb/pydb.doc pydb/Makefile setup.py setup.py.in \ + site-packages-path.py $(am__append_2) +MOSTLYCLEANFILES = $(man1_MANS) + +# cvs2cl +MAINTAINERCLEANFILES = ChangeLog +#ACLOCAL_AMFLAGS = -I . +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: # $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): # $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +Doc/Makefile: $(top_builddir)/config.status $(top_srcdir)/Doc/Makefile.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +Doc/pydb.1: $(top_builddir)/config.status $(top_srcdir)/Doc/pydb.1.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +pydb/__init__.py: $(top_builddir)/config.status $(top_srcdir)/pydb/__init__.py.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +pydb/gdb.py: $(top_builddir)/config.status $(top_srcdir)/pydb/gdb.py.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +pydb/pydb.py: $(top_builddir)/config.status $(top_srcdir)/pydb/pydb.py.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +setup.py: $(top_builddir)/config.status $(srcdir)/setup.py.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +uninstall-binSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(bin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done +uninstall-info-am: +install-pkgpythonPYTHON: $(pkgpython_PYTHON) + @$(NORMAL_INSTALL) + test -z "$(pkgpythondir)" || $(mkdir_p) "$(DESTDIR)$(pkgpythondir)" + @list='$(pkgpython_PYTHON)'; dlist=''; for p in $$list; do\ + if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ + if test -f $$b$$p; then \ + f=$(am__strip_dir) \ + dlist="$$dlist $$f"; \ + echo " $(pkgpythonPYTHON_INSTALL) '$$b$$p' '$(DESTDIR)$(pkgpythondir)/$$f'"; \ + $(pkgpythonPYTHON_INSTALL) "$$b$$p" "$(DESTDIR)$(pkgpythondir)/$$f"; \ + else :; fi; \ + done; \ + if test -n "$$dlist"; then \ + if test -z "$(DESTDIR)"; then \ + PYTHON=$(PYTHON) $(py_compile) --basedir "$(pkgpythondir)" $$dlist; \ + else \ + PYTHON=$(PYTHON) $(py_compile) --destdir "$(DESTDIR)" --basedir "$(pkgpythondir)" $$dlist; \ + fi; \ + else :; fi + +uninstall-pkgpythonPYTHON: + @$(NORMAL_UNINSTALL) + @list='$(pkgpython_PYTHON)'; dlist=''; for p in $$list; do\ + f=$(am__strip_dir) \ + rm -f "$(DESTDIR)$(pkgpythondir)/$$f"; \ + rm -f "$(DESTDIR)$(pkgpythondir)/$${f}c"; \ + rm -f "$(DESTDIR)$(pkgpythondir)/$${f}o"; \ + done +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)" + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ + $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/$(DEBUGGER) $(distdir)/. $(distdir)/Doc $(distdir)/Doc/info $(distdir)/Doc/lib $(distdir)/Doc/paper-letter $(distdir)/Doc/perl $(distdir)/Doc/texinputs $(distdir)/Doc/tools $(distdir)/pydb $(distdir)/test + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(SCRIPTS) $(MANS) $(DATA) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(pkgdatadir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-man install-pkgdataDATA \ + install-pkgpythonPYTHON + +install-exec-am: install-binSCRIPTS + +install-info: install-info-recursive + +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binSCRIPTS uninstall-info-am uninstall-man \ + uninstall-pkgdataDATA uninstall-pkgpythonPYTHON + +uninstall-info: uninstall-info-recursive + +uninstall-man: uninstall-man1 + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ + dist-tarZ dist-zip distcheck distclean distclean-generic \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binSCRIPTS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-man1 install-pkgdataDATA \ + install-pkgpythonPYTHON install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-binSCRIPTS uninstall-info-am uninstall-man \ + uninstall-man1 uninstall-pkgdataDATA uninstall-pkgpythonPYTHON + + +clean-generic: + -rm $(top_builddir)/pydb/*.pyc + +test: check-recusive +check-recursive: pydb/pydb.py pydb/gdb.py \ + test/connect.py test/fifo_connect.py \ + test/pm.py test/settrace.py test/sighandle.py test/sigtest.py \ + test/tcp_connect.py test/test.py + +# +# For the executable, we make a symbolic link to the python program, +# and make sure it is executable. Configuration should have put the +# proper name to the python interpreter into the beginning. +# +install-binSCRIPTS: $(bin_SCRIPTS) install-data-am + if ! test -d "$(DESTDIR)$(bindir)"; then \ + test -z "$(DESTDIR)$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"; \ + fi + rm -f "$(DESTDIR)$(bindir)/$(bin_SCRIPTS)" || true; + chmod +x "$(DESTDIR)$(pkgpythondir)/$(python_debugger_script)" + $(LN_S) "$(DESTDIR)$(pkgpythondir)/$(python_debugger_script)" "$(DESTDIR)$(bindir)/$(bin_SCRIPTS)" +#ChangeLog: +# $(CVS2CL) -W 450 --header $(srcdir)/cvs2cl_header --utc -w -I ChangeLog --usermap $(srcdir)/cvs2cl_usermap -P + +.PHONY: $(PHONY) + +#;;; Local Variables: *** +#;;; mode:makefile *** +#;;; End: *** +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: