Dave & Diane schrieb:
Hi Reini,
Thanks for your time to look at this so extensively. See my notes below.

Reini Urban wrote:
No GTG.

1.

$ usr/sbin/mlcscope.exe
cscope: no source files found
Usage: cscope [-abcCdeklLoqrRtTuUV] [-f file] [-F file] [-i file] [-I dir] [-m lang] [-p number] [-P path] [-s dir] [-x ext] [-[0-8] pattern] -a Ask for subset of files to search in "Find this egrep pattern:"
-b              Build the database only.
-c              Use only ASCII characters in the database file, that is,
                do not compress the data.
-C              Ignore letter case when searching.
-d              Do not update the database.
-e              Suppress the <Ctrl>-E command prompt between files.
-f "file"       Use "file" as the database file name instead of
                the default (cscope.out).
-F "file"       Read symbol reference lines from file, just
                like the "<" command.
-i "file"       Read any -I, -p, -q, and -T options and the
                list of source files from "file" instead of the
                default (cscope.files).
-I "dir"        Look in "dir" for #include files.
-k              Kernel Mode - don't use /usr/include for #include files.
-l              Line-oriented interface.
-L              Do a single search with line-oriented output.
-m "lang"       Use lang for multi-lingual cscope.
-num "pattern"  Go to input field num (counting from 0) and find pattern.
-p n            Display the last n file path components.
-P "path" Prepend path to relative file names in pre-build databases.
-q              Build an inverted index for quick symbol seaching.
-r              Display as many lines as possible (return required).
-R              Recurse directories for files.
-s "dir"        Look in "dir" for additional source files.
-T Use only the first eight characters to match against symbols.
-u              Unconditionally build the database.
-U              Check file time stamps.
-V              Print the version number.
-x "ext"        Use extended menu with option "ext".

$ /usr/src/mlcscope/usr/sbin/mlcscope.exe `find -name \*.c`
cscope: converting to new symbol database file format
cscope: building symbol database

Can you patch the source everywhere to reflect the correct name mlcscope and not cscope please.

I will discuss this with the maintainer of cscope/mlcscope at Lucent because its not really a cygwin specific issue. I can create an appropriate patch in the meantime.

Please. I might be tended to ITP cscope from sf.net,
so there should be no confusion.
I got no cscope (sf.net) build errors.

2.

$ tar tfj mlcscope-14.1.8-1.tar.bz2
usr/sbin/
usr/sbin/mlcscope.exe
usr/share/
usr/share/doc/
usr/share/doc/Cygwin/
usr/share/doc/Cygwin/mlcscope-14.1.8.README
usr/share/doc/mlcscope-14.1.8/
usr/share/doc/mlcscope-14.1.8/COPYING
usr/share/doc/mlcscope-14.1.8/cscalls.html
usr/share/doc/mlcscope-14.1.8/cscope.html
usr/share/doc/mlcscope-14.1.8/index.html
usr/share/doc/mlcscope-14.1.8/mlcscope.html
usr/share/doc/mlcscope-14.1.8/notes.cygwin
usr/share/doc/mlcscope-14.1.8/notes.dos
usr/share/doc/mlcscope-14.1.8/notes.w95
usr/share/doc/mlcscope-14.1.8/notes.win32
usr/share/doc/mlcscope-14.1.8/README
usr/share/man/
usr/share/man/man1/
usr/share/man/man1/cscalls.1.gz
usr/share/man/man1/cscope.1.gz
usr/share/man/man1/mlcscope.1.gz

Either cscalls and cscope binaries are missing, or the docs are wrong.

Since this was my first time adding a package to cygwin I was trying to only make the binaries available that made sense in a cygwin environment and not bite off too large a problem at once.

cscalls is used by dt which I don't think is currently available in cygwin. I was undecided whether to remove the man pages or not since I wasn't trying to package cscalls. If you think it is appropriate I can remove the man pages etc. Also, I haven't tested cscalls functionality so wanted to err on the cautious side by not saying it was available.

so please delete
usr/share/man/man1/cscalls.1.gz
usr/share/man/man1/cscope.1.gz

cscope and mlcscope are very different because cscope uses one parser and mlcscope uses a different parser based on the language of the file. I didn't pursue making the cscope executable available for two reasons.

First and foremost, there is already a version of cscope on sourceforge (which you reference), and it is unrelated the Lucent version of cscope and has different functionality. Different advantages and disadvantages. If I introduce cscope and mlcscope, I risk creating confusion between Lucent cscope and Sourceforge cscope. I was hoping to avoid doing that, so I chose to only package mlcscope. The Lucent package however contains both.

Secondly, I had trouble getting the lex parser to compile for cscope. Given that I didn't want to create confusion in the community between the two, I didn't spend much time trying to fix that and decided to just package mlcscope.

