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

Use Python virtualenv rather than relying on system-wide Python version #120

Open
shasheene opened this issue Oct 11, 2020 · 1 comment
Open
Assignees
Labels
enhancement New feature or request

Comments

@shasheene
Copy link
Member

shasheene commented Oct 11, 2020

Rescuezilla v2.0 is a major upgrade. Part of this major upgrade has been porting the frontend to the Python programming language from the Perl language.

Due to time constraints, Rescuezilla has not yet packaged with a Python virtualenv environment, so it relies on Python 3.8 being installed system-wide. For the 64-bit ISO image, this is not an issue, because as of writing it is based on Ubuntu 20.04 so already uses Python 3.8 systemwide.

But the 32-bit ISO image is based on the final long-term support Ubuntu 32-bit release -- Ubuntu 18.04 -- which uses Python 3.6, so the 32-bit ISO image has been disabled until the virtualenv environment has been configured.

Also, for any standalone Rescuezilla deb package (#119) to be widely useful across end-user Debian/Ubuntu/Linux Mint environments it needs to automatically setup a Python virtual environment (most likely by configuring dh-virtualenv to achieve this task).

@shasheene shasheene added the enhancement New feature or request label Oct 11, 2020
@shasheene shasheene self-assigned this Oct 11, 2020
shasheene added a commit to shasheene/rescuezilla-dev that referenced this issue Oct 13, 2020
Disables the Travis-CI deployment of the 32-bit Rescuezilla ISO image, as
further work is required to ensure that on the 32-bit build Python application
has correct version of the dependencies [1] (these dependencies differ in
version f since Ubuntu has dropped 32-bit support is based on Ubuntu 18.04
rather than Ubuntu 20.04).

[1] rescuezilla#120
shasheene added a commit to shasheene/rescuezilla-dev that referenced this issue Oct 13, 2020
Disables the Travis-CI deployment of the 32-bit Rescuezilla ISO image, as
further work is required to ensure that on the 32-bit build Python application
has correct version of the dependencies [1] (these dependencies differ in
version f since Ubuntu has dropped 32-bit support is based on Ubuntu 18.04
rather than Ubuntu 20.04).

[1] rescuezilla#120
shasheene added a commit to shasheene/rescuezilla-dev that referenced this issue Oct 14, 2020
Disables the Travis-CI deployment of the 32-bit Rescuezilla ISO image, as
further work is required to ensure that on the 32-bit build Python application
has correct version of the dependencies [1] (these dependencies differ in
version f since Ubuntu has dropped 32-bit support is based on Ubuntu 18.04
rather than Ubuntu 20.04).

[1] rescuezilla#120
shasheene added a commit that referenced this issue Oct 14, 2020
Disables the Travis-CI deployment of the 32-bit Rescuezilla ISO image, as
further work is required to ensure that on the 32-bit build Python application
has correct version of the dependencies [1] (these dependencies differ in
version f since Ubuntu has dropped 32-bit support is based on Ubuntu 18.04
rather than Ubuntu 20.04).

[1] #120
@shasheene shasheene added this to To do in Rescuezilla v2.1 Milestone Kanban Board via automation Oct 16, 2020
shasheene added a commit to shasheene/rescuezilla-dev that referenced this issue Nov 13, 2020
Adds build based on the October 2020 release of Ubuntu, to provide a
Rescuezilla environment based on Linux kernel version 5.8.0-26 (rather than
Rescuezilla v2.0's Linux kernel version 5.4.0-51).

This improves the support for NVidia graphics cards (RTX 2060) [1]

As of writing, the Ubuntu 20.10 (Groovy) build based on this commit has *not*
been heavily tested beyond very basic checks. The Python virtualenv should
ideally be used rather than the system-wide Python version [2] to maximize
commonality with the other Rescuezilla versions. Thorough testing of all builds
will of course be conducted before the official release.

[1] rescuezilla#115

[2] rescuezilla#120
@shasheene shasheene added this to To do in Rescuezilla v2.2 via automation Dec 7, 2020
@shasheene
Copy link
Member Author

shasheene commented Dec 10, 2020

Update December 2020: I'm still looking for a way to this that meets my design goals.

The closest thing I have found is dh-virtualenv but it packages up all the python binary packages at compile time which makes the deb package CPU architecture-specific and also leads to a very large installation package.

Ideally the deb file would contain only non-architecture specific files (Python source code, READMEs etc) that would then launch the setup.py file and on the end-user's system use pip to download the dependencies from PyPI. This would in theory make it possible to release ONE deb package that's very easily installable across all Debian/Ubuntu/Linux Mint/etc environments whether they're running 32-bit x86/x86_64/ARM/etc with the only dependencies being a system version of Python3 and pip.

Completing this task may require creating a postinst install hook script that gets run after the deb file is installed.

I'll keep investigating. Contributions/ideas welcome.

shasheene added a commit that referenced this issue Dec 11, 2020
Adds build based on the October 2020 release of Ubuntu, to provide a
Rescuezilla environment based on Linux kernel version 5.8.0-26 (rather than
Rescuezilla v2.0's Linux kernel version 5.4.0-51).

This improves the support for NVidia graphics cards (RTX 2060) [1]

As of writing, the Ubuntu 20.10 (Groovy) build based on this commit has *not*
been heavily tested beyond very basic checks. The Python virtualenv should
ideally be used rather than the system-wide Python version [2] to maximize
commonality with the other Rescuezilla versions. Thorough testing of all builds
will of course be conducted before the official release.

[1] #115

[2] #120
@shasheene shasheene removed this from To do in Rescuezilla v2.2 May 26, 2021
@shasheene shasheene added this to To do in Rescuezilla v2.3 Development via automation May 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

1 participant