Browse Source

Clifford Wolf:


			
			
				rocklinux
			
			
		
Clifford Wolf 17 years ago
parent
commit
0dd08665f7
4 changed files with 65 additions and 326 deletions
  1. +2
    -2
      package/base/linux/linux.desc
  2. +31
    -26
      package/base/linux/linux26/12-conf-hacks.patch
  3. +0
    -264
      package/base/linux/linux26/75-linux-types_h.patch
  4. +32
    -34
      package/base/linux/linux26/80-ext23-suiddir.patch

+ 2
- 2
package/base/linux/linux.desc

@ -50,8 +50,8 @@
#endif
#if xpkg == linux26.*
[V] 2.6.26.5
[D] 4152354053 linux-2.6.26.5.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/
[V] 2.6.28
[D] 3838246613 linux-2.6.28.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/
#endif
[CD] <COPY> for x in $cachedir/linux2[46].cache; do cp $x $confdir/$pkg.cache; done

+ 31
- 26
package/base/linux/linux26/12-conf-hacks.patch

@ -1,7 +1,6 @@
diff -dur linux-2.6.17-orig/scripts/kconfig/conf.c linux-2.6.17/scripts/kconfig/conf.c
--- linux-2.6.17-orig/scripts/kconfig/conf.c 2006-06-18 03:49:35.000000000 +0200
+++ linux-2.6.17/scripts/kconfig/conf.c 2006-07-27 22:13:38.000000000 +0200
@@ -21,6 +21,7 @@
--- ./scripts/kconfig/conf.c
+++ ./scripts/kconfig/conf.c
@@ -22,6 +22,7 @@
ask_all,
ask_new,
ask_silent,
@ -9,23 +8,22 @@ diff -dur linux-2.6.17-orig/scripts/kconfig/conf.c linux-2.6.17/scripts/kconfig/
set_default,
set_yes,
set_mod,
@@ -92,6 +93,15 @@
return;
}
break;
+ case ask_no2mod:
+ if (type == S_TRISTATE &&
+ sym_get_tristate_value(sym) == no) {
+ fprintf(stderr, "Setting %s to 'm'.\n", sym->name);
+ line[0] = 'm';
+ line[1] = '\n';
+ line[2] = 0;
+ break;
+ }
@@ -92,6 +93,14 @@
}
switch (input_mode) {
+ case ask_no2mod:
+ if (type == S_TRISTATE && sym_get_tristate_value(sym) == no) {
+ fprintf(stderr, "Setting %s to 'm'.\n", sym->name);
+ line[0] = 'm';
+ line[1] = '\n';
+ line[2] = 0;
+ break;
+ }
case ask_new:
case ask_silent:
if (sym_has_value(sym)) {
@@ -354,6 +364,7 @@
@@ -301,6 +310,7 @@
break;
}
check_stdin();
@ -33,7 +31,7 @@ diff -dur linux-2.6.17-orig/scripts/kconfig/conf.c linux-2.6.17/scripts/kconfig/
case ask_all:
fflush(stdout);
fgets(line, 128, stdin);
@@ -504,7 +515,7 @@
@@ -438,7 +448,7 @@
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
@ -41,8 +39,8 @@ diff -dur linux-2.6.17-orig/scripts/kconfig/conf.c linux-2.6.17/scripts/kconfig/
+ while ((opt = getopt(ac, av, "osdD:nmMyrh")) != -1) {
switch (opt) {
case 'o':
input_mode = ask_new;
@@ -523,6 +534,9 @@
input_mode = ask_silent;
@@ -460,6 +470,9 @@
case 'm':
input_mode = set_mod;
break;
@ -52,17 +50,24 @@ diff -dur linux-2.6.17-orig/scripts/kconfig/conf.c linux-2.6.17/scripts/kconfig/
case 'y':
input_mode = set_yes;
break;
@@ -565,6 +579,7 @@
}
@@ -510,6 +523,7 @@
case ask_silent:
case ask_all:
case ask_new:
+ case ask_no2mod:
conf_read(NULL);
break;
case set_no:
diff -dur linux-2.6.17-orig/scripts/kconfig/Makefile linux-2.6.17/scripts/kconfig/Makefile
--- linux-2.6.17-orig/scripts/kconfig/Makefile 2006-06-18 03:49:35.000000000 +0200
+++ linux-2.6.17/scripts/kconfig/Makefile 2006-07-27 22:15:10.000000000 +0200
@@ -572,6 +586,7 @@
input_mode = ask_silent;
/* fall through */
case ask_silent:
+ case ask_no2mod:
/* Update until a loop caused no more changes */
do {
conf_cnt = 0;
--- ./scripts/kconfig/Makefile
+++ ./scripts/kconfig/Makefile
@@ -42,7 +42,7 @@
$(Q)rm -f arch/um/Kconfig_arch
$(Q)rm -f scripts/kconfig/linux_*.pot scripts/kconfig/config.pot

+ 0
- 264
package/base/linux/linux26/75-linux-types_h.patch

@ -1,264 +0,0 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/linux/linux26/75-linux-types_h.patch
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
diff -dur linux-2.6.10/include/linux/byteorder/big_endian.h linux-2.6.10/include/linux-p/byteorder/big_endian.h
--- linux-2.6.10/include/linux/byteorder/big_endian.h 2004-12-27 08:39:23.000000000 +0000
+++ linux-2.6.10/include/linux-p/byteorder/big_endian.h 2004-12-29 08:03:51.021207112 +0000
@@ -10,36 +10,62 @@
#include <linux/types.h>
#include <linux/byteorder/swab.h>
-
+
#define __constant_htonl(x) ((__force __be32)(__u32)(x))
#define __constant_ntohl(x) ((__force __u32)(__be32)(x))
#define __constant_htons(x) ((__force __be16)(__u16)(x))
#define __constant_ntohs(x) ((__force __u16)(__be16)(x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __constant_cpu_to_le64(x) ((__force __le64)___constant_swab64((x)))
#define __constant_le64_to_cpu(x) ___constant_swab64((__force __u64)(__le64)(x))
+
+#endif
+
#define __constant_cpu_to_le32(x) ((__force __le32)___constant_swab32((x)))
#define __constant_le32_to_cpu(x) ___constant_swab32((__force __u32)(__le32)(x))
#define __constant_cpu_to_le16(x) ((__force __le16)___constant_swab16((x)))
#define __constant_le16_to_cpu(x) ___constant_swab16((__force __u16)(__le16)(x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __constant_cpu_to_be64(x) ((__force __be64)(__u64)(x))
#define __constant_be64_to_cpu(x) ((__force __u64)(__be64)(x))
+
+#endif
+
#define __constant_cpu_to_be32(x) ((__force __be32)(__u32)(x))
#define __constant_be32_to_cpu(x) ((__force __u32)(__be32)(x))
#define __constant_cpu_to_be16(x) ((__force __be16)(__u16)(x))
#define __constant_be16_to_cpu(x) ((__force __u16)(__be16)(x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __cpu_to_le64(x) ((__force __le64)__swab64((x)))
#define __le64_to_cpu(x) __swab64((__force __u64)(__le64)(x))
+
+#endif
+
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
#define __cpu_to_le16(x) ((__force __le16)__swab16((x)))
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __cpu_to_be64(x) ((__force __be64)(__u64)(x))
#define __be64_to_cpu(x) ((__force __u64)(__be64)(x))
+
+#endif
+
#define __cpu_to_be32(x) ((__force __be32)(__u32)(x))
#define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
#define __cpu_to_be16(x) ((__force __be16)(__u16)(x))
#define __be16_to_cpu(x) ((__force __u16)(__be16)(x))
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
static inline __le64 __cpu_to_le64p(const __u64 *p)
{
return (__force __le64)__swab64p(p);
@@ -48,6 +74,9 @@
{
return __swab64p((__u64 *)p);
}
+
+#endif
+
static inline __le32 __cpu_to_le32p(const __u32 *p)
{
return (__force __le32)__swab32p(p);
@@ -64,6 +93,9 @@
{
return __swab16p((__u16 *)p);
}
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
static inline __be64 __cpu_to_be64p(const __u64 *p)
{
return (__force __be64)*p;
@@ -72,6 +104,9 @@
{
return (__force __u64)*p;
}
+
+#endif
+
static inline __be32 __cpu_to_be32p(const __u32 *p)
{
return (__force __be32)*p;
@@ -88,14 +123,26 @@
{
return (__force __u16)*p;
}
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __cpu_to_le64s(x) __swab64s((x))
#define __le64_to_cpus(x) __swab64s((x))
+
+#endif
+
#define __cpu_to_le32s(x) __swab32s((x))
#define __le32_to_cpus(x) __swab32s((x))
#define __cpu_to_le16s(x) __swab16s((x))
#define __le16_to_cpus(x) __swab16s((x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __cpu_to_be64s(x) do {} while (0)
#define __be64_to_cpus(x) do {} while (0)
+
+#endif
+
#define __cpu_to_be32s(x) do {} while (0)
#define __be32_to_cpus(x) do {} while (0)
#define __cpu_to_be16s(x) do {} while (0)
diff -dur linux-2.6.10/include/linux/byteorder/little_endian.h linux-2.6.10/include/linux-p/byteorder/little_endian.h
--- linux-2.6.10/include/linux/byteorder/little_endian.h 2004-12-27 08:39:23.000000000 +0000
+++ linux-2.6.10/include/linux-p/byteorder/little_endian.h 2004-12-29 08:05:45.593789432 +0000
@@ -15,31 +15,57 @@
#define __constant_ntohl(x) ___constant_swab32((__force __be32)(x))
#define __constant_htons(x) ((__force __be16)___constant_swab16((x)))
#define __constant_ntohs(x) ___constant_swab16((__force __be16)(x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __constant_cpu_to_le64(x) ((__force __le64)(__u64)(x))
#define __constant_le64_to_cpu(x) ((__force __u64)(__le64)(x))
+
+#endif
+
#define __constant_cpu_to_le32(x) ((__force __le32)(__u32)(x))
#define __constant_le32_to_cpu(x) ((__force __u32)(__le32)(x))
#define __constant_cpu_to_le16(x) ((__force __le16)(__u16)(x))
#define __constant_le16_to_cpu(x) ((__force __u16)(__le16)(x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __constant_cpu_to_be64(x) ((__force __be64)___constant_swab64((x)))
#define __constant_be64_to_cpu(x) ___constant_swab64((__force __u64)(__be64)(x))
+
+#endif
+
#define __constant_cpu_to_be32(x) ((__force __be32)___constant_swab32((x)))
#define __constant_be32_to_cpu(x) ___constant_swab32((__force __u32)(__be32)(x))
#define __constant_cpu_to_be16(x) ((__force __be16)___constant_swab16((x)))
#define __constant_be16_to_cpu(x) ___constant_swab16((__force __u16)(__be16)(x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
#define __le64_to_cpu(x) ((__force __u64)(__le64)(x))
+
+#endif
+
#define __cpu_to_le32(x) ((__force __le32)(__u32)(x))
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
#define __cpu_to_le16(x) ((__force __le16)(__u16)(x))
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
#define __cpu_to_be64(x) ((__force __be64)__swab64((x)))
#define __be64_to_cpu(x) __swab64((__force __u64)(__be64)(x))
+
+#endif
+
#define __cpu_to_be32(x) ((__force __be32)__swab32((x)))
#define __be32_to_cpu(x) __swab32((__force __u32)(__be32)(x))
#define __cpu_to_be16(x) ((__force __be16)__swab16((x)))
#define __be16_to_cpu(x) __swab16((__force __u16)(__be16)(x))
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
static inline __le64 __cpu_to_le64p(const __u64 *p)
{
return (__force __le64)*p;
@@ -48,6 +74,9 @@
{
return (__force __u64)*p;
}
+
+#endif
+
static inline __le32 __cpu_to_le32p(const __u32 *p)
{
return (__force __le32)*p;
@@ -64,6 +93,9 @@
{
return (__force __u16)*p;
}
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+
static inline __be64 __cpu_to_be64p(const __u64 *p)
{
return (__force __be64)__swab64p(p);
@@ -72,6 +104,9 @@
{
return __swab64p((__u64 *)p);
}
+
+#endif
+
static inline __be32 __cpu_to_be32p(const __u32 *p)
{
return (__force __be32)__swab32p(p);
diff -dur linux-2.6.10/include/linux/types.h linux-2.6.10/include/linux-p/types.h
--- linux-2.6.10/include/linux/types.h 2004-12-27 08:39:26.000000000 +0000
+++ linux-2.6.10/include/linux-p/types.h 2004-12-29 08:07:33.782342272 +0000
@@ -131,6 +131,12 @@
#ifndef HAVE_SECTOR_T
typedef unsigned long sector_t;
#endif
+#endif /* __KERNEL_STRICT_NAMES */
+
+/*
+ * Below are truly Linux-specific types that should never collide with
+ * any application/library that wants linux/types.h.
+ */
/*
* The type of an index into the pagecache. Use a #define so asm/types.h
@@ -140,13 +146,6 @@
#define pgoff_t unsigned long
#endif
-#endif /* __KERNEL_STRICT_NAMES */
-
-/*
- * Below are truly Linux-specific types that should never collide with
- * any application/library that wants linux/types.h.
- */
-
#ifdef __CHECKER__
#define __bitwise __attribute__((bitwise))
#else

+ 32
- 34
package/base/linux/linux26/80-ext23-suiddir.patch

@ -60,48 +60,49 @@
S: Foehrengasse 16
S: A-2333 Leopoldsdorf b. Wien
S: Austria
--- ./fs/Kconfig.old 2004-09-13 10:51:35.040756792 +0200
+++ ./fs/Kconfig 2004-09-13 10:48:00.735336168 +0200
@@ -50,6 +50,35 @@
If you are not using a security module that requires using
extended attributes for file security labels, say N.
--- ./fs/ext2/Kconfig.orig 2009-01-18 17:59:49.000000000 +0100
+++ ./fs/ext2/Kconfig 2009-01-18 18:01:05.000000000 +0100
@@ -53,3 +53,33 @@
If you do not use a block device that is capable of using this,
or if unsure, say N.
+
+config EXT2_FS_SUIDDIR
+ bool "Ext2fs SUID on Directory Extension"
+ depends on EXT2_FS
+ ---help---
+ As you might know, the SGID flag has a special function on
+ directories: files within that directories will be owned by
+ the same group that also owns the directory - which is useful
+ for creating directories which are shared between the members
+ of a group.
+ help
+ As you might know, the SGID flag has a special function on
+ directories: files within that directories will be owned by
+ the same group that also owns the directory - which is useful
+ for creating directories which are shared between the members
+ of a group.
+
+ But that only makes sense if the umask is set to give full
+ permissions to the group (e.g. 007 or 002). Noone would do that
+ if there is a system-wide 'users' group - so some distributions
+ add an extra group for every user which lets the /etc/group
+ file grow very fast and makes the admins life harder ...
+ But that only makes sense if the umask is set to give full
+ permissions to the group (e.g. 007 or 002). Noone would do that
+ if there is a system-wide 'users' group - so some distributions
+ add an extra group for every user which lets the /etc/group
+ file grow very fast and makes the admins life harder ...
+
+ Activating this feture adds a function to the SUID flag on
+ directories, which usually has no function at all:
+ Activating this feture adds a function to the SUID flag on
+ directories, which usually has no function at all:
+
+ If the SUID flag is set for a diectory, all new files in that
+ directory will get the same rights in the group-field as they
+ have in their user-field. So, if one sets both - SUID and SGID
+ - on a directory, it will also work with a umask like 022 or
+ 077 and there is no more need for an extra group for every user.
+ If the SUID flag is set for a diectory, all new files in that
+ directory will get the same rights in the group-field as they
+ have in their user-field. So, if one sets both - SUID and SGID
+ - on a directory, it will also work with a umask like 022 or
+ 077 and there is no more need for an extra group for every user.
+
+ Also, the SUID flag will be set to all subdirectories of a
+ SUID directory (as it is already now with the SGID flag on
+ directories).
+ Also, the SUID flag will be set to all subdirectories of a
+ SUID directory (as it is already now with the SGID flag on
+ directories).
+
config EXT3_FS
tristate "Ext3 journalling file system support"
help
@@ -118,6 +147,35 @@
--- ./fs/ext3/Kconfig.orig 2009-01-18 18:01:10.000000000 +0100
+++ ./fs/ext3/Kconfig 2009-01-18 18:02:09.000000000 +0100
@@ -65,3 +65,33 @@
If you are not using a security module that requires using
extended attributes for file security labels, say N.
+
+config EXT3_FS_SUIDDIR
+ bool "Ext3fs SUID on Directory Extension"
+ depends on EXT3_FS
@ -131,6 +132,3 @@
+ SUID directory (as it is already now with the SGID flag on
+ directories).
+
config JBD
# CONFIG_JBD could be its own option (even modular), but until there are
# other users than ext3, we will simply make it be the same as CONFIG_EXT3_FS

Loading…
Cancel
Save