Linux: ketchup, Automatic Kernel Patching

Submitted by Jeremy
on April 24, 2004 - 9:04pm

Matt Mackall, maintainer of the -tiny patchset [story], announced version 0.7 of his 'ketchup' script. Written in Python, the script automates the process of patching from one version of the Linux kernel to another. It caches the various patches, only downloading what's required to get you to the version you specify, also automatically verifying the kernel's gpg signature.

Matt's handy script supports both the 2.4 and the 2.6 mainline kernels, as well as the -mm [story], -tiny [story] and -mjb [story] patchsets. You can specify a specific version, or simply ask it to patch you up to the latest. For example, to get the latest official 2.6 release source, you would type, ketchup 2.6. To get the latest 2.6-pre or -rc, you would simply type. ketchup 2.6-pre. To be completely up to date, getting the latest snapshot (including -bk snapshots), you can type, ketchup 2.6-tip. Read on for Matt's announcement, as well as a few of my own examples demonstrating this handy script in action.


Before you'll be able to use 'ketchup', you'll first need to be sure that you have gpg properly installed and configured, and the kernel.org signature properly imported into your keyring.

For my first test, I created a new directory for 2.6.6-rc2 and typed 'ketchup 2.6.6-rc2':

[jandrews@papaya _kernel]$ mkdir linux-2.6.6-rc2
[jandrews@papaya _kernel]$ cd linux-2.6.6-rc2
[jandrews@papaya linux-2.6.6-rc2]$ ketchup 2.6.6-rc2
None -> 2.6.6-rc2
Downloading linux-2.6.5.tar.bz2
--20:37:23--  http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.5.tar.bz2
           => `/home/jandrews/.ketchup/linux-2.6.5.tar.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 34,684,611 [application/x-bzip2]
 
100%[====================================>] 34,684,611   152.39K/s    ETA 00:00
 
20:41:06 (152.39 KB/s) - `/home/jandrews/.ketchup/linux-2.6.5.tar.bz2.partial' saved [34684611/34684611]
 
Downloading linux-2.6.5.tar.bz2.sign
--20:41:06--  http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.5.tar.bz2.sign
           => `/home/jandrews/.ketchup/linux-2.6.5.tar.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
20:41:06 (242.19 KB/s) - `/home/jandrews/.ketchup/linux-2.6.5.tar.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Sat 03 Apr 2004 11:30:02 PM EST using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Unpacking linux-2.6.5.tar.bz2
Downloading patch-2.6.6-rc2.bz2
--20:41:35--  http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.6-rc2.bz2
           => `/home/jandrews/.ketchup/patch-2.6.6-rc2.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,948,496 [application/x-bzip2]
 
100%[====================================>] 1,948,496    149.02K/s    ETA 00:00
 
20:41:48 (149.02 KB/s) - `/home/jandrews/.ketchup/patch-2.6.6-rc2.bz2.partial' saved [1948496/1948496]
 
Downloading patch-2.6.6-rc2.bz2.sign
--20:41:48--  http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.6-rc2.bz2....
           => `/home/jandrews/.ketchup/patch-2.6.6-rc2.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
20:41:49 (242.19 KB/s) - `/home/jandrews/.ketchup/patch-2.6.6-rc2.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Tue 20 Apr 2004 06:29:52 PM EDT using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Applying patch-2.6.6-rc2.bz2
[jandrews@papaya linux-2.6.6-rc2]$

Worked like a charm! At that point, I could copy in my old .config, run make oldconfig, and I'm set...

The various patches that were downloaded above are stored in ~/.ketchup. As a test, I deleted all files in there, then moved in an old copy I had of linux-2.6.1.tar.bz2. I repeated the test above, and sure enough it intelligently patched me from 2.6.1 up to 2.6.6-rc2:

