On Mon, 2005-06-27 at 01:59 +0300, Marius Feraru wrote: > The hack suggested in [3] ("%check || :" _after_ %install) and the > testing done determined that this %check is done after %install (sort of > "%__spec_install_post"). > > So, here come my issues: > a) Maybe I really don't get it (reading [2] again and again), but it > seems more appropiate to append this %check to %build (or even prepend > it to %install), but I see no point for doing it _after_ %install. The Max-RPM hack suggests placing "%check || :" after %install, because that's the order rpmbuild >= 4.2 also runs the two in, no matter what their order is in the specfile. Off the cuff, I guess that the install-before-check order is because non-well-behaving test suites may modify/add/remove files in the build root which can affect what files get installed by the %install section. Which is obviously not acceptable. Can you come up with a generic case where running the test suite before doing the staged install would be useful? I cannot at the moment. > b) What is the "easy" way to disable %check? "--define 'check exit 0'" > doesn't sound as "easy" as e.g. "--without check". Right, but it doesn't have to be easy :) Just make it a habit to disable the test suite only when _absolutely_ necessary. In those rare cases, the --define way should not be too "hard", and keeps the specfile (very) slightly more readable. If a test suite of a package does or requires something that is not appropriate (taking into account all situations where it might be run in, generic/minimal build roots and personal workstations or desktops etc.), report a bug against the package. > Ok, b) is more like a rant or something, but a) bothers me a lot. Before > knowing about this %check, I was adding a %{!?_without_test:make test} > to the %build script and this seems good enough for me. Why should I > "upgrade" to using this %check script? Mileages vary, but I'd suggest at least running the test suite after %install, no matter what way you choose. Also, conditionalizing the build on a "--without test" or the like will obviously work only for that particular package, whereas "--define 'check exit 0'" should work for all packages that use %check, which are the majority already of ones that run test suites in the first place. Personally, I usually use the %check section just as is. In cases the test suite requires or does something inappropriate, I just write the "make test" and friends in the %check section, but comment them out along with a note stating why. Or add a "--with tests" flag that enables the test suite if it can be configured properly in the build root, but I don't remember ever adding a "--without tests" flag, nor using "--define 'check exit 0'", nor do I plan to do either :) -- Fedora-packaging mailing list Fedora-packaging@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-packaging