Re[2]: [Slapt-get-user] md5 checksum for kernel-ide is not correct!

Jason Woodward slapt-get-user@software.jaos.org
Fri, 09 Jan 2004 15:32:36 -0500


--boundary-1073661468
Content-Type: text/plain
Content-Length: 3942
Lines: 84
Content-Transfer-Encoding: 8bit

Hi Mamading,

> > 
> > Can you email me copies of your checksum and packages.txt (gzip'd up and offlist)?
> > 
> 
> Here you go!

You have conflicting information specified.  Here is the kernel-ide entry within PACKAGES.TXT:

PACKAGE NAME:  kernel-ide-2.4.24-i486-1.tgz
PACKAGE LOCATION:  ./patches/packages
PACKAGE SIZE (compressed):  1354 K
PACKAGE SIZE (uncompressed):  1400 K
PACKAGE DESCRIPTION:
kernel-ide: kernel-ide (Linux kernel without SCSI controller support)
kernel-ide:
kernel-ide: A Linux kernel for computers that do not need SCSI support. You MUST
kernel-ide: install a kernel image in order for your system to boot. This kernel
kernel-ide: supports IDE hard drives and IDE CD-ROM drives.  Other drivers (such
kernel-ide: as for CD-ROM drives on proprietary interfaces, or ethernet cards)
kernel-ide: may be loaded as modules.  See /etc/rc.d/rc.modules for examples.
kernel-ide:

and here is the lines from CHECKSUMS.md5:

a7409a91a5ca288b96490ac4e19e20c9  ./packages/kernel-ide-2.4.24-i486-1.tgz
9e4bd29030d793af8df018db05382a99  ./packages/kernel-ide-2.4.24-i486-1.tgz.asc
f09a2607a6692fb9cdbc9f899e2a74a4  ./packages/kernel-ide-2.4.24-i486-1.txt

Yes, the MD5 checksums are correct (and I have committed a change to cvs to give a more sane
warning that the MD5 checksum could not be looked up, rather than simply it being wrong,
thanks) but the get_md5sum() function tries to match the entry with the pkg location, pkg name,
and pkg version.  So looking closer to the data you have in your package source:

# emphasis added with []
PACKAGE LOCATION:  [./patches/packages]
a7409a91a5ca288b96490ac4e19e20c9  [./packages/]kernel-ide-2.4.24-i486-1.tgz

Those two strings are used for the package location, and they won't match.  So the function
happily continues on, looking for a match.  I left that initialized variable empty and didn't
add a check to see if it was empty.  There will be a check in the next version to fix this. 

At any rate, you want to make sure your directory structure mirrors the locations specified, or
if you are generating the CHECKSUM and PACKAGES files, update the script you are using to do so.


Hope this helps... take care,
jason

--
Jason Woodward
woodwardj@jaos.org

-----BEGIN PGP PUBLIC KEY BLOCK-----
mQGiBDrwHPoRBAC3nDJRLKTcFcJWid9PN08ChMI7tuQevomWoVeZpZZ0zzip2w/E
ts55Mx58eRRGFFmgZZGeP7EhyUPzb668LIsU62gFO7G5/oWCr3U3g3peabZsqRC9
FchdiM8DJqQu/7ryAjbQ4OFCSW+jAsMC3tKXrdaB48WiipiXUcKR/sONGwCgzGPf
yxDgOc7n9xWVH0qbUDC/vZsEAKvbckkhpe9/x2A4E15l6DUbliEmboeHiT9NJaok
vLo3ElSO1o6ld5+VhFIkhRmmovrS8oyttZNv8HjMEYf6L3NdZybTHfcdS5EIpguH
Xx2/IGzJKbgX3vM/qhJ0+F1LPuN20mOT0NO/29AXJn3V7rTKoKf/uOOKD+Eqh4r1
QVMoBAC3ZPF3idmuW3j4tqhOaWe2qHlLwEClwdsTG+KOsVYh1sU4RvyMErDIU6r/
MomkLAJfbtBTXKcknW68Y4Uv4B+UkyopklktRBFiMBffoHLUfkkQk/L9Yg1YG27N
COsECiamylF8hNSTcNIQqYXDpyoRcSi2p7gqkxJZrk7GwrX2ObQjSmFzb24gV29v
ZHdhcmQgPHdvb2R3YXJkakBqYW9zLm9yZz6IVwQTEQIAFwUCOvAc+gULBwoDBAMV
AwIDFgIBAheAAAoJEGu22odUp/oeN2IAoKHS+qH8AenlOTKL0Ifl3q1QSlDBAKDL
bvvgl7HoRTHY2b9n3pEPr+KIh7kBDQQ68Bz9EAQA2Ds/2VKc08qaNIkA1okxITmQ
aaNjUrm/au9jNzm9lyEFXWXBNegzP5Y4A1ESDKUt5RETgVhNKd9mGkP7tgPTs3f6
Z595K6W7xeZWONKbl578RbWwE1CiMqEOuXwr1/q0DzfwmNQLcqDcX3o0DEpWE+uZ
G+5CtpkXYiDmccigDKMAAwUD/iZDxEr1HC4iLnGXUCDpxXEtp7Fx150baFzZITns
4hpKRAbTR65s2tL8rh5d8ThDgqW5C9JQja9fMxI2u7zlyM2ALFXJP1xwgZTSOYvn
sq+x41i5tJpce+pDmMEl8X0wew2Z5ZRPfDLv64kKPIGNgVXsAHirH2KjChZat4VC
qkZciEYEGBECAAYFAjrwHP0ACgkQa7bah1Sn+h7qkQCePz0ds5O/dsZrm450pjLs
2V3BkMAAn2/6alBBC9b9F94svdOf0mGY/G5w
=4p8c
-----END PGP PUBLIC KEY BLOCK-----

my($c,@s)=(0,qw( | / - \ ));$|++;my$p;&{sub{map{$p.=chr$_}
unpack(join('a',('',split(//,$_->[1]))),$_->[0]);}}foreach
[qw/74117115116 2333/],[qw/65110111116104101114 2333333/],
[qw/80101114108 2333/],[qw/729799107101114 222333/];{my$z=
$c<4?$s[$c++]:$s [$c=0];printf"\ec%s%s%s",$z,$p,$z,select*
STDOUT,*STDOUT,*STDOUT,0.1,;redo;}##########JAPH##########

--boundary-1073661468
Return-Path: <linux@evangineer.force9.co.uk>
Received: from mta07-svc.ntlworld.com (mta07-svc.ntlworld.com [62.253.162.47])
	by jaos.org (8.12.5/8.12.5/Debian-1) with ESMTP id i09HZ3rU006737
	for <woodwardj@jaos.org>; Fri, 9 Jan 2004 12:35:37 -0500
Received: from sothis.example.net ([80.1.167.13]) by mta07-svc.ntlworld.com
          (InterMail vM.4.01.03.37 201-229-121-137-20020806) with SMTP
          id <20040109173156.UHHS2588.mta07-svc.ntlworld.com@sothis.example.net>
          for <woodwardj@jaos.org>; Fri, 9 Jan 2004 17:31:56 +0000
Date: Fri, 9 Jan 2004 17:31:54 +0000
From: Mamading Ceesay <linux@evangineer.force9.co.uk>
To: woodwardj@jaos.org
Subject: Re: [Slapt-get-user] md5 checksum for kernel-ide is not correct!
Message-Id: <20040109173154.6de7870f@sothis.example.net>
In-Reply-To: <mailbox-2331-1073650700@jaos.org>
References: <mailbox-2331-1073650700@jaos.org>
X-Mailer: Sylpheed version 0.9.8claws (GTK+ 1.2.10; i686-pc-linux-gnu)
Mime-Version: 1.0
Status: RO
Content-Type: multipart/mixed;
 boundary="Multipart=_Fri__9_Jan_2004_17_31_54_+0000_dz6S7FGTQkNDfwVB"
Content-Length: 15350
Lines: 221

This is a multi-part message in MIME format.
--Multipart=_Fri__9_Jan_2004_17_31_54_+0000_dz6S7FGTQkNDfwVB
Content-Type: text/plain; charset="us-ascii"
Content-Length: 381
Lines: 14
Content-Transfer-Encoding: 8bit

On Fri, 09 Jan 2004 12:02:28 -0500
Jason Woodward <woodwardj@jaos.org> wrote:

> 
> Can you email me copies of your checksum and packages.txt (gzip'd up and offlist)?
> 

Here you go!

-- 
Mamading Ceesay - SCO delenda est! - http://www.scocountdown.com
Essential reading for all computer users: 
http://www.cl.cam.ac.uk/%7Erja14/tcpa-faq.htm
http://www.fipr.org/intellectual.html
--Multipart=_Fri__9_Jan_2004_17_31_54_+0000_dz6S7FGTQkNDfwVB
Content-Type: application/octet-stream;
 name="pkgdata.tgz"
Content-Length: 14444
Lines: 188
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="pkgdata.tgz"

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
--Multipart=_Fri__9_Jan_2004_17_31_54_+0000_dz6S7FGTQkNDfwVB--
--boundary-1073661468--