[jandrews@papaya _kernel]$ mkdir linux-2.6.6-rc2
[jandrews@papaya _kernel]$ cd linux-2.6.6-rc2
[jandrews@papaya linux-2.6.6-rc2]$ ketchup 2.6.6-rc2
None -> 2.6.6-rc2
Unpacking linux-2.6.1.tar.bz2
Downloading patch-2.6.2.bz2
--20:46:06--  http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.2.bz2
           => `/home/jandrews/.ketchup/patch-2.6.2.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2,322,327 [application/x-bzip2]
 
100%[====================================>] 2,322,327    145.56K/s    ETA 00:00
 
20:46:22 (145.56 KB/s) - `/home/jandrews/.ketchup/patch-2.6.2.bz2.partial' saved [2322327/2322327]
 
Downloading patch-2.6.2.bz2.sign
--20:46:22--  http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.2.bz2.sign
           => `/home/jandrews/.ketchup/patch-2.6.2.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
20:46:22 (242.19 KB/s) - `/home/jandrews/.ketchup/patch-2.6.2.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Tue 03 Feb 2004 11:15:50 PM EST using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Applying patch-2.6.2.bz2
Downloading patch-2.6.3.bz2
--20:46:26--  http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.3.bz2
           => `/home/jandrews/.ketchup/patch-2.6.3.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2,053,488 [application/x-bzip2]
 
100%[====================================>] 2,053,488    143.86K/s    ETA 00:00
 
20:46:40 (143.86 KB/s) - `/home/jandrews/.ketchup/patch-2.6.3.bz2.partial' saved [2053488/2053488]
 
Downloading patch-2.6.3.bz2.sign
--20:46:40--  http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.3.bz2.sign
           => `/home/jandrews/.ketchup/patch-2.6.3.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
20:46:40 (242.19 KB/s) - `/home/jandrews/.ketchup/patch-2.6.3.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Tue 17 Feb 2004 11:43:48 PM EST using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Applying patch-2.6.3.bz2
Downloading patch-2.6.4.bz2
--20:46:44--  http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.4.bz2
           => `/home/jandrews/.ketchup/patch-2.6.4.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2,262,429 [application/x-bzip2]
 
100%[====================================>] 2,262,429    133.58K/s    ETA 00:00
 
20:47:00 (133.58 KB/s) - `/home/jandrews/.ketchup/patch-2.6.4.bz2.partial' saved [2262429/2262429]
 
Downloading patch-2.6.4.bz2.sign
--20:47:00--  http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.4.bz2.sign
           => `/home/jandrews/.ketchup/patch-2.6.4.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
20:47:01 (242.19 KB/s) - `/home/jandrews/.ketchup/patch-2.6.4.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Wed 10 Mar 2004 10:38:16 PM EST using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Applying patch-2.6.4.bz2
Downloading patch-2.6.5.bz2
--20:47:05--  http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.5.bz2
           => `/home/jandrews/.ketchup/patch-2.6.5.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,420,240 [application/x-bzip2]
 
100%[====================================>] 1,420,240     79.48K/s    ETA 00:00
 
20:47:22 (79.48 KB/s) - `/home/jandrews/.ketchup/patch-2.6.5.bz2.partial' saved [1420240/1420240]
 
Downloading patch-2.6.5.bz2.sign
--20:47:22--  http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.5.bz2.sign
           => `/home/jandrews/.ketchup/patch-2.6.5.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
20:47:23 (242.19 KB/s) - `/home/jandrews/.ketchup/patch-2.6.5.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Sat 03 Apr 2004 11:27:25 PM EST using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Applying patch-2.6.5.bz2
Downloading patch-2.6.6-rc2.bz2
--20:47:27--  http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.6-rc2.bz2
           => `/home/jandrews/.ketchup/patch-2.6.6-rc2.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1,948,496 [application/x-bzip2]
 
100%[====================================>] 1,948,496    150.92K/s    ETA 00:00
 
20:47:40 (150.92 KB/s) - `/home/jandrews/.ketchup/patch-2.6.6-rc2.bz2.partial' saved [1948496/1948496]
 
