From 4ea5ec3158660eefba8374d6054646fe9d42a3eb Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 14 2020 06:09:21 +0000 Subject: import cscope-15.9-9.el8 --- diff --git a/.cscope.metadata b/.cscope.metadata new file mode 100644 index 0000000..a1b7ba4 --- /dev/null +++ b/.cscope.metadata @@ -0,0 +1 @@ +19e7c78faad104020c32ce3a4275c84e9a060070 SOURCES/cscope-15.9.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ae6c5fa --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/cscope-15.9.tar.gz diff --git a/SOURCES/cscope-coverity-fixes.patch b/SOURCES/cscope-coverity-fixes.patch new file mode 100644 index 0000000..aac7e0c --- /dev/null +++ b/SOURCES/cscope-coverity-fixes.patch @@ -0,0 +1,26 @@ +diff -up ./src/egrep.c.coverity2 ./src/egrep.c +--- ./src/egrep.c.coverity2 2018-10-11 15:22:40.481384312 -0400 ++++ ./src/egrep.c 2018-10-11 15:23:31.152211589 -0400 +@@ -1205,6 +1205,7 @@ yyparse (void) + # undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); ++ /* coverity[leaked_storage] */ + } + # endif + #endif /* no yyoverflow */ +diff -up ./src/logdir.c.coverity2 ./src/logdir.c +--- ./src/logdir.c.coverity2 2018-10-11 15:23:50.009147309 -0400 ++++ ./src/logdir.c 2018-10-11 15:24:26.279023664 -0400 +@@ -79,8 +79,10 @@ logdir(char *name) + if (line[j] == '\n') + break; + /* return a null pointer if the whole file has been read */ +- if (j >= i) ++ if (j >= i) { ++ (void) close(pwf); + return(0); ++ } + line[++j] = 0; /* terminate the line */ + (void) lseek(pwf, (long) (j - i), 1); /* point at the next line */ + p = nextfield(line); /* get the logname */ diff --git a/SOURCES/cscope-cscope-indexer-help.patch b/SOURCES/cscope-cscope-indexer-help.patch new file mode 100644 index 0000000..08efb2a --- /dev/null +++ b/SOURCES/cscope-cscope-indexer-help.patch @@ -0,0 +1,52 @@ +diff -up ./contrib/xcscope/cscope-indexer.help ./contrib/xcscope/cscope-indexer +--- ./contrib/xcscope/cscope-indexer.help 2017-12-07 10:45:07.000000000 -0500 ++++ ./contrib/xcscope/cscope-indexer 2019-06-24 15:46:31.484852474 -0400 +@@ -80,6 +80,37 @@ RECURSE= + VERBOSE= + export DIR RECURSE # Need to pass these to subprocesses + ++show_usage() { ++ ++cat << EOF ++ ++ cscope-indexer [ -v ] [-f database_file ] [-i list_file ] [ -l ] [ -r ] ++ ++ where: ++ ++ -f database_file ++ Specifies the cscope database file (default: cscope.out). ++ ++ -i list_file ++ Specifies the name of the file into which the list of files ++ to index is placed (default: cscope.files). ++ ++ -l ++ Suppress the generation/updating of the cscope database ++ file. Only a list of files is generated. ++ ++ -r ++ Recurse into subdirectories to locate files to index. ++ Without this option, only the current directory is ++ searched. ++ ++ -v ++ Be verbose. Output simple progress messages. ++ ++EOF ++ ++} ++ + while [ -n "$1" ] + do + case "$1" in +@@ -110,6 +141,10 @@ do + -v) + VERBOSE=1 + ;; ++ -h|--help) ++ show_usage ++ exit 0 ++ ;; + *) + DIR="$1" + ;; diff --git a/SOURCES/cscope-dblfree.patch b/SOURCES/cscope-dblfree.patch new file mode 100644 index 0000000..666943d --- /dev/null +++ b/SOURCES/cscope-dblfree.patch @@ -0,0 +1,11 @@ +diff -up ./src/command.c.dblfree ./src/command.c +--- ./src/command.c.dblfree 2019-04-11 07:08:24.358253603 -0400 ++++ ./src/command.c 2019-04-11 07:08:43.955193615 -0400 +@@ -785,7 +785,6 @@ changestring(void) + } + } + fprintf(script, "w\nq\n!\n"); /* write and quit */ +- fclose(script); + + /* if any line was marked */ + if (anymarked == YES) { diff --git a/SOURCES/cscope-selftest-repoint.patch b/SOURCES/cscope-selftest-repoint.patch new file mode 100644 index 0000000..43f76f8 --- /dev/null +++ b/SOURCES/cscope-selftest-repoint.patch @@ -0,0 +1,216 @@ +diff -up ./tests/check0.sh.repoint ./tests/check0.sh +--- ./tests/check0.sh.repoint 2019-03-12 13:15:47.331320989 -0400 ++++ ./tests/check0.sh 2019-03-12 13:20:52.238304290 -0400 +@@ -5,6 +5,11 @@ SINDEX=0 + STERM=main + STYPE="find C symbol" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -15,7 +20,7 @@ rm -f cscope.out + + #Count the number of instances of the string 'Copyright' + #We expect 178 currently +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then +diff -up ./tests/check1.sh.repoint ./tests/check1.sh +--- ./tests/check1.sh.repoint 2019-03-12 13:15:47.333320983 -0400 ++++ ./tests/check1.sh 2019-03-12 13:20:52.241304280 -0400 +@@ -5,6 +5,11 @@ SINDEX=1 + STERM=main + STYPE="symbol definition" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -15,7 +20,7 @@ rm -f cscope.out + + #Count the number of instances of the string 'Copyright' + #We expect 178 currently +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then +diff -up ./tests/check2.sh.repoint ./tests/check2.sh +--- ./tests/check2.sh.repoint 2019-03-12 13:15:47.334320979 -0400 ++++ ./tests/check2.sh 2019-03-12 13:20:52.245304266 -0400 +@@ -5,6 +5,11 @@ SINDEX=2 + STERM=build + STYPE="functions called by" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -13,7 +18,7 @@ cd .. + #Remove any previous databases from testing + rm -f cscope.out + +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then +diff -up ./tests/check3.sh.repoint ./tests/check3.sh +--- ./tests/check3.sh.repoint 2019-03-12 13:15:47.335320976 -0400 ++++ ./tests/check3.sh 2019-03-12 13:20:52.248304256 -0400 +@@ -5,6 +5,11 @@ SINDEX=3 + STERM=printf + STYPE="functions calling" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -14,7 +19,7 @@ cd .. + rm -f cscope.out + + #We expect 178 currently +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then +diff -up ./tests/check4.sh.repoint ./tests/check4.sh +--- ./tests/check4.sh.repoint 2019-03-12 13:15:47.336320973 -0400 ++++ ./tests/check4.sh 2019-03-12 13:20:52.252304243 -0400 +@@ -4,6 +4,11 @@ SINDEX=4 + STERM=oldsigquit + STYPE="regular text string" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -12,7 +17,7 @@ cd .. + #Remove any previous databases from testing + rm -f cscope.out + +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then +diff -up ./tests/check6.sh.repoint ./tests/check6.sh +--- ./tests/check6.sh.repoint 2019-03-12 13:15:47.338320966 -0400 ++++ ./tests/check6.sh 2019-03-12 13:20:52.259304220 -0400 +@@ -5,6 +5,11 @@ SINDEX=6 + STERM=msg.*what + STYPE="egrep string" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -15,7 +20,7 @@ rm -f cscope.out + + #Count the number of instances of the string 'Copyright' + #We expect 178 currently +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then +diff -up ./tests/check7.sh.repoint ./tests/check7.sh +--- ./tests/check7.sh.repoint 2019-03-12 13:15:47.339320963 -0400 ++++ ./tests/check7.sh 2019-03-12 13:20:52.263304206 -0400 +@@ -5,6 +5,11 @@ SINDEX=7 + STERM=main.c + STYPE="file named" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -15,7 +20,7 @@ rm -f cscope.out + + #Count the number of instances of the string 'Copyright' + #We expect 178 currently +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then +diff -up ./tests/check8.sh.repoint ./tests/check8.sh +--- ./tests/check8.sh.repoint 2019-03-12 13:15:47.340320959 -0400 ++++ ./tests/check8.sh 2019-03-12 13:20:52.267304193 -0400 +@@ -5,6 +5,11 @@ SINDEX=8 + STERM=unistd.h + STYPE="files including this file" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -15,7 +20,7 @@ rm -f cscope.out + + #Count the number of instances of the string 'Copyright' + #We expect 178 currently +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then +diff -up ./tests/check9.sh.repoint ./tests/check9.sh +--- ./tests/check9.sh.repoint 2019-03-12 13:15:47.341320956 -0400 ++++ ./tests/check9.sh 2019-03-12 13:20:52.270304183 -0400 +@@ -5,6 +5,11 @@ SINDEX=9 + STERM=reftime + STYPE="assignments to symbol" + ++if [ -z "$CSCOPE_BINARY" ] ++then ++ CSCOPE_BINARY=./src/cscope ++fi ++ + echo "Searching item $SINDEX, '$STYPE'" + + #Get to the top level directory +@@ -15,7 +20,7 @@ rm -f cscope.out + + #Count the number of instances of the string 'Copyright' + #We expect 178 currently +-COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++COUNT=$($CSCOPE_BINARY -R -L -$SINDEX$STERM | wc -l) + + if [ $COUNT -ne $EXPECT ] + then diff --git a/SOURCES/cscope-selftest.patch b/SOURCES/cscope-selftest.patch new file mode 100644 index 0000000..78075eb --- /dev/null +++ b/SOURCES/cscope-selftest.patch @@ -0,0 +1,350 @@ +commit efc92106173b5130e32587f6c788f19f2477051d +Author: Neil Horman +Date: Fri Jul 27 15:52:49 2018 -0400 + + Add make check test harness + + Start adding tests to self test cscope in travis ci + + Signed-off-by: Neil Horman + +diff --git a/Makefile.am b/Makefile.am +index ae0fc53..d79d44e 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + ## Process this file with automake to produce Makefile.in + +-SUBDIRS = doc src contrib ++SUBDIRS = doc src contrib tests + + EXTRA_DIST = INSTALL.gnu packages + +diff --git a/bootstrap.sh b/bootstrap.sh +new file mode 100755 +index 0000000..6a363ed +--- /dev/null ++++ b/bootstrap.sh +@@ -0,0 +1,7 @@ ++#!/bin/sh ++ ++aclocal ++autoheader ++autoconf ++automake --add-missing ++ +diff --git a/configure.in b/configure.in +index c51887d..e0a8b1f 100644 +--- a/configure.in ++++ b/configure.in +@@ -425,5 +425,5 @@ case "$host_os" in + ;; + esac + +-AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile contrib/Makefile]) ++AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile contrib/Makefile tests/Makefile]) + AC_OUTPUT +diff --git a/tests/Makefile.am b/tests/Makefile.am +new file mode 100644 +index 0000000..2278a71 +--- /dev/null ++++ b/tests/Makefile.am +@@ -0,0 +1,7 @@ ++check_SCRIPTS = check0.sh check1.sh check2.sh \ ++ check3.sh check4.sh check6.sh \ ++ check7.sh check8.sh check9.sh ++ ++TESTS = check0.sh check1.sh check2.sh \ ++ check3.sh check4.sh check6.sh \ ++ check7.sh check8.sh check9.sh +diff --git a/tests/check0.sh b/tests/check0.sh +new file mode 100755 +index 0000000..2487107 +--- /dev/null ++++ b/tests/check0.sh +@@ -0,0 +1,27 @@ ++#!/bin/sh ++ ++EXPECT=4 ++SINDEX=0 ++STERM=main ++STYPE="find C symbol" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++#Count the number of instances of the string 'Copyright' ++#We expect 178 currently ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ +diff --git a/tests/check1.sh b/tests/check1.sh +new file mode 100755 +index 0000000..a80997b +--- /dev/null ++++ b/tests/check1.sh +@@ -0,0 +1,27 @@ ++#!/bin/sh ++ ++EXPECT=3 ++SINDEX=1 ++STERM=main ++STYPE="symbol definition" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++#Count the number of instances of the string 'Copyright' ++#We expect 178 currently ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ +diff --git a/tests/check2.sh b/tests/check2.sh +new file mode 100755 +index 0000000..efbf2e5 +--- /dev/null ++++ b/tests/check2.sh +@@ -0,0 +1,25 @@ ++#!/bin/sh ++ ++EXPECT=96 ++SINDEX=2 ++STERM=build ++STYPE="functions called by" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ +diff --git a/tests/check3.sh b/tests/check3.sh +new file mode 100755 +index 0000000..5ec8fc0 +--- /dev/null ++++ b/tests/check3.sh +@@ -0,0 +1,26 @@ ++#!/bin/sh ++ ++EXPECT=44 ++SINDEX=3 ++STERM=printf ++STYPE="functions calling" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++#We expect 178 currently ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ +diff --git a/tests/check4.sh b/tests/check4.sh +new file mode 100755 +index 0000000..5a58d59 +--- /dev/null ++++ b/tests/check4.sh +@@ -0,0 +1,24 @@ ++#!/bin/sh ++EXPECT=3 ++SINDEX=4 ++STERM=oldsigquit ++STYPE="regular text string" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ +diff --git a/tests/check6.sh b/tests/check6.sh +new file mode 100755 +index 0000000..b13b33e +--- /dev/null ++++ b/tests/check6.sh +@@ -0,0 +1,27 @@ ++#!/bin/sh ++ ++EXPECT=1 ++SINDEX=6 ++STERM=msg.*what ++STYPE="egrep string" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++#Count the number of instances of the string 'Copyright' ++#We expect 178 currently ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ +diff --git a/tests/check7.sh b/tests/check7.sh +new file mode 100755 +index 0000000..3dc0706 +--- /dev/null ++++ b/tests/check7.sh +@@ -0,0 +1,27 @@ ++#!/bin/sh ++ ++EXPECT=1 ++SINDEX=7 ++STERM=main.c ++STYPE="file named" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++#Count the number of instances of the string 'Copyright' ++#We expect 178 currently ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ +diff --git a/tests/check8.sh b/tests/check8.sh +new file mode 100755 +index 0000000..7bede78 +--- /dev/null ++++ b/tests/check8.sh +@@ -0,0 +1,27 @@ ++#!/bin/sh ++ ++EXPECT=9 ++SINDEX=8 ++STERM=unistd.h ++STYPE="files including this file" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++#Count the number of instances of the string 'Copyright' ++#We expect 178 currently ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ +diff --git a/tests/check9.sh b/tests/check9.sh +new file mode 100755 +index 0000000..87f59f3 +--- /dev/null ++++ b/tests/check9.sh +@@ -0,0 +1,27 @@ ++#!/bin/sh ++ ++EXPECT=2 ++SINDEX=9 ++STERM=reftime ++STYPE="assignments to symbol" ++ ++echo "Searching item $SINDEX, '$STYPE'" ++ ++#Get to the top level directory ++cd .. ++ ++#Remove any previous databases from testing ++rm -f cscope.out ++ ++#Count the number of instances of the string 'Copyright' ++#We expect 178 currently ++COUNT=$(./src/cscope -R -L -$SINDEX$STERM | wc -l) ++ ++if [ $COUNT -ne $EXPECT ] ++then ++ echo "Expected $EXPECT instances of $STYPE $STERM but found $COUNT" ++ exit 1 ++fi ++ ++exit 0 ++ diff --git a/SOURCES/cscope-version.patch b/SOURCES/cscope-version.patch new file mode 100644 index 0000000..51c95f5 --- /dev/null +++ b/SOURCES/cscope-version.patch @@ -0,0 +1,12 @@ +diff -up ./configure.in.version ./configure.in +diff -up ./src/version.h.version ./src/version.h +--- ./src/version.h.version 2019-06-03 10:06:42.185021824 -0400 ++++ ./src/version.h 2019-06-03 10:06:51.500994292 -0400 +@@ -40,6 +40,6 @@ + #define CSCOPE_VERSION_H + + #define FILEVERSION 15 /* Initial Open Source and Linux Port */ +-#define FIXVERSION ".8b" /* feature and bug fix version */ ++#define FIXVERSION ".9" /* feature and bug fix version */ + + #endif /* CSCOPE_VERSION_H */ diff --git a/SPECS/cscope.spec b/SPECS/cscope.spec new file mode 100644 index 0000000..817942d --- /dev/null +++ b/SPECS/cscope.spec @@ -0,0 +1,305 @@ +Summary: C source code tree search and browse tool +Name: cscope +Version: 15.9 +Release: 9%{?dist} +Source0: https://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.gz +URL: http://cscope.sourceforge.net +License: BSD and GPLv2+ +Group: Development/Tools +BuildRequires: gcc pkgconf-pkg-config ncurses-devel flex bison m4 +BuildRequires: autoconf automake +Requires: emacs-filesystem coreutils +Requires: ed +%if !0%{?rhel} +Requires: xemacs-filesystem +%endif + +Patch0: cscope-coverity-fixes.patch +Patch1: cscope-selftest.patch +Patch2: cscope-selftest-repoint.patch +Patch3: cscope-version.patch +Patch4: cscope-cscope-indexer-help.patch +Patch5: cscope-dblfree.patch + +%define cscope_share_path %{_datadir}/cscope +%define xemacs_lisp_path %{_datadir}/xemacs/site-packages/lisp +%define emacs_lisp_path %{_datadir}/emacs/site-lisp +%define vim_plugin_path %{_datadir}/vim/vimfiles/plugin + +%description +cscope is a mature, ncurses based, C source code tree browsing tool. It +allows users to search large source code bases for variables, functions, +macros, etc, as well as perform general regex and plain text searches. +Results are returned in lists, from which the user can select individual +matches for use in file editing. + +%prep +%autosetup -p1 + +%build +aclocal +autoheader +autoconf +automake --add-missing +%configure +make +make check + +%install +rm -rf $RPM_BUILD_ROOT %{name}-%{version}.files +make DESTDIR=$RPM_BUILD_ROOT install +mkdir -p $RPM_BUILD_ROOT/var/lib/cs +mkdir -p $RPM_BUILD_ROOT%{cscope_share_path} +cp -a contrib/xcscope/xcscope.el $RPM_BUILD_ROOT%{cscope_share_path} +install -m 755 contrib/xcscope/cscope-indexer $RPM_BUILD_ROOT%{_bindir} +cp -a contrib/cctree.vim $RPM_BUILD_ROOT%{cscope_share_path} +for dir in %{xemacs_lisp_path} %{emacs_lisp_path} ; do + mkdir -p $RPM_BUILD_ROOT$dir + ln -s %{cscope_share_path}/xcscope.el $RPM_BUILD_ROOT$dir + touch $RPM_BUILD_ROOT$dir/xcscope.elc + echo "%ghost $dir/xcscope.el*" >> %{name}-%{version}.files +done + +%files -f %{name}-%{version}.files +%defattr(-,root,root,-) +%{_bindir}/* +%dir %{cscope_share_path} +%{cscope_share_path}/ +%{_mandir}/man1/* +%dir /var/lib/cs +%doc AUTHORS COPYING ChangeLog README TODO contrib/cctree.txt + +%if !0%{?rhel} +%triggerin -- xemacs +ln -sf %{cscope_share_path}/xcscope.el %{xemacs_lisp_path}/xcscope.el +%endif + +%triggerin -- emacs, emacs-nox, emacs-lucid +ln -sf %{cscope_share_path}/xcscope.el %{emacs_lisp_path}/xcscope.el + +%triggerin -- vim-filesystem +ln -sf %{cscope_share_path}/cctree.vim %{vim_plugin_path}/cctree.vim + +%if !0%{?rhel} +%triggerun -- xemacs +[ $2 -gt 0 ] && exit 0 +rm -f %{xemacs_lisp_path}/xcscope.el +%endif + +%triggerun -- emacs, emacs-nox, emacs-lucid +[ $2 -gt 0 ] && exit 0 +rm -f %{emacs_lisp_path}/xcscope.el + +%triggerun -- vim-filesystem +[ $2 -gt 0 ] && exit 0 +rm -f %{vim_plugin_path}/cctree.vim + +%changelog +* Wed Oct 21 2020 Vladis Dronov - 15.9-9 +- Remove another fclose() to please covscan (bz1886165) + +* Wed Oct 07 2020 Vladis Dronov - 15.9-8 +- Fix a double-free in changestring() (bz1886165) +- Update Requires to include coreutils and ed +- Adjust cscope-coverity-fixes.patch removing the fclose(script) chunk +- Adjust BuildRequires and remove trailing spaces +- Remove older source version from .gitignore +- Rename cscope-invindex-sizing.patch as it is for the older upstream version + +* Tue Jun 25 2019 Neil Horman - 15.9-6 +- Fix covscan warning (bz 1722404) + +* Mon Jun 24 2019 Neil Horman - 15.9-5 +- update help for cscope-indexer (bz 1722404) + +* Mon Jun 03 2019 Neil Horman - 15.9-4 +- Fix cscope version (bz 1685920) + +* Thu Feb 28 2019 Neil Horman - 15.9-3 +- Add CI test harness (bz 1682353) + +* Fri Oct 12 2018 Neil Horman - 15.9-2 +- Fix up some coverity scan issues (bz 1602468) + +* Tue Jul 24 2018 Neil Horman - 15.9-1 +- Update to latest upstream with coverity fixes (bz 1602468) + +* Thu Mar 01 2018 Josh Boyer - 15.8b-8 +- Conditionalize xemacs + +* Wed Feb 07 2018 Fedora Release Engineering - 15.8b-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 15.8b-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 15.8b-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 15.8b-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 28 2016 Neil Horman - 15.8b-3 +- Changed permissions on cscope-indexer (bz 1399108) + +* Wed Feb 03 2016 Fedora Release Engineering - 15.8b-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Aug 05 2015 Neil Horman - 15.8b-1 +- Update to latest upstream + +* Wed Jun 17 2015 Fedora Release Engineering - +* 15.8-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Sep 30 2014 Neil Horman - 15.8-11 +- Added triggerin support for emacs-nox (bz 961709) + +* Sat Aug 16 2014 Fedora Release Engineering - 15.8-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 15.8-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 15 2014 Neil Horman - 15.8-8 +- Fixed formatting issue with empty function array (bz 1087940) + +* Sat Aug 03 2013 Fedora Release Engineering - 15.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Mar 25 2013 Neil Horman - 15.8-6 +- Fixed build break + +* Mon Mar 25 2013 Neil Horman - 15.8-5 +- Updated to run autoreconf for impending aarch64 introduction (bz 925201) + +* Wed Feb 13 2013 Fedora Release Engineering - 15.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 15.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 10 2012 Neil Horman - 15.8-2 +- Fix inverted index sizing + +* Mon Jun 18 2012 Neil Horman - 15.8 +- Update to latest upstream + +* Mon Mar 12 2012 Neil Horman -15.7a-10 +- Fixed a segfault in invlib construction ( bz 786523) + +* Mon Mar 05 2012 Neil Horman 15.7a-9 +- Fixed a segfault in the symbol assignment search (bz 799643) + +* Fri Jan 13 2012 Fedora Release Engineering - 15.7a-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Jun 30 2011 Neil Horman - 15.7a-7 +- Added LEXERR token to catch bad parsing before we crash (bz717545) + +* Fri Jun 24 2011 Neil Horman - 15.7a-6 +- Fixed licensing for xcscope.el (bz 715898) +- Fixed xemacs pkg. dependency (bz 719523) + +* Wed Jun 01 2011 Neil Horman - 15.7a-5 +- Fix scriptles macro expansion (bz 708499) + +* Thu May 26 2011 Neil Horman - 15.7a-4 +- Added cctree.vim vi plugin + +* Tue Feb 08 2011 Fedora Release Engineering - 15.7a-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Sep 30 2010 Neil Horman - 15.7a-1 +- Update to latest upstream release (bz 569043) + +* Fri Jul 24 2009 Fedora Release Engineering - 15.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jun 12 2009 Neil Horman +- Fix some buffer overflows (bz 505605) + +* Tue Feb 24 2009 Fedora Release Engineering - 15.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Jul 08 2008 Neil Horman -15.6-2.dist +- Grab upstream patch for -q rebuld (bz 436648) + +* Tue Mar 27 2007 Neil Horman -15.6-1.dist +- Rebase to version 15.6 + +* Mon Mar 05 2007 Neil Horman -15.5-15.4.dist +- Make sigwinch handler only register for curses mode (bz 230862) + +* Mon Feb 05 2007 Neil Horman -15.5-15.3.dist +- Fixing dist label in release tag. + +* Thu Feb 01 2007 Neil Horman -15.5-15.2.dist +- Fixing changelog to not have macro in release + +* Wed Aug 23 2006 Neil Horman -15.5-15.1 +- fixed overflows per bz 203651 +- start using {dist} tag to make release numbering easier + +* Mon Jul 17 2006 Jesse Keating - 15.5-14 +- rebuild + +* Fri Jun 23 2006 Neil Horman +- Fix putstring overflow (bz 189666) + +* Fri Jun 23 2006 Neil Horman +- Fix putstring overflow (bz 189666) + +* Fri May 5 2006 Neil Horman +- Adding fix to put SYSDIR in right location (bz190580) + +* Fri Apr 21 2006 Neil Horman - 15.5-13.4 +- adding inverted index overflow patch + +* Fri Feb 10 2006 Jesse Keating - 15.5-13.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 15.5-13.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 16 2005 Jesse Keating +- rebuild on new gcc + +* Tue Nov 30 2004 Neil Horman +- added tempsec patch to fix bz140764/140765 + +* Mon Nov 29 2004 Neil Horman +- updated cscope resize patch to do less work in + signal handler and synced version nr. on dist. + +* Mon Nov 22 2004 Neil Horman +- added cscope-1.5.-resize patch to allow terminal + resizing while cscope is running + +* Tue Oct 5 2004 Neil Horman +- modified cscope-15.5.-inverted patch to be upstream + friendly + +* Tue Sep 28 2004 Neil Horman +- fixed inverted index bug (bz 133942) + +* Mon Sep 13 2004 Frank Ch. Eigler +- bumped release number to a plain "1" + +* Fri Jul 16 2004 Neil Horman +- Added cscope-indexer helper and xcscope lisp addon +- Added man page for xcscope +- Added triggers to add xcscope.el pkg to (x)emacs +- Thanks to Ville, Michael and Jens for thier help :) + +* Fri Jul 2 2004 Neil Horman +- Added upstream ocs fix +- Added feature to find symbol assignments +- Changed default SYSDIR directory to /var/lib/cs +- Incoproated M. Schwendt's fix for ocs -s + +* Fri Jun 18 2004 Neil Horman +- built the package