Sync from SUSE:SLFO:Main cscope revision 392b016892ecdb7dac74c7f418eaaca6

This commit is contained in:
Adrian Schröter 2024-05-03 11:56:11 +02:00
commit 91d2ed52dd
11 changed files with 513 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,13 @@
Index: src/global.h
===================================================================
--- src/global.h.orig
+++ src/global.h
@@ -387,7 +387,7 @@ void mousecleanup(void);
void mousemenu(void);
void mouseinit(void);
void mousereinit(void);
-void myexit(int sig);
+void myexit(int sig) __attribute__ ((noreturn));
void myperror(char *text);
void ogsnames(char *file, char **subsystem, char **book);
void progress(char *what, long current, long max);

36
cscope-15.7-vpath.patch Normal file
View File

@ -0,0 +1,36 @@
Index: src/vpinit.c
===================================================================
--- src/vpinit.c.orig
+++ src/vpinit.c
@@ -111,7 +111,13 @@ vpinit(char *current_dir)
vpath = my_strdup(vpath);
/* split the view path into nodes */
- for (i = 0, s = vpath; *s != '\0'; ++i) {
+ /* handle VPATH=":foo" */
+ i = 0;
+ s = vpath;
+ while (*s++ == ':') {
+ vpdirs[i++] = ".";
+ }
+ for (; *s != '\0'; ++i) {
vpdirs[i] = s;
while (*s != '\0' && *++s != ':') {
if (*s == '\n') {
@@ -119,6 +125,16 @@ vpinit(char *current_dir)
}
}
if (*s != '\0') {
+ /* handle VPATH="foo:" and VPATH="foo::bar" */
+ if (s[1] == '\0' || s[1] == ':') {
+ while (s[1] != '\0' && s[1] == ':') {
+ vpdirs[++i] = ".";
+ *s++ = '\0';
+ }
+ if (s[1] == '\0') {
+ vpdirs[++i] = ".";
+ }
+ }
*s++ = '\0';
}
}

View File

@ -0,0 +1,37 @@
diff -Ndurp cscope-15.8a/contrib/ocs cscope-15.8a-fix-bashisms/contrib/ocs
--- cscope-15.8a/contrib/ocs 2010-06-29 01:16:40.000000000 +0300
+++ cscope-15.8a-fix-bashisms/contrib/ocs 2014-10-19 19:16:03.210177402 +0300
@@ -168,7 +168,8 @@ create_list()
if [ "${FORCE}" != "Y" ]
then
- echo "\n${LIST}"
+ echo
+ echo "$LIST"
echo "Update the library? <(Y)es, (N)o, (Q)uit> [n] \c"
read x y
case $x in
@@ -177,10 +178,11 @@ create_list()
*) return ;;
esac
fi
- echo "Updating library:\n ${LIST} \c"
+ echo "Updating library:"
else
- echo "Creating library:\n ${LIST} \c"
+ echo "Creating library:"
fi
+ echo -n " ${LIST} "
(
find . -follow -type f \( -name \*.[sScChHlyG] -o \
@@ -197,7 +199,8 @@ create_list()
-print
) | grep -v SCCS | sort -u > ${LIST}
- echo "\n`cat ${LIST} | wc -l` files listed"
+ echo
+ echo "`cat ${LIST} | wc -l` files listed"
}
#

BIN
cscope-15.9.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,13 @@
Index: src/main.c
===================================================================
--- src/main.c.orig
+++ src/main.c
@@ -526,6 +526,8 @@ cscope: Could not create private temp di
}
/* cleanup on the hangup signal */
signal(SIGHUP, myexit);
+ /* and on termination signal */
+ signal(SIGTERM, myexit);
/* ditto the TERM signal */
signal(SIGTERM, myexit);

31
cscope-egrep.out.patch Normal file
View File

