Accepting request 615069 from home:oreinert:branches:utilities
- Upgrade to version 1.1.0: * symlinks are now relative (useful when linking for a chrooted environment or when renaming the home folder) * fish shell completion (guide in wiki) * homeshick.sh can now be sourced from dash as well * the entire codebase is now linted with shellcheck * loads of minor bugfixes - Rename default-location.patch to suse-packaging.patch OBS-URL: https://build.opensuse.org/request/show/615069 OBS-URL: https://build.opensuse.org/package/show/utilities/homeshick?expand=0&rev=13
This commit is contained in:
parent
431cd6eabe
commit
63f7d9a4e2
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8bd3c46f1cfd68d82d97fa72a68a07c966092c77f276d1335cb390b2ec6062bf
|
|
||||||
size 27691
|
|
@ -1,64 +0,0 @@
|
|||||||
diff --git a/bin/homeshick b/bin/homeshick
|
|
||||||
index 46fd1da..b1e4a6f 100755
|
|
||||||
--- a/bin/homeshick
|
|
||||||
+++ b/bin/homeshick
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
|
|
||||||
repos="$HOME/.homesick/repos"
|
|
||||||
# Include all helper functions. We will include the required command function later on.
|
|
||||||
-homeshick=${HOMESHICK_DIR:-$HOME/.homesick/repos/homeshick}
|
|
||||||
+homeshick=${HOMESHICK_DIR:-/usr/share/homeshick}
|
|
||||||
source "$homeshick/lib/exit_status.sh"
|
|
||||||
source "$homeshick/lib/fs.sh"
|
|
||||||
source "$homeshick/lib/git.sh"
|
|
||||||
diff --git a/bin/homeshick.csh b/bin/homeshick.csh
|
|
||||||
index 2814f10..1c2c9a2 100644
|
|
||||||
--- a/bin/homeshick.csh
|
|
||||||
+++ b/bin/homeshick.csh
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
# This helper script should be sourced via an alias, e.g.
|
|
||||||
#
|
|
||||||
-# alias homeshick "source $HOME/.homesick/repos/homeshick/bin/homeshick.csh"
|
|
||||||
+# alias homeshick "source /usr/share/homeshick/bin/homeshick.csh"
|
|
||||||
#
|
|
||||||
if ( "$1" == "cd" && "x$2" != "x" ) then
|
|
||||||
if ( -d "$HOME/.homesick/repos/$2/home" ) then
|
|
||||||
@@ -12,6 +12,6 @@ else
|
|
||||||
if ( $?HOMESHICK_DIR ) then
|
|
||||||
$HOMESHICK_DIR/bin/homeshick $*
|
|
||||||
else
|
|
||||||
- $HOME/.homesick/repos/homeshick/bin/homeshick $*
|
|
||||||
+ /usr/share/homeshick/bin/homeshick $*
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
diff --git a/homeshick.fish b/homeshick.fish
|
|
||||||
index 10359ee..51cd0a2 100644
|
|
||||||
--- a/homeshick.fish
|
|
||||||
+++ b/homeshick.fish
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
# This script should be sourced in the context of your shell like so:
|
|
||||||
-# source $HOME/.homesick/repos/homeshick/homeshick.fish
|
|
||||||
+# source /usr/share/homeshick/homeshick.fish
|
|
||||||
# Once the homeshick() function is defined, you can type
|
|
||||||
# "homeshick cd CASTLE" to enter a castle.
|
|
||||||
|
|
||||||
@@ -9,6 +9,6 @@ function homeshick
|
|
||||||
else if set -q HOMESHICK_DIR
|
|
||||||
eval $HOMESHICK_DIR/bin/homeshick $argv
|
|
||||||
else
|
|
||||||
- eval $HOME/.homesick/repos/homeshick/bin/homeshick $argv
|
|
||||||
+ eval /usr/share/homeshick/bin/homeshick $argv
|
|
||||||
end
|
|
||||||
end
|
|
||||||
diff --git a/homeshick.sh b/homeshick.sh
|
|
||||||
index e8c2663..797731d 100644
|
|
||||||
--- a/homeshick.sh
|
|
||||||
+++ b/homeshick.sh
|
|
||||||
@@ -7,6 +7,6 @@ function homeshick() {
|
|
||||||
if [ "$1" = "cd" ] && [ -n "$2" ]; then
|
|
||||||
cd "$HOME/.homesick/repos/$2"
|
|
||||||
else
|
|
||||||
- "${HOMESHICK_DIR:-$HOME/.homesick/repos/homeshick}/bin/homeshick" "$@"
|
|
||||||
+ "${HOMESHICK_DIR:-/usr/share/homeshick}/bin/homeshick" "$@"
|
|
||||||
fi
|
|
||||||
}
|
|
@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 7 19:47:32 UTC 2018 - seroton10@gmail.com
|
||||||
|
|
||||||
|
- Upgrade to version 1.1.0:
|
||||||
|
* symlinks are now relative (useful when linking for a chrooted environment
|
||||||
|
or when renaming the home folder)
|
||||||
|
* fish shell completion (guide in wiki)
|
||||||
|
* homeshick.sh can now be sourced from dash as well
|
||||||
|
* the entire codebase is now linted with shellcheck
|
||||||
|
* loads of minor bugfixes
|
||||||
|
- Rename default-location.patch to suse-packaging.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue May 26 16:28:59 UTC 2015 - seroton10@gmail.com
|
Tue May 26 16:28:59 UTC 2015 - seroton10@gmail.com
|
||||||
|
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
addFilter("non-executable-script .*/usr/share/homeshick/lib")
|
addFilter("non-executable-script .*/usr/share/homeshick/lib")
|
||||||
|
addFilter("env-script-interpreter .*/usr/share/homeshick/lib")
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package homeshick
|
# spec file for package homeshick
|
||||||
#
|
#
|
||||||
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,16 +17,16 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: homeshick
|
Name: homeshick
|
||||||
Version: 1.0.0
|
Version: 1.1.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Dotfile synchronizer based on Git and Bash
|
Summary: Dotfile synchronizer based on Git and Bash
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Productivity/File utilities
|
Group: Productivity/File utilities
|
||||||
Url: https://github.com/andsens/homeshick
|
Url: https://github.com/andsens/homeshick
|
||||||
Source0: https://github.com/andsens/homeshick/archive/%{version}.tar.gz
|
Source0: https://github.com/andsens/homeshick/archive/v%{version}.tar.gz
|
||||||
Source1: README-openSUSE.md
|
Source1: README-openSUSE.md
|
||||||
Source99: homeshick.rpmlintrc
|
Source99: homeshick.rpmlintrc
|
||||||
Patch0: default-location.patch
|
Patch0: suse-packaging.patch
|
||||||
BuildRequires: expect
|
BuildRequires: expect
|
||||||
BuildRequires: git >= 1.5
|
BuildRequires: git >= 1.5
|
||||||
BuildRequires: iputils
|
BuildRequires: iputils
|
||||||
@ -35,24 +35,19 @@ Requires: bash >= 3
|
|||||||
Requires: git >= 1.5
|
Requires: git >= 1.5
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%if 0%{?suse_version} && 0%{?suse_version} > 1320
|
%if 0%{?is_opensuse}
|
||||||
BuildRequires: bats
|
BuildRequires: bats
|
||||||
BuildRequires: fish
|
BuildRequires: fish
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
In Unix, configuration files are king. Tailoring tools to suit your needs
|
|
||||||
through configuration can be empowering. An immense number of hours is spent
|
|
||||||
on getting these adjustments just right, but once you leave the confines of
|
|
||||||
your own computer, these local optimizations are left behind.
|
|
||||||
|
|
||||||
Homeshick is a tool for users to manage configuration files, also known as
|
Homeshick is a tool for users to manage configuration files, also known as
|
||||||
dotfiles. It leverages Git repositories to store and version dotfiles, and to
|
dotfiles. It leverages Git repositories to store and version dotfiles, and to
|
||||||
synchronize dotfile repositories between accounts and/or machines.
|
synchronize dotfile repositories between accounts and/or machines.
|
||||||
|
|
||||||
For example, this allows installing large external frameworks (such as
|
For example, this allows managing personal dotfiles alongside emacs or vim
|
||||||
oh-my-zsh, or a multitude of emacs or vim plugins) found on sites like
|
plugins without clutter. It also makes it easy to install large external
|
||||||
https://dotfiles.github.io/ alongside personal dotfiles without clutter.
|
frameworks, such as oh-my-zsh, found on sites like https://dotfiles.github.io/.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
@ -68,14 +63,15 @@ ln -s %{_datadir}/%{name}/bin/homeshick %{buildroot}%{_bindir}/%{name}
|
|||||||
cp %{SOURCE1} .
|
cp %{SOURCE1} .
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# only run tests if bats is available
|
# run tests if bats is available
|
||||||
if type bats &>/dev/null; then
|
if type bats &>/dev/null; then
|
||||||
HOMESHICK_DIR=%{buildroot}%{_datadir}/%{name} bats test/suites
|
HOMESHICK_DIR=%{buildroot}%{_datadir}/%{name} bats test/suites
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc README.md README-openSUSE.md LICENSE CONTRIBUTING.md
|
%doc README.md README-openSUSE.md CONTRIBUTING.md
|
||||||
|
%license LICENSE
|
||||||
%{_datadir}/%{name}
|
%{_datadir}/%{name}
|
||||||
%{_bindir}/homeshick
|
%{_bindir}/homeshick
|
||||||
|
|
||||||
|
70
suse-packaging.patch
Normal file
70
suse-packaging.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
diff -r -u homeshick-1.1.0-orig/bin/homeshick homeshick-1.1.0/bin/homeshick
|
||||||
|
--- homeshick-1.1.0-orig/bin/homeshick 2018-04-12 21:52:30.000000000 +0200
|
||||||
|
+++ homeshick-1.1.0/bin/homeshick 2018-06-07 21:42:03.651248460 +0200
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
-#!/usr/bin/env bash
|
||||||
|
+#!/bin/bash
|
||||||
|
|
||||||
|
repos="$HOME/.homesick/repos"
|
||||||
|
# Include all helper functions. We will include the required command function later on.
|
||||||
|
-homeshick=${HOMESHICK_DIR:-$HOME/.homesick/repos/homeshick}
|
||||||
|
+homeshick=${HOMESHICK_DIR:-/usr/share/homeshick}
|
||||||
|
# On travis-ci exit_status for some reason errors out, ignore it
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
source "$homeshick/lib/exit_status.sh"
|
||||||
|
diff -r -u homeshick-1.1.0-orig/bin/homeshick.csh homeshick-1.1.0/bin/homeshick.csh
|
||||||
|
--- homeshick-1.1.0-orig/bin/homeshick.csh 2018-04-12 21:52:30.000000000 +0200
|
||||||
|
+++ homeshick-1.1.0/bin/homeshick.csh 2018-06-07 21:35:03.398240964 +0200
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
# This helper script should be sourced via an alias, e.g.
|
||||||
|
#
|
||||||
|
-# alias homeshick "source $HOME/.homesick/repos/homeshick/bin/homeshick.csh"
|
||||||
|
+# alias homeshick "source /usr/share/homeshick/bin/homeshick.csh"
|
||||||
|
#
|
||||||
|
if ( "$1" == "cd" && "x$2" != "x" ) then
|
||||||
|
if ( -d "$HOME/.homesick/repos/$2/home" ) then
|
||||||
|
@@ -12,6 +12,6 @@
|
||||||
|
if ( $?HOMESHICK_DIR ) then
|
||||||
|
$HOMESHICK_DIR/bin/homeshick $*
|
||||||
|
else
|
||||||
|
- $HOME/.homesick/repos/homeshick/bin/homeshick $*
|
||||||
|
+ /usr/share/homeshick/bin/homeshick $*
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
diff -r -u homeshick-1.1.0-orig/homeshick.fish homeshick-1.1.0/homeshick.fish
|
||||||
|
--- homeshick-1.1.0-orig/homeshick.fish 2018-04-12 21:52:30.000000000 +0200
|
||||||
|
+++ homeshick-1.1.0/homeshick.fish 2018-06-07 21:35:03.398240964 +0200
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
# This script should be sourced in the context of your shell like so:
|
||||||
|
-# source $HOME/.homesick/repos/homeshick/homeshick.fish
|
||||||
|
+# source /usr/share/homeshick/homeshick.fish
|
||||||
|
# Once the homeshick() function is defined, you can type
|
||||||
|
# "homeshick cd CASTLE" to enter a castle.
|
||||||
|
|
||||||
|
@@ -9,6 +9,6 @@
|
||||||
|
else if set -q HOMESHICK_DIR
|
||||||
|
eval $HOMESHICK_DIR/bin/homeshick (string escape -- $argv)
|
||||||
|
else
|
||||||
|
- eval $HOME/.homesick/repos/homeshick/bin/homeshick (string escape -- $argv)
|
||||||
|
+ eval /usr/share/homeshick/bin/homeshick (string escape -- $argv)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
diff -r -u homeshick-1.1.0-orig/homeshick.sh homeshick-1.1.0/homeshick.sh
|
||||||
|
--- homeshick-1.1.0-orig/homeshick.sh 2018-04-12 21:52:30.000000000 +0200
|
||||||
|
+++ homeshick-1.1.0/homeshick.sh 2018-06-07 21:40:18.111999430 +0200
|
||||||
|
@@ -1,6 +1,5 @@
|
||||||
|
-#!/usr/bin/env sh
|
||||||
|
# This script should be sourced in the context of your shell like so:
|
||||||
|
-# source $HOME/.homeshick/repos/.homeshick/homeshick.sh
|
||||||
|
+# source /usr/share/homeshick/homeshick.sh
|
||||||
|
# Once the homeshick() function is defined, you can type
|
||||||
|
# "homeshick cd CASTLE" to enter a castle.
|
||||||
|
|
||||||
|
@@ -10,6 +9,6 @@
|
||||||
|
# shellcheck disable=SC2164
|
||||||
|
cd "$HOME/.homesick/repos/$2"
|
||||||
|
else
|
||||||
|
- "${HOMESHICK_DIR:-$HOME/.homesick/repos/homeshick}/bin/homeshick" "$@"
|
||||||
|
+ "${HOMESHICK_DIR:-/usr/share/homeshick}/bin/homeshick" "$@"
|
||||||
|
fi
|
||||||
|
}
|
3
v1.1.0.tar.gz
Normal file
3
v1.1.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1894675f4f2ab002a97574445c03c7c7336c996c01023b7fc5e6668dce7d5a3c
|
||||||
|
size 33345
|
Loading…
Reference in New Issue
Block a user