[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sponsor for DMX - The Context Machine



Juergen Neumann writes:

> Hi all!
>
> I would like to file an ITP for DMX - The Context Machine [1], formerly
> known as DeepaMehta [2]. As this will be my first project for Debian I
> am kindly looking for a sponsor. So far I barely managed to create a
> first lintian compliant result [3]. I will be happy to improve. :-)
>
> Thank you very much in advance!
>
> Juergen
>
> [1] https://git.dmx.systems/dmx-platform/dmx-platform
> [2] https://www.deepamehta.de/
> [3] https://github.com/dmx-systems/dmx-build-deb

Hello Juergen,

I'm still quite new to Debian packaging and certainly can't talk for
the Debian project but I'll try to give you some advice nevertheless.
I hope the following advice is correct Debian-wise; sorry if I'm
making mistakes, please correct me in that case.

I can see in the README of dmx-build-deb:

    dmx-build-deb builds Debian packages from DMX binary files and
    loads them into the public repository at DMX Systems.

Debian packages normally build software from source, not binary.  That
is required for your package to be part of Debian proper (the "main"
section).  If that's impossible though, there is the "contrib" section
where such packages can be uploaded.  It is recommended to build from
source whenever possible.

Also, I guess a Debian package should not load anything to some other
repository.

Your debian/README.source is basically a template.  You should either
remove it or write something interesting there.  README.source is the
place where you document specifics of your package with regards to how
it should be built.

debian/control, debian/copyright are templates (@@PACKAGENAME@@,
@@CONFLICTS@@, ...).  It looks like it is instantiated through
.gitlab-ci.yml.  I guess it is OK in principle, but remember that you
have to upload a Debian-compliant source package in any case.

I'm not sure whether a Debian package can be named "dmx-latest"; I
guess it should just be named "dmx".

Debian takes copyright and license information very seriously; if
there is any doubt on the license of some file, it might need to be
removed from the set of packaged files through a +dfsg modification.
Therefore it is highly advised that the license of each source file in
the upstream source code be very clear.  The safest if you can is to
add to each nontrivial source file the copyright line of each
contributor with the years of contributions, and indicate which
license applies to this file (and in particular if it is AGPL3 strict
or "AGPL3 or later"); this is the case for the GNU project.  Many
projects don't do that, which may make it more difficult to be
uploaded to Debian (sometimes a little more, sometimes a whole lot
more).  The clearer the better, and as a bonus it saves a lot of time
to the people who are in charge of verifying the license of the
software: if you can do that then that's the best; if not, try to be
as clear as possible and cross fingers.

It is not mandatory, but it is possible to format debian/copyright
with a machine-readable format [1]

It would be nice to also produce a "-doc" package containing the
documentation [2], so that people with internet connectivity issues
can still read the documentation.

Through .gitlab-ci.yml you auto-generate debian/changelog.  I doubt an
auto-generated changelog can be used if you want your package
integrated in Debian: end users should be able to modify your package
at will, and add what they want to the changelog.

In debian/postinst it looks like a password is stored into
/etc/dmx/config.properties, but I don't see any provision (such as
umask 077) to make sure it is not world-readable before "chmod 750
/etc/dmx".  For you to check...

debian/rules contains comments from the template; you should probably
clean them up.

I don't know debconf, but at what point is the equality between
dmx/initial_admin_password and dmx/initial_admin_password_again
checked?

Once you have built the source package and the binary package(s)
locally, you should run "lintian -EviIL+pedantic" to see if you have
any important things to fix.

One of the first things you need to make clear is how you want to
create your package(s):

- By building the upstream source (main)?  By packaging the upstream
  binary (contrib)?

- How do you organize the packaging files and your workflow for
  creating packages: with origtargz(1), uupdate(1), git-dpm,
  git-buildpackage, something else...?

[1] https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
[2] https://dmx.readthedocs.io/en/latest/

Hope this helps!

Best regards
--
Fabrice BAUZAC-STEHLY
PGP 015AE9B25DCB0511D200A75DE5674DEA514C891D


Reply to: