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

Separate Ubuntu .deb packages per Ubuntu release #4357

Merged
merged 127 commits into from Feb 11, 2023

Conversation

Wissididom
Copy link
Contributor

@Wissididom Wissididom commented Feb 4, 2023

Pull request checklist:

  • CHANGELOG.md was updated, if applicable

Description

The main problem was, that chatterino was installed to /home/runner/chatterino2/chatterino2/package/home/runner/chatterino2/chatterino2/appdir/usr/bin/chatterino on the destination system

After I've fixed that, I got dependency problems that I wasn't able to fix just by specifying them, so I bundled all of the Qt folder

After that there just was open to set the LD_LIBRARY_PATH, which I wanted to do in the postinst script which I didn't get to work, which is why I later went another way.

After that I've tried to just include the necessary files from the Qt folder like libQt5Network, libQt5Core, libQt5Gui etc., but with that approach I had other library dependency problems (in this case with libicui.so.58) which is why I changed it back to bundle all files again

Then I tried specifying the files that were installed in jurplel/install-qt-action which didn't change anything.

Now in this version I've moved chatterino and everything a few folders up and specified the LD_LIBRARY_PATH environment variable inside the .desktop file.

Now Chatterino opens up without problems but haven't gotten to test anything else apart from opening it yet.

I'm not sure if I should make a Dev entry in the Changelog, so I leave editing the Changelog out for now.

Here is a video of me installing Chatterino in a VM and running it with the latest build from my fork: https://www.youtube.com/watch?v=Z79Ww1oVUOo

I was too lazy to edit the video, so I just did ffmpeg -i input.mkv -an output.mp4.

/home/runner/work/chatterino2 was included in the .deb file
Added Logs. I changed it on master accidently
I added the move directory up, because else the paths would look like e. g. /home/runner/work/chatterino2/chatterino2/build/appdir/usr/share/applications/com.chatterino.chatterino.desktop
@pajlada
Copy link
Member

pajlada commented Feb 11, 2023

@Wissididom I made some changes to this branch now where there are two Artifacts built: Chatterino-ubuntu-20.04.deb and Chatterino-ubuntu-22.04.deb - both work on fresh installations for me (the universe repo must be enabled though)
image

Can you give these a try to ensure they work as expected for you?

@Wissididom
Copy link
Contributor Author

Will look into when I'm back at the PC (I'm currently at my grandparents diamond wedding)

@pajlada
Copy link
Member

pajlada commented Feb 11, 2023

image have fun

@Wissididom
Copy link
Contributor Author

Wissididom commented Feb 11, 2023

On my system, universe seemed to have been pre-enabled by default.

First, I tested installing the wrong package for the wrong version of Ubuntu, so there will be 2 fails as expected parts in this comment.

All of them were installed through the command apt install ./Chatterino-x86_64.deb

Installing 22.04 on Ubuntu 20.04 fails as expected:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'chatterino' instead of './Chatterino-x86_64_22.04.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 chatterino : Depends: libboost-filesystem1.74.0 but it is not installable
E: Unable to correct problems, you have held broken packages.

Installing 20.04 on Ubuntu 20.04 succeeds as expected:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'chatterino' instead of './Chatterino-x86_64_20.04.deb'
The following additional packages will be installed:
  libboost-filesystem1.71.0 libdouble-conversion3 libpcre2-16-0
  libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5
  libqt5svg5 libqt5widgets5 libxcb-xinerama0 libxcb-xinput0
  qt5-gtk-platformtheme qttranslations5-l10n
Suggested packages:
  qt5-image-formats-plugins qtwayland5
The following NEW packages will be installed:
  chatterino libboost-filesystem1.71.0 libdouble-conversion3 libpcre2-16-0
  libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5
  libqt5svg5 libqt5widgets5 libxcb-xinerama0 libxcb-xinput0
  qt5-gtk-platformtheme qttranslations5-l10n
0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
Need to get 10,4 MB/14,2 MB of archives.
After this operation, 46,2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Running Chatterino on Ubuntu 20.04 works as expected

  • Tested opening it and tested receiving messages. Also checked Highlights and Sounds by making a Highlight with the regex pattern .*. (Thanks to the chat rooms pajlada and testaccount_420 for not having to send messages to myself)

Installing 20.04 on Ubuntu 22.04 fails as expected:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'chatterino' instead of './Chatterino-x86_64_20.04.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 chatterino : Depends: libboost-filesystem1.71.0 but it is not installable
E: Unable to correct problems, you have held broken packages.

Installing 22.04 on Ubuntu 22.04 succeeds as expected:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'chatterino' instead of './Chatterino-x86_64_22.04.deb'
The following packages were automatically installed and are no longer required:
  libflashrom1 libftdi1-2
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libboost-filesystem1.74.0 libdouble-conversion3 libmd4c0 libpcre2-16-0 libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5svg5 libqt5widgets5 libxcb-xinerama0 libxcb-xinput0
  qt5-gtk-platformtheme qttranslations5-l10n
Suggested packages:
  qt5-image-formats-plugins qtwayland5
The following NEW packages will be installed:
  chatterino libboost-filesystem1.74.0 libdouble-conversion3 libmd4c0 libpcre2-16-0 libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5svg5 libqt5widgets5 libxcb-xinerama0
  libxcb-xinput0 qt5-gtk-platformtheme qttranslations5-l10n
0 upgraded, 16 newly installed, 0 to remove and 0 not upgraded.
Need to get 12,1 MB/16,2 MB of archives.
After this operation, 50,3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Running Chatterino on Ubuntu 22.04 works as expected

  • Tested opening it and tested receiving messages. Also checked Highlights and Sounds by making a Highlight with the regex pattern .*. (Thanks to the chat rooms pajlada and testaccount_420 for not having to send messages to myself)

Maybe also add qt5-image-formats-plugins because I noticed it being suggested while installing both versions, and I've heard that it might be involved in some Emote things, but I'm not sure if that is even a problem? Could test if I knew which emotes needed it.

Other than that I'm pretty happy with this PR and also that the deb is not > 100 MB anymore (thanks pajlada)

@Felanbird
Copy link
Collaborator

Could test if I knew which emotes needed it.

7TV animated emotes

@Wissididom
Copy link
Contributor Author

Yeah I think we'll need that dependency:
Self-built Main Chatterino:
image
DEB-Build:
image

@pajlada pajlada changed the title Fix deb build Separate Ubuntu debian packages Feb 11, 2023
@pajlada pajlada changed the title Separate Ubuntu debian packages Separate Ubuntu .deb packages per Ubuntu release Feb 11, 2023
@pajlada pajlada enabled auto-merge (squash) February 11, 2023 22:40
@pajlada pajlada merged commit 98c2ff5 into Chatterino:master Feb 11, 2023
@Wissididom Wissididom deleted the fix-deb-sh branch February 11, 2023 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants