commit 91d2ed52dd9eb6c6e4e85e2ffec0e8a84127d166a4a00a81b63d2664fdfbc997 Author: Adrian Schröter Date: Fri May 3 11:56:11 2024 +0200 Sync from SUSE:SLFO:Main cscope revision 392b016892ecdb7dac74c7f418eaaca6 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/cscope-15.7-gcc-warnings.patch b/cscope-15.7-gcc-warnings.patch new file mode 100644 index 0000000..11c2f8c --- /dev/null +++ b/cscope-15.7-gcc-warnings.patch @@ -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); diff --git a/cscope-15.7-vpath.patch b/cscope-15.7-vpath.patch new file mode 100644 index 0000000..01f9dd4 --- /dev/null +++ b/cscope-15.7-vpath.patch @@ -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'; + } + } diff --git a/cscope-15.8a-fix-bashisms.patch b/cscope-15.8a-fix-bashisms.patch new file mode 100644 index 0000000..6d7b3f9 --- /dev/null +++ b/cscope-15.8a-fix-bashisms.patch @@ -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" + } + + # diff --git a/cscope-15.9.tar.gz b/cscope-15.9.tar.gz new file mode 100644 index 0000000..057bb23 --- /dev/null +++ b/cscope-15.9.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5505ae075a871a9cd8d9801859b0ff1c09782075df281c72c23e72115d9f159 +size 613948 diff --git a/cscope-cleanup_on_sigterm.patch b/cscope-cleanup_on_sigterm.patch new file mode 100644 index 0000000..135b75e --- /dev/null +++ b/cscope-cleanup_on_sigterm.patch @@ -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); diff --git a/cscope-egrep.out.patch b/cscope-egrep.out.patch new file mode 100644 index 0000000..d43aa3b --- /dev/null +++ b/cscope-egrep.out.patch @@ -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) diff --git a/cscope-null.patch b/cscope-null.patch new file mode 100644 index 0000000..c717c1c --- /dev/null +++ b/cscope-null.patch @@ -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); diff --git a/cscope.changes b/cscope.changes new file mode 100644 index 0000000..2221121 --- /dev/null +++ b/cscope.changes @@ -0,0 +1,226 @@ +------------------------------------------------------------------- +Mon Mar 16 06:29:00 UTC 2020 - Martin Pluskal + +- Fix download url +- Clean up spec file with spec-cleaner + +------------------------------------------------------------------- +Fri Mar 13 07:55:40 UTC 2020 - Jiri Slaby + +- 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 + +- 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 + diff --git a/cscope.spec b/cscope.spec new file mode 100644 index 0000000..3937160 --- /dev/null +++ b/cscope.spec @@ -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 diff --git a/support-fun-as-params.patch b/support-fun-as-params.patch new file mode 100644 index 0000000..28d8917 --- /dev/null +++ b/support-fun-as-params.patch @@ -0,0 +1,42 @@ +From 326dc66330c8497a9344ad03d4bc020de0528448 Mon Sep 17 00:00:00 2001 +From: Jiri Slaby +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 +Cc: Hans-Bernhard Bröker +Cc: Neil Horman +--- + 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' */ + } + + { +-{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 +