From 5d8259c67a47dd5c29c45eaebbe76cccdbdc9b49 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sat, 3 Jul 2004 10:12:22 +0000 Subject: [PATCH] Clifford Wolf: First implementation of generic linux package (needs an 'svn rm package/base/linux2*') [2004070115335023012] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@3497 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/alsa-driver/alsa-driver.conf | 2 +- package/base/linux/autoconf.h | 64 +++ package/base/linux/config-500.hlp | 46 ++ package/base/linux/config-500.in | 111 ++++ package/base/linux/generate-asm | 70 +++ package/base/linux/kernelversion.sh | 23 + package/base/linux/linux.conf | 473 ++++++++++++++++++ package/base/linux/linux.desc | 55 ++ .../base/linux/linux24/05-devfs-not-exp.patch | 45 ++ .../base/linux/linux24/06-devfs-default.patch | 188 +++++++ .../linux24/08-nomodinst_post_pcmcia.patch | 33 ++ .../base/linux/linux24/12-conf-hacks.patch | 131 +++++ .../linux/linux24/15-install-in-boot.patch | 38 ++ package/base/linux/linux24/20-kernel-cc.patch | 40 ++ .../linux/linux24/80-ext23fs-suiddir.patch | 155 ++++++ .../linux/linux24/81-reiserfs-suiddir.patch | 86 ++++ .../linux24/82-raid5-niceer-output.patch | 38 ++ .../linux24/88-multiple-soundcard-fix.patch | 92 ++++ .../linux/linux24/89-mips-abi-defines.patch | 33 ++ .../base/linux/linux24/92-nforce-bugfix.patch | 35 ++ .../linux/linux24/95-inet-for-userspace.patch | 59 +++ .../linux24/96-quota-for-userspace.patch | 54 ++ .../linux/linux24/99-byteorder-i386.patch | 58 +++ .../99-hotfix-i386-x86_64-fpu-state.patch | 38 ++ .../linux24/99-mkdep-arglist-too-long.patch | 41 ++ package/base/linux/linux24/99-uu64-i386.patch | 39 ++ package/base/linux/linux24/arch-ppc-agp.patch | 33 ++ .../base/linux/linux24/arch-ppc-bitops.patch | 37 ++ .../base/linux/linux24/arch-ppc-config.patch | 37 ++ .../linux24/arch-ppc-horizon-name-clash.patch | 33 ++ .../linux/linux24/arch-ppc-mac-nvram.patch | 17 + .../linux/linux24/arch-sparc64-use-KCC.patch | 42 ++ package/base/linux/linux24/disable-broken.lst | 25 + .../base/linux/linux26/05-devfs-not-exp.patch | 43 ++ .../base/linux/linux26/12-conf-hacks.patch | 111 ++++ .../linux/linux26/15-install-in-boot.patch | 38 ++ package/base/linux/linux26/20-kernel-cc.patch | 40 ++ .../base/linux/linux26/80-ext23-suiddir.patch | 139 +++++ .../linux/linux26/81-reiser-suiddir.patch | 77 +++ .../linux26/82-raid5-niceer-output.patch | 38 ++ .../linux26/arch-ppc-horizon-name-clash.patch | 33 ++ package/base/linux/linux26/disable-broken.lst | 73 +++ package/base/linux/mkinitrd.sh | 87 ++++ package/base/pcmcia-cs/pcmcia-cs.conf | 2 +- package/fake/cloop/cloop.conf | 2 +- package/x11/linux-drm/linux-drm.conf | 2 +- scripts/Build-Pkg | 4 +- scripts/Create-PkgList | 6 +- target/bootdisk/config.in | 4 +- 49 files changed, 2961 insertions(+), 9 deletions(-) create mode 100644 package/base/linux/autoconf.h create mode 100644 package/base/linux/config-500.hlp create mode 100644 package/base/linux/config-500.in create mode 100644 package/base/linux/generate-asm create mode 100644 package/base/linux/kernelversion.sh create mode 100644 package/base/linux/linux.conf create mode 100644 package/base/linux/linux.desc create mode 100644 package/base/linux/linux24/05-devfs-not-exp.patch create mode 100644 package/base/linux/linux24/06-devfs-default.patch create mode 100644 package/base/linux/linux24/08-nomodinst_post_pcmcia.patch create mode 100644 package/base/linux/linux24/12-conf-hacks.patch create mode 100644 package/base/linux/linux24/15-install-in-boot.patch create mode 100644 package/base/linux/linux24/20-kernel-cc.patch create mode 100644 package/base/linux/linux24/80-ext23fs-suiddir.patch create mode 100644 package/base/linux/linux24/81-reiserfs-suiddir.patch create mode 100644 package/base/linux/linux24/82-raid5-niceer-output.patch create mode 100644 package/base/linux/linux24/88-multiple-soundcard-fix.patch create mode 100644 package/base/linux/linux24/89-mips-abi-defines.patch create mode 100644 package/base/linux/linux24/92-nforce-bugfix.patch create mode 100644 package/base/linux/linux24/95-inet-for-userspace.patch create mode 100644 package/base/linux/linux24/96-quota-for-userspace.patch create mode 100644 package/base/linux/linux24/99-byteorder-i386.patch create mode 100644 package/base/linux/linux24/99-hotfix-i386-x86_64-fpu-state.patch create mode 100644 package/base/linux/linux24/99-mkdep-arglist-too-long.patch create mode 100644 package/base/linux/linux24/99-uu64-i386.patch create mode 100644 package/base/linux/linux24/arch-ppc-agp.patch create mode 100644 package/base/linux/linux24/arch-ppc-bitops.patch create mode 100644 package/base/linux/linux24/arch-ppc-config.patch create mode 100644 package/base/linux/linux24/arch-ppc-horizon-name-clash.patch create mode 100644 package/base/linux/linux24/arch-ppc-mac-nvram.patch create mode 100644 package/base/linux/linux24/arch-sparc64-use-KCC.patch create mode 100644 package/base/linux/linux24/disable-broken.lst create mode 100644 package/base/linux/linux26/05-devfs-not-exp.patch create mode 100644 package/base/linux/linux26/12-conf-hacks.patch create mode 100644 package/base/linux/linux26/15-install-in-boot.patch create mode 100644 package/base/linux/linux26/20-kernel-cc.patch create mode 100644 package/base/linux/linux26/80-ext23-suiddir.patch create mode 100644 package/base/linux/linux26/81-reiser-suiddir.patch create mode 100644 package/base/linux/linux26/82-raid5-niceer-output.patch create mode 100644 package/base/linux/linux26/arch-ppc-horizon-name-clash.patch create mode 100644 package/base/linux/linux26/disable-broken.lst create mode 100644 package/base/linux/mkinitrd.sh diff --git a/package/base/alsa-driver/alsa-driver.conf b/package/base/alsa-driver/alsa-driver.conf index 3beeaaf55..9b9051fa9 100644 --- a/package/base/alsa-driver/alsa-driver.conf +++ b/package/base/alsa-driver/alsa-driver.conf @@ -20,7 +20,7 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- -. $base/package/base/linux24/kernelversion.sh +. $base/package/base/linux/kernelversion.sh confopt="$confopt --with-oss=yes --with-cards=all --with-sequencer=yes --with-isapnp=yes" confopt="$confopt --with-moddir=/lib/modules/$kernelversion/alsa" diff --git a/package/base/linux/autoconf.h b/package/base/linux/autoconf.h new file mode 100644 index 000000000..37f97a6d9 --- /dev/null +++ b/package/base/linux/autoconf.h @@ -0,0 +1,64 @@ +/* + * Manualy created by Clifford to keep common things alive ... + * + * --- 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/linux24/autoconf.h + * ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf + * + * This program is free software; you can redistribute it and/or modify + * it 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. A copy of the GNU General Public + * License can be found at Documentation/COPYING. + * + * Many people helped and are helping developing ROCK Linux. Please + * have a look at http://www.rocklinux.org/ and the Documentation/TEAM + * file for details. + * + * --- ROCK-COPYRIGHT-NOTE-END --- + * + */ + +/* + * Code maturity level options + */ +#define CONFIG_EXPERIMENTAL 0 + +/* + * Loadable module support + */ +#define CONFIG_MODULES 1 +#undef CONFIG_MODVERSIONS 1 +#define CONFIG_KMOD 1 + +/* + * General setup + */ +#define CONFIG_NET 1 +#define CONFIG_SYSVIPC 1 +#define CONFIG_BINFMT_ELF 1 + +/* + * Networking options + */ +#define CONFIG_UNIX 1 +#define CONFIG_INET 1 + +/* + * Network device support + */ +#define CONFIG_NETDEVICES 1 +#define CONFIG_DUMMY 1 + +/* + * Filesystems + */ +#define CONFIG_QUOTA 1 +#define CONFIG_EXT2_FS 1 +#define CONFIG_PROC_FS 1 diff --git a/package/base/linux/config-500.hlp b/package/base/linux/config-500.hlp new file mode 100644 index 000000000..4e4e44eec --- /dev/null +++ b/package/base/linux/config-500.hlp @@ -0,0 +1,46 @@ +# --- 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/linux24/config-500.hlp +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +MENU_PKG_LINUX + Here you will find options to configure the kernel. + +ROCKCFG_PKG_LINUX_CUSTCONFIG + Here you can define custom configurations to the kernel. + Please note that these will apply _after_ the default kernel config + has been created. + +ROCKCFG_PKG_LINUX_CONFIG_STYLE + This options selects whether to not perform an automated kernel + configuration generation, to parse the normal ROCK Linux configuraton + templates or to perform the normal parsing and additionally enable all + modules (the default setting). + + The first option - to disable the configuration - is useful if you want + to supply a full configuration in config/$id/linux.cfg. + + Manually supplied kernel config options will be applied whatever option + is choosen here. + +ROCKCFG_PKG_LINUX_USE26MODTOOLS + Please check here if you want to use the newer modutils. This is + needed if you want to use a 2.6.x kernel. + diff --git a/package/base/linux/config-500.in b/package/base/linux/config-500.in new file mode 100644 index 000000000..90679a2df --- /dev/null +++ b/package/base/linux/config-500.in @@ -0,0 +1,111 @@ +# --- 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/config-500.in +# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +if pkgcheck linux X +then + menu_begin MENU_PKG_LINUX 'Linux Kernel Options' + + choice ROCKCFG_PKG_LINUX_HEADERS linux24 \ + linux24 'Use linux kernel 2.4.x headers in /usr/include' \ + linux26 'Use linux kernel 2.6.x headers in /usr/include' + + pkgfork linux ${ROCKCFG_PKG_LINUX_HEADERS}-header stages 01-------9 + + bool 'Place linux24 sources in /usr/src' \ + ROCKCFG_PKG_LINUX_SRC24 1 + + if [ "$ROCKCFG_PKG_LINUX_SRC24" = 1 ]; then + pkgfork linux linux24-source + fi + + bool 'Place linux26 sources in /usr/src' \ + ROCKCFG_PKG_LINUX_SRC26 1 + + if [ "$ROCKCFG_PKG_LINUX_SRC26" = 1 ]; then + pkgfork linux linux26-source + fi + + bool 'Build and install a linux24 kernel' \ + ROCKCFG_PKG_LINUX_IMG24 1 + + if [ "$ROCKCFG_PKG_LINUX_IMG24" = 1 ]; then + pkgfork linux linux24 + fi + + bool 'Build and install a linux26 kernel' \ + ROCKCFG_PKG_LINUX_IMG26 1 + + if [ "$ROCKCFG_PKG_LINUX_IMG26" = 1 ]; then + pkgfork linux linux26 + fi + + case "$ROCKCFG_PKG_LINUX_IMG24$ROCKCFG_PKG_LINUX_IMG26" in + 00) + const ROCKCFG_PKG_LINUX_DEFAULT none + ;; + 01) + const ROCKCFG_PKG_LINUX_DEFAULT linux26 + ;; + 10) + const ROCKCFG_PKG_LINUX_DEFAULT linux24 + ;; + *) + choice ROCKCFG_PKG_LINUX_DEFAULT linux24 \ + linux24 'Use linux kernel 2.4.x as default kernel' \ + linux26 'Use linux kernel 2.6.x as default kernel' + ;; + esac + + choice ROCKCFG_PKG_LINUX_CONFIG_STYLE modules \ + none 'Do not perform any automatic kernel configuration' \ + nomodules 'Perform normal kernel configuration without modules' \ + modules 'Perform normal kernel configuration including modules' + + if [ "$ROCKCFG_PKG_LINUX_CONFIG_STYLE" = none ] ; then + ROCKCFGSET_PKG_LINUX_CUSTCONFIG=1 + fi + + bool 'Apply custom kernel build configuration settings' \ + ROCKCFG_PKG_LINUX_CUSTCONFIG 0 + + if [ "$ROCKCFG_PKG_LINUX_CUSTCONFIG" = 1 ] ; then + block_begin 3 + comment 'The kernel config is strored in:' + comment "config/$config/linux.cfg" + editfile ROCKCFG_PKG_LINUX_CUSTCONFIG_FILE \ + config/$config/linux.cfg \ + 'Linux kernel build config settings' + block_end + else + rm -f config/$config/linux.cfg + fi + + bool 'Build kernel 2.6.x module utils (module-init-tools)' \ + ROCKCFG_PKG_LINUX_USE26MODTOOLS 1 + if [ $ROCKCFG_PKG_LINUX_USE26MODTOOLS = 0 ] ; then + pkgdisable module-init-tools + fi + + menu_end + pkgremove linux +fi + diff --git a/package/base/linux/generate-asm b/package/base/linux/generate-asm new file mode 100644 index 000000000..e5cee6f1c --- /dev/null +++ b/package/base/linux/generate-asm @@ -0,0 +1,70 @@ +#!/bin/sh -e + +# Idea borrowed from RedHat's kernel package +# Feb 02 2003: borrowed from Debian GNU/Linux for ROCK Linux + +if [ -n "$1" ]; then + if [ ! -d "$1" ]; then + echo "$1" does not exist, or is not a directory + exit 1 + fi + cd $1 + echo directory: "$1" +else + cd /usr/include +fi + +if [ ! -d asm-sparc -o ! -d asm-sparc64 ] ; then + echo E: asm-sparc and asm-sparc64 must exist, or you will have problems + exit 1 +fi + +rm -rf asm +mkdir asm + +for h in `( ls asm-sparc; ls asm-sparc64 ) | grep '\.h$' | sort -u`; do + name=`echo $h | tr a-z. A-Z_` + # common header + cat > asm/$h << EOF +/* All asm/ files are generated and point to the corresponding + * file in asm-sparc or asm-sparc64. To regenerate, run "generate-asm" + */ + +#ifndef __SPARCSTUB__${name}__ +#define __SPARCSTUB__${name}__ + +EOF + + # common for sparc and sparc64 + if [ -f asm-sparc/$h -a -f asm-sparc64/$h ]; then + cat >> asm/$h < +#else +#include +#endif +EOF + + # sparc only + elif [ -f asm-sparc/$h ]; then + cat >> asm/$h < +#endif +EOF + # sparc64 only + else + cat >> asm/$h < +#endif +EOF + fi + + # common footer + cat >> asm/$h < .config + elif [ -f $base/architecture/$arch/kernel$treever.conf.m4 ] ; then + echo " using: architecture/$arch/kernel$treever.conf.m4" + m4 -I $base/architecture/$arch -I $base/architecture/share \ + $base/architecture/$arch/kernel$treever.conf.m4 > .config + elif [ -f $base/architecture/$arch/kernel$treever.conf ] ; then + echo " using: architecture/$arch/kernel$treever.conf" + cp $base/architecture/$arch/kernel$treever.conf .config + elif [ -f $base/architecture/$arch/kernel.conf.sh ] ; then + echo " using: architecture/$arch/kernel.conf.sh" + . $base/architecture/$arch/kernel.conf.sh > .config + elif [ -f $base/architecture/$arch/kernel.conf.m4 ] ; then + echo " using: architecture/$arch/kernel.conf.m4" + m4 -I $base/architecture/$arch -I $base/architecture/share \ + $base/architecture/$arch/kernel.conf.m4 > .config + elif [ -f $base/architecture/$arch/kernel.conf ] ; then + echo " using: architecture/$arch/kernel.conf" + cp $base/architecture/$arch/kernel.conf .config + else + echo " using: no rock kernel config found" + cp arch/$lx_cpu/defconfig .config + fi + + echo " merging (system default): 'arch/$lx_cpu/defconfig'" + grep '^CONF.*=y' arch/$lx_cpu/defconfig | cut -f1 -d= | \ + while read tag ; do egrep -q "(^| )$tag[= ]" .config || echo "$tag=y" + done >> .config ; cp .config .config.1 + + # all modules needs to be first so modules can be disabled by i.e. + # the targets later + echo "Enabling all modules ..." + yes '' | eval $MAKE no2modconfig > /dev/null ; cp .config .config.2 + + if [ -f $base/target/$target/kernel$treever.conf.sh ] ; then + confscripts="$base/target/$target/kernel$treever.conf.sh $confscripts" + elif [ -f $base/target/$target/kernel.conf.sh ] ; then + confscripts="$base/target/$target/kernel.conf.sh $confscripts" + fi + + for x in $confscripts ; do + echo " running: $x" + sh $x .config + done + cp .config .config.3 + + # merge various text/plain config files + for x in $base/config/$config/linux.cfg \ + $base/target/$target/kernel.conf ; do + if [ -f $x ] ; then + echo " merging: '$x'" + tag="$(sed '/CONFIG_/ ! d; s,.*CONFIG_\([^ =]*\).*,\1,' \ + $x | tr '\n' '|')" + egrep -v "\bCONFIG_($tag)\b" < .config > .config.4 + sed 's,\(CONFIG_.*\)=n,# \1 is not set,' \ + $x >> .config.4 + cp .config.4 .config + fi + done + + # create a valid .config + yes '' | eval $MAKE oldconfig > /dev/null ; cp .config .config.5 + + # last disable broken stuff + rm -f /tmp/$$.sed + list="CONFIG_THIS_DOES_NOT_EXIST" + for x in $pkg_linux_brokenfiles ; do + if [ -f "$x" ] ; then + echo "Disable broken file: $x" + list="$list `tr ' ' '\t' < $x | cut -f1 | grep '^CONFIG_'`" + fi + done + for x in $list ; do + echo "s,^$x=.\$,# $x is not set,;" >> /tmp/$$.sed + done + + sed -f /tmp/$$.sed < .config > .config.6 + cp .config.6 .config ; rm -f /tmp/$$.sed + + # create a valid .config (dependencies might need to be disabled) + yes '' | eval $MAKE oldconfig > /dev/null + + # save final config + cp .config .config_modules + + echo "Creating config without modules ...." + sed "s,\(CONFIG_.*\)=m,# \1 is not set," .config > .config_new + mv .config_new .config + # create a valid .config (dependencies might need to be disabled) + yes '' | eval $MAKE oldconfig > /dev/null + mv .config .config_nomods + + # which .config to use? + if [ "$ROCKCFG_PKG_LINUX_CONFIG_STYLE" = "modules" ] ; then + cp .config_modules .config + else + cp .config_nomods .config + fi +} + +lx_grabextraversion () { + local ev + ev=$( sed -n -e 's,^[ \t]*EXTRAVERSION[ \t]*=[ \t]*\([^ \t]*\),\1,p' Makefile | tail -n 1 ) + if [ "$ev" ]; then + lx_extraversion="${lx_extraversion}$ev" + # keep intact but commented since the second EXTRAVERSION + # definition, and clean the first. + sed -e 's,^\([ \t]*EXTRAVERSION[ \t]*=.*\),#\1,g' \ + -e 's,^#\(EXTRAVERSION =\).*,\1,' \ + Makefile > Makefile.new + mv Makefile.new Makefile + fi +} + +lx_injectextraversion () { + lx_extraversion="${lx_extraversion}-rock" + + # inject final EXTRAVERSION into Makefile + sed -i -e "s,^\([ \t]*EXTRAVERSION[ \t]*\)=.*,\1= ${lx_extraversion},g" Makefile + + # update version.h - we only do this, because some other freaky + # projects like rsbac change EXTRAVERSION in other Makefiles ... + rerun=""; eval $MAKE include/linux/version.h | grep -q "is up to date" && rerun=1 + if [ "$rerun" ] ; then + echo "WARNING: Your system's timer resolution is too low ..." + sleep 1 ; touch Makefile + eval $MAKE include/linux/version.h + fi + + # get kernel_release + lx_kernelrelease="$( echo -e "#include \nUTS_RELEASE" \ + > conftest.c && \ + gcc -E -I./include conftest.c | tail -n 1 \ + | cut -d '"' -f 2 && rm -f conftest.c )" +} + +lx_config () +{ + echo "Generic linux source patching and configuration ..." + + # grab extraversion from vanilla + lx_grabextraversion + + hook_eval prepatch + apply_patchfiles "lx_grabextraversion" + hook_eval postpatch + + echo "Redefining some VERSION flags ..." + lx_injectextraversion + + if [[ $treever = 24* ]] ; then + echo "Create symlinks and a few headers for <$lx_cpu> ... " + eval $MAKE symlinks + cp $confdir/autoconf.h include/linux/ + touch include/linux/modversions.h + fi + + if [ "$ROCKCFG_PKG_LINUX_CONFIG_STYLE" = none ] ; then + echo "Using \$base/config/\$config/linux.cfg." + echo "Since automatic generation is disabled ..." + cp -v $base/config/$config/linux.cfg .config + else + echo "Automatically creating default configuration ...." + auto_config + fi + + echo "... configuration finished!" + + if [[ $treever != 24* ]] ; then + echo "Create symlinks and a few headers for <$lx_cpu> ... " + eval $MAKE include/asm + yes '' | eval $MAKE oldconfig > /dev/null + fi + + echo "Clean up the *.orig and *~ files ... " + rm -f .config.old `find -name '*.orig' -o -name '*~'` + + echo "Generic linux source configuration finished." +} + +pkg_linux_brokenfiles="$base/architecture/$arch/kernel-disable.lst \ + $base/architecture/$arch/kernel$treever-disable.lst \ + $confdir/linux$treever/disable-broken.lst $pkg_linux_brokenfiles" + +main_lx_src() { + echo "Extracting the Linux Kernel Sources [$vanilla_ver] ... " + tar $taropt $archdir/$srctar + cd linux-$vanilla_ver + + echo "Correcting user and permissions ..." + chown -R root:root . ; chmod -R u=rwX,go=rX . + + echo "Configuring kernel source ..." + lx_config + + echo "Copying to $root/usr/src/linux-${lx_kernelrelease} ..." + cd $root/usr/src + rm -rf linux-${lx_kernelrelease} + cp -r $builddir/linux-$vanilla_ver linux-${lx_kernelrelease} + + if [ "${xpkg%-source}" = "$ROCKCFG_PKG_LINUX_HEADERS" ] ; then + rm -f linux + ln -svf linux-${lx_kernelrelease} $root/usr/src/linux + fi + + echo "Copying kernel patches ... " + rm -rf linux$treever-patches ; mkdir -p linux$treever-patches + echo "This directory contains all the stuff used by ROCK Linux" > linux$treever-patches/README + echo "to build the Kernel (in addition to the official Kernel Sources)." >> linux$treever-patches/README + cp -v $patchfiles linux$treever-patches/ + + cd linux-${lx_kernelrelease} + + if [ "$ROCKCFG_PKG_LINUX_CONFIG_STYLE" = none ] ; then + # create a valid .config (new settings may be available etc.) + yes '' | eval $MAKE oldconfig > /dev/null + else + cp -v .config_nomods ../linux$treever-patches/config_nomods.txt + cp -v .config_modules ../linux$treever-patches/config_modules.txt + fi + + # can fail in stage 0-1 ... + if [ $stagelevel -gt 1 ] && [[ $treever = 24* ]] ; then + echo "Creating dependencies (e.g. for versioned symbols) ..." + eval $MAKE dep-files + fi + + echo "Clean up the *.orig and *~ files ... " + find -name '*.orig' -o -name '*~' | xargs rm -f + rm -f .config.old .config.[1-9] +} + +main_lx_header() { + echo "Extracting the Linux Kernel Sources [$ver] ... " + tar $taropt $archdir/$srctar + cd linux-$vanilla_ver + + # patch and configure + lx_config + + # install the header files - and do some post-processing for sparc + rm -rf $root/$prefix/include/{asm,asm-generic,linux,asm-sparc,asm-sparc64} + mkdir -p $root/$prefix/include + if [ $arch != sparc ] ; then + mkdir -p $root/$prefix/include/asm + cp -rv include/asm/* $root/$prefix/include/asm/ + cp -rv include/{asm-generic,linux} $root/$prefix/include/ + else + # we can only generate this files when we have a cross compiler + # which is stage 1 and above ... + if [ $stagelevel -gt 0 -a $treever != 26 ] ; then + # build two generated headers first ... + make ARCH=sparc CROSS_COMPILE=$archprefix KCC=$KCC \ + arch/sparc/kernel/Makefile check_asm + [ $lx_cpu = sparc64 ] && \ + make ARCH=sparc64 CROSS_COMPILE=$archprefix KCC=$KCC \ + arch/sparc64/kernel/Makefile check_asm + fi + + cp -rv include/{asm-{sparc{,64},generic},linux} $root/$prefix/include/ + cp -v $confdir/generate-asm . ; chmod +x ./generate-asm + ./generate-asm $root/$prefix/include + fi +} + +main_lx() { + lx_config + + # we need to rerun the oldconfig since the used .config + # might not match the one used in the last oldconfig run + # (e.g. the nomods is run last - and normally the module + # one is used) + yes '' | eval $MAKE oldconfig > /dev/null + + if [[ $treever = 24* ]] ; then + echo "Creating dependencies ..." + eval $MAKE -j 1 dep + fi + + echo "Cleanup kernel ..." + eval $MAKE -j 1 clean > /dev/null + + echo "Building the kernel ..." + [ "$xpkg" = "$ROCKCFG_PKG_LINUX_DEFAULT" ] && default=1 + case "$lx_cpu" in + i386) + eval $MAKE bzImage + cp -vf arch/i386/boot/bzImage $root/boot/vmlinuz_${lx_kernelrelease} + [ "$default" ] && \ + cp -vf arch/i386/boot/bzImage $root/boot/vmlinuz + ;; + x86_64) + eval $MAKE bzImage + cp -vf arch/x86_64/boot/bzImage $root/boot/vmlinuz_${lx_kernelrelease} + [ "$default" ] && \ + cp -vf arch/x86_64/boot/bzImage $root/boot/vmlinuz + ;; + alpha) + eval $MAKE vmlinux + gzip < vmlinux > $root/boot/vmlinux_${lx_kernelrelease}.gz + [ "$default" ] && \ + cp -vf $root/boot/vmlinux_$ver-rock.gz $root/boot/vmlinux.gz + ;; + mips) + eval $MAKE vmlinux + $BUILDCC arch/mips/boot/elf2ecoff.c -o elf2ecoff + ./elf2ecoff vmlinux vmlinux.ecoff + cp -vf vmlinux.ecoff $root/boot/vmlinux_${lx_kernelrelease}.ecoff + [ "$default" ] && \ + cp -vf vmlinux.ecoff $root/boot/ + ;; + ppc) + eval $MAKE vmlinux + cp -vf vmlinux $root/boot/vmlinux_${lx_kernelrelease} + [ "$default" ] && \ + cp -vf vmlinux $root/boot/vmlinux + eval $MAKE zImage + for x in arch/ppc/boot/images/zImage.* ; do + cp -v $x $root/boot/${x/arch\/ppc\/boot\/images\//}-$ver + done + ;; + sparc) + if [[ $treever != 24* ]] && [ "$ROCKCFG_SPARC_BITS" = 32 ]] ; then + eval $MAKE image + else + eval $MAKE vmlinux + fi + cp -vf vmlinux $root/boot/vmlinux_$ver-rock + [ "$default" ] && \ + cp -vf vmlinux $root/boot/vmlinux + ;; + um) + eval $MAKE linux + cp -vf linux $root/boot/linux_${lx_kernelrelease} + [ "$default" ] && \ + cp -vf linux $root/boot/linux + ;; + *) + eval $MAKE vmlinux + cp -vf vmlinux $root/boot/vmlinux_${lx_kernelrelease} + [ "$default" ] && \ + cp -vf vmlinux $root/boot/vmlinux + ;; + esac + cp -vf .config $root/boot/kconfig_${lx_kernelrelease} + cp -vf System.map $root/boot/System.map_${lx_kernelrelease} + [ "$default" ] && cp -vf System.map $root/boot/System.map + + echo "Building the modules ..." + eval $MAKE modules + echo "Installing the modules ..." + if [ $stagelevel -le 1 ] ; then + eval $MAKE modules_install \ + INSTALL_MOD_PATH=$root DEPMOD=/bin/true + else + eval $MAKE modules_install DEPMOD=/bin/true + echo "Running 'depmod -a -q -F /boot/System.map ${lx_kernelrelease}' .." + depmod -a -q -F /boot/System.map_${lx_kernelrelease} ${lx_kernelrelease} + for x in /lib/modules/${lx_kernelrelease}/modules.* + do [ -f $x ] && add_flist $x; done + fi + + # fix /lib/modules/${ver}/build symlink + rm -f $root/lib/modules/${lx_kernelrelease}/build + ln -sf ../../../usr/src/linux-${lx_kernelrelease} \ + $root/lib/modules/${lx_kernelrelease}/build + + if [ "$default" ] ; then + cp $confdir/mkinitrd.sh $root/sbin/mkinitrd + chmod +x $root/sbin/mkinitrd + + if [ -z "$root" ]; then + mkinitrd empty ${lx_kernelrelease} + rm -f /boot/initrd.img + ln -s initrd-${lx_kernelrelease}.img /boot/initrd.img + fi + fi +} + +case "$pkg_linux_mode" in + source) + autoextract=0 + createdocs=0 + custmain="main_lx_src" + ;; + header) + autoextract=0 + createdocs=0 + custmain="main_lx_header" + ;; + image) + custmain="main_lx" + autopatch=0 + ;; +esac + diff --git a/package/base/linux/linux.desc b/package/base/linux/linux.desc new file mode 100644 index 000000000..e50a6a0f3 --- /dev/null +++ b/package/base/linux/linux.desc @@ -0,0 +1,55 @@ + +[COPY] --- ROCK-COPYRIGHT-NOTE-BEGIN --- +[COPY] +[COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch. +[COPY] Please add additional copyright information _after_ the line containing +[COPY] the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +[COPY] the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +[COPY] +[COPY] ROCK Linux: rock-src/package/base/linux/linux.desc +[COPY] ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf +[COPY] +[COPY] This program is free software; you can redistribute it and/or modify +[COPY] it under the terms of the GNU General Public License as published by +[COPY] the Free Software Foundation; either version 2 of the License, or +[COPY] (at your option) any later version. A copy of the GNU General Public +[COPY] License can be found at Documentation/COPYING. +[COPY] +[COPY] Many people helped and are helping developing ROCK Linux. Please +[COPY] have a look at http://www.rocklinux.org/ and the Documentation/TEAM +[COPY] file for details. +[COPY] +[COPY] --- ROCK-COPYRIGHT-NOTE-END --- + +[I] Linux Kernel + +[T] This package contains all linux kernel images and related data + +[U] http://www.kernel.org/ + +[A] Linus Torvalds +[M] Clifford Wolf +[M] Rene Rebe + +[C] base/kernel +[F] DIETLIBC KERNEL + +[E] group kernel + +[L] GPL +[S] Stable +[V] 0000 +[P] X -----5---9 102.050 + +#if xpkg == linux24.* +[V] 2.4.26 +[O] var_append patchfiles " " "gcc340-fixes-v2.4.26-r6.patch" +[D] 2171221430 linux-2.4.26.tar.bz2 ftp://ftp.kernel.org/pub/linux/kernel/v2.4/ +[D] 3033730141 gcc340-fixes-v2.4.26-r6.patch http://dl.rocklinux-consulting.de/oss/linux24/ +#endif + +#if xpkg == linux26.* +[V] 2.6.7 +[D] 2651578800 linux-2.6.7.tar.bz2 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/ +#endif + diff --git a/package/base/linux/linux24/05-devfs-not-exp.patch b/package/base/linux/linux24/05-devfs-not-exp.patch new file mode 100644 index 000000000..cce4f32fa --- /dev/null +++ b/package/base/linux/linux24/05-devfs-not-exp.patch @@ -0,0 +1,45 @@ +# --- 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/linux24/05-devfs-not-exp.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +Currently (at version 2.0.x) ROCK Linux required DevFS. It is highly +useful. Later version of ROCK Linux are planed to support other variants +(like old-style device nodes or udevfs). + + - Rene Rebe + +--- linux-2.4.23/fs/Config.in.orig 2003-11-28 19:26:21.000000000 +0100 ++++ linux-2.4.23/fs/Config.in 2003-12-09 00:55:11.000000000 +0100 +@@ -72,13 +72,9 @@ + + bool '/proc file system support' CONFIG_PROC_FS + +-# For some reason devfs corrupts memory badly on x86-64. Disable it +-# for now. +-if [ "$CONFIG_X86_64" != "y" ] ; then +-dep_bool '/dev file system support (EXPERIMENTAL)' CONFIG_DEVFS_FS $CONFIG_EXPERIMENTAL ++dep_bool '/dev file system support (Required for ROCK Linux)' CONFIG_DEVFS_FS $CONFIG_EXPERIMENTAL + dep_bool ' Automatically mount at boot' CONFIG_DEVFS_MOUNT $CONFIG_DEVFS_FS + dep_bool ' Debug devfs' CONFIG_DEVFS_DEBUG $CONFIG_DEVFS_FS +-fi + + # It compiles as a module for testing only. It should not be used + # as a module in general. If we make this "tristate", a bunch of people diff --git a/package/base/linux/linux24/06-devfs-default.patch b/package/base/linux/linux24/06-devfs-default.patch new file mode 100644 index 000000000..2259efa84 --- /dev/null +++ b/package/base/linux/linux24/06-devfs-default.patch @@ -0,0 +1,188 @@ + --- 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/linux24/06-devfs-default.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +diff -rduN ./arch/alpha/defconfig ./arch/alpha/defconfig +--- ./arch/alpha/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/alpha/defconfig 2004-04-20 00:03:27.000000000 +0200 +@@ -567,8 +567,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/arm/defconfig ./arch/arm/defconfig +--- ./arch/arm/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/arm/defconfig 2004-04-20 00:13:05.000000000 +0200 +@@ -422,8 +422,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/cris/defconfig ./arch/cris/defconfig +--- ./arch/cris/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/cris/defconfig 2004-04-20 00:18:07.000000000 +0200 +@@ -457,8 +457,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + # CONFIG_DEVPTS_FS is not set + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/i386/defconfig ./arch/i386/defconfig +--- ./arch/i386/defconfig 2004-04-14 15:05:25.000000000 +0200 ++++ ./arch/i386/defconfig 2004-04-20 00:01:37.000000000 +0200 +@@ -711,8 +711,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/ia64/defconfig ./arch/ia64/defconfig +--- ./arch/ia64/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/ia64/defconfig 2004-04-20 00:15:28.000000000 +0200 +@@ -721,8 +721,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/m68k/defconfig ./arch/m68k/defconfig +--- ./arch/m68k/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/m68k/defconfig 2004-04-20 00:07:43.000000000 +0200 +@@ -229,8 +229,8 @@ + # CONFIG_NTFS_FS is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/mips/defconfig ./arch/mips/defconfig +--- ./arch/mips/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/mips/defconfig 2004-04-20 00:05:33.000000000 +0200 +@@ -577,8 +577,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/mips64/defconfig ./arch/mips64/defconfig +--- ./arch/mips64/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/mips64/defconfig 2004-04-20 00:16:20.000000000 +0200 +@@ -533,8 +533,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/parisc/defconfig ./arch/parisc/defconfig +--- ./arch/parisc/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/parisc/defconfig 2004-04-20 00:17:32.000000000 +0200 +@@ -617,8 +617,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/ppc/defconfig ./arch/ppc/defconfig +--- ./arch/ppc/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/ppc/defconfig 2004-04-20 00:06:02.000000000 +0200 +@@ -789,7 +789,7 @@ + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y + CONFIG_DEVFS_FS=y +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/sh/defconfig ./arch/sh/defconfig +--- ./arch/sh/defconfig 2004-02-18 14:36:30.000000000 +0100 ++++ ./arch/sh/defconfig 2004-04-20 00:14:05.000000000 +0200 +@@ -167,8 +167,8 @@ + # CONFIG_NTFS_RW is not set + # CONFIG_HPFS_FS is not set + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + # CONFIG_DEVPTS_FS is not set + # CONFIG_QNX4FS_FS is not set +diff -rduN ./arch/sparc/defconfig ./arch/sparc/defconfig +--- ./arch/sparc/defconfig 2004-04-14 15:05:27.000000000 +0200 ++++ ./arch/sparc/defconfig 2004-04-20 00:04:42.000000000 +0200 +@@ -329,8 +329,8 @@ + # CONFIG_NTFS_RW is not set + CONFIG_HPFS_FS=m + CONFIG_PROC_FS=y +-# CONFIG_DEVFS_FS is not set +-# CONFIG_DEVFS_MOUNT is not set ++CONFIG_DEVFS_FS=y ++CONFIG_DEVFS_MOUNT=y + # CONFIG_DEVFS_DEBUG is not set + CONFIG_DEVPTS_FS=y + # CONFIG_QNX4FS_FS is not set diff --git a/package/base/linux/linux24/08-nomodinst_post_pcmcia.patch b/package/base/linux/linux24/08-nomodinst_post_pcmcia.patch new file mode 100644 index 000000000..37c3d041f --- /dev/null +++ b/package/base/linux/linux24/08-nomodinst_post_pcmcia.patch @@ -0,0 +1,33 @@ +# --- 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/linux24/08-nomodinst_post_pcmcia.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./Makefile.orig 2003-01-18 12:05:03.000000000 +0100 ++++ ./Makefile 2003-01-18 12:05:06.000000000 +0100 +@@ -418,7 +418,7 @@ + depmod_opts := -b $(INSTALL_MOD_PATH) -r + endif + .PHONY: _modinst_post +-_modinst_post: _modinst_post_pcmcia ++_modinst_post: + if [ -r System.map ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi + + # Backwards compatibilty symlinks for people still using old versions diff --git a/package/base/linux/linux24/12-conf-hacks.patch b/package/base/linux/linux24/12-conf-hacks.patch new file mode 100644 index 000000000..6f167f55b --- /dev/null +++ b/package/base/linux/linux24/12-conf-hacks.patch @@ -0,0 +1,131 @@ +# --- 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/linux24/12-conf-hacks.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./scripts/Configure.orig 2003-01-13 23:24:50.000000000 +0100 ++++ ./scripts/Configure 2003-01-13 23:24:54.000000000 +0100 +@@ -49,6 +49,8 @@ + # 24 January 1999, Michael Elizabeth Chastain, + # - Improve the exit message (Jeff Ronne). + ++# 20-06-1999: Added ALL_MODS_HACK and NEVER_ASK_HACK - Clifford ++# 01-05-2001: Improved ALL_MODS_HACK - Rene + # + # Make sure we're really running bash. + # +@@ -184,6 +186,7 @@ + ;; + esac + while :; do ++ [ -z "$old" -a ".$NEVER_ASK_HACK" = .1 ] && old="$def" + readln "$1 ($2) [$defprompt] " "$def" "$old" + case "$ans" in + [yY] | [yY]es ) define_bool "$2" "y" +@@ -216,6 +219,10 @@ + ;; + esac + while :; do ++ if [ ".$ALL_MODS_HACK" = .1 -a ".$def" != .y ] ; then ++ old=m ; def=m ++ fi ++ [ -z "$old" -a ".$NEVER_ASK_HACK" = .1 ] && old="$def" + readln "$1 ($2) [$defprompt] " "$def" "$old" + case "$ans" in + [yY] | [yY]es ) define_tristate "$2" "y" +@@ -271,6 +278,10 @@ + ;; + esac + while :; do ++ if [ ".$ALL_MODS_HACK" = .1 ] ; then ++ old=m ; def=m ++ fi ++ [ -z "$old" -a ".$NEVER_ASK_HACK" = .1 ] && old="$def" + readln "$ques ($var) [$defprompt] " "$def" "$old" + case "$ans" in + [nN] | [nN]o ) define_tristate "$var" "n" +@@ -359,6 +370,8 @@ + max=10000000 # !! + fi + while :; do ++ [ -z "$def" -a ".$NEVER_ASK_HACK" = .1 ] && def="0" ++ [ -z "$old" -a ".$NEVER_ASK_HACK" = .1 ] && old="$def" + readln "$1 ($2) [$def] " "$def" "$old" + if expr \( \( $ans + 0 \) \>= $min \) \& \( $ans \<= $max \) >/dev/null 2>&1 ; then + define_int "$2" "$ans" +@@ -390,6 +403,8 @@ + def=${old:-$3} + def=${def#*[x,X]} + while :; do ++ [ -z "$def" -a ".$NEVER_ASK_HACK" = .1 ] && def="0" ++ [ -z "$old" -a ".$NEVER_ASK_HACK" = .1 ] && old="$def" + readln "$1 ($2) [$def] " "$def" "$old" + ans=${ans#*[x,X]} + if expr "$ans" : '[0-9a-fA-F][0-9a-fA-F]*$' > /dev/null; then +@@ -420,6 +435,8 @@ + function string () { + old=$(eval echo "\${$2}") + def=${old:-$3} ++ [ -z "$def" -a ".$NEVER_ASK_HACK" = .1 ] && def="-" ++ [ -z "$old" -a ".$NEVER_ASK_HACK" = .1 ] && old="$def" + while :; do + if [ "$old" = "?" ]; then + readln "$1 ($2) [$def] " "$def" "" +@@ -474,6 +491,7 @@ + val="" + while [ -z "$val" ]; do + ambg=n ++ [ -z "$old" -a ".$NEVER_ASK_HACK" = .1 ] && old="$def" + readln "$question ($names) [$def] " "$def" "$old" + ans=$(echo $ans | tr a-z A-Z) + set -- $choices +@@ -534,11 +552,19 @@ + echo "#define AUTOCONF_INCLUDED" >> $CONFIG_H + + DEFAULT="" +-if [ "$1" = "-d" ] ; then ++ALL_MODS_HACK="0" ++NEVER_ASK_HACK="0" ++ ++if [ "$1" = "-d" -o "$1" = "-D" -o "$1" = "-m" -o "$1" = "-M" ] ; then ++ [ "$1" = "-D" -o "$1" = "-M" ] && NEVER_ASK_HACK="1" ++ [ "$1" = "-m" -o "$1" = "-M" ] && ALL_MODS_HACK="1" + DEFAULT="-d" + shift + fi + ++[ $NEVER_ASK_HACK = 1 ] && echo "Debug: NEVER_ASK_HACK active." ++[ $ALL_MODS_HACK = 1 ] && echo "Debug: ALL_MODS_HACK active." ++ + CONFIG_IN=./config.in + if [ "$1" != "" ] ; then + CONFIG_IN=$1 +--- ./Makefile.orig 2003-01-13 23:24:57.000000000 +0100 ++++ ./Makefile 2003-01-13 23:25:56.000000000 +0100 +@@ -301,6 +301,9 @@ + oldconfig: symlinks + $(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.in + ++no2modconfig: symlinks ++ $(CONFIG_SHELL) scripts/Configure -m arch/$(ARCH)/config.in ++ + xconfig: symlinks + $(MAKE) -C scripts kconfig.tk + wish -f scripts/kconfig.tk diff --git a/package/base/linux/linux24/15-install-in-boot.patch b/package/base/linux/linux24/15-install-in-boot.patch new file mode 100644 index 000000000..6212d7137 --- /dev/null +++ b/package/base/linux/linux24/15-install-in-boot.patch @@ -0,0 +1,38 @@ +# --- 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/linux24/15-install-in-boot.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +This Patch is specific to ROCK Linux and not available as stand-alone patch. + + - Clifford Wolf + +--- linux/Makefile ++++ linux/Makefile +@@ -70,7 +70,7 @@ + # images. Uncomment if you want to place them anywhere other than root. + # + +-#export INSTALL_PATH=/boot ++export INSTALL_PATH=/boot + + # + # INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory diff --git a/package/base/linux/linux24/20-kernel-cc.patch b/package/base/linux/linux24/20-kernel-cc.patch new file mode 100644 index 000000000..4219e0df4 --- /dev/null +++ b/package/base/linux/linux24/20-kernel-cc.patch @@ -0,0 +1,40 @@ +# --- 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/linux24/20-kernel-cc.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +This Patch is specific to ROCK Linux and not available as stand-alone patch. + + - Clifford Wolf + +--- linux/Makefile ++++ linux/Makefile +@@ -27,7 +27,9 @@ + + AS = $(CROSS_COMPILE)as + LD = $(CROSS_COMPILE)ld +-CC = $(CROSS_COMPILE)gcc ++KCC = $(CROSS_COMPILE)kcc ++GCC = $(CROSS_COMPILE)gcc ++CC = $(if $(shell sh -c 'type -p $(KCC)'),$(KCC),$(GCC)) + CPP = $(CC) -E + AR = $(CROSS_COMPILE)ar + NM = $(CROSS_COMPILE)nm diff --git a/package/base/linux/linux24/80-ext23fs-suiddir.patch b/package/base/linux/linux24/80-ext23fs-suiddir.patch new file mode 100644 index 000000000..0037f7293 --- /dev/null +++ b/package/base/linux/linux24/80-ext23fs-suiddir.patch @@ -0,0 +1,155 @@ +# --- 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/linux24/80-ext23fs-suiddir.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +See the comments in Configure.help below for details. + + - Clifford + +--- ./fs/ext2/ialloc.c.orig 2002-02-25 20:38:08.000000000 +0100 ++++ ./fs/ext2/ialloc.c 2002-08-06 07:27:56.000000000 +0200 +@@ -379,6 +379,13 @@ + mode |= S_ISGID; + } else + inode->i_gid = current->fsgid; ++#ifdef CONFIG_EXT2_FS_SUIDDIR ++ if (dir->i_mode & S_ISUID) { ++ mode |= (mode & 0700) >> 3; ++ if (S_ISDIR(mode)) ++ mode |= S_ISUID; ++ } ++#endif + inode->i_mode = mode; + + inode->i_ino = ino; +--- ./fs/ext3/ialloc.c.orig 2002-02-25 20:38:08.000000000 +0100 ++++ ./fs/ext3/ialloc.c 2002-08-06 07:27:56.000000000 +0200 +@@ -476,6 +476,13 @@ + mode |= S_ISGID; + } else + inode->i_gid = current->fsgid; ++#ifdef CONFIG_EXT3_FS_SUIDDIR ++ if (dir->i_mode & S_ISUID) { ++ mode |= (mode & 0700) >> 3; ++ if (S_ISDIR(mode)) ++ mode |= S_ISUID; ++ } ++#endif + inode->i_mode = mode; + + inode->i_ino = j; +--- ./fs/Config.in.orig 2002-08-06 07:25:58.000000000 +0200 ++++ ./fs/Config.in 2002-08-06 07:29:17.000000000 +0200 +@@ -22,6 +22,8 @@ + dep_tristate 'BFS file system support (EXPERIMENTAL)' CONFIG_BFS_FS $CONFIG_EXPERIMENTAL + + tristate 'Ext3 journalling file system support' CONFIG_EXT3_FS ++dep_mbool ' Ext3fs SUID on Directory Extension' CONFIG_EXT3_FS_SUIDDIR $CONFIG_EXT3_FS ++ + # 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 + # dep_tristate ' Journal Block Device support (JBD for ext3)' CONFIG_JBD $CONFIG_EXT3_FS +@@ -77,6 +79,7 @@ + tristate 'ROM file system support' CONFIG_ROMFS_FS + + tristate 'Second extended fs support' CONFIG_EXT2_FS ++dep_mbool ' Ext2fs SUID on Directory Extension' CONFIG_EXT2_FS_SUIDDIR $CONFIG_EXT2_FS + + tristate 'System V/Xenix/V7/Coherent file system support' CONFIG_SYSV_FS + +--- ./Documentation/Configure.help.orig 2002-08-03 02:39:42.000000000 +0200 ++++ ./Documentation/Configure.help 2002-08-06 07:27:56.000000000 +0200 +@@ -14367,6 +14367,31 @@ + be compiled as a module, and so this could be dangerous. Most + everyone wants to say Y here. + ++Ext2fs SUID on Directory Extension ++CONFIG_EXT2_FS_SUIDDIR ++ 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 ... ++ ++ 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. ++ ++ 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). ++ + Ext3 journalling file system support (EXPERIMENTAL) + CONFIG_EXT3_FS + This is the journalling version of the Second extended file system +@@ -14399,6 +14424,31 @@ + of your root partition (the one containing the directory /) cannot + be compiled as a module, and so this may be dangerous. + ++Ext3fs SUID on Directory Extension ++CONFIG_EXT3_FS_SUIDDIR ++ 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 ... ++ ++ 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. ++ ++ 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). ++ + Journal Block Device support (JBD for ext3) (EXPERIMENTAL) + CONFIG_JBD + This is a generic journalling layer for block devices. It is +--- ./CREDITS.orig 2002-08-03 02:39:42.000000000 +0200 ++++ ./CREDITS 2002-08-06 07:27:56.000000000 +0200 +@@ -3231,6 +3231,8 @@ + E: god@clifford.at + W: http://www.clifford.at/ + D: Menuconfig/lxdialog improvement ++D: Initial Wacom Intuos USB Driver ++D: Ext[23]FS and Reiserfs SUID on directories extension + S: Foehrengasse 16 + S: A-2333 Leopoldsdorf b. Wien + S: Austria diff --git a/package/base/linux/linux24/81-reiserfs-suiddir.patch b/package/base/linux/linux24/81-reiserfs-suiddir.patch new file mode 100644 index 000000000..b3e420f7e --- /dev/null +++ b/package/base/linux/linux24/81-reiserfs-suiddir.patch @@ -0,0 +1,86 @@ +# --- 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/linux24/81-reiserfs-suiddir.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +created by Clifford Wolf and Rene Rebe + +--- ./Documentation/Configure.help.orig 2003-04-29 21:57:54.000000000 +0200 ++++ ./Documentation/Configure.help 2003-04-29 22:28:05.000000000 +0200 +@@ -15233,6 +15233,32 @@ + performance cost of it. If you are fine-tuning reiserfs, say Y, + otherwise say N. + ++Reiserfs SUID on Directory Extension ++CONFIG_REISERFS_SUIDDIR ++ 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 ... ++ ++ 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. ++ ++ 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). ++ ++ + Second extended fs support + CONFIG_EXT2_FS + This is the de facto standard Linux file system (method to organize +--- ./fs/Config.in.orig 2002-12-11 19:42:57.000000000 +0100 ++++ ./fs/Config.in 2003-04-29 22:27:01.000000000 +0200 +@@ -11,6 +11,7 @@ + tristate 'Reiserfs support' CONFIG_REISERFS_FS + dep_mbool ' Enable reiserfs debug mode' CONFIG_REISERFS_CHECK $CONFIG_REISERFS_FS + dep_mbool ' Stats in /proc/fs/reiserfs' CONFIG_REISERFS_PROC_INFO $CONFIG_REISERFS_FS ++dep_mbool ' Reiserfs SUID on Directory Extension' CONFIG_REISERFS_SUIDDIR $CONFIG_REISERFS_FS + + dep_tristate 'ADFS file system support (EXPERIMENTAL)' CONFIG_ADFS_FS $CONFIG_EXPERIMENTAL + dep_mbool ' ADFS write support (DANGEROUS)' CONFIG_ADFS_FS_RW $CONFIG_ADFS_FS $CONFIG_EXPERIMENTAL +--- ./fs/reiserfs/namei.c.orig 2003-04-29 21:55:36.000000000 +0200 ++++ ./fs/reiserfs/namei.c 2003-04-29 22:27:14.000000000 +0200 +@@ -518,6 +518,14 @@ + } else + inode->i_gid = current->fsgid; + ++#ifdef CONFIG_REISERFS_SUIDDIR ++ if (dir->i_mode & S_ISUID) { ++ inode->i_mode |= (inode->i_mode & 0700) >> 3; ++ if (S_ISDIR(inode->i_mode)) ++ inode->i_mode |= S_ISUID; ++ } ++#endif ++ + return 0 ; + } + diff --git a/package/base/linux/linux24/82-raid5-niceer-output.patch b/package/base/linux/linux24/82-raid5-niceer-output.patch new file mode 100644 index 000000000..0f0e0d66e --- /dev/null +++ b/package/base/linux/linux24/82-raid5-niceer-output.patch @@ -0,0 +1,38 @@ +# --- 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/linux24/82-raid5-niceer-output.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +I also sent this patch to the kernel hackers - because the output is +really confusing when the software RAID code does not choose the fastest +mode ... Rene + +--- linuxi.orig/drivers/md/xor.c Sun Sep 30 21:26:06 2001 ++++ linux/drivers/md/xor.c Fri Dec 7 18:16:10 2001 +@@ -127,6 +127,8 @@ + + #ifdef XOR_SELECT_TEMPLATE + fastest = XOR_SELECT_TEMPLATE(fastest); ++ printk("raid5: using %s to write around L2 cache\n", ++ fastest->name); + #endif + + active_template = fastest; diff --git a/package/base/linux/linux24/88-multiple-soundcard-fix.patch b/package/base/linux/linux24/88-multiple-soundcard-fix.patch new file mode 100644 index 000000000..e596a612c --- /dev/null +++ b/package/base/linux/linux24/88-multiple-soundcard-fix.patch @@ -0,0 +1,92 @@ +# --- 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/linux24/88-multiple-soundcard-fix.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +--- linux-2.4.17/drivers/sound/sound_core.c.orig Sun Jan 6 17:31:30 2002 ++++ linux/drivers/sound/sound_core.c Sun Jan 6 17:39:43 2002 +@@ -17,7 +17,7 @@ + * plug into this. The fact they dont all go via OSS doesn't mean + * they don't have to implement the OSS API. There is a lot of logic + * to keeping much of the OSS weight out of the code in a compatibility +- * module, but its up to the driver to rember to load it... ++ * module, but it's up to the driver to remember to load it... + * + * The code provides a set of functions for registration of devices + * by type. This is done rather than providing a single call so that +@@ -173,10 +173,10 @@ + return r; + } + +- if (r == low) ++ if ( r < SOUND_STEP ) + sprintf (name_buf, "%s", name); + else +- sprintf (name_buf, "%s%d", name, (r - low) / SOUND_STEP); ++ sprintf (name_buf, "%s%d", name, (r / SOUND_STEP)); + s->de = devfs_register (devfs_handle, name_buf, + DEVFS_FL_NONE, SOUND_MAJOR, s->unit_minor, + S_IFCHR | mode, fops, NULL); +@@ -231,17 +231,20 @@ + + int register_sound_special(struct file_operations *fops, int unit) + { +- char *name; ++ const int chain = (unit & 0x0F); ++ int max_unit = chain + 128; ++ const char *name; + +- switch (unit) { ++ switch (chain) { + case 0: + name = "mixer"; + break; + case 1: + name = "sequencer"; ++ max_unit = unit + 1; + break; + case 2: +- name = "midi00"; ++ name = "midi"; + break; + case 3: + name = "dsp"; +@@ -260,6 +263,7 @@ + break; + case 8: + name = "sequencer2"; ++ max_unit = unit + 1; + break; + case 9: + name = "dmmidi"; +@@ -280,10 +284,10 @@ + name = "admmidi"; + break; + default: +- name = "unknown"; ++ name = "unknownX"; + break; + } +- return sound_insert_unit(&chains[unit&15], fops, -1, unit, unit+1, ++ return sound_insert_unit(&chains[chain], fops, -1, unit, max_unit, + name, S_IRUSR | S_IWUSR); + } + diff --git a/package/base/linux/linux24/89-mips-abi-defines.patch b/package/base/linux/linux24/89-mips-abi-defines.patch new file mode 100644 index 000000000..17700af00 --- /dev/null +++ b/package/base/linux/linux24/89-mips-abi-defines.patch @@ -0,0 +1,33 @@ +# --- 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/linux24/89-mips-abi-defines.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- linux/include/linux/elf.h.orig Fri Jan 17 15:33:32 2003 ++++ linux/include/linux/elf.h Fri Jan 17 15:32:31 2003 +@@ -38,6 +38,8 @@ + #define EF_MIPS_PIC 0x00000002 + #define EF_MIPS_CPIC 0x00000004 + #define EF_MIPS_ARCH 0xf0000000 ++#define EF_MIPS_ABI2 0x00000020 ++#define EF_MIPS_ABI 0x0000f000 + + /* These constants define the different elf file types */ + #define ET_NONE 0 diff --git a/package/base/linux/linux24/92-nforce-bugfix.patch b/package/base/linux/linux24/92-nforce-bugfix.patch new file mode 100644 index 000000000..b6190fd01 --- /dev/null +++ b/package/base/linux/linux24/92-nforce-bugfix.patch @@ -0,0 +1,35 @@ +# --- 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/linux24/92-nforce-bugfix.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +Needed to build amd74xx.c which does also handle nvidia nforce chipsets (like +the one on my epox motherboard). -- Clifford + +--- ./include/linux/pci_ids.h.orig 2003-04-26 00:40:18.000000000 +0200 ++++ ./include/linux/pci_ids.h 2003-04-26 00:40:31.000000000 +0200 +@@ -1944,3 +1944,6 @@ + #define PCI_DEVICE_ID_MICROGATE_USC 0x0010 + #define PCI_DEVICE_ID_MICROGATE_SCC 0x0020 + #define PCI_DEVICE_ID_MICROGATE_SCA 0x0030 ++ ++#define PCI_DEVICE_ID_NVIDIA_NFORCE_IDE 0x01bc ++#define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE 0x0065 diff --git a/package/base/linux/linux24/95-inet-for-userspace.patch b/package/base/linux/linux24/95-inet-for-userspace.patch new file mode 100644 index 000000000..1394af7e5 --- /dev/null +++ b/package/base/linux/linux24/95-inet-for-userspace.patch @@ -0,0 +1,59 @@ +# --- 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/linux24/95-inet-for-userspace.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +The in.h file need protection for some defines where the types are not known +to the user-space and pkt_sched.h missed the inclusion of the types.h +header which types it utilizes ... + + - Rene Rebe + +--- ./include/linux/in.h.orig 2003-08-28 22:11:50.000000000 +0200 ++++ ./include/linux/in.h 2003-08-28 22:12:27.000000000 +0200 +@@ -135,6 +135,8 @@ + (sizeof(struct ip_msfilter) - sizeof(__u32) \ + + (numsrc) * sizeof(__u32)) + ++#ifdef __KERNEL__ ++ + struct group_req + { + __u32 gr_interface; /* interface index */ +@@ -161,6 +163,8 @@ + (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ + + (numsrc) * sizeof(struct sockaddr_storage)) + ++#endif ++ + struct in_pktinfo + { + int ipi_ifindex; +--- ./include/linux/pkt_sched.h.orig 2003-08-28 22:20:44.000000000 +0200 ++++ ./include/linux/pkt_sched.h 2003-08-28 22:21:11.000000000 +0200 +@@ -1,6 +1,8 @@ + #ifndef __LINUX_PKT_SCHED_H + #define __LINUX_PKT_SCHED_H + ++#include ++ + /* Logical priority bands not depending on specific packet scheduler. + Every scheduler will map them to real traffic classes, if it has + no more precise mechanism to classify packets. diff --git a/package/base/linux/linux24/96-quota-for-userspace.patch b/package/base/linux/linux24/96-quota-for-userspace.patch new file mode 100644 index 000000000..58a7e59a4 --- /dev/null +++ b/package/base/linux/linux24/96-quota-for-userspace.patch @@ -0,0 +1,54 @@ +# --- 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/linux24/95-inet-for-userspace.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +Samba needs the struct ... + + - Rene Rebe + +--- linux-2.4.24/include/linux/quota.h.orig 2004-01-09 21:51:11.000000000 +0100 ++++ linux-2.4.24/include/linux/quota.h 2004-01-09 21:55:10.000000000 +0100 +@@ -132,12 +132,6 @@ + __u32 dqi_valid; + }; + +-#ifdef __KERNEL__ +- +-#include +-#include +-#include +- + /* + * Data for one user/group kept in memory + */ +@@ -152,6 +146,12 @@ + time_t dqb_itime; /* time limit for excessive inode use */ + }; + ++#ifdef __KERNEL__ ++ ++#include ++#include ++#include ++ + /* + * Data for one quotafile kept in memory + */ diff --git a/package/base/linux/linux24/99-byteorder-i386.patch b/package/base/linux/linux24/99-byteorder-i386.patch new file mode 100644 index 000000000..e1b18d394 --- /dev/null +++ b/package/base/linux/linux24/99-byteorder-i386.patch @@ -0,0 +1,58 @@ +# --- 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/linux24/99-byteorder-i386.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +Fix for useage in user-space applications, e.g. kdemultimedia. + + - Rene Rebe + +--- linux/include/asm-i386/byteorder.h 2003-08-23 22:00:53.000000000 +0200 ++++ linux/include/asm-i386/byteorder.h 2003-08-23 21:58:06.000000000 +0200 +@@ -35,8 +35,8 @@ + } + + +-static inline __u64 ___arch__swab64(__u64 val) ++static __inline__ __u64 ___arch__swab64(__u64 val) + { + union { + struct { __u32 a,b; } s; + + +--- linux/include/asm-i386/byteorder.h 2003-08-23 22:00:53.000000000 +0200 ++++ linux/include/asm-i386/byteorder.h 2003-08-23 21:58:06.000000000 +0200 +@@ -43,13 +43,13 @@ + } v; + v.u = val; + #ifdef CONFIG_X86_BSWAP +- asm("bswapl %0 ; bswapl %1 ; xchgl %0,%1" ++ __asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1" + : "=r" (v.s.a), "=r" (v.s.b) + : "0" (v.s.a), "1" (v.s.b)); + #else + v.s.a = ___arch__swab32(v.s.a); + v.s.b = ___arch__swab32(v.s.b); +- asm("xchgl %0,%1" : "=r" (v.s.a), "=r" (v.s.b) : "0" (v.s.a), "1" (v.s.b)); ++ __asm__("xchgl %0,%1" : "=r" (v.s.a), "=r" (v.s.b) : "0" (v.s.a), "1" (v.s.b)); + #endif + return v.u; + } diff --git a/package/base/linux/linux24/99-hotfix-i386-x86_64-fpu-state.patch b/package/base/linux/linux24/99-hotfix-i386-x86_64-fpu-state.patch new file mode 100644 index 000000000..233bc666b --- /dev/null +++ b/package/base/linux/linux24/99-hotfix-i386-x86_64-fpu-state.patch @@ -0,0 +1,38 @@ + +# ChangeSet + +# We need to clear all exceptions before synchronizing +# with the FPU, since we aren't ready to handle a FP +# exception here and we're getting rid of all FP state. + +# Special thanks to Alexander Nyberg for reports and +# testing. Alternate patches by Sergey Vlasov and Andi +# Kleen, who both worked on this. + +# Signed-off-by: Linus Torvalds + +diff -Nru a/include/asm-i386/i387.h b/include/asm-i386/i387.h +--- a/include/asm-i386/i387.h 2004-06-15 08:57:43 -07:00 ++++ b/include/asm-i386/i387.h 2004-06-15 08:57:43 -07:00 +@@ -34,7 +34,7 @@ + + #define clear_fpu( tsk ) do { \ + if ( tsk->flags & PF_USEDFPU ) { \ +- asm volatile("fwait"); \ ++ asm volatile("fnclex ; fwait"); \ + tsk->flags &= ~PF_USEDFPU; \ + stts(); \ + } \ +diff -Naur a/include/asm-x86_64/i387.h b/include/asm-x86_64/i387.h +--- a/include/asm-x86_64/i387.h 2003-08-25 13:44:44.000000000 +0200 ++++ b/include/asm-x86_64/i387.h 2004-06-13 05:27:55.000000000 +0200 +@@ -34,7 +34,7 @@ + + #define clear_fpu( tsk ) do { \ + if ( tsk->flags & PF_USEDFPU ) { \ +- asm volatile("fwait"); \ ++ asm volatile("fnclex ; fwait"); \ + tsk->flags &= ~PF_USEDFPU; \ + stts(); \ + } \ + diff --git a/package/base/linux/linux24/99-mkdep-arglist-too-long.patch b/package/base/linux/linux24/99-mkdep-arglist-too-long.patch new file mode 100644 index 000000000..a5b40ae75 --- /dev/null +++ b/package/base/linux/linux24/99-mkdep-arglist-too-long.patch @@ -0,0 +1,41 @@ +# --- 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/linux24/99-mkdep-arglist-too-long.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +Depending on the working directory where the kernel is build, the file +list can grow to produce an "argument to long" error on mkdep line. +This patch only slits the process to have shorter lines. + + - Alejandro + +--- ./Makefile.orig 2003-09-23 22:19:55.000000000 -0400 ++++ ./Makefile 2003-09-23 22:28:29.000000000 -0400 +@@ -518,7 +518,9 @@ + ifdef CONFIG_MODVERSIONS + $(MAKE) update-modverfile + endif +- scripts/mkdep -- `find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend ++ for x in $(FINDHPATH); do \ ++ scripts/mkdep -- `find $$x \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` >> .hdepend ; \ ++ done + scripts/mkdep -- init/*.c > .depend + + ifdef CONFIG_MODVERSIONS diff --git a/package/base/linux/linux24/99-uu64-i386.patch b/package/base/linux/linux24/99-uu64-i386.patch new file mode 100644 index 000000000..368ec32d8 --- /dev/null +++ b/package/base/linux/linux24/99-uu64-i386.patch @@ -0,0 +1,39 @@ +# --- 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/linux24/99-uu64-i386.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +Userspace applications including kernel headers might utilize gcc +options like ANSI resulting in parse errors when other headers (e.g. +byteorder.h) utilize the __u64 type ... + + - Rene Rebe + ++++ linux-2.4.21-rock/include/asm-i386/types.h.orig 2003-06-22 23:16:31.000000000 +0200 +--- linux-2.4.21-rock/include/asm-i386/types.h 2003-06-22 23:16:22.000000000 +0200 +@@ -17,7 +17,7 @@ + typedef __signed__ int __s32; + typedef unsigned int __u32; + +-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) ++#if defined(__GNUC__) + typedef __signed__ long long __s64; + typedef unsigned long long __u64; + #endif diff --git a/package/base/linux/linux24/arch-ppc-agp.patch b/package/base/linux/linux24/arch-ppc-agp.patch new file mode 100644 index 000000000..ff12ecc2a --- /dev/null +++ b/package/base/linux/linux24/arch-ppc-agp.patch @@ -0,0 +1,33 @@ +# --- 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/linux24/arch-ppc-agp.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- linux-2.4.21/drivers/char/agp/agpgart_be.c.orig 2003-06-13 16:51:32.000000000 +0200 ++++ linux-2.4.21/drivers/char/agp/agpgart_be.c 2003-08-26 03:20:43.000000000 +0200 +@@ -71,7 +71,7 @@ + { + #if defined(__i386__) || defined(__x86_64__) + asm volatile ("wbinvd":::"memory"); +-#elif defined(__alpha__) || defined(__ia64__) || defined(__sparc__) ++#elif defined(__alpha__) || defined(__ia64__) || defined(__sparc__) || defined(__powerpc__) + /* ??? I wonder if we'll really need to flush caches, or if the + core logic can manage to keep the system coherent. The ARM + speaks only of using `cflush' to get things in memory in diff --git a/package/base/linux/linux24/arch-ppc-bitops.patch b/package/base/linux/linux24/arch-ppc-bitops.patch new file mode 100644 index 000000000..5221796be --- /dev/null +++ b/package/base/linux/linux24/arch-ppc-bitops.patch @@ -0,0 +1,37 @@ +# --- 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/linux24/arch-ppc-bitops.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./include/asm-ppc/bitops.h Fri Dec 6 18:19:36 2002 ++++ ./include/asm-ppc/bitops.h Fri Dec 6 18:19:47 2002 +@@ -5,7 +5,6 @@ + * bitops.h: Bit string operations on the ppc + */ + +-#ifdef __KERNEL__ + #ifndef _PPC_BITOPS_H + #define _PPC_BITOPS_H + +@@ -374,4 +373,3 @@ + #endif /* __KERNEL__ */ + + #endif /* _PPC_BITOPS_H */ +-#endif /* __KERNEL__ */ diff --git a/package/base/linux/linux24/arch-ppc-config.patch b/package/base/linux/linux24/arch-ppc-config.patch new file mode 100644 index 000000000..ced4f2e50 --- /dev/null +++ b/package/base/linux/linux24/arch-ppc-config.patch @@ -0,0 +1,37 @@ +# --- 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/linux24/arch-ppc-config.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- linux-2.4.22/arch/ppc/config.in 2003-08-25 13:44:40.000000000 +0200 ++++ linux-2.4.22-fixed/arch/ppc/config.in 2003-09-16 23:42:48.000000000 +0200 +@@ -222,8 +222,10 @@ + + source drivers/parport/Config.in + +-tristate 'Generic /dev/rtc emulation' CONFIG_GEN_RTC +-if [ "$CONFIG_GEN_RTC" = "n" -a "$CONFIG_APUS" != "y" ]; then ++if [ "$CONFIG_PPC_RTC" != "y" ]; then ++ tristate 'Generic /dev/rtc emulation' CONFIG_GEN_RTC ++fi ++if [ "$CONFIG_GEN_RTC" != "y" -a "$CONFIG_APUS" != "y" ]; then + tristate 'Support for /dev/rtc' CONFIG_PPC_RTC + fi + diff --git a/package/base/linux/linux24/arch-ppc-horizon-name-clash.patch b/package/base/linux/linux24/arch-ppc-horizon-name-clash.patch new file mode 100644 index 000000000..ed2556cd1 --- /dev/null +++ b/package/base/linux/linux24/arch-ppc-horizon-name-clash.patch @@ -0,0 +1,33 @@ +# --- 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/linux24/arch-ppc-horizon-name-clash.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./drivers/atm/horizon.c.orig 2003-09-04 20:22:19.000000000 +0200 ++++ ./drivers/atm/horizon.c 2003-09-04 20:24:36.000000000 +0200 +@@ -481,7 +481,7 @@ + return; + } + +-static inline void dump_regs (hrz_dev * dev) { ++static inline void dump_horizon_regs (hrz_dev * dev) { + #ifdef DEBUG_HORIZON + PRINTD (DBG_REGS, "CONTROL 0: %#x", rd_regl (dev, CONTROL_0_REG)); + PRINTD (DBG_REGS, "RX CONFIG: %#x", rd_regw (dev, RX_CONFIG_OFF)); diff --git a/package/base/linux/linux24/arch-ppc-mac-nvram.patch b/package/base/linux/linux24/arch-ppc-mac-nvram.patch new file mode 100644 index 000000000..250cf73fe --- /dev/null +++ b/package/base/linux/linux24/arch-ppc-mac-nvram.patch @@ -0,0 +1,17 @@ + +Erhm - on PPlus I do not want the non-compileable in this config +macintosh/nvram driver ... + + - Rene Rebe + +--- linux-2.4.25/drivers/macintosh/Makefile.orig 2002-11-29 00:53:13.000000000 +0100 ++++ linux-2.4.25/drivers/macintosh/Makefile 2004-04-19 21:51:26.000000000 +0200 +@@ -28,7 +28,7 @@ + + obj-$(CONFIG_PMAC_PBOOK) += mediabay.o + obj-$(CONFIG_MAC_SERIAL) += macserial.o +-ifneq ($(CONFIG_MAC),y) ++ifeq ($(CONFIG_PMAC),y) + obj-$(CONFIG_NVRAM) += nvram.o + endif + obj-$(CONFIG_MAC_HID) += mac_hid.o diff --git a/package/base/linux/linux24/arch-sparc64-use-KCC.patch b/package/base/linux/linux24/arch-sparc64-use-KCC.patch new file mode 100644 index 000000000..9f778d80b --- /dev/null +++ b/package/base/linux/linux24/arch-sparc64-use-KCC.patch @@ -0,0 +1,42 @@ +# --- 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/linux24/arch-sparc64-use-KCC.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +An extra kernel patch for sparc so that the sparc64 makefile uses KCC. + + - Jan Veninga + +diff -ruN linux-2.4.22/arch/sparc64/Makefile linux-2.4.22.new/arch/sparc64/Makefile +--- linux-2.4.22/arch/sparc64/Makefile 2003-06-13 16:51:32.000000000 +0200 ++++ linux-2.4.22.new/arch/sparc64/Makefile 2003-09-23 16:11:21.000000000 +0200 +@@ -12,7 +12,7 @@ + # line... + SHELL =/bin/bash + +-CC := $(shell if gcc -m64 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo gcc; else echo sparc64-linux-gcc; fi ) ++CC := $(KCC) + + NEW_GCC := $(shell if $(CC) -m64 -mcmodel=medlow -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo y; else echo n; fi; ) + NEW_GAS := $(shell if $(LD) -V 2>&1 | grep 'elf64_sparc' > /dev/null; then echo y; else echo n; fi) + + + diff --git a/package/base/linux/linux24/disable-broken.lst b/package/base/linux/linux24/disable-broken.lst new file mode 100644 index 000000000..fb08711da --- /dev/null +++ b/package/base/linux/linux24/disable-broken.lst @@ -0,0 +1,25 @@ +# --- 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/linux24/disable-broken.lst +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +CONFIG_EXAMPLE 2000-10-01 2.4.0 example.c +CONFIG_USB_GADGET 2004-04-30 2.4.25 # gcc-3.4 + diff --git a/package/base/linux/linux26/05-devfs-not-exp.patch b/package/base/linux/linux26/05-devfs-not-exp.patch new file mode 100644 index 000000000..6b258056d --- /dev/null +++ b/package/base/linux/linux26/05-devfs-not-exp.patch @@ -0,0 +1,43 @@ +# --- 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/linux26/05-devfs-not-exp.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./fs/Kconfig~ 2003-05-05 01:53:32.000000000 +0200 ++++ ./fs/Kconfig 2003-06-07 17:34:34.000000000 +0200 +@@ -738,8 +738,8 @@ + programs depend on this, so everyone should say Y here. + + config DEVFS_FS +- bool "/dev file system support (OBSOLETE)" +- depends on EXPERIMENTAL ++ bool "/dev file system support (Required for ROCK Linux)" ++ default y + help + This is support for devfs, a virtual file system (like /proc) which + provides the file system interface to device drivers, normally found +@@ -758,6 +758,7 @@ + config DEVFS_MOUNT + bool "Automatically mount at boot" + depends on DEVFS_FS ++ default y + help + This option appears if you have CONFIG_DEVFS_FS enabled. Setting + this to 'Y' will make the kernel automatically mount devfs onto /dev diff --git a/package/base/linux/linux26/12-conf-hacks.patch b/package/base/linux/linux26/12-conf-hacks.patch new file mode 100644 index 000000000..ac3543bd3 --- /dev/null +++ b/package/base/linux/linux26/12-conf-hacks.patch @@ -0,0 +1,111 @@ +# --- 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/linux26/12-conf-hacks.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +Set all unset options to module. Needed by the ROCK Linux kernel +configuration. + +Initally written by Clifford Wold and adapted +for various new 2.5/2.6 kernels by Rene Rebe . + +--- ./scripts/kconfig/Makefile.orig 2003-10-25 15:44:56.000000000 -0300 ++++ ./scripts/kconfig/Makefile 2003-10-25 23:06:06.000000000 -0300 +@@ -23,7 +23,7 @@ + silentoldconfig: $(obj)/conf + $< -s arch/$(ARCH)/Kconfig + +-.PHONY: randconfig allyesconfig allnoconfig allmodconfig defconfig ++.PHONY: randconfig allyesconfig allnoconfig allmodconfig no2modconfig defconfig + + randconfig: $(obj)/conf + $< -r arch/$(ARCH)/Kconfig +@@ -37,6 +37,9 @@ + allmodconfig: $(obj)/conf + $< -m arch/$(ARCH)/Kconfig + ++no2modconfig: scripts/kconfig/conf ++ $< -M arch/$(ARCH)/Kconfig ++ + defconfig: $(obj)/conf + $< -d arch/$(ARCH)/Kconfig + +@@ -51,6 +54,7 @@ + @echo ' gconfig - Update current config utilising a GTK based front-end' + @echo ' defconfig - New config with default answer to all options' + @echo ' allmodconfig - New config selecting modules when possible' ++ @echo ' no2modconfig - New config selecting modules for disabled options' + @echo ' allyesconfig - New config where all options are accepted with yes' + @echo ' allnoconfig - New minimal config' + +Only in linux-2.6.0-test4-rock/scripts/kconfig: conf +diff -ru linux-2.6.0-test4/scripts/kconfig/conf.c linux-2.6.0-test4-rock/scripts/kconfig/conf.c +--- linux-2.6.0-test4/scripts/kconfig/conf.c 2003-08-23 01:59:45.000000000 +0200 ++++ linux-2.6.0-test4-rock/scripts/kconfig/conf.c 2003-08-23 16:48:07.000000000 +0200 +@@ -20,6 +20,7 @@ + ask_all, + ask_new, + ask_silent, ++ ask_no2mod, + set_default, + set_yes, + set_mod, +@@ -81,6 +82,15 @@ + } + + 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)) { +@@ -344,6 +354,7 @@ + break; + } + check_stdin(); ++ case ask_no2mod: + case ask_all: + fflush(stdout); + fgets(line, 128, stdin); +@@ -504,6 +515,9 @@ + case 'm': + input_mode = set_mod; + break; ++ case 'M': ++ input_mode = ask_no2mod; ++ break; + case 'y': + input_mode = set_yes; + break; +@@ -543,6 +557,7 @@ + } + case ask_all: + case ask_new: ++ case ask_no2mod: + conf_read(NULL); + break; + default: diff --git a/package/base/linux/linux26/15-install-in-boot.patch b/package/base/linux/linux26/15-install-in-boot.patch new file mode 100644 index 000000000..17f001c66 --- /dev/null +++ b/package/base/linux/linux26/15-install-in-boot.patch @@ -0,0 +1,38 @@ +# --- 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/linux26/15-install-in-boot.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +This Patch is specific to ROCK Linux and not available as stand-alone patch. + + - Clifford Wolf + +--- linux/Makefile ++++ linux/Makefile +@@ -70,7 +70,7 @@ + # images. Uncomment if you want to place them anywhere other than root. + # + +-#export INSTALL_PATH=/boot ++export INSTALL_PATH=/boot + + # + # INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory diff --git a/package/base/linux/linux26/20-kernel-cc.patch b/package/base/linux/linux26/20-kernel-cc.patch new file mode 100644 index 000000000..e261778dd --- /dev/null +++ b/package/base/linux/linux26/20-kernel-cc.patch @@ -0,0 +1,40 @@ +# --- 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/linux26/20-kernel-cc.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +This Patch is specific to ROCK Linux and not available as stand-alone patch. + + - Clifford Wolf + +--- linux/Makefile ++++ linux/Makefile +@@ -27,7 +27,9 @@ + + AS = $(CROSS_COMPILE)as + LD = $(CROSS_COMPILE)ld +-CC = $(CROSS_COMPILE)gcc ++KCC = $(CROSS_COMPILE)kcc ++GCC = $(CROSS_COMPILE)gcc ++CC = $(if $(shell sh -c 'type -p $(KCC)'),$(KCC),$(GCC)) + CPP = $(CC) -E + AR = $(CROSS_COMPILE)ar + NM = $(CROSS_COMPILE)nm diff --git a/package/base/linux/linux26/80-ext23-suiddir.patch b/package/base/linux/linux26/80-ext23-suiddir.patch new file mode 100644 index 000000000..109ea8e01 --- /dev/null +++ b/package/base/linux/linux26/80-ext23-suiddir.patch @@ -0,0 +1,139 @@ +# --- 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/linux26/80-ext23-suiddir.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./fs/ext3/ialloc.c.orig 2002-11-27 23:36:00.000000000 +0100 ++++ ./fs/ext3/ialloc.c 2003-01-13 09:50:38.000000000 +0100 +@@ -520,6 +520,13 @@ + mode |= S_ISGID; + } else + inode->i_gid = current->fsgid; ++#ifdef CONFIG_EXT3_FS_SUIDDIR ++ if (dir->i_mode & S_ISUID) { ++ mode |= (mode & 0700) >> 3; ++ if (S_ISDIR(mode)) ++ mode |= S_ISUID; ++ } ++#endif + inode->i_mode = mode; + + inode->i_ino = ino; +--- ./fs/ext2/ialloc.c.orig 2002-11-27 23:36:00.000000000 +0100 ++++ ./fs/ext2/ialloc.c 2003-01-13 09:50:38.000000000 +0100 +@@ -509,6 +509,13 @@ + mode |= S_ISGID; + } else + inode->i_gid = current->fsgid; ++#ifdef CONFIG_EXT2_FS_SUIDDIR ++ if (dir->i_mode & S_ISUID) { ++ mode |= (mode & 0700) >> 3; ++ if (S_ISDIR(mode)) ++ mode |= S_ISUID; ++ } ++#endif + inode->i_mode = mode; + + inode->i_ino = ino; +--- ./CREDITS.orig 2002-11-27 23:36:15.000000000 +0100 ++++ ./CREDITS 2003-01-13 09:50:46.000000000 +0100 +@@ -3346,6 +3346,8 @@ + E: god@clifford.at + W: http://www.clifford.at/ + D: Menuconfig/lxdialog improvement ++D: Initial Wacom Intuos USB Driver ++D: Ext[23]FS and Reiserfs SUID on directories extension + S: Foehrengasse 16 + S: A-2333 Leopoldsdorf b. Wien + S: Austria +--- ./fs/Kconfig.orig 2003-06-07 18:13:43.000000000 +0200 ++++ ./fs/Kconfig 2003-06-07 18:16:50.000000000 +0200 +@@ -155,6 +155,35 @@ + 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 ++ 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 ... ++ ++ 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. ++ ++ 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 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 +@@ -1183,6 +1212,35 @@ + + + ++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. ++ ++ 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: ++ ++ 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). ++ + config SYSV_FS + tristate "System V/Xenix/V7/Coherent file system support" + help diff --git a/package/base/linux/linux26/81-reiser-suiddir.patch b/package/base/linux/linux26/81-reiser-suiddir.patch new file mode 100644 index 000000000..91ad9178d --- /dev/null +++ b/package/base/linux/linux26/81-reiser-suiddir.patch @@ -0,0 +1,77 @@ +# --- 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/linux26/81-reiser-suiddir.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./fs/reiserfs/namei.c.orig 2003-01-13 10:03:00.000000000 +0100 ++++ ./fs/reiserfs/namei.c 2003-01-13 10:03:57.000000000 +0100 +@@ -555,6 +555,13 @@ + } else { + inode->i_gid = current->fsgid; + } ++#ifdef CONFIG_REISERFS_FS_SUIDDIR ++ if (dir->i_mode & S_ISUID) { ++ inode->i_mode |= (inode->i_mode & 0700) >> 3; ++ if (S_ISDIR(inode->i_mode)) ++ inode->i_mode |= S_ISUID; ++ } ++#endif + return 0 ; + } + +--- ./fs/Kconfig.orig 2003-01-13 10:00:39.000000000 +0100 ++++ ./fs/Kconfig 2003-01-13 10:04:55.000000000 +0100 +@@ -252,6 +252,35 @@ + Almost everyone but ReiserFS developers and people fine-tuning + reiserfs or tracing problems should say N. + ++config REISERFS_FS_SUIDDIR ++ bool "Reiserfs SUID on Directory Extension" ++ depends on REISERFS_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. ++ ++ 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: ++ ++ 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). ++ + config JFS_FS + tristate "JFS filesystem support" + help + diff --git a/package/base/linux/linux26/82-raid5-niceer-output.patch b/package/base/linux/linux26/82-raid5-niceer-output.patch new file mode 100644 index 000000000..940f6dbc9 --- /dev/null +++ b/package/base/linux/linux26/82-raid5-niceer-output.patch @@ -0,0 +1,38 @@ +# --- 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/linux26/82-raid5-niceer-output.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +I also sent this patch to the kernel hackers - because the output is +really confusing when the software RAID code does not choose the fastest +mode ... Rene + +--- linuxi.orig/drivers/md/xor.c Sun Sep 30 21:26:06 2001 ++++ linux/drivers/md/xor.c Fri Dec 7 18:16:10 2001 +@@ -127,6 +127,8 @@ + + #ifdef XOR_SELECT_TEMPLATE + fastest = XOR_SELECT_TEMPLATE(fastest); ++ printk("raid5: using %s to write around L2 cache\n", ++ fastest->name); + #endif + + active_template = fastest; diff --git a/package/base/linux/linux26/arch-ppc-horizon-name-clash.patch b/package/base/linux/linux26/arch-ppc-horizon-name-clash.patch new file mode 100644 index 000000000..242e07ba3 --- /dev/null +++ b/package/base/linux/linux26/arch-ppc-horizon-name-clash.patch @@ -0,0 +1,33 @@ +# --- 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/linux26/arch-ppc-horizon-name-clash.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./drivers/atm/horizon.c.orig 2003-09-04 20:22:19.000000000 +0200 ++++ ./drivers/atm/horizon.c 2003-09-04 20:24:36.000000000 +0200 +@@ -481,7 +481,7 @@ + return; + } + +-static inline void dump_regs (hrz_dev * dev) { ++static inline void dump_horizon_regs (hrz_dev * dev) { + #ifdef DEBUG_HORIZON + PRINTD (DBG_REGS, "CONTROL 0: %#x", rd_regl (dev, CONTROL_0_REG)); + PRINTD (DBG_REGS, "RX CONFIG: %#x", rd_regw (dev, RX_CONFIG_OFF)); diff --git a/package/base/linux/linux26/disable-broken.lst b/package/base/linux/linux26/disable-broken.lst new file mode 100644 index 000000000..e64264b72 --- /dev/null +++ b/package/base/linux/linux26/disable-broken.lst @@ -0,0 +1,73 @@ +# --- 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/linux26/disable-broken.lst +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it 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. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +CONFIG_SCSI_QLOGIC_1280 2002-10-27 2.5.44 qla1280.o +CONFIG_DRM_RADEON 2003-01-14 2.5.57 radeon.o +CONFIG_IEEE1394_PCILYNX 2003-01-14 2.5.57 pcilynx.o +CONFIG_VIDEO_ZR36120 2003-01-14 2.5.57 zr36120.o +CONFIG_VIDEO_SAA5249 2003-01-14 2.5.57 saa5249.o +CONFIG_VIDEO_ZORAN 2003-01-14 2.5.57 saa7185.o +CONFIG_VIDEO_STRADIS 2003-01-14 2.5.57 saa7185.o +CONFIG_TUNER_3036 2003-01-14 2.5.57 tuner-3036.o +CONFIG_I2O_LAN 2003-01-14 2.5.57 i2o_lan.o +CONFIG_MTD_BLKMTD 2003-01-14 2.5.57 blkmtd.o +CONFIG_RCPCI 2003-01-14 2.5.57 rcpci45.o +CONFIG_SCSI_PCI2000 2003-01-14 2.5.57 pci2000.o +CONFIG_SCSI_PCI2220I 2003-01-14 2.5.57 pci2220i.o +CONFIG_SCSI_DPT_I2O 2003-01-14 2.5.57 dpt_i2o.o +CONFIG_SCSI_NCR53C7xx 2003-01-14 2.5.57 53c7,8xx.o +CONFIG_SCSI_EATA_DMA 2003-01-14 2.5.57 eata_dma.o +CONFIG_SCSI_DC390T 2003-01-14 2.5.57 tmscsim.o +CONFIG_SCSI_AM53C974 2003-01-14 2.5.57 AM53C974.o +CONFIG_SCSI_GDTH 2003-01-14 2.5.57 gdth.o +CONFIG_SCSI_INITIO 2003-01-14 2.5.57 ini9100u.o +CONFIG_SND_OPL3SA2 2003-01-14 2.5.57 opl3sa2.o +CONFIG_SOUND_CS4232 2003-01-14 2.5.57 cs4232.o +CONFIG_SOUND_PSS 2003-01-14 2.5.57 ad1848.o +CONFIG_SOUND_TRIX 2003-01-14 2.5.57 ad1848.o +CONFIG_SOUND_OPL3SA1 2003-01-14 2.5.57 ad1848.o +CONFIG_SOUND_SSCAPE 2003-01-14 2.5.57 ad1848.o +CONFIG_SOUND_MAD16 2003-01-14 2.5.57 ad1848.o +CONFIG_SOUND_MSS 2003-01-14 2.5.57 ad1848.o +CONFIG_SOUND_OPL3SA2 2003-01-14 2.5.57 ad1848.o +CONFIG_SOUND_GUS 2003-01-14 2.5.57 ad1848.o +CONFIG_SOUND_SGALAXY 2003-01-14 2.5.57 ad1848.o +CONFIG_INET_AH 2003-01-14 2.5.57 ah.o + +CONFIG_FB_VALKYRIE 2003-06-09 +CONFIG_IEEE1394_SBP2 2003-07-07 2.5.74 +CONFIG_ISDN_BOOL 2003-07-07 2.5.74 +CONFIG_SCSI_CPQFCTS 2003-07-07 2.5.74 +CONFIG_FB_PM2 2003-07-07 2.5.74 +CONFIG_FB_PM3 2003-07-07 2.5.74 +CONFIG_FB_CIRRUS 2003-07-07 2.5.74 + +CONFIG_ARCNET_COM20020 2003-08-02 2.6.0-test2 +CONFIG_SND_VXPOCKET 2003-08-23 2.6.0-test4 +CONFIG_SND_VXP440 2003-08-23 2.6.0-test4 +CONFIG_SIS190 2003-08-23 2.6.0-test4 + +CONFIG_MAC_FLOPPY 2003-08-26 2.5.0-test4 # fix exist - should be fixed soon ... +CONFIG_PNPBIOS 2003-08-26 2.6.0-test4 # compiles but freezes + +CONFIG_BLK_DEV_IDESCSI 2003-12-24 2.6.0 # it is currently broken and obsolete anyway + diff --git a/package/base/linux/mkinitrd.sh b/package/base/linux/mkinitrd.sh new file mode 100644 index 000000000..ed8c10bff --- /dev/null +++ b/package/base/linux/mkinitrd.sh @@ -0,0 +1,87 @@ +#!/bin/sh + +kernel=`uname -r` +tmpdir=`mktemp -d` +empty=0 + +if [ "$1" = "empty" ]; then + empty=1; shift +fi + +if [ -n "$1" ]; then + if [ -d "/lib/modules/$1" ]; then + kernel="$1" + else + echo "Can't open /lib/modules/$1: No such directory." + echo "Usage: $0 [ kernel-version ]" + exit 1 + fi +fi + +cat << 'EOT' > $tmpdir/linuxrc.c +#include +#include +#include +#include + +int main() +{ +EOT + +echo "Creating /boot/initrd-${kernel}.img ..." +if [ "$empty" = 0 ]; then + grep '^modprobe ' /etc/conf/kernel | + grep -v 'no-initrd' | sed 's,[ ]#.*,,' | + while read a b; do $a -n -v $b 2> /dev/null; done | + while read a b c; do + # ouch - this is pretty ugly.... + b="${b//`uname -r`/$kernel}" + if [ ! -f $tmpdir/${b##*/} ]; then + echo "Adding $b."; cp $b $tmpdir + x="$( eval "echo ${b##*/} $c" )" + cat << EOT >> $tmpdir/linuxrc.c + /* $x */ + if ( fork() ) wait(NULL); + else { + printf("initrd: loading %s.\n", "$x"); fflush(stdout); + execl("/insmod.static", "/insmod.static", "${x// /", "}", NULL); + _exit(1); + } +EOT + fi + done +fi +echo -e '\tprintf("initrd: going to re-mount root now.\\n");' >> $tmpdir/linuxrc.c +echo -e '\treturn 0;\n}' >> $tmpdir/linuxrc.c +gcc -s -static -Wall -Os -o $tmpdir/linuxrc $tmpdir/linuxrc.c +cp /sbin/insmod.static* $tmpdir/ +if [ -f $tmpdir/insmod.static.old ]; then + ln -s insmod.static.old $tmpdir/insmod.old +fi +mkdir -p $tmpdir/dev +mknod $tmpdir/dev/null c 1 3 +mknod $tmpdir/dev/zero c 1 5 +mknod $tmpdir/dev/tty c 5 0 +mknod $tmpdir/dev/console c 5 1 + +if false; then + # FIXME: kernel doesn't like romfs as initrd ?!?! + genromfs -f /boot/initrd-${kernel}.img.tmp -d $tmpdir +else + # This works, but only for initrd images < 4 MB + dd if=/dev/zero of=/boot/initrd-${kernel}.img.tmp \ + count=4096 bs=1024 &> /dev/null + mke2fs -m 0 -N 180 -F /boot/initrd-${kernel}.img.tmp &> /dev/null + mntpoint="`mktemp -d`" + mount -o loop /boot/initrd-${kernel}.img.tmp $mntpoint + rmdir $mntpoint/lost+found/ + cp -a $tmpdir/* $mntpoint/ + umount $mntpoint + rmdir $mntpoint +fi +gzip < /boot/initrd-${kernel}.img.tmp > /boot/initrd-${kernel}.img +rm -f /boot/initrd-${kernel}.img.tmp + +rm -rf $tmpdir +echo "Done." + diff --git a/package/base/pcmcia-cs/pcmcia-cs.conf b/package/base/pcmcia-cs/pcmcia-cs.conf index 7d4c451b5..6606937fe 100644 --- a/package/base/pcmcia-cs/pcmcia-cs.conf +++ b/package/base/pcmcia-cs/pcmcia-cs.conf @@ -20,7 +20,7 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- -. $base/package/base/linux24/kernelversion.sh +. $base/package/base/linux/kernelversion.sh pcmcia_main() { { echo $root/usr/src/linux diff --git a/package/fake/cloop/cloop.conf b/package/fake/cloop/cloop.conf index 760b8bc42..c96fcbc6a 100644 --- a/package/fake/cloop/cloop.conf +++ b/package/fake/cloop/cloop.conf @@ -20,7 +20,7 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- -. $base/package/base/linux24/kernelversion.sh +. $base/package/base/linux/kernelversion.sh var_append makeopt ' ' 'KERNDIR=$root/usr/src/linux-$kernelversion' diff --git a/package/x11/linux-drm/linux-drm.conf b/package/x11/linux-drm/linux-drm.conf index dd2467ea6..54160244f 100644 --- a/package/x11/linux-drm/linux-drm.conf +++ b/package/x11/linux-drm/linux-drm.conf @@ -36,7 +36,7 @@ EOT preconf="rm -f Imakefile" premake="lxdrm_premake" -. $base/package/base/linux24/kernelversion.sh +. $base/package/base/linux/kernelversion.sh makeopt="-f Makefile.linux LINUXDIR=/lib/modules/$kernelversion/build \ KVERSION=$kernelversion" makeinstopt="$makeopt install" diff --git a/scripts/Build-Pkg b/scripts/Build-Pkg index c66e37f5e..114727c58 100755 --- a/scripts/Build-Pkg +++ b/scripts/Build-Pkg @@ -428,8 +428,8 @@ declare -a badfiles_desc parse_desc $pkg -ver="`echo $desc_V | cut -f1 -d' '`" -extraver="`echo $desc_V | cut -s -f2- -d' '`" +ver="`echo "$desc_V" | tail -n 1 | cut -f1 -d' '`" +extraver="`echo "$desc_V" | tail -n 1 | cut -s -f2- -d' '`" [ -z "$extraver" ] && extraver="${rockver//DEV-*/DEV}" if [ "$pkg" = "$xpkg" ]; then diff --git a/scripts/Create-PkgList b/scripts/Create-PkgList index c863ead17..51f43901d 100755 --- a/scripts/Create-PkgList +++ b/scripts/Create-PkgList @@ -72,7 +72,7 @@ FNR == 1 { defset="X"; pri="999.999"; stages="-----------"; ver="0000"; categories="" - flags="" + ver_dup=0; flags="" } /^\[(P|PRI|PRIORITY)\]/ { @@ -81,7 +81,9 @@ FNR == 1 { } /^\[(V|VER|VERSION)\]/ { - split($0, a, /[ \t]+/); ver=a[2]; + split($0, a, /[ \t]+/); + if ( ver_dup == 0 ) ver=a[2]; + ver_dup = 1; } /^\[(C|CATEGORY)\]/ { diff --git a/target/bootdisk/config.in b/target/bootdisk/config.in index 244bd7626..63a81db59 100644 --- a/target/bootdisk/config.in +++ b/target/bootdisk/config.in @@ -40,6 +40,7 @@ pkgfilter sed ' / kbd / { p; d; }; / eject / { p; d; }; / popt / { p; d; }; / raidtools / { p; d; }; / mdadm / { p; d; }; / ntfsprogs / { P; d; }; +/ linux / { p; d; }; # Select some packages explicitely (architectures) / bin86 / { p; d; }; / cpuburn / { p; d; }; @@ -89,6 +90,7 @@ ROCKCFGSET_DISABLE_NLS=1 ROCKCFGSET_OPTSIZE=1 ROCKCFGSET_LIMITCXX=1 -if [ $ROCKCFG_DEFAULT_KERNEL == linux26 ] ; then +if [ $ROCKCFG_PKG_LINUX_DEFAULT = linux26 ] ; then pkgremove lvm fi +