Downloading patch-2.6.6-rc2.bz2.sign
--20:47:40--  http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.6-rc2.bz2....
           => `/home/jandrews/.ketchup/patch-2.6.6-rc2.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
20:47:40 (242.19 KB/s) - `/home/jandrews/.ketchup/patch-2.6.6-rc2.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Tue 20 Apr 2004 06:29:52 PM EDT using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Applying patch-2.6.6-rc2.bz2
[jandrews@papaya linux-2.6.6-rc2]$

Another quick test, I asked it to get me the absolute latest version of 2.6:

[jandrews@papaya _kernel]$ mkdir linux-tip
[jandrews@papaya _kernel]$ cd linux-tip
[jandrews@papaya linux-tip]$ ketchup 2.6-tip
None -> 2.6.6-rc2-bk3
Unpacking linux-2.6.1.tar.bz2
Applying patch-2.6.2.bz2
Applying patch-2.6.3.bz2
Applying patch-2.6.4.bz2
Applying patch-2.6.5.bz2
Applying patch-2.6.6-rc2.bz2
Downloading patch-2.6.6-rc2-bk3.bz2
--20:54:47--  http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.6-rc2-bk...
           => `/home/jandrews/.ketchup/patch-2.6.6-rc2-bk3.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 103,407 [application/x-bzip2]
 
100%[====================================>] 103,407      227.44K/s    ETA 00:00
 
20:54:53 (227.44 KB/s) - `/home/jandrews/.ketchup/patch-2.6.6-rc2-bk3.bz2.partial' saved [103407/103407]
 
Downloading patch-2.6.6-rc2-bk3.bz2.sign
--20:54:53--  http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.6-rc2-bk...
           => `/home/jandrews/.ketchup/patch-2.6.6-rc2-bk3.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
20:54:53 (242.19 KB/s) - `/home/jandrews/.ketchup/patch-2.6.6-rc2-bk3.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Sat 24 Apr 2004 07:47:17 AM EDT using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Applying patch-2.6.6-rc2-bk3.bz2
[jandrews@papaya linux-tip]$

Finally, I asked it to patch the current directory from 2.6.6-rc2-bk3 to the latest -mm patchset:

[jandrews@papaya linux-tip]$ ketchup 2.6-mm
2.6.6-rc2-bk3 -> 2.6.6-rc2-mm1
Applying patch-2.6.6-rc2-bk3.bz2 -R
Downloading 2.6.6-rc2-mm1.bz2
--21:14:01--  http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.6-rc2/
2.6.6-rc2-mm1/2.6.6-rc2-mm1.bz2
           => `/home/jandrews/.ketchup/2.6.6-rc2-mm1.bz2.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 358,646 [application/x-bzip2]
 
100%[====================================>] 358,646      142.14K/s    ETA 00:00
 
21:14:03 (142.14 KB/s) - `/home/jandrews/.ketchup/2.6.6-rc2-mm1.bz2.partial' saved [358646/358646]
 
Downloading 2.6.6-rc2-mm1.bz2.sign
--21:14:03--  http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.6-rc2/
2.6.6-rc2-mm1/2.6.6-rc2-mm1.bz2.sign
           => `/home/jandrews/.ketchup/2.6.6-rc2-mm1.bz2.sign.partial'
Resolving www.kernel.org... done.
Connecting to www.kernel.org[204.152.189.116]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 248 [application/pgp-signature]
 
100%[====================================>] 248          242.19K/s    ETA 00:00
 
21:14:04 (242.19 KB/s) - `/home/jandrews/.ketchup/2.6.6-rc2-mm1.bz2.sign.partial' saved [248/248]
 
Verifying signature...
gpg: Signature made Wed 21 Apr 2004 04:40:06 AM EDT using DSA key ID 517D0F0E
gpg: Good signature from "Linux Kernel Archives Verification Key "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
Applying 2.6.6-rc2-mm1.bz2
[jandrews@papaya linux-tip]$

After the above tests, the following files were cached in ~/.ketchup:

