Hi I am trying to package etherpad for Debian (https://bugs.debian.org/576998). 6 years have passed from the 1st attempts, many nodejs modules are now in Debian and there is a dim hope to get it in before the Debian Stretch freeze (Jan 5th).
Would anyone here be willing to support me ? As a start I have 3 questions.
1) what is the right name here, etherpad or etherpad-lite ?
2) you depend on etherpad-yajsml, is that same as https://www.npmjs.com/package/yajsml ?
3) if we choose postgresql as DB backend, can we skip some code / modules / dependencies (like nano, rethinkdb, couchdb stuff...) ?
Thanks, Paolo
I would support you, but I don't know if it is enough time to do all the work in a few weeks.
We have a script to build a debian package, but it is not really working (anymore): https://github.com/ether/etherpad-lite/blob/develop/bin/buildDebian.sh
But it's great to see that someone wants to work on it!
Another question I have is about the dependency on swagger-node-express version 2.1.3 (based on src/package.json). While this is the current release on npm registry, upstream has moved on to version 0.7.3.
And BTW is this a node module you are using (that gets installed in /usr/lib/nodejs/foo) or a javascript library (that gets installed in /usr/share/javascript/foo/) ?
@simevo Will you develop the package on github? Please document the problems and solutions well. It will be a great help for other distributions too. We wish to have it in gentoo too. You can find our results here: https://bugs.gentoo.org/show_bug.cgi?id=328897 Let me know, if you need betatesters for your debian package and I will ask in our linux user group.
The repo is here: https://anonscm.debian.org/git/pkg-javascript/etherpad-lite.git, but there's not much there yet to see.
The main thread on the Debian package in this phase is the ITP bug (https://bugs.debian.org/576998).
I'll notify major news here as well.
Alright we just missed the stretch freeze window so let's relax !
There is still a lot of work required, particular on packaging socket.io stuff & its requirements.
My new goal is to target the next Debian release (testing i..e buster). Creating a version for stretch-backports is also a possibility.
Please, see also for both Debian and Ubuntu https://bugs.launchpad.net/ubuntu/+bug/1397373 Adding a vote there will also help gain support for packaging etherpad.
Do you mean clicking on "this bug affects me" in launchpad ? I have just done that.
But there's more you can do. For example here is an (incomplete) list of dependencies we need to package before we get etherpad-lite in debian:
Any help is welcome, just join the debian javascript packaging team and start hacking !
bump @simevo <3
Bumping this issue because the Teckids schul-frei project has started packaging BigBlueButton for Debian 10, which depends on etherpad-lite. So if anyone has done something that helps this, or has tiem to do so, please speak up ☺!
I'd love to see this too :) Let me create a bounty.
Bounty made: https://gitpay.me/#/task/327
Thanks, but there are lots of dependencies missing before etherpad-lite itself can be packaged. So most likely this will not be a one-person-project.
@hex-m, how does dependency installation & resolution for nodejs applications work in Debian?
Does it have to exist a package in the official repository for each dependency, or they can be bundled together in a node_modules somewhere?
Does it have to exist a package in the official repository for each dependency, or they can be bundled together in a
node_modulessomewhere?
I'm no Debian Developer but reading the documentation I would say the normal way is to package each module separately. Exceptions are explained in the link.
Having one node_modules package containing the entire npm registry would have serious downsides.
is it possible to automate the steps? I might be able to put together a workflow on GitHub actions to package and publish new Debian packages. Sounds feasible?
@abskmj, that would be cool.
However, I think the problem here is _defining_ those steps, which are not clear at all. For example, there is the whole issue of packaging the dependencies in Debian, before working on Etherpad.
Oh, I meant automating packaging the dependencies in Debian. I went through the referenced articles on Debian wiki. I see most of the steps are similar for most of the packages (there may be few exceptions). I'm wondering if I could execute those steps for all the missing packages in a Github action workflow. This might take less effort than doing it manually for all the dependency.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Most helpful comment
Bounty made: https://gitpay.me/#/task/327