[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