On Wed, Dec 23, 2009 at 04:17:09PM +0200, Kirill A. Shutemov wrote: > 2009/12/22 Alexey Tourbin : > > On Tue, Dec 22, 2009 at 09:18:49PM +0300, Dmitry V. Levin wrote: > >> On Tue, Dec 22, 2009 at 11:05:56AM +0300, Alexey Tourbin wrote: > >> [...] > >> > http://git.altlinux.org/people/at/packages/girar-builder.git > >> > 642af655  gb-task-check-noarch-i: force noarch by extensional equality > >> [...] > >> > 3) Cannot make arch package with identical files and deps. > >> > E.g. cannot make arch perl module which should be noarch. > >> > > >> > [at@people 17774]$ PATH=~/git.alt/girar-builder:$PATH gb-task-check-noarch-i 5 > >> > error (#5): perl-Net-IP-1.25-alt2.i586.rpm should be noarch > >> > >> This restriction looks too hard.  How many packages in current > >> repository would fail to pass the check? > > > > Why do you think it's too hard?  Basically, it says "if the list > > of files is the same, and ***md5 sums*** are identical, and deps > > are identical, the package must be noarch then". > > I don't think that it's a good idea. > > There are only two architectures in Sisyphus - i586 and x86_64, > which are similar. It's not enough to be sure, that package is > really noarch. Can you specify a package (from the list) which is identical on i586 and x86_64, but should not be made noarch because it assumes e.g. little-endian architecture? > I think we should postpone the idea untill Sisyphus will have at > least one non-x86 arch and one big-endian arch. i586 and x86_64 are "different enough" except for endianness. Look how they are different: 1) file paths are different (lib - lib64); 2) native binaries are different (elf32 - elf64); 3) sizeof(void*) == sizeof(long) is different. How they are common: 1) sizeof(int) is the same (32 bit), 2) both are little endian. Which means that certain host data structures (and thus certain binary file formats) might have the same representation.