Merge pull request #10088 from suvari/master
new packages: nfs-utils, libgssglue, rpcbind
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
#!/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 get
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
|
||||
def setup():
|
||||
autotools.configure("--disable-static \
|
||||
--with-pic")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
|
||||
def check():
|
||||
autotools.make("check")
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
pisitools.dodoc("ChangeLog", "AUTHORS", "README")
|
||||
@@ -0,0 +1,15 @@
|
||||
Index: libgssglue-0.1/doc/gssapi_mech.conf
|
||||
===================================================================
|
||||
--- libgssglue-0.1.orig/doc/gssapi_mech.conf
|
||||
+++ libgssglue-0.1/doc/gssapi_mech.conf
|
||||
@@ -15,7 +15,8 @@
|
||||
# library initialization function
|
||||
# ================================ ==========================
|
||||
# The MIT K5 gssapi library, use special function for initialization.
|
||||
-/usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init
|
||||
+libgssapi_krb5.so.2 mechglue_internal_krb5_init
|
||||
#
|
||||
# The SPKM3 gssapi library function. Use the function spkm3_gss_initialize.
|
||||
-# /usr/local/gss_mechs/spkm/spkm3/libgssapi_spkm3.so spkm3_gss_initialize
|
||||
+# libgssapi_spkm3.so spkm3_gss_initialize
|
||||
+
|
||||
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>libgssglue</Name>
|
||||
<Homepage>http://www.citi.umich.edu/projects/nfsv4/linux/</Homepage>
|
||||
<Packager>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>BSD</License>
|
||||
<IsA>library</IsA>
|
||||
<Summary>exports a gssapi interface which calls other random gssapi libraries</Summary>
|
||||
<Description>libgssglue provides a gssapi interface, but does not implement any gssapi mechanisms itself; instead it calls other gssapi functions (e.g., those provided by MIT Kerberos), depending on the requested mechanism, to do the work. </Description>
|
||||
<Archive sha1sum="a8edc4f6a1d4dcd80ad52d18226fc65fa8850af1" type="targz">http://www.citi.umich.edu/projects/nfsv4/linux/libgssglue/libgssglue-0.4.tar.gz</Archive>
|
||||
<Patches>
|
||||
<Patch level="1">libgssglue-0.1-gssglue.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>libgssglue</Name>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/libgssglue.so*</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>libgssglue-devel</Name>
|
||||
<Summary>libgssglue development files</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">libgssglue</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
<Path fileType="data">/usr/lib/pkgconfig</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2022-03-10</Date>
|
||||
<Version>0.4</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>libgssglue</Name>
|
||||
<Summary xml:lang="tr">Diğer raslantısal gssapi kitaplıklarına çağrı yapan gssapi arayüzünü dışa aktaran kitaplık</Summary>
|
||||
<Description xml:lang="tr">libgssglue herhangi bir gssapi mekanizma gerçekleştirimi yapmadan istenilen mekanizmaya bakarak diğer gssapi fonsiyonlarına (örn:MIT Kerberos tarafından sağlanan) ulaşabilmek için bir arayüz (API) sunar.</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>libgssglue-devel</Name>
|
||||
<Summary xml:lang="tr">libgssglue geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
@@ -0,0 +1,48 @@
|
||||
#!/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 autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
shelltools.export("CFLAGS","%s -fpie -D_FILE_OFFSET_BITS=64" % get.CFLAGS())
|
||||
shelltools.export("LDFLAGS","%s -pie" % get.LDFLAGS())
|
||||
|
||||
def setup():
|
||||
autotools.autoreconf("-vfi")
|
||||
autotools.configure("--enable-mountconfig \
|
||||
--enable-ipv6 \
|
||||
--enable-nfsv3 \
|
||||
--enable-nfsv4 \
|
||||
--enable-gss \
|
||||
--with-krb5=/usr \
|
||||
--with-statedir=/var/lib/nfs")
|
||||
|
||||
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
pisitools.dodir("/var/lib/nfs/statd/sm")
|
||||
pisitools.dodir("/var/lib/nfs/statd/sm.bak")
|
||||
pisitools.dodir("/var/lib/nfs/v4recovery")
|
||||
pisitools.dodir("/var/lib/nfs/rpc_pipefs")
|
||||
# remove conflict man file with nfs-utils
|
||||
pisitools.remove("/usr/lib/pkgconfig/libnfsidmap.pc")
|
||||
pisitools.remove("/usr/include/nfsidmap_plugin.h")
|
||||
pisitools.remove("/usr/include/nfsidmap.h")
|
||||
pisitools.remove("/usr/share/man/man5/idmapd.conf.5")
|
||||
pisitools.removeDir("/usr/lib/pkgconfig")
|
||||
pisitools.removeDir("/usr/include")
|
||||
|
||||
pisitools.insinto("/etc", "utils/mount/nfsmount.conf")
|
||||
|
||||
pisitools.domove("/usr/sbin/rpc.statd", "/sbin/")
|
||||
pisitools.dodoc("README", "COPYING")
|
||||
@@ -0,0 +1,118 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from comar.service import *
|
||||
from pardus import fstabutils
|
||||
import os
|
||||
|
||||
serviceType = "server"
|
||||
serviceDesc = _({"en": "NFS Common Services",
|
||||
"tr": "NFS Ortak Servisleri"})
|
||||
|
||||
serviceConf = "nfs"
|
||||
|
||||
ERR_INSMOD = _({"en": "Failed probing module %s",
|
||||
"tr": "%s modülü yüklenemedi",
|
||||
})
|
||||
|
||||
ERR_RMMOD = _({"en": "Failed removing module %s",
|
||||
"tr": "%s modülü çıkarılamadı",
|
||||
})
|
||||
|
||||
PIPEFS_MOUNTPOINT = "/var/lib/nfs/rpc_pipefs"
|
||||
|
||||
STATD_PIDFILE = "/run/rpc.statd.pid"
|
||||
IDMAPD_PIDFILE = "/run/rpc.idmapd.pid"
|
||||
GSSD_PIDFILE = "/run/rpc.gssd.pid"
|
||||
|
||||
# Parse the fstab file and determine whether we need gssd or not, by searching
|
||||
# mount option sec=krb* in nfs mount entries.
|
||||
# If none, nfs conf.d file decides if it's needed.
|
||||
def need_gssd():
|
||||
fstab = fstabutils.Fstab()
|
||||
for entry in fstab.get_entries():
|
||||
if entry.is_nfs():
|
||||
if "sec=krb" in entry.get_fs_mntopts():
|
||||
return True
|
||||
|
||||
@synchronized
|
||||
def start():
|
||||
startDependencies("rpcbind")
|
||||
|
||||
# Set the ports lockd should listen on
|
||||
LOCKD_TCPPORT = config.get("LOCKD_TCPPORT")
|
||||
if LOCKD_TCPPORT:
|
||||
run("/sbin/sysctl -w fs.nfs.nlm_tcpport=%s" % LOCKD_TCPPORT)
|
||||
|
||||
LOCKD_UDPPORT = config.get("LOCKD_UDPPORT")
|
||||
if LOCKD_UDPPORT:
|
||||
run("/sbin/sysctl -w fs.nfs.nlm_udpport=%s" % LOCKD_UDPPORT)
|
||||
|
||||
# rpc.statd is first
|
||||
RPCSTATD_OPTIONS = config.get("RPCSTATD_OPTIONS", "")
|
||||
STATD_PORT = config.get("STATD_PORT")
|
||||
if STATD_PORT:
|
||||
RPCSTATD_OPTIONS += " -p %s" % STATD_PORT
|
||||
|
||||
startService(command="/sbin/rpc.statd",
|
||||
args="%s" % RPCSTATD_OPTIONS,
|
||||
donotify=True,
|
||||
pidfile=STATD_PIDFILE)
|
||||
|
||||
if config.get("NEED_IDMAPD", "yes") == "yes" or (config.get("NEED_GSSD", "no") == "yes" or need_gssd()):
|
||||
if run("/sbin/modprobe -q nfs"):
|
||||
fail(ERR_INSMOD % "nfs")
|
||||
|
||||
# Make sure the mointpoint exists
|
||||
if not os.path.exists(PIPEFS_MOUNTPOINT):
|
||||
os.makedirs(PIPEFS_MOUNTPOINT)
|
||||
|
||||
# Check if PIPEFS_MOUNTPOINT is a real mounted fs
|
||||
if run("/bin/mountpoint -q %s" % PIPEFS_MOUNTPOINT):
|
||||
run("/bin/mount -t rpc_pipefs rpc_pipefs %s" % PIPEFS_MOUNTPOINT)
|
||||
|
||||
startService(command="/usr/sbin/rpc.idmapd",
|
||||
args="-f %s" % config.get("RPCIDMAPD_OPTIONS", ""),
|
||||
donotify=True,
|
||||
detach=True,
|
||||
makepid=True,
|
||||
pidfile=IDMAPD_PIDFILE)
|
||||
|
||||
if config.get("NEED_GSSD", "no") == "yes" or need_gssd():
|
||||
if run("/sbin/modprobe -q rpcsec_gss_krb5"):
|
||||
fail(ERR_INSMOD % "rpcsec_gss_krb5")
|
||||
|
||||
startService(command="/usr/sbin/rpc.gssd",
|
||||
args="-f %s" % config.get("RPCGSSD_OPTIONS", ""),
|
||||
donotify=True,
|
||||
detach=True,
|
||||
makepid=True,
|
||||
pidfile=GSSD_PIDFILE)
|
||||
|
||||
@synchronized
|
||||
def stop():
|
||||
LOCKD_TCPPORT = config.get("LOCKD_TCPPORT")
|
||||
if LOCKD_TCPPORT:
|
||||
run("/sbin/sysctl -w fs.nfs.nlm_tcpport=0")
|
||||
|
||||
LOCKD_UDPPORT = config.get("LOCKD_UDPPORT")
|
||||
if LOCKD_UDPPORT:
|
||||
run("/sbin/sysctl -w fs.nfs.nlm_udpport=0")
|
||||
|
||||
stopService(pidfile=GSSD_PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
stopService(pidfile=IDMAPD_PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
stopService(pidfile=STATD_PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
if not run("/bin/mountpoint -q %s" % PIPEFS_MOUNTPOINT):
|
||||
run("/bin/umount %s" % PIPEFS_MOUNTPOINT)
|
||||
|
||||
def status():
|
||||
result = isServiceRunning(STATD_PIDFILE)
|
||||
if config.get("NEED_IDMAPD", "yes") == "yes":
|
||||
result = result and isServiceRunning(IDMAPD_PIDFILE)
|
||||
if config.get("NEED_GSSD", "no") == "yes" or need_gssd():
|
||||
result = result and isServiceRunning(GSSD_PIDFILE)
|
||||
return result
|
||||
@@ -0,0 +1,130 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from comar.service import *
|
||||
from pardus import fstabutils
|
||||
import signal
|
||||
import os
|
||||
|
||||
serviceType = "server"
|
||||
serviceDesc = _({"en": "NFS Server",
|
||||
"tr": "NFS Sunucusu"})
|
||||
|
||||
serviceConf = "nfs"
|
||||
|
||||
ERR_INSMOD = _({"en": "Failed probing module %s",
|
||||
"tr": "%s modülü yüklenemedi",
|
||||
})
|
||||
|
||||
PROCNFSD_MOUNTPOINT = "/proc/fs/nfsd"
|
||||
RQUOTAD_PATH = "/usr/sbin/rpc.rquotad"
|
||||
|
||||
IDMAPD_PIDFILE = "/run/rpc.idmapd.pid"
|
||||
SVCGSSD_PIDFILE = "/run/rpc.svcgssd.pid"
|
||||
RQUOTAD_PIDFILE = "/run/rpc.rquotad.pid"
|
||||
MOUNTD_PIDFILE = "/run/rpc.mountd.pid"
|
||||
|
||||
# Parse the fstab file and determine whether we need quotad or not by searching
|
||||
# mount option quota in any mount entry.
|
||||
# If none, nfs conf.d file decides if it's needed.
|
||||
def need_quotad():
|
||||
fstab = fstabutils.Fstab()
|
||||
for entry in fstab.get_entries():
|
||||
if "quota" in entry.get_fs_mntopts():
|
||||
return True
|
||||
|
||||
@synchronized
|
||||
def start():
|
||||
startDependencies("nfs_common")
|
||||
|
||||
if run("/sbin/modprobe -q nfsd"):
|
||||
fail(ERR_INSMOD % "nfsd")
|
||||
|
||||
# Check if PROCNFSD_MOUNTPOINT is mounted
|
||||
if run("/bin/mountpoint -q %s" % PROCNFSD_MOUNTPOINT):
|
||||
run("/bin/mount -t nfsd nfsd %s" % PROCNFSD_MOUNTPOINT)
|
||||
|
||||
run("/usr/sbin/exportfs -r")
|
||||
|
||||
# If RPCNFSDCOUNT is not explicitly defined in confd, use default one, 8 threads.
|
||||
startService(command="/usr/sbin/rpc.nfsd",
|
||||
args="%s %s" % (config.get("RPCNFSD_OPTIONS", ""), config.get("RPCNFSDCOUNT", "8")),
|
||||
donotify=True)
|
||||
|
||||
if config.get("NEED_SVCGSSD", "no") == "yes":
|
||||
startService(command="/usr/sbin/rpc.svcgssd",
|
||||
args="-f %s" % config.get("RPCSVCGSSD_OPTIONS", ""),
|
||||
donotify=True,
|
||||
detach=True,
|
||||
makepid=True,
|
||||
pidfile=SVCGSSD_PIDFILE)
|
||||
|
||||
# Start rpc.rquotad daemon here if its available
|
||||
if (config.get("NEED_QUOTAD", "no") == "yes" or need_quotad()) and os.path.exists(RQUOTAD_PATH):
|
||||
RPCRQUOTAD_OPTIONS = config.get("RPCRQUOTAD_OPTIONS", "")
|
||||
RQUOTAD_PORT = config.get("RQUOTAD_PORT")
|
||||
if RQUOTAD_PORT:
|
||||
RPCRQUOTAD_OPTIONS += " -p %s" % RQUOTAD_PORT
|
||||
startService(command=RQUOTAD_PATH,
|
||||
args="-F %s" % RPCRQUOTAD_OPTIONS,
|
||||
donotify=True,
|
||||
detach=True,
|
||||
makepid=True,
|
||||
pidfile=RQUOTAD_PIDFILE)
|
||||
|
||||
# Reload rpc.idmapd
|
||||
if os.path.exists(IDMAPD_PIDFILE):
|
||||
os.kill(int(file(IDMAPD_PIDFILE).read().strip()), signal.SIGHUP)
|
||||
|
||||
RPCMOUNTD_OPTIONS = config.get("RPCMOUNTD_OPTIONS", "")
|
||||
MOUNTD_PORT = config.get("MOUNTD_PORT")
|
||||
if MOUNTD_PORT:
|
||||
RPCMOUNTD_OPTIONS += " -p %s" % MOUNTD_PORT
|
||||
|
||||
startService(command="/usr/sbin/rpc.mountd",
|
||||
args="-F %s" % RPCMOUNTD_OPTIONS,
|
||||
donotify=True,
|
||||
detach=True,
|
||||
makepid=True,
|
||||
pidfile=MOUNTD_PIDFILE)
|
||||
|
||||
@synchronized
|
||||
def stop():
|
||||
stopService(pidfile=MOUNTD_PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
if os.path.exists(MOUNTD_PIDFILE):
|
||||
os.unlink(MOUNTD_PIDFILE)
|
||||
|
||||
stopService(pidfile=SVCGSSD_PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
if os.path.exists(SVCGSSD_PIDFILE):
|
||||
os.unlink(SVCGSSD_PIDFILE)
|
||||
|
||||
stopService(pidfile=RQUOTAD_PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
if os.path.exists(RQUOTAD_PIDFILE):
|
||||
os.unlink(RQUOTAD_PIDFILE)
|
||||
|
||||
stopService(command="/usr/sbin/rpc.nfsd",
|
||||
args="0",
|
||||
donotify=True)
|
||||
|
||||
# Unexport all exported directories
|
||||
run("/usr/sbin/exportfs -au")
|
||||
|
||||
if not run("/bin/mountpoint -q %s" % PROCNFSD_MOUNTPOINT):
|
||||
run("/usr/sbin/exportfs -f %s" % PROCNFSD_MOUNTPOINT)
|
||||
|
||||
def reload():
|
||||
# Re-export all exported directories
|
||||
run("/usr/sbin/exportfs -r")
|
||||
|
||||
def status():
|
||||
# ugly way of learning if the daemon is up and running.
|
||||
result = not run("/sbin/pidof nfsd") and isServiceRunning(MOUNTD_PIDFILE)
|
||||
if config.get("NEED_SVCGSSD", "no") == "yes":
|
||||
result = result and isServiceRunning(SVCGSSD_PIDFILE)
|
||||
if (config.get("NEED_QUOTAD", "no") == "yes" or need_quotad()) and os.path.exists(RQUOTAD_PATH):
|
||||
result = result and isServiceRunning(RQUOTAD_PIDFILE)
|
||||
return result
|
||||
@@ -0,0 +1 @@
|
||||
# /etc/exports: NFS file systems being exported. See exports(5).
|
||||
@@ -0,0 +1,19 @@
|
||||
# GSSAPI Mechanism Definitions
|
||||
#
|
||||
# This configuration file determines which GSS-API mechanisms
|
||||
# the gssd code should use
|
||||
#
|
||||
# NOTE:
|
||||
# The initiaiization function "mechglue_internal_krb5_init"
|
||||
# is used for the MIT krb5 gssapi mechanism. This special
|
||||
# function name indicates that an internal function should
|
||||
# be used to determine the entry points for the MIT gssapi
|
||||
# mechanism funtions.
|
||||
#
|
||||
# library initialization function
|
||||
# ================================ ==========================
|
||||
# The MIT K5 gssapi library, use special function for initialization.
|
||||
/usr/lib/libgssapi_krb5.so.2 mechglue_internal_krb5_init
|
||||
#
|
||||
# The SPKM3 gssapi library function. Use the function spkm3_gss_initialize.
|
||||
#libgssapi_spkm3.so spkm3_gss_initialize
|
||||
@@ -0,0 +1,10 @@
|
||||
[General]
|
||||
|
||||
Verbosity = 0
|
||||
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
|
||||
Domain = localdomain
|
||||
|
||||
[Mapping]
|
||||
|
||||
Nobody-User = nobody
|
||||
Nobody-Group = nobody
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -up nfs-utils-1.2.1/support/nfs/exports.c.orig nfs-utils-1.2.1/support/nfs/exports.c
|
||||
--- nfs-utils-1.2.1/support/nfs/exports.c.orig 2010-01-15 10:48:49.631894982 -0500
|
||||
+++ nfs-utils-1.2.1/support/nfs/exports.c 2010-01-15 11:05:02.009874055 -0500
|
||||
@@ -483,7 +483,7 @@ static void fix_pseudoflavor_flags(struc
|
||||
static int
|
||||
parseopts(char *cp, struct exportent *ep, int warn, int *had_subtree_opt_ptr)
|
||||
{
|
||||
- int had_subtree_opt = 0;
|
||||
+ int had_subtree_opt = 1;
|
||||
char *flname = efname?efname:"command line";
|
||||
int flline = efp?efp->x_line:0;
|
||||
unsigned int active = 0;
|
||||
@@ -0,0 +1,58 @@
|
||||
diff -up nfs-utils-1.2.1/utils/statd/sm-notify.man.save nfs-utils-1.2.1/utils/statd/sm-notify.man
|
||||
--- nfs-utils-1.2.1/utils/statd/sm-notify.man.save 2010-01-15 11:10:25.096874609 -0500
|
||||
+++ nfs-utils-1.2.1/utils/statd/sm-notify.man 2010-01-15 11:14:12.636873981 -0500
|
||||
@@ -186,7 +186,7 @@ where NSM state information resides.
|
||||
If this option is not specified,
|
||||
.B sm-notify
|
||||
uses
|
||||
-.I /var/lib/nfs
|
||||
+.I /var/lib/nfs/statd
|
||||
by default.
|
||||
.IP
|
||||
After starting,
|
||||
@@ -287,13 +287,13 @@ Currently, the
|
||||
command supports sending notification only via datagram transport protocols.
|
||||
.SH FILES
|
||||
.TP 2.5i
|
||||
-.I /var/lib/nfs/sm
|
||||
+.I /var/lib/nfs/statd/sm
|
||||
directory containing monitor list
|
||||
.TP 2.5i
|
||||
-.I /var/lib/nfs/sm.bak
|
||||
+.I /var/lib/nfs/statd/sm.bak
|
||||
directory containing notify list
|
||||
.TP 2.5i
|
||||
-.I /var/lib/nfs/state
|
||||
+.I /var/lib/nfs/statd/state
|
||||
NSM state number for this host
|
||||
.TP 2.5i
|
||||
.I /proc/sys/fs/nfs/nsm_local_state
|
||||
diff -up nfs-utils-1.2.1/utils/statd/statd.man.save nfs-utils-1.2.1/utils/statd/statd.man
|
||||
--- nfs-utils-1.2.1/utils/statd/statd.man.save 2010-01-15 11:10:25.098906325 -0500
|
||||
+++ nfs-utils-1.2.1/utils/statd/statd.man 2010-01-15 11:11:03.874769717 -0500
|
||||
@@ -232,7 +232,7 @@ where NSM state information resides.
|
||||
If this option is not specified,
|
||||
.B rpc.statd
|
||||
uses
|
||||
-.I /var/lib/nfs
|
||||
+.I /var/lib/nfs/statd
|
||||
by default.
|
||||
.IP
|
||||
After starting,
|
||||
@@ -368,13 +368,13 @@ As long as at least one network transpor
|
||||
will operate.
|
||||
.SH FILES
|
||||
.TP 2.5i
|
||||
-.I /var/lib/nfs/sm
|
||||
+.I /var/lib/nfs/statd/sm
|
||||
directory containing monitor list
|
||||
.TP 2.5i
|
||||
-.I /var/lib/nfs/sm.bak
|
||||
+.I /var/lib/nfs/statd/sm.bak
|
||||
directory containing notify list
|
||||
.TP 2.5i
|
||||
-.I /var/lib/nfs/state
|
||||
+.I /var/lib/nfs/statd/state
|
||||
NSM state number for this host
|
||||
.TP 2.5i
|
||||
.I /run/run.statd.pid
|
||||
@@ -0,0 +1,76 @@
|
||||
# /etc/conf.d/nfs
|
||||
|
||||
# If you do not set values for the NEED_ options, they will be attempted
|
||||
# autodetected; this should be sufficient for most people. Valid alternatives
|
||||
# for the NEED_ options are "yes" and "no".
|
||||
|
||||
# nfs-common options
|
||||
####################
|
||||
|
||||
# Port rpc.statd should listen on
|
||||
# Should rpc.statd listen on a specific port? This is especially useful
|
||||
# when you have a port-based firewall. To use a fixed port, set this
|
||||
# this variable to a valid port like: "4000".
|
||||
# For more information, see rpc.statd(8)
|
||||
#STATD_PORT=
|
||||
|
||||
# Options for rpc.statd.
|
||||
#RPCSTATD_OPTIONS=
|
||||
|
||||
# TCP port rpc.lockd should listen on.
|
||||
#LOCKD_TCPPORT=
|
||||
#
|
||||
# UDP port rpc.lockd should listen on.
|
||||
#LOCKD_UDPPORT=
|
||||
|
||||
# Do you want to start the idmapd daemon? It is only needed for NFSv4.
|
||||
#NEED_IDMAPD=yes
|
||||
|
||||
# Options for rpc.idmapd
|
||||
#RPCIDMAPD_OPTIONS=
|
||||
|
||||
# Do you want to start the gssd daemon? It is required for Kerberos mounts.
|
||||
# NFS service scripts detect NFS Kerberos mounts in /etc/fstab and starts gssd
|
||||
# daemon even if this option is set to "no". This option force enables gssd
|
||||
# daemon.
|
||||
#NEED_GSSD=
|
||||
|
||||
# Options for rpc.gssd
|
||||
#RPCGSSD_OPTIONS=
|
||||
|
||||
# nfs-server options
|
||||
####################
|
||||
|
||||
# Options for rpc.nfsd.
|
||||
#RPCNFSD_OPTIONS=
|
||||
|
||||
# Number of servers to start up
|
||||
#RPCNFSDCOUNT=8
|
||||
|
||||
#Port rpc.mountd should listen on
|
||||
#MOUNTD_PORT=
|
||||
|
||||
# Options for rpc.mountd.
|
||||
# If you have a port-based firewall, you might want to set up
|
||||
# a fixed port here using the --port option. For more information,
|
||||
# see rpc.mountd(8)
|
||||
#RPCMOUNTD_OPTIONS=
|
||||
|
||||
# Do you want to start the svcgssd daemon? It is only required for Kerberos
|
||||
# exports. Valid alternatives are "yes" and "no"; the default is "no".
|
||||
#NEED_SVCGSSD=
|
||||
|
||||
# Options for rpc.svcgssd.
|
||||
#RPCSVCGSSD_OPTIONS=
|
||||
|
||||
# Do you want to start the quotad daemon? It is required for remote quotas.
|
||||
# NFS service scripts detect the mount option "quota" in any mount entry and
|
||||
# starts quotad daemon even if this option is set to "no". This option force
|
||||
# enables quotad daemon if the 'quota' package is installed.
|
||||
#NEED_QUOTAD=
|
||||
|
||||
#Port rpc.rquotad should listen on
|
||||
#RQUOTAD_PORT=
|
||||
|
||||
# Options for rpc.quotad
|
||||
#RPCRQUOTAD_OPTIONS=
|
||||
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>nfs-utils</Name>
|
||||
<Homepage>http://nfs.sourceforge.net/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPLv2</License>
|
||||
<IsA>service</IsA>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>NFS client and server</Summary>
|
||||
<Description>Contains NFS (Network File System) client and server. It is possible to mount a network resource as a file system using the NFS protocol.</Description>
|
||||
<Archive sha1sum="69e5379cc767afc1a376d332a131dbd1e5afde9b" type="tarbz2">mirrors://sourceforge/nfs/nfs-utils-2.6.1.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>sqlite-devel</Dependency>
|
||||
<Dependency>libcap-devel</Dependency>
|
||||
<Dependency>libtirpc-devel</Dependency>
|
||||
<Dependency>libevent-devel</Dependency>
|
||||
<Dependency>e2fsprogs-devel</Dependency>
|
||||
<Dependency>libgssglue-devel</Dependency>
|
||||
<Dependency>mit-kerberos-devel</Dependency>
|
||||
<Dependency>rpcsvc-proto-devel</Dependency>
|
||||
<Dependency>tcp-wrappers-devel</Dependency>
|
||||
<Dependency>device-mapper-devel</Dependency>
|
||||
<Dependency>libutil-linux-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!-- <Patch level="1">nfs-utils-1.2.1-statdpath-man.patch</Patch> -->
|
||||
<!-- <Patch level="1">nfs-utils-1.2.1-exp-subtree-warn-off.patch</Patch> -->
|
||||
<!-- <Patch level></Patch> -->
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>nfs-utils</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>libcap</Dependency>
|
||||
<Dependency>sqlite</Dependency>
|
||||
<Dependency>rpcbind</Dependency>
|
||||
<Dependency>nfsidmap</Dependency>
|
||||
<Dependency>keyutils</Dependency>
|
||||
<Dependency>libevent</Dependency>
|
||||
<Dependency>libtirpc</Dependency>
|
||||
<Dependency>e2fsprogs</Dependency>
|
||||
<Dependency>libgssglue</Dependency>
|
||||
<Dependency>mit-kerberos</Dependency>
|
||||
<Dependency>tcp-wrappers</Dependency>
|
||||
<Dependency>device-mapper</Dependency>
|
||||
<Dependency>libutil-linux</Dependency>
|
||||
<Dependency>openldap-client</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc/exports</Path>
|
||||
<Path fileType="config">/etc/gssapi_mech.conf</Path>
|
||||
<Path fileType="config">/etc/nfsmount.conf</Path>
|
||||
<Path fileType="config">/etc/conf.d/nfs</Path>
|
||||
<Path fileType="executable">/usr/sbin</Path>
|
||||
<Path fileType="executable">/sbin</Path>
|
||||
<Path fileType="library">/var/lib</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/exports">exports</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/conf.d/nfs">nfs.confd</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/idmapd.conf">idmapd.conf</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/gssapi_mech.conf">gssapi_mech.conf</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<Provides>
|
||||
<COMAR script="nfs-common.py" name="nfs_common">System.Service</COMAR>
|
||||
<COMAR script="nfs-server.py" name="nfs_server">System.Service</COMAR>
|
||||
</Provides>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>nfsidmap</Name>
|
||||
<Summary>Library to help mapping IDs, mainly for NFSv4</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>openldap-client</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc/idmapd.conf</Path>
|
||||
<Path fileType="library">/usr/lib/libnfsidmap*</Path>
|
||||
<Path fileType="doc">/usr/share/doc/libnfsidmap</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2022-03-11</Date>
|
||||
<Version>2.6.1</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>nfs-utils</Name>
|
||||
<Summary xml:lang="tr">NFS istemcisi ve sunucusu</Summary>
|
||||
<Description xml:lang="tr">nfs-utils, NFS (Ağ dosya sistemi) istemcisi ve sunucusunu içerir.</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>nfsidmap</Name>
|
||||
<Summary xml:lang="tr">Kimliklerin eşlenmesine yardımcı olacak kitaplık, özellikle NFSv4 için.</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
+2558
-965
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
891b2a2bede76a719880707255d42a9b8591b661
|
||||
86a771cb40c808e2f2f1f37bfa84db4fec59967a
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
900129338bce0fa9378fda8b32f5bcf21d3132fc
|
||||
9e473d5dd97037d6c311a6155123bcf2f671bf50
|
||||
@@ -0,0 +1,36 @@
|
||||
#!/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 autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
shelltools.export("CFLAGS", "%s -fpie" % get.CFLAGS())
|
||||
shelltools.export("LDFLAGS", "%s -fpie" % get.LDFLAGS())
|
||||
|
||||
def setup():
|
||||
autotools.autoreconf("-vfi")
|
||||
## glibc provides rpcinfo in /usr/sbin, so move it to /sbin, thus bindir=/sbin
|
||||
autotools.configure("--bindir=/usr/bin \
|
||||
--enable-warmstarts \
|
||||
--with-statedir=/var/lib/rpcbind \
|
||||
--with-rpcuser=rpc \
|
||||
--with-systemdsystemunitdir=no \
|
||||
--enable-libwrap")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
pisitools.dodir("/var/lib/rpcbind")
|
||||
|
||||
# glibc has rpcinfo.8, so avoid conflict with glibc
|
||||
pisitools.insinto("/usr/share/man/man8", "man/rpcinfo.8", "rpcbind-rpcinfo.8")
|
||||
|
||||
pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "NEWS", "README")
|
||||
@@ -0,0 +1,33 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
from comar.service import *
|
||||
|
||||
serviceType = "server"
|
||||
serviceDesc = _({"en": "RPCbind Daemon",
|
||||
"tr": "RPCbind Servisi"})
|
||||
|
||||
serviceConf = "rpcbind"
|
||||
|
||||
PIDFILE = "/var/run/rpcbind.pid"
|
||||
|
||||
@synchronized
|
||||
def start():
|
||||
startService(command="/sbin/rpcbind",
|
||||
args="-f %s" % config.get("RPCBIND_OPTS"),
|
||||
makepid=True,
|
||||
detach=True,
|
||||
pidfile=PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
@synchronized
|
||||
def stop():
|
||||
stopService(pidfile=PIDFILE,
|
||||
donotify=True)
|
||||
|
||||
try:
|
||||
os.unlink(PIDFILE)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
def status():
|
||||
return isServiceRunning(PIDFILE)
|
||||
@@ -0,0 +1,26 @@
|
||||
commit b3b031b07cc5909aaf964f9d4cf46f6097769320
|
||||
Author: Steve Dickson <steved@redhat.com>
|
||||
Date: Wed Aug 21 14:40:22 2013 -0400
|
||||
|
||||
rpcbind: rpcuser not being set in Makefile.am
|
||||
|
||||
Commit 8d7a0708 cause a regression where the rpcuser id was not
|
||||
being set, which in turn cause rpcbind to immediately exit.
|
||||
This patch removes the extra ',' that was in the AC_ARG_WITH
|
||||
statement in the configure.ac file.
|
||||
|
||||
Signed-off-by: Steve Dickson <steved@redhat.com>
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2b67720..1cf42d3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -23,7 +23,7 @@ AC_ARG_WITH([statedir],
|
||||
AC_SUBST([statedir], [$with_statedir])
|
||||
|
||||
AC_ARG_WITH([rpcuser],
|
||||
- AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@]),
|
||||
+ AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@])
|
||||
,, [with_rpcuser=root])
|
||||
AC_SUBST([rpcuser], [$with_rpcuser])
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
Index: rpcbind-0.2.0/src/rpcbind.c
|
||||
===================================================================
|
||||
--- rpcbind-0.2.0.orig/src/rpcbind.c
|
||||
+++ rpcbind-0.2.0/src/rpcbind.c
|
||||
@@ -114,7 +114,7 @@ char *tcptrans; /* Name of TCP transpor
|
||||
char *udp_uaddr; /* Universal UDP address */
|
||||
char *tcp_uaddr; /* Universal TCP address */
|
||||
#endif
|
||||
-static char servname[] = "rpcbind";
|
||||
+static char servname[] = "sunrpc";
|
||||
static char superuser[] = "superuser";
|
||||
|
||||
int main __P((int, char *[]));
|
||||
Index: rpcbind-0.2.0/src/rpcinfo.c
|
||||
===================================================================
|
||||
--- rpcbind-0.2.0.orig/src/rpcinfo.c
|
||||
+++ rpcbind-0.2.0/src/rpcinfo.c
|
||||
@@ -632,7 +632,7 @@ get_inet_address (addr, host)
|
||||
{
|
||||
memset (&hints, 0, sizeof hints);
|
||||
hints.ai_family = AF_INET;
|
||||
- if ((error = getaddrinfo (host, "rpcbind", &hints, &res)) != 0 &&
|
||||
+ if ((error = getaddrinfo (host, "sunrpc", &hints, &res)) != 0 &&
|
||||
(error = getaddrinfo (host, "portmapper", &hints, &res)) != 0)
|
||||
{
|
||||
fprintf (stderr, "rpcinfo: %s: %s\n",
|
||||
@@ -0,0 +1,2 @@
|
||||
# RPCbind options
|
||||
RPCBIND_OPTS="-i"
|
||||
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>rpcbind</Name>
|
||||
<Homepage>http://nfsv4.bullopensource.org</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>BSD</License>
|
||||
<IsA>service</IsA>
|
||||
<Summary>Universal Addresses to RPC Program Number Mapper</Summary>
|
||||
<Description>The rpcbind utility is a server that converts RPC program numbers into universal addresses. It must be running on the host to be able to make RPC calls on a server on that machine.</Description>
|
||||
<Archive sha1sum="a6dad1d9454f42f2f25a92caba8d3d7bddf527e3" type="tarbz2">mirrors://sourceforge/rpcbind/1.2.6/rpcbind-1.2.6.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>libtirpc-devel</Dependency>
|
||||
<Dependency>tcp-wrappers-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!-- <Patch level="1"></Patch> -->
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>rpcbind</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>libtirpc</Dependency>
|
||||
<Dependency>tcp-wrappers</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc</Path>
|
||||
<Path fileType="executable">/usr/sbin/rpcbind</Path>
|
||||
<Path fileType="executable">/usr/bin/rpcinfo</Path>
|
||||
<Path fileType="data">/var/lib</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/conf.d/rpcbind">rpcbind.sysconfig</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<Provides>
|
||||
<COMAR script="service.py">System.Service</COMAR>
|
||||
</Provides>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2022-03-11</Date>
|
||||
<Version>1.2.6</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>rpcbind</Name>
|
||||
<Summary xml:lang="tr">Evrensel adresleri RPC program numaralarına eşleştirici</Summary>
|
||||
<Description xml:lang="tr">RPCbind aracı, RPC program numaralarını DARPA protokolü port numaralarına çeviren bir sunucu yazılımıdır.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user