Hello community, here is the log from the commit of package rcm for openSUSE:Factory checked in at 2018-07-17 09:41:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rcm (Old) and /work/SRC/openSUSE:Factory/.rcm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rcm" Tue Jul 17 09:41:49 2018 rev:3 rq:622938 version:1.3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/rcm/rcm.changes 2018-03-28 10:34:14.090888048 +0200 +++ /work/SRC/openSUSE:Factory/.rcm.new/rcm.changes 2018-07-17 09:42:52.393185482 +0200 @@ -1,0 +2,16 @@ +Sun Jul 15 18:04:02 UTC 2018 - [email protected] + +- drop source service +- rcm 1.3.3 + * Feature: Expand ~ in DOTFILES_DIR hooks (Eric Collins). +- rcm 1.3.2 + * BUGFIX: Use =, not ==, in test(1) (Florian Tham). + * BUGFIX: Directories with spaces in rcup(1) (Florian Tham). + * BUGFIX: Fallback the LOGNAME from whoami (AJ Villalobos, Mike Burns). + * BUGFIX: Fix cd for paths beginning with hyphen (-) (Christian Höltje). + * Feature: Expand ~ in DOTFILES_DIR (Rebecca Meritz). + * Documentation improvements (Alan Yee, Eric Collins, Florian Tham, kajisha, + Matthew Horan, maxice8, Mike Burns, Rebecca Meritz, Scott Stevenson, + Tyson Gach, Yota Toyama). + +------------------------------------------------------------------- Old: ---- _service rcm-1.3.1.tar.gz New: ---- rcm-1.3.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rcm.spec ++++++ --- /var/tmp/diff_new_pack.XmKSsA/_old 2018-07-17 09:42:52.977183340 +0200 +++ /var/tmp/diff_new_pack.XmKSsA/_new 2018-07-17 09:42:52.981183325 +0200 @@ -18,7 +18,7 @@ # See also http://en.opensuse.org/openSUSE:Specfile_guidelines Name: rcm -Version: 1.3.1 +Version: 1.3.3 Release: 0 Summary: An rc file (dotfile) management tool License: BSD-3-Clause ++++++ rcm-1.3.1.tar.gz -> rcm-1.3.3.tar.gz ++++++ ++++ 1922 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/Makefile.am new/rcm-1.3.3/Makefile.am --- old/rcm-1.3.1/Makefile.am 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/Makefile.am 2018-03-30 16:52:34.000000000 +0200 @@ -31,6 +31,7 @@ test/mkrc-usage.t \ test/mkrc-undotted.t \ test/rcrc-custom.t \ + test/rcrc-tilde.t \ test/rcrc-hostname.t \ test/rcrc.t \ test/rcup-link-files.t \ @@ -44,7 +45,8 @@ test/rcdn-hooks-run-in-order.t \ test/rcup-hooks.t \ test/rcup-hooks-run-in-situ.t \ - test/rcup-hooks-run-in-order.t + test/rcup-hooks-run-in-order.t \ + test/rcup-spaces.t dist_check_SCRIPTS = $(TESTS) dist_check_DATA = test/helper.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/NEWS.md new/rcm-1.3.3/NEWS.md --- old/rcm-1.3.1/NEWS.md 2017-01-07 20:44:47.000000000 +0100 +++ new/rcm-1.3.3/NEWS.md 2018-07-13 20:26:03.000000000 +0200 @@ -1,3 +1,22 @@ +rcm (1.3.3) unstable; urgency=low + + * Feature: Expand ~ in DOTFILES_DIR hooks (Eric Collins). + + -- Mike Burns <[email protected]> Fri, 13 Jul 2018 14:12:00 -0500 + +rcm (1.3.2) unstable; urgency=low + + * BUGFIX: Use =, not ==, in test(1) (Florian Tham). + * BUGFIX: Directories with spaces in rcup(1) (Florian Tham). + * BUGFIX: Fallback the LOGNAME from whoami (AJ Villalobos, Mike Burns). + * BUGFIX: Fix cd for paths beginning with hyphen (-) (Christian Höltje). + * Feature: Expand ~ in DOTFILES_DIR (Rebecca Meritz). + * Documentation improvements (Alan Yee, Eric Collins, Florian Tham, kajisha, + Matthew Horan, maxice8, Mike Burns, Rebecca Meritz, Scott Stevenson, + Tyson Gach, Yota Toyama). + + -- Mike Burns <[email protected]> Fri, 06 Jul 2018 11:00:00 -0500 + rcm (1.3.1) unstable; urgency=low * BUGFIX: Handle dotfile names with spaces in them (Eric Collins, Mike Burns). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/NEWS.md.in new/rcm-1.3.3/NEWS.md.in --- old/rcm-1.3.1/NEWS.md.in 2016-12-26 22:59:23.000000000 +0100 +++ new/rcm-1.3.3/NEWS.md.in 2018-07-13 20:12:55.000000000 +0200 @@ -1,5 +1,24 @@ rcm (@PACKAGE_VERSION@) unstable; urgency=low + * Feature: Expand ~ in DOTFILES_DIR hooks (Eric Collins). + + -- Mike Burns <[email protected]> Fri, 13 Jul 2018 14:12:00 -0500 + +rcm (1.3.2) unstable; urgency=low + + * BUGFIX: Use =, not ==, in test(1) (Florian Tham). + * BUGFIX: Directories with spaces in rcup(1) (Florian Tham). + * BUGFIX: Fallback the LOGNAME from whoami (AJ Villalobos, Mike Burns). + * BUGFIX: Fix cd for paths beginning with hyphen (-) (Christian Höltje). + * Feature: Expand ~ in DOTFILES_DIR (Rebecca Meritz). + * Documentation improvements (Alan Yee, Eric Collins, Florian Tham, kajisha, + Matthew Horan, maxice8, Mike Burns, Rebecca Meritz, Scott Stevenson, + Tyson Gach, Yota Toyama). + + -- Mike Burns <[email protected]> Fri, 06 Jul 2018 11:00:00 -0500 + +rcm (1.3.1) unstable; urgency=low + * BUGFIX: Handle dotfile names with spaces in them (Eric Collins, Mike Burns). * BUGFIX: Relative exclude globs now work (Eric Collins, Mike Burns). * BUGFIX: Use $LOGNAME instead of $USER for compatibility (Mike Burns). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/README.md new/rcm-1.3.3/README.md --- old/rcm-1.3.1/README.md 2017-01-07 20:08:24.000000000 +0100 +++ new/rcm-1.3.3/README.md 2018-07-13 20:21:18.000000000 +0200 @@ -14,16 +14,33 @@ Installation ------------ +Alpine Linux: + + sudo apk add rcm + Arch Linux: https://aur.archlinux.org/packages/rcm/ Debian-based: - wget https://thoughtbot.github.io/rcm/debs/rcm_1.3.1-1_all.deb - sha=$(sha256sum rcm_1.3.1-1_all.deb | cut -f1 -d' ') - [ "$sha" = "2e95bbc23da4a0b995ec4757e0920197f4c92357214a65fedaf24274cda6806d" ] && \ - sudo dpkg -i rcm_1.3.1-1_all.deb + wget -qO - https://apt.thoughtbot.com/thoughtbot.gpg.key | sudo apt-key add - + echo "deb https://apt.thoughtbot.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/thoughtbot.list + sudo apt-get update + sudo apt-get install rcm + +Fedora 22, 23, 24, 25: + + sudo dnf copr enable seeitcoming/rcm + sudo dnf install rcm + +FreeBSD: + + sudo pkg install rcm + +Gentoo: + + emerge app-admin/rcm Korora: @@ -38,50 +55,45 @@ [copr-fedora-korora]: https://kororaproject.org/about/news/when-adding-a-copr-repo-to-korora-fails -OpenBSD (-current): +macOS with Homebrew: - doas pkg_add rcm + brew tap thoughtbot/formulae + brew install rcm -Fedora 21/22/23: +macOS with MacPorts: - sudo dnf copr enable seeitcoming/rcm - sudo dnf install rcm + port install rcm -FreeBSD: +OpenBSD: - sudo pkg install rcm + doas pkg_add rcm openSUSE/RHEL/CentOS: [instructions](http://software.opensuse.org/download.html?project=utilities&package=rcm) -OS X with Homebrew: - - brew tap thoughtbot/formulae - brew install rcm - -OS X with MacPorts: - - port install rcm - Ubuntu: sudo add-apt-repository ppa:martin-frost/thoughtbot-rcm sudo apt-get update sudo apt-get install rcm +Void Linux: + + sudo xbps-install -S rcm + Elsewhere: This uses the standard GNU autotools, so it's the normal dance: - curl -LO https://thoughtbot.github.io/rcm/dist/rcm-1.3.1.tar.gz && \ + curl -LO https://thoughtbot.github.io/rcm/dist/rcm-1.3.3.tar.gz && - sha=$(sha256 rcm-1.3.1.tar.gz | cut -f1 -d' ') && \ - [ "$sha" = "ddcf638b367b0361d8e063c29fd573dbe1712d1b83e8d5b3a868e4aa45ffc847" ] && \ + sha=$(sha256 rcm-1.3.3.tar.gz | cut -f1 -d' ') && + [ "$sha" = "2f31b49c241ed6e74578fc71e6b2ba3a87183d311f28e05b9f7cc7c1c55dda64" ] && - tar -xvf rcm-1.3.1.tar.gz && \ - cd rcm-1.3.1 && \ + tar -xvf rcm-1.3.3.tar.gz && + cd rcm-1.3.3 && - ./configure && \ - make && \ + ./configure && + make && sudo make install For more, see `INSTALL`. @@ -119,7 +131,7 @@ ## About thoughtbot - + RCM is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/bin/lsrc new/rcm-1.3.3/bin/lsrc --- old/rcm-1.3.1/bin/lsrc 2017-01-07 20:44:47.000000000 +0100 +++ new/rcm-1.3.3/bin/lsrc 2018-07-13 20:26:03.000000000 +0200 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash : ${RCM_LIB:=$(dirname "$0")/../share/rcm} . "$RCM_LIB/rcm.sh" @@ -6,7 +6,7 @@ pushdir() { DIR_STACK="$DIR_STACK:$PWD/$1" $DEBUG "cd'ing to $1 from $PWD with stack $DIR_STACK" - cd "$1" + cd -- "$1" } popdir() { @@ -14,7 +14,7 @@ prior="$(echo "$DIR_STACK" | sed -e "s|:$current$||" | sed -e 's/.*://g')" DIR_STACK="$(echo "$DIR_STACK" | sed -e 's/:[^:]*$//')" $DEBUG "cd'ing to $prior from $PWD with stack $DIR_STACK" - cd "$prior" + cd -- "$prior" } build_path() { @@ -318,7 +318,9 @@ relative_root_dir="$PWD" for DOTFILES_DIR in $DOTFILES_DIRS; do - cd "$relative_root_dir" + cd -- "$relative_root_dir" + + DOTFILES_DIR="$(eval echo "$DOTFILES_DIR")" if is_relative $DOTFILES_DIR; then DOTFILES_DIR="$PWD/$DOTFILES_DIR" @@ -341,7 +343,7 @@ never_undotted_file_globs="$(dotfiles_dir_excludes "$DOTFILES_DIR" "$NEVER_UNDOTTED")" $DEBUG "never_undotted_file_globs: $never_undotted_file_globs" - cd "$DOTFILES_DIR" + cd -- "$DOTFILES_DIR" DIR_STACK=":$DOTFILES_DIR" host_files="$DOTFILES_DIR/host-$HOSTNAME" @@ -359,7 +361,7 @@ popdir fi - cd "$DOTFILES_DIR" + cd -- "$DOTFILES_DIR" for tag in $TAGS; do if [ -d "tag-$tag" ]; then @@ -377,7 +379,7 @@ fi done - cd "$DOTFILES_DIR" + cd -- "$DOTFILES_DIR" for escaped_file in ${FILES:-*}; do file="$(decode "$escaped_file")" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/bin/lsrc.in new/rcm-1.3.3/bin/lsrc.in --- old/rcm-1.3.1/bin/lsrc.in 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/bin/lsrc.in 2018-07-06 16:20:52.000000000 +0200 @@ -6,7 +6,7 @@ pushdir() { DIR_STACK="$DIR_STACK:$PWD/$1" $DEBUG "cd'ing to $1 from $PWD with stack $DIR_STACK" - cd "$1" + cd -- "$1" } popdir() { @@ -14,7 +14,7 @@ prior="$(echo "$DIR_STACK" | sed -e "s|:$current$||" | sed -e 's/.*://g')" DIR_STACK="$(echo "$DIR_STACK" | sed -e 's/:[^:]*$//')" $DEBUG "cd'ing to $prior from $PWD with stack $DIR_STACK" - cd "$prior" + cd -- "$prior" } build_path() { @@ -318,7 +318,9 @@ relative_root_dir="$PWD" for DOTFILES_DIR in $DOTFILES_DIRS; do - cd "$relative_root_dir" + cd -- "$relative_root_dir" + + DOTFILES_DIR="$(eval echo "$DOTFILES_DIR")" if is_relative $DOTFILES_DIR; then DOTFILES_DIR="$PWD/$DOTFILES_DIR" @@ -341,7 +343,7 @@ never_undotted_file_globs="$(dotfiles_dir_excludes "$DOTFILES_DIR" "$NEVER_UNDOTTED")" $DEBUG "never_undotted_file_globs: $never_undotted_file_globs" - cd "$DOTFILES_DIR" + cd -- "$DOTFILES_DIR" DIR_STACK=":$DOTFILES_DIR" host_files="$DOTFILES_DIR/host-$HOSTNAME" @@ -359,7 +361,7 @@ popdir fi - cd "$DOTFILES_DIR" + cd -- "$DOTFILES_DIR" for tag in $TAGS; do if [ -d "tag-$tag" ]; then @@ -377,7 +379,7 @@ fi done - cd "$DOTFILES_DIR" + cd -- "$DOTFILES_DIR" for escaped_file in ${FILES:-*}; do file="$(decode "$escaped_file")" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/bin/mkrc new/rcm-1.3.3/bin/mkrc --- old/rcm-1.3.1/bin/mkrc 2017-01-07 20:44:47.000000000 +0100 +++ new/rcm-1.3.3/bin/mkrc 2018-07-13 20:26:03.000000000 +0200 @@ -1,12 +1,12 @@ -#!/bin/sh +#!/bin/bash : ${RCM_LIB:=$(dirname "$0")/../share/rcm} . "$RCM_LIB/rcm.sh" destination() { local dotfiles_dir="$1" - local dotless=$2 - local in_host=$3 + local dotless="$2" + local in_host="$3" local tag="$4" $DEBUG "destination $dotfiles_dir $dotless $in_host $tag" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/bin/mkrc.in new/rcm-1.3.3/bin/mkrc.in --- old/rcm-1.3.1/bin/mkrc.in 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/bin/mkrc.in 2017-03-31 21:07:41.000000000 +0200 @@ -5,8 +5,8 @@ destination() { local dotfiles_dir="$1" - local dotless=$2 - local in_host=$3 + local dotless="$2" + local in_host="$3" local tag="$4" $DEBUG "destination $dotfiles_dir $dotless $in_host $tag" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/bin/rcdn new/rcm-1.3.3/bin/rcdn --- old/rcm-1.3.1/bin/rcdn 2017-01-07 20:44:47.000000000 +0100 +++ new/rcm-1.3.3/bin/rcdn 2018-07-13 20:26:03.000000000 +0200 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash : ${RCM_LIB:=$(dirname "$0")/../share/rcm} . "$RCM_LIB/rcm.sh" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/bin/rcup new/rcm-1.3.3/bin/rcup --- old/rcm-1.3.1/bin/rcup 2017-01-07 20:44:47.000000000 +0100 +++ new/rcm-1.3.3/bin/rcup 2018-07-13 20:26:03.000000000 +0200 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash : ${RCM_LIB:=$(dirname "$0")/../share/rcm} . "$RCM_LIB/rcm.sh" @@ -34,7 +34,7 @@ # # sh install.sh # -# Environment variables: VERBOSE, CP, LN, MKDIR, RM, DIRNAME, XARGS. +# Environment variables: VERBOSE, CP, LN, MKDIR, RM, DIRNAME. # # env VERBOSE=1 sh install.sh # @@ -52,7 +52,6 @@ : \${MKDIR:=/bin/mkdir} : \${RM:=/bin/rm} : \${DIRNAME:=/usr/bin/dirname} -: \${XARGS:=/usr/bin/xargs} verbose() { if [ "\$VERBOSE" -gt 0 ]; then echo "\$@" @@ -73,7 +72,7 @@ esac fi verbose "'\$1' -> '\$2'" - \$DIRNAME "\$2" | \$XARGS \$MKDIR -p + \$MKDIR -p "\$(\$DIRNAME "\$2")" \$CP -R "\$1" "\$2" } handle_file_ln() { @@ -91,7 +90,7 @@ esac fi verbose "'\$1' -> '\$2'" - \$DIRNAME "\$2" | \$XARGS \$MKDIR -p + \$MKDIR -p "\$(\$DIRNAME "\$2")" \$LN -sf "\$1" "\$2" } PREFACE @@ -136,7 +135,7 @@ if [ -h "$dest" ]; then local link_dest=$(readlink $dest) - [ "$link_dest" == "$src" ] + [ "$link_dest" = "$src" ] else return 1 fi @@ -145,9 +144,9 @@ handle_dir() { local dest="$1" - $DEBUG "handle_dir $1" + $DEBUG "handle_dir $dest" - dirname "$dest" | xargs $MKDIR -p + $MKDIR -p "$(dirname "$dest")" } handle_file() { @@ -208,7 +207,7 @@ local never_symlink_dirs= local hostname= local generate=0 - local args=$* + local args="$*" local undotted= local never_undotted= REPLACE_ALL=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/bin/rcup.in new/rcm-1.3.3/bin/rcup.in --- old/rcm-1.3.1/bin/rcup.in 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/bin/rcup.in 2017-03-31 21:07:41.000000000 +0200 @@ -34,7 +34,7 @@ # # sh install.sh # -# Environment variables: VERBOSE, CP, LN, MKDIR, RM, DIRNAME, XARGS. +# Environment variables: VERBOSE, CP, LN, MKDIR, RM, DIRNAME. # # env VERBOSE=1 sh install.sh # @@ -52,7 +52,6 @@ : \${MKDIR:=/bin/mkdir} : \${RM:=/bin/rm} : \${DIRNAME:=/usr/bin/dirname} -: \${XARGS:=/usr/bin/xargs} verbose() { if [ "\$VERBOSE" -gt 0 ]; then echo "\$@" @@ -73,7 +72,7 @@ esac fi verbose "'\$1' -> '\$2'" - \$DIRNAME "\$2" | \$XARGS \$MKDIR -p + \$MKDIR -p "\$(\$DIRNAME "\$2")" \$CP -R "\$1" "\$2" } handle_file_ln() { @@ -91,7 +90,7 @@ esac fi verbose "'\$1' -> '\$2'" - \$DIRNAME "\$2" | \$XARGS \$MKDIR -p + \$MKDIR -p "\$(\$DIRNAME "\$2")" \$LN -sf "\$1" "\$2" } PREFACE @@ -136,7 +135,7 @@ if [ -h "$dest" ]; then local link_dest=$(readlink $dest) - [ "$link_dest" == "$src" ] + [ "$link_dest" = "$src" ] else return 1 fi @@ -145,9 +144,9 @@ handle_dir() { local dest="$1" - $DEBUG "handle_dir $1" + $DEBUG "handle_dir $dest" - dirname "$dest" | xargs $MKDIR -p + $MKDIR -p "$(dirname "$dest")" } handle_file() { @@ -208,7 +207,7 @@ local never_symlink_dirs= local hostname= local generate=0 - local args=$* + local args="$*" local undotted= local never_undotted= REPLACE_ALL=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/configure.ac new/rcm-1.3.3/configure.ac --- old/rcm-1.3.1/configure.ac 2016-12-26 22:58:11.000000000 +0100 +++ new/rcm-1.3.3/configure.ac 2018-07-13 20:21:01.000000000 +0200 @@ -1,5 +1,5 @@ AC_PREREQ([2.69]) -AC_INIT(rcm, 1.3.1, [email protected]) +AC_INIT(rcm, 1.3.3, [email protected]) AM_INIT_AUTOMAKE([subdir-objects]) # /bin/sh on Solaris is not POSIX, so try to find another one. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/maint/release.in new/rcm-1.3.3/maint/release.in --- old/rcm-1.3.1/maint/release.in 2016-12-26 23:04:06.000000000 +0100 +++ new/rcm-1.3.3/maint/release.in 2017-03-31 21:07:41.000000000 +0200 @@ -81,7 +81,7 @@ # Deb release_build_deb() { - ([ -d deb-build ] || mkdir -p deb-build) && \ + mkdir deb-build && \ cp ${DIST_ARCHIVES} deb-build/${PACKAGE}_${PACKAGE_VERSION}.orig.tar.gz && \ tar -C deb-build -xf deb-build/${PACKAGE}_${PACKAGE_VERSION}.orig.tar.gz && \ cp -R debian deb-build/${PACKAGE}-${PACKAGE_VERSION} && \ @@ -90,8 +90,8 @@ debuild --prepend-path=/usr/local/bin -F && \ cd ${abs_top_builddir} && \ ([ -d gh-pages ] || git clone --branch gh-pages ${ORIGIN_URL} gh-pages) && \ - ([ -d gh-pages/debs ] || mkdir gh-pages/debs) && \ - ([ -d gh-pages/deb-src ] || mkdir gh-pages/deb-src) && \ + mkdir gh-pages/debs && \ + mkdir gh-pages/deb-src && \ cp deb-build/${PACKAGE}_${PACKAGE_VERSION}*.deb gh-pages/debs && \ cp deb-build/${PACKAGE}_${PACKAGE_VERSION}*.dsc gh-pages/deb-src && \ cp deb-build/${PACKAGE}_${PACKAGE_VERSION}*.orig.tar.?z gh-pages/deb-src && \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/man/lsrc.1 new/rcm-1.3.3/man/lsrc.1 --- old/rcm-1.3.1/man/lsrc.1 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/man/lsrc.1 2017-10-27 20:58:51.000000000 +0200 @@ -181,14 +181,14 @@ and .Lk http://thoughtbot.se thoughtbot .Sh BUGS -For OS X systems, we strongly encourage the use of the +For macOS systems, we strongly encourage the use of the .Va HOSTNAME variable in your .Xr rcrc 5 . We use the .Xr hostname 1 program to determine the unique identifier for the host. This program is -not specified by POSIX and can vary by system. On OS X the hostname is +not specified by POSIX and can vary by system. On macOS the hostname is unpredictable, and can even change as part of the DHCP handshake. .Pp There are a few bugs around shell globs. Anything involving an exclude diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/man/rcm.7 new/rcm-1.3.3/man/rcm.7 --- old/rcm-1.3.1/man/rcm.7 2017-01-07 20:44:44.000000000 +0100 +++ new/rcm-1.3.3/man/rcm.7 2018-07-13 20:26:02.000000000 +0200 @@ -245,7 +245,7 @@ .Pp .Dl mkrc -B eggplant .rcrc .Pp -OS X users should see the +macOS users should see the .Sx BUGS section for more details. . @@ -302,17 +302,18 @@ and .Lk http://thoughtbot.se thoughtbot .Sh BUGS -For OS X systems, we strongly encourage the use of the +For macOS systems, we strongly encourage the use of the .Va HOSTNAME variable in your .Xr rcrc 5 . We use the .Xr hostname 1 program to determine the unique identifier for the host. This program is -not specified by POSIX and can vary by system. On OS X the hostname is +not specified by POSIX and can vary by system. On macOS, the hostname is unpredictable, and can even change as part of the DHCP handshake. .Sh CONTRIBUTORS .An -split +.An "Alan Yee" Aq Mt [email protected] .An "Andrei Dziahel" Aq Mt [email protected] .An "Anton Ilin" Aq Mt [email protected] .An "Ben Stephens" Aq Mt [email protected] @@ -328,6 +329,8 @@ .An "Daniel Watson" Aq Mt [email protected] .An "David Alexander" Aq Mt [email protected] .An "Devraj Mehta" Aq Mt [email protected] +.An "Eric Collins" Aq Mt [email protected] +.An "Florian Tham" Aq Mt [email protected] .An "George Brocklehurst" Aq Mt [email protected] .An "Graham Bennett" Aq Mt [email protected] .An "Jarkko Kniivilä" Aq Mt [email protected] @@ -336,7 +339,9 @@ .An "Joe Ferris" Aq Mt [email protected] .An "John Axel Eriksson" Aq Mt [email protected] .An "Jordan Eldredge" Aq Mt [email protected] +.An "Leonardo Brondani Schenkel" Aq Mt [email protected] .An "Martin Frost" Aq Mt [email protected] +.An "Matthew Horan" Aq Mt [email protected] .An "Melissa Xie" Aq Mt [email protected] .An "Michael Reed" Aq Mt [email protected] .An "Mike Burns" Aq Mt [email protected] @@ -345,8 +350,14 @@ .An "Pablo Olmos de Aguilera Corradini" Aq Mt [email protected] .An "Patrick Brisbin" Aq Mt [email protected] .An "Rafael Santos" Aq Mt [email protected] +.An "Rebecca Meritz" Aq Mt [email protected] .An "Roberto Pedroso" Aq Mt [email protected] .An "Scott Stevenson" Aq Mt [email protected] .An "Teo Ljungberg" Aq Mt [email protected] +.An "Tyson Gach" Aq Mt [email protected] .An "Vlad GURDIGA" Aq Mt [email protected] +.An "Yota Toyama" Aq Mt [email protected] .An "Zach Latta" Aq Mt [email protected] +.An "kajisha" Aq Mt [email protected] +.An "maxice8" Aq Mt [email protected] +.An "wplatter-cb" Aq Mt [email protected] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/man/rcrc.5 new/rcm-1.3.3/man/rcrc.5 --- old/rcm-1.3.1/man/rcrc.5 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/man/rcrc.5 2017-10-27 20:58:15.000000000 +0200 @@ -96,3 +96,9 @@ .An "Mike Burns" Aq Mt [email protected] and .Lk http://thoughtbot.se thoughtbot +.Sh BUGS +We only expand tilde inside +.Va DOTFILES_DIRS +and not inside any patterns. For more notes on the caution you should +exercise around patterns, see the BUGS section of +.Xr lsrc 1 . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/missing new/rcm-1.3.3/missing --- old/rcm-1.3.1/missing 2014-11-14 23:07:12.000000000 +0100 +++ new/rcm-1.3.3/missing 2017-10-27 20:18:04.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2013-10-28.13; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/share/rcm.sh new/rcm-1.3.3/share/rcm.sh --- old/rcm-1.3.1/share/rcm.sh 2017-01-07 20:44:47.000000000 +0100 +++ new/rcm-1.3.3/share/rcm.sh 2018-07-13 20:26:03.000000000 +0200 @@ -1,4 +1,4 @@ -VERSION="1.3.1" +VERSION="1.3.3" #set -x @@ -13,6 +13,10 @@ INSTALL=rcup ROOT_DIR="$HOME" +if [ -z "$LOGNAME" ]; then + LOGNAME=$(whoami) +fi + ln_v() { $VERBOSE "'$1' -> '$2'" ln -s "$1" "$2" @@ -117,6 +121,8 @@ if [ $RUN_HOOKS -eq 1 ]; then for dotfiles_dir in $DOTFILES_DIRS; do + dotfiles_dir=$(eval echo "$dotfiles_dir") + hook_file="$dotfiles_dir/hooks/$when-$direction" if [ -e "$hook_file" ]; then @@ -132,7 +138,7 @@ # else's dotfiles repository without reviewing the hooks before doing an `rcup`? find "$hook_file" -type f \( \( -user $LOGNAME -perm -100 \) -o -perm -001 \) \ | sort | while read file; do - sh -c 'cd "`dirname $1`" && ./"`basename $1`"' arg0 "$file" + sh -c 'cd -- "`dirname $1`" && ./"`basename $1`"' arg0 "$file" done else $DEBUG "no $when-$direction hook present for $dotfiles_dir, skipping" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/share/rcm.sh.in new/rcm-1.3.3/share/rcm.sh.in --- old/rcm-1.3.1/share/rcm.sh.in 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/share/rcm.sh.in 2018-07-13 20:12:55.000000000 +0200 @@ -13,6 +13,10 @@ INSTALL=rcup ROOT_DIR="$HOME" +if [ -z "$LOGNAME" ]; then + LOGNAME=$(whoami) +fi + ln_v() { $VERBOSE "'$1' -> '$2'" ln -s "$1" "$2" @@ -117,6 +121,8 @@ if [ $RUN_HOOKS -eq 1 ]; then for dotfiles_dir in $DOTFILES_DIRS; do + dotfiles_dir=$(eval echo "$dotfiles_dir") + hook_file="$dotfiles_dir/hooks/$when-$direction" if [ -e "$hook_file" ]; then @@ -132,7 +138,7 @@ # else's dotfiles repository without reviewing the hooks before doing an `rcup`? find "$hook_file" -type f \( \( -user $LOGNAME -perm -100 \) -o -perm -001 \) \ | sort | while read file; do - sh -c 'cd "`dirname $1`" && ./"`basename $1`"' arg0 "$file" + sh -c 'cd -- "`dirname $1`" && ./"`basename $1`"' arg0 "$file" done else $DEBUG "no $when-$direction hook present for $dotfiles_dir, skipping" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/test/rcrc-tilde.t new/rcm-1.3.3/test/rcrc-tilde.t --- old/rcm-1.3.1/test/rcrc-tilde.t 1970-01-01 01:00:00.000000000 +0100 +++ new/rcm-1.3.3/test/rcrc-tilde.t 2018-07-13 20:12:55.000000000 +0200 @@ -0,0 +1,18 @@ + $ . "$TESTDIR/helper.sh" + +rcrc should accept a DOTFILES_DIR with a ~ instead of $HOME + + $ mkdir ~/.other-dotfiles + > touch ~/.other-dotfiles/o-example + + $ echo 'DOTFILES_DIRS="~/.other-dotfiles"' > alt-rcrc + $ RCRC=./alt-rcrc lsrc + /*/.o-example:/*/.other-dotfiles/o-example (glob) + +rcrc should run hooks with ~ instead of $HOME + + $ mkdir ~/.other-dotfiles/hooks -p + > printf "#!/bin/sh\necho 'ran'\n" > ~/.other-dotfiles/hooks/post-up + > chmod +x ~/.other-dotfiles/hooks/post-up + > RCRC=./alt-rcrc rcup + ran diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/test/rcup-hooks.t new/rcm-1.3.3/test/rcup-hooks.t --- old/rcm-1.3.1/test/rcup-hooks.t 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/test/rcup-hooks.t 2018-07-06 16:20:52.000000000 +0200 @@ -9,10 +9,10 @@ $ echo 'echo "example" > /tmp/test' > .dotfiles/hooks/pre-up > echo 'cat /tmp/test; rm /tmp/test' > .dotfiles/hooks/post-up - $ rcup + $ /usr/bin/env -i PATH="$PATH" HOME="$HOME" RCRC="$RCRC" RCM_LIB="$RCM_LIB" rcup example Ensure that hooks run when output of lsrc is non-empty $ touch .dotfiles/testrc - > rcup + $ /usr/bin/env -i PATH="$PATH" HOME="$HOME" RCRC="$RCRC" RCM_LIB="$RCM_LIB" rcup example diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/test/rcup-spaces.t new/rcm-1.3.3/test/rcup-spaces.t --- old/rcm-1.3.1/test/rcup-spaces.t 1970-01-01 01:00:00.000000000 +0100 +++ new/rcm-1.3.3/test/rcup-spaces.t 2017-03-31 21:07:41.000000000 +0200 @@ -0,0 +1,10 @@ + $ . "$TESTDIR/helper.sh" + +Should create symlinks for files in directories with whitespace in their names + + $ mkdir .dotfiles/sub\ dir + > touch .dotfiles/sub\ dir/example + + $ rcup >/dev/null + + $ assert_linked "$HOME/.sub dir/example" "$HOME/.dotfiles/sub dir/example" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/test/rcup-standalone.t new/rcm-1.3.3/test/rcup-standalone.t --- old/rcm-1.3.1/test/rcup-standalone.t 2016-12-26 22:56:47.000000000 +0100 +++ new/rcm-1.3.3/test/rcup-standalone.t 2017-03-31 21:07:41.000000000 +0200 @@ -12,7 +12,7 @@ # # sh install.sh # - # Environment variables: VERBOSE, CP, LN, MKDIR, RM, DIRNAME, XARGS. + # Environment variables: VERBOSE, CP, LN, MKDIR, RM, DIRNAME. # # env VERBOSE=1 sh install.sh # @@ -30,7 +30,6 @@ : ${MKDIR:=/bin/mkdir} : ${RM:=/bin/rm} : ${DIRNAME:=/usr/bin/dirname} - : ${XARGS:=/usr/bin/xargs} verbose() { if [ "$VERBOSE" -gt 0 ]; then echo "$@" @@ -51,7 +50,7 @@ esac fi verbose "'$1' -> '$2'" - $DIRNAME "$2" | $XARGS $MKDIR -p + $MKDIR -p "$($DIRNAME "$2")" $CP -R "$1" "$2" } handle_file_ln() { @@ -69,7 +68,7 @@ esac fi verbose "'$1' -> '$2'" - $DIRNAME "$2" | $XARGS $MKDIR -p + $MKDIR -p "$($DIRNAME "$2")" $LN -sf "$1" "$2" } handle_file_ln "*eggplant_firetruck/lampshade/bottle" "*.eggplant_firetruck/lampshade/bottle" (glob) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcm-1.3.1/test-driver new/rcm-1.3.3/test-driver --- old/rcm-1.3.1/test-driver 2014-11-14 23:07:12.000000000 +0100 +++ new/rcm-1.3.3/test-driver 2018-03-30 16:52:34.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2013-07-13.22; # UTC -# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# Copyright (C) 2011-2014 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -106,11 +106,14 @@ # Test script is run here. "$@" >$log_file 2>&1 estatus=$? + if test $enable_hard_errors = no && test $estatus -eq 99; then - estatus=1 + tweaked_estatus=1 +else + tweaked_estatus=$estatus fi -case $estatus:$expect_failure in +case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; @@ -119,6 +122,12 @@ *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac +# Report the test outcome and exit status in the logs, so that one can +# know whether the test passed or failed simply by looking at the '.log' +# file, without the need of also peaking into the corresponding '.trs' +# file (automake bug#11814). +echo "$res $test_name (exit status: $estatus)" >>$log_file + # Report outcome to console. echo "${col}${res}${std}: $test_name"
