summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Redaelli <drizzt@gentoo.org>2006-10-17 09:28:20 +0000
committerTimothy Redaelli <drizzt@gentoo.org>2006-10-17 09:28:20 +0000
commita58b8c267a70122c9071d49c319bc3d3d7792105 (patch)
treeb4aaa62be220fc659528a55477d766849a6319ed /sys-freebsd
parentAdded ~sparc-fbsd keyword. (diff)
downloadgentoo-2-a58b8c267a70122c9071d49c319bc3d3d7792105.tar.gz
gentoo-2-a58b8c267a70122c9071d49c319bc3d3d7792105.tar.bz2
gentoo-2-a58b8c267a70122c9071d49c319bc3d3d7792105.zip
Add a patch from Alex Unleashed to fix bug #144594
Removed use rcp (it collided with netkit-rsh) (Portage version: 2.1.2_pre3-r2)
Diffstat (limited to 'sys-freebsd')
-rw-r--r--sys-freebsd/freebsd-bin/ChangeLog7
-rw-r--r--sys-freebsd/freebsd-bin/files/freebsd-bin-6.2-mkdir-posix.patch111
-rw-r--r--sys-freebsd/freebsd-bin/freebsd-bin-6.2_beta2.ebuild10
3 files changed, 122 insertions, 6 deletions
diff --git a/sys-freebsd/freebsd-bin/ChangeLog b/sys-freebsd/freebsd-bin/ChangeLog
index b279aedd5566..37287e1441b4 100644
--- a/sys-freebsd/freebsd-bin/ChangeLog
+++ b/sys-freebsd/freebsd-bin/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-freebsd/freebsd-bin
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/ChangeLog,v 1.14 2006/10/05 09:07:22 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/ChangeLog,v 1.15 2006/10/17 09:28:20 drizzt Exp $
+
+ 17 Oct 2006; Timothy Redaelli <drizzt@gentoo.org>
+ +files/freebsd-bin-6.2-mkdir-posix.patch, freebsd-bin-6.2_beta2.ebuild:
+ Add a patch from Alex Unleashed to fix bug #144594
+ Removed use rcp (it collided with netkit-rsh)
*freebsd-bin-6.2_beta2 (05 Oct 2006)
diff --git a/sys-freebsd/freebsd-bin/files/freebsd-bin-6.2-mkdir-posix.patch b/sys-freebsd/freebsd-bin/files/freebsd-bin-6.2-mkdir-posix.patch
new file mode 100644
index 000000000000..1faff4cb321b
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/files/freebsd-bin-6.2-mkdir-posix.patch
@@ -0,0 +1,111 @@
+===================================================================
+RCS file: /usr/local/www/cvsroot/FreeBSD/src/bin/mkdir/mkdir.c,v
+retrieving revision 1.32
+retrieving revision 1.33
+diff -u -p -r1.32 -r1.33
+--- fbsd-6/bin/mkdir/mkdir.c 2005/02/09 17:37:38 1.32
++++ fbsd-6/bin/mkdir/mkdir.c 2006/10/10 20:18:20 1.33
+@@ -39,7 +39,7 @@ static char sccsid[] = "@(#)mkdir.c 8.2
+ #endif /* not lint */
+ #endif
+ #include <sys/cdefs.h>
+-__FBSDID("$FreeBSD: src/bin/mkdir/mkdir.c,v 1.32 2005/02/09 17:37:38 ru Exp $");
++__FBSDID("$FreeBSD: src/bin/mkdir/mkdir.c,v 1.33 2006/10/10 20:18:20 ru Exp $");
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -99,19 +99,19 @@ main(int argc, char *argv[])
+ }
+
+ for (exitval = 0; *argv != NULL; ++argv) {
+- success = 1;
+ if (pflag) {
+- if (build(*argv, omode))
+- success = 0;
++ success = build(*argv, omode);
+ } else if (mkdir(*argv, omode) < 0) {
+ if (errno == ENOTDIR || errno == ENOENT)
+ warn("%s", dirname(*argv));
+ else
+ warn("%s", *argv);
+ success = 0;
+- } else if (vflag)
+- (void)printf("%s\n", *argv);
+-
++ } else {
++ success = 1;
++ if (vflag)
++ (void)printf("%s\n", *argv);
++ }
+ if (!success)
+ exitval = 1;
+ /*
+@@ -119,9 +119,10 @@ main(int argc, char *argv[])
+ * nine bits, so if you try to set a mode including the
+ * sticky, setuid, setgid bits you lose them. Don't do
+ * this unless the user has specifically requested a mode,
+- * as chmod will (obviously) ignore the umask.
++ * as chmod will (obviously) ignore the umask. Do this
++ * on newly created directories only.
+ */
+- if (success && mode != NULL && chmod(*argv, omode) == -1) {
++ if (success == 1 && mode != NULL && chmod(*argv, omode) == -1) {
+ warn("%s", *argv);
+ exitval = 1;
+ }
+@@ -129,6 +130,11 @@ main(int argc, char *argv[])
+ exit(exitval);
+ }
+
++
++/*
++ * Returns 1 if a directory has been created,
++ * 2 if it already existed, and 0 on failure.
++ */
+ int
+ build(char *path, mode_t omode)
+ {
+@@ -139,7 +145,7 @@ build(char *path, mode_t omode)
+
+ p = path;
+ oumask = 0;
+- retval = 0;
++ retval = 1;
+ if (p[0] == '/') /* Skip leading '/'. */
+ ++p;
+ for (first = 1, last = 0; !last ; ++p) {
+@@ -154,7 +160,7 @@ build(char *path, mode_t omode)
+ /*
+ * POSIX 1003.2:
+ * For each dir operand that does not name an existing
+- * directory, effects equivalent to those cased by the
++ * directory, effects equivalent to those caused by the
+ * following command shall occcur:
+ *
+ * mkdir -p -m $(umask -S),u+wx $(dirname dir) &&
+@@ -174,7 +180,7 @@ build(char *path, mode_t omode)
+ if (errno == EEXIST || errno == EISDIR) {
+ if (stat(path, &sb) < 0) {
+ warn("%s", path);
+- retval = 1;
++ retval = 0;
+ break;
+ } else if (!S_ISDIR(sb.st_mode)) {
+ if (last)
+@@ -182,12 +188,14 @@ build(char *path, mode_t omode)
+ else
+ errno = ENOTDIR;
+ warn("%s", path);
+- retval = 1;
++ retval = 0;
+ break;
+ }
++ if (last)
++ retval = 2;
+ } else {
+ warn("%s", path);
+- retval = 1;
++ retval = 0;
+ break;
+ }
+ } else if (vflag)
diff --git a/sys-freebsd/freebsd-bin/freebsd-bin-6.2_beta2.ebuild b/sys-freebsd/freebsd-bin/freebsd-bin-6.2_beta2.ebuild
index f74d5cc6c439..5070ac9839bb 100644
--- a/sys-freebsd/freebsd-bin/freebsd-bin-6.2_beta2.ebuild
+++ b/sys-freebsd/freebsd-bin/freebsd-bin-6.2_beta2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/freebsd-bin-6.2_beta2.ebuild,v 1.1 2006/10/05 09:07:22 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/freebsd-bin-6.2_beta2.ebuild,v 1.2 2006/10/17 09:28:20 drizzt Exp $
inherit bsdmk freebsd
@@ -8,7 +8,7 @@ DESCRIPTION="FreeBSD /bin tools"
SLOT="0"
KEYWORDS="~x86-fbsd"
-IUSE="rcp nls"
+IUSE="nls"
SRC_URI="mirror://gentoo/${BIN}.tar.bz2
mirror://gentoo/${SBIN}.tar.bz2
@@ -24,13 +24,13 @@ DEPEND="${RDEPEND}
S=${WORKDIR}/bin
-PATCHES="${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
+PATCHES="${FILESDIR}/${PN}-6.0-flex-2.5.31.patch
+ ${FILESDIR}/${PN}-6.2-mkdir-posix.patch"
pkg_setup() {
- use rcp || mymakeopts="${mymakeopts} NO_RCMDS= "
use nls || mymakeopts="${mymakeopts} NO_NLS= "
- mymakeopts="${mymakeopts} NO_TCSH= NO_SENDMAIL= NO_OPENSSL= NO_CRYPT= "
+ mymakeopts="${mymakeopts} NO_TCSH= NO_SENDMAIL= NO_OPENSSL= NO_CRYPT= NO_RCMDS= "
}
# csh and tcsh are provided by tcsh package, rmail is sendmail stuff.