linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@bombadil.infradead.org>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: "Luis R. Rodriguez" <mcgrof@frijolero.org>,
	hauke@hauke-m.de, kernel-team@lists.ubuntu.com,
	linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] compat: add compat kernel checker and downloader
Date: Mon, 6 Feb 2012 23:19:58 -0500	[thread overview]
Message-ID: <20120207041958.GA32377@bombadil.infradead.org> (raw)
In-Reply-To: <20120206160727.GA21048@tuxdriver.com>

On Mon, Feb 06, 2012 at 11:07:28AM -0500, John W. Linville wrote:
> On Fri, Feb 03, 2012 at 03:43:14PM -0800, Luis R. Rodriguez wrote:
> > This adds get-compat-kernels, a utility that is intended
> > to be Linux distribution agnostic that downloads and installs
> > all kernel headers for all supported kernel releases of compat.
> > You also have the option of specifying you want to also install
> > the actual kernel image (get-compat-kernels -i).
> > 
> > We start off by adding support for Ubuntu on x86_64 as that
> > is what a few of us maintaining compat and compat-wireless run.
> > Just for kernel headers (default run of get-compat-kernels),
> > you'll need currently 205 M of hard drive space.
> > 
> > Once done with running get-compat-kernels, you can then
> > start running ckmake to verify your compat kernel changes
> > won't bust compilation against any known supported kernel.
> > 
> > I'd like to start requiring runs against this script for
> > patch submissions. Eventually we can try to add the same
> > runs against compat-wireless so we can verify integrity
> > against compilation for different kernel versions.
> > 
> > Support for different Linux distributios is welcomed.
> > 
> > Debug log goes out to ckmake.log
> > 
> > Example output:
> > 
> > mcgrof@tux ~/compat (git::master)$ ckmake
> > Trying kernel                  3.3.0-030300rc2-generic  [OK]
> > Trying kernel                     3.2.2-030202-generic  [OK]
> > Trying kernel                    3.1.10-030110-generic  [OK]
> > Trying kernel                    3.0.18-030018-generic  [OK]
> > Trying kernel                  2.6.39-02063904-generic  [OK]
> > Trying kernel                         2.6.38-8-generic  [OK]
> > Trying kernel                        2.6.38-13-generic  [OK]
> > Trying kernel                        2.6.38-12-generic  [OK]
> > Trying kernel                        2.6.38-11-generic  [OK]
> > Trying kernel                        2.6.38-10-generic  [OK]
> > Trying kernel                  2.6.38-02063808-generic  [OK]
> > Trying kernel                  2.6.37-02063706-generic  [OK]
> > Trying kernel                  2.6.36-02063604-generic  [OK]
> > Trying kernel                  2.6.35-02063512-generic  [OK]
> > Trying kernel                  2.6.34-02063410-generic  [OK]
> > Trying kernel                  2.6.33-02063305-generic  [OK]
> > Trying kernel                  2.6.32-02063255-generic  [OK]
> > Trying kernel                        2.6.31-22-generic  [OK]
> > Trying kernel                  2.6.31-02063113-generic  [OK]
> > Trying kernel                  2.6.30-02063010-generic  [OK]
> > Trying kernel                  2.6.29-02062906-generic  [OK]
> > Trying kernel                  2.6.28-02062810-generic  [OK]
> > Trying kernel                    2.6.27-020627-generic  [OK]
> > Trying kernel                    2.6.26-020626-generic  [OK]
> > Trying kernel                    2.6.25-020625-generic  [OK]
> > Trying kernel                    2.6.24-020624-generic  [OK]
> > 
> > Cc: kernel-team@lists.ubuntu.com
> > Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
> 
> I'm not sure this makes any sense.  I thought the point of the compat
> project was to support upstream kernels, not distro ones? 

Absolutely but distributions also build kernels for us so if we're lazy
we don't have to do anything but just install some sort of package.
The get-compat-kernels takes advantage of this fact and lists a way
to let us get all known supported kernels from Ubuntu's PPA repository
that has mainline kernels. That is, these are kernels from mainline
without any Ubuntu jazz on it.

> I'm not
> even sure I know how to replicate the above process in Fedora, since
> we would only have kernels available from a given release in each
> release's repository.

The Ubuntu PPA was special, it was put in place to help users tests
kernel issues on a mainline kernel without any ubuntu jazz when
there were concerns that perhaps the issues on bugzilla.kernel.org
may have been cause by some of the deltas.

The scripts can be explanded to use general kernels though:

diff --git a/bin/ckmake b/bin/ckmake
index 4d45fb9..3b49347 100755
--- a/bin/ckmake
+++ b/bin/ckmake
@@ -34,8 +34,11 @@ case $LSB_RED_ID in
 	done
 	;;
 *)
-	echo -e "Unsupported distribution"
-	exit
+	for i in $(find /lib/modules/ -type d | sort -n -r); do
+		if [[ -d $i/build/ && -f $i/build/Makefile ]]; then
+			KLIBS="$KLIBS $i"
+		fi
+	done
 	;;
 esac
 
diff --git a/bin/get-compat-kernels b/bin/get-compat-kernels
index 07ac17b..9bb9f39 100755
--- a/bin/get-compat-kernels
+++ b/bin/get-compat-kernels
@@ -148,7 +148,14 @@ case $LSB_RED_ID in
 	get_ubuntu_kernels
 	;;
 *)
-	echo -e "Unsupported distribution"
-	exit
+	echo -e "Using your available kernels. We recommend to have "
+	echo -e "all supported asupported kernels listed on kernel.org."
+	echo -e "Currently our target is to at least support all kernels "
+	echo -e "in the range 2.6.27 - 3.3. You have:\n":
+	for i in $(find /lib/modules/ -type d | sort -n -r); do
+		if [[ -d $i/build/ && -f $i/build/Makefile ]]; then
+			echo -e " * $(basename $i))"
+		fi
+	done
 	;;
 esac


This could be improved to ensure that ckmake will not run for any
case unless at least one kernel for each suppoted kernel release is
present to test.

Thoughts?

  Luis

  reply	other threads:[~2012-02-07  4:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-03 23:43 [PATCH] compat: add compat kernel checker and downloader Luis R. Rodriguez
2012-02-06 10:57 ` Andy Whitcroft
2012-02-06 16:07 ` John W. Linville
2012-02-07  4:19   ` Luis R. Rodriguez [this message]
2012-02-07  4:56     ` Luis R. Rodriguez
2012-02-08  1:19       ` Luis R. Rodriguez
2012-02-08  2:55         ` Luis R. Rodriguez
2012-02-08  2:58           ` Luis R. Rodriguez
2012-03-31  0:23             ` Luis R. Rodriguez
2012-04-04 11:10               ` Andy Whitcroft
2012-04-05 20:19                 ` Tim Gardner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120207041958.GA32377@bombadil.infradead.org \
    --to=mcgrof@bombadil.infradead.org \
    --cc=hauke@hauke-m.de \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=mcgrof@frijolero.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).