Peter Lemenkov 2cd176
%global debug_package %{nil}
Jan Chaloupka 88090d
%global import_path     github.com/coreos/etcd
Jan Chaloupka 88090d
%global gopath          %{_datadir}/gocode
cypret deee4e
cypret deee4e
Name:		etcd
Jan Chaloupka 88090d
Version:	0.4.6
Jan Chaloupka 9ea7af
Release:	6%{?dist}
cypret deee4e
Summary:	A highly-available key value store for shared configuration
cypret deee4e
cypret deee4e
License:	ASL 2.0
cypret deee4e
URL:		https://github.com/coreos/etcd/
Jan Chaloupka 88090d
Source0:	https://github.com/coreos/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Peter Lemenkov 2cd176
Source1:	etcd.service
Jan Chaloupka 88090d
Source2:	etcd.conf
Jan Chaloupka 88090d
Patch0:         0001-De-bundle-third_party.patch
cypret deee4e
cypret deee4e
BuildRequires:	golang
Jan Chaloupka 88090d
BuildRequires:	golang(code.google.com/p/gogoprotobuf)
Jan Chaloupka 88090d
BuildRequires:	golang(github.com/BurntSushi/toml)
Jan Chaloupka 88090d
BuildRequires:	golang(github.com/gorilla/mux)
Jan Chaloupka 88090d
BuildRequires:	golang(github.com/mreiferson/go-httpclient)
Peter Lemenkov eeea1a
BuildRequires:	golang(bitbucket.org/kardianos/osext)
Peter Lemenkov eeea1a
BuildRequires:	golang(github.com/coreos/go-log/log)
Peter Lemenkov eeea1a
BuildRequires:	golang(github.com/coreos/go-systemd)
Jan Chaloupka 88090d
BuildRequires:	golang(github.com/rcrowley/go-metrics)
Peter Lemenkov 2cd176
BuildRequires:	systemd
Peter Lemenkov 2cd176
Jan Chaloupka 88090d
Requires(pre):	shadow-utils
Peter Lemenkov 2cd176
Requires(post): systemd
Peter Lemenkov 2cd176
Requires(preun): systemd
Peter Lemenkov 2cd176
Requires(postun): systemd
cypret deee4e
cypret deee4e
%description
cypret deee4e
A highly-available key value store for shared configuration.
cypret deee4e
Jan Chaloupka 88090d
%package devel
Jan Chaloupka 88090d
BuildRequires:  golang
Jan Chaloupka 88090d
BuildRequires:  golang(code.google.com/p/gogoprotobuf)
Jan Chaloupka 88090d
BuildRequires:  golang(github.com/BurntSushi/toml)
Jan Chaloupka 88090d
BuildRequires:  golang(github.com/gorilla/mux)
Jan Chaloupka 88090d
BuildRequires:  golang(github.com/mreiferson/go-httpclient)
Jan Chaloupka 88090d
BuildRequires:  golang(bitbucket.org/kardianos/osext)
Jan Chaloupka 88090d
BuildRequires:  golang(github.com/coreos/go-log/log)
Jan Chaloupka 88090d
BuildRequires:  golang(github.com/coreos/go-systemd)
Jan Chaloupka 88090d
BuildRequires:  golang(github.com/rcrowley/go-metrics)
Jan Chaloupka 88090d
Requires:       golang
Jan Chaloupka 88090d
Summary:        etcd golang devel libraries
Jan Chaloupka 88090d
Provides:       golang(%{import_path}) = %{version}-%{release}
Jan Chaloupka 88090d
Jan Chaloupka 88090d
%description devel
Jan Chaloupka 88090d
golang development libraries for etcd, a highly-available key value store for
Jan Chaloupka 88090d
shared configuration.
Jan Chaloupka 88090d
cypret deee4e
%prep
Jan Chaloupka 88090d
%setup -q -n %{name}-%{version}
Jan Chaloupka 88090d
%patch0 -p1
Peter Lemenkov cf242a
echo "package main
Peter Lemenkov cf242a
const releaseVersion = \"%{version}\"" > release_version.go
Jan Chaloupka 88090d
Jan Chaloupka 88090d
# etcd has its own fork of the client API
Jan Chaloupka 88090d
mkdir tmp
Jan Chaloupka 88090d
mv third_party/github.com/coreos/go-etcd tmp
Jan Chaloupka 88090d
# And a raft fork: https://bugzilla.redhat.com/show_bug.cgi?id=1047194#c12
Jan Chaloupka 88090d
mv third_party/github.com/goraft tmp
Jan Chaloupka 88090d
Jan Chaloupka 88090d
# Nuke everything else though
Peter Lemenkov eeea1a
rm -rf third_party
Jan Chaloupka 88090d
Jan Chaloupka 88090d
# And restore the third party bits we're keeping
Jan Chaloupka 88090d
mkdir -p third_party/github.com/coreos/
Jan Chaloupka 88090d
mv tmp/go-etcd third_party/github.com/coreos/
Jan Chaloupka 88090d
mv tmp/goraft third_party/github.com/
Jan Chaloupka 88090d
rmdir tmp
Jan Chaloupka 88090d
Peter Lemenkov eeea1a
# Make link for etcd itself
Peter Lemenkov cf242a
mkdir -p src/github.com/coreos
Peter Lemenkov cf242a
ln -s ../../../ src/github.com/coreos/etcd
cypret deee4e
cypret deee4e
%build
Jan Chaloupka 88090d
GOPATH="${PWD}:%{_datadir}/gocode" go build -v -x -o etcd.bin
cypret deee4e
cypret deee4e
%install
Jan Chaloupka 88090d
install -d -m 0755 %{buildroot}%{_sysconfdir}/etcd
Jan Chaloupka 88090d
install -m 644 -t %{buildroot}%{_sysconfdir}/etcd %{SOURCE2}
Jan Chaloupka 88090d
install -D -p -m 0755 etcd.bin %{buildroot}%{_bindir}/etcd
Peter Lemenkov 2cd176
install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
Jan Chaloupka 88090d
Jan Chaloupka 88090d
# And create /var/lib/etcd
Jan Chaloupka 88090d
install -d -m 0755 %{buildroot}%{_localstatedir}/lib/etcd
Jan Chaloupka 88090d
Jan Chaloupka 88090d
# Install files for devel sub-package
Jan Chaloupka 88090d
install -d %{buildroot}/%{gopath}/src/%{import_path}
Jan Chaloupka 88090d
cp -av main.go %{buildroot}/%{gopath}/src/%{import_path}/
Jan Chaloupka 88090d
cp -av go_version.go %{buildroot}/%{gopath}/src/%{import_path}/
Jan Chaloupka 88090d
for dir in bench config discovery Documentation error etcd fixtures http log \
Jan Chaloupka 88090d
           metrics mod pkg server store tests
