summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Villavicencio <the_paya@gentoo.org>2009-01-22 21:02:22 +0000
committerJavier Villavicencio <the_paya@gentoo.org>2009-01-22 21:02:22 +0000
commit389b85877815c2f64df1fee5313a6e97733a7b34 (patch)
treed123686e3bc9f4266d8c0a0f821cede5c4bd148b /sys-freebsd/freebsd-libexec
parentImport of the 7.1 ebuilds from gentoo-bsd overlay. (diff)
downloadgentoo-2-389b85877815c2f64df1fee5313a6e97733a7b34.tar.gz
gentoo-2-389b85877815c2f64df1fee5313a6e97733a7b34.tar.bz2
gentoo-2-389b85877815c2f64df1fee5313a6e97733a7b34.zip
Import of the 7.1 ebuilds from gentoo-bsd overlay.
(Portage version: 2.2_rc23/cvs/FreeBSD i386)
Diffstat (limited to 'sys-freebsd/freebsd-libexec')
-rw-r--r--sys-freebsd/freebsd-libexec/ChangeLog13
-rw-r--r--sys-freebsd/freebsd-libexec/files/bootpd.confd6
-rw-r--r--sys-freebsd/freebsd-libexec/files/bootpd.initd7
-rw-r--r--sys-freebsd/freebsd-libexec/files/freebsd-libexec-7.0-libfallback.patch137
-rw-r--r--sys-freebsd/freebsd-libexec/files/ftpd.pamd20
-rw-r--r--sys-freebsd/freebsd-libexec/files/rquotad.xinetd11
-rw-r--r--sys-freebsd/freebsd-libexec/files/rstatd.xinetd11
-rw-r--r--sys-freebsd/freebsd-libexec/files/rusersd.xinetd11
-rw-r--r--sys-freebsd/freebsd-libexec/files/sprayd.xinetd11
-rw-r--r--sys-freebsd/freebsd-libexec/files/walld.xinetd11
-rw-r--r--sys-freebsd/freebsd-libexec/freebsd-libexec-7.1.ebuild74
11 files changed, 286 insertions, 26 deletions
diff --git a/sys-freebsd/freebsd-libexec/ChangeLog b/sys-freebsd/freebsd-libexec/ChangeLog
index c5ef69519df5..832ff2347f3a 100644
--- a/sys-freebsd/freebsd-libexec/ChangeLog
+++ b/sys-freebsd/freebsd-libexec/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sys-freebsd/freebsd-libexec
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/ChangeLog,v 1.27 2007/10/16 08:54:50 uberlord Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/ChangeLog,v 1.28 2009/01/22 21:02:22 the_paya Exp $
+
+*freebsd-libexec-7.1 (22 Jan 2009)
+
+ 22 Jan 2009; Javier Villavicencio <the_paya@gentoo.org>
+ +files/freebsd-libexec-7.0-libfallback.patch, files/bootpd.confd,
+ files/bootpd.initd, files/ftpd.pamd, +files/rquotad.xinetd,
+ +files/rstatd.xinetd, +files/rusersd.xinetd, +files/sprayd.xinetd,
+ +files/walld.xinetd, +freebsd-libexec-7.1.ebuild:
+ Import 7.1 ebuilds from gentoo-bsd overlay.
16 Oct 2007; Roy Marples <uberlord@gentoo.org>
-files/freebsd-libexec-6.2-sparc64.patch, freebsd-libexec-6.2-r2.ebuild:
diff --git a/sys-freebsd/freebsd-libexec/files/bootpd.confd b/sys-freebsd/freebsd-libexec/files/bootpd.confd
index 1dcd1e1c237c..6d238e4d4853 100644
--- a/sys-freebsd/freebsd-libexec/files/bootpd.confd
+++ b/sys-freebsd/freebsd-libexec/files/bootpd.confd
@@ -1,9 +1,7 @@
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/files/bootpd.confd,v 1.1 2006/11/20 14:27:10 flameeyes Exp $
-
# Configuration file for /etc/init.d/bootpd
# Name of the configuration file for bootpd
-# BOOTPTAB_FILE="/etc/bootptab"
+# bootptab_file="/etc/bootptab"
# Options to pass to bootpd. See bootpd(8).
-# BOOTPD_OPTS=""
+# bootpd_opts=""
diff --git a/sys-freebsd/freebsd-libexec/files/bootpd.initd b/sys-freebsd/freebsd-libexec/files/bootpd.initd
index dc35923a4094..e82563f7690e 100644
--- a/sys-freebsd/freebsd-libexec/files/bootpd.initd
+++ b/sys-freebsd/freebsd-libexec/files/bootpd.initd
@@ -1,14 +1,13 @@
#!/sbin/runscript
-# Copyright 2006 Gentoo Foundation
+# Copyright 2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/files/bootpd.initd,v 1.2 2007/04/06 14:59:47 uberlord Exp $
depend() {
need net
}
start() {
- local bootptab=${BOOTPTAB_FILE:-/etc/bootptab}
+ local bootptab=${bootptab_file:-/etc/bootptab}
if ! [ -f "${bootptab}" ]; then
eerror "Unable to find the bootptab file: ${bootptab}"
@@ -17,7 +16,7 @@ start() {
fi
ebegin "Starting BOOTP server"
- start-stop-daemon --start --exec /usr/libexec/bootpd -- ${BOOTPD_OPTS} ${bootptab}
+ start-stop-daemon --start --exec /usr/libexec/bootpd -- ${bootpd_opts} ${bootptab}
eend $?
}
diff --git a/sys-freebsd/freebsd-libexec/files/freebsd-libexec-7.0-libfallback.patch b/sys-freebsd/freebsd-libexec/files/freebsd-libexec-7.0-libfallback.patch
new file mode 100644
index 000000000000..6269ac4dd239
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/freebsd-libexec-7.0-libfallback.patch
@@ -0,0 +1,137 @@
+--- rtld-elf/rtld.c.orig 2007-04-07 23:17:00 +0000
++++ rtld-elf/rtld.c 2007-04-23 09:42:32 +0000
+@@ -988,6 +988,103 @@
+ return NULL;
+ }
+
++#define MAX_LIBRARIES_HITS 255
++
++struct fill_library_paths_args {
++ const char *name;
++ size_t namelen;
++ char **libraries;
++ size_t *count;
++};
++
++static void *
++fill_library_paths(const char *dir, size_t dirlen, void *param)
++{
++ struct fill_library_paths_args *arg;
++
++ arg = param;
++ if (*(arg->count) > MAX_LIBRARIES_HITS)
++ return (NULL);
++
++ if (*dir == '/' || trust) {
++ arg->libraries[*(arg->count)] = malloc(sizeof(char)*(dirlen + 1 + arg->namelen + 1));
++ strncpy(arg->libraries[*(arg->count)], dir, dirlen);
++ arg->libraries[*(arg->count)][dirlen] = '/';
++ strncpy(arg->libraries[*(arg->count)] + dirlen + 1, arg->name, arg->namelen+1);
++
++ dbg(" Trying \"%s\"\n", arg->libraries[*(arg->count)]);
++ if (access(arg->libraries[*(arg->count)], F_OK) == 0) {
++ *(arg->count) += 1;
++ }
++ }
++ return (NULL);
++}
++
++/**
++ * Find all libraries matching xname for the object refobj (if not null), like
++ * find_library but find all the matching libraries in the paths.
++ *
++ * The returned pointer has to be free()'d (as well as the contained strings)
++ * if it's non-NULL.
++ * The end of the array is found when the pointer gets NULL.
++ */
++static char **find_libraries(const char *xname, const Obj_Entry *refobj)
++{
++ char **libraries;
++ size_t libraries_count;
++ struct fill_library_paths_args arg;
++ char *name;
++
++ if (strchr(xname, '/') != NULL) { /* Hard coded pathname */
++ if (xname[0] != '/' && !trust) {
++ _rtld_error("Absolute pathname required for shared object \"%s\"",
++ xname);
++ return NULL;
++ }
++ libraries = malloc(sizeof(char*)*2);
++ libraries[0] = xstrdup(xname);
++ libraries[1] = NULL;
++ return libraries;
++ }
++
++ if (libmap_disable || (refobj == NULL) ||
++ (name = lm_find(refobj->path, xname)) == NULL)
++ name = (char *)xname;
++
++ dbg(" Searching for \"%s\"", name);
++
++ /* look up at maximum 255 libraries, would be crazy going over that */
++ libraries = malloc(sizeof(char*)*(MAX_LIBRARIES_HITS+1));
++ libraries_count = 0;
++
++ arg.name = name;
++ arg.namelen = strlen(name);
++ arg.libraries = libraries;
++ arg.count = &libraries_count;
++
++ path_enumerate(ld_library_path, fill_library_paths, &arg);
++ if(refobj != NULL)
++ path_enumerate(refobj->rpath, fill_library_paths, &arg);
++ path_enumerate(gethints(), fill_library_paths, &arg);
++ path_enumerate(STANDARD_LIBRARY_PATH, fill_library_paths, &arg);
++
++ libraries[libraries_count] = NULL;
++
++ if(libraries_count == 0) {
++ if(refobj != NULL && refobj->path != NULL) {
++ _rtld_error("Shared object \"%s\" not found, required by \"%s\"",
++ name, basename(refobj->path));
++ } else {
++ _rtld_error("Shared object \"%s\" not found", name);
++ }
++
++ free(libraries);
++ return NULL;
++ }
++
++ return libraries;
++}
++
+ /*
+ * Given a symbol number in a referencing object, find the corresponding
+ * definition of the symbol. Returns a pointer to the symbol, or NULL if
+@@ -1260,7 +1357,29 @@
+ Needed_Entry *needed;
+
+ for (needed = obj->needed; needed != NULL; needed = needed->next) {
+- needed->obj = load_object(obj->strtab + needed->name, obj);
++ const char *name = obj->strtab + needed->name;
++ char **paths = find_libraries(name, obj);
++ char **curpath = paths;
++
++ needed->obj = NULL;
++ if (paths == NULL) {
++ if (ld_tracing)
++ continue;
++ else
++ return -1;
++ }
++
++ while(*curpath) {
++ if (needed->obj == NULL) {
++ needed->obj = load_object(*curpath, NULL);
++ curpath++;
++ continue;
++ }
++ /* Continue, so that we can free the whole lot */
++ free(*curpath);
++ curpath++;
++ }
++ free(paths);
+ if (needed->obj == NULL && !ld_tracing)
+ return -1;
+ }
diff --git a/sys-freebsd/freebsd-libexec/files/ftpd.pamd b/sys-freebsd/freebsd-libexec/files/ftpd.pamd
index d9feb829a549..8e9082373f8f 100644
--- a/sys-freebsd/freebsd-libexec/files/ftpd.pamd
+++ b/sys-freebsd/freebsd-libexec/files/ftpd.pamd
@@ -1,20 +1,8 @@
-#
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/files/ftpd.pamd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
-#
# PAM configuration for the "ftpd" service
#
-# auth
-auth required pam_nologin.so no_warn
-auth sufficient pam_opie.so no_warn no_fake_prompts
-auth requisite pam_opieaccess.so no_warn allow_local
-#auth sufficient pam_krb5.so no_warn
-#auth sufficient pam_ssh.so no_warn try_first_pass
-auth required pam_unix.so no_warn try_first_pass
-
-# account
-#account required pam_krb5.so
-account required pam_unix.so
+auth include system-auth
+account include system-auth
+password include system-auth
+session include system-auth
-# session
-session required pam_permit.so
diff --git a/sys-freebsd/freebsd-libexec/files/rquotad.xinetd b/sys-freebsd/freebsd-libexec/files/rquotad.xinetd
new file mode 100644
index 000000000000..876cd16c53c2
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/rquotad.xinetd
@@ -0,0 +1,11 @@
+service rquotad
+{
+ type = rpc
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = /usr/libexec/rpc.rquotad
+ rpc_version = 1
+ disabled = yes
+}
diff --git a/sys-freebsd/freebsd-libexec/files/rstatd.xinetd b/sys-freebsd/freebsd-libexec/files/rstatd.xinetd
new file mode 100644
index 000000000000..ba1b819851eb
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/rstatd.xinetd
@@ -0,0 +1,11 @@
+service rstatd
+{
+ type = rpc
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = /usr/libexec/rpc.rstatd
+ rpc_version = 1-3
+ disabled = yes
+}
diff --git a/sys-freebsd/freebsd-libexec/files/rusersd.xinetd b/sys-freebsd/freebsd-libexec/files/rusersd.xinetd
new file mode 100644
index 000000000000..5cbe091881e8
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/rusersd.xinetd
@@ -0,0 +1,11 @@
+service rusersd
+{
+ type = rpc
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = /usr/libexec/rpc.rusersd
+ rpc_version = 1-2
+ disabled = yes
+}
diff --git a/sys-freebsd/freebsd-libexec/files/sprayd.xinetd b/sys-freebsd/freebsd-libexec/files/sprayd.xinetd
new file mode 100644
index 000000000000..7be55771ac22
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/sprayd.xinetd
@@ -0,0 +1,11 @@
+service sprayd
+{
+ type = rpc
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = /usr/libexec/rpc.sprayd
+ rpc_version = 1
+ disabled = yes
+}
diff --git a/sys-freebsd/freebsd-libexec/files/walld.xinetd b/sys-freebsd/freebsd-libexec/files/walld.xinetd
new file mode 100644
index 000000000000..800b84fa21e6
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/walld.xinetd
@@ -0,0 +1,11 @@
+service walld
+{
+ type = rpc
+ socket_type = dgram
+ protocol = udp
+ wait = yes
+ user = root
+ server = /usr/libexec/rpc.rwalld
+ rpc_version = 1
+ disabled = yes
+}
diff --git a/sys-freebsd/freebsd-libexec/freebsd-libexec-7.1.ebuild b/sys-freebsd/freebsd-libexec/freebsd-libexec-7.1.ebuild
new file mode 100644
index 000000000000..5a041d0af92d
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/freebsd-libexec-7.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/freebsd-libexec-7.1.ebuild,v 1.1 2009/01/22 21:02:22 the_paya Exp $
+
+inherit bsdmk freebsd pam
+
+DESCRIPTION="FreeBSD libexec things"
+SLOT="0"
+KEYWORDS="~sparc-fbsd ~x86-fbsd"
+
+IUSE="pam ssl kerberos ipv6 nis xinetd"
+
+SRC_URI="mirror://gentoo/${LIBEXEC}.tar.bz2
+ mirror://gentoo/${UBIN}.tar.bz2
+ mirror://gentoo/${BIN}.tar.bz2
+ mirror://gentoo/${CONTRIB}.tar.bz2
+ mirror://gentoo/${LIB}.tar.bz2
+ mirror://gentoo/${ETC}.tar.bz2
+ mirror://gentoo/${USBIN}.tar.bz2"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-sources-${RV}*"
+RDEPEND="${RDEPEND}
+ xinetd? ( sys-apps/xinetd )"
+
+S="${WORKDIR}/libexec"
+
+PATCHES="${FILESDIR}/${PN}-setXid.patch
+ ${FILESDIR}/${PN}-nossp.patch
+ ${FILESDIR}/${PN}-7.0-libfallback.patch"
+
+# Remove sendmail, tcp_wrapper and other useless stuff
+REMOVE_SUBDIRS="smrsh mail.local tcpd telnetd rshd rlogind lukemftpd ftpd"
+
+pkg_setup() {
+ use pam || mymakeopts="${mymakeopts} NO_PAM= "
+ use ssl || mymakeopts="${mymakeopts} NO_OPENSSL= NO_CRYPT= "
+ use kerberos || mymakeopts="${mymakeopts} NO_KERBEROS= "
+ use ipv6 || mymakeopts="${mymakeopts} NO_INET6= "
+ use nis || mymakeopts="${mymakeopts} NO_NIS= "
+
+ mymakeopts="${mymakeopts} NO_SENDMAIL= NO_PF= "
+}
+
+src_unpack() {
+ freebsd_src_unpack
+
+ ln -s /usr/include "${WORKDIR}/include"
+}
+
+src_compile() {
+ NOSSP_FLAGS="$(test-flags -fno-stack-protector -fno-stack-protector-all)"
+ export NOSSP_FLAGS
+ freebsd_src_compile
+}
+
+src_install() {
+ freebsd_src_install
+
+ insinto /etc
+ doins "${WORKDIR}/etc/gettytab"
+ newinitd "${FILESDIR}/bootpd.initd" bootpd
+ newconfd "${FILESDIR}/bootpd.confd" bootpd
+
+ if use xinetd; then
+ for rpcd in rstatd rusersd walld rquotad sprayd; do
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/${rpcd}.xinetd" ${rpcd}
+ done
+ fi
+}