I would welcome your direction on this. If you think it appropriate to remove the man pages for cscope (and cscalls) or provide the tools with the documentation clearly stating that its different than the sourceforge version of cscope.

3. Why usr/sbin ?
We would rather prefer usr/bin
Brian in http://www.cygwin.com/ml/cygwin-apps/2006-06/msg00073.html also.

Ah - my bad. I fixed the missing usr/ in the path as Brian pointed out but forgot to change it to bin. Will fix.


4. Missing docs in src pkg:

src/README refers to those missing files:
notes.dos
notes.cygwin
notes.w95
notes.win32
in the src package. Those are only in the binary package. The html docs are also missing from the src pkg.

Will fix.

Better include only the original src pkg, the build script and the patches. BTW: With cygport it will be only 3 lines plus the patch.

5. Missing cscalls
The src contains a cscalls.sh which should installed to usr/bin/cscalls

so no cscalls


Ref discussion above
6. Missing cscope
Is this enough?

Ref discussion above

no cscope binary and no man

cd usr/bin
ln -s mlcscope.exe cscope

I don't think so, because the upstream cygwin package contains different binaries with different functionality.

I didn't look at the binary package since I know they were compiled quite some time ago and there are newer versions of cygwin out since. I forgot the msdos versions were in the binary package. Since the msdos versions rely on pdcurses etc I don't think it would be appropriate to include in a cygwin package. Do you agree?

http://www1.bell-labs.com/cgi-user/wwexptools/gensnapshot?cscope
$ tar tfz cscope.tar.gz
bin/cscope.exe
bin/mlcscope.exe
bin/cscalls
lib/msdos/cscop386.exe
lib/msdos/cscope.exe
lib/msdos/mlcscope.exe
lib/msdos/cscope95.zip
lib/toolnews/cscope
lib/toolhist/cscope
lib/cscope/
lib/cscope/COPYING
man/man1/cscope.1
man/man1/mlcscope.1
man/man1/cscalls.1

cscope.sn.net:
cd /usr/src/mlcscope/cscope-15.5-1/inst/usr/bin
$ ./cscopy -h

Usage: cscope [-bcCdehklLqRTuUvV] [-f file] [-F file] [-i file] [-I dir] [-s dir]
              [-p number] [-P path] [-[0-8] pattern] [source files]


7. orisrc download url
I found nowhere a location where to find more information of the original src package and where to download it.

Either http://www1.bell-labs.com/project/wwexptools/cscope/ or http://cscope.sourceforge.net/ should be mentioned somewhere.

The was mentioned in usr/share/doc/Cygwin/mlcscope-14.1.8.README :

Lucent cscope.
--------------

You can find the Lucent version of cscope in its raw form and for other
platforms at: http://www.bell-labs.com/project/wwexptools/packages.html

I can clarify to state source and binaries for all platforms.

8. The latest cscope release is 15.5 (http://cscope.sourceforge.net/)
Probably without java support.
But if you provide a cscope binary and/or man page you should explain how to resolve the conflict if someone wants the newer cscope package.

cscope-15.5 contains also ocs, webcscope and xcscope, but no -m option.

I disagree with the term latest - the sourceforge version is unrelated to the Lucent version. They are from different branches in the source history of cscope and there are no efforts to cross port features as far as I am aware. This history of this can be found on the bell-labs website you mention above:

"CSCOPE has some older variants available publicly, which originated within Lucent (or AT&T prior to the divestiture), when CSCOPE was submitted to UNIX, when this was owned by AT&T. This early version was sold of as part of UNIX System Labs, which was bought by Santa Cruz Operation and subsequently released as Open Source. As such, version 11.4 was enhanced as Open Source and renamed as version 15. However, Lucent CSCOPE progressed within AT&T and Lucent over the past 15 years, as version 12 and 13 and has significantly more functionality through its use over many years. MLCSCOPE was created to adapt CSCOPE to a Multi-Lingual approach and providing JAVA support.

This history unfortunately means there are two separate source trees for cscope. This was part of the thinking to only provide mlcscope.

What gets really confusing is the Lucent package identifies cscope and mlcscope with different versions. cscope is version 13, mlcscope is version 14.

Perhaps I should add a comment to usr/share/doc/Cygwin/mlcscope-14.1.8.README explaining this more

yes, please quote the paragraph. people will be asking this.

If I do add cscope to cygwin, I need to figure out how to provide both executables with different version number from the same source package. Advice on this would be appreciated if we go that path.

Rather stay with mlcscope alone as this seems to be better.

BTW: I am also tempted to add php support to mlcscope.
perl will be a bit harder in flex. :)

9. setup.hint misses libncurses8

Will fix.

So for a mlcscope package for java support it would be enough to fix those issues, including fixing name, the packaging, remove the cscope man packages and fix the docs.

Thanks again! I appreciate your time, and hope to have these issues fixed soon. I look forward to your thoughts.

--
Reini

Reply via email to