commit 7254fa0b18365f09cba45e1399f1b4c608eb3abe7a7d4ad29f61745d1522d013 Author: OBS User unknown Date: Mon Dec 18 23:15:46 2006 +0000 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ed?expand=0&rev=1 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/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/ed-0.2-tmpfile.patch b/ed-0.2-tmpfile.patch new file mode 100644 index 0000000..ff37204 --- /dev/null +++ b/ed-0.2-tmpfile.patch @@ -0,0 +1,51 @@ +--- buf.c ++++ buf.c Mon Nov 27 00:06:51 2000 +@@ -194,21 +194,17 @@ + + extern int newline_added; + +-char sfn[15] = ""; /* scratch file name */ +- + /* open_sbuf: open scratch file */ + int + open_sbuf () + { +- char *mktemp (); + int u; + + isbinary = newline_added = 0; + u = umask(077); +- strcpy (sfn, "/tmp/ed.XXXXXX"); +- if (mktemp (sfn) == NULL || (sfp = fopen (sfn, "w+")) == NULL) ++ if ((sfp = tmpfile()) == NULL) + { +- fprintf (stderr, "%s: %s\n", sfn, strerror (errno)); ++ fprintf (stderr, "%s\n", strerror (errno)); + sprintf (errmsg, "Cannot open temp file"); + umask(u); + return ERR; +@@ -226,14 +222,14 @@ + { + if (fclose (sfp) < 0) + { +- fprintf (stderr, "%s: %s\n", sfn, strerror (errno)); ++ fprintf (stderr, "Cannot close temp file: %s\n", strerror (errno)); + sprintf (errmsg, "Cannot close temp file"); + return ERR; + } + sfp = NULL; +- unlink (sfn); + } + sfseek = seek_write = 0; ++ + return 0; + } + +@@ -246,7 +242,6 @@ + if (sfp) + { + fclose (sfp); +- unlink (sfn); + } + exit (n); + } diff --git a/ed-0.2.diff b/ed-0.2.diff new file mode 100644 index 0000000..1e66b68 --- /dev/null +++ b/ed-0.2.diff @@ -0,0 +1,78 @@ +--- Makefile.in ++++ Makefile.in +@@ -40,9 +40,10 @@ + + prefix = @prefix@ + exec_prefix = @exec_prefix@ +-bindir = $(exec_prefix)/bin +-infodir = $(prefix)/info +-mandir = $(prefix)/man/man1 ++bindir = @bindir@ ++infodir = @infodir@ ++mandir = @mandir@ ++manxdir = $(mandir)/man1 + manext = .1 + + CPPFLAGS = -I. -I$(srcdir) $(DEFS) @CPPFLAGS@ +@@ -55,8 +56,8 @@ + OBJECTS = buf.o glbl.o io.o main.o re.o signal.o sub.o undo.o version.o + + LIBHDRS = pathmax.h getopt.h regex.h +-LIBSRCS = alloca.c error.c getopt.c getopt1.c regex.c xmalloc.c +-LIBOBJS = @ALLOCA@ getopt.o getopt1.o regex.o @LIBOBJS@ ++LIBSRCS = alloca.c error.c getopt.c getopt1.c xmalloc.c ++LIBOBJS = @ALLOCA@ getopt.o getopt1.o @LIBOBJS@ + + DISTFILES = $(HEADERS) $(LIBHDRS) $(LIBSRCS) $(SOURCES) ChangeLog COPYING \ + INSTALL Makefile.in NEWS POSIX README TODO THANKS \ +@@ -68,11 +69,11 @@ + ed: $(OBJECTS) libed.a + $(CC) $(LDFLAGS) -o ed $(OBJECTS) libed.a $(LIBS) + +-buf.o: ed.h config.h regex.h +-ed.o: ed.h config.h regex.h +-main.o: ed.h config.h regex.h getopt.h pathmax.h +-re.o: ed.h config.h regex.h +-signal.o: ed.h config.h regex.h ++buf.o: ed.h config.h ++ed.o: ed.h config.h ++main.o: ed.h config.h getopt.h pathmax.h ++re.o: ed.h config.h ++signal.o: ed.h config.h + + libed.a: $(LIBOBJS) + rm -f libed.a +@@ -80,7 +81,6 @@ + $(RANLIB) libed.a + + getopt.o getopt1.o: getopt.h +-regex.o: regex.h + + check: ed + rootme=`pwd`; srcrootme=`cd $(srcdir); pwd`;\ +@@ -104,20 +104,20 @@ + cd $(bindir); \ + $(LN_S) $(binprefix)ed $(binprefix)red + $(INSTALL_DATA) $(srcdir)/ed.info $(infodir)/$(binprefix)ed.info +- $(INSTALL_DATA) $(srcdir)/ed.1 $(mandir)/$(binprefix)ed$(manext) +- rm -f $(mandir)/$(binprefix)red$(manext) +- cd $(mandir); \ ++ $(INSTALL_DATA) $(srcdir)/ed.1 $(manxdir)/$(binprefix)ed$(manext) ++ rm -f $(manxdir)/$(binprefix)red$(manext) ++ cd $(manxdir); \ + $(LN_S) $(binprefix)ed$(manext) $(binprefix)red$(manext) + + # Make sure all installation directories, e.g. $(bindir) actually exist by + # making them if necessary. + installdirs: +- $(srcdir)/mkinstalldirs $(bindir) $(infodir) $(mandir) ++ $(srcdir)/mkinstalldirs $(bindir) $(infodir) $(manxdir) + + uninstall: all + rm -f $(bindir)/$(binprefix)ed $(bindir)/$(binprefix)red + rm -f $(infodir)/$(binprefix)ed.info +- rm -f $(mandir)/$(binprefix)ed.1 $(mandir)/$(binprefix)red.1 ++ rm -f $(manxdir)/$(binprefix)ed.1 $(manxdir)/$(binprefix)red.1 + + tags: $(HEADERS) $(SOURCES) + ctags $(HEADERS) $(SOURCES) diff --git a/ed-0.2.tar.gz b/ed-0.2.tar.gz new file mode 100644 index 0000000..85e2a75 --- /dev/null +++ b/ed-0.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a8555c334b603882869c618c9b685c4e0fd1be5f4e84cb03a875f8f6c1f7a5e +size 185913 diff --git a/ed.changes b/ed.changes new file mode 100644 index 0000000..eaaf6e2 --- /dev/null +++ b/ed.changes @@ -0,0 +1,90 @@ +------------------------------------------------------------------- +Fri Oct 20 13:06:16 CEST 2006 - lrupp@suse.de + +- revert to 0.2: new version is broken (#212749) + +------------------------------------------------------------------- +Mon Oct 9 22:30:42 CEST 2006 - agruen@suse.de + +- dash-option.diff: Fix `ed - filename' invocation. + +------------------------------------------------------------------- +Mon Oct 9 17:25:42 CEST 2006 - schwab@suse.de + +- Update to ed 0.3-pre2. + * The symlink vulnerability has been fixed using the "tmpfile" function. + * The manual has been updated. + * An extensive code cleanup has been done. +- Fix signal handing again. + +------------------------------------------------------------------- +Wed Jan 25 21:30:09 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Fri Oct 1 11:30:33 CEST 2004 - schwab@suse.de + +- Fix signal handling + (). + +------------------------------------------------------------------- +Sat Sep 11 00:14:27 CEST 2004 - schwab@suse.de + +- Don't use __P from glibc headers. + +------------------------------------------------------------------- +Sat Jan 10 20:37:14 CET 2004 - adrian@suse.de + +- add %defattr + +------------------------------------------------------------------- +Thu Apr 24 12:20:23 CEST 2003 - ro@suse.de + +- fix install_info --delete call and move from preun to postun + +------------------------------------------------------------------- +Tue Apr 15 17:01:02 CEST 2003 - coolo@suse.de + +- use BuildRoot + +------------------------------------------------------------------- +Mon Mar 3 15:32:09 CET 2003 - ro@suse.de + +- fixed typo in dir entry + +------------------------------------------------------------------- +Mon Mar 3 12:37:44 CET 2003 - ro@suse.de + +- added info dir entry + +------------------------------------------------------------------- +Fri Feb 7 02:22:57 CET 2003 - ro@suse.de + +- use install_info macros + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Tue Dec 19 12:34:24 CET 2000 - werner@suse.de + +- Close temporary file security hole + +------------------------------------------------------------------- +Fri Feb 25 15:10:51 CET 2000 - kukuk@suse.de + +- Use RPM_OPT_FLAGS +- Move /usr/{info,man} -> /usr/share/{info,man} + +------------------------------------------------------------------- +Sat Nov 6 13:40:42 CET 1999 - bs@suse.de + +- moved binary to /bin/ed and provide symlink /usr/bin/ed + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. diff --git a/ed.spec b/ed.spec new file mode 100644 index 0000000..31e5404 --- /dev/null +++ b/ed.spec @@ -0,0 +1,115 @@ +# +# spec file for package ed (Version 0.2) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: ed +URL: http://www.gnu.org/software/ed/ +License: GNU General Public License (GPL) - all versions, GNU Library General Public License v. 2.0 and 2.1 (LGPL) +Group: Productivity/Editors/Other +PreReq: %install_info_prereq +Autoreqprov: on +Version: 0.2 +Release: 887 +Summary: Standard UNIX Line Editor +Source: ed-0.2.tar.gz +Patch: ed-0.2.diff +Patch1: ed-0.2-tmpfile.patch +Patch2: proto.patch +Patch3: signal.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +The standard, old Unix line editor. + + + +Authors: +-------- + Andrew Moore + +%prep +%setup +%patch +%patch1 +%patch2 +%patch3 +rm -f regex.* + +%build +chmod +w configure +autoreconf -fi +CFLAGS="$RPM_OPT_FLAGS" \ +./configure --prefix=/usr --infodir=%{_infodir} --mandir=%{_mandir} +make + +%install +make prefix=$RPM_BUILD_ROOT/usr mandir=$RPM_BUILD_ROOT%{_mandir} \ + infodir=$RPM_BUILD_ROOT%{_infodir} install +mkdir -p $RPM_BUILD_ROOT/bin +mv $RPM_BUILD_ROOT/usr/bin/ed $RPM_BUILD_ROOT/bin/ed +ln -s /bin/ed $RPM_BUILD_ROOT/usr/bin/ed + +%files +%defattr(-,root,root) +/bin/ed +/usr/bin/ed +/usr/bin/red +%doc %{_infodir}/ed.info.gz +%doc %{_mandir}/man1/ed.1.gz +%doc %{_mandir}/man1/red.1.gz + +%post +%install_info --entry="* ed: (ed). Line-oriented text editor" --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz + +%postun +%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz + +%changelog -n ed +* Fri Oct 20 2006 - lrupp@suse.de +- revert to 0.2: new version is broken (#212749) +* Mon Oct 09 2006 - agruen@suse.de +- dash-option.diff: Fix `ed - filename' invocation. +* Mon Oct 09 2006 - schwab@suse.de +- Update to ed 0.3-pre2. + * The symlink vulnerability has been fixed using the "tmpfile" function. + * The manual has been updated. + * An extensive code cleanup has been done. +- Fix signal handing again. +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Fri Oct 01 2004 - schwab@suse.de +- Fix signal handling + (). +* Sat Sep 11 2004 - schwab@suse.de +- Don't use __P from glibc headers. +* Sat Jan 10 2004 - adrian@suse.de +- add %%defattr +* Thu Apr 24 2003 - ro@suse.de +- fix install_info --delete call and move from preun to postun +* Tue Apr 15 2003 - coolo@suse.de +- use BuildRoot +* Mon Mar 03 2003 - ro@suse.de +- fixed typo in dir entry +* Mon Mar 03 2003 - ro@suse.de +- added info dir entry +* Fri Feb 07 2003 - ro@suse.de +- use install_info macros +* Tue Sep 17 2002 - ro@suse.de +- removed bogus self-provides +* Tue Dec 19 2000 - werner@suse.de +- Close temporary file security hole +* Fri Feb 25 2000 - kukuk@suse.de +- Use RPM_OPT_FLAGS +- Move /usr/{info,man} -> /usr/share/{info,man} +* Sat Nov 06 1999 - bs@suse.de +- moved binary to /bin/ed and provide symlink /usr/bin/ed +* Mon Sep 13 1999 - bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. diff --git a/proto.patch b/proto.patch new file mode 100644 index 0000000..34d51fa --- /dev/null +++ b/proto.patch @@ -0,0 +1,10 @@ +--- ed.h ++++ ed.h +@@ -244,6 +244,7 @@ + ((n > 0 && n < sys_nerr) ? sys_errlist[n] : "Unknown system error") + #endif + ++#undef __P + #ifndef __P + #ifndef __STDC__ + #define __P(proto) () diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 diff --git a/signal.patch b/signal.patch new file mode 100644 index 0000000..71a93fe --- /dev/null +++ b/signal.patch @@ -0,0 +1,65 @@ +--- configure.in ++++ configure.in +@@ -11,11 +11,11 @@ + AC_C_CONST + AC_HEADER_STDC + AC_CHECK_HEADERS(limits.h memory.h string.h unistd.h locale.h) +-AC_CHECK_FUNCS(setbuffer sigsetjmp sigaction strerror) ++AC_CHECK_FUNCS(setbuffer siglongjmp sigaction strerror) + AC_FUNC_VPRINTF + AC_FUNC_ALLOCA + if test "$ALLOCA" = alloca.o; then +- AC_SUBST(LIBOBJS)LIBOBJS="$LIBOBJS xmalloc.o error.o" ++ AC_LIBOBJ(xmalloc) AC_LIBOBJ(error) + fi + + AC_OUTPUT(Makefile) +--- main.c ++++ main.c +@@ -68,7 +68,7 @@ + #include "getopt.h" + + +-#ifdef HAVE_SIGSETJMP ++#ifdef HAVE_SIGLONGJMP + sigjmp_buf env; + #else + jmp_buf env; +@@ -219,7 +219,7 @@ + reliable_signal (SIGHUP, signal_hup); + reliable_signal (SIGQUIT, SIG_IGN); + reliable_signal (SIGINT, signal_int); +-#ifdef HAVE_SIGSETJMP ++#ifdef HAVE_SIGLONGJMP + if (status = sigsetjmp (env, 1)) + #else + if (status = setjmp (env)) +--- signal.c ++++ signal.c +@@ -39,7 +39,7 @@ + void (*hndlr) (); + { + #ifndef HAVE_SIGACTION +- signal (sno, hndlr); ++ return signal (sno, hndlr); + #else + struct sigaction sa, osa; + +@@ -76,7 +76,7 @@ + } + + +-#ifdef HAVE_SIGSETJMP ++#ifdef HAVE_SIGLONGJMP + extern sigjmp_buf env; + #else + extern jmp_buf env; +@@ -116,7 +116,7 @@ + if (!sigactive) + quit (1); + sigflags &= ~(1 << (signo - 1)); +-#ifdef HAVE_SIGSETJMP ++#ifdef HAVE_SIGLONGJMP + siglongjmp (env, -1); + #else + longjmp (env, -1);