github.com/rsampaio/docker@v0.7.2-0.20150827203920-fdc73cc3fc31/hack/make/.build-rpm/docker-engine.spec (about) 1 Name: docker-engine 2 Version: %{_version} 3 Release: %{_release}%{?dist} 4 Summary: The open-source application container engine 5 Group: Tools/Docker 6 7 License: ASL 2.0 8 Source: %{name}.tar.gz 9 10 URL: https://dockerproject.org 11 Vendor: Docker 12 Packager: Docker <support@docker.com> 13 14 # docker builds in a checksum of dockerinit into docker, 15 # # so stripping the binaries breaks docker 16 %global __os_install_post %{_rpmconfigdir}/brp-compress 17 %global debug_package %{nil} 18 19 # is_systemd conditional 20 %if 0%{?fedora} >= 21 || 0%{?centos} >= 7 || 0%{?rhel} >= 7 21 %global is_systemd 1 22 %endif 23 24 # required packages for build 25 # most are already in the container (see contrib/builder/rpm/generate.sh) 26 # only require systemd on those systems 27 %if 0%{?is_systemd} 28 BuildRequires: pkgconfig(systemd) 29 Requires: systemd-units 30 %else 31 Requires(post): chkconfig 32 Requires(preun): chkconfig 33 # This is for /sbin/service 34 Requires(preun): initscripts 35 %endif 36 37 # required packages on install 38 Requires: /bin/sh 39 Requires: iptables 40 Requires: libcgroup 41 Requires: tar 42 Requires: xz 43 %if 0%{?fedora} >= 21 44 # Resolves: rhbz#1165615 45 Requires: device-mapper-libs >= 1.02.90-1 46 %endif 47 %if 0%{?oraclelinux} == 6 48 # Require Oracle Unbreakable Enterprise Kernel R3 and newer device-mapper 49 Requires: kernel-uek >= 3.8 50 Requires: device-mapper >= 1.02.90-2 51 %endif 52 53 # conflicting packages 54 Conflicts: docker 55 Conflicts: docker-io 56 57 %description 58 Docker is an open source project to build, ship and run any application as a 59 lightweight container. 60 61 Docker containers are both hardware-agnostic and platform-agnostic. This means 62 they can run anywhere, from your laptop to the largest EC2 compute instance and 63 everything in between - and they don't require you to use a particular 64 language, framework or packaging system. That makes them great building blocks 65 for deploying and scaling web apps, databases, and backend services without 66 depending on a particular stack or provider. 67 68 %prep 69 %if 0%{?centos} <= 6 70 %setup -n %{name} 71 %else 72 %autosetup -n %{name} 73 %endif 74 75 %build 76 ./hack/make.sh dynbinary 77 # ./man/md2man-all.sh runs outside the build container (if at all), since we don't have go-md2man here 78 79 %check 80 ./bundles/%{_origversion}/dynbinary/docker -v 81 82 %install 83 # install binary 84 install -d $RPM_BUILD_ROOT/%{_bindir} 85 install -p -m 755 bundles/%{_origversion}/dynbinary/docker-%{_origversion} $RPM_BUILD_ROOT/%{_bindir}/docker 86 87 # install dockerinit 88 install -d $RPM_BUILD_ROOT/%{_libexecdir}/docker 89 install -p -m 755 bundles/%{_origversion}/dynbinary/dockerinit-%{_origversion} $RPM_BUILD_ROOT/%{_libexecdir}/docker/dockerinit 90 91 # install udev rules 92 install -d $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d 93 install -p -m 755 contrib/udev/80-docker.rules $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/80-docker.rules 94 95 # add init scripts 96 install -d $RPM_BUILD_ROOT/etc/sysconfig 97 install -d $RPM_BUILD_ROOT/%{_initddir} 98 99 100 %if 0%{?is_systemd} 101 install -d $RPM_BUILD_ROOT/%{_unitdir} 102 install -p -m 644 contrib/init/systemd/docker.service $RPM_BUILD_ROOT/%{_unitdir}/docker.service 103 install -p -m 644 contrib/init/systemd/docker.socket $RPM_BUILD_ROOT/%{_unitdir}/docker.socket 104 %endif 105 106 install -p -m 644 contrib/init/sysvinit-redhat/docker.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/docker 107 install -p -m 755 contrib/init/sysvinit-redhat/docker $RPM_BUILD_ROOT/%{_initddir}/docker 108 109 # add bash completions 110 install -d $RPM_BUILD_ROOT/usr/share/bash-completion/completions 111 install -d $RPM_BUILD_ROOT/usr/share/zsh/vendor-completions 112 install -d $RPM_BUILD_ROOT/usr/share/fish/completions 113 install -p -m 644 contrib/completion/bash/docker $RPM_BUILD_ROOT/usr/share/bash-completion/completions/docker 114 install -p -m 644 contrib/completion/zsh/_docker $RPM_BUILD_ROOT/usr/share/zsh/vendor-completions/_docker 115 install -p -m 644 contrib/completion/fish/docker.fish $RPM_BUILD_ROOT/usr/share/fish/completions/docker.fish 116 117 # install manpages 118 install -d %{buildroot}%{_mandir}/man1 119 install -p -m 644 man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1 120 install -d %{buildroot}%{_mandir}/man5 121 install -p -m 644 man/man5/*.5 $RPM_BUILD_ROOT/%{_mandir}/man5 122 123 # add vimfiles 124 install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/doc 125 install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/ftdetect 126 install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/syntax 127 install -p -m 644 contrib/syntax/vim/doc/dockerfile.txt $RPM_BUILD_ROOT/usr/share/vim/vimfiles/doc/dockerfile.txt 128 install -p -m 644 contrib/syntax/vim/ftdetect/dockerfile.vim $RPM_BUILD_ROOT/usr/share/vim/vimfiles/ftdetect/dockerfile.vim 129 install -p -m 644 contrib/syntax/vim/syntax/dockerfile.vim $RPM_BUILD_ROOT/usr/share/vim/vimfiles/syntax/dockerfile.vim 130 131 # add nano 132 install -d $RPM_BUILD_ROOT/usr/share/nano 133 install -p -m 644 contrib/syntax/nano/Dockerfile.nanorc $RPM_BUILD_ROOT/usr/share/nano/Dockerfile.nanorc 134 135 # list files owned by the package here 136 %files 137 /%{_bindir}/docker 138 /%{_libexecdir}/docker/dockerinit 139 /%{_sysconfdir}/udev/rules.d/80-docker.rules 140 %if 0%{?is_systemd} 141 /%{_unitdir}/docker.service 142 /%{_unitdir}/docker.socket 143 %endif 144 /etc/sysconfig/docker 145 /%{_initddir}/docker 146 /usr/share/bash-completion/completions/docker 147 /usr/share/zsh/vendor-completions/_docker 148 /usr/share/fish/completions/docker.fish 149 %doc 150 /%{_mandir}/man1/* 151 /%{_mandir}/man5/* 152 /usr/share/vim/vimfiles/doc/dockerfile.txt 153 /usr/share/vim/vimfiles/ftdetect/dockerfile.vim 154 /usr/share/vim/vimfiles/syntax/dockerfile.vim 155 /usr/share/nano/Dockerfile.nanorc 156 157 %post 158 %if 0%{?is_systemd} 159 %systemd_post docker 160 %else 161 # This adds the proper /etc/rc*.d links for the script 162 /sbin/chkconfig --add docker 163 %endif 164 if ! getent group docker > /dev/null; then 165 groupadd --system docker 166 fi 167 168 %preun 169 %if 0%{?is_systemd} 170 %systemd_preun docker 171 %else 172 if [ $1 -eq 0 ] ; then 173 /sbin/service docker stop >/dev/null 2>&1 174 /sbin/chkconfig --del docker 175 fi 176 %endif 177 178 %postun 179 %if 0%{?is_systemd} 180 %systemd_postun_with_restart docker 181 %else 182 if [ "$1" -ge "1" ] ; then 183 /sbin/service docker condrestart >/dev/null 2>&1 || : 184 fi 185 %endif 186 187 %changelog