homeshick/homeshick.spec

90 lines
3.1 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
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
dotfiles. It leverages Git repositories to store and version dotfiles, and to
synchronize dotfile repositories between accounts and/or machines.
For example, this allows installing large external frameworks (such as
oh-my-zsh, or a multitude of emacs or vim plugins) found on sites like
https://dotfiles.github.io/ alongside personal dotfiles without clutter.
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