[oe] checksums situation

Yuri Bushmelev jay4mail at gmail.com
Sat Feb 14 14:51:50 UTC 2009


Hello!

[skipped]
> What do you think? Which way we should go? Do you have other ideas?

Well, I can suggest scheme that is very like one created in FreeBSD ports
(I just working with it about 8 years).

In recipe directory part and filename part of SRC_URI are stored separate.
E.g. we can continue storing directory part in SRC_URI but introduce new
variable to store filename part (e.g. DISTFILES - we can have more than
one source file per package).

Example:
# Source directories/mirrors:
SRC_URI = "${SOURCEFORGE_MIRROR}/zziplib/ http://somesite/~user/";
# Filename
DISTFILES = "zziplib-${PV}.tar.bz2 zziplib_extra-${PV}.tar.bz2"

Then we can use words in DISTFILES as keys to checking checksums.

But I don't see any good way to store checksums for multiple files in
recipe. We can't use this:

MD5SUM_zziplib-${PV}.tar.bz2="a6538f6c44ceeed0ed7e8e356f444168"

because of possible some special chars in file name.
We can possible use arrays:

MD5SUM["zziplib-${PV}.tar.bz2"]="a6538f6c44ceeed0ed7e8e356f444168"

but seems that no one uses arrays in recipes.

Other way is using some predefined functions via ${@bb.data....}

Or we can store all checksums in separate file per package directory
(like manifest in gentoo or distinfo in FreeBSD).

E.g. distinfo of russian xmms port from FreeBSD:

MD5 (xmms-1.2.11.tar.bz2) = f3e6dbaf0b3f571a532ab575656be506
SHA256 (xmms-1.2.11.tar.bz2) = 7ec15c56632b6c82e61ccddeaefd372359af2f005708a58cdf3951c574b20390
SIZE (xmms-1.2.11.tar.bz2) = 2581032
MD5 (RusXMMS2-csa41.tar.bz2) = 7d89f35c80849dae89b81cbb57026e57
SHA256 (RusXMMS2-csa41.tar.bz2) = e64df1956502e48c09ca60262efb7f1953a76d82a70c801e4797ca81e130e8d0
SIZE (RusXMMS2-csa41.tar.bz2) = 96642

Links:
1. FreeBSD Porter's Handbook: http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/index.html

-- 
Yuri Bushmelev




More information about the Openembedded-devel mailing list