Skip to content

Commit

Permalink
Merge branch 'release/20180422'
Browse files Browse the repository at this point in the history
  • Loading branch information
kusalananda committed Apr 22, 2018
2 parents 507245a + 3d21a07 commit 34f8d31
Show file tree
Hide file tree
Showing 17 changed files with 621 additions and 225 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ Makefile
autom4te.cache
config.log
config.status
release-checklist.txt
shell-toolbox-*.tar.gz
src/shell
22 changes: 22 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,25 @@ To install using GNU Stow under "$HOME/local":
stow shell-toolbox

Then make sure that "$HOME/local/bin" is in your "$PATH".

The following files will be installed unless the default installation
paths are modified:

<prefix>
|-- bin
| `-- shell
`-- share
|-- doc
| `-- shell-toolbox
| |-- LICENSE
| |-- NEWS
| |-- README
| |-- shell.md
| `-- shell.txt
`-- man
`-- man1
`-- shell.1

Caveat: If you run "make distclean", the generated manuals, which are
part of the distribution sources, will be removed. These won't be
rebuilt unless you have mandoc(1) installed.
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
SUBDIRS= src doc
EXTRA_DIST= LICENSE
dist_doc_DATA= LICENSE NEWS README
84 changes: 71 additions & 13 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
# PARTICULAR PURPOSE.

@SET_MAKE@

VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
Expand Down Expand Up @@ -91,7 +92,7 @@ am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(am__DIST_COMMON)
$(am__configure_deps) $(dist_doc_DATA) $(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
Expand Down Expand Up @@ -124,6 +125,35 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(docdir)"
DATA = $(dist_doc_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
Expand Down Expand Up @@ -154,7 +184,7 @@ CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/build/install-sh \
$(top_srcdir)/build/missing INSTALL README TODO \
$(top_srcdir)/build/missing INSTALL NEWS README TODO \
build/install-sh build/missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
Expand Down Expand Up @@ -222,7 +252,10 @@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANDOC = @MANDOC@
MANDOC_DOES_MARKDOWN = @MANDOC_DOES_MARKDOWN@
MKDIR_P = @MKDIR_P@
MKTEMP = @MKTEMP@
MKTEMP_TEMPLATE = @MKTEMP_TEMPLATE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
Expand Down Expand Up @@ -276,7 +309,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = src doc
EXTRA_DIST = LICENSE
dist_doc_DATA = LICENSE NEWS README
all: all-recursive

.SUFFIXES:
Expand Down Expand Up @@ -313,6 +346,27 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
install-dist_docDATA: $(dist_doc_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
done

uninstall-dist_docDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)

# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
Expand Down Expand Up @@ -613,9 +667,12 @@ distcleancheck: distclean
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(docdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
Expand Down Expand Up @@ -667,7 +724,7 @@ info: info-recursive

info-am:

install-data-am:
install-data-am: install-dist_docDATA

install-dvi: install-dvi-recursive

Expand Down Expand Up @@ -713,7 +770,7 @@ ps: ps-recursive

ps-am:

uninstall-am:
uninstall-am: uninstall-dist_docDATA

.MAKE: $(am__recursive_targets) install-am install-strip

Expand All @@ -724,13 +781,14 @@ uninstall-am:
distcheck distclean distclean-generic distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am tags tags-am uninstall uninstall-am
install-data-am install-dist_docDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
tags-am uninstall uninstall-am uninstall-dist_docDATA

.PRECIOUS: Makefile

Expand Down
27 changes: 27 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Release 20180422
* Added NEWS file.
* Added -q option for quiet operation.
* Added -v option to output version information.
* Added USR1 signal handler that will stop the temporary directory
from being deleted when the shell exits (as if -k had been used from
the start).
* Let the configure script figure out whether "mktemp -t" adds
".XXXXXXXX" to the end of the given template or not.
* Don't choke on directories whose name start with a dash.
* Now properly tested on FreeBSD 11.1.

Release 20180415
* Fixed GitHub issue #1, "Centos 7 several shells with the same name".
* Fixed GitHub issue #2, "Comparison null string to zero (int)"
* Added manual.
* Added -f option to force running the given command (bypasses check
for valid login shell).
* Added -s option for specifying a "skeleton" directory whose
contents will be (recursively) copied into the newly created
temporary directory.
* Updated static list of shells on Solaris with shells from the
shells(4) manual on a Solaris 11.4-beta system.
* Set HOME to the temporary directory.

Release 20180401
* First real release.
35 changes: 22 additions & 13 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,44 @@
Useful shell scripts

How to use:

The scripts are documented with their own manuals. The same manuals
are also available as plain text and Markdown in the "doc" directory
of the source distribution. These will also be installed in
"<prefix>/share/doc/shell-toolbox" by default.

How to install:

Please see the document called "INSTALL" in the source distribution.

Tested on:
OpenBSD 6.3, NetBSD 7.1.2, Darwin 17.5.0 (macOS High Sierra),
Ubuntu 17.10, Solaris 11.4, CentOS 7

FreeBSD 11.1
Darwin 17.5.0 (macOS High Sierra)
NetBSD 7.1.2
OpenBSD 6.3
Solaris 11.4-beta
Ubuntu 17.10


------------------------------------------------------------------------
# Shell scripts
------------------------------------------------------------------------

* shell: Creates a shell for testing things in.
* shell:

Creates a shell for testing things in.

This script is useful for testing things in an interactive
environment other than your usual shell, or for testing things in a
clean environment with automatic cleanup of any files left behind.
This script is useful for testing things in an interactive
environment other than your usual shell, or for testing things in a
clean environment with automatic cleanup of any files left behind.

Creates a "temporary interactive shell" with a temporary working
directory (unless the "-d" flag is used to specify an existing
directory) and clean environment. The working directory is removed
when the shell exits (unless the "-k" or "-d" flag was used).
Creates a "temporary interactive shell" with a temporary working
directory (unless the "-d" flag is used to specify an existing
directory) and clean environment. The working directory is removed
when the shell exits (unless the "-k" or "-d" flag was used).

The temporary working directory may also be pre-populated with the
contents of an existing directory (using the "-s" flag).
The temporary working directory may also be pre-populated with the
contents of an existing directory (using the "-s" flag).

See "man 1 shell" after installation.
See "man 1 shell" after installation.
6 changes: 4 additions & 2 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
For "shell":
* Possibly factor out utility functions into separate "library".
This will not happen until the toolbox contains more than a single
script.

* Nothing at the moment.
* shell: Nothing at the moment.
Loading

0 comments on commit 34f8d31

Please sign in to comment.