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

Bug#861581: ITP: rainloop -- Simple, modern & fast web-based email client



Hi Daniel,

Daniel Ring dijo [Sun, May 07, 2017 at 11:01:33AM +0000]:
> Hi Gunnar,
> 
> I've finished putting together a preliminary version of the package, but I
> have a few concerns about it.
> 
> The largest one is that the build system is NodeJS-based, and requires a
> version of npm newer than the one currently in Debian. Bugs #857986 and #794890
> have some details about npm's issues. Installing nodejs from its official
> repository works, as does building on Ubuntu.

Ugh. The whole NodeJS ecosystem makes me shiver :-(

Anyway, installing a newer version than what's available in Debian is
*not* acceptable for a package to go in Debian. Either it has to be
patched to build with older versions, or you have to wait to the newer
version to arrive to Debian.

> Secondly, the build system has the usual issue with NodeJS packaging; it
> downloads dependencies at runtime. Most of the packages don't exist in Debian
> or are out of date, and I found several existing packages doing this while
> looking for a better solution, so I'm not sure how much of an issue this is.
> This only occurs at build-time, and nodejs isn't required to use the software.

That is also something that cannot be done; packaging software cannot
depend on network connectivity (not even initiate network
connections). The dependencies must be somehow build-depended upon; in
the (ugliest, worst) case you could patch your sources to include the
packages to fulfill this... But I doubt the ftp-masters will approve
of it.

> Finally, the upstream source contains several embedded libraries. I was able to
> swap a few of them for existing packages in Debian, but there are a few PHP
> libraries that don't have existing packages.

It is frowned upon, but tolerated; you have to just make sure to keep
track of them and properly attribute all of the copyrights in
debian/copyright. 

> The JavaScript libraries are amalgamated into a single file at
> build-time, and separating them out would be a non-trivial amount of
> work for decreased performance.

We have to ship sources for every piece of software. You don't need to
separate them as long as you provide all the sources and can *prove*
they can be amalgamated to the identical "binary" you are
shipping. That's not a trivial thing, sadly :(

> Again, I found several existing packages doing this, so I'm not sure
> how much of a problem it is.  Upstream provided sources for most, I
> added the few missing to satisfy lintian.
> 
> I've uploaded the package to mentors: https://mentors.debian.net/package/rainloop
> Please review it when you have a chance, and let me know if there's anything I
> need to fix!

I'm just talking WRT your text, and have not looked at the packaging
itself; I think I can do it on ~thursday... If you find some other
sponsor, of course, feel free to follow up with them. I want to at
least try and get the work done with you.

If you find examples in Debian that have been accpeted in opposition
to what I have pointed out here, point me to them.


Reply to: