From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4794E904.5060106@domain.hid> Date: Mon, 21 Jan 2008 19:48:36 +0100 From: Jan Kiszka MIME-Version: 1.0 References: <4794DDF7.9070009@domain.hid> <4794E556.1030904@domain.hid> In-Reply-To: <4794E556.1030904@domain.hid> Content-Type: multipart/mixed; boundary="------------070907020409030609040208" Subject: Re: [Xenomai-core] Patch selection by prepare-kernel.sh (again) List-Id: "Xenomai life and development \(bug reports, patches, discussions\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Philippe Gerum Cc: Xenomai-core@domain.hid This is a multi-part message in MIME format. --------------070907020409030609040208 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Jan Kiszka wrote: > Jan Kiszka wrote: >> Philippe, >> >> what was the idea behind commit #3256 [1]? It breaks the original >> behavior of selection adeos-ipipe-2.6.23-... in the presence of 2.6.23.x >> - and leaves a bad first impression for beginners (I received such a >> notice here...). Was this for the special case >> adeos-ipipe-2.6.20.21-i386-1.12-02.patch? But I think the common case >> should take precedence over this corner case here. Unless there are more >> issues with the original version, I would vote for restoring it. >> >> Alternatively, we could add a safety belt by trying to apply the patch >> with --dry-run first and only continue if this works out without >> failures. Can hack this up if it's acceptable. > > Oh, this check already exists! > > So let's try this version, which additionally cleans up the related > documentation. Catches both 2.6.23* and 2.6.24* for me here, but I may > miss some cases (2.4?). The documentation hunk was nonsense, here is a hopefully better version. Jan -- Siemens AG, Corporate Technology, CT SE 2 Corporate Competence Center Embedded Linux --------------070907020409030609040208 Content-Type: text/x-patch; name="improve-patch-detection.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="improve-patch-detection.patch" --- README.INSTALL | 11 +++++------ scripts/prepare-kernel.sh | 8 ++++---- 2 files changed, 9 insertions(+), 10 deletions(-) Index: xenomai/README.INSTALL =================================================================== --- xenomai.orig/README.INSTALL +++ xenomai/README.INSTALL @@ -51,8 +51,10 @@ $ scripts/prepare-kernel.sh --linux=/patches. This parameter can be omitted if + Adeos has already been patched in or the script shall suggest an + appropriate one. In any case, the script will not try to apply it again whenever a former patch is detected. --arch tells the script about the target architecture. If @@ -64,10 +66,7 @@ located at /usr/src/linux-2.6.23-ipipe i support: $ cd xenomai-2.4 -$ scripts/prepare-kernel.sh - --linux=/usr/src/linux-2.6.23-ipipe - --adeos=/tmp/adeos-ipipe-2.6.23-i386-1.10-12.patch - --arch=i386 +$ scripts/prepare-kernel.sh --linux=/usr/src/linux-2.6.23-ipipe Note: The script will infer the location of the Xenomai kernel code from its own location within the Xenomai source tree. In other words, Index: xenomai/scripts/prepare-kernel.sh =================================================================== --- xenomai.orig/scripts/prepare-kernel.sh +++ xenomai/scripts/prepare-kernel.sh @@ -353,10 +353,10 @@ eval linux_`grep '^PATCHLEVEL =' $linux_ eval linux_`grep '^SUBLEVEL =' $linux_tree/Makefile | sed -e 's, ,,g'` eval linux_`grep '^VERSION =' $linux_tree/Makefile | sed -e 's, ,,g'` -linux_version="$linux_VERSION.$linux_PATCHLEVEL.$linux_SUBLEVEL$linux_EXTRAVERSION" +linux_version="$linux_VERSION.$linux_PATCHLEVEL.$linux_SUBLEVEL" if test x$verbose = x1; then -echo "Preparing kernel $linux_version in $linux_tree..." +echo "Preparing kernel $linux_version$linux_EXTRAVERSION in $linux_tree..." fi if test -r $linux_tree/include/linux/ipipe.h; then @@ -369,7 +369,7 @@ elif test -r $linux_tree/include/linux/a exit 2 else if test x$adeos_patch = x; then - default_adeos_patch=`( ls $xenomai_root/ksrc/arch/$xenomai_arch/patches/adeos-ipipe-$linux_version-$linux_arch-*|sort -r ) 2>/dev/null | head -n1` + default_adeos_patch="`( ls $xenomai_root/ksrc/arch/$xenomai_arch/patches/adeos-ipipe-$linux_version*-{$linux_arch,$xenomai_arch}-*|sort -r ) 2>/dev/null | head -n1`" fi if test x$default_adeos_patch = x; then default_adeos_patch=/dev/null @@ -393,7 +393,7 @@ else curdir=$PWD cd $linux_tree && patch --dry-run -p1 -f < $adeos_patch || { cd $curdir; - echo "$me: Unable to patch kernel $linux_version with `basename $adeos_patch`." >&2 + echo "$me: Unable to patch kernel $linux_version$linux_EXTRAVERSION with `basename $adeos_patch`." >&2 exit 2; } patch -p1 -f -s < $adeos_patch --------------070907020409030609040208--