Jan Chaloupka 88090d
do
Jan Chaloupka 88090d
    cp -av ${dir} %{buildroot}/%{gopath}/src/%{import_path}/
Jan Chaloupka 88090d
done
Peter Lemenkov 2cd176
Peter Lemenkov cf242a
%check
Peter Lemenkov cf242a
# empty for now
Peter Lemenkov cf242a
Jan Chaloupka 88090d
%pre
Jan Chaloupka 88090d
getent group etcd >/dev/null || groupadd -r etcd
Jan Chaloupka 88090d
getent passwd etcd >/dev/null || useradd -r -g etcd -d %{_localstatedir}/lib/etcd \
Jan Chaloupka 88090d
	-s /sbin/nologin -c "etcd user" etcd
Peter Lemenkov 2cd176
%post
Peter Lemenkov 2cd176
%systemd_post %{name}.service
cypret deee4e
Peter Lemenkov 2cd176
%preun
Peter Lemenkov 2cd176
%systemd_preun %{name}.service
Peter Lemenkov 2cd176
Peter Lemenkov 2cd176
%postun
Peter Lemenkov 2cd176
%systemd_postun %{name}.service
cypret deee4e
cypret deee4e
%files
Jan Chaloupka 88090d
%config(noreplace) %{_sysconfdir}/etcd
cypret deee4e
%{_bindir}/etcd
Jan Chaloupka 88090d
%dir %attr(-,etcd,etcd) %{_localstatedir}/lib/etcd
Peter Lemenkov 2cd176
%{_unitdir}/%{name}.service
cypret deee4e
%doc LICENSE README.md Documentation/internal-protocol-versioning.md
cypret deee4e
Jan Chaloupka 88090d
%files devel
Jan Chaloupka 88090d
%doc LICENSE README.md Documentation/internal-protocol-versioning.md
Jan Chaloupka 88090d
%dir %attr(755,root,root) %{gopath}/src/github.com/coreos
Jan Chaloupka 88090d
%dir %attr(755,root,root) %{gopath}/src/%{import_path}
Jan Chaloupka 88090d
%{gopath}/src/%{import_path}/*
Jan Chaloupka 88090d
cypret deee4e
%changelog
Jan Chaloupka 9ea7af
* Mon Oct 06 2014 jchaloup <jchaloup@redhat.com> - 0.4.6-6
Jan Chaloupka 9ea7af
- related: #1047194
Jan Chaloupka 9ea7af
  Remove dependency on go.net
Jan Chaloupka 9ea7af
Jan Chaloupka bcb6be
* Mon Oct 06 2014 jchaloup <jchaloup@redhat.com> - 0.4.6-5
Jan Chaloupka bcb6be
- Fix the .service file so it can launch!
Jan Chaloupka bcb6be
  related: #1047194
Jan Chaloupka bcb6be
Jan Chaloupka 88090d
* Mon Sep 22 2014 jchaloup <jchaloup@redhat.com> - 0.4.6-4
Jan Chaloupka 88090d
- resolves: #1047194
Jan Chaloupka 88090d
  Update to 0.4.6 from https://github.com/projectatomic/etcd-package
Jan Chaloupka 88090d
Jan Chaloupka 88090d
* Tue Aug 19 2014 Adam Miller <maxamillion@fedoraproject.org> - 0.4.6-3
Jan Chaloupka 88090d
- Add devel sub-package
Jan Chaloupka 88090d
Jan Chaloupka 88090d
* Wed Aug 13 2014 Eric Paris <eparis@redhat.com> - 0.4.6-2
Jan Chaloupka 88090d
- Bump to 0.4.6
Jan Chaloupka 88090d
- run as etcd, not root
Peter Robinson 404796
Dennis Gilmore 80eb5e
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.2-6
Dennis Gilmore 80eb5e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
Dennis Gilmore 80eb5e
Peter Lemenkov eeea1a
* Sun Oct 20 2013 Peter Lemenkov <lemenkov@gmail.com> - 0.1.2-5
Peter Lemenkov eeea1a
- goprotobuf library unbundled (see rhbz #1018477)
Peter Lemenkov eeea1a
- go-log library unbundled (see rhbz #1018478)
Peter Lemenkov eeea1a
- go-raft library unbundled (see rhbz #1018479)
Peter Lemenkov eeea1a
- go-systemd library unbundled (see rhbz #1018480)
Peter Lemenkov eeea1a
- kardianos library unbundled (see rhbz #1018481)
Peter Lemenkov eeea1a
Peter Lemenkov 4ebcf6
* Sun Oct 13 2013 Peter Lemenkov <lemenkov@gmail.com> - 0.1.2-4
Peter Lemenkov 4ebcf6
- go.net library unbundled (see rhbz #1018476)
Peter Lemenkov 4ebcf6
Peter Lemenkov cf242a
* Sat Oct 12 2013 Peter Lemenkov <lemenkov@gmail.com> - 0.1.2-3
Peter Lemenkov cf242a
- Prepare for packages unbundling
Peter Lemenkov cf242a
- Verbose build
Peter Lemenkov cf242a
Peter Lemenkov 7c88c2
* Sat Oct 12 2013 Peter Lemenkov <lemenkov@gmail.com> - 0.1.2-2
Peter Lemenkov 7c88c2
- Fix typo in the etc.service file
Peter Lemenkov 7c88c2
Peter Lemenkov 2cd176
* Sat Oct 12 2013 Peter Lemenkov <lemenkov@gmail.com> - 0.1.2-1
Peter Lemenkov 2cd176
- Ver. 0.1.2
Peter Lemenkov 2cd176
- Integrate with systemd
Peter Lemenkov 2cd176
cypret deee4e
* Mon Aug 26 2013 Luke Cypret <cypret@fedoraproject.org> - 0.1.1-1
Peter Lemenkov cf242a
- Initial creation