bind:moved into main repo for pisi 2.0
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
|
||||
UID = "named"
|
||||
GID = "named"
|
||||
|
||||
directories = ("/var/named", \
|
||||
"/var/named/data", \
|
||||
"/var/named/dynamic", \
|
||||
"/var/named/pri", \
|
||||
"/var/named/sec", \
|
||||
"/var/named/slaves", \
|
||||
"/var/named/named.ca", \
|
||||
"/var/run/named")
|
||||
|
||||
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
||||
if not os.path.exists("/etc/bind/rndc.key"):
|
||||
os.system("/usr/sbin/rndc-confgen -r /dev/urandom -a -u named")
|
||||
|
||||
# Ownerships
|
||||
for d in directories:
|
||||
os.system("chown %s:%s %s" % (UID, GID, d))
|
||||
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
import stat
|
||||
import shutil
|
||||
|
||||
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
||||
CHROOT = "/var/named/chroot"
|
||||
NODES = {
|
||||
"/dev/random" : [stat.S_IFCHR | 0666, 1, 8],
|
||||
"/dev/zero" : [stat.S_IFCHR | 0666, 1, 5],
|
||||
"/dev/null" : [stat.S_IFCHR | 0666, 1, 3],
|
||||
"/dev/urandom" : [stat.S_IFCHR | 0666, 1, 9],
|
||||
"/dev/log" : [stat.S_IFSOCK | 0666, 1, 1],
|
||||
}
|
||||
|
||||
# Create device NODES in chroot
|
||||
for node, values in NODES.items():
|
||||
if not os.path.exists("%s%s" % (CHROOT, node)):
|
||||
os.mknod("%s%s" % (CHROOT, node), values[0], os.makedev(values[1], values[2]))
|
||||
|
||||
try:
|
||||
os.unlink("%s/etc/localtime" % CHROOT)
|
||||
except:
|
||||
pass
|
||||
|
||||
# Copy config files to run under chroot
|
||||
shutil.copy("/etc/localtime", "%s/etc/localtime" % CHROOT)
|
||||
|
||||
for files in ["/etc/bind/bind.keys", "/etc/bind/named.conf", "/etc/bind/rndc.key", "/var/named/named.ca"]:
|
||||
shutil.copy("%s" % files, "%s%s" % (CHROOT, files))
|
||||
|
||||
try:
|
||||
shutil.copytree("/var/named/pri", "%s/var/named/pri" % CHROOT)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
try:
|
||||
shutil.copytree("/var/named/sec", "%s/var/named/sec" % CHROOT)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
os.system("ln -s ../../var/named/pri /var/named/chroot/etc/bind/")
|
||||
os.system("ln -s ../../var/named/sec /var/named/chroot/etc/bind/")
|
||||
|
||||
# Fix permissions
|
||||
os.system("chmod 0700 %s" % CHROOT)
|
||||
os.system("chown named:named %s" % CHROOT)
|
||||
os.system("chown -R named:named %s/var/named" % CHROOT)
|
||||
os.system("chown -R named:named %s/etc/bind" % CHROOT)
|
||||
os.system("chown -R named:named %s/var/run/named" % CHROOT)
|
||||
os.system("chown -R named:named %s/var/log" % CHROOT)
|
||||
@@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
from comar.service import *
|
||||
|
||||
serviceType = "server"
|
||||
serviceDesc = _({"en": "BIND Daemon (chroot)",
|
||||
"tr": "BIND Servisi (chroot)"})
|
||||
serviceConf = "named"
|
||||
|
||||
chrootDir = "/var/named/chroot"
|
||||
PIDFILE = "%s/var/run/named/named.pid" % chrootDir
|
||||
|
||||
@synchronized
|
||||
def start():
|
||||
startService(command="/usr/sbin/named",
|
||||
args="-u named -n %s %s -t %s" % (config.get("CPU", "1"),
|
||||
config.get("OPTIONS", ""),
|
||||
chrootDir),
|
||||
makepid=True,
|
||||
pidfile=PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
@synchronized
|
||||
def stop():
|
||||
stopService(pidfile=PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
def status():
|
||||
return isServiceRunning(PIDFILE)
|
||||
@@ -0,0 +1,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
from comar.service import *
|
||||
|
||||
serviceType = "server"
|
||||
serviceDesc = _({"en": "BIND Daemon",
|
||||
"tr": "BIND Servisi"})
|
||||
serviceConf = "named"
|
||||
|
||||
PIDFILE = "/run/named/named.pid"
|
||||
|
||||
@synchronized
|
||||
def start():
|
||||
startService(command="/usr/sbin/named",
|
||||
args="-u named -n %s %s" % (config.get("CPU", "1"), config.get("OPTIONS", "")),
|
||||
pidfile=PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
@synchronized
|
||||
def stop():
|
||||
stopService(pidfile=PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
def status():
|
||||
return isServiceRunning(PIDFILE)
|
||||
Reference in New Issue
Block a user