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/README.SUSE b/README.SUSE new file mode 100644 index 0000000..eb2bef1 --- /dev/null +++ b/README.SUSE @@ -0,0 +1,19 @@ + Examples +---------- + +An Editline port of the fileman.c example from the GNU Readline documentation is +distributed with this package. + +Note libcurses, as well as libedit, should be linked to Editline enabled +programs, e.g. +gcc -o fileman fileman.c -ledit -lcurses + +A pkg-config libedit.pc file is provided, so you can write +PKG_CHECK_MODULES(LIBEDIT, libedit) + +in configure.ac of your client program to detect the existence of libedit.so and +to set CFLAGS and LIBS for using libedit. + +Using the pkg-config helper tool, the above fileman example looks like, +gcc -o fileman fileman.c `pkg-config --libs --cflags libedit` + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..112f624 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libedit0 diff --git a/libedit-20180525-manpage-conflicts.patch b/libedit-20180525-manpage-conflicts.patch new file mode 100644 index 0000000..ec29b75 --- /dev/null +++ b/libedit-20180525-manpage-conflicts.patch @@ -0,0 +1,60 @@ +From: 1Antoine1 +Date: 2018-08-06 11:47:22 +0200 +Subject: doc: File conlicts with readline-doc +References: (none) +Upstream: not submitted yet + +Make sure all manpages are prefixed with "el_" in order to avoid +file conflicts with readline-doc. + +--- +Index: libedit-20210910-3.1/doc/Makefile.am +=================================================================== +--- libedit-20210910-3.1.orig/doc/Makefile.am ++++ libedit-20210910-3.1/doc/Makefile.am +@@ -20,14 +20,14 @@ EL_MAN_LINKS = \ + el_resize.3 \ + el_set.3 \ + el_source.3 \ +- history.3 \ +- history_end.3 \ +- history_init.3 \ +- tok_end.3 \ +- tok_init.3 \ +- tok_line.3 \ +- tok_reset.3 \ +- tok_str.3 ++ el_history.3 \ ++ el_history_end.3 \ ++ el_history_init.3 \ ++ el_tok_end.3 \ ++ el_tok_init.3 \ ++ el_tok_line.3 \ ++ el_tok_reset.3 \ ++ el_tok_str.3 + + EL_MAN_LINKS += \ + el_wdeletestr.3 \ +@@ -39,14 +39,14 @@ EL_MAN_LINKS += \ + el_wparse.3 \ + el_wpush.3 \ + el_wset.3 \ +- history_w.3 \ +- history_wend.3 \ +- history_winit.3 \ +- tok_wend.3 \ +- tok_winit.3 \ +- tok_wline.3 \ +- tok_wreset.3 \ +- tok_wstr.3 ++ el_history_w.3 \ ++ el_history_wend.3 \ ++ el_history_winit.3 \ ++ el_tok_wend.3 \ ++ el_tok_winit.3 \ ++ el_tok_wline.3 \ ++ el_tok_wreset.3 \ ++ el_tok_wstr.3 + + + install-data-hook: $(EL_MAN_LINKS) diff --git a/libedit-20210910-3.1.tar.gz b/libedit-20210910-3.1.tar.gz new file mode 100644 index 0000000..66c38f0 --- /dev/null +++ b/libedit-20210910-3.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6792a6a992050762edcca28ff3318cdb7de37dccf7bc30db59fcd7017eed13c5 +size 524722 diff --git a/libedit-hidden-symbols.patch b/libedit-hidden-symbols.patch new file mode 100644 index 0000000..6fd0a38 --- /dev/null +++ b/libedit-hidden-symbols.patch @@ -0,0 +1,30 @@ +Index: libedit-20210910-3.1/src/sys.h +=================================================================== +--- libedit-20210910-3.1.orig/src/sys.h ++++ libedit-20210910-3.1/src/sys.h +@@ -40,6 +40,10 @@ + #ifndef _h_sys + #define _h_sys + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ + #ifdef HAVE_SYS_CDEFS_H + #include + #endif +@@ -84,12 +88,12 @@ typedef void *ioctl_t; + + #ifndef HAVE_STRLCAT + //#define strlcat libedit_strlcat +-size_t strlcat(char *dst, const char *src, size_t size); ++size_t strlcat(char *dst, const char *src, size_t size) libedit_private; + #endif + + #ifndef HAVE_STRLCPY + //#define strlcpy libedit_strlcpy +-size_t strlcpy(char *dst, const char *src, size_t size); ++size_t strlcpy(char *dst, const char *src, size_t size) libedit_private; + #endif + + #ifndef HAVE_GETLINE diff --git a/libedit.changes b/libedit.changes new file mode 100644 index 0000000..f1ce419 --- /dev/null +++ b/libedit.changes @@ -0,0 +1,362 @@ +------------------------------------------------------------------- +Wed Apr 5 15:01:43 UTC 2023 - Cristian Rodríguez + +- libedit-hidden-symbols.patch: hide strlcpy and strlcat + symbols + * Both now part of POSIX, will appear in libc shortly. + * Function names starting with ‘str’, ‘mem’, or ‘wcs’ followed + by a lowercase letter are reserved. + +------------------------------------------------------------------- +Sun Dec 5 21:43:39 UTC 2021 - Dirk Müller + +- update to 20210910: + * all: sync with upstream source + * see http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libedit +- drop libedit-20180525-manpage-conflicts.patch (upstream) + +------------------------------------------------------------------- +Thu Jul 16 11:04:44 UTC 2020 - Callum Farmer + +- autoreconf already runs libtoolize no need to run twice + +------------------------------------------------------------------- +Mon Jul 13 07:06:04 UTC 2020 - Fridrich Strba + +- Regenerate the build system before the build in order to avoid + errors due to automake version mismatch + +------------------------------------------------------------------- +Tue Apr 30 13:49:12 UTC 2019 - Ismail Dönmez + +- Update to version 20190324-3.1: + * Sync with upstream sources + +------------------------------------------------------------------- +Wed Aug 8 13:08:56 UTC 2018 - jengelh@inai.de + +- Remove redundant --with-pic (only for static libs). +- Fix RPM groups. + +------------------------------------------------------------------- +Mon Aug 6 09:13:50 UTC 2018 - antoine.belvire@opensuse.org + +- Bump version tag. +- Make sure all manpages are prefixed with "el_" to avoid file + conflicts with readline-doc: + * Add libedit-20180525-manpage-conflicts.patch. + +------------------------------------------------------------------- +Mon Jul 23 06:41:08 UTC 2018 - mpluskal@suse.com + +- Update to version 20180525-3.1: + * Sync with upstream sources +- Drop no longer needed patches: + * libedit-20100424-3.0-ncurses.patch + * libedit-ocloexec.patch + * libedit-visibility.patch +- Trim unused dependencies +- Drop %check section (there are no tests available) + +------------------------------------------------------------------- +Wed Mar 28 09:30:51 UTC 2018 - dmueller@suse.com + +- move Changelog back to runtime package as it might not + be only developer documentation + +------------------------------------------------------------------- +Mon Mar 26 15:54:26 CEST 2018 - kukuk@suse.de + +- Use %license instead of %doc [bsc#1082318] +- Move development docu into -devel subpackage + +------------------------------------------------------------------- +Mon Jun 22 11:45:10 UTC 2015 - tchvatal@suse.com + +- Cleanup a bit with spec-cleaner + * remove pkg_name variable which is equal to name variable + +------------------------------------------------------------------- +Fri Jun 19 12:01:55 UTC 2015 - idonmez@suse.com + +- Update to 20150325-3.1 + * version info: 0:53:0 + * all: sync with upstream source + +------------------------------------------------------------------- +Thu Feb 26 18:40:47 UTC 2015 - mpluskal@suse.com + +- Update to 20141030-3.1 + * version-info: 0:52:0 + * all: sync with upstream source + * configure.ac: Fix posix shell portability issue. + +------------------------------------------------------------------- +Mon Jul 28 14:48:16 UTC 2014 - mrueckert@suse.de + +- rename README.SUSE (bnc#889029) + +------------------------------------------------------------------- +Mon Jul 28 14:47:14 UTC 2014 - mrueckert@suse.de + +- update to 20140620-3.1 + upgrade to fix a crash with clear_history e.g. in php. + + - Bounds search for reallocated index, from OpenBSD via Andreas + Fett + - PR/48957: Federico G. Schwindt: Restore commented out code that + broke rl_callback_handler. + - cast gotsig because it is long on some systems. + - Add stdlib.h for abort() (Jess Thrysoee) + - Don't depend on weak aliases to define the vi "alias" expansion + function, provide an API instead to set it. + - accomodate FreeBSD's flavor of weak references. + - remove remaining makefile support for GCC < 45 that i found. + - PR/48876: Dmitriy Grigoryev: Core dump in readline lib on + attempted expansion Make sure we have 2 matches before calling + strcmp(). + - Always NULL terminate the argv[] array. From OpenBSD. + - PR/48821: If called from tty_stty(), recalculate flags. + - more tty modes refactoring, no functional change intended. + - Factor out some common code (more to be done) from PR/48821 + - Add An to authors. Wording. + - Add a history function that takes a FILE pointer; needed for + Capsicum. From Eitan Adler + - Add missing EL_REFRESH + - ... if called prior to using_history(). This needed to be + worked around in PHP: + http://git.php.net/?p=php-src.git;a=commitdiff;h=31d67bd3 + - get rid of PATH_MAX. + - cast to avoid warning. + - Add a function to move the cursor. + - expose rl_catch_signals and explain what we are doing. + - Test early for EOF to avoid infinite loop in the wide char + case. From Linas Vepstas: linasvepstas at gmail dot com + - provide an el_init_fd function. + - explicitly pass (void *)0 instead of NULL. + - Add FILES section. From jmc@OpenBSD. + - In 2000, .editrc reading from $PWD was removed. Update the man + page. From LEVAI Daniel via jmc@OpenBSD. + - remove dead assignment (Christoph Mallon) + - Fix pasto that affected bind -k (Christoph Mallon) + - Add trailing NULL's to the varargs functions as required. (John + Spencer) + - PR/46945: Steffen Nurpmeso; el_getc() doesn't document it's + setting errno + - return !OKCMD on error. + - PR/46942: Steffen Nurpmeso: editline(3): el_get(): fix + UNBUFFERED return + - PR/46941: Steffen Nurpmeso: document EL_BUFFERED + - PR/46935: Steffen Nurpmeso: editline(3) (libedit): faulty errno + handling, faulty reuse of val in wrong context + - Don't depend on HAVE_GCC being always defined. + - From Kamil Dudka: fix crash of el_insertstr() on incomplete + multi-byte + - PR/46678: Ian Wienand: Add stub implementation for + rl_free_line_state() + - don't crash if add_history is called from an empty line. Called + from nslookup in new bind. XXX: pullup to 6 + - Switch from Op to Oo/Oc for nested block. + - remove stdint.h; it is not used. + - don't include both term.h and termcap.h + - define the new variable + - Add rl_completion_word_break_hook from: + http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/\ + 5ec6a45fa762b8cbd0305ca06acb8780335a486a + - save and restore the tty settings on entry and exit + respectively. cleanup debugging printfs. + - From: Jilles Tjoelker: Add a mapping for the cursor delete key + - From Jilles Tjoelker: Do not move the cursor for + ed-delete-next-char in emacs mode. This makes + ed-delete-next-char suitable for mapping to the key. + Behaviour in vi mode is unchanged (for 'x'). + - These directories default to WARNS?=5 + - Use C89 functions definitions. + - Use C89 functions definitions. Remove use of __P + - include the NULL in the argv conversion + - use arraycount + - PR/45843: Henning Petersen: Fix resource leak on error. + - Add coverity annotations about unreachable code (Kamil Dudka) + - Add missing * + - Initialize termbuf (Kamil Dudka) + - Initialize res (Kamil Dudka) + - check for negative return of ct_visual_char (Kamil Dudka) + - Off by one in allocation could cause buffer overflow (Kamil + Dudka) + - remove unrecheable code (Kamil Dudka) + - easier with an int for now. + - Since Width() is used only for display purposes we don't want + to pass -1 for unprintable characters. + - Fixed misplaced parenthesis (Nirbhay Choubey) + - fixed warnings where wint_t is unsigned. + - fix broken change (parenthesis in the wrong place). From + Nirbhay Choubey + - include if we don't have wcsdup() + - NULL does not need a cast, here + - re-enable -Wconversion + +------------------------------------------------------------------- +Tue Mar 13 01:51:31 UTC 2012 - crrodriguez@opensuse.org + +- open all FDs with O_CLOEXEC in the library code. +- use gcc visibility by just reusing upstream macros "public" + and "protected" + +------------------------------------------------------------------- +Thu Feb 23 18:56:27 UTC 2012 - crrodriguez@opensuse.org + +- Update to version 20110802, fix use after free triggerable + with sftp autocompletion and MALLOC_PERTURB set. + +------------------------------------------------------------------- +Sun Nov 13 14:49:40 UTC 2011 - jengelh@medozas.de + +- Remove redundant/unwanted tags/section (cf. specfile guidelines) +- Use %_smp_mflags for parallel building + +------------------------------------------------------------------- +Sun Nov 13 09:15:50 UTC 2011 - coolo@suse.com + +- add libtool as explicit buildrequire to avoid implicit dependency from prjconf + +------------------------------------------------------------------- +Tue Aug 2 10:56:07 CEST 2011 - tiwai@suse.de + +- Add baselibs.conf + +------------------------------------------------------------------- +Sun Jul 31 20:45:38 UTC 2011 - crrodriguez@opensuse.org + +- Link with ncurses6w instead of ncurses5 +- Do not inject artificial dependencies on other packages + +------------------------------------------------------------------- +Sat Apr 24 20:17:13 UTC 2010 - pascal.bleser@opensuse.org + +- update to 20100424: + * synchronized with the upstream source + * UTF-8 support was added + +------------------------------------------------------------------- +Mon Dec 21 17:27:40 UTC 2009 - coolo@novell.com + +- fix build with using autoreconf + +------------------------------------------------------------------- +Sat Dec 19 12:39:03 CET 2009 - jengelh@medozas.de + +- Enable parallel build + +------------------------------------------------------------------- +Thu Dec 3 16:01:23 CET 2009 - vuntz@opensuse.org + +- Update to version 20090923-3.0: + + all: apply Apple patches from: + http://opensource.apple.com/source/libedit/libedit-11/patches +- Changes from previous versions: + + version-info: 0:33:0 + - all: Use predefined macro __sun to identify Solaris + - src/el.c: Ignore comment lines in .editrc + + version-info: 0:32:0 + - all: sync with upstream source. + + version-info: 0:31:0 + - all: sync with upstream source. + + version-info: 0:30:0 + - all: sync with upstream source. + + version-info: 0:29:0 + - all: sync with upstream source. + + version-info: 0:28:0 + - all: sync with upstream source. MAJOR.MINOR version is now + 3.0. This is due to NetBSD changing time_t and dev_t to 64 + bits. It does not really effect this package. + - configure.ac: Remove '--enable-debug' configure flag. The + autoconf way to control flags is by specifying them when + running configure, e.g. 'CFLAGS="-O0 -g" ./configure' +- Fix self-obsoletion of libedit. +- Add libedit-ncurses-pkg-config.patch to fix the pkg-config file + so that it references ncurses, and not curses. + +------------------------------------------------------------------- +Sat Sep 6 18:21:16 CEST 2008 - mrueckert@suse.de + +- update to 20080712-2.11 + * version-info: 0:27:0 + * configure.ac: Added '--enable-debug' configure flag, to produce + debugging information. + * examples/fileman.c: cast stat struct members, st_nlink and + st_size, appropriately (see also 'man 2 stat'). + Patch by Alex Elder. + * all: sync with upstream source. MINOR version is now 11. +- rename main package to libedit and split out a subpackage libedit0 + +------------------------------------------------------------------- +Fri Aug 31 22:29:07 CEST 2007 - mrueckert@suse.de + +- update to 20070831-2.10 + * version-info: 0:26:0 + * libedit.pc.in,Makefile.am,configure.ac,patches/extra_dist_list.sh: + Added pkg-config support for libedit. Patch by Masatake YAMATO. + +------------------------------------------------------------------- +Wed Aug 15 01:14:38 CEST 2007 - mrueckert@suse.de + +- update to 20070813-2.10 + * version-info: 0:25:0 + * all: sync with upstream source. + +------------------------------------------------------------------- +Mon Jul 16 16:37:10 CEST 2007 - mrueckert@suse.de + +- fixed a few -n lines that wont work in abuild otherwise + +------------------------------------------------------------------- +Mon Jun 11 18:40:55 CEST 2007 - mrueckert@suse.de + +- rename package to follow the library packaging policy. +- dont build the static lib + +------------------------------------------------------------------- +Sat Mar 3 17:50:11 CET 2007 - mrueckert@suse.de + +- update to 20070302-2.10: + * version-info: 0:24:0 + * all: sync with upstream source. + * A bug with el_push() has been fixed. + +------------------------------------------------------------------- +Tue Jan 9 17:50:24 CET 2007 - mrueckert@suse.de + +- update to 20061228-2.10: + * version-info: 0:23:0 + * src/shlib_version: Upstream bumped minor version from 9 to 10. + * all: sync with upstream source. More readline functions. + +------------------------------------------------------------------- +Sun Oct 22 21:15:46 CEST 2006 - mrueckert@suse.de + +- update to 20061022-2.9: + synced with upstream source. + +------------------------------------------------------------------- +Thu Aug 31 16:53:57 CEST 2006 - mrueckert@suse.de + +- removed changelog from README.SuSE + +------------------------------------------------------------------- +Wed Aug 30 00:20:04 CEST 2006 - mrueckert@suse.de + +- update to 20060829-2.9: + Finally all files are bsd 3 clause. + This package should be GPL compatible now. + +------------------------------------------------------------------- +Thu Aug 17 12:17:48 CEST 2006 - mrueckert@suse.de + +- run ldconfig + +------------------------------------------------------------------- +Thu Aug 17 11:37:20 CEST 2006 - mrueckert@suse.de + +- updated to 20060816-2.9: + * sync with upstream sources + diff --git a/libedit.spec b/libedit.spec new file mode 100644 index 0000000..04ba784 --- /dev/null +++ b/libedit.spec @@ -0,0 +1,103 @@ +# +# spec file for package libedit +# +# Copyright (c) 2023 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/ +# + + +%define pkg_version 20210910-3.1 +%define sover 0 +Name: libedit +Version: 20210910.3.1 +Release: 0 +Summary: Command Line Editing and History Library +License: BSD-3-Clause +Group: Development/Libraries/C and C++ +URL: https://www.thrysoee.dk/editline/ +Source0: https://www.thrysoee.dk/editline/libedit-%{pkg_version}.tar.gz +Source1: README.SUSE +Source2: baselibs.conf +Patch0: libedit-20180525-manpage-conflicts.patch +Patch1: libedit-hidden-symbols.patch +# For patch0 +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(ncurses) + +%description +libedit is a command line editing and history library. It is designed +to be used by interactive programs that allow the user to type commands +at a terminal prompt. + +%package -n libedit%{sover} +Summary: Command Line Editing and History Library +Group: System/Libraries +Provides: %{name} = %{version}-%{release} +Obsoletes: %{name} < %{version} + +%description -n libedit%{sover} +libedit is a command line editing and history library. It is designed +to be used by interactive programs that allow the user to type commands +at a terminal prompt. + +%package -n libedit-devel +Summary: Development files for libedit +Group: Development/Libraries/C and C++ +Requires: glibc-devel +Requires: libedit%{sover} = %{version} +Provides: libedit%{sover}-devel = %{version}-%{release} + +%description -n libedit-devel +libedit is a command line editing and history library. It is designed +to be used by interactive programs that allow the user to type commands +at a terminal prompt. + +This package holds the development files for libedit. + +%prep +%autosetup -p1 -n %{name}-%{pkg_version} +cp %{SOURCE1} . + +%build +autoreconf -fiv +%configure \ + --disable-static \ + --disable-silent-rules +%make_build + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%post -n libedit%{sover} -p /sbin/ldconfig +%postun -n libedit%{sover} -p /sbin/ldconfig + +%files -n libedit%{sover} +%{_libdir}/libedit.so.%{sover} +%{_libdir}/libedit.so.%{sover}.* +%{_mandir}/man5/editrc.5%{?ext_man} +%license COPYING +%doc ChangeLog + +%files -n libedit-devel +%{_libdir}/libedit.so +%{_includedir}/histedit.h +%{_includedir}/editline/ +%{_mandir}/man3/*.3%{?ext_man} +%{_mandir}/man7/*.7%{?ext_man} +%{_libdir}/pkgconfig/libedit.pc +%doc examples/*c THANKS README.SUSE + +%changelog