Mageia ISO check script ======================= Test suite for ISOs built for Mageia. All ISOs should pass this test suite after being built, before being released. - License: GPL-2+ - Authors: - Damien Lallement <dams@mageia.org> - Romain d'Alverny <rda@mageia.org> - Code: [svn://svn.mageia.org/svn/soft/isocheck](http://svnweb.mageia.org/soft/isocheck) - [Documentation](https://wiki.mageia.org/en/Isocheck) Usage ----- If packaged: $ su # isocheck path/to/your/Mageia-x-i586.iso ...logs... If straight from source: $ su # perl -Ilib ./isocheck.pl path/to/your/Mageia-x-i586.iso ... logs ... Returns 0 in case of success (and last line of log starts with "PASS"). Returns a positive integer otherwise (and last line of log starts with "FAIL"). Features -------- It tests for: - availability of all components needed ((signed) checksums, indexes, lists), - ISO file name correctness, - file size according to its declaration, - MD5 and SHA1 checksums, - ISO headers correctness, - burnable, hybrid ISO, - depending on the type of image, it tests for the presence of autorun, correctly signed packages and various bits. Requirements ------------ User running this script must be able to mount an ISO image. Depends on: - cdrkit, cdrkit-isotools - gpg - Perl - File::Basename - MDK::Common - TAP::Harness - TAP::Parser::Aggregator; - Test::Most TODO ---- - fix t_install_iso tests (ids, idx, rpms, pubkey - especially cauldron/stable) - script should properly manage other types of ISOs: * separate tests that are generic from those that are Mageia-specific * move specific tests into t/{name}/*.t - script should be run by a non-root user that can sudo mount - check all RPM from list are on the ISO - check all excluded RPMS are not on the ISO - check pubkey on each media - check the Theme available on the ISO - check the mandriva-release version on the ISO - check DKMS are sync with kernel on ISO - check product.id on the ISO (vendor=Mandriva,distribution=Mandriva Linux,type=basic,version=Mandriva,branch=official,release=0.1,arch=x86_64,product=public - check releases_notes on the ISO - package it - wrap it to produce automatic reports after BCD - think of grepping the project source for TODO or FIXME too Style ----- - 4 spaces indent, no tab