diff --git a/package/base/linux/config-500.in b/package/base/linux/config-500.in index bea73864b..966acc384 100644 --- a/package/base/linux/config-500.in +++ b/package/base/linux/config-500.in @@ -20,36 +20,37 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- -if pkgcheck linux X +if pkgcheck linux=linux24 X || pkgcheck linux=linux26 X || \ + pkgcheck linux=linux24-source X || pkgcheck linux=linux26-source X then menu_begin MENU_PKG_LINUX 'Linux Kernel Options' bool 'Place linux24 sources in /usr/src' \ ROCKCFG_PKG_LINUX_SRC24 0 - if [ "$ROCKCFG_PKG_LINUX_SRC24" = 1 ]; then - pkgfork linux linux24-source + if [ "$ROCKCFG_PKG_LINUX_SRC24" = 0 ]; then + pkgdisable 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 + if [ "$ROCKCFG_PKG_LINUX_SRC26" = 0 ]; then + pkgdisable linux26-source fi bool 'Build and install a linux24 kernel' \ ROCKCFG_PKG_LINUX_IMG24 0 - if [ "$ROCKCFG_PKG_LINUX_IMG24" = 1 ]; then - pkgfork linux linux24 + if [ "$ROCKCFG_PKG_LINUX_IMG24" = 0 ]; then + pkgdisable linux24 fi bool 'Build and install a linux26 kernel' \ ROCKCFG_PKG_LINUX_IMG26 1 - if [ "$ROCKCFG_PKG_LINUX_IMG26" = 1 ]; then - pkgfork linux linux26 stages -X---5---9 + if [ "$ROCKCFG_PKG_LINUX_IMG26" = 0 ]; then + pkgdisable linux26 fi case "$ROCKCFG_PKG_LINUX_IMG24$ROCKCFG_PKG_LINUX_IMG26" in @@ -102,6 +103,5 @@ then %include package/*/*/pkg_config_linux.in menu_end - pkgremove linux fi diff --git a/package/base/linux/preconfig.in b/package/base/linux/preconfig.in new file mode 100644 index 000000000..6b6217857 --- /dev/null +++ b/package/base/linux/preconfig.in @@ -0,0 +1,8 @@ +if pkgcheck linux X +then + pkgfork linux linux24 unflag CORE + pkgfork linux linux24-source unflag CORE + pkgfork linux linux26 stages -X---5---9 + pkgfork linux linux26-source + pkgremove linux +fi diff --git a/scripts/config.in b/scripts/config.in index c5c9a02e2..626e5b43b 100644 --- a/scripts/config.in +++ b/scripts/config.in @@ -87,9 +87,6 @@ block_begin 7 comment '-- WARNING: Test-building packages which are not known to cross build' comment '-- might cause damage on your build system if it is not read-only. So' comment '-- only run this if your /{bin,lib,usr,..} is somehow write-protected.' - pkgfilter sed -e 's,^\(. ..\)[^ ]*,\1--------,; s,^\(. .\)[1X?],\11,; s,^\(. \)X,\1-,;' - else - pkgfilter sed -e 's,^\(. ..\)[^ ]*,\1--------,; s,^\(. .\)[1X],\11,; s,^\(. .\)?,\1-,; s,^\(. \)X,\1-,;' fi ROCKCFG_ID="$ROCKCFG_ID-cross" ; ROCKCFGSET_USE_CROSSCC=1 const ROCKCFG_PSEUDONATIVE 0 @@ -103,10 +100,7 @@ block_begin 7 text 'IP of native host for command forwarding' ROCKCFG_PSEUDONATIVE_NATIVEHOST '' text 'NFSROOT to be mounted on native host' ROCKCFG_PSEUDONATIVE_NFSROOT "$HOSTNAME:$PWD" - pkgfilter sed -e 's,^\(. .\)[?X],\1-,; s,^\(. \)X,\10,;' ROCKCFG_ID="$ROCKCFG_ID-pseudonative" ; ROCKCFGSET_USE_CROSSCC=1 - else - pkgfilter sed -e 's,^\(. .\)[?X],\1-,; s,^\(. \)X,\1-,;' fi fi block_end @@ -115,6 +109,20 @@ block_end %include target/*/preconfig.in %include package/*/*/preconfig.in +if [ "$ROCKCFG_CROSSBUILD" = 1 ] ; then + if [ $ROCKCFG_CROSS_TESTALL = 1 ]; then + pkgfilter sed -e 's,^\(. ..\)[^ ]*,\1--------,; s,^\(. .\)[1X?],\11,; s,^\(. \)X,\1-,;' + else + pkgfilter sed -e 's,^\(. ..\)[^ ]*,\1--------,; s,^\(. .\)[1X],\11,; s,^\(. .\)?,\1-,; s,^\(. \)X,\1-,;' + fi +else + if [ "$ROCKCFG_PSEUDONATIVE" = 1 ] ; then + pkgfilter sed -e 's,^\(. .\)[?X],\1-,; s,^\(. \)X,\10,;' + else + pkgfilter sed -e 's,^\(. .\)[?X],\1-,; s,^\(. \)X,\1-,;' + fi +fi + comment ' ' comment_id '- Target Distribution' COMMENT_TARGET diff --git a/target/bootdisk/config.in b/target/bootdisk/config.in index 2dceee5c2..81a329165 100644 --- a/target/bootdisk/config.in +++ b/target/bootdisk/config.in @@ -39,10 +39,13 @@ pkgfilter sed ' / kbd / { p; d; }; / eject / { p; d; }; / popt / { p; d; }; / mdadm / { p; d; }; / ntfsprogs / { P; d; }; -/ linux / { p; d; }; / ddrescue / { p; d; }; +/ ddrescue / { p; d; }; / iproute2 / { p; d; }; / wget / { p; d; }; / kiss / { p; d; }; / udev / { p; d; }; / gmp / { p; d; }; / rockinitrd / { p; d; }; +/ linux=linux26 / { p; d; }; +/ linux=linux26-source / { p; d; }; + # Select some non-base packages / lzo / { p; d; }; @@ -84,7 +87,7 @@ ROCKCFGSET_DISABLE_NLS=1 ROCKCFGSET_OPTSIZE=1 ROCKCFGSET_LIMITCXX=1 -if [ $ROCKCFG_PKG_LINUX_DEFAULT = linux26 ] ; then +if [ "$ROCKCFG_PKG_LINUX_DEFAULT" = linux26 ] ; then pkgremove lvm fi diff --git a/target/epiam/config.in b/target/epiam/config.in index 113035fff..6c0364614 100644 --- a/target/epiam/config.in +++ b/target/epiam/config.in @@ -29,7 +29,7 @@ pkgfilter sed ' # / xv / { s/^X /O /; p; d; }; / wu-ftp / { s/^X /O /; p; d; }; / gcc2 / { s/^X /O /; p; d; }; -/ linux26* / { s/^X /O /; p; d; }; +/ linux=linux26* / { s/^X /O /; p; d; }; / module-init-tools / { s/^X /O /; p; d; }; / bootsplash / { s/^X /O /; p; d; }; diff --git a/target/lvp/config.in b/target/lvp/config.in index 15f879406..f32e86789 100644 --- a/target/lvp/config.in +++ b/target/lvp/config.in @@ -59,7 +59,7 @@ pkgfilter sed ' / libtiff / { p; d; }; / libtool / { p; d; }; / libungif / { p; d; }; -/ linux / { p; d; }; +/ linux=[^ ]* / { p; d; }; / linux-libc-headers / { p; d; }; / lvp / { p; d; }; / m4 / { p; d; };