X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=lxc-docker.spec;h=1434388907ce09d01ffa4fc3840218b5b417f3b6;hb=51de77f00805ac7696ebe166a631d9dac2a0b672;hp=47cb39b26049adbc5075a89c3a50f4bd8e85a3ca;hpb=434d66d3c941063072c0d9b9b9a52d262ef5b3af;p=packages%2Fdocker.git diff --git a/lxc-docker.spec b/lxc-docker.spec index 47cb39b..1434388 100644 --- a/lxc-docker.spec +++ b/lxc-docker.spec @@ -1,24 +1,44 @@ +# +# Conditional build: +%bcond_with tests # build without tests + Summary: Docker: the Linux container engine Name: lxc-docker -Version: 0.5.3 -Release: 0.1 +Version: 0.6.6 +Release: 1 License: Apache v2.0 Group: Applications/System -Source0: https://github.com/dotcloud/docker/archive/v%{version}.tar.gz -# Source0-md5: ff7b814574bbaf9e55dfe1c266ae991e -Source1: https://github.com/gorilla/context/archive/master.tar.gz?/gorilla-context.tgz -# Source1-md5: 621f599f7a49f56ca89c25a6d01ecc3a -Source2: https://github.com/gorilla/mux/archive/master.tar.gz?/gorilla-mux.tgz -# Source2-md5: e908c7da6b4b8b61b4733d4a348f015c -Source3: https://github.com/kr/pty/archive/master.tar.gz?/kr-pty.tgz -# Source3-md5: ffdcacc582c7b6404e71c2dce638869e +Source0: https://github.com/dotcloud/docker/archive/v%{version}/docker-%{version}.tar.gz +# Source0-md5: f2c0c73d9bd39a33bb73e466ca8f58c9 +Source6: %{name}.init URL: http://github.com/dotcloud/docker -BuildRequires: git-core -BuildRequires: golang >= 1.1 -Requires: lxc +BuildRequires: golang >= 1.1.2 +BuildRequires: rpmbuild(macros) >= 1.228 +BuildRequires: sqlite3-devel >= 3.7.9 +Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires: iproute2 >= 3.5 +Requires: iptables +Requires: lxc >= 0.8 +Requires: rc-scripts >= 0.4.0.10 +Requires: tar >= 1:1.26 Requires: uname(release) >= 3.8 +Requires: xz +Suggests: git-core >= 1.7 +Suggests: libcgroup +Suggests: xz >= 1:4.9 +Provides: group(docker) +# only runs on x64 hosts for now: +# https://github.com/dotcloud/docker/issues/136 +# https://github.com/dotcloud/docker/issues/611 +ExclusiveArch: %{x8664} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define bash_compdir %{_datadir}/bash-completion/completions +%define _vimdatadir %{_datadir}/vim + # binary stripped or something %define _enable_debug_packages 0 @@ -31,30 +51,86 @@ Docker is a great building block for automating distributed systems: large-scale web deployments, database clusters, continuous deployment systems, private PaaS, service-oriented architectures, etc. +%package -n bash-completion-%{name} +Summary: bash-completion for Docker +Summary(pl.UTF-8): bashowe uzupełnianie nazw dla Dockera +Group: Applications/Shells +Requires: %{name} +Requires: bash-completion >= 2.0 +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description -n bash-completion-lxc-docker +This package provides bash-completion for Docker. + +%description -n bash-completion-lxc-docker -l pl.UTF-8 +Pakiet ten dostarcza bashowe uzupełnianie nazw dla Dockera. + +%package -n vim-syntax-%{name} +Summary: Vim syntax: Docker +Group: Applications/Editors/Vim +Requires: %{name} = %{version}-%{release} +Requires: vim-rt >= 4:7.2.170 +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description -n vim-syntax-%{name} +This plugin provides syntax highlighting in Dockerfile. + %prep -%setup -q -n docker-%{version} -a1 -a2 -a3 +%setup -q -n docker-%{version} -# handle external deps offline -install -d .gopath/src/github.com/{gorilla,kr} -# git clone https://github.com/gorilla/context .gopath/src/github.com/gorilla/context -mv context-master .gopath/src/github.com/gorilla/context -# git clone https://github.com/gorilla/mux .gopath/src/github.com/gorilla/mux -mv mux-master .gopath/src/github.com/gorilla/mux -# git clone https://github.com/kr/pty .gopath/src/github.com/kr/pty -mv pty-master .gopath/src/github.com/kr/pty +install -d vendor/src/github.com/dotcloud +ln -s $(pwd) vendor/src/github.com/dotcloud/docker %build -# avoid interfering with builder env -unset GIT_WORK_TREE -unset GIT_DIR -%{__make} VERBOSE=1 +export GOPATH=$(pwd)/vendor +install -d build +cd build +VERSION=%{version} +GITCOMMIT=pld-%{release} # use RPM_PACKAGE_RELEASE for this +# Use these flags when compiling the tests and final binary +# without '-d', as that fails now +LDFLAGS="-X main.GITCOMMIT $GITCOMMIT -X main.VERSION $VERSION -w" +go build -v -ldflags "$LDFLAGS" -a github.com/dotcloud/docker/docker %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,/var/lib/docker/{containers,graph,volumes}} -install -p bin/docker $RPM_BUILD_ROOT%{_bindir}/lxc-docker +install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,/etc/rc.d/init.d,/var/lib/docker/{containers,graph,volumes}} +install -p build/docker $RPM_BUILD_ROOT%{_bindir}/lxc-docker +install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/lxc-docker ln -s lxc-docker $RPM_BUILD_ROOT%{_bindir}/docker -cp -p packaging/debian/lxc-docker.1 $RPM_BUILD_ROOT%{_mandir}/man1 +#cp -p packaging/debian/lxc-docker.1 $RPM_BUILD_ROOT%{_mandir}/man1 + +# bash completion +install -d $RPM_BUILD_ROOT%{bash_compdir} +cp -p contrib/completion/bash/docker $RPM_BUILD_ROOT%{bash_compdir}/lxc-docker +ln -s lxc-docker $RPM_BUILD_ROOT%{bash_compdir}/docker + +# vim syntax +install -d $RPM_BUILD_ROOT%{_vimdatadir} +cp -a contrib/vim-syntax/* $RPM_BUILD_ROOT%{_vimdatadir} +%{__rm} $RPM_BUILD_ROOT%{_vimdatadir}/{LICENSE,README.md} + +%pre +%groupadd -g 296 docker + +%post +/sbin/chkconfig --add %{name} +%service -n %{name} restart + +%preun +if [ "$1" = "0" ]; then + %service -q %{name} stop + /sbin/chkconfig --del %{name} +fi + +%postun +if [ "$1" = "0" ]; then + %groupremove docker +fi %clean rm -rf $RPM_BUILD_ROOT @@ -62,10 +138,23 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc README.md CHANGELOG.md CONTRIBUTING.md FIXME LICENSE AUTHORS NOTICE MAINTAINERS +%attr(754,root,root) /etc/rc.d/init.d/lxc-docker %attr(755,root,root) %{_bindir}/lxc-docker %attr(755,root,root) %{_bindir}/docker -%{_mandir}/man1/lxc-docker.1* +#%{_mandir}/man1/lxc-docker.1* %dir %attr(700,root,root) /var/lib/docker %dir %attr(700,root,root) /var/lib/docker/containers %dir %attr(700,root,root) /var/lib/docker/graph %dir %attr(700,root,root) /var/lib/docker/volumes + +%files -n bash-completion-%{name} +%defattr(644,root,root,755) +%{bash_compdir}/lxc-docker +%{bash_compdir}/docker + +%files -n vim-syntax-%{name} +%defattr(644,root,root,755) +%doc contrib/vim-syntax/{README.md,LICENSE} +%{_vimdatadir}/doc/dockerfile.txt +%{_vimdatadir}/ftdetect/dockerfile.vim +%{_vimdatadir}/syntax/dockerfile.vim