Source: ocaml Version: 4.13.1-4 Severity: minor Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-sab-20230813 ftbfs-source-after-build User: debian...@lists.debian.org Usertags: qa-doublebuild
Hi, This package fails to build a source package after a successful build (dpkg-buildpackage ; dpkg-buildpackage -S). This is probably a clear violation of Debian Policy section 4.9 (clean target), but this is filed as severity:minor for now, because a discussion on debian-devel showed that we might want to revisit the requirement of a working 'clean' target. More information about this class of issues, included common problems and solutions, is available at https://wiki.debian.org/qa.debian.org/FTBFS/SourceAfterBuild Relevant part of the build log: > cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage --sanitize-env > -us -uc -rfakeroot -S > ------------------------------------------------------------------------------------------------------------------ > > dpkg-buildpackage: info: source package ocaml > dpkg-buildpackage: info: source version 4.13.1-4 > dpkg-buildpackage: info: source distribution unstable > dpkg-buildpackage: info: source changed by Stéphane Glondu > <glo...@debian.org> > dpkg-source --before-build . > debian/rules clean > dh clean > debian/rules override_dh_auto_clean > make[1]: Entering directory '/<<PKGBUILDDIR>>' > /usr/bin/make clean > make[2]: Entering directory '/<<PKGBUILDDIR>>' > /usr/bin/make -C testsuite clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/testsuite' > /bin/sh: 1: /<<PKGBUILDDIR>>/testsuite: Permission denied > make[4]: Entering directory '/<<PKGBUILDDIR>>/testsuite/lib' > rm -f *.cm* *.o *.obj *.a *.lib > make[4]: Leaving directory '/<<PKGBUILDDIR>>/testsuite/lib' > make[4]: Entering directory '/<<PKGBUILDDIR>>/testsuite/tools' > rm -f *.cm* *.o *.obj > rm -f expect_test expect_test.exe codegen codegen.exe > rm -f parsecmm.ml parsecmm.mli lexcmm.ml > make[4]: Leaving directory '/<<PKGBUILDDIR>>/testsuite/tools' > find . -name '*_ocamltest*' | xargs rm -rf > rm -f failure.stamp > make[3]: Leaving directory '/<<PKGBUILDDIR>>/testsuite' > cd toplevel/byte ; rm -f topeval.mli trace.mli topmain.mli topeval.cmi > trace.cmi topmain.cmi > cd toplevel/native ; rm -f topeval.mli trace.mli topmain.mli topeval.cmi > trace.cmi topmain.cmi > rm -f compilerlibs/ocamlcommon.cma > rm -f compilerlibs/ocamlcommon.cmxa \ > compilerlibs/ocamlcommon.a compilerlibs/ocamlcommon.lib > rm -f compilerlibs/ocamlbytecomp.cma > rm -f compilerlibs/ocamlbytecomp.cmxa \ > compilerlibs/ocamlbytecomp.a compilerlibs/ocamlbytecomp.lib > rm -f compilerlibs/ocamlmiddleend.cma \ > compilerlibs/ocamlmiddleend.cmxa \ > compilerlibs/ocamlmiddleend.a \ > compilerlibs/ocamlmiddleend.lib > rm -f compilerlibs/ocamloptcomp.cma > rm -f compilerlibs/ocamloptcomp.cmxa \ > compilerlibs/ocamloptcomp.a compilerlibs/ocamloptcomp.lib > rm -f compilerlibs/ocamltoplevel.cma > rm -f compilerlibs/ocamltoplevel.cmxa \ > compilerlibs/ocamltoplevel.a compilerlibs/ocamltoplevel.lib > rm -f utils/config.ml utils/domainstate.ml utils/domainstate.mli > rm -f flexlink.opt > rm -rf ocamlc > rm -f ocamlopt > rm -f ocaml > rm -f parsing/lexer.ml > rm -f ocamlc.opt > rm -f ocamlopt.opt > rm -f lambda/runtimedef.ml > rm -f asmcomp/emit.ml > rm -f expunge > /usr/bin/make -C stdlib clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/stdlib' > rm -f sys.ml > rm -f camlheader target_camlheader camlheader_ur camlheaderd > target_camlheaderd camlheaderi target_camlheaderi > rm -f *.cm* *.o *.obj *.a *.lib *.odoc > rm -rf flexdll > make[3]: Leaving directory '/<<PKGBUILDDIR>>/stdlib' > /usr/bin/make -C lex clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/lex' > rm -f ocamllex ocamllex.opt ocamllex.exe ocamllex.opt.exe > rm -f *.cmo *.cmi *.cmx *.cmt *.cmti *.o *.obj > rm -f parser.ml parser.mli parser.output > rm -f lexer.ml > make[3]: Leaving directory '/<<PKGBUILDDIR>>/lex' > rm -f \ > parsing/parser.ml parsing/parser.mli \ > parsing/camlinternalMenhirLib.ml parsing/camlinternalMenhirLib.mli \ > parsing/parser.automaton parsing/parser.conflicts \ > parsing/parser.auto.messages \ > > /usr/bin/make -C ocamltest clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/ocamltest' > rm -rf ocamltest ocamltest.exe ocamltest.opt ocamltest.opt.exe > rm -rf run_unix.o run_win32.o run_stubs.o run_unix.obj run_win32.obj > run_stubs.obj > rm -rf ocamltest_config.o ocamltest_unix.o ocamltest_stdlib.o run_command.o > filecompare.o variables.o environments.o result.o actions.o tests.o strace.o > tsl_ast.o tsl_parser.o tsl_lexer.o modifier_parser.o tsl_semantics.o > builtin_variables.o actions_helpers.o builtin_actions.o ocaml_backends.o > ocaml_filetypes.o ocaml_variables.o ocaml_modifiers.o ocaml_directories.o > ocaml_files.o ocaml_flags.o ocaml_commands.o ocaml_tools.o ocaml_compilers.o > ocaml_toplevels.o ocaml_actions.o ocaml_tests.o options.o main.o > ocamltest_config.obj ocamltest_unix.obj ocamltest_stdlib.obj run_command.obj > filecompare.obj variables.obj environments.obj result.obj actions.obj > tests.obj strace.obj tsl_ast.obj tsl_parser.obj tsl_lexer.obj > modifier_parser.obj tsl_semantics.obj builtin_variables.obj > actions_helpers.obj > builtin_actions.obj ocaml_backends.obj ocaml_filetypes.obj > ocaml_variables.obj ocaml_modifiers.obj ocaml_directories.obj ocaml_files.obj > ocaml_flags.obj ocaml_commands.obj ocaml_tools.obj ocaml_compilers.obj > ocaml_toplevels.obj ocaml_actions.obj ocaml_tests.obj options.obj main.obj > rm -rf ocamltest_config.cmi ocamltest_unix.cmi ocamltest_stdlib.cmi > run_command.cmi filecompare.cmi variables.cmi environments.cmi result.cmi > actions.cmi tests.cmi strace.cmi tsl_ast.cmi tsl_parser.cmi tsl_lexer.cmi > modifier_parser.cmi tsl_semantics.cmi builtin_variables.cmi > actions_helpers.cmi builtin_actions.cmi ocaml_backends.cmi > ocaml_filetypes.cmi ocaml_variables.cmi ocaml_modifiers.cmi > ocaml_directories.cmi ocaml_files.cmi ocaml_flags.cmi ocaml_commands.cmi > ocaml_tools.cmi ocaml_compilers.cmi ocaml_toplevels.cmi ocaml_actions.cmi > ocaml_tests.cmi options.cmi main.cmi > rm -rf ocamltest_config.cmo ocamltest_unix.cmo ocamltest_stdlib.cmo > run_command.cmo filecompare.cmo variables.cmo environments.cmo result.cmo > actions.cmo tests.cmo strace.cmo tsl_ast.cmo tsl_parser.cmo tsl_lexer.cmo > modifier_parser.cmo tsl_semantics.cmo builtin_variables.cmo > actions_helpers.cmo builtin_actions.cmo ocaml_backends.cmo > ocaml_filetypes.cmo ocaml_variables.cmo ocaml_modifiers.cmo > ocaml_directories.cmo ocaml_files.cmo ocaml_flags.cmo ocaml_commands.cmo > ocaml_tools.cmo ocaml_compilers.cmo ocaml_toplevels.cmo ocaml_actions.cmo > ocaml_tests.cmo options.cmo main.cmo > rm -rf ocamltest_config.cmx ocamltest_unix.cmx ocamltest_stdlib.cmx > run_command.cmx filecompare.cmx variables.cmx environments.cmx result.cmx > actions.cmx tests.cmx strace.cmx tsl_ast.cmx tsl_parser.cmx tsl_lexer.cmx > modifier_parser.cmx tsl_semantics.cmx builtin_variables.cmx > actions_helpers.cmx builtin_actions.cmx ocaml_backends.cmx > ocaml_filetypes.cmx ocaml_variables.cmx ocaml_modifiers.cmx > ocaml_directories.cmx ocaml_files.cmx ocaml_flags.cmx ocaml_commands.cmx > ocaml_tools.cmx ocaml_compilers.cmx ocaml_toplevels.cmx ocaml_actions.cmx > ocaml_tests.cmx options.cmx main.cmx > rm -rf ocamltest_unix.ml ocamltest_config.ml tsl_lexer.ml tsl_parser.mli > tsl_parser.ml tsl_parser.output > rm -f ocamltest.html > rm -rf .dep > make[3]: Leaving directory '/<<PKGBUILDDIR>>/ocamltest' > /usr/bin/make -C ocamldoc clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/ocamldoc' > rm -f \#*\# > rm -f ocamldoc ocamldoc.opt ocamldoc.exe ocamldoc.opt.exe > rm -f *.cma *.cmxa *.cmo *.cmi *.cmx *.cmt *.cmti *.a *.lib *.o *.obj > rm -f odoc_parser.output odoc_text_parser.output > rm -f odoc_lexer.ml odoc_text_lexer.ml odoc_see_lexer.ml odoc_ocamlhtml.ml > rm -f odoc_parser.ml odoc_parser.mli odoc_text_parser.ml odoc_text_parser.mli > rm -f generators/*.cm[taiox] generators/*.a generators/*.lib generators/*.o > generators/*.obj \ > generators/*.cmx[as] > make[3]: Leaving directory '/<<PKGBUILDDIR>>/ocamldoc' > /usr/bin/make -C api_docgen clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/api_docgen' > rm -rf build odoc/build ocamldoc/build > make[3]: Leaving directory '/<<PKGBUILDDIR>>/api_docgen' > /usr/bin/make -C otherlibs partialclean > make[3]: Entering directory '/<<PKGBUILDDIR>>/otherlibs' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/bigarray' > rm -f *.cm* > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/bigarray' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/dynlink' > rm -f extract_crc *.cm[ioaxt] *.cmti *.cmxa \ > byte/*.cm[iot] byte/*.cmti \ > native/*.cm[ixt] native/*.cmti native/*.o native/*.obj \ > dynlink_compilerlibs/*.cm[ioaxt] dynlink_compilerlibs/*.cmti \ > dynlink_compilerlibs/*.o dynlink_compilerlibs/*.obj > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/dynlink' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/str' > rm -f *.cm* > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/str' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/systhreads' > rm -f *.cm* > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/systhreads' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/unix' > rm -f *.cm* > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/unix' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/win32unix' > rm -f *.cm* > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/win32unix' > make[3]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs' > /usr/bin/make -C debugger clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/debugger' > rm -f ocamldebug ocamldebug.exe > rm -f *.cmo *.cmi > rm -f debugger_lexer.ml > rm -f debugger_parser.ml debugger_parser.mli > make[3]: Leaving directory '/<<PKGBUILDDIR>>/debugger' > /usr/bin/make -C tools clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/tools' > rm -f ocamldep ocamlprof ocamlcp ocamloptp ocamlmklib ocamlmktop ocamlcmt > dumpobj ocamlobjinfo primreq stripdebug cmpbyt ocamldep.exe ocamlprof.exe > ocamlcp.exe ocamloptp.exe ocamlmklib.exe ocamlmktop.exe ocamlcmt.exe > dumpobj.exe ocamlobjinfo.exe primreq.exe stripdebug.exe cmpbyt.exe > rm -f ocamldep.opt ocamlprof.opt ocamlcp.opt ocamloptp.opt ocamlmklib.opt > ocamlmktop.opt ocamlcmt.opt dumpobj.opt ocamlobjinfo.opt primreq.opt > stripdebug.opt cmpbyt.opt ocamldep.opt.exe ocamlprof.opt.exe ocamlcp.opt.exe > ocamloptp.opt.exe ocamlmklib.opt.exe ocamlmktop.opt.exe ocamlcmt.opt.exe > dumpobj.opt.exe ocamlobjinfo.opt.exe primreq.opt.exe stripdebug.opt.exe > cmpbyt.opt.exe > rm -f cvt_emit.ml cvt_emit cvt_emit.exe > rm -f opnames.ml make_opcodes make_opcodes.exe make_opcodes.ml > rm -f -- lintapidiff.opt lintapidiff.opt.exe > rm -f lintapidiff.cm? lintapidiff.o lintapidiff.obj > rm -f -- caml-tex caml-tex.exe caml_tex.cm? > rm -f *.cmo *.cmi *.cma *.dll *.so *.lib *.a > make[3]: Leaving directory '/<<PKGBUILDDIR>>/tools' > rm -f asmcomp/arch.ml asmcomp/proc.ml asmcomp/CSE.ml asmcomp/selection.ml > asmcomp/scheduling.ml asmcomp/reload.ml > rm -f ocamlnat ocamlnat.exe > rm -f bytecomp/opcodes.ml > rm -f bytecomp/opcodes.mli > for d in utils parsing typing bytecomp asmcomp middle_end file_formats \ > lambda middle_end/closure middle_end/flambda \ > middle_end/flambda/base_types \ > driver toplevel toplevel/byte toplevel/native tools; do \ > rm -f $d/*.cm[ioxt] $d/*.cmti $d/*.annot $d/*.s $d/*.asm \ > $d/*.o $d/*.obj $d/*.so $d/*.dll; \ > done > rm -f expunge ocaml ocamlc ocamlc.opt ocamlnat ocamlopt ocamlopt.opt > expunge.exe ocaml.exe ocamlc.exe ocamlc.opt.exe ocamlnat.exe ocamlopt.exe > ocamlopt.opt.exe > /usr/bin/make -C runtime clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/runtime' > rm -f *.o *.obj *.a *.lib *.so *.dll ld.conf > rm -f ocamlrun ocamlrund ocamlruni ocamlruns sak > rm -f ocamlrun.exe ocamlrund.exe ocamlruni.exe ocamlruns.exe sak.exe > rm -f primitives primitives.new prims.c caml/opnames.h caml/version.h > caml/jumptbl.h build_config.h > rm -f domain_state*.inc > rm -rf .dep > make[3]: Leaving directory '/<<PKGBUILDDIR>>/runtime' > rm -f stdlib/libcamlrun.a stdlib/libcamlrun.lib > rm -f stdlib/libasmrun.a stdlib/libasmrun.lib > /usr/bin/make -C yacc clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/yacc' > rm -f ocamlyacc ocamlyacc.exe wstr.o wstr.obj version.h \ > closure.o error.o lalr.o lr0.o main.o mkpar.o output.o reader.o > skeleton.o symtab.o verbose.o warshall.o closure.obj error.obj lalr.obj > lr0.obj main.obj mkpar.obj output.obj reader.obj skeleton.obj symtab.obj > verbose.obj warshall.obj > make[3]: Leaving directory '/<<PKGBUILDDIR>>/yacc' > /usr/bin/make -C otherlibs clean > make[3]: Entering directory '/<<PKGBUILDDIR>>/otherlibs' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/bigarray' > rm -f *.cm* > rm -f *.dll *.so *.a *.lib *.o *.obj > rm -rf .dep > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/bigarray' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/dynlink' > rm -f extract_crc *.cm[ioaxt] *.cmti *.cmxa \ > byte/*.cm[iot] byte/*.cmti \ > native/*.cm[ixt] native/*.cmti native/*.o native/*.obj \ > dynlink_compilerlibs/*.cm[ioaxt] dynlink_compilerlibs/*.cmti \ > dynlink_compilerlibs/*.o dynlink_compilerlibs/*.obj > rm -f extract_crc extract_crc.exe > rm -f *.a *.lib *.o *.obj *.so *.dll dynlink_platform_intf.mli \ > dynlink_compilerlibs/*.ml dynlink_compilerlibs/*.mli > dynlink_compilerlibs/Makefile \ > dynlink_compilerlibs/.depend byte/dynlink.mli native/dynlink.mli > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/dynlink' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/str' > rm -f *.cm* > rm -f *.dll *.so *.a *.lib *.o *.obj > rm -rf .dep > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/str' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/systhreads' > rm -f *.cm* > rm -f dllthreads*.so dllthreads*.dll *.a *.lib *.o *.obj > rm -rf .dep > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/systhreads' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/unix' > rm -f *.cm* > rm -f *.dll *.so *.a *.lib *.o *.obj > rm -rf .dep > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/unix' > make[4]: Entering directory '/<<PKGBUILDDIR>>/otherlibs/win32unix' > rm -f *.cm* > rm -f *.dll *.so *.a *.lib *.o *.obj > rm -rf .dep > rm -f access.c addrofstr.c chdir.c chmod.c cst2constr.c cstringv.c execv.c > execve.c execvp.c mkdir.c exit.c getaddrinfo.c getcwd.c gethost.c > gethostname.c getnameinfo.c getproto.c getserv.c gmtime.c mmap_ba.c putenv.c > rmdir.c socketaddr.c strofaddr.c time.c unlink.c fsync.c unix.mli > unixLabels.mli unixLabels.ml > make[4]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs/win32unix' > make[3]: Leaving directory '/<<PKGBUILDDIR>>/otherlibs' > make[2]: Leaving directory '/<<PKGBUILDDIR>>' > /usr/bin/make -f /<<PKGBUILDDIR>>/debian/ocamlinit.mk ocamlinit-clean > make[2]: Entering directory '/<<PKGBUILDDIR>>' > rm -f ocamlinit-stamp debian/ld.conf debian/ocaml-base.postinst > debian/ocaml-base.prerm debian/ocaml-source.install > debian/ocaml.lintian-overrides debian/ocaml.manpages > make[2]: Leaving directory '/<<PKGBUILDDIR>>' > if test -d boot.debian; then \ > rm -Rf boot; \ > mv boot.debian boot; \ > fi > set -e; for ext in sub guess; do \ > if [ -f debian/config.orig.$ext ] ; then \ > mv -f debian/config.orig.$ext build-aux/config.$ext; \ > fi; \ > done > rm -Rf debian/ocaml-source-4.13.1.tar debian/test-build > make[1]: Leaving directory '/<<PKGBUILDDIR>>' > dh_clean > dpkg-source -b . > dpkg-source: info: using source format '3.0 (quilt)' > dpkg-source: info: building ocaml using existing ./ocaml_4.13.1.orig.tar.gz > dpkg-source: info: using patch list from debian/patches/series > dpkg-source: warning: ignoring deletion of file > testsuite/tests/lib-threads/sockets.reference, use --include-removal to > override > dpkg-source: warning: ignoring deletion of file > testsuite/tests/lib-threads/sockets.ml, use --include-removal to override > dpkg-source: warning: ignoring deletion of directory > testsuite/tests/tool-debugger/find-artifacts > dpkg-source: warning: ignoring deletion of file > testsuite/tests/tool-debugger/find-artifacts/input_script, use > --include-removal to override > dpkg-source: warning: ignoring deletion of file > testsuite/tests/tool-debugger/find-artifacts/debuggee.ml, use > --include-removal to override > dpkg-source: warning: ignoring deletion of file > testsuite/tests/tool-debugger/find-artifacts/debuggee.reference, use > --include-removal to override > dpkg-source: warning: ignoring deletion of directory > testsuite/tests/tool-debugger/find-artifacts/in > dpkg-source: warning: ignoring deletion of file > testsuite/tests/tool-debugger/find-artifacts/in/blah.ml, use > --include-removal to override > dpkg-source: warning: ignoring deletion of file > testsuite/tests/tool-debugger/find-artifacts/in/foo.ml, use --include-removal > to override > dpkg-source: warning: executable mode 0755 of 'config.status' will not be > represented in diff > dpkg-source: warning: executable mode 0755 of 'libtool' will not be > represented in diff > dpkg-source: info: local changes detected, the modified files are: > ocaml-4.13.1/Makefile.build_config > ocaml-4.13.1/Makefile.config > ocaml-4.13.1/config.log > ocaml-4.13.1/config.status > ocaml-4.13.1/configure > ocaml-4.13.1/libtool > ocaml-4.13.1/runtime/caml/m.h > ocaml-4.13.1/runtime/caml/s.h > ocaml-4.13.1/testsuite/_log > ocaml-4.13.1/tools/eventlog_metadata > dpkg-source: error: aborting due to unexpected upstream changes, see > /tmp/ocaml_4.13.1-4.diff.aWfK_7 > dpkg-source: info: Hint: make sure the version in debian/changelog matches > the unpacked source tree > dpkg-source: info: you can integrate the local changes with dpkg-source > --commit > dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 2 > > E: Command 'cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage > --sanitize-env -us -uc -rfakeroot -S' failed to run. The full build log is available from: http://qa-logs.debian.net/2023/08/13/ocaml_4.13.1-4_unstable.log If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.