[jandrews@papaya linux-tip]$ ls -l ~/.ketchup/
total 42792
-rw-rw-r--    1 jandrews jandrews   358646 Apr 21 04:25 2.6.6-rc2-mm1.bz2
-rw-rw-r--    1 jandrews jandrews      248 Apr 21 04:25 2.6.6-rc2-mm1.bz2.sign
-rw-------    1 jandrews jandrews 33240033 Jan 30 00:31 linux-2.6.1.tar.bz2
-rw-rw-r--    1 jandrews jandrews  2322327 Feb  3 23:02 patch-2.6.2.bz2
-rw-rw-r--    1 jandrews jandrews      248 Feb  3 23:02 patch-2.6.2.bz2.sign
-rw-rw-r--    1 jandrews jandrews  2053488 Feb 17 23:36 patch-2.6.3.bz2
-rw-rw-r--    1 jandrews jandrews      248 Feb 17 23:36 patch-2.6.3.bz2.sign
-rw-rw-r--    1 jandrews jandrews  2262429 Mar 10 22:16 patch-2.6.4.bz2
-rw-rw-r--    1 jandrews jandrews      248 Mar 10 22:16 patch-2.6.4.bz2.sign
-rw-rw-r--    1 jandrews jandrews  1420240 Apr  3 23:17 patch-2.6.5.bz2
-rw-rw-r--    1 jandrews jandrews      248 Apr  3 23:17 patch-2.6.5.bz2.sign
-rw-rw-r--    1 jandrews jandrews   103407 Apr 24 07:45 patch-2.6.6-rc2-bk3.bz2
-rw-rw-r--    1 jandrews jandrews      248 Apr 24 07:45 patch-2.6.6-rc2-bk3.bz2.sign
-rw-rw-r--    1 jandrews jandrews  1948496 Apr 20 18:17 patch-2.6.6-rc2.bz2
-rw-rw-r--    1 jandrews jandrews      248 Apr 20 18:17 patch-2.6.6-rc2.bz2.sign
[jandrews@papaya linux-tip]$

From: Matt Mackall [email blocked]
To: linux-kernel [email blocked]
Subject: [ANNOUNCE] ketchup 0.7
Date: 	Sat, 24 Apr 2004 16:17:32 -0500

ketchup is a script that automatically patches between kernel
versions, downloading and caching patches as needed, and automatically
determining the latest versions of several trees. Available at:

 http://selenic.com/ketchup/ketchup-0.7

New in this version by popular demand:

- handles empty directories:
  if you run ketchup in an empty directory, it'll search its cache for
  a tarball nearest to the version specified and unpack that before
  patching, downloading a new tarball if none is available
- uses wget if available, with resume support
- uses gpg if available (disable with -G)
- archive, kernel-url, and work directory command line parameters
- cleaned up option parsing
- elimination of more Python 2.3isms (tested against 2.1)
- support for Martin Bligh's -mjb tree

Example usage:

 $ ketchup 2.6-mm
 2.6.3-rc1-mm1 -> 2.6.5-mm4
 Applying 2.6.3-rc1-mm1.bz2 -R
 Applying patch-2.6.3-rc1.bz2 -R
 Applying patch-2.6.3.bz2
 Applying patch-2.6.4.bz2
 Applying patch-2.6.5.bz2
 Downloading 2.6.5-mm4.bz2
 Downloading 2.6.5-mm4.bz2.sign
 Verifying signature...
 gpg: Signature made Sat Apr 10 21:55:36 2004 CDT using DSA key ID 517D0F0E
 gpg: Good signature from "Linux Kernel Archives Verification Key
 [email blocked]"
 gpg:                 aka "Linux Kernel Archives Verification Key
 [email blocked]"
 owner.
 gpg: WARNING: This key is not certified with a trusted signature!
 gpg:          There is no indication that the signature belongs to the
 Primary key fingerprint: C75D C40A 11D7 AF88 9981  ED5B C86B A06A 517D 0F0E
 Applying 2.6.5-mm4.bz2

-- 
Matt Mackall : http://www.selenic.com : Linux development and consulting


Related Links:

Slick as snot.

Anonymous
on
April 25, 2004 - 12:14am

