# # 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