diff options
author | Javier Villavicencio <the_paya@gentoo.org> | 2009-01-22 21:02:22 +0000 |
---|---|---|
committer | Javier Villavicencio <the_paya@gentoo.org> | 2009-01-22 21:02:22 +0000 |
commit | 389b85877815c2f64df1fee5313a6e97733a7b34 (patch) | |
tree | d123686e3bc9f4266d8c0a0f821cede5c4bd148b /sys-freebsd | |
parent | Import of the 7.1 ebuilds from gentoo-bsd overlay. (diff) | |
download | gentoo-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')
-rw-r--r-- | sys-freebsd/freebsd-libexec/ChangeLog | 13 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/bootpd.confd | 6 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/bootpd.initd | 7 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/freebsd-libexec-7.0-libfallback.patch | 137 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/ftpd.pamd | 20 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/rquotad.xinetd | 11 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/rstatd.xinetd | 11 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/rusersd.xinetd | 11 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/sprayd.xinetd | 11 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/files/walld.xinetd | 11 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/freebsd-libexec-7.1.ebuild | 74 |
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 +} |