Subject: pkg/34570: [devel/global] update to 5.2
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Ryo HAYASAKA <ryoh@jaist.ac.jp>
List: pkgsrc-bugs
Date: 09/20/2006 16:30:00
>Number:         34570
>Category:       pkg
>Synopsis:       [devel/global] update to 5.2
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Sep 20 16:30:00 +0000 2006
>Originator:     Ryo HAYASAKA
>Release:        NetBSD 4.99.2, pkgsrc-current (20/9/2006)
>Organization:
Japan Advanced Institute of Science and Technology (JAIST)
>Environment:
System: NetBSD bonnie.jaist.ac.jp 4.99.2 NetBSD 4.99.2 (BONNIE.MP) #18: Mon Sep 18 17:20:57 JST 2006 ryoh@bonnie.jaist.ac.jp:/sys/arch/i386/compile/BONNIE.MP i386
Architecture: i386
Machine: i386
>Description:
Changes since 4.8:

August 8 2006, Shigio YAMAGUCHI

        * htags/fileindex.c: Rewritten using recursive call instead of stack structures.
        * gozilla.c: Fixed getURL() according to new GPATH.
        * Replaced malloc(), realloc() and stdup() with check_xxxx() functions.
        * Added icon files (icons/*png).

June 10 2006, Shigio YAMAGUCHI

        * Recovered original texinfo file names (.txi -> .texi).

April 21 2006, Shigio YAMAGUCHI

        Change in tag format:
        * Moved to new tag format. New tag format is as follows.
          GTAGS (with compress option)
                <file id> <tag name> <line number> <compressed line image>
          GRTAGS, GSYMS (with compact option)
                <file id> <tag name> <line number>[,...]
        * Now, GPATH has path names of not only source files but
          also other text files. The following commands no longer
          traverse file system. They read GPATH instead.
                global(1) with the --other option.
                htags(1) with the --other option.

        Change in architecture:
        * Changed the filtering architecture of global(1).

          Old architecture (- GLOBAL-4.7.8)

          process1          process2       process3
          +=============+  +===========+  +===========+
          |global(write)|->|sort filter|->|path filter|->[stdout]
          +=============+  +===========+  +===========+

          New architecture (GLOBAL-5.0 -)

          1 process
          +============================================+
          |global(write) ->[sort filter]->[path filter]|->[stdout]
          +============================================+

          For the convenience of debugging, the old architecture is
          also available. If macro EXTERNAL_FILTER is defined in filter.c
          old architecture is selected.
          The following options are also offered. (These options will be
          deleted perhaps sooner or later.)

            gtags --path={absolute|relative} --format={path|ctags|ctags-x|grep}
            gtags --sort --format={path|ctags|ctags-x|grep} [--unique]
            global --nofilter=[{path|sort}]
            global --filter=[{path|sort}]
            global --nosource

          Moved the processing by which various formats are generated from
          the main body of global(1) to the path filter. The main body
          generates only two formats: path and ctags-x.
          Path filter generates various formats which are given by the
          --result=<format> option.

        Change in CGI mechanism:
        * The 'cgi-bin/' directory which generated by htags(1) doesn't
          have any tag files. CGI script uses the tag files in the root
          directory of a source project instead.

        New modules:
        * Added strhash module (strhash.c and strhash.h) to libutil.
          Replaced the hash mechanism for compact format with this module.
        * Added xargs module (xargs.c and xargs.h) to libutil.
          Replaced the xargs(1) like mechanism with this module.
        * Added pathconvert module (pathconvert.c and pathconvert.h) to libutil.
          This module composes a part of an internal pipeline.
        * Added tagsort module (tagsort.c and tagsort.h) to libutil.
          Replaced external sort filter (gnusort) with internal one
          (tagsort module). Gnusort was removed. As a result, GLOBAL
          became free from dependence on external commands.
        * Included GLIBC files obstack.c, obstack.h, hash-string.c and
          hash-string.h.

        Internal options:
        * Removed two hidden options, --find and --other from gtags(1),
          since they are no longer used.
        * Added new internal format 'ctags-xid' of global(1).
          The anchor generation method of the global.cgi was changed.
          Global.cgi script was modified to use the --result=ctags-xid
          option of global(1)
        * Removed the -cc, -ccc, -cccc option of gtags(1).
          These options were undocumented and only for testing.
        * Removed two hidden options, --find and --other from gtags(1),
          since they are no longer used.
        Coding style:
        * End of support of K&R.
        * Changed function declarations to ANSI C style.

September 30 2005, Shigio YAMAGUCHI

        * Updated GNU Free Documentation License.(1.1->1.2)
        * Updated doc/texinfo.tex using texinfo-4.8.
        * BSD advertising clause was deleted, according to the declaration
          by UCB.
        * Added new module idset.
        * Added new function exec_line_limit() in env.c.
        * Added new function find_open_filelist() for the --file=xxx option.
          Find_read() and find_close() is shared by both find_open_filelist()
          and find_open().
        * Added new config option --with-db185-compat[=DIR].
          This is not for normal use, but for debugging.
        * Decreased use of popen() by moving the conversion from tabs to
          spaces into htags.
        * Reimplemented 'gtags --sort' without gnusort.
        * The default cache size was changed from 500000 to 5000000.
          Though I was assuming the machine equipped with 32-64MB,
          in a recent machine, even small one has 256-512MB memory.

May 12 2005, Shigio YAMAGUCHI

        * htags: New macro TOPDIR and SUBDIR added for readability.
        * htags: Quoted the "&" in attribute value.
        * Changed the address of FSF for each file.

April 19 2005, Shigio YAMAGUCHI

        * htags: Added new functions to generate anchor tag.
          For <a href=*** ...>
          - gen_href_begin_with_title_target()
          - gen_href_begin_simple()
          - gen_href_begin()
          - gen_href_begin_with_title()
          - gen_href_end()
          For <a name=***>
          - gen_name_number()
          - gen_name_string()
        * htags, gtags-parser: Defined lex name generation rule.
          - Change prefix * to *_.
          - New lex name generation rule.
          - New macro definition (LEXTEXT, LEXLENG, ...))
        * Added new macro STATIC_STRBUF(sb).
        * Added new macros (PART_TAG, PART_LNO, PART_PATH, PART_LINE).
        * strbuf.[ch]: Memory management was made more efficient.
        * Added const prefix to char * if it is suitable.
        * Install gtags.el into the $datadir/gtags directory instead of
          the site lisp directory because the installation procedure
          fails when the site lisp directory doesn't exist.

February 26 2005, Shigio YAMAGUCHI

        * Required version of autotools was updated.
          - autoconf 2.59
          - automake 1.9.3
          Configure.ac was modified according to the new style.
        * Install gtags.el into the site lisp directory.
        * When child process terminates abnormally, the program
          execution is ended.
        * The gctags directory was renamed to gtags-parser according to
          the renaming of the command.
        * gtags-parser: Modified to use a switch table for switching
          language.
November 11 2004, Shigio YAMAGUCHI

        * Assembly language parser rewritten using Yacc.
        * libutil/strmake.c: strtrim() added.
        * libutil/varray.c added.

        Decrease in dependancy to external commands:
        * The sed(1), sort(1) and find(1) are not necessary any longer.
        * The support of find(1) as a method of directory traversing
          was ended. As a result, dirent(3) became indispensable.
          The configuration phase was changed like follows:

                if dirent(3) exist then
                        use dirent(3)
                else if find(1) exist then
                        use find(1)
                else
                        ERROR
                        |
                        v
                if dirent(3) exist then
                        use dirent(3)
                else
                        ERROR
        * Htags.pl was removed completely. Therefore, the --date, --pwd,
          --write and --scandb option of gtags(1) which was used internally
          by htags.pl, were removed.
        * Includes GNU sort as part of GLOBAL package.
          This solves following troubles:
          - A certain operating system has another 'sort' command
            that specification is different from GNU sort. Unluckily,
            the command is often invoked for GLOBAL.
          - Multi-language version of sort is often very slow. Since GLOBAL
            doesn't support multi-language, the slowness is quite meaningless.
          - In the past, the specification of sort command was changed.

October 6 2004, Shigio YAMAGUCHI

        * libutil/langmap.c, langmap.h added.
          Config variable 'langmap' will be added officially sooner or later.
        * gctags/asm_res.in and htags/asm.l added.
        * fileindex.c: makeincludeindex() was cut out from makefileindex()
          for statistic.
        * The priority of the method selection for directory traversing
          was changed like follows:

                if find(1) exist then
                        use find(1)
                else
                        use dirent(3)
                        |
                        v
                if dirent(3) exist then
                        use dirent(3)
                else if find(1) exist then
                        use find(1)
                else
                        ERROR

        * gozilla: removed the Win32 version of sendbrowser, using a direct
          call to ShellExecute (since the browser probably isn't on the path,
          and -remote doesn't seem to work on Windows).
        * htags/src2html.c: Modified to use a switch table for switching
          language.
	
>How-To-Repeat:
	
>Fix:
Index: DESCR
===================================================================
RCS file: /usr/cvsup/pkgsrc/devel/global/DESCR,v
retrieving revision 1.1
diff -d -p -u -r1.1 DESCR
--- DESCR	1 Nov 2001 01:23:48 -0000	1.1
+++ DESCR	20 Sep 2006 15:21:03 -0000
@@ -1,15 +1,14 @@
-GLOBAL is a source code tag system that works the same way across
-diverse environments. Currently, it supports the following:
-
-    Shell command line
-    nvi editor
-    Web browser
-    emacs editor
-    elvis editor
+GNU GLOBAL is a source code tag system that works the same way across
+diverse environments.  GNU GLOBAL has following features:
 
-Supported languages are C, Yacc and Java.  You can locate a specified
-function in the source files and move there easily.  It is useful for
-hacking a large project containing many subdirectories, many '#ifdef'
-and many main() functions, like MH, X or BSD kernel.  GLOBAL consists
-of global(1), gtags(1), btreeop(1), gctags(1), htags(1), extended
-vi(1), gtags.el and gozilla(1).
+    * support C, C++, Yacc, Java and PHP4.
+    * work the same way across diverse environments. Currently, support
+      followings:
+          o Generic shell command line
+          o Bash shell
+          o Vi clone editor (nvi, elvis, vim)
+          o Emacs editor (emacs, mule, xemacs)
+          o Glimmer editor
+          o Less viewer
+          o Web browser (See UNIX kernel source tour!.)
+          o Doxygen documentation system
Index: Makefile
===================================================================
RCS file: /usr/cvsup/pkgsrc/devel/global/Makefile,v
retrieving revision 1.22
diff -d -p -u -r1.22 Makefile
--- Makefile	30 Mar 2006 03:44:43 -0000	1.22
+++ Makefile	20 Sep 2006 15:21:03 -0000
@@ -1,26 +1,19 @@
-# $NetBSD: Makefile,v 1.22 2006/03/30 03:44:43 jlam Exp $
+# $NetBSD$
 #
 
-DISTNAME=	global-4.8
+DISTNAME=	global-5.2
 CATEGORIES=	devel
-MASTER_SITES=   http://www.tamacom.com/global/
+MASTER_SITES=	${MASTER_SITE_GNU:=global/} \
+		http://tamacom.com/global/
 
 MAINTAINER=	pkgsrc-users@NetBSD.org
-HOMEPAGE=	http://www.tamacom.com/global/
+HOMEPAGE=	http://www.gnu.org/software/global/global.html
 COMMENT=	Source code tag system including web browser output
 
-PKG_INSTALLATION_TYPES=	overwrite pkgviews
-GNU_CONFIGURE=		YES
-USE_TOOLS+=		perl:run
-INFO_FILES=		# PLIST
-
-LDFLAGS+=	-L../libutil
-MAKE_ENV+=      LIBDIR="${PREFIX}/lib"
-MAKE_ENV+=      MANDIR="${PREFIX}/man"
-MAKE_ENV+=      LINTLIBDIR="${PREFIX}/libdata/lint"
-MAKE_ENV+=      BINDIR="${PREFIX}/bin"
+GNU_CONFIGURE=	yes
+INFO_FILES=	yes
+USE_TOOLS+=	perl:run
 
-pre-install:
-	${INSTALL_DATA_DIR} ${PREFIX}/libdata/lint
+DEPENDS+=	idutils-[0-9]*:../../devel/idutils
 
 .include "../../mk/bsd.pkg.mk"
Index: PLIST
===================================================================
RCS file: /usr/cvsup/pkgsrc/devel/global/PLIST,v
retrieving revision 1.10
diff -d -p -u -r1.10 PLIST
--- PLIST	30 Mar 2006 03:44:43 -0000	1.10
+++ PLIST	20 Sep 2006 15:21:03 -0000
@@ -1,14 +1,15 @@
-@comment $NetBSD: PLIST,v 1.10 2006/03/30 03:44:43 jlam Exp $
-bin/gctags
+@comment $NetBSD$
 bin/global
 bin/gozilla
 bin/gtags
+bin/gtags-cscope
+bin/gtags-parser
 bin/htags
-bin/htags.pl
 info/global.info
-man/man1/gctags.1
 man/man1/global.1
 man/man1/gozilla.1
+man/man1/gtags-cscope.1
+man/man1/gtags-parser.1
 man/man1/gtags.1
 man/man1/htags.1
 share/gtags/AUTHORS
@@ -27,7 +28,26 @@ share/gtags/gtags.conf
 share/gtags/gtags.el
 share/gtags/gtags.pl
 share/gtags/gtags.vim
+share/gtags/icons/back.png
+share/gtags/icons/bottom.png
+share/gtags/icons/c.png
+share/gtags/icons/dir.png
+share/gtags/icons/first.png
+share/gtags/icons/help.png
+share/gtags/icons/index.png
+share/gtags/icons/last.png
+share/gtags/icons/left.png
+share/gtags/icons/n_bottom.png
+share/gtags/icons/n_first.png
+share/gtags/icons/n_last.png
+share/gtags/icons/n_left.png
+share/gtags/icons/n_right.png
+share/gtags/icons/n_top.png
+share/gtags/icons/pglobe.png
+share/gtags/icons/right.png
+share/gtags/icons/text.png
+share/gtags/icons/top.png
 share/gtags/nvi-1.79-gtags.diff
+share/gtags/style.css
+@dirrm share/gtags/icons
 @dirrm share/gtags
-@exec ${MKDIR} %D/libdata/lint
-@dirrm libdata/lint
Index: distinfo
===================================================================
RCS file: /usr/cvsup/pkgsrc/devel/global/distinfo,v
retrieving revision 1.6
diff -d -p -u -r1.6 distinfo
--- distinfo	23 Feb 2005 22:24:15 -0000	1.6
+++ distinfo	20 Sep 2006 15:21:03 -0000
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.6 2005/02/23 22:24:15 agc Exp $
+$NetBSD$
 
-SHA1 (global-4.8.tar.gz) = 4117c62cdb26c65bd5c8d115a02dd4e1dfaca54a
-RMD160 (global-4.8.tar.gz) = 84d41886e29c9dd10fc378691b0e168b5632b3a9
-Size (global-4.8.tar.gz) = 591811 bytes
+SHA1 (global-5.2.tar.gz) = 6e83c9eaa9d454fd3f2d8aaf6d9f27ad96d58a32
+RMD160 (global-5.2.tar.gz) = 064bbbd82bdcc41e8361a4ce54ee12e557dc6e74
+Size (global-5.2.tar.gz) = 717473 bytes