@ -0,0 +1,31 @@
# on sources that have '\r\n' in them, egrep produces no output
# strip the carriage return out of the output
# rcoe@wi.rr.com
#
--- cscope-15.7a/src/egrep.y 2008-03-12 15:43:56.000000000 -0500
+++ cscope-15.7a.orig/src/egrep.y 2011-06-09 15:32:08.809669622 -0500
@@ -612,12 +612,22 @@
succeed:
fprintf(output, format, file, lnum);
if (p <= nlp) {
- while (nlp < buf_end)
+ while (nlp < buf_end) {
+ if ('\r' == *nlp) {
+ nlp++;
+ continue;
+ }
putc(*nlp++, output);
+ }
nlp = buf;
}
- while (nlp < p)
+ while (nlp < p) {
+ if ('\r' == *nlp) {
+ nlp++;
+ continue;
+ }
putc(*nlp++, output);
+ }
lnum++;
nlp = p;
if (out[cstat = istat] == 0)

13
cscope-null.patch Normal file
View File

@ -0,0 +1,13 @@
Index: cscope-15.7/src/mypopen.c
===================================================================
--- cscope-15.7.orig/src/mypopen.c
+++ cscope-15.7/src/mypopen.c
@@ -160,7 +160,7 @@ mypopen(char *cmd, char *mode)
fcntl(yourside, F_DUPFD, stdio);
#endif
close(yourside);
- execlp(shell, mybasename(shell), "-c", cmd, (void *)0);
+ execlp(shell, mybasename(shell), "-c", cmd, NULL);
_exit(1);
} else if (pid > 0)
tstat = signal(SIGTSTP, SIG_DFL);

226
cscope.changes Normal file
View File

