Re: Please sponsor my game bug=923180
Hello Markus,
This has been a great learning experience!
I've applied most of the changes you asked and uploaded them.
I think it's a bit closer to being debian friendly.
When building on Ubuntu 16.04 I only get 2 Warnings but there are many
more on the package page after uploading the changes file.
Thank you,
Pedro
--------------------------------------------
On Thu, 2/28/19, Markus Koschany <apo@debian.org> wrote:
Subject: Re: Please sponsor my game bug=923180
To: "Pedro Pena" <qbancoffee@yahoo.com>
Cc: debian-devel-games@lists.debian.org
Date: Thursday, February 28, 2019, 4:54 PM
Hello Pedro,
Am 24.02.19 um 21:50 schrieb Pedro Pena:
> Hello,
>
> I would like to request a sponsor to test
and upload my game.
>
> I have uploaded a game and submitted an
RFS set to ITP.
>
>
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923180
>
>
> Thank you,
>
> Pedro
I
wanted to give you some feedback for your package
infinitetux. There
are some issues that have
to be resolved first before we can think about
uploading it.
Let's start with the more important
things.
= prebuilt software
without source =
You have
to remove the infinite-tux-linux_64bit.zip file from your
upstream tarball. You don't need to provide
precompiled JDK class files
in Debian
because you can just depend on our default-jre package
which
will provide all necessary
functionality. In any case in Debian we build
everything from source and package different
libraries or applications
in different
packages and prebuilt software without source can't
be
uploaded.
= copyright =
You should document the original license of the
game in
debian/copyright. Using copyright
format 1.0 was a good choice and the
syntax
is correct. However the original license was not GPL-3+ and
your
newly created content was also derived
from other sources with different
licenses.
So ideally it would be like that:
Files: *
Copyright: 2006,
Markus Persson
License: public-domain
License: public-domain
Here goes all the license text
Please mention the full
license text from Markus Persson including a
link to the original unmodified sources even if
it is public-domain we
need to document it.
Our ftp team, who approves or disapproves new
Debian packages, should be able to verify the
claim that the game code
was really granted
to the public domain.
Then
you can add more paragraphs for the actual content:
Files: vim
src/main/resources/bgsheet.png
Copyright:
2014, some guy
License: CC-BY-SA-3.0
License: CC-BY-SA-3.0
Here goes the license text of the CC-BY-SA-3.0
license
If you have created
a derived work you can add yourself to Copyright too.
The debian paragraph
Files: debian/*
Copyright: Copyright 2018 qbancoffee <qbancoffee@yahoo.com>
License: GPL-3+
is OK!
= The
build system =
At the
moment you use two different build systems, Maven and a
self-made
Makefile. I suggest to stick with
the pom.xml file and create a Maven
project
that is completely self-sufficient, meaning third-parties
can
simply run Maven and the output will be
a jar file which can be run with
OpenJDK 8
or later. I would avoid mixing Debian specific packaging
with
everything that is required to compile
the game and make your upstream
project
distribution-independent. Fedora, Gentoo, SuSe, etc. will
thank
you, if they ever wanted to include
infinitetux as well.
=
debian/rules =
The
debian/rules file must provide certain targets to comply
with the
Debian Policy. The most simplistic
rules file would look like that:
#!/usr/bin/make -f
%:
dh $@
Since you have two build systems dh would
probably try to use your
Makefile because
you don't build-depend on maven-debian-helper. I
couldn't verify that yet.
So if you want to use the
Maven build system then use
dh $@ --buildsystem=maven
If there is only a pom.xml in the root
directory, you can keep the
current form
because dh will autodetect the correct build system.
I would completely drop the
current Makefile and ship a desktop file
instead, and move all necessary code to
debian/rules. Thinking about it
right now,
you could just use javahelper to build your package. You
don't even have to use Maven because the
code seems to use only core
classes and
doesn't depend on external libraries.
Just use
dh $@ --with javahelper
override_dh_auto_build:
jh_build --no-javadoc --javacopts="-source 1.8 -target
1.8"
infinitetux.jar src
Then modify
debian/control and build-depend on
default-jdk and javahelper. At the moment the
game would not compile in
a clean chroot
environement because you build-depend on openjdk-8-jre
but that's only the Java runtime.
The Depends line should look
like that:
Depends:
${misc:Depends}, jarwrapper, default-jre | java8-runtime
Note the | sign. That means
users will install the default Java runtime
environment (which is Java 11 at the moment) by
default but if they have
openjdk-8-jre
installed, the dependency would be satisfied as well and
they didn't have to install the
default-jre.
Minor
stuff:
Standards-Version is
4.3.0
Section should be
games.
Build-dependency on
gzip is not necessary because gzip is an essential
package, it is guaranteed to be installed on
every Debian system.
debian/compat: debhelper 12 is recommended
these days.
The manpage
infinitetux.7 should be infinitetux.6 because games are
in
section 6.
Ok, that's it for now. If you have any
questions, feel free to ask and
we try to
make the perfect Debian package together.
Regards,
Markus
Reply to: