adgellida / ubunsys

STATUS: DEVELOPMENT PAUSED ⏸️ - Configure dark and deep aspects in your Ubuntu
https://launchpad.net/~adgellida/+archive/ubuntu/ubunsys
79 stars 12 forks source link

Support "make install" for AppImage and upload to PPA debian package with shared libs for all ubuntu versions compatibility #2

Closed probonopd closed 6 years ago

probonopd commented 7 years ago

I was trying to make an AppImage, but for this I need "make install" to work. It should install the application, the desktop file, and the icon. Can you please enable this? Then I can continue making the AppImage.

Here is the failed build log: https://travis-ci.org/probonopd/ubunsys/builds/239783115#L990

adgellida commented 7 years ago

I'll keep that in mind. When it's done, I'll let you know.

adgellida commented 7 years ago

I need external help for do it. Can you help me? I suppose I need a debian directory and with this I had problems in the past (no PPA for now for it). So, with your issue I'm on stand by.

probonopd commented 7 years ago

No, you don't need deb packaging to support "make install". You can do it in the .pro file. For an example, check what https://github.com/probonopd/FeedTheMonkey/blob/master/FeedTheMonkey.pro does.

adgellida commented 7 years ago

Thanks for help, can you modify ubunsys.pro to be compatible with AppImage deploy? I need specific steps.

  1. Modify .pro which lines specificly?
  2. Have I to run this https://github.com/probonopd/linuxdeployqt?
probonopd commented 7 years ago

Hi @adgellida if you can get "make install" to work (without anything specific to AppImage), I can then do the AppImage-specific steps.

adgellida commented 7 years ago

I don't know how get "make install" to work with your instruccions.

probonopd commented 7 years ago

Please see

adgellida commented 7 years ago

I'm on holidays, when I returned I'll see it.

adgellida commented 7 years ago

target.path = /usr/bin

icon.path = /usr/share/pixmaps icon.files = $$PWD/images/ubunsys.ico

desktop.path = /usr/share/applications desktop.files += ubunsys.desktop

INSTALLS += target desktop icon

The app is installed

What I need to complete now? Thanks for help. Almost there

probonopd commented 7 years ago

Does it also install the icon and desktop file?

adgellida commented 7 years ago

Of course, but I get 2 errors for icon and desktop, not file format recognized, but works ok.

probonopd commented 7 years ago

Looks like a usr/share/pixmaps/ubunsys.ico is installed. Should be a png, and should be 256x256 pixels large, in usr/share/icons/hicolor/256x256/apps/ubunsys.png.

adgellida commented 7 years ago

Done.

probonopd commented 7 years ago

AppImage: https://transfer.sh/vMwNJ/ubunsys-git.751e2cc-x86_64.AppImage

Made with: https://github.com/probonopd/ubunsys/blob/patch-1/.travis.yml

Issues: Upon first launch it tries to install stuff using apt, rather than copming bundled with that stuff. Also somehow it blindly assumes I am running zesty, which I am not.

adgellida commented 7 years ago

We finally got it! Cool, what have you done?

How did you make the final step to create the AppImage file? This way, I won't bother you each time I take out a new realease.

Yes this app has a lot of bugs. On next releases I'll fix a lot of things, add functionalities and redesign anothers. Now is on alpha status and I don't have almost experience. We are in touch.

Thanks for help.

probonopd commented 7 years ago

We finally got it! Cool, what have you done? How did you make the final step to create the AppImage file?

https://github.com/probonopd/ubunsys/blob/patch-1/.travis.yml

adgellida commented 6 years ago

I'll revisit this issue, I don't know when, very busy. Right now bugfixes, enhancements and other personal priorities needed before. Thanks for help and comprension.

probonopd commented 6 years ago

Sure, no hurries.

adgellida commented 6 years ago

I'm here.

1.PPA operative. Only 16.04 and 17.04. 2.Appimage possible operative for all versions. 3.Deb package no operative for all versions. I need steps for create deb with linuxdeployqt like stacer app. When ok I'll do PPA for all versions.

  1. Can you do linuxdeployqt compatible with 17.04? I had to use 14.04.