@ -0,0 +1,226 @@
-------------------------------------------------------------------
Mon Mar 16 06:29:00 UTC 2020 - Martin Pluskal <mpluskal@suse.com>
- Fix download url
- Clean up spec file with spec-cleaner
-------------------------------------------------------------------
Fri Mar 13 07:55:40 UTC 2020 - Jiri Slaby <jslaby@suse.com>
- Update to 15.9
* Fix coverity scan warnings
* cscope: Add ( and | as metachars in regex search
* Adding chek on return code of search() in linemode
* Fix DOS style line endings in one file; enable system C extensions,
if available
-------------------------------------------------------------------
Thu Mar 23 15:14:36 UTC 2017 - kstreitova@suse.com
- cleanup with spec-cleaner
- get rid of %{name} macros in the patch names
-------------------------------------------------------------------
Sat Jan 2 23:03:49 UTC 2016 - p.drouand@gmail.com
- Update to version 15.8b
* configure.in: Add check to enable C system extensions (like
_GNU_SOURCE), if available.
* contrib/cctree.txt: Format change: file had DOS line endings for
some reason.
- Adapt cscope-egrep.out.patch to upstream changes
-------------------------------------------------------------------
Thu Apr 2 17:36:01 UTC 2015 - mpluskal@suse.com
- Use url for source
-------------------------------------------------------------------
Mon Jan 5 13:44:49 UTC 2015 - jslaby@suse.com
- support-fun-as-params.patch: swallow function as parameters
- remove INSTALL from %doc, as suggested by the rpm checker
-------------------------------------------------------------------
Thu Nov 20 21:31:00 UTC 2014 - Led <ledest@gmail.com>
- fix bashisms in osc script
- add patches:
* cscope-15.8a-fix-bashisms.patch
-------------------------------------------------------------------
Mon Sep 3 21:57:08 UTC 2012 - sleep_walker@suse.cz
- attempt to fix build for SLE distributions
-------------------------------------------------------------------
Mon Sep 3 21:46:46 UTC 2012 - sleep_walker@suse.cz
- update to 15.8a
- patches refreshed
- ctrlz patch reached upstream - deleted
-------------------------------------------------------------------
Tue Dec 20 20:15:02 UTC 2011 - coolo@suse.com
- remove call to suse_update_config (very old work around)
-------------------------------------------------------------------
Sun Sep 18 00:03:41 UTC 2011 - jengelh@medozas.de
- Remove redundant tags/sections from specfile
- Use %_smp_mflags for parallel build
-------------------------------------------------------------------
Wed Jun 22 11:40:10 CDT 2011 - rcoe@wi.rr.com
- fix carriage return in egrep output
- added egrep.out patch (bnc#699156)
- fix control-z in interactive curses mode
- added ctrlz patch (bnc#699317)
-------------------------------------------------------------------
Fri Apr 29 12:26:43 UTC 2011 - puzel@novell.com
- use spec-cleaner
- package cscope-indexer (bnc#690457)
-------------------------------------------------------------------
Mon May 4 14:00:34 CEST 2009 - puzel@suse.cz
- updated to 15.7a
- replace all calls of sprintf by snprintf to avoid
possible buffer overflows
remove cscope-15.7-sprintf.patch (obsolete)
-------------------------------------------------------------------
Sat Feb 14 11:12:26 CEST 2009 - puzel@suse.cz
- update to 15.7
- bugfix release
- see /usr/share/doc/packages/cscope/ChangeLog for details
- added flex and bison to BR
- install ocsc helper script to bindir
-------------------------------------------------------------------
Wed Jun 18 16:17:26 CEST 2008 - anosek@suse.cz
- fixed cscope segfaults when detaching from screen (bnc#398268)
- applied attached patch (sigwinch-linemode.patch)
-------------------------------------------------------------------
Mon Dec 10 12:54:45 CET 2007 - pth@suse.de
- Cleanup on receiving SIGTERM (#339807) and actually include
the patch.
- Don't remove buildroot in install section
-------------------------------------------------------------------
Fri Mar 30 02:30:07 CEST 2007 - ro@suse.de
- added ncurses-devel to buildreq
-------------------------------------------------------------------
Fri Nov 10 12:22:47 CET 2006 - ro@suse.de
- fix manpage permissions
-------------------------------------------------------------------
Wed Oct 18 18:33:22 CEST 2006 - anosek@suse.cz
- updated to version 15.6
* fixed various security issues
- dropped obsolete CVE-2006-4262.patch, tmpfile.patch
-------------------------------------------------------------------
Wed Aug 30 09:55:04 CEST 2006 - anosek@suse.cz
- fixed previous change
-------------------------------------------------------------------
Tue Aug 29 16:53:48 CEST 2006 - anosek@suse.de
- fixed multiple buffer overflows [#200534] (CVE-2006-4262.pach)
-------------------------------------------------------------------
Mon May 29 17:19:05 CEST 2006 - mmarek@suse.cz
- replace sprintf() with snprintf() (patch taken from debian
package) to avoid buffer overflows such as CVE-2004-2541
[#177568] (sprintf.patch)
-------------------------------------------------------------------
Mon Feb 27 10:35:04 CET 2006 - mmarek@suse.cz
- fix handling of empty VPATH components
[#152643] (vpath.patch)
-------------------------------------------------------------------
Wed Jan 25 21:35:14 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Mon Sep 19 12:36:15 CEST 2005 - mmarek@suse.cz
- fix "control reaches end of non-void function" warning in exec.c
-------------------------------------------------------------------
Sat Jan 29 17:26:28 CET 2005 - meissner@suse.de
- use NULL as execlp arglist terminator.
-------------------------------------------------------------------
Mon Nov 29 13:52:11 CET 2004 - ltinkl@suse.cz
- fix insecure temp file handling vulnerability (#48541)
-------------------------------------------------------------------
Sat Jan 10 20:07:11 CET 2004 - adrian@suse.de
- build as user
-------------------------------------------------------------------
Tue Sep 30 11:50:14 CEST 2003 - ltinkl@suse.cz
- updated to 15.5
- dropped obsolete patch
-------------------------------------------------------------------
Mon Jan 20 16:23:46 CET 2003 - vbobek@suse.cz
- updated to version 15.4 (bugfixes only)
- used $RPM_OPT_FLAGS
-------------------------------------------------------------------
Tue Dec 17 16:26:00 CET 2002 - sf@suse.de
- added suse_update_config (bug #22296)
-------------------------------------------------------------------
Thu Nov 07 10:51:16 CET 2002 - tcrhak@suse.cz
- fixed egrep.y for bison 1.75:
use `{ action }' instead of `={ action }'
-------------------------------------------------------------------
Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de
- removed bogus self-provides
-------------------------------------------------------------------
Fri Aug 10 14:44:30 CEST 2001 - pmladek@suse.cz
- updated to version 15.3
- bzipped sources
-------------------------------------------------------------------
Thu Mar 22 12:47:42 CET 2001 - pblaha@suse.cz
- add URL
-------------------------------------------------------------------
Fri Dec 1 14:29:34 MET 2000 - uzi@suse.com
- Initial package based on version 15.1

76
cscope.spec Normal file
View File

@ -0,0 +1,76 @@
#
# spec file for package cscope
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: cscope
Version: 15.9
Release: 0
Summary: Interactive Tool for Browsing C Source Code
License: BSD-3-Clause
Group: Development/Tools/Navigators
URL: http://cscope.sourceforge.net/
Source: http://sourceforge.net/projects/cscope/files/cscope/v%{version}/%{name}-%{version}.tar.gz
Patch1: cscope-null.patch
Patch2: cscope-15.7-gcc-warnings.patch
Patch3: cscope-15.7-vpath.patch
Patch4: cscope-15.8a-fix-bashisms.patch
Patch5: cscope-cleanup_on_sigterm.patch
Patch6: cscope-egrep.out.patch
Patch7: support-fun-as-params.patch
BuildRequires: bison
BuildRequires: flex
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
%description
Cscope is an interactive, screen-oriented tool that allows the user to
browse through C source code files for specified elements of code.
%prep
%setup -q
%patch1 -p1
%patch2
%patch3
%patch4 -p1
%patch5
%patch6 -p1
%patch7 -p1
%build
%configure
%make_build
%install
install -Dpm 0755 src/cscope \
%{buildroot}%{_bindir}/cscope
install -Dpm 0644 doc/cscope.1 \
%{buildroot}%{_mandir}/man1/cscope.1
install -Dpm 0755 contrib/xcscope/cscope-indexer \
%{buildroot}%{_bindir}/cscope-indexer
pushd contrib
%make_install
popd
%files
%license COPYING
%doc TODO ChangeLog AUTHORS README NEWS
%{_bindir}/cscope
%{_bindir}/ocs
%{_bindir}/cscope-indexer
%{_mandir}/man1/cscope.1%{?ext_man}
%changelog

View File

@ -0,0 +1,42 @@
From 326dc66330c8497a9344ad03d4bc020de0528448 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby@suse.cz>
Date: Fri, 5 Dec 2014 19:15:53 +0100
Subject: [PATCH 1/1] fscanner: swallow function as parameters
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Some functions take as a parameter a pointer to another function. This
causes troubles in the cscope scanner and such function definition is
dropped on the floor.
Instead of choking and skipping the definition/declaration, teach the
scanner about this case. So now cscope will not skip those and put
them properly in the index.
I carry this patch for a couple of months and using cscope daily on
the Linux kernel and see no problems.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Hans-Bernhard Bröker <broeker@users.sourceforge.net>
Cc: Neil Horman <nhorman@users.sourceforge.net>
---
src/fscanner.l | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/fscanner.l b/src/fscanner.l
index 5cb6abb275fb..1d9a2a77cba3 100644
--- a/src/fscanner.l
+++ b/src/fscanner.l
@@ -507,7 +507,7 @@ if{wsnl}*\( { /* ignore 'if' */
}
<WAS_IDENTIFIER>{
-{ws}*\(({wsnl}|{identifier}|{number}|[*&[\]=,.:])*\)([()]|{wsnl})*[:a-zA-Z_#{] {
+{ws}*\(({wsnl}|{identifier}|\({ws}*\*{ws}*{identifier}{ws}*\){ws}*\([^()]*\)|{number}|[*&[\]=,.:])*\)([()]|{wsnl})*[:a-zA-Z_#{] {
/* a function definition */
/* note: "#define a (b) {" and "#if defined(a)\n#"
* are not fcn definitions! */
--
2.1.3