golang, docker in main iproute2 verbump

This commit is contained in:
Ertuğrul Erata
2015-07-20 21:58:40 +03:00
parent a73ae62ef9
commit 1df4491df4
17 changed files with 527 additions and 1 deletions
+3
View File
@@ -0,0 +1,3 @@
<PISI>
<Name>hardware.virtualization</Name>
</PISI>
+39
View File
@@ -0,0 +1,39 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import pisitools
from pisi.actionsapi import autotools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
shelltools.export("AUTO_GOPATH", "1")
shelltools.export("DOCKER_GITCOMMIT", "0baf609") #DOCKER_GITCOMMIT="0baf609"
shelltools.export("GOPATH", "%s" % get.workDIR())
shelltools.export("CGO_CFLAGS", "-I/usr/include")
shelltools.export("CGO_LDFLAGS", "-L/usr/lib")
shelltools.export("DOCKER_BUILDTAGS","exclude_graphdriver_aufs")
shelltools.export("DOCKER_INITPATH", "/usr/libexec/docker/dockerinit")
NoStrip=["/"]
def build():
shelltools.system("./hack/make.sh dynbinary")
def install():
pisitools.dobin("bundles/1.7.0/dynbinary/docker")
pisitools.dobin("bundles/1.7.0/dynbinary/docker-1.7.0")
pisitools.doexe("bundles/1.7.0/dynbinary/dockerinit", "/usr/libexec/docker")
pisitools.doexe("bundles/1.7.0/dynbinary/dockerinit-1.7.0", "/usr/libexec/docker")
# insert udev rules
pisitools.insinto("/etc/udev/rules.d", "contrib/udev/*.rules")
#insert contrib in docs
pisitools.insinto("/usr/share/doc/docker", "contrib")
pisitools.dodoc("VERSION", "LICENSE", "README.md", "AUTHORS", "CONTRIBUTING.md", "CHANGELOG.md", "NOTICE")
@@ -0,0 +1,24 @@
#!/usr/bin/python
import os, re
OUR_ID = 154
OUR_NAME = "docker"
OUR_DESC = "docker"
logfile = "/var/log/docker.log"
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
try:
os.system ("usr/sbin/groupadd -g %d %s" % (OUR_ID, OUR_NAME))
os.system("/bin/touch %s" % logfile)
os.system("/bin/chown root:docker %s" % logfile)
os.system("chmod 0644 %s" % logfile)
except:
pass
def preRemove():
try:
os.system ("groupdel %s" % OUR_NAME)
except:
pass
@@ -0,0 +1,31 @@
from comar.service import *
import os
serviceType = "local"
serviceDefault = "off"
serviceDesc = _({"en": "Docker Management Service",
"tr": "Docker Yönetim Hizmeti"})
serviceConf = "docker"
pidfile = "/var/run/docker.pid"
logfile = "/var/log/docker.log"
@synchronized
def start():
os.environ["PATH"] = "/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin"
os.system("/sbin/modprobe -va bridge nf_nat br_netfilter")
startService(command="/usr/bin/docker",
args="-d %s" % (config.get("DOCKER_OPTS", "")),
chuid="root:docker",
pidfile="/var/run/docker.pid",
donotify=True)
@synchronized
def stop():
stopService(command="/usr/bin/docker",
pidfile="/var/run/docker.pid",
donotify=True)
def status():
return isServiceRunning(pidfile)
+54
View File
@@ -0,0 +1,54 @@
#!/bin/sh
# Copyright 2011 Canonical, Inc
# 2014 Tianon Gravi
# Author: Serge Hallyn <serge.hallyn@canonical.com>
# Tianon Gravi <admwiggin@gmail.com>
set -e
# for simplicity this script provides no flexibility
# if cgroup is mounted by fstab, don't run
# don't get too smart - bail on any uncommented entry with 'cgroup' in it
if grep -v '^#' /etc/fstab | grep -q cgroup; then
echo 'cgroups mounted from fstab, not mounting /sys/fs/cgroup'
exit 0
fi
# kernel provides cgroups?
if [ ! -e /proc/cgroups ]; then
exit 0
fi
# if we don't even have the directory we need, something else must be wrong
if [ ! -d /sys/fs/cgroup ]; then
exit 0
fi
# mount /sys/fs/cgroup if not already done
if ! mountpoint -q /sys/fs/cgroup; then
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup
fi
cd /sys/fs/cgroup
# get/mount list of enabled cgroup controllers
for sys in $(awk '!/^#/ { if ($4 == 1) print $1 }' /proc/cgroups); do
mkdir -p $sys
if ! mountpoint -q $sys; then
if ! mount -n -t cgroup -o $sys cgroup $sys; then
rmdir $sys || true
fi
fi
done
# example /proc/cgroups:
# #subsys_name hierarchy num_cgroups enabled
# cpuset 2 3 1
# cpu 3 3 1
# cpuacct 4 3 1
# memory 5 3 0
# devices 6 3 1
# freezer 7 3 1
# blkio 8 3 1
exit 0
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
# Copyright 2011 Canonical, Inc
# 2014 Tianon Gravi
# Author: Serge Hallyn <serge.hallyn@canonical.com>
# Tianon Gravi <admwiggin@gmail.com>
set -e
# we don't care to move tasks around gratuitously - just umount the cgroups
# if we don't even have the directory we need, something else must be wrong
if [ ! -d /sys/fs/cgroup ]; then
exit 0
fi
# if /sys/fs/cgroup is not mounted, we don't bother
if ! mountpoint -q /sys/fs/cgroup; then
exit 0
fi
cd /sys/fs/cgroup
for sys in *; do
if mountpoint -q $sys; then
umount $sys
fi
if [ -d $sys ]; then
rmdir $sys || true
fi
done
exit 0
@@ -0,0 +1,13 @@
# /etc/conf.d/docker: config file for /etc/init.d/docker
# where the docker daemon output gets piped
DOCKER_LOGFILE="/var/log/docker.log"
# where docker's pid get stored
DOCKER_PIDFILE="/var/run/docker.pid"
# where the docker daemon itself is run from
DOCKER_BINARY="/usr/bin/docker"
# any other random options you want to pass to docker
DOCKER_OPTS=""
+87
View File
@@ -0,0 +1,87 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>docker</Name>
<Homepage>http://docker.io</Homepage>
<Packager>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Packager>
<License>Apache</License>
<IsA>app:console</IsA>
<Summary>Pack, ship and run any application as a lightweight container</Summary>
<Description>An open platform for distributed applications for developers and sysadmins</Description>
<!--fix sha1sum-->
<Archive sha1sum="e638f39c6081de7b0903ed09096300bdbb1d5aa0" type="targz">https://github.com/docker/docker/archive/v1.7.0.tar.gz</Archive>
<BuildDependencies>
<Dependency>git</Dependency>
<Dependency>golang</Dependency>
<Dependency>btrfs-progs-devel</Dependency>
<Dependency>device-mapper-devel</Dependency>
<Dependency>sqlite-devel</Dependency>
</BuildDependencies>
<Patches>
</Patches>
</Source>
<Package>
<Name>docker</Name>
<RuntimeDependencies>
<Dependency>git</Dependency>
<Dependency>golang</Dependency>
<Dependency>sqlite</Dependency>
<Dependency>device-mapper</Dependency>
<Dependency>btrfs-progs</Dependency>
<Dependency>bridge-utils</Dependency>
<Dependency>iproute2</Dependency>
<Dependency>iptables</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="config">/etc</Path>
<Path fileType="executable">/usr/bin/</Path>
<Path fileType="library">/usr/libexec/docker</Path>
<Path fileType="data">/usr/share/</Path>
</Files>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="/usr/share/doc/docker/contrib/cgroupfs-mount">cgroupfs-mount</AdditionalFile>
<AdditionalFile owner="root" permission="0655" target="/usr/share/doc/docker/contrib/cgroupfs-umount">cgroupfs-umount</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/etc/conf.d/docker">docker.confd</AdditionalFile>
</AdditionalFiles>
<Provides>
<COMAR script="service.py">System.Service</COMAR>
<COMAR script="package.py">System.Package</COMAR>
</Provides>
</Package>
<History>
<Update release="4">
<Date>2015-06-24</Date>
<Version>1.7.0</Version>
<Comment>Version bump.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="3">
<Date>2015-05-17</Date>
<Version>1.6.2</Version>
<Comment>Version bump.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="2">
<Date>2015-05-09</Date>
<Version>1.6.1</Version>
<Comment>Version bump.http://seclists.org/fulldisclosure/2015/May/28 </Comment>
<Type package="docker">security</Type>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="1">
<Date>2015-04-17</Date>
<Version>1.6.0</Version>
<Comment>First Release.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>docker</Name>
<Summary xml:lang="tr">Herhangi bir uygulamayı paketleyip çalıştırmak için hafif kontenyer</Summary>
<Description xml:lang="tr">Geliştirici ve Sistem Yöneticileri için açık ve dağıtık platform</Description>
</Source>
</PISI>