Project

General

Profile

Feature #10085

Bug #15945: Drop Python 2 in Tails 5.0

Feature #5958: Port our custom software to Python 3

Port Tails Installer to Python 3

Added by alant about 4 years ago. Updated 8 days ago.

Status:
Needs Validation
Priority:
Normal
Assignee:
Category:
Installation
Target version:
Start date:
08/24/2015
Due date:
% Done:

0%

Feature Branch:
https://gitlab.com/saschamarkus/liveusb-creator/tree/feature/10085-Port-Tails-Installer-To-Python3
Type of work:
Code
Blueprint:
Starter:
Affected tool:
Installer

Description

Liveusb-creator should be migrated to python3.

History

#1 Updated by alant about 4 years ago

  • Parent task set to #5958

#2 Updated by alant about 4 years ago

  • Tracker changed from Bug to Feature

#3 Updated by intrigeri about 4 years ago

  • Subject changed from Migrate liveusb-creator to python3 to Port Tails Installer to Python 3
  • Category set to Installation
  • Status changed from New to Confirmed
  • Affected tool set to Installer

#4 Updated by u over 2 years ago

Any takers?

#5 Updated by u about 1 year ago

#6 Updated by u about 1 year ago

It seems we need to discuss the future of tails-installer WRT to our aim to distribute a USB image.
Tails installer could still be used as a tool to clone Tails. Or could we find a possibility to make this happen differently?

#7 Updated by intrigeri about 1 year ago

u wrote:

Tails installer could still be used as a tool to clone Tails.

That's the plan we came up with: keep Tails Installer but only in Tails. If this needs more discussion, please file a dedicated ticket (sorry if you did and I missed it so far :)

#8 Updated by intrigeri about 1 year ago

#9 Updated by sascha.markus@gmail.com 6 months ago

  • Status changed from Confirmed to In Progress
  • Assignee set to sascha.markus@gmail.com

#10 Updated by sascha.markus@gmail.com 6 months ago

  • Feature Branch set to https://gitlab.com/saschamarkus/liveusb-creator/tree/feature/10085-Port-Tails-Installer-To-Python3

Removed implementation for Windows

Removed implementation to download images from Fedora
-> we don't depend on python-urlgrabber anymore

Removed implementation to read config files (there were non in tails 3.13.1)
-> we don't depend on python-configobj anymore
-> we can remove the placeholder /etc/tails-installer/deprecated-outside-of-Tails

Executed 2to3

Replaced usage of python2's statvfs.F_BSIZE and statvfs.F_BAVAIL

#11 Updated by sascha.markus@gmail.com 6 months ago

  • Assignee changed from sascha.markus@gmail.com to kurono
  • QA Check set to Ready for QA

Hi @kurono I think I'm done with porting the installer to python3.
I wrote a couple of times Tails to an USB stick using downloaded ISOs (the current release and a nightly) and cloning the running Tails.
Seems to work fine.

The Fedore and Windows stuff is gone.

I checked the code with flake8. There are still long lines but I think it would be better to add a configuration for flake8 to the setup.py to allow 100 or 120 chars.

There was a mix of ' and " as string delimiters. I changed all of them to ' because I'm used to do it that way at work too. I hope that's OK.

Cheers
Sascha

#12 Updated by intrigeri 5 months ago

  • Status changed from In Progress to Needs Validation

#13 Updated by sajolida 3 months ago

  • Assignee deleted (kurono)
  • Target version set to Tails_3.16

I understand that Sascha did some work on this 3 months ago (thanks a bunch!) but never got a review from kurono. I think that we should stop waiting for kurono and find other reviewer in time for the next release, no?

#14 Updated by intrigeri 3 months ago

  • Target version changed from Tails_3.16 to Tails_3.17

sajolida wrote:

I understand that Sascha did some work on this 3 months ago (thanks a bunch!) but never got a review from kurono.

I understand the same.

I think that we should stop waiting for kurono and find other reviewer in time for the next release, no?

Agreed, modulo this is too invasive to land in a bugfix release, so re-targeting to 3.17. Still, the earlier a first review is done, the better :)

@segfault, maybe?

#15 Updated by segfault 3 months ago

  • Assignee set to segfault

#16 Updated by segfault 3 months ago

@: Could you create a request to merge your branch in to master in my gitlab repo (https://gitlab.com/segfault3/liveusb-creator)? Then I can use gitlab to review your changes.

#17 Updated by intrigeri 2 months ago

  • Target version changed from Tails_3.17 to Tails_4.0

If 3.17 is released, it'll be a bugfix release.

#18 Updated by segfault 2 months ago

This is a huge change, there are 643 additions and 1516 deletions. It's impractical to do the review here, without inline comments, so I won't taker a deeper look at the changes without a gitlab MR.

I'm also hesitant to spend a lot of time on this review because with #16906 and #16907 solved, we could remove a big part of the Tails Installer code (and should refactor the remaining parts).

#19 Updated by intrigeri 8 days ago

  • Target version changed from Tails_4.0 to Tails_4.1

4.0 is now frozen so I'm postponing this. Note that 4.1 is a bugfix release so such a large change might not qualify.

Also available in: Atom PDF