Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
On 04/19/2015 01:40 AM, Paul Wise wrote: I don't intend to sponsor this but here are some further comments: I've addressed most of the comments on the initial package, and uploaded a new version. To access further information about this package, please visit the following URL: http://mentors.debian.net/package/endless-sky Alternatively, one can download the package with dget using this command: dget -x http://mentors.debian.net/debian/pool/main/e/endless-sky/endless-sky_0.7.10-1.dsc More information about Endless Sky can be obtained from https://endless-sky.github.io. Changes since the last upload: * Build system should now import environment variables, e.g. for hardening. * Creative Commons licenses are now included. * Updated standards version to 3.9.6. * No longer requires SSE support. * Ran wrap-and-sort on the debian files. * Links switched from http to https whenever possible. * Added a README.sources giving a link to the source files for artwork. * Moved the source code files into a separate source/ directory. * When run, shows errors in a message box, not just the terminal. * Made the OpenGL 3.0 requirement explicit in the package description. * Addressed warnings from codespell, cppcheck, flawfinder, and scan-build. * Dependencies now list multiple options for libpng and libjpeg-turbo. * Various bug fixes and usability improvements. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
Michael Zahniser mzahni...@gmail.com writes: I agree that having the source for all the graphics available for anyone to view or modify is important. But I can't just export from Blender files: for the 3D images, I touched them up by hand in GIMP after rendering them, adding texture, scuff marks, color variation, and random shadows and highlights. That was to make them look dirty and worn rather than pristine and artificial. Similarly, a lot of the photos have been retouched, e.g. shifting the colors to make them look more like alien landscapes. That means that the source files include many large GIMP files, and add up to over 3 GB. That's large enough that I think it's better for the image source files to be available separately rather than including them in the main source distribution. (I could add a line to the read-me giving a link to the current location (Google drive) of those files.) I predict that Google Drive can and will go down sooner than you think, with little advance warning. You should never rely on services provided by an entity with a history of breaking running systems like Google. See http://web.archive.org/web/20071020051936/http://iq.org/#Selfdestructingpaper: A spy opens an envelope. Inside is a thin sheet of paper with a cryptic message. After it is read the paper spontaneously bursts into flames. The message is the communicable distillation of your hopes, dreams and imagination. The paper is the internet. The internet is self destructing paper. A place where anything written is soon destroyed by rapacious competition and the only preservation is to forever copy writing from sheet to sheet faster than they can burn. If it's worth writing, it's worth keeping. If it can be kept, it might be worth writing. Would your store your brain in a startup company's vat? If you store your writing on a 3rd party site like blogger, livejournal or even on your own site, but in the complex format used by blog/wiki software de jour you will lose it forever as soon as hypersonic wings of internet labor flows direct people's energies elsewhere. For most information published on the internet, perhaps that is not a moment to soon, but how can the muse of originality soar when immolating transience brushes every feather? -- Nils Dagsson Moskopp // erlehmann http://dieweltistgarnichtso.net pgp3DisJ3fJch.pgp Description: PGP signature
Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
Thanks for the feedback, Paul! That codespell program is a really helpful tool that I had not known about before. The build process does print all the build commands, and would also print compiler warnings (at the -Wall level) if there were any. Is that sufficient, or are you saying I need the g++ -v option that prints dozens of lines of information for each file that it compiles? I agree that having the source for all the graphics available for anyone to view or modify is important. But I can't just export from Blender files: for the 3D images, I touched them up by hand in GIMP after rendering them, adding texture, scuff marks, color variation, and random shadows and highlights. That was to make them look dirty and worn rather than pristine and artificial. Similarly, a lot of the photos have been retouched, e.g. shifting the colors to make them look more like alien landscapes. That means that the source files include many large GIMP files, and add up to over 3 GB. That's large enough that I think it's better for the image source files to be available separately rather than including them in the main source distribution. (I could add a line to the read-me giving a link to the current location (Google drive) of those files.) -Michael On 04/19/2015 01:40 AM, Paul Wise wrote: On Sun, Apr 19, 2015 at 4:33 AM, James Cowgill wrote: On Sat, 2015-04-18 at 14:31 -0400, Michael Zahniser wrote: Dear mentors, I am looking for a sponsor for my package endless-sky. Here are some comments: I don't intend to sponsor this but here are some further comments: As you are upstream too, please read through these documents: https://wiki.debian.org/UpstreamGuide http://www.freedesktop.org/wiki/Games/Upstream/ Personally I would choose any build system other than scons; I would recommend autotools or cmake. The debian/endless-sky.install files can be reduced to this: debian/endless-sky.install usr/games usr/share/applications usr/share/man usr/share/icons debian/control: I'd suggest running `wrap-and-sort -sa` so that diffs of debian/control are more readable. Firefox/Iceweasel say the homepage is insecure as it mixes http content into a http page. If you change the links to images to https instead of http that should fix it. images/asteroid/ images/outfit/ images/planet/station*.png images/ship endless-sky.iconset/ look like they were automatically rendered from 3D models. It would be a good idea to include the 3D models in the source code. Bonus points for removing the automatically rendered images from the VCS and source code zip file and having them rendered from the 3D model at build time. images/font/ubuntu*r.png, images/_menu/title.png and images/label look like they are text rendered from fonts. It would be much better to render these from TrueType/OpenType fonts at runtime, as this would enable translators to convert the user-interface to their language. If you don't want to do that, then these images should be rendered at build time. If the fonts are in Debian you should depend (or build-depend) on them, if they are not then they should be packaged separately. Personally I would have done the cropping/editing for images/land/* and images/scene automatically at build time, in case you want to adjust the cropping/effects in the future or make them higher resolution. Some files in images/ui/ say they were produced in Inkscape. If you didn't throw away the SVG files, please include them in the source. Bonus points for removing the automatically rendered images from the VCS and source code zip file and having them rendered from the SVG files at build time. Some files in images/land/ say they were produced in the GIMP. If you didn't throw away the XCF files, please include them in the source. Bonus points for removing the automatically rendered images from the VCS and source code zip file and having them rendered from the XCF files at build time. You might want to move the *.cpp files to a src/ or source/ directory. I'd suggest using https in URLs where possible. Everything except the libjpeg-turbo and sourceforge links and probably the URLs in the plist files should work with https. The build process should be verbose (print all the commands and compiler output) but is not. The game crashes on my system: $ endless-sky #version 120 uniform vec2 scale; uniform vec2 position; uniform int glyph; in vec2 vert; in vec2 corner; out vec2 texCoord; void main() { texCoord = vec2((glyph + corner.x) / 96.f, corner.y); gl_Position = vec4((vert + position) * scale, 0, 1); } 0:5(1): error: `in' qualifier in declaration of `vert' only valid for function parameters in GLSL 1.20 0:6(1): error: `in' qualifier in declaration of `corner' only valid for function parameters in GLSL 1.20 0:7(1): error: `out' qualifier in declaration of `texCoord' only valid for function parameters in GLSL 1.20 Shader compilation failed. terminate called without an active exception Aborted (core
Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
On Mon, Apr 20, 2015 at 1:00 AM, Michael Zahniser wrote: The build process does print all the build commands, and would also print compiler warnings (at the -Wall level) if there were any. Is that sufficient, or are you saying I need the g++ -v option that prints dozens of lines of information for each file that it compiles? Hmm, I deleted the build log already but from memory I couldn't see any compiler commands in the output. I agree that having the source for all the graphics available for anyone to view or modify is important. But I can't just export from Blender files: for the 3D images, I touched them up by hand in GIMP after rendering them, adding texture, scuff marks, color variation, and random shadows and highlights. That was to make them look dirty and worn rather than pristine and artificial. Similarly, a lot of the photos have been retouched, e.g. shifting the colors to make them look more like alien landscapes. That means that the source files include many large GIMP files, and add up to over 3 GB. That's large enough that I think it's better for the image source files to be available separately rather than including them in the main source distribution. (I could add a line to the read-me giving a link to the current location (Google drive) of those files.) What you have written here is interesting information, it would be great if you could mention it in more detail in the README or another file in git. I'm guessing you didn't record exactly the steps in GIMP that you took? Personally I would have tried to script the editing to allow for easy adjustment in future. Without having seen the source files, I'm not sure what further advice to give, but depending on the situation it might be possible to reduce the size using different formats. I agree this is a lot of data and probably couldn't be uploaded to Debian. There is a vague plan for a way to fix that but it isn't coming any time soon. https://wiki.debconf.org/wiki/Miniconf-UK/2013/data.debian.org https://dsa.debian.org/hardware-wishlist/ Please do add information about how to get the source files for the images. Like Nils, I too would suggest adding more mirrors of the source files for the images, a torrent site and archive.org at minimum and possibly also Amazon S3/Glacier, sourceforge and any other sites you can think of. It might also be interesting to look at IPFS. http://ipfs.io/ If you haven't already, it might be a good idea to put the source files for the images into git-annex to track where the mirrors are and detect bit-rot. You could push the git-annex repo to github. -- bye, pabs https://wiki.debian.org/PaulWise -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
Package: sponsorship-requests Severity: wishlist Dear mentors, I am looking for a sponsor for my package endless-sky. * Package name: endless-sky Version : 0.7.9-1 Upstream Author : Michael Zahniser mzahni...@gmail.com * URL : http://endless-sky.github.io * License : GPL-3+, CC-BY-SA-3.0, CC-BY-SA-4.0 Section : games It builds these binary packages: endless-sky - Space exploration and combat game. endless-sky-data - Data files for Endless Sky. To access further information about this package, please visit the following URL: http://mentors.debian.net/package/endless-sky Alternatively, one can download the package with dget using this command: dget -x http://mentors.debian.net/debian/pool/main/e/endless-sky/endless-sky_0.7.9-1.dsc More information about endless-sky can be obtained from http://endless-sky.github.io . Changes since the last upload: * Initial release. (Closes: #782846) Regards, Michael Zahniser -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
On Sat, 2015-04-18 at 14:31 -0400, Michael Zahniser wrote: Dear mentors, I am looking for a sponsor for my package endless-sky. Here are some comments: build: The build passes -msse4.1 to g++. This will fail on non-x86 arches and produce binaries which don't work without sse 4.1 processors on x86 arches. debian/control: libjpeg-turbo8-dev does not exist in debian, try libjpeg-dev Latest standards version is 3.9.6 debian/copyright: You need copies of CC-BY-SA-3.0 and CC-BY-3.0 debian/rules: You should not hardcode -j4 in the rules file. Use the value given in DEB_BUILD_OPTIONS 'parallel' instead (see policy 4.9.1). Lintian output: W: endless-sky: hardening-no-relro usr/games/endless-sky I: endless-sky: hardening-no-fortify-functions usr/games/endless-sky I: endless-sky: description-synopsis-might-not-be-phrased-properly I: endless-sky: hyphen-used-as-minus-sign usr/share/man/man6/endless-sky.6.gz:7 I: endless-sky: desktop-entry-lacks-keywords-entry usr/share/applications/endless-sky.desktop I: endless-sky-data: description-synopsis-might-not-be-phrased-properly P: endless-sky: no-upstream-changelog P: endless-sky-data: no-upstream-changelog The warning should be fixed. That one is usually caused by the build system ignoring custom CFLAGS/CXXFLAGS/etc. The others would be nice to fix as well but are not essential. Otherwise, the package looks good - I'm not a DD though so I can't upload the package for you when it's done. Thanks, James signature.asc Description: This is a digitally signed message part
Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
Thanks for the quick feedback! If SSE 4.1 is not acceptable, is it possible to at least depend on SSE 3? I use some SSE intrinsics to optimize geometric calculations. Should I modify the code so those instructions are used only if a special command line option is given? That would mean all the official packages would be un-optimized, even though all i386 and amd64 processors from the last decade support SSE 3. For libjpeg, right now I use the JCS_EXT_BGRA option (converting to 32-bit BGRA color when decoding JPEGs). The reason I specified libpeg-turbo is because other libjpeg implementations may not include that extension. (But, I see that libjpeg-turbo is the default implementation of libjpeg on Debian, anyway.) Is it safe to just specify plain libjpeg as the dependency? -Michael On 04/18/2015 04:33 PM, James Cowgill wrote: On Sat, 2015-04-18 at 14:31 -0400, Michael Zahniser wrote: Dear mentors, I am looking for a sponsor for my package endless-sky. Here are some comments: build: The build passes -msse4.1 to g++. This will fail on non-x86 arches and produce binaries which don't work without sse 4.1 processors on x86 arches. debian/control: libjpeg-turbo8-dev does not exist in debian, try libjpeg-dev Latest standards version is 3.9.6 debian/copyright: You need copies of CC-BY-SA-3.0 and CC-BY-3.0 debian/rules: You should not hardcode -j4 in the rules file. Use the value given in DEB_BUILD_OPTIONS 'parallel' instead (see policy 4.9.1). Lintian output: W: endless-sky: hardening-no-relro usr/games/endless-sky I: endless-sky: hardening-no-fortify-functions usr/games/endless-sky I: endless-sky: description-synopsis-might-not-be-phrased-properly I: endless-sky: hyphen-used-as-minus-sign usr/share/man/man6/endless-sky.6.gz:7 I: endless-sky: desktop-entry-lacks-keywords-entry usr/share/applications/endless-sky.desktop I: endless-sky-data: description-synopsis-might-not-be-phrased-properly P: endless-sky: no-upstream-changelog P: endless-sky-data: no-upstream-changelog The warning should be fixed. That one is usually caused by the build system ignoring custom CFLAGS/CXXFLAGS/etc. The others would be nice to fix as well but are not essential. Otherwise, the package looks good - I'm not a DD though so I can't upload the package for you when it's done. Thanks, James -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
On Sat, 2015-04-18 at 18:02 -0400, Michael Zahniser wrote: Thanks for the quick feedback! If SSE 4.1 is not acceptable, is it possible to at least depend on SSE 3? I use some SSE intrinsics to optimize geometric calculations. Should I modify the code so those instructions are used only if a special command line option is given? That would mean all the official packages would be un-optimized, even though all i386 and amd64 processors from the last decade support SSE 3. Nope you can't assume SSE 3 is present. You can only assume SSE 2 and only on amd64 (not i386). If you want to use something newer, you can use a command line option like you said, or do runtime cpu detection. For libjpeg, right now I use the JCS_EXT_BGRA option (converting to 32-bit BGRA color when decoding JPEGs). The reason I specified libpeg-turbo is because other libjpeg implementations may not include that extension. (But, I see that libjpeg-turbo is the default implementation of libjpeg on Debian, anyway.) Is it safe to just specify plain libjpeg as the dependency? Ah I didn't know you used that - you can use libjpeg62-turbo-dev if you specifically want libjpeg-turbo. James On 04/18/2015 04:33 PM, James Cowgill wrote: On Sat, 2015-04-18 at 14:31 -0400, Michael Zahniser wrote: Dear mentors, I am looking for a sponsor for my package endless-sky. Here are some comments: build: The build passes -msse4.1 to g++. This will fail on non-x86 arches and produce binaries which don't work without sse 4.1 processors on x86 arches. debian/control: libjpeg-turbo8-dev does not exist in debian, try libjpeg-dev Latest standards version is 3.9.6 debian/copyright: You need copies of CC-BY-SA-3.0 and CC-BY-3.0 debian/rules: You should not hardcode -j4 in the rules file. Use the value given in DEB_BUILD_OPTIONS 'parallel' instead (see policy 4.9.1). Lintian output: W: endless-sky: hardening-no-relro usr/games/endless-sky I: endless-sky: hardening-no-fortify-functions usr/games/endless-sky I: endless-sky: description-synopsis-might-not-be-phrased-properly I: endless-sky: hyphen-used-as-minus-sign usr/share/man/man6/endless-sky.6.gz:7 I: endless-sky: desktop-entry-lacks-keywords-entry usr/share/applications/endless-sky.desktop I: endless-sky-data: description-synopsis-might-not-be-phrased-properly P: endless-sky: no-upstream-changelog P: endless-sky-data: no-upstream-changelog The warning should be fixed. That one is usually caused by the build system ignoring custom CFLAGS/CXXFLAGS/etc. The others would be nice to fix as well but are not essential. Otherwise, the package looks good - I'm not a DD though so I can't upload the package for you when it's done. Thanks, James signature.asc Description: This is a digitally signed message part
Bug#782847: RFS: endless-sky/0.7.9-1 [ITP]
On Sun, Apr 19, 2015 at 4:33 AM, James Cowgill wrote: On Sat, 2015-04-18 at 14:31 -0400, Michael Zahniser wrote: Dear mentors, I am looking for a sponsor for my package endless-sky. Here are some comments: I don't intend to sponsor this but here are some further comments: As you are upstream too, please read through these documents: https://wiki.debian.org/UpstreamGuide http://www.freedesktop.org/wiki/Games/Upstream/ Personally I would choose any build system other than scons; I would recommend autotools or cmake. The debian/endless-sky.install files can be reduced to this: debian/endless-sky.install usr/games usr/share/applications usr/share/man usr/share/icons debian/control: I'd suggest running `wrap-and-sort -sa` so that diffs of debian/control are more readable. Firefox/Iceweasel say the homepage is insecure as it mixes http content into a http page. If you change the links to images to https instead of http that should fix it. images/asteroid/ images/outfit/ images/planet/station*.png images/ship endless-sky.iconset/ look like they were automatically rendered from 3D models. It would be a good idea to include the 3D models in the source code. Bonus points for removing the automatically rendered images from the VCS and source code zip file and having them rendered from the 3D model at build time. images/font/ubuntu*r.png, images/_menu/title.png and images/label look like they are text rendered from fonts. It would be much better to render these from TrueType/OpenType fonts at runtime, as this would enable translators to convert the user-interface to their language. If you don't want to do that, then these images should be rendered at build time. If the fonts are in Debian you should depend (or build-depend) on them, if they are not then they should be packaged separately. Personally I would have done the cropping/editing for images/land/* and images/scene automatically at build time, in case you want to adjust the cropping/effects in the future or make them higher resolution. Some files in images/ui/ say they were produced in Inkscape. If you didn't throw away the SVG files, please include them in the source. Bonus points for removing the automatically rendered images from the VCS and source code zip file and having them rendered from the SVG files at build time. Some files in images/land/ say they were produced in the GIMP. If you didn't throw away the XCF files, please include them in the source. Bonus points for removing the automatically rendered images from the VCS and source code zip file and having them rendered from the XCF files at build time. You might want to move the *.cpp files to a src/ or source/ directory. I'd suggest using https in URLs where possible. Everything except the libjpeg-turbo and sourceforge links and probably the URLs in the plist files should work with https. The build process should be verbose (print all the commands and compiler output) but is not. The game crashes on my system: $ endless-sky #version 120 uniform vec2 scale; uniform vec2 position; uniform int glyph; in vec2 vert; in vec2 corner; out vec2 texCoord; void main() { texCoord = vec2((glyph + corner.x) / 96.f, corner.y); gl_Position = vec4((vert + position) * scale, 0, 1); } 0:5(1): error: `in' qualifier in declaration of `vert' only valid for function parameters in GLSL 1.20 0:6(1): error: `in' qualifier in declaration of `corner' only valid for function parameters in GLSL 1.20 0:7(1): error: `out' qualifier in declaration of `texCoord' only valid for function parameters in GLSL 1.20 Shader compilation failed. terminate called without an active exception Aborted (core dumped) Automated checks: https://anonscm.debian.org/cgit/collab-maint/check-all-the-things.git $ codespell --quiet-level=3 lots of spelling errors $ cme check dpkg ... Warning in 'control source Build-Depends:2' value 'g++ (=4.6)': unnecessary versioned dependency: g++ = 4.6. Debian has squeeze - 4:4.4.5-1; wheezy - 4:4.6.3-8; wheezy - 4:4.7.2-1; jessie - 4:4.9.2-2; sid - 4:4.9.2-2; experimental - 4:4.9.2-7; experimental - 4:5-3; Warning in 'control source Build-Depends:4' value 'libpng12-dev': This dependency is deprecated and should be replaced with libpng-dev. See BTS 650601 for details Warning in 'control source Build-Depends:5' value 'libjpeg-turbo8-dev': package libjpeg-turbo8-dev is unknown. Check for typos if not a virtual package. Warning in 'control source Standards-Version' value '3.9.5': Current standards version is 3.9.6 ... $ cppcheck -j1 --quiet -f . | grep -vF 'cppcheck: error: could not find or open any of the paths given.' [DrawList.cpp:100]: (error) Member variable 'clip' is initialized by itself. [Point.cpp:250]: (error) Member variable 'v' is initialized by itself. [Ship.cpp:90]: (error) Possible null pointer dereference: gov $ fdupes -q -r . ./debian/copyright ./copyright ./images/projectile/skylance+.png ./images/effect/quarg anti missile+0.png ./images/star/g0.png