Opened 3 years ago
Closed 16 months ago
#6300 closed enhancement (fixed)
Do not include source/test_root.cpp in the source archive
Reported by: | Ludovic Rousseau | Owned by: | Stan |
---|---|---|---|
Priority: | Should Have | Milestone: | Alpha 27 |
Component: | Build & Packages | Keywords: | |
Cc: | Patch: | Phab:D4895 |
Description
The archive https://releases.wildfiregames.com/0ad-0.0.25b-alpha-unix-build.tar.xz contains the file source/test_root.cpp This file is a generated file.
My problem is that the file is erased by build/workspaces/update-workspaces.sh https://trac.wildfiregames.com/browser/ps/trunk/build/workspaces/update-workspaces.sh#L141
So when I build the Debian package I have an error because after the directory is "cleaned" the file has disappeared and the Debian build tool complains the file is missing compared to the original source code.
For Debian I have removed the file but it would be nice if you stop distributing it upstream. https://salsa.debian.org/games-team/0ad/-/commit/b48b9a6129af5e8a88b59b24c17e041c2cf92ff1
Change History (8)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
I could build with --without-tests
but I don't think that would solve the problem.
I have:
$ gbp buildpackage dh clean debian/rules override_dh_auto_clean make[1]: Entering directory '/home/rousseau/Debian/0ad' build/workspaces/clean-workspaces.sh Cleaning bundled third-party dependencies... make[2]: Entering directory '/home/rousseau/Debian/0ad/build/premake/premake5/build/gmake2.bsd' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. Cleaning Premake5 Cleaning lua-lib Cleaning luashim-lib Cleaning zlib-lib Cleaning zip-lib Cleaning mbedtls-lib Cleaning curl-lib Cleaning example Cleaning luasocket make[2]: Leaving directory '/home/rousseau/Debian/0ad/build/premake/premake5/build/gmake2.bsd' make[2]: Entering directory '/home/rousseau/Debian/0ad/build/premake/premake5/build/gmake2.macosx' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. Cleaning Premake5 Cleaning lua-lib Cleaning luashim-lib Cleaning zlib-lib Cleaning zip-lib Cleaning mbedtls-lib Cleaning curl-lib Cleaning example Cleaning luasocket make[2]: Leaving directory '/home/rousseau/Debian/0ad/build/premake/premake5/build/gmake2.macosx' make[2]: Entering directory '/home/rousseau/Debian/0ad/build/premake/premake5/build/gmake2.unix' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. Cleaning Premake5 Cleaning lua-lib Cleaning luashim-lib Cleaning zlib-lib Cleaning zip-lib Cleaning mbedtls-lib Cleaning curl-lib Cleaning example Cleaning luasocket make[2]: Leaving directory '/home/rousseau/Debian/0ad/build/premake/premake5/build/gmake2.unix' Removing generated test files... Cleaning build output... Done. Try running update-workspaces.sh again now. # Clean up some extra cruft not picked up by clean-workspaces.sh find binaries/system/ -type f ! -name readme.txt -delete rm -f libraries/fcollada/lib/*.a rm -f build/premake/.*.tmp rm -rf libraries/source/spidermonkey/lib rm -f libraries/source/cxxtest-4.4/python/cxxtest/*.pyc rm -f libraries/source/fcollada/lib/* rm -rf libraries/source/spidermonkey/include-unix-* rm -rf libraries/source/spidermonkey/mozjs-78.6.0 rm -f libraries/source/nvtt/lib/*.so rm -f source/ps/tests/stub_impl_hack.cpp dh_auto_clean make[1]: Leaving directory '/home/rousseau/Debian/0ad' dh_clean gbp:error: You have uncommitted changes in your source tree: gbp:error: On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) deleted: source/test_root.cpp no changes added to commit (use "git add" and/or "git commit -a") gbp:error: Use --git-ignore-new to ignore.
The problem occurs at the clean stage. The Debian script is available at https://salsa.debian.org/games-team/0ad/-/blob/master/debian/rules#L21
The clean stage should not remove files that are provided upstream. At least that indicates a problem somewhere.
PS: the build/workspaces/clean-workspaces.sh
script could also remove the files we remove in the Debian script. They are:
# Clean up some extra cruft not picked up by clean-workspaces.sh find binaries/system/ -type f ! -name readme.txt -delete rm -f libraries/fcollada/lib/*.a rm -f build/premake/.*.tmp rm -rf libraries/source/spidermonkey/lib rm -f libraries/source/cxxtest-4.4/python/cxxtest/*.pyc rm -f libraries/source/fcollada/lib/* rm -rf libraries/source/spidermonkey/include-unix-* rm -rf libraries/source/spidermonkey/mozjs-78.6.0 rm -f libraries/source/nvtt/lib/*.so rm -f source/ps/tests/stub_impl_hack.cpp
comment:3 by , 3 years ago
We will do some improvements for A26 https://code.wildfiregames.com/rP25871
I guess something might be missing there though https://trac.wildfiregames.com/browser/ps/trunk/build/workspaces/clean-workspaces.sh
comment:4 by , 2 years ago
Milestone: | Alpha 26 → Alpha 27 |
---|
comment:6 by , 16 months ago
Milestone: | Backlog → Alpha 27 |
---|---|
Patch: | → Phab:D4895 |
comment:7 by , 16 months ago
Owner: | set to |
---|
Can you compile with --without-tests ?