#12447 closed submission (fixed)
NEW: py-db
Reported by: | macfreek (Freek Dijkstra) | Owned by: | nerdling (Jeremy Lavergne) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.0 |
Keywords: | Cc: | jmroot (Joshua Root), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), dweber@…, mf2k (Frank Schima) | |
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 (6)
Change History (29)
Changed 17 years ago by macfreek (Freek Dijkstra)
Changed 17 years ago by macfreek (Freek Dijkstra)
Attachment: | patch-Makefile.in.diff added |
---|
comment:1 follow-up: 3 Changed 17 years ago by jmroot (Joshua Root)
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:2 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | mcalhoun@… added |
---|
Cc Me!
comment:3 Changed 16 years ago by nerdling (Jeremy Lavergne)
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 16 years ago by nerdling (Jeremy Lavergne)
Version: | 1.5.0 → 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 Changed 16 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 16 years ago by nerdling (Jeremy Lavergne)
Owner: | changed from macports-tickets@… to snc@… |
---|---|
Port: | py-db added |
Status: | new → assigned |
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 16 years ago by nerdling (Jeremy Lavergne)
Attachment: | Portfile.2 added |
---|
updated to new version — should it be in PortGroup python25?
Changed 16 years ago by nerdling (Jeremy Lavergne)
Attachment: | patch-Makefile.in.2.diff added |
---|
fixed
Changed 16 years ago by nerdling (Jeremy Lavergne)
Attachment: | Portfile.3 added |
---|
attempt to add portgroup
comment:8 follow-ups: 9 12 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
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).
Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Attachment: | mcl-Portfile added |
---|
comment:9 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
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 16 years ago by nerdling (Jeremy Lavergne)
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 16 years ago by nerdling (Jeremy Lavergne)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Committed as r48634.
comment:12 Changed 16 years ago by dweber@…
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | dweber@… macsforever2000@… added |
---|---|
Resolution: | → fixed |
Status: | reopened → closed |
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 follow-up: 15 Changed 16 years ago by dweber@…
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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 follow-up: 16 Changed 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
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 Changed 16 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 16 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 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
comment:19 Changed 16 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 16 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 16 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Changes undone in r48670.
comment:22 Changed 15 years ago by jmroot (Joshua Root)
Type: | enhancement → submission |
---|
comment:23 Changed 15 years ago by (none)
Milestone: | Port Submissions |
---|
Milestone Port Submissions deleted
patch for the Makefile (it fixes a symlink). This file must be places in a folder "files"