debian/0000755000000000000000000000000012170630477007175 5ustar debian/compat0000644000000000000000000000000212170621430010360 0ustar 9 debian/control0000644000000000000000000000204012170626500010564 0ustar Source: iselect Section: utils Priority: optional Maintainer: Axel Beckert Standards-Version: 3.9.4 Build-Depends: debhelper (>= 9~), dh-autoreconf, libncurses5-dev, perl Homepage: http://www.ossp.org/pkg/tool/iselect/ Vcs-Git: git://anonscm.debian.org/collab-maint/iselect.git Vcs-Browser: http://anonscm.debian.org/git/collab-maint/iselect.git Package: iselect Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Suggests: libtimedate-perl, screen Enhances: screen Description: ncurses-based interactive line selection tool iSelect is an interactive line selection tool, operating via a full-screen Curses-based terminal session. It can be used either as an user interface frontend controlled by a Bourne-Shell/Perl/Tcl backend as its control script or in batch mode as a pipeline filter (usually between grep and the final executing command). . This package also includes screen-ir, a script to interactively reattach to one of several screen sessions. debian/copyright0000644000000000000000000000264112170621314011121 0ustar This package was debianized by Denis Barbier on Sun, 10 Apr 2005 22:23:58 +0200. It was downloaded from: http://www.ossp.org/pkg/tool/iselect/ Previous Debian maintainers: * Anthony Fok, 1997-1999. * Brian Bassett, 1999-2000 * Denis Barbier, 2000-2006 * Luk Claes and Felipe Augusto van de Wiel, 2006-2008 Currently maintained by Axel Beckert Copyright: iSelect -- Interactive Selection Tool Copyright (c) 1996,1997,1998 Ralf S. Engelschall. This program is free software; it may be redistributed and/or modified only under the terms of either the Artistic License or the GNU General Public License, which may be found in the ePerl source distribution. Look at the files ARTISTIC and COPYING or run ``eperl -l'' to receive a built-in copy of both license files. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the Artistic License or the GNU General Public License for more details. Ralf S. Engelschall rse@engelschall.com www.engelschall.com On Debian systems, the GNU General Public License (GPL) and the Artistic License may be found in `/usr/share/common-licenses/GPL-2' and `/usr/share/common-licenses/Artistic' respectively. debian/patches/0000755000000000000000000000000012170626431010617 5ustar debian/patches/changes-on-examples.diff0000644000000000000000000000462612170621062015312 0ustar This patch contains all code changes to upstream's examples in the iselect package version 1.3.1-3. --- iselect-1.3.1.orig/example/scvs/scvs +++ iselect-1.3.1/example/scvs/scvs @@ -6,8 +6,8 @@ require 5.004; -use Term::Cap; -use File::PathConvert; +use Term::ANSIColor; +use File::Spec; use IO::File 1.06; use Cwd; @@ -16,34 +16,12 @@ use Cwd; ## 1. Determine terminal capabilities ## -$term = Tgetent Term::Cap { TERM => undef, OSPEED => 9600 }; -$bold = $term->Tputs('md', 1, undef); -$norm = $term->Tputs('me', 1, undef); - - ## ## 2. Find .scvsrc files and read contents into %CVSROOTS hash ## %CVSROOTS = (); -# determine canonical path -sub canonical_path { - my ($path) = @_; - my ($pathL); - - $pathL = ''; - while ($path ne $pathL) { - $pathL = $path; - $path =~ s|//|/|g; - $path =~ s|/\./|/|g; - $path =~ s|/\.$|/|g; - $path =~ s|^./||g; - $path =~ s|([^/.][^/.]*)/\.\.||; - } - return $path; -} - # create list of dirs back to root ($cwd = Cwd::cwd) =~ s|/$||; $cwdT = $cwd; @@ -55,9 +33,10 @@ while ($cwdT) { # search for .scvsrc files foreach $dir (reverse(@DIR)) { if (-f "$dir/.scvsrc") { - $reldir = &canonical_path(File::PathConvert::abs2rel($dir)); - $subdir = &canonical_path(File::PathConvert::abs2rel($cwd, $dir)); - $rcfile = &canonical_path("$reldir/.scvsrc"); + $reldir = File::Spec->abs2rel($dir); + $reldir = '.' if $reldir eq ''; + $subdir = File::Spec->abs2rel($cwd, $dir); + $rcfile = "$reldir/.scvsrc"; &process_rcfile($rcfile, $cwd, $reldir, $subdir); } } @@ -103,7 +82,6 @@ $locC = <$root>; $locC =~ s|\n$||; $root->close(); - ## ## 4. Create iSelect page with list of available CVS repositories ## and fire up iSelect with it @@ -158,14 +136,14 @@ elsif ($locN eq $locC) { $prefixN = $locN; $prefixN =~ s|^[^/]+||; -foreach $dir (split(/\n/, `find . -name CVS -type d -depth -print`)) { +foreach $dir (split(/\n/, `find . -noleaf -depth -type d -name CVS -print `)) { $dir =~ s|^\./||; $dirname = $dir; if (length($dirname) > 60) { $dirname = '..'.substr($dirname, length($dirname)-60, 60); } $dirname = sprintf("%-60s", $dirname); - print STDERR "Processing: ${bold}$dirname$norm\r"; + print STDERR "Processing: ".colored("$dirname\r", 'bold'); open(FP, "<$dir/Root"); $locO = ; debian/patches/debian-changes-as-of-1.3.1-30000644000000000000000000004216412170621062015175 0ustar Changes to upstream code as of Debian iselect package version 1.3.1-3 --- iselect-1.3.1.orig/iselect_browse.c +++ iselect-1.3.1/iselect_browse.c @@ -55,6 +55,9 @@ extern char *iSelect_README[]; void strip(char *string); void diehard(void); void diesoft(void); +void diealloc(void); +void *smalloc(size_t size); +void *srealloc(void *ptr, size_t size); void setup(void); char *iSelect_InputField(int wYSize, int wXSize, int wYPos, int wXPos, int bAllowEmpty); void iSelect_Draw(WINDOW *wField, @@ -78,7 +81,7 @@ int iSelect(char *caBuf, int pos, char * /* * GLOBALS */ -struct Line *spaLines[MAXLINES]; /* filled by iSelect() */ +struct Line **spaLines; /* filled by iSelect() */ int nLines; @@ -132,6 +135,29 @@ void diesoft(void) endwin(); /* make terminal the way it was */ } +void diealloc(void) +{ + fprintf(stderr, "Memory allocation error... aborting\n"); + diesoft(); + exit(EX_OSERR); +} + +void *smalloc(size_t size) +{ + char *ptr = (char *) malloc(size); + if (NULL == ptr) + diealloc(); + return (void *)ptr; +} + +void *srealloc(void *ptr, size_t size) +{ + ptr = (void *) realloc(ptr, size); + if (NULL == ptr) + diealloc(); + return (void *)ptr; +} + /* * Startup with trapping of interrupt signal */ @@ -154,11 +180,13 @@ char *iSelect_InputField(int wYSize, int int nBufCurPos; int nScrCurPos; int bEOI; - char caBuf[1024]; char *cpBuf; + int cpBufLen; int i; - cpBuf = caBuf; + cpBufLen = 1024; + cpBuf = (char *) smalloc(cpBufLen+1); + cpBuf[0] = NUL; wField = newwin(wYSize, wXSize, wYPos, wXPos); keypad(wField, TRUE); @@ -188,7 +216,7 @@ char *iSelect_InputField(int wYSize, int bEOI = TRUE; } else if (c == 0x1b) { /* ESCAPE */ - strcpy(caBuf, "ESC"); + strcpy(cpBuf, "ESC"); bEOI = TRUE; } else if (c == 0x04) { /* DELETE */ @@ -231,6 +259,10 @@ char *iSelect_InputField(int wYSize, int } nScrCurPos--; /* neutralize following increment */ } + if (nBufEnd >= cpBufLen) { + cpBufLen += 1024; + cpBuf = (char *) srealloc((void *)cpBuf, cpBufLen+1); + } cpBuf[nBufEnd++] = c; nBufCurPos++; nScrCurPos++; @@ -243,7 +275,7 @@ char *iSelect_InputField(int wYSize, int fflush(stdin); delwin(wField); - return strdup(caBuf); + return cpBuf; } /* @@ -260,17 +292,21 @@ void iSelect_Draw(WINDOW *wField, { int i, j, k, mode; int percent; + /* Buffer containing "%4d,%3d%%" */ char ca[80]; - char boldbegin[1024]; + char *boldbegin; int nboldbegin; - char boldend[1024]; + char *boldend; int nboldend; /* * create actual bold tags */ + boldbegin = (char *) smalloc(strlen(tagbegin)+strlen(tagend)+2); sprintf(boldbegin, "%sb%s", tagbegin, tagend); nboldbegin = strlen(boldbegin); + + boldend = (char *) smalloc(strlen(tagbegin)+strlen(tagend)+3); sprintf(boldend, "%s/b%s", tagbegin, tagend); nboldend = strlen(boldend); @@ -294,7 +330,7 @@ void iSelect_Draw(WINDOW *wField, waddstr(wField, "*"); else waddstr(wField, " "); /* cursor pos == first blank */ - for (j = k = 0; spaLines[nAbsFirstLine+nRelFirstDraw+i]->cpLine[j] != NUL && j <= (wXSize-1)-2;) { + for (j = k = 0; spaLines[nAbsFirstLine+nRelFirstDraw+i]->cpLine[j] != NUL && k <= (wXSize-1)-2;) { if (strniEQ(&spaLines[nAbsFirstLine+nRelFirstDraw+i]->cpLine[j], boldbegin, nboldbegin)) { mode = mode | A_BOLD; wattrset(wField, mode); @@ -316,6 +352,8 @@ void iSelect_Draw(WINDOW *wField, wattrset(wField, A_NORMAL); } wmove(wField, nRelMarked, (wXSize-1)-1); + free(boldbegin); + free(boldend); /* * draw status bar @@ -331,9 +369,10 @@ void iSelect_Draw(WINDOW *wField, waddstr(sField, name); wmove(sField, 0, COLS-10); - percent = (int)(((nAbsFirstLine+nRelMarked)*100)/nLines); - if (1+nAbsFirstLine+nRelMarked == nLines) + if ((1+nAbsFirstLine+nRelMarked == nLines) || nLines == 0) percent = 100; + else + percent = (int)(((nAbsFirstLine+nRelMarked)*100)/nLines); sprintf(ca, "%4d,%3d%%", 1+nAbsFirstLine+nRelMarked, percent); waddstr(sField, ca); @@ -377,13 +416,17 @@ int iSelect_Browser(int wYSize, int wXSi int bQuit = FALSE; int y; int x; - char msg[1024]; - char ca[1024]; - char ca3[1024]; + int voffset; + /* Static messages */ + char msg[128]; + int caLen; + char *ca; + char *ca3; char *cp; char *cp2; char *cp3; char **cpp; + int cppsize; int ok; int bAllowEmpty; @@ -602,14 +645,18 @@ int iSelect_Browser(int wYSize, int wXSi /* additionally ask for query strings */ if (bEOI == TRUE) { cp = spaLines[nAbsFirstLine+nRelMarked]->cpResult; + caLen = 1024; + ca = (char *) smalloc(caLen+1); cp2 = ca; while (bEOI == TRUE && *cp != NUL) { if (strnEQ(cp, "%[", 2)) { cp += 2; for (cp3 = cp; !strniEQ(cp3, "]s", 2); cp3++) ; + ca3 = (char *) smalloc(cp3-cp+3); strncpy(ca3, cp, cp3-cp); ca3[cp3-cp] = NUL; + strcat(ca3, ": "); cp = cp3+1; if (*cp == 's') bAllowEmpty = TRUE; @@ -617,10 +664,10 @@ int iSelect_Browser(int wYSize, int wXSi bAllowEmpty = FALSE; cp++; - sprintf(msg, "%s: ", ca3); - iSelect_Draw(wField, wYSize, wXSize, wYPos, wXPos, nAbsFirstLine, nAbsLastLine, -1, nRelFirstDraw, nRelLastDraw, nLines, sField, title, name, mField, msg, tagbegin, tagend); + iSelect_Draw(wField, wYSize, wXSize, wYPos, wXPos, nAbsFirstLine, nAbsLastLine, -1, nRelFirstDraw, nRelLastDraw, nLines, sField, title, name, mField, ca3, tagbegin, tagend); wrefresh(wField); - cp3 = iSelect_InputField(mYSize, mXSize-strlen(msg), mYPos, mXPos+strlen(msg), bAllowEmpty); + cp3 = iSelect_InputField(mYSize, mXSize-strlen(ca3), mYPos, mXPos+strlen(ca3), bAllowEmpty); + free(ca3); if (strEQ(cp3, "ESC")) { bEOI = FALSE; spaLines[nAbsFirstLine+nRelMarked]->fSelected = FALSE; @@ -628,6 +675,12 @@ int iSelect_Browser(int wYSize, int wXSi continue; } strcpy(msg, ""); + if (cp2-ca+strlen(cp3) >= caLen) { + caLen += strlen(cp3); + i = cp2-ca; + ca = (char *) srealloc(ca, caLen+1); + cp2 = ca + i; + } strcpy(cp2, cp3); cp2 += strlen(cp3); } @@ -640,6 +693,7 @@ int iSelect_Browser(int wYSize, int wXSi if (strNE(spaLines[nAbsFirstLine+nRelMarked]->cpResult, ca)) spaLines[nAbsFirstLine+nRelMarked]->cpResult = strdup(ca); } + free(ca); } } } @@ -663,6 +717,15 @@ int iSelect_Browser(int wYSize, int wXSi strcpy(msg, "No multi-line selection allowed."); } } + else if (c == 'C') { + if (multiselect) { + for (i = nFirstLine; i < nLastLine; i++) + spaLines[i]->fSelected = FALSE; + } + else { + strcpy(msg, "No multi-line selection."); + } + } else if (c == 'q') { bEOI = TRUE; bQuit = TRUE; @@ -718,14 +781,22 @@ int iSelect_Browser(int wYSize, int wXSi wrefresh(wField); hField = newwin(wYSize, wXSize, wYPos, wXPos); - werase(hField); if (c == 'h') cpp = iSelect_Help; else cpp = iSelect_README; - for (y = 0; y < wYSize && cpp[y] != NULL; y++) { - sprintf(ca, cpp[y]); - cp = ca; + voffset = 0; + while (1) { + for (cppsize = 0; cpp[cppsize] != NULL; cppsize++) + ; + if (voffset > cppsize - wYSize) + voffset = cppsize - wYSize; + if (voffset < 0) + voffset = 0; + werase(hField); + for (y = 0; y < wYSize && cpp[y+voffset] != NULL; y++) { + cp3 = strdup(cpp[y+voffset]); + cp = cp3; x = 0; while (1) { if ((cp2 = strstr(cp, "")) != NULL) { @@ -744,13 +815,28 @@ int iSelect_Browser(int wYSize, int wXSi break; } } + free(cp3); } - wrefresh(hField); - while (1) { + wrefresh(hField); c = wgetch(wField); - c = c & 0xff; /* strip down to 8bit */ if (c == 'q') break; + else if (c == KEY_UP) + --voffset; + else if (c == KEY_DOWN) + ++voffset; + else if (c == KEY_PPAGE) + voffset -= wYSize; + else if (c == KEY_NPAGE) + voffset += wYSize; + else if (c == 'g') + voffset = 0; + else if (c == 'G') + voffset = cppsize - wYSize; + else if (c == 'h') + cpp = iSelect_Help; + else if (c == 'v') + cpp = iSelect_README; } delwin(hField); @@ -794,8 +880,7 @@ int iSelect(char *caBuf, int pos, char * { WINDOW *wMain; int i, j, k; - char ca[MAXLINELEN], ca2[MAXLINELEN]; - char ca3[MAXLINELEN]; + char *ca, *ca2, *ca3; char *cp, *cps, *cpe; struct Line *spLine; int rc; @@ -806,6 +891,16 @@ int iSelect(char *caBuf, int pos, char * * spaLines array of browsable strings */ j = 0; + /* + * count lines + */ + nLines = 1; + for (i = 0; caBuf[i] != NUL; i++) + if (caBuf[i] == NL) + nLines++; + spaLines = (struct Line **) smalloc(sizeof(struct Line *) * nLines); + ca = (char *) smalloc(strlen(caBuf)+1); + nLines = 0; for (i = 0; caBuf[i] != NUL; i++) { if (caBuf[i] != NL) { @@ -823,8 +918,10 @@ int iSelect(char *caBuf, int pos, char * continue; } - spLine = (struct Line *)malloc(sizeof(struct Line)); + spLine = (struct Line *)smalloc(sizeof(struct Line)); + ca2 = (char *) smalloc(strlen(ca)+strlen(tagbegin)+2); + ca3 = (char *) smalloc(strlen(ca)+strlen(tagbegin)+2); sprintf(ca2, "%ss", tagbegin); sprintf(ca3, "%sS", tagbegin); if ( (cp = strstr(ca, ca2)) != NULL @@ -870,8 +967,11 @@ int iSelect(char *caBuf, int pos, char * if (stripws) strip(spLine->cpResult); spaLines[nLines++] = spLine; + free(ca2); + free(ca3); } } + free(ca); #ifdef DEBUG for (i = 0; i < nLines; i++) { printf("spaLines[%d] = {\n", i); --- iselect-1.3.1.orig/iselect_browse.h +++ iselect-1.3.1/iselect_browse.h @@ -38,11 +38,7 @@ struct Line { char *cpResult; /* the result string */ } Line; -#define MAXLINELEN 1024 -#define MAXLINES 1024 -#define MAXBUF MAXLINELEN*MAXLINES - -extern struct Line *spaLines[MAXLINES]; +extern struct Line **spaLines; extern int nLines; /* --- iselect-1.3.1.orig/iselect_main.c +++ iselect-1.3.1/iselect_main.c @@ -90,6 +90,7 @@ void give_usage(char *name) } struct option options[] = { + { "delimiter", TRUE, NULL, 'd' }, { "strip-comments", FALSE, NULL, 'c' }, { "force-browse", FALSE, NULL, 'f' }, { "all-select", FALSE, NULL, 'a' }, @@ -108,8 +109,6 @@ struct option options[] = { { NULL, FALSE, NULL, '\0' }, }; -char caBuf[MAXBUF]; - int main(int argc, char **argv) { int fpStdout; @@ -119,7 +118,8 @@ int main(int argc, char **argv) int pos = -1; char *progname; int nBuf, p; - char ca[1024]; + /* This buffer is used to store the string representation of an int */ + char ca[22]; char *title = ""; char *name = "iSelect"; int stripco = FALSE; @@ -135,6 +135,8 @@ int main(int argc, char **argv) char *abortstr = NULL; char *tagbegin = "<"; char *tagend = ">"; + char *caBuf; + int caBufLen; /* * argument handling @@ -223,20 +225,31 @@ int main(int argc, char **argv) * read input */ + nBuf = 0; + caBufLen = 1024; + caBuf = (char *) malloc(caBufLen+1); + caBuf[0] = NUL; if (optind < argc) { /* browsing text is given as arguments */ - nBuf = 0; for (; optind < argc; ++optind) { cp = (argv[optind] == NULL ? "" : argv[optind]); - sprintf(caBuf+nBuf, "%s\n", cp); - nBuf += strlen(cp)+1; + if (nBuf+strlen(cp)+1 >= caBufLen) { + caBufLen += strlen(cp)+1; + caBuf = (char *) realloc((void *)caBuf, caBufLen+1); + } + strcpy(caBuf+nBuf, cp); + nBuf += strlen(cp); + caBuf[nBuf++] = NL; } caBuf[nBuf++] = NUL; } else if (optind == argc && !feof(stdin)) { /* browsing text is given on stdin */ - nBuf = 0; while ((c = fgetc(stdin)) != (char)(EOF)) { + if (nBuf >= caBufLen) { + caBufLen += 1024; + caBuf = (char *) realloc((void *)caBuf, caBufLen+1); + } caBuf[nBuf++] = c; } caBuf[nBuf++] = NUL; @@ -273,16 +286,16 @@ int main(int argc, char **argv) for (i = 0; i < nLines; i++) { if (spaLines[i]->fSelected) { if (resultline) { - sprintf(ca, "%d:", i+1); + sprintf(ca, "%d", i+1); write(fpStdout, ca, strlen(ca)); + write(fpStdout, ":", 1); } if (keyresultline) { - sprintf(ca, "%s:", keystr); - write(fpStdout, ca, strlen(ca)); + write(fpStdout, keystr, strlen(keystr)); + write(fpStdout, ":", 1); } write(fpStdout, spaLines[i]->cpResult, strlen(spaLines[i]->cpResult)); - sprintf(ca, "\n"); - write(fpStdout, ca, strlen(ca)); + write(fpStdout, "\n", 1); } } } --- iselect-1.3.1.orig/iselect_help.txt +++ iselect-1.3.1/iselect_help.txt @@ -18,6 +18,7 @@ RETURN ........ Select line and exit CURSOR-RIGHT .. Select line and exit SPACE ......... Select line and stay (multi-line mode only) + C ............. Clear current marks (multi-line mode only) Others: q ............. Quit (exit without selection) --- iselect-1.3.1.orig/iselect_help.c +++ iselect-1.3.1/iselect_help.c @@ -23,6 +23,7 @@ char *iSelect_Help[] = {\ " RETURN ........ Select line and exit", " CURSOR-RIGHT .. Select line and exit", " SPACE ......... Select line and stay (multi-line mode only)", +" C ............. Clear current marks (multi-line mode only)", "", " Others:", " q ............. Quit (exit without selection)", debian/patches/fix-ncurses-include-path.diff0000644000000000000000000000107012170621062016263 0ustar Fixes the include path for the ncurses header files. --- iselect-1.3.1.orig/iselect_keys.c +++ iselect-1.3.1/iselect_keys.c @@ -36,7 +36,7 @@ #include #include #ifdef USE_NCURSES -#include +#include #endif #ifdef USE_SLCURSES #include --- iselect-1.3.1.orig/iselect_browse.c +++ iselect-1.3.1/iselect_browse.c @@ -36,7 +36,7 @@ #include #include #ifdef USE_NCURSES -#include +#include #endif #ifdef USE_SLCURSES #include debian/patches/fix-perl-shebang-and-other-paths.diff0000644000000000000000000000327612170621062017603 0ustar This patch fixes the perl shebang and others path in the upstream's examples. --- iselect-1.3.1.orig/example/gotourl/gotourl +++ iselect-1.3.1/example/gotourl/gotourl @@ -1,4 +1,4 @@ -#!/sw/bin/perl +#!/usr/bin/perl ## ## GotoURL -- go to a particular URL ## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. --- iselect-1.3.1.orig/example/gotourl/dot.gotourlrc +++ iselect-1.3.1/example/gotourl/dot.gotourlrc @@ -4,8 +4,8 @@ ^ftp://.+/$ cftp %U ^ftp://.+[^/]$ lftp %U -^(http|ftp)://.+ /usr/local/bin/lynx %U -^(http|ftp)://.+ /usr/local/bin/netscape -remote 'openURL(%U)' +^(http|ftp)://.+ www-browser %U +^(http|ftp)://.+ x-www-browser -remote 'openURL(%U)' ^(http|ftp)://.+[^/]$ fetch %U ##EOF## --- iselect-1.3.1.orig/example/ilogin/ilogin +++ iselect-1.3.1/example/ilogin/ilogin @@ -1,4 +1,4 @@ -#!/sw/bin/perl +#!/usr/bin/perl ## ## iLogin -- interactive login ## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. --- iselect-1.3.1.orig/example/scvs/scvs +++ iselect-1.3.1/example/scvs/scvs @@ -1,4 +1,4 @@ -#!/sw/bin/perl +#!/usr/bin/perl ## ## sCVS -- Switch CVS Repository ## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. --- iselect-1.3.1.orig/example/melm/melm +++ iselect-1.3.1/example/melm/melm @@ -1,4 +1,4 @@ -#!/sw/bin/perl +#!/usr/bin/perl ## ## MetaELM -- ELM frontend ## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved. --- iselect-1.3.1.orig/example/mtin/mtin +++ iselect-1.3.1/example/mtin/mtin @@ -1,4 +1,4 @@ -#!/sw/bin/perl +#!/usr/bin/perl ## ## MetaTIN -- a TIN frontend for better USENET NetNews reading ## Copyright (c) 1996-1997 Ralf S. Engelschall, All Rights Reserved. debian/patches/series0000644000000000000000000000023112170625064012031 0ustar fix-ncurses-include-path.diff fix-perl-shebang-and-other-paths.diff changes-on-examples.diff debian-changes-as-of-1.3.1-3 properly-pass-build-flags.diff debian/patches/properly-pass-build-flags.diff0000644000000000000000000000100712170626431016456 0ustar Description: Properly pass build flags in Makefile Author: Axel Beckert Index: iselect/Makefile.in =================================================================== --- iselect.orig/Makefile.in 2013-07-15 00:54:51.410561645 +0200 +++ iselect/Makefile.in 2013-07-15 00:55:01.050586858 +0200 @@ -9,8 +9,9 @@ # compiler tools CC = @CC@ -CFLAGS = @CFLAGS@ -I. -LDFLAGS = @LDFLAGS@ +CFLAGS ?= @CFLAGS@ -I. +CFLAGS += $(CPPFLAGS) +LDFLAGS ?= @LDFLAGS@ LIBS = @LIBS@ debug = @debug@ debian/rules0000755000000000000000000000104212170624615010247 0ustar #!/usr/bin/make -f # Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ --with autoreconf override_dh_autoreconf: mkdir -p debian/backup mv -v iselect.1 config_ac.h.in configure debian/backup/ dh_autoreconf override_dh_clean: -mv -vf debian/backup/* ./ dh_clean override_dh_auto_install: dh_auto_install -- prefix=debian/iselect/usr mandir='$${prefix}/share/man' override_dh_compress: dh_compress -Xgotourl -Xilogin -Xmelm -Xmtin -Xscvs debian/screen-ir0000755000000000000000000000113612170621062011001 0ustar #!/bin/sh # Reattaches to screen sessions interactively # Copyright (C) 2011, Axel Beckert # License: GPLv2+ if ! which screen > /dev/null 2>&1; then echo "screen not found in" "$PATH" exit 1 fi SCREEN_OPTIONS="-r" ISELECT_OPTIONS="" test -f ${HOME}/.screen-irrc && . ${HOME}/.screen-irrc SELECTION=$( \ screen -ls | \ sed -e 's/[ \t][ \t]*/ /g;' | \ egrep '^ [0-9]' | \ sed -e 's/^ //' | \ iselect -a -t "Select screen session to reattach" $ISELECT_OPTIONS | \ awk -F. '{print $1}' \ ) test -n "$SELECTION" && screen $SCREEN_OPTIONS "$@" "$SELECTION" debian/screen-ir.10000644000000000000000000000235712170621062011143 0ustar .TH SCREEN-IR 1 "2011-09-04" "EN" "Axel Beckert" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" screen-ir \-\- Interactively Reattach to GNU Screen sessions .SH "SYNOPSIS" \&\fBscreen-ir\fR [\fIadditional screen options\fR ...] .SH "DESCRIPTION" screen-ir uses iSelect(1) to interactively reattach to running screen sessions. .PP Use the screen option \fB-d\fR or \fB-D\fR if you want to reattach to attached screen sessions. .PP Use the screen option \fB-x\fR if you want to attach to screen sessions without detaching them. .SH "FILES" \fBscreen-ir\fR sources \fB~/.screen-irrc\fR if it exists. It recognizes two variables: .PP The contents of \fISCREEN_OPTIONS\fR is given to screen(1) as command-line options. Default is \fB-r\fR. Use e.g. \fB-rd\fR if you always want to reattach to already attached screen sessions. .PP The contents of \fIISELECT_OPTIONS\fR is given to iselect(1) as command-line options. Default is empty. Use e.g. \fB-f\fR if you always want to see the interactive selection, even if there's only one screen session running, i.e. you have no choice. .SH "AUTHOR" Axel Beckert .SH "SEE ALSO" screen(1), iselect(1) debian/source/0000755000000000000000000000000012170621062010463 5ustar debian/source/format0000644000000000000000000000001412170621062011671 0ustar 3.0 (quilt) debian/backup/0000755000000000000000000000000012170626750010441 5ustar debian/examples0000644000000000000000000000001212170622175010723 0ustar example/* debian/docs0000644000000000000000000000000712170622217010036 0ustar README debian/manpages0000644000000000000000000000002312170622244010677 0ustar debian/screen-ir.1 debian/install0000644000000000000000000000003012170622742010553 0ustar debian/screen-ir usr/bindebian/watch0000644000000000000000000000026212170630250010213 0ustar # watch control file for uscan version=3 ftp://ftp.ossp.org/pkg/tool/iselect/iselect-(.*).tar.gz debian uupdate http://ftp.ossp.org/pkg/tool/iselect/ .*/iselect-(\d.*)\.tar\.gz debian/changelog0000644000000000000000000002114012170630250011032 0ustar iselect (1.4.0-2) unstable; urgency=low * Apply wrap-and-sort * Bump debhelper compatibility to 9 + Update versioned debhelper build-dependency accordingly * Bump Standards-Version to 3.9.4 (no changes) * Revamp debian/rules: + Remove conditional around dh_strip, dh_strip does that itself + Remove dh_installchangelogs parameter -- no more necessary + Use debian/{doc,example,manpage}s instead of dh_* parameters + Use "dh_prep" instead of "dh_clean -k". (Fixes lintian warning dh-clean-k-is-deprecated.) + Use dh_install + debian/install instead of calling install directly + No more manually clean up stamp files, dh_clean does that now. + Use dh_auto_{configure,build,install,clean} + Hardcode package name instead of using $(package) + Finally switch to a dh7 style debian/rules file * Add patch to properly pass build flags. (Fixes lintian warnings hardening-no-relro and hardening-no-fortify-functions.) * Add URL with http to watch file as alternative. -- Axel Beckert Mon, 15 Jul 2013 01:03:18 +0200 iselect (1.4.0-1) unstable; urgency=low * New maintainer * Bump Standards-Version to 3.9.2 + Move homepage URL from long description to Homepage field. (Closes: #615347) * Bump Debhelper compatibility to 5 * Update debian/copyright + Complete list of previous Debian maintainers + Fix lintian warning copyright-refers-to-symlink-license + Replace "Debian GNU/Linux" with "Debian" * Fix further lintian warnings + description-synopsis-starts-with-article + debhelper-but-no-misc-depends + debian-rules-ignores-make-clean-error + debian-rules-missing-recommended-target * Switch to source format "3.0 (quilt)" (local-options: unapply-patches and abort-on-upstream-changes) + Split up changes from .diff.gz into patches by patch function * Add Vcs-* headers * Change hardcoded browsers in gotourl example into www-browser and x-www-browser * Add script "screen-ir" to reattach to screen sessions interactively (Closes: #176626) * Overhaul short and long package description * New upstream version (Closes: #470755) + Remove patch against iselect.pod, applied upstream + Remove patch against iselect.1, instead generate it on build time - Add perl (contains pod2man) to build dependencies + Remove changes generated by running autoconf and use dh_autoreconf instead - Add dh-autoreconf to build dependencies - Backup files which are being removed on "make distclean" before the build - Define mandir on "make install" instead on ./configure -- Axel Beckert Sun, 04 Sep 2011 05:31:50 +0200 iselect (1.3.1-3) unstable; urgency=low * Remove me from Maintainers. * Handle nostrip build option (Closes: #437234). -- root Wed, 23 Jan 2008 22:54:15 +0000 iselect (1.3.1-2) unstable; urgency=low * New maintainers. * Updated debian/watch to version=3. -- Luk Claes Sat, 30 Sep 2006 12:12:08 +0200 iselect (1.3.1-1) unstable; urgency=low * New upstream release. Closes: #273787 * Modify configure and header files to search for ncurses.h instead of ncurses/ncurses.h. * debian/control: Bump Standards-Version: 3.7.2, no changes needed * Set debian/compat to 4. * Avoid timestamp skews with configure and config_ac.h.in. -- Denis Barbier Mon, 14 Aug 2006 17:32:53 +0200 iselect (1.2.0-12) unstable; urgency=low * Fix typos in iselect.1 manual page. Closes: #301887 Thanks, A Costa. * debian/control: Add Homepage to the desription. * debian/copyright: Update project homepage. -- Denis Barbier Sun, 10 Apr 2005 22:15:15 +0200 iselect (1.2.0-11) unstable; urgency=low * Bold markers were not removed when computing line length, and thus lines were wrongly truncated. Closes: #283620 Thanks, A Costa. * debian/control: Update URL to http://www.ossp.org/pkg/tool/iselect/ * debian/watch: Update URL and convert to new format. -- Denis Barbier Sun, 5 Dec 2004 22:51:24 +0100 iselect (1.2.0-10) unstable; urgency=low * Recognize the --delimiter flag as an alias for -d, it is documented and thus should be defined. Closes: #282577 Thanks, A Costa. -- Denis Barbier Wed, 24 Nov 2004 00:14:44 +0100 iselect (1.2.0-9) unstable; urgency=low * Remove all fixed size buffers. Closes: Bug#219269 Thanks Philipp Meier. -- Denis Barbier Wed, 5 Nov 2003 22:01:10 +0100 iselect (1.2.0-8) unstable; urgency=low * Activate navigation keys when displaying help or readme pages (Closes: Bug#208186) Thanks Helge Kreutzmann * Bump Standards-Version: 3.6.1, no changes needed -- Denis Barbier Sat, 13 Sep 2003 22:21:03 +0200 iselect (1.2.0-7) unstable; urgency=low * Remove spurious quotes from iselect.1 man page. Closes: Bug#207589 Thanks Dan Jacobson. -- Denis Barbier Sat, 30 Aug 2003 18:46:58 +0200 iselect (1.2.0-6) unstable; urgency=low * example/scvs/scvs: Replace File::PathConvert by File::Spec -- Denis Barbier Wed, 9 Oct 2002 23:59:05 +0200 iselect (1.2.0-5) unstable; urgency=low * New maintainer (closes: Bug#119088). * Prevent crash with empty input (closes: Bug#81159). * Make /usr/share/doc/iselect/examples/scvs/scvs work with Term::ANSIColor instead of Term::Cap, and another fix was applied to deal with new versions of File::PathConvert (closes: Bug#98547). * Add a keystroke to clear marks (closes: Bug#63156). * Upgraded to standards version 3.5.6 * Remove Emacs crap from debian/changelog -- Denis Barbier Mon, 17 Dec 2001 00:02:42 +0100 iselect (1.2.0-4) unstable; urgency=low * Upgraded to standards version 3.2.1 -- Brian Bassett Fri, 29 Sep 2000 11:26:16 -0700 iselect (1.2.0-3) unstable; urgency=low * New maintainer. -- Brian Bassett Wed, 1 Dec 1999 11:54:48 -0800 iselect (1.2.0-2) unstable; urgency=low * Partially upgraded to standards version 3.0.1: - Updated copyright to point to /usr/share/common-licenses - Put man page under /usr/share/man (closes: Bug#42325). * [debian/control]: Suggests: perl5, libtimedate-perl. Thanks to Lintian's suggestions. :-) -- Anthony Fok Wed, 25 Aug 1999 07:32:08 -0600 iselect (1.2.0-1) unstable; urgency=low * New upstream release. * Upgraded to standards version 2.5.0 (no changes). -- Anthony Fok Thu, 15 Apr 1999 00:16:03 -0600 iselect (1.1.0-2) frozen unstable; urgency=low * [debian/control]: Changed the short package description from "Interactive Selection Tool" to "An interactive line selection tool for ASCII files", thanks to the suggestion by Chris Fearnley . -- Anthony Fok Mon, 26 Oct 1998 00:42:32 -0700 iselect (1.1.0-1) unstable; urgency=low * New upstream release. * [./etc/asc2c]: Changed "#!/sw/bin/perl" to "#!/usr/bin/perl". * [debian/copyright]: Added "1998". :-) -- Anthony Fok Wed, 17 Jun 1998 09:19:29 -0600 iselect (1.0.4-3) frozen unstable; urgency=low * debian/rules - Removed dh_du. (Fixed Lintian error: unknown-control-file du) - Added a hack so that the example perl scripts are not compressed. (Fixed Lintian warnings: executable-not-elf-or-script usr/doc/iselect/examples/mtin/mtin.gz executable-not-elf-or-script usr/doc/iselect/examples/scvs/scvs.gz) * Upgraded to standards version 2.4.1.0 (no changes). -- Anthony Fok Mon, 11 May 1998 05:02:00 -0600 iselect (1.0.4-2) unstable; urgency=low * /usr/doc/iselect/copyright now refers to the uncompressed versions of GPL and Artistic copyright files. (Thanks to the Lintian Report!) -- Anthony Fok Tue, 10 Feb 1998 01:02:31 -0700 iselect (1.0.4-1) unstable; urgency=low * New upstream release. * Patched various files in /usr/doc/iselect/examples to fix the path names for Debian. -- Anthony Fok Wed, 7 Jan 1998 17:30:00 -0700 iselect (1.0.3-2) unstable; urgency=low * /usr/doc/iselect/{INSTALL,PORTING,VERSIONS} are no longer installed. (Bug#16637) * Changed the first line from the non-existent #!/sw/bin/perl to #!/usr/bin/perl in various contributed iSelect tools under /usr/doc/iselect/contrib. -- Anthony Fok Mon, 5 Jan 1998 20:01:30 -0700 iselect (1.0.3-1) unstable; urgency=low * Initial Release. -- Anthony Fok Tue, 23 Dec 1997 04:24:44 -0700