diff options
Diffstat (limited to 'system/sash')
-rw-r--r-- | system/sash/README | 22 | ||||
-rw-r--r-- | system/sash/doinst.sh | 5 | ||||
-rw-r--r-- | system/sash/patches/sash-3.7-DESTDIR.patch | 13 | ||||
-rw-r--r-- | system/sash/patches/sash-3.7-cmd_chattr.c.patch | 12 | ||||
-rw-r--r-- | system/sash/patches/sash-plus-patches-3.7 | 342 | ||||
-rw-r--r-- | system/sash/sash.SlackBuild | 95 | ||||
-rw-r--r-- | system/sash/sash.info | 10 | ||||
-rw-r--r-- | system/sash/slack-desc | 19 |
8 files changed, 0 insertions, 518 deletions
diff --git a/system/sash/README b/system/sash/README deleted file mode 100644 index 27c4867a35..0000000000 --- a/system/sash/README +++ /dev/null @@ -1,22 +0,0 @@ -SASH - a stand-alone shell with many built-in commands - -The sash program is a stand-alone shell which is useful for recovering -from certain types of system failures. In particular, it was created -in order to cope with the problem of missing shared libraries or important -executables. - -Sash can execute external programs, as in any shell. There are no -restrictions on these commands, as the standard shell is used to execute -them if there are any non-wildcard meta-characters in the command. -More importantly, however, is that many of the standard system commands -are built-in to sash. - -This script applies the 'sash-plus-patches' command collection, which -adds the following commands: 'chroot' 'pivot_root' and 'losetup'. - -These functions actually provide interfaces to the respective Linux system -calls. They are specificly useful when sash is used as a shell in "initial -ramdisk" (initrd) environments. - -In addition, a simple shell variable expansion support has been added, e.g. -the variable "$(VAR)" is replaced by the content of the variable "VAR". diff --git a/system/sash/doinst.sh b/system/sash/doinst.sh deleted file mode 100644 index 04f7d604cd..0000000000 --- a/system/sash/doinst.sh +++ /dev/null @@ -1,5 +0,0 @@ -# Add sash to the shells if not there -if ! grep -q "/sash$" etc/shells ; then - echo "/bin/sash" >> etc/shells -fi - diff --git a/system/sash/patches/sash-3.7-DESTDIR.patch b/system/sash/patches/sash-3.7-DESTDIR.patch deleted file mode 100644 index ff9b438f20..0000000000 --- a/system/sash/patches/sash-3.7-DESTDIR.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Nur sash-3.7.orig/Makefile sash-3.7/Makefile ---- sash-3.7.orig/Makefile 2002-07-21 18:24:47.000000000 -0500 -+++ sash-3.7/Makefile 2007-08-22 15:53:41.717089132 -0500 -@@ -40,7 +40,7 @@ - rm -f $(OBJS) sash - - install: sash -- cp sash $(BINDIR)/sash -- cp sash.1 $(MANDIR)/sash.1 -+ cp sash $(DESTDIR)/$(BINDIR)/sash -+ cp sash.1 $(DESTDIR)/$(MANDIR)/sash.1 - - $(OBJS): sash.h diff --git a/system/sash/patches/sash-3.7-cmd_chattr.c.patch b/system/sash/patches/sash-3.7-cmd_chattr.c.patch deleted file mode 100644 index 11ee509338..0000000000 --- a/system/sash/patches/sash-3.7-cmd_chattr.c.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur sash-3.7.orig/cmd_chattr.c sash-3.7/cmd_chattr.c ---- sash-3.7.orig/cmd_chattr.c 2002-03-08 01:21:03.000000000 -0600 -+++ sash-3.7/cmd_chattr.c 2007-08-22 15:58:52.234784527 -0500 -@@ -12,7 +12,7 @@ - - #include <sys/ioctl.h> - #include <sys/types.h> --#include <linux/ext2_fs.h> -+#include <ext2fs/ext2_fs.h> - - #include "sash.h" - diff --git a/system/sash/patches/sash-plus-patches-3.7 b/system/sash/patches/sash-plus-patches-3.7 deleted file mode 100644 index 77d17df90c..0000000000 --- a/system/sash/patches/sash-plus-patches-3.7 +++ /dev/null @@ -1,342 +0,0 @@ -diff --unified --recursive --new-file sash-3.7/Makefile sash-3.7-fb/Makefile ---- sash-3.7/Makefile 2002-07-22 01:24:47.000000000 +0200 -+++ sash-3.7-fb/Makefile 2004-07-04 10:45:45.000000000 +0200 -@@ -3,12 +3,18 @@ - # - # The HAVE_GZIP definition adds the -gzip and -gunzip commands. - # The HAVE_LINUX_ATTR definition adds the -chattr and -lsattr commands. -+# The HAVE_LINUX_CHROOT definition adds the -chroot command. -+# The HAVE_LINUX_PIVOT definition adds the -pivot_root command. -+# The HAVE_LINUX_LOSETUP definition adds the -losetup command. - # The HAVE_LINUX_MOUNT definition makes -mount and -umount work on Linux. - # The HAVE_BSD_MOUNT definition makes -mount and -umount work on BSD. - # The MOUNT_TYPE definition sets the default file system type for -mount. - # - HAVE_GZIP = 1 - HAVE_LINUX_ATTR = 1 -+HAVE_LINUX_CHROOT = 1 -+HAVE_LINUX_LOSETUP = 1 -+HAVE_LINUX_PIVOT = 1 - HAVE_LINUX_MOUNT = 1 - HAVE_BSD_MOUNT = 0 - MOUNT_TYPE = '"ext3"' -@@ -17,6 +23,9 @@ - CFLAGS = -O3 -Wall -Wmissing-prototypes \ - -DHAVE_GZIP=$(HAVE_GZIP) \ - -DHAVE_LINUX_ATTR=$(HAVE_LINUX_ATTR) \ -+ -DHAVE_LINUX_CHROOT=$(HAVE_LINUX_CHROOT) \ -+ -DHAVE_LINUX_LOSETUP=$(HAVE_LINUX_LOSETUP) \ -+ -DHAVE_LINUX_PIVOT=$(HAVE_LINUX_PIVOT) \ - -DHAVE_LINUX_MOUNT=$(HAVE_LINUX_MOUNT) \ - -DHAVE_BSD_MOUNT=$(HAVE_BSD_MOUNT) \ - -DMOUNT_TYPE=$(MOUNT_TYPE) -diff --unified --recursive --new-file sash-3.7/cmds.c sash-3.7-fb/cmds.c ---- sash-3.7/cmds.c 2002-07-22 00:28:19.000000000 +0200 -+++ sash-3.7-fb/cmds.c 2004-07-04 10:45:45.000000000 +0200 -@@ -21,6 +21,16 @@ - #include <linux/fs.h> - #endif - -+/* Need to tell loop.h what the actual dev_t type is. */ -+#undef dev_t -+#if defined(__alpha) || (defined(__sparc__) && defined(__arch64__)) -+#define dev_t unsigned int -+#else -+#define dev_t unsigned short -+#endif -+#include <linux/loop.h> -+#undef dev_t -+#define dev_t dev_t - - void - do_echo(int argc, const char ** argv) -@@ -147,6 +157,28 @@ - } - - -+#if HAVE_LINUX_PIVOT -+ -+void -+do_pivot_root(int argc, const char ** argv) -+{ -+ if (pivot_root(argv[1], argv[2]) < 0) -+ perror(""); -+} -+ -+#endif -+ -+#if HAVE_LINUX_CHROOT -+ -+void -+do_chroot(int argc, const char ** argv) -+{ -+ if (chroot(argv[1]) < 0) -+ perror(""); -+} -+ -+#endif -+ - void - do_rmdir(int argc, const char ** argv) - { -@@ -1253,4 +1285,62 @@ - printf("Program \"%s\" not found in PATH\n", program); - } - -+#if HAVE_LINUX_LOSETUP -+ -+void -+do_losetup(int argc, const char ** argv) -+{ -+ int loopfd; -+ int targfd; -+ struct loop_info loopInfo; -+ -+ if (!strcmp(argv[1], "-d")) { -+ loopfd = open(argv[2], O_RDWR); -+ if (loopfd < 0) { -+ fprintf(stderr, "Error opening %s: %s\n", argv[2], -+ strerror(errno)); -+ return; -+ } -+ -+ if (ioctl(loopfd, LOOP_CLR_FD, 0)) { -+ fprintf(stderr, "Error unassociating device: %s\n", -+ strerror(errno)); -+ return; -+ } -+ } -+ -+ loopfd = open(argv[1], O_RDWR); -+ if (loopfd < 0) { -+ fprintf(stderr, "Error opening %s: %s\n", argv[1], -+ strerror(errno)); -+ return; -+ } -+ -+ targfd = open(argv[2], O_RDWR); -+ if (targfd < 0) { -+ fprintf(stderr, "Error opening %s: %s\n", argv[2], -+ strerror(errno)); -+ return; -+ } -+ -+ if (ioctl(loopfd, LOOP_SET_FD, targfd)) { -+ fprintf(stderr, "Error setting up loopback device: %s\n", -+ strerror(errno)); -+ return; -+ } -+ -+ memset(&loopInfo, 0, sizeof(loopInfo)); -+ strcpy(loopInfo.lo_name, argv[2]); -+ -+ if (ioctl(loopfd, LOOP_SET_STATUS, &loopInfo)) { -+ fprintf(stderr, "Error setting up loopback device: %s\n", -+ strerror(errno)); -+ return; -+ } -+ -+ return; -+} -+ -+#endif -+ - /* END CODE */ -diff --unified --recursive --new-file sash-3.7/sash.1 sash-3.7-fb/sash.1 ---- sash-3.7/sash.1 2004-01-14 06:04:50.000000000 +0100 -+++ sash-3.7-fb/sash.1 2004-07-04 10:45:45.000000000 +0200 -@@ -22,11 +22,11 @@ - These built-in commands are: - .PP - .nf -- -ar, -chattr, -chgrp, -chmod, -chown, -cmp, -cp, -- -dd, -echo, -ed, -grep, -file, -find, -gunzip, -- -gzip, -kill, -ln, -ls, -lsattr, -mkdir, -mknod, -- -more, -mount, -mv, -printenv, -pwd, -rm, -rmdir, -- -sum, -sync, -tar, -touch, -umount, -where -+ -ar, -chattr, -chgrp, -chmod, -chown, -chroot, -cmp, -+ -cp, -dd, -echo, -ed, -grep, -file, -find, -gunzip, -+ -gzip, -kill, -losetup, -ln, -ls, -lsattr, -mkdir, -+ -mknod, -more, -mount, -mv, -pivot_root, -printenv, -pwd, -+ -rm, -rmdir, -sum, -sync, -tar, -touch, -umount, -where - .fi - .PP - These commands are generally similar to the standard programs with similar -@@ -138,6 +138,13 @@ - can - either be a user name, or a decimal value. - .TP -+.B -chroot path -+Changes the root directory to that specified in -+.I path. -+This directory -+will be used for path names beginning with /. The root directory is -+inherited by all children of the current process. -+.TP - .B -cmp fileName1 fileName2 - Determines whether or not the specified file names have identical data. - This says that the files are links to each other, are different sizes, -@@ -312,6 +319,20 @@ - QUIT, KILL, TERM, STOP, CONT, USR1 or USR2. - If no signal is specified then SIGTERM is used. - .TP -+.B -losetup [-d] loopDev [file] -+Associates loopback devices with files on the system. If -+.I -d -+is not given, -+the loopback device -+.I loopDev -+is associated with -+.I file. -+If -+.I -d -+is given, -+.I loopDev -+is unassociated with the file it's currently configured for. -+.TP - .B -ln [-s] srcName ... destName - Links one or more files from the - .I srcName -@@ -388,6 +409,13 @@ - this fails because of the files being on different filesystems, - then copies and deletes are done instead. - .TP -+.B -pivot_root newRoot putOld -+Moves the root file system of the current process to the directory -+.I putOld -+and makes -+.I newRoot -+the new root file system of the current process. -+.TP - .B -printenv [name] - If - .I name -diff --unified --recursive --new-file sash-3.7/sash.c sash-3.7-fb/sash.c ---- sash-3.7/sash.c 2004-01-14 06:08:03.000000000 +0100 -+++ sash-3.7-fb/sash.c 2004-07-04 10:45:45.000000000 +0200 -@@ -15,7 +15,7 @@ - #include "sash.h" - - --static const char * const version = "3.7"; -+static const char * const version = "3.7-fb"; - - - /* -@@ -107,6 +107,14 @@ - "srcName ... destName" - }, - -+#ifdef HAVE_LINUX_CHROOT -+ { -+ "-chroot", do_chroot, 2, 2, -+ "change root file system", -+ "new_root_dir" -+ }, -+#endif -+ - { - "-dd", do_dd, 3, INFINITE_ARGS, - "Copy data between two files", -@@ -181,6 +189,14 @@ - "[-sig] pid ..." - }, - -+#ifdef HAVE_LINUX_LOSETUP -+ { -+ "-losetup", do_losetup, 3, 3, -+ "Associate a loopback device with a file", -+ "[-d] device\n -losetup device filename" -+ }, -+#endif -+ - { - "-ln", do_ln, 3, INFINITE_ARGS, - "Link one fileName to another", -@@ -237,6 +253,14 @@ - "srcName ... destName" - }, - -+#ifdef HAVE_LINUX_PIVOT -+ { -+ "-pivot_root", do_pivot_root, 3, 3, -+ "pivot the root file system", -+ "new_dir old_dir" -+ }, -+#endif -+ - { - "-printenv", do_printenv, 1, 2, - "Print environment variables", -@@ -383,6 +407,7 @@ - static void showPrompt(void); - static void usage(void); - static Alias * findAlias(const char * name); -+static void expandVariable(char * name); - - - /* -@@ -702,6 +727,11 @@ - } - - /* -+ * Expand simple environment variables -+ */ -+ while (strstr(cmd, "$(")) expandVariable((char *)cmd); -+ -+ /* - * Now look for the command in the builtin table, and execute - * the command if found. - */ -@@ -1275,4 +1305,29 @@ - exit(1); - } - -+/* -+ * Expand one environment variable: Syntax $(VAR) -+ */ -+static void -+expandVariable(char * cmd) -+{ -+ char tmp[CMD_LEN]; -+ char *cp; -+ char *ep; -+ -+ strcpy(tmp, cmd); -+ cp = strstr(tmp, "$("); -+ if (cp) { -+ *cp++ = '\0'; -+ strcpy(cmd, tmp); -+ ep = ++cp; -+ while (*ep && (*ep != ')')) ep++; -+ if (*ep == ')') *ep++ = '\0'; -+ cp = getenv(cp); -+ if (cp) strcat(cmd, cp); -+ strcat(cmd, ep); -+ } -+ return; -+} -+ - /* END CODE */ -diff --unified --recursive --new-file sash-3.7/sash.h sash-3.7-fb/sash.h ---- sash-3.7/sash.h 2002-07-22 00:05:17.000000000 +0200 -+++ sash-3.7-fb/sash.h 2004-07-04 10:45:45.000000000 +0200 -@@ -110,6 +110,18 @@ - extern void do_chattr(int argc, const char ** argv); - #endif - -+#if HAVE_LINUX_CHROOT -+extern void do_chroot(int argc, const char ** argv); -+#endif -+ -+#if HAVE_LINUX_LOSETUP -+extern void do_losetup(int argc, const char ** argv); -+#endif -+ -+#if HAVE_LINUX_PIVOT -+extern void do_pivot_root(int argc, const char ** argv); -+extern int pivot_root(const char *new_root, const char *put_old); -+#endif - - /* - * Global utility routines. diff --git a/system/sash/sash.SlackBuild b/system/sash/sash.SlackBuild deleted file mode 100644 index 942447d98d..0000000000 --- a/system/sash/sash.SlackBuild +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/sh - -# Slackware build script for the stand alone shell (sash) - -# Written by Menno Duursma <druiloor@zonnet.nl> -# Modified by Robby Workman of the SlackBuilds.org project - -# This program is free software. It comes without any warranty. -# Granted WTFPL, Version 2, as published by Sam Hocevar. See -# http://sam.zoy.org/wtfpl/COPYING for more details. - -PRGNAM=sash -VERSION=${VERSION:-3.7} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i486 ;; - arm*) ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e # Exit on most errors - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -chmod -R u+w,go+r-w,a-s . - -# The 'sash-plus-patches' patch adds support for _very_ useful features -# like env var expansion and the 'chroot' command: -# http://www.baiti.net/sash/ -patch -p1 --verbose < $CWD/patches/sash-plus-patches-3.7 - -# Apply the appropriate CFLAGS to the Makefile -sed -i "s/^CFLAGS = -O3/CFLAGS = $SLKCFLAGS/" Makefile - -# Let's make this thing support DESTDIR -patch -p1 --verbose < $CWD/patches/sash-3.7-DESTDIR.patch - -# Fix an include line in cmd_chattr.c -patch -p1 --verbose < $CWD/patches/sash-3.7-cmd_chattr.c.patch - -# Create target dirs -mkdir -p $PKG/bin $PKG/usr/man/man1 - -make -make install DESTDIR=$PKG - -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -( cd $PKG/usr/man - find . -type f -exec gzip -9 {} \; - for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -) - - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a CHANGES README $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/sash/sash.info b/system/sash/sash.info deleted file mode 100644 index d098f8783d..0000000000 --- a/system/sash/sash.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="sash" -VERSION="3.7" -HOMEPAGE="http://members.canb.auug.org.au/~dbell/programs/" -DOWNLOAD="http://members.canb.auug.org.au/~dbell/programs/sash-3.7.tar.gz" -MD5SUM="ee7c7ed5aad76599974d016a6f201ef4" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -MAINTAINER="Menno Duursma" -EMAIL="druiloor@zonnet.nl" -APPROVED="rworkman" diff --git a/system/sash/slack-desc b/system/sash/slack-desc deleted file mode 100644 index f379e97bc4..0000000000 --- a/system/sash/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -sash: sash (Stand Alone SHell) -sash: -sash: stand-alone shell is primarly useful for recovering from -sash: (certain types of) system failures. However (and more -sash: importantly), it can execute external programs, as a lot -sash: of standard system commands are built into it. -sash: -sash: SASH was written by David Bell -sash: -sash: -sash: |