diff options
author | Ryan Phillips <rphillips@gentoo.org> | 2004-12-11 00:54:46 +0000 |
---|---|---|
committer | Ryan Phillips <rphillips@gentoo.org> | 2004-12-11 00:54:46 +0000 |
commit | 710454105e7c29009dfaf703e82a4b214c7a3a94 (patch) | |
tree | 54b4386dddaa8566788ea2c7b4914917b44dfe5c /dev-util/cscope | |
parent | Marked ppc stable for bug #72113. (Manifest recommit) (diff) | |
download | gentoo-2-710454105e7c29009dfaf703e82a4b214c7a3a94.tar.gz gentoo-2-710454105e7c29009dfaf703e82a4b214c7a3a94.tar.bz2 gentoo-2-710454105e7c29009dfaf703e82a4b214c7a3a94.zip |
added tempfile patch. Fixes #71595
Diffstat (limited to 'dev-util/cscope')
-rw-r--r-- | dev-util/cscope/Manifest | 13 | ||||
-rw-r--r-- | dev-util/cscope/cscope-15.5-r3.ebuild | 68 | ||||
-rw-r--r-- | dev-util/cscope/files/cscope-15.5-tempfile.patch | 77 | ||||
-rw-r--r-- | dev-util/cscope/files/digest-cscope-15.5-r3 | 1 |
4 files changed, 154 insertions, 5 deletions
diff --git a/dev-util/cscope/Manifest b/dev-util/cscope/Manifest index 6ed4510100f3..42cb3391e15e 100644 --- a/dev-util/cscope/Manifest +++ b/dev-util/cscope/Manifest @@ -1,11 +1,14 @@ -MD5 973f4184ecd2105e78d3424c15e1a86c ChangeLog 5118 MD5 336bda89fb52186ad57731559ccbd939 cscope-15.5-r1.ebuild 1604 -MD5 88e0149db74702ab5ae0ac80226f8333 cscope-15.5-r2.ebuild 1650 +MD5 6dd8444cfe8e81473e87afcd9f19ac83 cscope-15.5-r3.ebuild 1653 MD5 3c56dcf0da026c9a6ef0e7c204419785 cscope-15.5.ebuild 1417 +MD5 88e0149db74702ab5ae0ac80226f8333 cscope-15.5-r2.ebuild 1650 +MD5 973f4184ecd2105e78d3424c15e1a86c ChangeLog 5118 MD5 79094d1585cb050b3855fbfe440f22b9 metadata.xml 790 +MD5 c8aeadd309e54712241dec1b77072cbb files/cscope-15.5-can-2004-0996.patch 1125 MD5 28ddc553966bf7045758be324600f5c8 files/50xcscope-gentoo.el 95 -MD5 22e8d669b78f301c45e9075e2793dfd3 files/15.5-noclobber-tempfile-rexotec.patch 1055 -MD5 25ad9fe446a7cabf4c482bbe150c7eaa files/digest-cscope-15.5-r1 63 MD5 25ad9fe446a7cabf4c482bbe150c7eaa files/digest-cscope-15.5 63 -MD5 c8aeadd309e54712241dec1b77072cbb files/cscope-15.5-can-2004-0996.patch 1125 +MD5 6b8c74fb664bfaada3d95003f6c1134a files/cscope-15.5-tempfile.patch 2817 +MD5 25ad9fe446a7cabf4c482bbe150c7eaa files/digest-cscope-15.5-r1 63 MD5 25ad9fe446a7cabf4c482bbe150c7eaa files/digest-cscope-15.5-r2 63 +MD5 25ad9fe446a7cabf4c482bbe150c7eaa files/digest-cscope-15.5-r3 63 +MD5 22e8d669b78f301c45e9075e2793dfd3 files/15.5-noclobber-tempfile-rexotec.patch 1055 diff --git a/dev-util/cscope/cscope-15.5-r3.ebuild b/dev-util/cscope/cscope-15.5-r3.ebuild new file mode 100644 index 000000000000..6a71617bd11f --- /dev/null +++ b/dev-util/cscope/cscope-15.5-r3.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/cscope/cscope-15.5-r3.ebuild,v 1.1 2004/12/11 00:54:46 rphillips Exp $ + +inherit gnuconfig elisp-common eutils + +DESCRIPTION="Interactively examine a C program" +HOMEPAGE="http://cscope.sourceforge.net/" +SRC_URI="mirror://sourceforge/cscope/${P}.tar.gz" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~x86 ~ppc ~sparc ~mips ~alpha ~arm ~hppa ~amd64 ~ia64 ~s390 ~ppc64" +IUSE="emacs" + +RDEPEND=">=sys-libs/ncurses-5.2" +DEPEND="${RDEPEND} + sys-devel/flex + sys-devel/bison + emacs? ( virtual/emacs )" + +SITEFILE=50xcscope-gentoo.el + +src_unpack() { + unpack ${A} + cd ${S} + # Gentoo Bug #71595, http://www.rexotec.com/advisory/RX171104.html + epatch ${FILESDIR}/${PV}-noclobber-tempfile-rexotec.patch + epatch ${FILESDIR}/${PN}-${PV}-tempfile.patch +} + +src_compile() { + gnuconfig_update + + # This fix is no longer needed as of cscope-15.5 which now should + # work with bison directly. (04 Feb 2004 agriffis) + #sed -i -e "s:={:{:" src/egrep.y + + econf || die + make clean || die + emake || die + + if use emacs ; then + cd ${S}/contrib/xcscope || die + elisp-compile *.el || die + fi +} + +src_install() { + einstall || die + dodoc NEWS AUTHORS TODO ChangeLog INSTALL README* || die + + if use emacs ; then + cd ${S}/contrib/xcscope || die + elisp-install xcscope *.el *.elc || die + elisp-site-file-install ${FILESDIR}/${SITEFILE} xcscope || die + dobin cscope-indexer || die + fi + cp -r ${S}/contrib/webcscope ${D}/usr/share/doc/${PF}/ || die +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-util/cscope/files/cscope-15.5-tempfile.patch b/dev-util/cscope/files/cscope-15.5-tempfile.patch new file mode 100644 index 000000000000..e6fed46c0c26 --- /dev/null +++ b/dev-util/cscope/files/cscope-15.5-tempfile.patch @@ -0,0 +1,77 @@ +diff -Naur ./cscope-15.5/src/global.h ./cscope-15.5/src/global.h +--- ./cscope-15.5/src/global.h 2003-09-04 17:54:03.000000000 +0200 ++++ ./cscope-15.5/src/global.h 2004-11-19 13:19:18.000000000 +0100 +@@ -241,7 +241,7 @@ + extern long totalterms; /* total inverted index terms */ + extern BOOL trun_syms; /* truncate symbols to 8 characters */ + extern char tempstring[8192]; /* global dummy string buffer */ +-extern char *tmpdir; /* temporary directory */ ++extern char tmpdir[2048]; /* temporary directory */ + + /* command.c global data */ + extern BOOL caseless; /* ignore letter case when searching */ +diff -Naur ./cscope-15.5/src/main.c ./cscope-15.5/src/main.c +--- ./cscope-15.5/src/main.c 2003-08-14 16:36:18.000000000 +0200 ++++ ./cscope-15.5/src/main.c 2004-11-19 13:31:26.000000000 +0100 +@@ -105,7 +105,7 @@ + BOOL trun_syms; /* truncate symbols to 8 characters */ + char tempstring[8192]; /* use this as a buffer, instead of 'yytext', + * which had better be left alone */ +-char *tmpdir; /* temporary directory */ ++char tmpdir[2048]; /* temporary directory */ + + static BOOL onesearch; /* one search only in line mode */ + static char *reflines; /* symbol reference lines file */ +@@ -312,8 +312,18 @@ + shell = mygetenv("SHELL", SHELL); + lineflag = mygetenv("CSCOPE_LINEFLAG", LINEFLAG); + lineflagafterfile = getenv("CSCOPE_LINEFLAG_AFTER_FILE")?1:0; +- tmpdir = mygetenv("TMPDIR", TMPDIR); + ++ char template[] = "cscope.XXXXXX"; ++ snprintf(tmpdir, sizeof(tmpdir), "%s/%s", mygetenv("TMPDIR", TMPDIR), template); ++ tmpdir[sizeof(tmpdir)-1] = '\0'; ++ char *ret; ++ ret = mkdtemp(tmpdir); ++ if (ret == NULL) ++ { ++ fprintf (stderr, "cscope: Temporary directory %s cannot be created.\n", tmpdir); ++ myexit(1); ++ } ++ + /* XXX remove if/when clearerr() in dir.c does the right thing. */ + if (namefile && strcmp(namefile, "-") == 0 && !buildonly) + { +@@ -331,8 +341,10 @@ + + /* create the temporary file names */ + pid = getpid(); +- (void) sprintf(temp1, "%s/cscope%d.1", tmpdir, pid); +- (void) sprintf(temp2, "%s/cscope%d.2", tmpdir, pid); ++ (void) snprintf(temp1, sizeof(temp1), "%s/cscope%d.1", tmpdir, pid); ++ temp1[sizeof(temp1)-1] = '\0'; ++ (void) snprintf(temp2, sizeof(temp1), "%s/cscope%d.2", tmpdir, pid); ++ temp2[sizeof(temp2)-1] = '\0'; + + /* if running in the foreground */ + if (signal(SIGINT, SIG_IGN) != SIG_IGN) { +@@ -825,6 +837,7 @@ + void + myexit(int sig) + { ++ int retval; + /* HBB 20010313; close file before unlinking it. Unix may not care + * about that, but DOS absolutely needs it */ + if (refsfound != NULL) +@@ -834,6 +847,10 @@ + if (temp1[0] != '\0') { + (void) unlink(temp1); + (void) unlink(temp2); ++ if (retval = rmdir(tmpdir) != 0) ++ { ++ fprintf(stderr, "error deleting %s\n", tmpdir); ++ } + } + /* restore the terminal to its original mode */ + if (incurses == YES) { + diff --git a/dev-util/cscope/files/digest-cscope-15.5-r3 b/dev-util/cscope/files/digest-cscope-15.5-r3 new file mode 100644 index 000000000000..99cb973ef8e3 --- /dev/null +++ b/dev-util/cscope/files/digest-cscope-15.5-r3 @@ -0,0 +1 @@ +MD5 beb6032a301bb11524aec74bfb5e4840 cscope-15.5.tar.gz 243793 |