Can you help me in step 2 (your recommendation steps) and 3 (I don't now how, like your fpm example in your issue 9?).

I executed linuxdeployqt, and I can execute binary with libraries generated on any ubuntu, but if I try to package it manually permissions and linkage errors appear. With files separately ok, packaging on a deb error.

Thanks.

probonopd commented 6 years ago

Can you make Ubunsys compile on Ubuntu 14.04? 17.04 is much too new, if you build on that it will never run on older systems.

adgellida commented 6 years ago

Yes. I need help for 2 and 3 yet. I think this is that I need, but I have to adequate to ubunsys. DEB section is right now the most important to include libs on deb. Help on it will be really appreciated. I need to use travis?

probonopd commented 6 years ago

2.Appimage possible operative for all versions.

If we put binaries that were compiled on 14.04 into an AppImage, then the AppImage will run on 14.04 and all later versions.

3.Deb package no operative for all versions. I need steps for create deb with linuxdeployqt like stacer app. When ok I'll do PPA for all versions.

I can do this, once the application builds correctly on 14.04 - either as a ppa or (preferred) on Travis CI. See https://github.com/probonopd/linuxdeployqt/blob/master/README.md#using-linuxdeployqt-with-travis-ci for an example.

adgellida commented 6 years ago

Thanks another time! Incredible.

  1. I know... I want to say compatible to generate no to execute.
  2. If I configure travis and use your yml -> https://github.com/probonopd/ubunsys/blob/patch-1/.travis.yml how can I modify this yml to generate deb package compatible with 14.04 - 17.10 that integrates qt59 shared libs inside the deb?
probonopd commented 6 years ago

It already does it. But it creates an AppImage, not a deb.

adgellida commented 6 years ago

And stacer and redtimer how created it? I asked them but no answer yet. They also have AppImage.

adgellida commented 6 years ago

@fathomssen and/or @oguzhaninan can you help me with this issue? debuild with shared libraries as in your debs. Integrate inside the deb the qt libraries

oguzhaninan commented 6 years ago

Hi, Would you give a list of files created after using linuxdeployqt?

fathomssen commented 6 years ago

Hi

And stacer and redtimer how created it? I asked them but no answer yet. They also have AppImage.

Sorry, did not see your question - which issue are you referring to?

My approach, in general, works like this:

  1. Install Qt from ppa:beineri/opt-qt591-trusty (https://github.com/fathomssen/redtimer/blob/3767a5ef3ad1ef086583c17f1dbda04d10ff74f7/.travis.yml#L76-L84)
  2. Install FPM (https://github.com/fathomssen/redtimer/blob/3767a5ef3ad1ef086583c17f1dbda04d10ff74f7/.travis.yml#L98-L105)
  3. Create the AppImage (https://github.com/fathomssen/redtimer/blob/3767a5ef3ad1ef086583c17f1dbda04d10ff74f7/deploy/deploy.linux.sh#L20-L42)
  4. Create the deb/rpm files (https://github.com/fathomssen/redtimer/blob/3767a5ef3ad1ef086583c17f1dbda04d10ff74f7/.travis.yml#L76-L84)

Step 3 includes additional files that linuxdeployqt is missing (at least in the version that I used).

Step 4 uses the binaries created by linuxdeployqt which are also found in the AppImage package. Then the Debian and RedHat packages are created using FPM.

Best regards Frederick Thomssen

adgellida commented 6 years ago

@fathomssen I sended you a message to an incorrect e-mail in your web. With your steps I don't see clear to do it in my case. Can you put the exact steps for my app? I'm very lost. Thanks 4 help on the same day! @oguzhaninan can you be more clear than @fathomssen? Form me impossible to follow him. Sorry. Thanks 4 help on the same day!

Is this that you need?

seleccion_101

On lib

seleccion_102

plugins/imageformats

seleccion_103

plugins/platforms

seleccion_104

Now I have an AppImage and a deb done manual way and uploaded to a PPA, but I need to integrate libs to use the same deb on all ubuntu versions as I say above, not version specific seeing the version of qt on official repositories like now. @probonopd this way we'll learn the 2.

oguzhaninan commented 6 years ago

I do it using Travis CI. It's my file. If you are using a debreate, you can easily do it. file-structure

Add to postinst file ln -sf "/usr/share/ubunsys/ubunsys" "/usr/bin/ubunsys" Add to prerm file rm /usr/bin/ubunsys

My DEBIAN folder.

probonopd commented 6 years ago

debs created like that are hardly ever compliant with the distributions' rules. I'd say, either do "real" packages in the way distributions want them, or use the bundling approach and do, e.g., an AppImage.

oguzhaninan commented 6 years ago

@probonopd You're right, but it's that much easier for beginners.

adgellida commented 6 years ago

@oguzhaninan thanks brother. I did it hours ago. With debreate ok, on another machine without qt works ok, but with debian rules I'm trying to push to my PPA and not done by now. Error finding plugins folder. No errors with lib folder. Hours trying... I suspect I need a modification on debian rules file, but which?

dh_install: Cannot find (any matches for) "plugins/imageformats/libqgif.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqgif.so dh_install: Cannot find (any matches for) "plugins/imageformats/libqicns.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqicns.so dh_install: Cannot find (any matches for) "plugins/imageformats/libqico.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqico.so dh_install: Cannot find (any matches for) "plugins/imageformats/libqjp2.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqjp2.so dh_install: Cannot find (any matches for) "plugins/imageformats/libqjpeg.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqjpeg.so dh_install: Cannot find (any matches for) "plugins/imageformats/libqtga.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqtga.so dh_install: Cannot find (any matches for) "plugins/imageformats/libqtiff.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqtiff.so dh_install: Cannot find (any matches for) "plugins/imageformats/libqwbmp.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqwbmp.so dh_install: Cannot find (any matches for) "plugins/imageformats/libqwebp.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/imageformats/libqwebp.so dh_install: Cannot find (any matches for) "plugins/platforms/libqxcb.so" (tried in "." and "debian/tmp") dh_install: ubunsys missing files: plugins/platforms/libqxcb.so dh_install: missing files, aborting debian/rules:20: recipe for target 'binary' failed make: *** [binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 -------------------------------------------------------------------------------- Build finished at 20170909-0858 Finished -------- E: Build failure (dpkg-buildpackage died)

oguzhaninan commented 6 years ago

Can you send me the Debian file? with transfer.sh

adgellida commented 6 years ago

debian folder?

oguzhaninan commented 6 years ago

deb package

adgellida commented 6 years ago

This night I'll send all necessary. Can also stacer have a PPA with shared libs? Thanks.

adgellida commented 6 years ago

@fathomssen @probonopd @oguzhaninan all necessary is on the code:

adgellida commented 6 years ago

@fathomssen @probonopd @oguzhaninan, this is the status, last commit is the latest code:

adgellida commented 6 years ago

For now always using Qt 5.2.1 libs from official sources for maximun compatibility and less work for packaging.