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

Open a way to package openboard in Linux distributions #58

Open
papoteur-mga opened this issue Sep 5, 2016 · 11 comments
Open

Open a way to package openboard in Linux distributions #58

papoteur-mga opened this issue Sep 5, 2016 · 11 comments

Comments

@papoteur-mga
Copy link

Hello,
We have tried to build a package for Mageia, but without success. We need a way to indicate which files are to put where.
We think that the better for that is to use Makefile, and not bash scripts.
We can help you for that, but we don't know enough the application. We have not to bundle QT5 which is already provided.
Papoteur

@fbarillon
Copy link

Le 05/09/2016 à 08:12, Papoteur a écrit :

Hello,
We have tried to build a package for Mageia, but without success. We
need a way to indicate which files are to put where.
We think that the better for that is to use Makefile, and not bash
scripts.
We can help you for that, but we don't know enough the application. We
have not to bundle QT5 which is already provided.

Hello,

I join a guide guide realised by a computer student, Alexandre, who was
able to compile Openboard using Qt creator. NB : he choosed to paste a
lot of libs directly in the /src folder, witch is a hard way to do.
For myself, I just managed to compile in command line.

The three rules I understood :

  • the third parties must be compiled fisrt
  • the source folder must be named "OpenBoard"
  • there can't be any space in the path to OpenBoard folder

Peharps a better programmer than I could precise the compilation
conditions...

Regards,

François

@papoteur-mga
Copy link
Author

Thanks François,
Have you a link to this guide?

@fbarillon
Copy link

Sorry, the attachement was not transmitted...
OpenBoard-Guide2.pdf

@watsaig
Copy link
Contributor

watsaig commented Sep 5, 2016

Hi,

What's wrong with the packaging scripts? Feel free to write a makefile for that if you like, but I think it will over-complicate things greatly. Hand-written makefiles are fine for compiling small C++ projects but they're really not ideal for such an application (especially the packaging part).
Personally I might use Python if I were to start from scratch, but the shell scripts work well enough.

Note that build.sh (in the release_scripts/linux folder) doesn't do much building, it's just a handy tool for deployment as it sets all the necessary environment variables and builds everything cleanly, in release mode. All the heavy lifting is done by qmake and make. It mostly just sets stuff up for package.sh.

package.sh should give you most of the information you need to generate your package. The structure of a .deb is different from an RPM obviously, but it should be a decent starting point. The structure of the package is explained at the top of the file and you can customize the paths fairly easily lower down.

There are limits however to how much you can move things around without having to edit OpenBoard's code itself. I forget the details but some directories are assumed to be at the same level as the main executable -- I think it's etc and library, perhaps a couple others, they can be found by searching the code in src -- hence the current solution of having /usr/bin/openboard as a symlink to /opt/openboard/OpenBoard.

This isn't good form for a package but unfortunately I couldn't justify spending much time on the packaging when we had more pressing issues to work on, so I settled with putting everything in /opt (which isn't actually that bad, but it wouldn't make it into official repositories in this form).

So if you'd like to help out with making the various paths more modular, I'm sure any contribution would be appreciated.

Either way a script for RPM packaging would be welcome, since we only support Debian-based distributions for now.

As François said, the third party libs must be built first (it's the one thing that build.sh doesn't handle). You'll want to check out the dev branch on the OpenBoard-ThirdParty repository for now, as the master branch is not up-to-date.

The Qt libs are only bundled if you choose to (line 88 of package.sh), so no need to worry about that.

@repagh
Copy link

repagh commented Sep 27, 2016

You might want to take a look at the openboard package on

https://build.opensuse.org/package/show/Education/OpenBoard

@fbarillon
Copy link

Hello,
I'm trying to build OpenBoard on Ubuntu 16.04 with different ways (qmake, Ubuntu SDK, build.sh script).
Every time I receive "Project ERROR: Unknown module(s) in QT: script"
but I ever installed the libqt5script5 packet...
=>libqt5script5 is already the newest version (5.5.1+dfsg-2build1).

@watsaig
Copy link
Contributor

watsaig commented Oct 31, 2016

Hi,
This is not related to building RPM packages. I'll try to answer here this time but please open new issues for new problems and questions.

I don't remember ever running into this problem, but maybe this will help: https://forum.qt.io/topic/35794/building-qtcreator-error-unknown-module-s-in-qt-script/4

Basically, check the paths of qmake and of the qt libraries, to make sure they are correctly set in the build script.

Or maybe this, specifically the comment on the answer: http://stackoverflow.com/questions/30817619/unknown-modules-in-qt-multimedia
But it seems less likely.

Good luck

@NT07
Copy link

NT07 commented Feb 7, 2017

What about a Flatpak package? It's probably the future for easy install. LibreOffice provides already a package, for example.

@magicvince
Copy link

It could be an issue for non-ubuntu distribution (impossible to install the ubuntu's packages on debian jessie)

@jbruechert
Copy link
Contributor

Hello,
I prepared a flatpak package and a set of patches which makes it a little easier to package OpenBoard. I'm very welcome to suggestions on how to improve those, since some of them might break windows or osx support (I haven't tested it). My OpenBoard git repository containing the patches can be found here: https://github.com/JBBgameich/openboard. Maybe we can even upstream some parts.

I'd like to submit the package to flathub, and the recommended way is to ask the original developers to do so. Please let me know if you are interested.
The only thing which seems to be missing according to the flathub requirements is appstream metadata, and I'm looking into adding some right now.

The flatpak packaging can be found here:
https://github.com/JBBgameich/flathub/tree/openboard

@jbruechert
Copy link
Contributor

I submitted the flatpak to flathub, please let me know if you want to maintain the flatpak youself. flathub/flathub#769

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

No branches or pull requests

7 participants