[packages/docker-registry] new package, version 0.9.1
glen
glen at pld-linux.org
Tue Apr 26 23:04:58 CEST 2016
commit 2383e8308c76d00672093772f0d89c35ea28b13a
Author: Elan Ruusamäe <glen at delfi.ee>
Date: Wed Apr 27 00:03:52 2016 +0300
new package, version 0.9.1
based on fedora package, e43fe6a
this is actually deprecated old version
docker-registry.service | 13 ++++++
docker-registry.spec | 101 +++++++++++++++++++++++++++++++++++++++
docker-registry.sysconfig | 14 ++++++
docker-registry.sysvinit | 117 ++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 245 insertions(+)
---
diff --git a/docker-registry.spec b/docker-registry.spec
new file mode 100644
index 0000000..8c8389b
--- /dev/null
+++ b/docker-registry.spec
@@ -0,0 +1,101 @@
+Summary: Registry server for Docker
+Name: docker-registry
+Version: 0.9.1
+Release: 0.1
+License: Apache v2.0
+Group: Networking/Daemons
+Source0: https://github.com/docker/docker-registry/archive/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: ec1e5dc5ae9bbea8cecd4d763c84bf74
+URL: https://github.com/docker/docker-registry
+Source1: %{name}.service
+Source2: %{name}.sysconfig
+Source3: %{name}.sysvinit
+BuildRequires: python-devel
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.714
+BuildRequires: systemd
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/chkconfig
+Requires(postun): rc-scripts
+Requires: python-M2Crypto
+Requires: python-PyYAML >= 3.11
+Requires: python-SQLAlchemy >= 0.9.4
+Requires: python-backports-lzma
+Requires: python-blinker >= 1.3
+Requires: python-docker-registry-core >= 2.0.2-1
+Requires: python-flask >= 0.10.1
+Requires: python-gevent >= 1.0.1
+Requires: python-gunicorn >= 19.1.1
+Requires: python-importlib
+Requires: python-requests >= 2.3.0
+BuildArch: noarch
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Registry server for Docker (hosting/delivering of repositories and
+images).
+
+%prep
+%setup -q
+
+# Remove the golang implementation
+# It's not the main one (yet?)
+rm -r contrib/golang_impl
+find -name "*.py" -print | xargs sed -i '/flask_cors/d'
+
+%build
+%py_build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
+ $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name} \
+ $RPM_BUILD_ROOT%{systemdunitdir} \
+ $RPM_BUILD_ROOT%{_sharedstatedir}/%{name} \
+
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+
+# Make sure we set proper WorkingDir in the systemd service file
+sed -i "s|#WORKDIR#|%{py_sitescriptdir}/%{name}|" $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+# Make sure we set proper working dir in the sysvinit file
+sed -i "s|#WORKDIR#|%{py_sitescriptdir}/%{name}|" $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+
+cp -a docker_registry tests $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}
+cp config/config_sample.yml $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.yml
+sed -i 's/\/tmp\/registry/\/var\/lib\/docker-registry/g' $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.yml
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+/sbin/chkconfig --add %{name}
+%systemd_post %{name}.service
+
+%preun
+if [ $1 -eq 0 ] ; then
+ %service %{name} stop
+ /sbin/chkconfig --del %{name}
+fi
+%systemd_preun %{name}.service
+
+%postun
+if [ "$1" -ge "1" ] ; then
+ %service %{name} condrestart
+fi
+%systemd_reload
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS CHANGELOG.md LICENSE README.md
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.yml
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%dir %{py_sitescriptdir}/%{name}
+%{py_sitescriptdir}/%{name}/*
+%dir %{_sharedstatedir}/%{name}
+%{systemdunitdir}/%{name}.service
diff --git a/docker-registry.service b/docker-registry.service
new file mode 100644
index 0000000..394bc0f
--- /dev/null
+++ b/docker-registry.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Registry server for Docker
+
+[Service]
+Type=simple
+Environment=DOCKER_REGISTRY_CONFIG=/etc/docker-registry.yml
+EnvironmentFile=-/etc/sysconfig/docker-registry
+WorkingDirectory=#WORKDIR#
+ExecStart=/usr/bin/gunicorn --access-logfile - --debug --max-requests 100 --graceful-timeout 3600 -t 3600 -k gevent -b ${REGISTRY_ADDRESS}:${REGISTRY_PORT} -w $GUNICORN_WORKERS docker_registry.wsgi:application
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/docker-registry.sysconfig b/docker-registry.sysconfig
new file mode 100644
index 0000000..33eb95c
--- /dev/null
+++ b/docker-registry.sysconfig
@@ -0,0 +1,14 @@
+# The Docker registry configuration file
+DOCKER_REGISTRY_CONFIG=/etc/docker-registry.yml
+
+# The configuration to use from DOCKER_REGISTRY_CONFIG file
+SETTINGS_FLAVOR=local
+
+# Address to bind the registry to
+REGISTRY_ADDRESS=0.0.0.0
+
+# Port to bind the registry to
+REGISTRY_PORT=5000
+
+# Number of workers to handle the connections
+GUNICORN_WORKERS=4
diff --git a/docker-registry.sysvinit b/docker-registry.sysvinit
new file mode 100755
index 0000000..57b25ac
--- /dev/null
+++ b/docker-registry.sysvinit
@@ -0,0 +1,117 @@
+#!/bin/sh
+#
+# /etc/rc.d/init.d/docker-registry
+#
+# Registry server for Docker
+#
+# chkconfig: 2345 93 93
+# description: Registry server for Docker
+
+### BEGIN INIT INFO
+# Provides: docker-registry
+# Required-Start: $network
+# Required-Stop:
+# Should-Start:
+# Should-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: start and stop Docker registry
+# Description: Registry server for Docker
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+exec="/usr/bin/python"
+prog="docker-registry"
+pidfile="/var/run/$prog.pid"
+lockfile="/var/lock/subsys/$prog"
+logfile="/var/log/$prog"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+export DOCKER_REGISTRY_CONFIG=${DOCKER_REGISTRY_CONFIG:-"/etc/docker-registry.yml"}
+export SETTINGS_FLAVOR=${SETTINGS_FLAVOR:-"dev"}
+
+start() {
+ [ -x $exec ] || exit 5
+
+ if ! [ -f $pidfile ]; then
+ cd #WORKDIR#
+ printf "Starting $prog:\t"
+ $exec /usr/bin/gunicorn --access-logfile - --debug --max-requests 100 --graceful-timeout 3600 -t 3600 -k gevent -b ${REGISTRY_ADDRESS}:${REGISTRY_PORT} -w $GUNICORN_WORKERS docker_registry.wsgi:application &>> $logfile &
+ pid=$!
+ echo $pid > $pidfile
+ touch $lockfile
+ success
+ echo
+ else
+ failure
+ echo
+ printf "$pidfile still exists...\n"
+ exit 7
+ fi
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p $pidfile $prog
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+ return $retval
+}
+
+restart() {
+ stop
+ start
+}
+
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ status -p $pidfile $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+
+exit $?
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/docker-registry.git/commitdiff/2383e8308c76d00672093772f0d89c35ea28b13a
More information about the pld-cvs-commit
mailing list