IcedTea-Web HEAD distcheck broken
Dr Andrew John Hughes
ahughes at redhat.com
Thu Aug 25 14:25:31 PDT 2011
On 10:20 Thu 25 Aug , Jiri Vanek wrote:
> On 08/25/2011 01:54 AM, Dr Andrew John Hughes wrote:
> > I haven't done a build for a while, but was inspired to check when replying to
> > Deepak's OpenBSD e-mail. It seems distcheck is now broken with IcedTea-Web
> > HEAD:
> >
> > rm: cannot remove `/home/andrew/builder/icedtea-web/icedtea-web-1.2pre/_build/tests.build/netx/unit/net/sourceforge/jnlp/application/application0.jnlp': Permission denied
> > rm: cannot remove `/home/andrew/builder/icedtea-web/icedtea-web-1.2pre/_build/tests.build/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp': Permission denied
> > make[1]: *** [clean-netx-unit-tests] Error 1
> >
> > Not sure about the branches.
>
> distcheck is generated target and is removing permissions from its running directory. chmod -R a-w $(distdir); chmod a+w $(distdir). Because of this permissions eg test reports are not generated.
That's deliberate to catch errors like this. make distcheck makes the source tree read only.
> I have myself never run this test (and I'm afraid no one have run this target during this year). Written checking targets are 'make check' for unit test and 'make run-netx-dist-tests' for reproducers tests.
It SHOULD be being run at least before every release. We always did
with GNU Classpath and I have with IcedTea7. It did work when
IcedTea-Web was first created. You can check the logs to see the
changesets I added to fix this. With something as small as
IcedTea-Web, there's no reason it shouldn't be run for every change to
the build. It ensures it builds with a clean source tree in a
separate build directory, relative to the source tree, without
altering the source tree.
>
> However,attached patch [RFC] should fix both issues.
>
> J.
> --- Makefile.am-old 2011-08-25 08:35:30.100367000 +0200
> +++ Makefile.am 2011-08-25 10:05:11.780122124 +0200
> @@ -574,17 +574,18 @@
> rm -f junit-runner-source-files.txt
> rm -rf $(JUNIT_RUNNER_DIR)
> rm -f $(JUNIT_RUNNER_JAR)
>
> clean-netx-unit-tests: clean_tests_reports
> + if [ -e $(abs_top_builddir) ] ; then chmod -R a+w $(abs_top_builddir) ; fi;
> rm -f netx-unit-tests-source-files.txt
> rm -rf $(NETX_UNIT_TEST_DIR)
> rm -f stamps/netx-unit-tests-compile.stamp
>
> clean_tests_reports:
> - rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/
> - rm -f $(TESTS_DIR)/index*.html
> + -rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/
> + -rm -f $(TESTS_DIR)/index*.html
>
> clean-netx-dist-tests: clean_tests_reports
> rm -f netx-dist-tests-source-files.txt
> rm -rf $(JNLP_TESTS_DIR)
> rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR)
This fix is incorrect. You shouldn't be applying write permission to the entire build
directory and that's not the problem anyway. You're copying files from the source
tree, but not fixing their permissions.
--
Andrew :)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37
More information about the distro-pkg-dev
mailing list