diff --git a/pinfo-0.6.10-man.patch b/pinfo-0.6.10-man.patch new file mode 100644 index 0000000..bdbfb44 --- /dev/null +++ b/pinfo-0.6.10-man.patch @@ -0,0 +1,26 @@ +diff --git a/doc/pinfo.1.in b/doc/pinfo.1.in +index 1882e7a..1a4da77 100644 +--- a/doc/pinfo.1.in ++++ b/doc/pinfo.1.in +@@ -72,6 +72,10 @@ synonym for -r. + .BR --apropos + \- if this is set, apropos is called when no man or info page could be found. + .P ++.BR "-p", ++.BR --plain-apropos ++\- if this is set, call only apropos. ++.P + .BR "-c", + .BR --cut-man-headers + \- if this is set, man parsing code will try to cut out the repeated man +@@ -82,6 +86,10 @@ headers. Use with care. ;) + cut empty lines from manual pages. This option enables auto cutting of every + repeated newline in a manual page. + .P ++.BR "-d", ++.BR --dont-handle-without-tag-table ++\- don't display texinfo pages without tag table. ++.P + .BR "-t", + .BR "--force-manual-tag-table" \- + forces manual detection of tag table. This allows you to view info pages, diff --git a/pinfo-0.6.10.tar.bz2 b/pinfo-0.6.10.tar.bz2 new file mode 100644 index 0000000..1bc8e34 Binary files /dev/null and b/pinfo-0.6.10.tar.bz2 differ diff --git a/pinfo-0.6.9-infopath.patch b/pinfo-0.6.9-infopath.patch new file mode 100644 index 0000000..d5061e2 --- /dev/null +++ b/pinfo-0.6.9-infopath.patch @@ -0,0 +1,12 @@ +diff -up pinfo-0.6.9/src/datatypes.c.infopath pinfo-0.6.9/src/datatypes.c +--- pinfo-0.6.9/src/datatypes.c.infopath 2006-03-09 21:54:53.000000000 +0100 ++++ pinfo-0.6.9/src/datatypes.c 2008-09-04 15:14:20.000000000 +0200 +@@ -31,7 +31,7 @@ char *ftpviewer = "lynx"; + char *maileditor = "mail"; + char *printutility = "lpr"; + char *manlinks = "1:8:2:3:4:5:6:7:9:n:l:p:o:3X11:3Xt:3X:3x"; +-char *configuredinfopath = ".:/usr/share/info:/usr/info:/usr/local/share/info:/usr/local/info:/opt/info"; ++char *configuredinfopath = "/usr/share/info:/usr/info:/usr/local/share/info:/usr/local/info:/opt/info:."; + char *ignoredmacros = 0; + char *rcfile = NULL; + diff --git a/pinfo-0.6.9-infosuff.patch b/pinfo-0.6.9-infosuff.patch new file mode 100644 index 0000000..7ab326f --- /dev/null +++ b/pinfo-0.6.9-infosuff.patch @@ -0,0 +1,30 @@ +--- pinfo-0.6.9/src/filehandling_functions.c.infosuff 2006-03-16 16:15:02.000000000 +0100 ++++ pinfo-0.6.9/src/filehandling_functions.c 2006-09-18 14:32:32.000000000 +0200 +@@ -94,6 +94,7 @@ + /* iterate over all files in the directory */ + while ((dp = readdir(dir)) != NULL) + { ++ int info_suffix; + /* use strcat rather than strdup, because xmalloc handles all + * malloc errors */ + char *thisfile = xmalloc(strlen(dp->d_name)+1); +@@ -101,7 +102,9 @@ + + /* strip suffixes (so "gcc.info.gz" -> "gcc") */ + strip_compression_suffix(thisfile); ++ info_suffix = strlen(thisfile); + strip_info_suffix(thisfile); ++ info_suffix -= strlen(thisfile); + + /* compare this file with the file we're looking for */ + if (strcmp(thisfile,bname) == 0) +@@ -110,7 +113,8 @@ + matched++; + /* put it in the buffer */ + strncat(Buf, thisfile, 1023-strlen(Buf)); +- strncat(Buf, ".info", 1023-strlen(Buf)); ++ if (info_suffix) ++ strncat(Buf, ".info", 1023-strlen(Buf)); + + /* clean up, and exit the loop */ + xfree(thisfile); diff --git a/pinfo-0.6.9-mansection.patch b/pinfo-0.6.9-mansection.patch new file mode 100644 index 0000000..e54cdb6 --- /dev/null +++ b/pinfo-0.6.9-mansection.patch @@ -0,0 +1,39 @@ +--- pinfo-0.6.9/src/manual.c.mansection 2006-03-16 15:14:30.000000000 +0100 ++++ pinfo-0.6.9/src/manual.c 2007-02-23 14:52:30.000000000 +0100 +@@ -167,16 +167,29 @@ + } + i = len; + /* find the beginning of the last token */ +- for (i = len - 1;(i > 0) &&(!isspace(name1[i])); i--); +- +- /* if we've found space, then we move to the first nonspace character */ +- if (i > 0) +- i++; ++ for (i = len - 1;(i >= 0) &&(!isspace(name1[i])); i--) ++ ; ++ i++; + + /* filename->name */ +- strcpy(manualhistory[0].name, &name1[i]); ++ snprintf(manualhistory[0].name, 256, "%s", &name1[i]); ++ + /* section unknown */ +- strcpy(manualhistory[0].sect, ""); ++ manualhistory[0].sect[0] = 0; ++ ++ /* try to find section */ ++ if (i > 1) { ++ for (i--; (i >= 0) && isspace(name1[i]); i--) ++ ; ++ if (i >= 0) { ++ name1[i + 1] = 0; ++ for (; (i >= 0) && !isspace(name1[i]); i--) ++ ; ++ i++; ++ snprintf(manualhistory[0].sect, 32, "%s", &name1[i]); ++ } ++ } ++ + /* selected unknown */ + manualhistory[0].selected = -1; + /* pos=0 */ diff --git a/pinfo-0.6.9-nogroup.patch b/pinfo-0.6.9-nogroup.patch new file mode 100644 index 0000000..b8f351b --- /dev/null +++ b/pinfo-0.6.9-nogroup.patch @@ -0,0 +1,22 @@ +--- pinfo-0.6.9/src/utils.c.nogroup 2006-03-16 15:14:30.000000000 +0100 ++++ pinfo-0.6.9/src/utils.c 2007-01-19 13:45:53.000000000 +0100 +@@ -32,7 +32,7 @@ + #endif + + char *safe_user = "nobody"; +-char *safe_group = "nogroup"; ++char *safe_group = "nobody"; + + #ifndef HAVE_CURS_SET + void +--- pinfo-0.6.9/src/pinforc.in.nogroup 2007-01-19 13:42:14.000000000 +0100 ++++ pinfo-0.6.9/src/pinforc.in 2007-01-19 13:45:35.000000000 +0100 +@@ -91,7 +91,7 @@ + PRINTUTILITY=lpr + MANLINKS=1:8:2:3:4:5:6:7:9:n:p:o:3X11:3Xt:3x:3X + SAFE-USER=nobody +-SAFE-GROUP=nogroup ++SAFE-GROUP=nobody + # + # Remember, HIGHLIGHTREGEXP may be slow (thus it's commented by default) + # diff --git a/pinfo-0.6.9-xdg.patch b/pinfo-0.6.9-xdg.patch new file mode 100644 index 0000000..18f7e3d --- /dev/null +++ b/pinfo-0.6.9-xdg.patch @@ -0,0 +1,16 @@ +diff -up pinfo-0.6.9/src/pinforc.in.xdg pinfo-0.6.9/src/pinforc.in +--- pinfo-0.6.9/src/pinforc.in.xdg 2006-03-09 20:44:37.000000000 +0100 ++++ pinfo-0.6.9/src/pinforc.in 2007-10-03 18:35:21.000000000 +0200 +@@ -85,9 +85,9 @@ QUIT-CONFIRM-DEFAULT=no + CLEAR-SCREEN-AT-EXIT=true + CALL-READLINE-HISTORY=true + STDERR-REDIRECTION="2> /dev/null" +-HTTPVIEWER=lynx +-FTPVIEWER=lynx +-MAILEDITOR=clear; mail ++HTTPVIEWER=xdg-open ++FTPVIEWER=xdg-open ++MAILEDITOR=xdg-email + PRINTUTILITY=lpr + MANLINKS=1:8:2:3:4:5:6:7:9:n:p:o:3X11:3Xt:3x:3X + SAFE-USER=nobody diff --git a/pinfo.spec b/pinfo.spec new file mode 100644 index 0000000..2708775 --- /dev/null +++ b/pinfo.spec @@ -0,0 +1,56 @@ +Name: pinfo +Version: 0.6.10 +Release: 22 +Summary: An user-friendly, console-based viewer for Info documents +License: GPLv2 +URL: http://pinfo.alioth.debian.org +Source: http://ftp.corbina.net/pub/Linux/gentoo/distfiles/d9/pinfo-0.6.10.tar.bz2 +Patch0001: pinfo-0.6.9-xdg.patch +Patch0002: pinfo-0.6.9-infosuff.patch +Patch0003: pinfo-0.6.9-nogroup.patch +Patch0004: pinfo-0.6.9-mansection.patch +Patch0005: pinfo-0.6.9-infopath.patch +Patch0006: pinfo-0.6.10-man.patch + +BuildRequires: ncurses-devel automake gettext-devel libtool texinfo +Requires: xdg-utils + +%description +Pinfo is a hypertext info file viewer with a user interface similar to lynx. +It is based on curses/ncurses, and can handle info pages as well as man pages. +It also features regexp searching and user-defined colors/keys. + +%package help +Summary: Help documents for pinfo +Requires: %{name} = %{version}-%{release} + +%description help +Pinfo-help provides man pages and other related help documents for pinfo. + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +./autogen.sh +%configure --without-readline +%make_build + +%install +%make_install + +%find_lang %{name} + +%files -f %{name}.lang +%doc AUTHORS COPYING +%{_bindir}/pinfo +%{_infodir}/pinfo.info* +%config(noreplace) %{_sysconfdir}/pinforc +%exclude %{_infodir}/dir + +%files help +%doc ChangeLog* NEWS README TECHSTUFF +%{_mandir}/man1/pinfo.1* + +%changelog +* Fri Feb 14 2020 lingsheng - 0.6.10-22 +- Package init