As they say..... Laziness is the mother of invention.

Laziness

Anonymous
on
April 25, 2004 - 8:31am

Exactly...
I'm even too lazy to get this not-so-useful script, I prefer to click on links on kernel.org :o)

Support for reversing patches?

on
April 26, 2004 - 1:11am

It'd be cooler and more useful for me if it could automatically detect install patches and reverse them so that it could change kernel patchsets.

Start: 2.6.6-rc2-bk3 -> Reverse patch: Pristine 2.6.5 -> New Patch: 2.6.6 -> Final Patch: 2.6.6-rc2-mm1

Something like this would probably require ketchup to be used all along so that it know what's currently been applied (I wouldn't mind that). At the moment, I tend to just wipe the entire tree (saving .config), grab the latest main kernel tarball and start patching all over again from there.

It seems to be able to do tha

on
April 26, 2004 - 7:34am

It seems to be able to do that already, see the latest example. Two patches are reversed there (the -R option).

Size checking

Anonymous
on
May 3, 2004 - 6:03pm

Can it handle working out whether it is more efficient to download all the separate patches, or to get the full kernel source instead?

EG, say I have a 2.4.1 kernel source in my ~/.ketchup archive. It's going to be quicker (less bandwidth consumed) to get the full kernel for 2.4.26, than it is to get each patch on the way up. In this case, I'd like it to grab the latest tarball instead of patching up, but if it had say 2.4.18 there instead, it'd probably be quicker to grab the patches.

I'd quite like to see something like this used in gentoo, where they get the full kernel each time. Fairly irritating behaviour.

will this work for redhat's fedora releases ?

Anonymous
on
May 18, 2004 - 10:48am

will this work for redhat's fedora releases ?
after all redhat/fedora does do things slightly diffenrent.

ketchup-0.9.6 seems to think

Anonymous (not verified)
on
April 24, 2006 - 11:33pm

ketchup-0.9.6 seems to think kernel 2.6.16.9 is newer than 2.6.16.11 if I run ketchup 2.6 it says there is nothing to do but the latest stable kernel is 2.6.16.11. If I apply 2.6.16.11 patch then run ketchup 2.6 it will reverse the patch back to 2.6.16.9. I upgraded to ketchup-0.9.7 and that gave me weird errors:
ketchup: Can't find kernel version for non-empty directory

Can't find anywhere to post bugs for ketchup so I thought I'd try here.

ketchup-0.9.6

Anonymous (not verified)
on
May 9, 2006 - 12:17am

ketchup-0.9.8 seems to have corrected this problem. Kudos to Matt Mackall.

Open Mosix ketchup

on
July 2, 2006 - 1:13pm

Open Mosixits often neglected on pachbase

and they have thier own pach tree outside of kernels .org
linux-2.6.12-openmosix-r577

http://openmosix.snarc.org/wakka.php?wiki=GetTheSource

[ ] patch-2.6.15-om-1.bz2 04-Apr-2006 10:39 43K
[ ] patch-2.6.15-xen-om-..> 04-Apr-2006 10:39 807K

Anyhow affter adding the mosix patches ; kernel.org >> Inject newer paches

unfortunaly ketchup dosent understand openmosix to well.

Gentoo's blessing is also it's curse updates eat compile time
open mosix alows for distributed parelel prossesing add distcc to the mix floppy boot some the home pc's and vala got a cluster to help run the updates ; in a work enviorment can cluster many sytems to act as one.

just the openmoisx ppl keep thier pach trees badly out of date and gentoo rarely bothers to update to stable pachsets too.

anytips on seting up a ketchup profile for Openmosix would be handy

so far i have my old laptop and an old junk server for tesing configs
from under grad Information security Bachlors tract
crappy P3 but for batching distcc and om for compile speedups would be handy.

Incomplete error description.

StylusEater (not verified)
on
September 8, 2007 - 8:29am

I know your comment is quite old but that error reflects you trying to run the script from a non-empty directory. Please create a new directory, change to it, then run the ketchup program from within that directory.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.