Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian 10 "Buster" support #1255

Open
Neustradamus opened this issue Dec 23, 2018 · 12 comments

Comments

Projects
None yet
5 participants
@Neustradamus
Copy link

commented Dec 23, 2018


Edit by Alex, here's an attempt of Todo list / Roadmap / ... for what's needed for Buster support

  • Be able to install YunoHost on Debian Buster
    • Through the install script, with local builds ... for the early experimental stage, we can tweak the install_script to locally build the packages on the target machine, and install them with dpkg ... c.f. https://github.com/YunoHost/install_script/tree/buster-experimental
    • Through the install script, but using an actual debian repo : we need to add a buster release management on on repo forge.yunohost.org (with at least component unstable to start with)
    • We need to solve whatever dependency issues related to the control file because of missing dependencies, or dependencies that changed name
  • Test all main features of YunoHost
    • Test the postinstall... For now this is broken because the LDAP interface in the moulinette is broken, because python-ldap module went through a major version change with breaking changes
    • The webadmin, does it still works as expected ?
    • App installs
      • Especially php-based apps where we need to take care of hooking to 7.3 instead of 7.0 - had to do a similar thing in jessie->stretch for php 5 -> 7.0)
      • Apps based on other techs like nodejs, postgresql, ...
      • Specific apps like vpnclient and hotspot (c.f. the changes in iptables / nftables)
    • The SSO
    • The firewall (c.f. the changes in iptables / nftables)
    • Mail stack : receive, send, validate the whole DKIM thing through mail-tester, ...
    • Certificates
    • XMPP ?
    • ...
  • Write the migration procedure from Stretch to Buster, similarly to the Jessie to Stretch migration ... it shall handle the dist-upgrade and anything that needs to be migrated (typically php7.0 pools to php7.3 etc)
  • Setup an app CI to test apps install on Buster, and identify regressions between Stretch and Buster. Tartiflette can then be used to summarize the regressions found. Then we shall iterate on the core and/or apps (depends of what's the most appropriate) to fix and minimize regressions.
  • Release the whole thing as alpha... beta ... fix whatever issue we find
  • ???
  • Profit!
@alexAubin

This comment has been minimized.

Copy link
Member

commented Jun 25, 2019

Some preliminary work on this :

  • Created a buster LXC with lxc-create -n buster-base -t debian -- --release buster --arch x86_64

  • I created a buster-experimental branch for the install_script : https://github.com/YunoHost/install_script/tree/buster-experimental to locally build and install the packages. Still gotta do a lot of tweaking by hand (most likely the install script will fail and you gotta do stuff manually in /ynh-build with the Makefile etc)

  • Had to patch yunohost this way to get it to run ... python-miniupnpc is not available in debian for Python 2, only for Python3, gotta think what to do about this

  • Then tried to run the postinstall, and ended up with weird issues with LDAP. Turns out python-ldap lib changed heavily between buster (3.1.0) and stretch (2.4.28) so there significant work to do in the moulinette to (adapt the ldap connector](https://github.com/YunoHost/moulinette/blob/stretch-unstable/moulinette/authenticators/ldap.py)

@Josue-T

This comment has been minimized.

Copy link

commented Jun 26, 2019

Had to patch yunohost this way to get it to run ... python-miniupnpc is not available in debian for Python 2, only for Python3, gotta think what to do about this

So should we think about migrating to python3 before to buster (or in same time).

@alexAubin

This comment has been minimized.

Copy link
Member

commented Jun 26, 2019

No necessarily, we can find some trick like building the package locally in the meantime ... Still we should work on migrating to Python 3 anyway, it's not like Python 2 was to become obsolete in 6 months now :/ ...

@Neustradamus

This comment has been minimized.

Copy link
Author

commented Jun 27, 2019

2019-07-06 is soon :)

@alexAubin

This comment has been minimized.

Copy link
Member

commented Jun 27, 2019

Well clearly Buster support won't be ready before at least something like October/November (in the best case scenario)

@nath5394

This comment has been minimized.

Copy link

commented Jul 18, 2019

Nice edit @alexAubin in the first post. Maybe it could be easier to track each task in its own issue and to follow the migration in a milestone with project ? I'd like to help to adapt yunohost to buster. Yesterday I tried to install yunohost on a clean buster. Not so easy, I'm almost done. If you have advices on how a not expert could help... 😄

@alexAubin

This comment has been minimized.

Copy link
Member

commented Jul 18, 2019

Yes indeed, having independent issues in a common milestone should be better 👍 I'll do this when I have some time

Yesterday I tried to install yunohost on a clean buster.

Eh you mean just finishing the install script ? 'Cause you definitely won't be able to run the postinstall (c.f. the issue with moulinette's LDAP connector)

@nath5394

This comment has been minimized.

Copy link

commented Jul 18, 2019

Ok, if you want I can create one issue per task, based on what you wrote above. With [Buster] prefix in title.

Yep, I finished this morning the install script. I had to do several manual steps, but at the end the script succeeded. I'll do it again to give you a feeddback. Now I will look ldap.py in moulinette, to see if I could help you.

@JimboJoe

This comment has been minimized.

Copy link
Member

commented Jul 18, 2019

Maybe it would be better to activate the GitHub "Projects" section (Kanban-like) to manage this, instead of multiplying issues...? 🤔

@alexAubin

This comment has been minimized.

Copy link
Member

commented Jul 18, 2019

Uh I dunno, the issue system seems appropriate ... On the contrary, I'd like to avoid starting a new way to handle ticket (the project thing) which means yet-another-thing-to-check with its own mechanism :/

@JimboJoe

This comment has been minimized.

Copy link
Member

commented Jul 18, 2019

OK, fair enough. The idea here is that you need a way to manage a complex and long-lasting effort, and I was wondering if having a synthetic view of what remains, but also what's on-going, was relevant here. But that can certainly be managed with issues, milestones and tags.

@nath5394

This comment has been minimized.

Copy link

commented Jul 21, 2019

I thought project in github is just a kaban view for issues. Maybe I'm wrong...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.