Ticket #12447 (closed submission: fixed)
NEW: py-db
| Reported by: | software@… | Owned by: | snc@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.7.0 |
| Keywords: | Cc: | jmr@…, mcalhoun@…, dweber@…, macsforever2000@… | |
| Port: | py-db |
Description
Attached you will find a new port for pydb, an extended Python debugger. I named it "py-db" to be consistent with other Python packages.
While py-db recommends the existing ddd package (together, it gives a graphical Pyhton debugger), it does not depend on it. The package consists of two files: the Portfile, and a small patch.
Attachments
Change History
Changed 6 years ago by software@…
- Attachment patch-Makefile.in.diff added
patch for the Makefile (it fixes a symlink). This file must be places in a folder "files"
comment:1 follow-up: ↓ 3 Changed 5 years ago by jmr@…
- Cc jmr@… added
In the interest of determinism, would it be possible to disable the ddd support by default (whether ddd is installed or not), and add a +ddd variant that adds a dependency on ddd and enables pydb's support for it?
comment:3 in reply to: ↑ 1 Changed 4 years ago by snc@…
Replying to jmr@…:
In the interest of determinism, would it be possible to disable the ddd support by default (whether ddd is installed or not), and add a +ddd variant that adds a dependency on ddd and enables pydb's support for it?
Along those lines, if the package installs ddd by default you can use a +no_ddd variant to disable it. Both .append and .delete are available for modifying the depends and configure variables.
comment:4 follow-up: ↓ 6 Changed 4 years ago by snc@…
- Version changed from 1.5.0 to 1.7.0
If we have a maintainer timeout, which route do we want to go with the variants: +no_ddd or +ddd?
comment:6 in reply to: ↑ 4 Changed 4 years ago by blb@…
Replying to snc@…:
If we have a maintainer timeout, which route do we want to go with the variants: +no_ddd or +ddd?
I'd say disable it by default and have a +ddd variant for enabling it. Also, should it be called py-db or py-pydb? When going with other python versions, it becomes either py25-db or py25-pydb, the latter reads better, at least to me.
comment:7 Changed 4 years ago by snc@…
- Status changed from new to assigned
- Owner changed from macports-tickets@… to snc@…
- Port set to py-db
Warning: Line 4 should be a newline (after PortSystem)
Warning: Using full email address for no/open maintainer
Also, on the ddd thing: I don't believe it's necessary as the two do not link to each other. It merely is a way of doing the "we recommend using this additional software."
As for package name, should this be portgroup python25 1.0?
Changed 4 years ago by snc@…
- Attachment Portfile.2 added
updated to new version — should it be in PortGroup python25?
comment:8 follow-ups: ↓ 9 ↓ 12 Changed 4 years ago by mcalhoun@…
Attached is my take on the port.
The changes are:
- Because it uses Python 2.5, the name should be py25-db.
- The variable categories was missing.
- Obfuscate e-mail address.
- There is a setup.py, but the INSTALL files recommends "./configure; make; make install," so drop PortGroup.
- Set the PYTHON variable so that the correct python is found.
- I tried to install it in such a way that there would be no conflicts if py25-db was ever created (this means the emacs files will not be found by default).
comment:9 in reply to: ↑ 8 Changed 4 years ago by mcalhoun@…
Replying to mcalhoun@…:
- I tried to install it in such a way that there would be no conflicts if py25-db was ever created (this means the emacs files will not be found by default).
Sorry, I meant py26-db.
comment:10 Changed 4 years ago by snc@…
- Cc snc@… removed
Thanks mcalhoun! Everything is in the right paths now, it seems.
Since we were in a maintainer timeout, I'll go ahead and commit this.
comment:11 Changed 4 years ago by snc@…
- Status changed from assigned to closed
- Resolution set to fixed
Committed as r48634.
comment:12 in reply to: ↑ 8 Changed 4 years ago by dweber@…
- Status changed from closed to reopened
- Resolution fixed deleted
Replying to mcalhoun@…:
Attached is my take on the port.
The changes are:
- Because it uses Python 2.5, the name should be py25-db.
- The variable categories was missing.
- Obfuscate e-mail address.
- There is a setup.py, but the INSTALL files recommends "./configure; make; make install," so drop PortGroup.
- Set the PYTHON variable so that the correct python is found.
- I tried to install it in such a way that there would be no conflicts if py25-db was ever created (this means the emacs files will not be found by default).
Please see https://trac.macports.org/ticket/17071
In that case, we resolved to use the name py25-pydb. As noted there, port search pydb will return nothing if you use the name 'py-db' or 'pyXX-db', please reconsider the naming convention. As it is (on my system), I'm very pleased to see this result:
[ dweber@XXXX /data/mpab ]$ port search pydb
py25-pydb @1.23 (python)
Extended Python Debugger
Best regards, Darren
comment:13 follow-up: ↓ 14 Changed 4 years ago by mcalhoun@…
- Cc dweber@…, macsforever2000@… added
- Status changed from reopened to closed
- Resolution set to fixed
This situation is not good.
We have two tickets on the same issue (#17071 and this one).
Since this is the older, I will close #17071 and CC everyone on this ticket.
What's worse is that we now have two ports of the same software package (r48634 and r48640).
py26-pydb has several serious problems:
- It will not work because the directory (py25-pydb) and name variable (py26-pydb) are different.
- It will conflict with py26-pydb if it is ever created.
As a solution, I will
I think this will satisfy everyone's concerns.
I will close this ticket for now.
If there are still problems, we can reopen.
comment:14 in reply to: ↑ 13 ; follow-up: ↓ 15 Changed 4 years ago by dweber@…
- Status changed from closed to reopened
- Resolution fixed deleted
Replying to mcalhoun@…:
This situation is not good.
We have two tickets on the same issue (#17071 and this one).
Since this is the older, I will close #17071 and CC everyone on this ticket.What's worse is that we now have two ports of the same software package (r48634 and r48640).
py26-pydb has several serious problems:
- It will not work because the directory (py25-pydb) and name variable (py26-pydb) are different.
- It will conflict with py26-pydb if it is ever created.
As a solution, I will
I think this will satisfy everyone's concerns.
I will close this ticket for now.
If there are still problems, we can reopen.
All looks good to me. I have just created (and committed) py26-pydb (why would this conflict with py25-pydb?); it works on my system, ie:
[ dweber@XXXX ~/macports-trunk/dports ]$ ipython2.6 /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/IPython/Magic.py:38: DeprecationWarning: the sets module is deprecated from sets import Set Python 2.6.1 (r261:67515, Jan 30 2009, 11:23:18) Type "copyright", "credits" or "license" for more information. IPython 0.9.1 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more. In [1]: import pydb In [2]: pydb. pydb.HELP_URL pydb.__hash__ pydb.__str__ pydb.info pydb.set pydb.Pdb pydb.__init__ pydb.__subclasshook__ pydb.pm pydb.set_trace pydb.URL pydb.__name__ pydb.app_name pydb.post_mortem pydb.show pydb.__builtins__ pydb.__new__ pydb.complete pydb.pydb pydb.sighandler pydb.__class__ pydb.__package__ pydb.debugger pydb.pydbbdb pydb.subcmd pydb.__delattr__ pydb.__path__ pydb.disassemble pydb.pydbcmd pydb.sys pydb.__dict__ pydb.__reduce__ pydb.display pydb.run pydb.threadinfo pydb.__doc__ pydb.__reduce_ex__ pydb.exception_hook pydb.runcall pydb.version pydb.__file__ pydb.__repr__ pydb.fns pydb.runeval pydb.__format__ pydb.__setattr__ pydb.gdb pydb.runl pydb.__getattribute__ pydb.__sizeof__ pydb.help pydb.runv In [2]: pydb.version Out[2]: '1.25'
comment:15 in reply to: ↑ 14 ; follow-up: ↓ 16 Changed 4 years ago by mcalhoun@…
Replying to dweber@…:
All looks good to me. I have just created (and committed) py26-pydb (why would this conflict with py25-pydb?); it works on my system, ie:
When did you commit db26-pydb?
I do not see it.
It would cause conflict because there are binaries, manpages, and emacs files installed.
Both py25-pydb and py26-pydb will want to install theses same files.
-Marcus
comment:16 in reply to: ↑ 15 Changed 4 years ago by dweber@…
Replying to mcalhoun@…:
Replying to dweber@…:
All looks good to me. I have just created (and committed) py26-pydb (why would this conflict with py25-pydb?); it works on my system, ie:
When did you commit db26-pydb?
I do not see it.It would cause conflict because there are binaries, manpages, and emacs files installed.
Both py25-pydb and py26-pydb will want to install theses same files.-Marcus
It seems to be committed now. I've tried to simplify the python version specification with a few variables at the top of the Portfile. It appears that python2.6 is providing the correct site-packages path to
${prefix}/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
I'm sorry about the binaries, man, and emacs files, if they conflict. I've taken a quick look at the py25-pydb package and most of those custom tweaks don't seem to work with python2.6. I'm out of time today, but if someone could look into these additional files installed to resolve conflicts - please do. As it is, this is working for me, ie:
[ dweber@elegans ~/ports ]$ sudo port install py26-pydb ---> Fetching py26-pydb ---> Attempting to fetch pydb-1.25.tar.gz from http://internap.dl.sourceforge.net/bashdb ---> Verifying checksum(s) for py26-pydb ---> Extracting py26-pydb ---> Configuring py26-pydb ---> Building py26-pydb ---> Staging py26-pydb into destroot ---> Installing py26-pydb @1.25_0 ---> Activating py26-pydb @1.25_0 ---> Cleaning py26-pydb [ dweber@elegans ~/ports ]$ which python2.6 /opt/local/bin/python2.6 [ dweber@elegans ~/ports ]$ python2.6 Python 2.6.1 (r261:67515, Jan 30 2009, 11:23:18) [GCC 4.0.1 (Apple Inc. build 5490)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import pydb >>> pydb.version '1.25' >>> [ dweber@elegans ~/ports ]$ pydb-2.6 (Pydb) [ dweber@elegans ~/ports ]$ which pydb-2.6 /opt/local/bin/pydb-2.6
comment:17 Changed 4 years ago by dweber@…
This is crazy. After I make a change to py26-pydb in my svn checkout, the system is changing files in the py25-pydb port - what is going on with my subversion process here (see terminal session below)? Note, there are no symlinks (and I don't see any hard links) between py25-pydb and py26-pydb on my file system (how can I check for hard links?). You may have to reinstate or rollback py25-pydb????
[ dweber@elegans ~/macports-trunk/dports/python/py26-pydb ]$
[ dweber@elegans ~/macports-trunk/dports/python/py26-pydb ]$ vim Portfile
[ dweber@elegans ~/macports-trunk/dports/python/py26-pydb ]$
[ dweber@elegans ~/macports-trunk/dports/python/py26-pydb ]$ svn commit -m "changed ${prefix}/bin/pydb-2.6 to ${prefix}/bin/${name} to avoid conflicts with other python versions" Portfile
Sending Portfile
Transmitting file data .
Committed revision 48659.
[ dweber@elegans ~/macports-trunk/dports/python/py26-pydb ]$
[ dweber@elegans ~/macports-trunk/dports/python/py26-pydb ]$ cd ..
[ dweber@elegans ~/macports-trunk/dports/python ]$ svn update
U py25-pydb/Portfile
Updated to revision 48659.
[ dweber@elegans ~/macports-trunk/dports/python ]$ more py25-pydb/Portfile
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:
sw=4:ts=4:sts=4
# $Id: Portfile 48659 2009-03-26 21:55:55Z dweber@macports.org $
PortSystem 1.0
# Set general python version parameters
set pyver 2.6
set python python${pyver}
set pyport [join [lrange [split ${python} .] 0 1] ""]
set pyframe ${frameworks_dir}/Python.framework/Version/${pyver}
set pysite ${prefix}/Library/Frameworks/Python.framework/Versions/${pyver}/lib/${python}/site-packages
name py26-pydb
version 1.25
categories python
maintainers software@macfreek.nl dweber openmaintainer
description Extended Python Debugger
long_description \
pydb is an expanded version of the Python debugger loosely based on the gdb command set. \
To use pydb in a GUI, also install the ddd packages, and run "ddd --pydb"
homepage http://bashdb.sourceforge.net/pydb/
platforms darwin
master_sites sourceforge:bashdb
distname pydb-${version}
checksums md5 86ab5dcd4f1c81192aeb7e0828371b6c \
sha1 9e6242c051089e53f3da4fcecba469c2d868de55 \
rmd160 afc83ea56149c3b1fba84089386b6974f01b1344
depends_lib-append port:${pyport}
configure.args-append \
--with-python=${prefix}/bin/${python}
post-destroot {
system "rm -f /opt/local/bin/pydb-${pyver}"
ln -s ${pysite}/pydb/pydb.py /opt/local/bin/${name}
}
[ dweber@elegans ~/macports-trunk/dports/python ]$
comment:18 follow-up: ↓ 19 Changed 4 years ago by mcalhoun@…
comment:19 in reply to: ↑ 18 Changed 4 years ago by dweber@…
Replying to mcalhoun@…:
As far as I can tell, there is no py26-pydb directory on the subversion server.
I am going to take a wild guess that you used
cp -r py25-pydb py26-pydbinstead of
svn cp py25-pydb py26-pydbIs that possible?
py25-pydb is not in a good state.
Do you want me to roll back r48659 and r48656?
Your absolutely right! Yep, I am sorry, py25-pydb is corrupted, please roll it back to the point where you did move py25-db to py25-pydb (r48646) [or something near there, before I hacked it].
It was my fault, because I ran
cd ~/macports-trunk/dports/python cp -r py25-pydb py26-pydb
So all edits within py26-pydb carried with it the .svn module for py25-pydb, hence all my changes to py26-pydb were applied to py25-pydb. I'll never make that mistake again.
I've started with a fresh co from trunk and now added py26-pydb correctly. I hope you can see it now.
Sorry, Darren
comment:20 Changed 4 years ago by dweber@…
py26-pydb should be working as follows:
[ dweber@elegans ~/ports ]$ port search pydb
py26-pydb @1.25 (python)
Extended Python Debugger
[ dweber@elegans ~/ports ]$ sudo port uninstall py26-pydb
Password:
---> Deactivating py26-pydb @1.25_0
---> Uninstalling py26-pydb @1.25_0
[ dweber@elegans ~/ports ]$ sudo port install py26-pydb
---> Fetching py26-pydb
---> Verifying checksum(s) for py26-pydb
---> Extracting py26-pydb
---> Configuring py26-pydb
---> Building py26-pydb
---> Staging py26-pydb into destroot
---> Installing py26-pydb @1.25_0
---> Activating py26-pydb @1.25_0
---> Cleaning py26-pydb
[ dweber@elegans ~/ports ]$ python2.6
Python 2.6.1 (r261:67515, Jan 30 2009, 11:23:18)
[GCC 4.0.1 (Apple Inc. build 5490)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pydb
>>> pydb.version
'1.25'
>>>
[ dweber@elegans ~/ports ]$ py26-pydb
(Pydb)
[ dweber@elegans ~/ports ]$ which py26-pydb
/opt/local/bin/py26-pydb
Best, Darren
comment:21 Changed 4 years ago by mcalhoun@…
- Status changed from reopened to closed
- Resolution set to fixed
Changes undone in r48670.
comment:23 Changed 4 years ago by anonymous
- Milestone Port Submissions deleted
Milestone Port Submissions deleted

