homeshick/homeshick.spec

87 lines
2.9 KiB
RPMSpec
Raw Normal View History

#
# spec file for package homeshick
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define git_sha1 b5e7767367f0bdac85701e50272060bb9556760b
Name: homeshick
# NB: The upstream project does not have any releases; hence, this package will
# remain at version zero. The precise package content is identified by the git
# hash above. Package updates are only indicated by the RPM release number,
# which is incremented by OBS for each package change.
Version: 0
Release: 0
Summary: Dotfile synchronizer based on Git and Bash
License: MIT
Group: Productivity/File utilities
Url: https://github.com/andsens/homeshick
Source0: https://github.com/andsens/homeshick/archive/%{git_sha1}.zip
Source1: README-openSUSE.md
Patch0: default-location.patch
BuildRequires: expect
BuildRequires: git >= 1.5
BuildRequires: iputils
BuildRequires: tcsh
BuildRequires: unzip
Requires: bash >= 3
Requires: git >= 1.5
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%if 0%{?suse_version} && 0%{?suse_version} > 1320
BuildRequires: bats
BuildRequires: fish
%endif
%description
Homeshick is a tool for users to manage configuration files, also known as
dotfiles. A set of dotfiles is stored in a git repository. Standard git
push/pull commands are used to synchronize a dotfile repository between user
accounts and/or machines. Multiple git repositories can be managed
independently. For example, this allows installing large external frameworks
(such as oh-my-zsh, or a multitude of emacs or vim plugins) alongside personal
dotfiles without clutter.
See also: https://dotfiles.github.io/
Packaged revision: %{git_sha1}
%prep
%setup -q -n %{name}-%{git_sha1}
%patch0 -p1
%build
%install
mkdir -p %{buildroot}%{_datadir}/%{name}
mv %{name}.sh %{name}.fish bin lib completions %{buildroot}%{_datadir}/%{name}
mkdir -p %{buildroot}%{_bindir}
ln -s %{_datadir}/%{name}/bin/homeshick %{buildroot}%{_bindir}/%{name}
cp %{SOURCE1} .
%check
# only run tests if bats is available
if type bats &>/dev/null; then
HOMESHICK_DIR=%{buildroot}%{_datadir}/%{name} bats test/suites
fi
%files
%defattr(-,root,root)
%doc README.md README-openSUSE.md LICENSE CONTRIBUTING.md
%{_datadir}/%{name}
%{_bindir}/homeshick
%changelog