debian/0000755000000000000000000000000012411616653007173 5ustar debian/compat0000644000000000000000000000000211721761326010372 0ustar 7 debian/rc.postinst0000644000000000000000000000015311721761326011404 0ustar #!/bin/sh set -e if [ "$1" = "configure" ] && [ -z "$2" ]; then add-shell /usr/bin/rc fi #DEBHELPER# debian/rc.menu0000644000000000000000000000013711721761326010467 0ustar ?package(rc):needs="text" section="Applications/Shells" \ title="rc" command="/usr/bin/rc" debian/control0000644000000000000000000000155612374352521010604 0ustar Source: rc Section: shells Priority: optional Maintainer: Jakub Wilk Standards-Version: 3.9.5 Build-Depends: debhelper (>= 7), dh-buildinfo, dpkg-dev (>= 1.15.7), autoconf, automake, byacc, libncurses5-dev, libreadline-dev, procps Homepage: http://tobold.org/article/rc XS-Testsuite: autopkgtest Package: rc Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Description: implementation of the AT&T Plan 9 shell rc is a command interpreter and programming language similar to sh(1). It is based on the AT&T Plan 9 shell of the same name. The shell offers a C-like syntax (much more so than the C shell), and a powerful mechanism for manipulating variables. It is reasonably small and reasonably fast, especially when compared to contemporary shells. Its use is intended to be interactive, but the language lends itself well to scripts. debian/patches/0000755000000000000000000000000012411615427010620 5ustar debian/patches/which-error-handling.diff0000644000000000000000000000065512411614524015470 0ustar Description: improve error handling in the which() function Author: Jakub Wilk Forwarded: yes Last-Update: 2014-02-06 --- a/which.c +++ b/which.c @@ -109,7 +109,11 @@ #endif if (ngroups) { gidset = ealloc(ngroups * sizeof(GETGROUPS_T)); - getgroups(ngroups, gidset); + ngroups = getgroups(ngroups, gidset); + if (ngroups < 0) { + uerror("getgroups"); + rc_exit(1); + } } #endif } debian/patches/series0000644000000000000000000000014712401576035012037 0ustar which-error-handling.diff panic-attribute-noreturn.diff trip-hide-envvars.diff manpage-typography.diff debian/patches/trip-hide-envvars.diff0000644000000000000000000000072712271732656015037 0ustar Description: hide environment variables from the test suite output It might not be desirable to expose environment variables in the build log. Hide them from the test suite output. Author: Jakub Wilk Forwarded: not-needed Last-Update: 2014-01-28 --- a/trip.rc +++ b/trip.rc @@ -287,7 +287,7 @@ whatis -s expect list of variables and functions -whatis +whatis > /dev/null submatch 'whatis -x' 'whatis: bad option: -x' 'bad option to whatis' debian/patches/manpage-typography.diff0000644000000000000000000002526612411615411015272 0ustar Description: improve typography in the manual page Author: Jakub Wilk Date: 2014-01-29 Forwarded: no Last-Update: 2014-01-29 --- a/rc.1 +++ b/rc.1 @@ -194,7 +194,7 @@ .Cr $* . Thus: .Ds -.Cr "rc -c 'echo $*' 1 2 3" +.Cr "rc \-c \(aqecho $*\(aq 1 2 3" .De .TP \& @@ -393,28 +393,28 @@ automatically terminate words. The following characters are special: .Ds -.Cr "# ; & | ^ $ = \` ' { } ( ) < >" +.Cr "# ; & | ^ $ = \` \(aq { } ( ) < >" .De .PP The single quote -.Rc ( ' ) +.Rc ( \(aq ) prevents special treatment of any character other than itself. All characters, including control characters, newlines, and backslashes between two quote characters are treated as an uninterpreted string. A quote character itself may be quoted by placing two quotes in a row. The minimal sequence needed to enter the quote character is -.Cr '''' . +.Cr \(aq\(aq\(aq\(aq . The empty string is represented by -.Cr '' . +.Cr \(aq\(aq . Thus: .Ds -.Cr "echo 'What''s the plan, Stan?'" +.Cr "echo \(aqWhat\(aq\(aqs the plan, Stan?\(aq" .De .PP prints out .Ds -.Cr "What's the plan, Stan?" +.Cr "What\(aqs the plan, Stan?" .De .PP The number sign @@ -427,9 +427,9 @@ the backslash is ignored along with everything else. .SS Grouping Zero or more commands may be grouped within braces -.Rc (`` { '' +.Rc (\(lq { \(rq and -.Rc `` } ''), +.Rc \(lq } \(rq), and are then treated as one command. Braces do not otherwise define scope; they are used only for command grouping. @@ -532,11 +532,11 @@ .PP If the file does not exist, then it is created. .PP -``Here documents'' are supported as in +\(lqHere documents\(rq are supported as in .I sh with the use of .Ds -.Cr "command << 'eof-marker'" +.Cr "command << \(aqeof-marker\(aq" .De .PP Subsequent lines form the standard input of @@ -567,11 +567,11 @@ .PP Additionally, .I rc -supports ``here strings'', which are like here documents, +supports \(lqhere strings\(rq, which are like here documents, except that input is taken directly from a string on the command line. Their use is illustrated here: .Ds -.Cr "cat <<< 'this is a here string' | wc" +.Cr "cat <<< \(aqthis is a here string\(aq | wc" .De .PP (This feature enables @@ -643,7 +643,7 @@ .IR tee (1) and the output version of this notation: .Ds -.Cr "echo hi there | tee >{sed 's/^/p1 /'} >{sed 's/^/p2 /'}" +.Cr "echo hi there | tee >{sed \(aqs/^/p1 /\(aq} >{sed \(aqs/^/p2 /\(aq}" .De .SH "CONTROL STRUCTURES" The following may be used for control flow in @@ -693,8 +693,8 @@ (which may contain variables and backquote substitutions) and runs .IR cmd . If -.Rc `` in -.IR list '' +.Rc \(lq in +.IR list \(rq is omitted, then .I rc will set @@ -703,7 +703,7 @@ .Cr $* . For example: .Ds -.Cr "for (i in \`{ls -F | grep '\e*$' | sed 's/\e*$//'}) { commands }" +.Cr "for (i in \`{ls \-F | grep \(aq\e*$\(aq | sed \(aqs/\e*$//\(aq}) { commands }" .De .TP \& @@ -747,13 +747,13 @@ .De .PP executes the first command and then executes the second command if and only if -the first command exits with a zero exit status (``true'' in Unix). +the first command exits with a zero exit status (\(lqtrue\(rq in Unix). .Ds .Cr "command || command" .De .PP executes the first command and then executes the second command if and only if -the first command exits with a nonzero exit status (``false'' in Unix). +the first command exits with a nonzero exit status (\(lqfalse\(rq in Unix). .Ds .Cr "! command" .De @@ -783,7 +783,7 @@ literally in the input. Thus, .Ds -.Cr "foo='*'" +.Cr "foo=\(aq*\(aq" .Cr "echo $foo" .De .PP @@ -907,14 +907,14 @@ .De .PP Note that the null string, -.Cr "''" , +.Cr "\(aq\(aq" , and the null list, .Cr "()" , are two very different things. Assigning the null string to a variable is a valid operation, but it does not remove its definition. .Ds -.Cr "null = '' empty = () echo $#null $#empty" +.Cr "null = \(aq\(aq empty = () echo $#null $#empty" .De .PP produces the output @@ -968,7 +968,7 @@ .PP .I rc takes care to insert a free-caret between the -.Rc `` \- '' +.Rc \(lq \- \(rq and .Cr "$opts" , as well @@ -1031,7 +1031,7 @@ .Ic var =() .De .PP -For ``free careting'' to work correctly, +For \(lqfree careting\(rq to work correctly, .I rc must make certain assumptions about what characters may appear in a variable name. @@ -1045,7 +1045,7 @@ characters in its name, quote the variable name. Thus: .Ds -.Cr "echo $'we$Ird:Variab!le'" +.Cr "echo $\(aqwe$Ird:Variab!le\(aq" .De .SS "Local Variables" Any number of variable assignments may be made local to a single @@ -1112,7 +1112,7 @@ .IR rc 's list operations: .Ds -.Cr "$var(\`{awk 'BEGIN{for(i=1;i<=10;i++)print i;exit; }'})" +.Cr "$var(\`{awk \(aqBEGIN{for(i=1;i<=10;i++)print i;exit; }\(aq})" .De .PP returns the first 10 elements of @@ -1201,13 +1201,13 @@ Several variables are known to .I rc and are treated specially. -In the following list, ``default'' indicates that +In the following list, \(lqdefault\(rq indicates that .I rc -gives the variable a default value on startup; ``no-export'' indicates -that the variable is never exported; and ``read-only'' indicates that +gives the variable a default value on startup; \(lqno-export\(rq indicates +that the variable is never exported; and \(lqread-only\(rq indicates that an attempt to set the variable will silently have no effect. .PP -Also, ``alias'' means that the variable is aliased to the same name in +Also, \(lqalias\(rq means that the variable is aliased to the same name in capitals. For example, an assignment to .Cr $cdpath @@ -1293,7 +1293,7 @@ \& whereas .Ds -.Cr "x=`{echo foo |grep bar}; whatis bqstatus" +.Cr "x=\`{echo foo |grep bar}; whatis bqstatus" .De .TP \& @@ -1380,7 +1380,7 @@ sets .Cr $prompt to -.Cr "('; ' '')" +.Cr "(\(aq; \(aq \(aq\(aq)" by default. The reason for this is that it enables an .I rc @@ -1413,7 +1413,7 @@ If the command exited with a numeric value, that number is the status. If the command died with a signal, the status is the name of that signal; if a core file was created, the string -.Rc `` +core '' +.Rc \(lq +core \(rq is appended. The value of .Cr $status @@ -1474,12 +1474,12 @@ .IR ls (1), could be: .Ds -.Cr "fn l { ls -FC $* }" +.Cr "fn l { ls \-FC $* }" .De .PP but not .Ds -.Cr "fn l { ls -FC } # WRONG" +.Cr "fn l { ls \-FC } # WRONG" .De .SH "INTERRUPTS AND SIGNALS" .I rc @@ -1568,7 +1568,7 @@ .De .TP \& -does the ``right thing''. +does the \(lqright thing\(rq. .TP .B break Breaks from the innermost @@ -1592,7 +1592,7 @@ same names as builtins to use the underlying builtin or binary. For example: .Ds -.Cr "fn ls { builtin ls -FC $* }" +.Cr "fn ls { builtin ls \-FC $* }" .De .TP \& @@ -1600,7 +1600,7 @@ .Cr ls (1), whereas .Ds -.Cr "fn ls { ls -FC $* } # WRONG" +.Cr "fn ls { ls \-FC $* } # WRONG" .De .TP \& @@ -1701,7 +1701,7 @@ disables core dumps. To set a soft limit equal to the hard limit: .Ds -.Cr "limit `{limit -h datasize}" +.Cr "limit \`{limit \-h datasize}" .De .TP .B newpgrp @@ -1787,7 +1787,7 @@ Without arguments, .Cr whatis is equivalent to -.Cr "whatis -fv" , +.Cr "whatis \-fv" , and prints the values of all shell variables and functions. .TP \& @@ -1803,7 +1803,7 @@ .Cr . command. Another note: -.Cr "whatis -s > file" +.Cr "whatis \-s > file" cannot be used to store the state of .IR rc 's signal handlers in a file, because builtins with redirections @@ -1859,9 +1859,9 @@ .Cr "fn lflat {" .Cr " lflat=$*; *=$$1" .Cr " while () {" -.Cr " echo -n $1; shift" +.Cr " echo \-n $1; shift" .Cr " ~ $#* 0 && break" -.Cr " echo -n $lflat(2)" +.Cr " echo \-n $lflat(2)" .Cr "}" .De .PP @@ -1900,11 +1900,11 @@ %term ANDAND BACKBACK BANG CASE COUNT DUP ELSE END FLAT FN FOR IF IN %term OROR PIPE REDIR SUB SUBSHELL SWITCH TWIDDLE WHILE WORD HUH -%left WHILE ')' ELSE -%left ANDAND OROR '\en' +%left WHILE \(aq)\(aq ELSE +%left ANDAND OROR \(aq\en\(aq %left BANG SUBSHELL %left PIPE -%right '$' +%right \(aq$\(aq %left SUB %start rc @@ -1914,27 +1914,27 @@ rc: line end | error end -end: END /* EOF */ | '\en' +end: END /* EOF */ | \(aq\en\(aq -cmdsa: cmd ';' | cmd '&' +cmdsa: cmd \(aq;\(aq | cmd \(aq&\(aq line: cmd | cmdsa line body: cmd | cmdsan body -cmdsan: cmdsa | cmd '\en' +cmdsan: cmdsa | cmd \(aq\en\(aq -brace: '{' body '}' +brace: \(aq{\(aq body \(aq}\(aq -paren: '(' body ')' +paren: \(aq(\(aq body \(aq)\(aq -assign: first '=' word +assign: first \(aq=\(aq word epilog: /* empty */ | redir epilog redir: DUP | REDIR word -case: CASE words ';' | CASE words '\en' +case: CASE words \(aq;\(aq | CASE words \(aq\en\(aq cbody: cmd | case cbody | cmdsan cbody @@ -1945,10 +1945,10 @@ | simple | brace epilog | IF paren optnl iftail - | FOR '(' word IN words ')' optnl cmd - | FOR '(' word ')' optnl cmd + | FOR \(aq(\(aq word IN words \(aq)\(aq optnl cmd + | FOR \(aq(\(aq word \(aq)\(aq optnl cmd | WHILE paren optnl cmd - | SWITCH '(' word ')' optnl '{' cbody '}' + | SWITCH \(aq(\(aq word \(aq)\(aq optnl \(aq{\(aq cbody \(aq}\(aq | TWIDDLE optcaret word words | cmd ANDAND optnl cmd | cmd OROR optnl cmd @@ -1960,24 +1960,24 @@ | FN words brace | FN words -optcaret: /* empty */ | '^' +optcaret: /* empty */ | \(aq^\(aq simple: first | simple word | simple redir -first: comword | first '^' sword +first: comword | first \(aq^\(aq sword sword: comword | keyword -word: sword | word '^' sword +word: sword | word \(aq^\(aq sword -comword: '$' sword - | '$' sword SUB words ')' +comword: \(aq$\(aq sword + | \(aq$\(aq sword SUB words \(aq)\(aq | COUNT sword | FLAT sword - | '`' sword - | '`' brace + | \(aq\`\(aq sword + | \(aq\`\(aq brace | BACKBACK word brace | BACKBACK word sword - | '(' words ')' + | \(aq(\(aq words \(aq)\(aq | REDIR brace | WORD @@ -1986,7 +1986,7 @@ words: /* empty */ | words word -optnl: /* empty */ | optnl '\en' +optnl: /* empty */ | optnl \(aq\en\(aq .ft R .De .SH FILES @@ -2045,7 +2045,7 @@ expression are a syntax error. Thus, this code is illegal. .Ds -.Cr "while ((~ $1 -*) && (! ~ $1 --)) { ..." +.Cr "while ((~ $1 \-*) && (! ~ $1 \-\-)) { ..." .De .TP The redundant inner parentheses must be omitted. @@ -2060,8 +2060,8 @@ consecutive occurrences of the separator are treated the same as a single occurrence. .Ds -.Cr "ifs=! { x = `{echo -n a!!b}; whatis x }" -.Cr "x=(a b) # NOT x=(a '' b)" +.Cr "ifs=! { x = \`{echo -n a!!b}; whatis x }" +.Cr "x=(a b) # NOT x=(a \(aq\(aq b)" .PP Bug reports should be mailed to .Cr "" . @@ -2145,7 +2145,7 @@ to the name of a function being executed/file being sourced. .SH "SEE ALSO" -``rc \(em A Shell for Plan 9 and UNIX Systems'', +\(lqrc \(em A Shell for Plan 9 and UNIX Systems\(rq, Unix Research System, Tenth Edition, Volume 2. (Saunders College Publishing) debian/patches/panic-attribute-noreturn.diff0000644000000000000000000000116612411614527016423 0ustar Description: mark panic() with attribute noreturn Mark the panic() function with attribute noreturn. . This is to avoid false-positive warning: ../open.c:24:13: warning: array subscript is above array bounds [-Warray-bounds] Author: Jakub Wilk Forwarded: not-needed Last-Update: 2012-06-09 --- a/rc.h +++ b/rc.h @@ -379,7 +379,11 @@ extern int mvfd(int, int); extern int starstrcmp(const void *, const void *); extern void pr_error(char *, int); -extern void panic(char *); +extern void panic(char *) +#ifdef __GNUC__ +__attribute__((noreturn)) +#endif +; extern void uerror(char *); /* wait.c */ debian/copyright0000644000000000000000000000273012411616305011122 0ustar This is the Debian GNU/Linux prepackaged version of the rc shell. rc was written by Byron Rakitzis, and is currently maintained by Toby Goodwin . The package was downloaded from . This package was maintained by: - Dale Scheetz (1998-1999); - Decklin Foster (2000-2006); - Jakub Wilk (since 2011). License: Copyright 1991, 2001, 2002, 2003, 2014 Byron Rakitzis. This software is not subject to any license of the American Telephone and Telegraph Company or of the Regents of the University of California. Permission is granted to anyone to use this software for any purpose on any computer system, and to alter it and redistribute it freely, subject to the following restrictions: 1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from flaws in it. 2. The origin of this software must not be misrepresented, either by explicit claim or by omission. Since few users ever read sources, credits must appear in the documentation. 3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. Since few users ever read sources, credits must appear in the documentation. 4. This notice may not be removed or altered. [this copyright notice is adapted from Henry Spencer's "awf" copyright notice.] debian/rc.docs0000644000000000000000000000003511721761326010450 0ustar AUTHORS EXAMPLES NEWS README debian/watch0000644000000000000000000000016712401572572010230 0ustar version=3 opts="uversionmangle=s/(?<=[0-9])b/~b/" \ ftp://ftp.sys.utoronto.ca/pub/rc/ rc-([0-9][.0-9a-z-]+)[.]tar[.]gz debian/changelog0000644000000000000000000002252212411616653011050 0ustar rc (1.7.2-1) unstable; urgency=low * New upstream release. + Support quoting for filename completion in GNU readline (closes: #432899). Thanks to Raf Czlonka for the bug report. + Fix quoting of glob characters. + Allow $"x as a synonym for $^x. * Drop patches that were applied upstream: - aclocal-quoting.diff - configure-modernize-ac-init-automake.diff - trip-secure-tmp.diff - typos.diff * Update manpage-typography.diff. * Refresh other patches. * Update debian/rules to enable GNU Readline support. * Update debian/copyright. * Add Homepage field. * Add DEP-8 test that runs adequate(1) against the package. -- Jakub Wilk Sat, 27 Sep 2014 22:27:22 +0200 rc (1.7.1-5) unstable; urgency=low * Add patch (aclocal-quoting.diff) to fix underquoted calls to AC_DEFUN in acinclude.m4. * Add patch (configure-modernize-ac-init-automake.diff) to modernize the AM_INIT_AUTOMAKE call in the configure script. * Add “compile” to the list of ignored files in debian/source/options. * Add patch (panic-attribute-noreturn.diff) to mark the panic() function with attribute noreturn, in order to avoid false positive warnings about array bounds. * Build with -Werror=array-bounds. * Build with -fvisibility=hidden, in order to avoid false positive binary-file-built-without-LFS-support lintian tag. * Add patch (which-error-handling.diff) to improve error handling in the which() function. * Rebuild parse.c at build time. + Update debian/rules. + Add parse.c to the list of ignored files in debian/source/options. + Add byacc to Build-Depends. * Bump standards version to 3.9.5 (no changes needed). * Add patch (trip-secure-tmp.diff) to fix insecure use of /tmp in the test suite (closes: #737125, CVE-2014-1936). * Add patch (trip-hide-envvars.diff) to hide environment variables from the test suite output, so that they are not accidentally exposed in a build log. * Run tests at build time. + Update debian/rules. + Add procpc to Build-Depends. * Add DEP-8 tests. * Add patch (typos.diff) to fix a few spelling errors. * Add patch (manpage-typography.diff) to improve typography in the manual page. * Force gzip compression for .debian.tar. * Don't use dh_testdir; instead use target dependencies to ensure that debian/rules is run from the correct directory. * Run dh_clean as the first command in the clean target. * Use dh-buildinfo: + Update debian/rules. + Add the package to Build-Depends. -- Jakub Wilk Sun, 02 Feb 2014 23:15:42 +0100 rc (1.7.1-4) unstable; urgency=low * New maintainer (closes: #660508). Thanks to Decklin Foster for his past work. * Add ${misc:Depends} to Depends. * Rewrite debian/rules from scratch. + Pass --configure to the configure script only when cross-building. + Build out-of-tree. + Don't ignore ‘make distclean’ in the clean target; delete the whole build directory instead. + Don't pass --info-dir to the configure script, and don't call dh_installinfo, since there is no info documentation anyway. + Link using --as-needed, in order to avoid dependency on libtinfo. * Regerate autoconf files at build time: + Add build-dependency on autoconf, automake. + Add extend-diff-ignore to debian/source/options, to ignore regenerated files. + Update debian/rules. * Pass {C,CPP,LD}FLAGS acquired from dpkg-buildflags to the configure script: + Add build-dependency on dpkg-dev (>= 1.15.7), for dpkg-buildflags support. + Update debian/rules. * Bump debian/compat to 7. Bump build-dependency on debhelper to >= 7. * Remove debian/rc.dirs; it's not needed as upstream makefiles creates needed directories anyway. * Remove an article from the package synopsis. Re-wrap the long description. * Convert to source format 3.0 (quilt). + Add debian/source/format. * Bump standards version to 3.9.3. + Change menu sertion from “Apps/Shells” to “Applications/Shells”. * Don't ignore errors in maintainer scripts. * Don't hardcode paths to {add,remove}-shell in maintainer scripts. * Add watch file. * Rename debian/rc.copyright to debian/copyright. * Update the copyright file (closes: #367004). Thanks to Harri Haataja for the bug report. -- Jakub Wilk Fri, 24 Feb 2012 20:00:41 +0100 rc (1.7.1-3.1) unstable; urgency=low * Non-maintainer upload. * Build-depend on libreadline-dev instead of libreadline5-dev (closes: #553835). Thanks to Matthias Klose for the bug report. -- Jakub Wilk Sun, 07 Aug 2011 12:37:03 +0200 rc (1.7.1-3) unstable; urgency=low * Use add-shell and remove-shell. (Closes: #361547) * Bump Standards-Version to 3.6.2. -- Decklin Foster Tue, 11 Apr 2006 05:02:20 -0400 rc (1.7.1-2) unstable; urgency=low * Compile against libreadline5. * Remove period and leading capitalization from description in control file. -- Decklin Foster Sat, 25 Dec 2004 08:28:05 -0500 rc (1.7.1-1) unstable; urgency=low * New upstream release * Update to policy 3.6.1 and debhelper 4 -- Decklin Foster Sat, 20 Sep 2003 21:18:24 -0400 rc (1.7-1) unstable; urgency=low * New upstream release. 1.7 is finally done! -- Decklin Foster Fri, 21 Jun 2002 17:45:08 -0400 rc (1.6c7-1) unstable; urgency=low * New upstream release -- Decklin Foster Thu, 23 May 2002 15:25:46 -0400 rc (1.6c6-1) unstable; urgency=low * New upstream release -- Decklin Foster Sat, 9 Feb 2002 18:15:50 -0500 rc (1.6c5-1) unstable; urgency=low * New upstream release, another RC of rc (ha ha!) * Revert config.{sub,guess} stuff; these aren't even used upstream. -- Decklin Foster Thu, 22 Nov 2001 00:15:47 -0500 rc (1.6c4-1) unstable; urgency=low * New upstream release. This is a release candidate for rc 1.7, so file bugs if you got 'em. -- Decklin Foster Wed, 31 Oct 2001 17:08:33 -0500 rc (1.6b3-1) unstable; urgency=low * New upstream release: - Patches from #99603 and #80902 are now merged - Fixed premature exit and uninterruptible looping bugs - -I (noninteractive) option added, -V replaced with $version - Handling of ^A in lists improved * Fixed 'CFLAGS' typo in debian/rules * Use autotools-dev config.{sub,guess} files, and call ./configure with the proper architecture options. * Updated Standards-Version to 3.5.6 -- Decklin Foster Mon, 15 Oct 2001 20:25:50 -0400 rc (1.6b2-4) unstable; urgency=low * Updated to debhelper v3 and policy 3.5.4. - Since we're no longer using dh_installmanpages, history.1 (which documents an extra binary not included in the package) will not be installed. (Closes: #99603) - Added support for DEB_BUILD_OPTIONS. -- Decklin Foster Sat, 2 Jun 2001 16:17:52 -0400 rc (1.6b2-3) unstable; urgency=low * Applied patch to build on PPC (Closes: #80902) * debian/rules: added dh_testversion check. * install AUTHORS into /usr/share/doc/rc. -- Decklin Foster Wed, 3 Jan 2001 12:43:57 -0500 rc (1.6b2-2) unstable; urgency=low * Repackaged from scratch using debhelper. * Applied upstream patch for the "~ () '*'" bug (Closes: #62339) -- Decklin Foster Mon, 30 Oct 2000 01:29:38 -0500 rc (1.6b2-1) unstable; urgency=low * New upstream release. This incorporates the __va_copy patches, so they are no longer included in the Debian .diff.gz. * Incorporated menu file from /usr/lib/menu/default (Closes: #46611) * debian/control: added Build-Depends * debian/copyright: updated URL for upstream sources -- Decklin Foster Wed, 30 Aug 2000 11:25:06 -0400 rc (1.6-4) unstable; urgency=low * New maintainer * Recompile against libreadline4 (Closes: #65312) * Move /usr/doc/rc to /usr/share/doc/rc * Generate Section: and Priority: in control file * Fixed description field -- Decklin Foster Sun, 16 Jul 2000 12:51:20 -0500 rc (1.6-3) unstable; urgency=low * Now supply __va_copy macro when not present: fixes #41930 -- Dale Scheetz Thu, 19 Aug 1999 10:25:01 -0400 rc (1.6-2) unstable; urgency=low * Fixed rules clean target to remove .cach; fixes 41698 -- Dale Scheetz Wed, 21 Jul 1999 09:37:50 -0400 rc (1.6-1) unstable; urgency=low * New upstream source * Applied va_copy patch; fixes #28733 * build against glibc 2.1; fixes #34800 -- Dale Scheetz Mon, 19 Jul 1999 17:17:58 -0400 rc (1.5b6-1) unstable; urgency=low * New upstream source -- Dale Scheetz Mon, 17 May 1999 10:32:06 -0400 rc (1.5b5-1) unstable; urgency=low * New upstream source which fixes the "mksignal" bug: fixes 33506 -- Dale Scheetz Mon, 8 Mar 1999 15:20:50 -0500 rc (1.5b2-1) unstable; urgency=low * New maintainer release. * Compiled against libc6 2.0.7u-7 -- Dale Scheetz Wed, 2 Dec 1998 15:50:30 -0500 rc (1.5b2-0.1) unstable; urgency=low * Non-maintainer release * New upstream release * Compile with libc6 * New source format -- Mark Baker Mon, 17 Nov 1997 20:07:00 +0000 debian/source/0000755000000000000000000000000012330475724010475 5ustar debian/source/format0000644000000000000000000000001411721761326011702 0ustar 3.0 (quilt) debian/source/options0000644000000000000000000000063612330475724012120 0ustar compression = gzip extend-diff-ignore = "^INSTALL$" extend-diff-ignore = "^Makefile[.]in$" extend-diff-ignore = "^aclocal[.]m4$" extend-diff-ignore = "^compile$" extend-diff-ignore = "^config[.]h[.]in$" extend-diff-ignore = "^configure$" extend-diff-ignore = "^depcomp$" extend-diff-ignore = "^install-sh$" extend-diff-ignore = "^missing$" extend-diff-ignore = "^mkinstalldirs$" extend-diff-ignore = "^parse[.]c$" debian/rules0000755000000000000000000000311012401656166010250 0ustar #!/usr/bin/make -f DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) configure_flags = --build $(DEB_BUILD_GNU_TYPE) ifneq "$(DEB_BUILD_GNU_TYPE)" "$(DEB_HOST_GNU_TYPE)" configure_flags += --host $(DEB_HOST_GNU_TYPE) endif cflags = $(shell dpkg-buildflags --get CFLAGS) -Werror=array-bounds -fvisibility=hidden cppflags = $(shell dpkg-buildflags --get CPPFLAGS) ldflags = $(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed configure_flags += \ --prefix=/usr \ --mandir='$${prefix}/share/man' \ --with-edit=gnu \ --with-addon \ CFLAGS='$(cflags)' \ CPPFLAGS='$(cppflags)' \ LDFLAGS='$(ldflags)' \ autoconf-stamp: debian/control autoreconf -vfi touch $(@) obj/config.status: autoconf-stamp mkdir -p $(dir $@) cd obj && ../configure $(configure_flags) parse.output: byacc -v -o parse.c parse.y obj/build-stamp: obj/config.status parse.output $(MAKE) -C obj ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),) cd obj && ./rc -p < ../trip.rc endif touch $(@) .PHONY: build build-arch build-indep build build-arch: obj/build-stamp .PHONY: binary binary-arch binary-indep binary binary-arch: obj/build-stamp dh_testroot dh_prep $(MAKE) -C obj DESTDIR=../debian/rc install dh_installdocs dh_installmenu dh_installman dh_installchangelogs dh_link dh_strip dh_buildinfo dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb .PHONY: clean clean: dh_clean rm -rf obj/ autoconf-stamp rm -f parse.output .SECONDARY: .NOTPARALLEL: # vim:ts=4 sw=4 noet debian/rc.postrm0000644000000000000000000000013411721761326011044 0ustar #!/bin/sh set -e if [ "$1" = "remove" ]; then remove-shell /usr/bin/rc fi #DEBHELPER# debian/tests/0000755000000000000000000000000012327524104010330 5ustar debian/tests/tripping.pl0000644000000000000000000000063412271720251012523 0ustar #!/usr/bin/perl # Perl re-implementation of tripping.c use strict; use warnings; use Fcntl qw(F_GETFL F_SETFL O_NONBLOCK); my ($arg) = @ARGV; $arg //= ''; if ($arg =~ /^0/) { print "tr\0ue\n"; } elsif ($arg =~ /^a/) { print "a\001ab\002b\n"; } elsif ($arg =~ /^n/) { my $flags = fcntl(STDIN, F_GETFL, 0) or die $!; fcntl(STDIN, F_SETFL, $flags | O_NONBLOCK) or die $!; } # vim:ts=4 sw=4 et debian/tests/control0000644000000000000000000000014312323576636011746 0ustar Tests: tests Depends: rc, procps Restrictions: allow-stderr Tests: adequate Depends: rc, adequate debian/tests/adequate0000755000000000000000000000003712323576636012064 0ustar #!/bin/sh exec adequate rc >&2 debian/tests/tests0000755000000000000000000000021112271720312011407 0ustar #!/bin/sh set -e -u cp trip.rc "$ADTTMP/" cp debian/tests/tripping.pl "$ADTTMP/tripping" cd "$ADTTMP" chmod u+x tripping rc -p < trip.rc