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

Test get_os and get_package_manager functionality #1

Closed
21 tasks done
thw26 opened this issue Dec 28, 2023 · 6 comments · Fixed by #108
Closed
21 tasks done

Test get_os and get_package_manager functionality #1

thw26 opened this issue Dec 28, 2023 · 6 comments · Fixed by #108
Milestone

Comments

@thw26
Copy link
Collaborator

thw26 commented Dec 28, 2023

This is part of alpha testing. To get to beta, we need to verify the following.

The python rewrite reduces the number of dependencies in the application because we are now using python modules instead.

Stretch Goals

@n8marti
Copy link
Collaborator

n8marti commented Jan 8, 2024

Let's make sure the relevant info from these functions is logged during install. Then we can more easily verify if they're working, and which systems have been tested.

@n8marti
Copy link
Collaborator

n8marti commented Jan 8, 2024

relevant logging output added in PR #40

@n8marti
Copy link
Collaborator

n8marti commented Jan 9, 2024

Ubuntu

I can confirm that get_os() works correctly for Ubuntu by defining config.OS_NAME as'ubuntu' and config.OS_RELEASE as '20.04'. I don't know about debian, but I'd say it's safe to assume that all Ubuntu derivatives also at least have the OS_RELEASE value right.

get_package_manager() correctly sets config.SUPERUSER_COMMAND and correctly identifies apt as package manager. It looks like config.PACKAGE_MANAGER_COMMAND_QUERY also works, except that it finds all packages that start with the intended package name, not just the package itself. E.g. for Ubuntu and binutils:

$ dpkg -l | grep -E '^.i  'binutils
ii  binutils                                                    2.34-6ubuntu1.7                             amd64        GNU assembler, linker and binary utilities
ii  binutils-common:amd64                                       2.34-6ubuntu1.7                             amd64        Common files for the GNU assembler, linker and binary utilities
ii  binutils-x86-64-linux-gnu                                   2.34-6ubuntu1.7                             amd64        GNU binary utilities, for x86-64-linux-gnu target

In this case binutils is included in the results, so there's no problem. But it also matches binutils-common:amd64 and binutils-x86-64-linux-gnu, which are maybe dependencies of binutils, but they are still additional results that turn up. But still, it's maybe unlikely that a "false positive" will be found without also finding the intended package in the same search.

@thw26 thw26 added beta and removed alpha labels Jan 31, 2024
@thw26 thw26 modified the milestones: Beta, Release 1.0.0 Jan 31, 2024
@thw26 thw26 removed the beta label Jan 31, 2024
@thw26 thw26 modified the milestones: Release 1.0.0, Beta Feb 12, 2024
@thw26
Copy link
Collaborator Author

thw26 commented Feb 23, 2024

From what I can tell, we can drop the following from Arch dependencies:

  • curl
  • gawk
  • bc
  • libxml2

Also, there is a duplicate of patch in the current list.

Manjaro's dependencies should be able to drop:

  • curl
  • gawk
  • bc
  • libxml2

RHEL should be able to drop:

  • libxml2
  • curl
  • bc

It looks like apt is already set to be pretty bare, but we should probably add grep, wget, sed to the requirements as these are used by the script. And we should probably have libfuse3/fuse3 as a requirement in that line. Originally this was optionally checked if a user was going the AppImage route, but since we aren't doing that, the only thing we could do is append it to the var if the user selects an AppImage, which might be the easiest, but then we'd need to be careful about overwriting that.

These can be dropped because they were used in the Bash script but are no longer thanks to built-in Python libraries.

Also, does anyone remember why we need samba/samba-winbind? Was this something specific to Logos 9?

Further, cabextract (and samba?) should be able to be moved to config.L9PACKAGES, or removed if #53 is pursued.

One question this brings up: since our default/recommended Wine is an AppImage, should wine be a package in config.PACKAGES, as it is in Arch, or optional, as it is in Manjaro?

@jg00dman, is there any reason why wine-staging should definitely be a required package instead of the AppImage for SteamOS?

@thw26
Copy link
Collaborator Author

thw26 commented Feb 23, 2024

Also, I think we will need to separate out the steamOS specific packages. I'm looking at things like qt5-virtualkeyboard and maybe some of the printing things or apparmor. Most of the libraries should be standard for just making sure we can call the proper libraries.

This will require a flag to switch these vars under the elif…pacman of get_package_manager() based on config.OS_NAME.

thw26 added a commit that referenced this issue Apr 20, 2024
This continues work on #1. This update seeks to fix Manjaro deps by removing deps from the original Bash source.
This was referenced Apr 20, 2024
@thw26
Copy link
Collaborator Author

thw26 commented Jun 1, 2024

cabextract is needed in winetricks

patch is a Manjaro dependency for base-devel, fwiw

thw26 pushed a commit that referenced this issue Jun 14, 2024
@thw26 thw26 mentioned this issue Jun 14, 2024
thw26 pushed a commit that referenced this issue Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants