Open timfallmk opened 10 years ago
Yeah, I wanted to wait till the code was in a stable state (no more changes to the build system and so on). Right now I think it might be time to really consider packaging.
Debian/Ubuntu have "alien" to install RPMs. Tell me how the dependencies are called there and I can add them to the spec file (or one of you does it) but I think you meant .deb packages.
Right. I definitely meant debs. Alien is a good hack, but not for permanent packages. Sent using CloudMagic On Fri, Oct 03, 2014 at 4:28 PM, KAMiKAZOW notifications@github.com wrote:Debian/Ubuntu have "alien" to install RPMs. Tell me how the dependencies are called there and I can add them to the spec file (or one of you does it) but I think you meant .deb packages.
—Reply to this email directly or view it on GitHub.
Have you considered something like Bin Tray for a build/serve system? Sent using CloudMagic On Fri, Oct 03, 2014 at 4:37 PM, Tim Fall tim@midokura.com wrote:Right. I definitely meant debs. Alien is a good hack, but not for permanent packages. Sent using CloudMagic On Fri, Oct 03, 2014 at 4:28 PM, KAMiKAZOW notifications@github.com wrote:Debian/Ubuntu have "alien" to install RPMs. Tell me how the dependencies are called there and I can add them to the spec file (or one of you does it) but I think you meant .deb packages.
—Reply to this email directly or view it on GitHub.
Actually the LSB standard says that RPM is the proper permanent solution and there is no sane reason why RPMs shouldn't be understood by apt but that's an off topic discussion. :-)
Bintray is a commercial service. Open Build Service does the same as proper FOSS solution with a free of charge instance running on http://build.opensuse.org (incl support for Debian and Ubuntu), although I think getting CRT into Debian itself would be the best course of action. All Debian derivatives (like Ubuntu) would inherit CRT automatically.
It was just a suggestion. And I'm not sure if it's "commercial" but it is free.Sent using CloudMagicOn Fri, Oct 3, 2014 at 17:48, KAMiKAZOW notifications@github.com wrote: Actually the LSB standard says that RPM is the proper permanent solution and there is no sane reason why RPMs shouldn't be understood by apt but that's an off topic discussion. :-)
Bintray is a commercial service. Open Build Service does the same as proper FOSS solution with a free of charge instance running on http://build.opensuse.org (incl support for Debian and Ubuntu), although I think getting CRT into Debian itself would be the best course of action. All Debian derivatives (like Ubuntu) would inherit CRT automatically.
—Reply to this email directly or view it on GitHub.
I would also love to see this packaged as a .deb - hope this happens soon.
So I made some initial manifest which build into .deb just fine on my system. Pull request created. Now it's up to someone to configure OpenBuildService to produce the packages.
The pull request was merged, so to build a .deb you can tun these commands:
1) install dependencies:
2) fetch sources and build the deb: $ mkdir crt_debian && cd crt_debian && git clone https://github.com/Swordfish90/cool-retro-term.git && tar -cvzf cool-retro-term_0.9.orig.tar.gz cool-retro-term/* && cd cool-retro-term && cp -r packaging/debian . && debuild -us -uc
Building doesn't even start in my OBS test repo. It just says "excluded". Apparently something called dsc file is required as well, at least that's what exists under https://build.opensuse.org/package/show/shells:fish:release:2/fish
Hmmm... Interesting. The .dsc file contains checksums of archives and is generated during package build [1]. This kind of defeats the whole purpose of automated builds, or maybe I'm misunderstanding something. Still, I've shared the files I got during my build so that you can test if this makes the build run [2]. The resulting .deb is there as well just in case.
[1] https://wiki.debian.org/dsc [2] https://www.jekader.net/owncloud/public.php?service=files&t=b3830181c15fcc8924f11555ce6cff7a&path=%2F0.9
Maybe it's also that the source package has to have ".orig" in its name? I have absolutely no clue. Debian packaging seems insanely convoluted – 5 files + 1 directory with an additional file to achieve the exactly same thing an RPM can do in a single file (two if you outsource the changelog).
Considering that I'm not using any Debian-based distribution, I don't have that much motivation to find out the details about Debian packaging (I'm still learning RPM ;) ). Maybe one of you guys want to register an account on https://build.opensuse.org/ and try for yourself?
@KAMiKAZOW I tried to build it but it's missing dependencies on the build service. Wanted to put it on Launchpad instead, and guess what I randomly found?
https://launchpad.net/~joern-schoenyan/+archive/ubuntu/lxqt/+packages
A chap is trying to build it on Launchpad! Need to get in touch with him to inform about this thread.
Really a nice coincidence ;-)
Well, that dependencies are missing at all in Ubuntu Trusty, but they do exist in Utopic.
I've added qt5-default to the build dependencies and it builds! Can't test it right now, because I'm still on Trusty and crashed my Utopic VM few days ago. So feel free to test it ;-)
@JoernSchoenyan thank you! Tested to install and work on Debian Sid amd64. Please create a pull request to add the build dependency. Otherwise tell me and I'll do that. Also, can you somehow automate the process on launchpad to regularly pull and build latest git commits?
I guess yes, even if I've never tried it. I will take a look into that tomorrow and inform you about my progress.
Hello everyone, short update:
Good news: with different dependencies it's now building correctly in Ubuntu Trusty (tested locally with pbuilder). The bad news: Launchpad isn't able to import the Git repo.
2014-10-18 11:53:24 INFO Unable to import branch because of limitations in Bazaar. 2014-10-18 11:53:24 INFO The repository you are fetching from contains submodules, which are not yet supported.
I've uploaded the debian folders to my Google Drive, there is one for Trusty (not sure if it would work for Precise - I guess not) and one for Utopic, which should work in the next cycle, too. In the future, there will be a smaller diff to Debian regarding Qt than in the past.
Copy the appropiate debian-* folder in the source folder, then:
dch (if you want to update the changelog for example to bump the version) debuild -S -sa (to build the source package - you will need an archive with the source, too, but only once per version. so when you've uploaded 0.9, you can omit -sa and run only debuild -S) dput ppa:your-team/your-ppa ../cute-retro-term_0.9-2~trusty1_source.changes (or simmilar)
I hope that helps ;-)
https://drive.google.com/file/d/0B5KBmyjlQESwS202Yzh6VkJuTWM/view?usp=sharing
I have succesfully used @JoernSchoenyan debian folder to package to a Ubuntu PPA, and it's install without issues on my Trusty laptop, including all the dependencies.
https://launchpad.net/~bugs-launchpad-net-falkensweb/+archive/ubuntu/cool-retro-term/
@tomchiverton Good news. Which version are you currently packaging?
If someone is interested in packaging it for Ubuntu 14.10 there is a known issue between the default Qt version and libxext (stdout gets flooded with error messages slowing down the experience). The only solution is to grab the vivid version of libxext.
@Swordfish90 master as of last night
@tomchiverton Good. It's better to update the version in the package then. I can still read 0.9, which was a sort of boilerplate version we had before.
@Swordfish90 what version should the package be called ? I can easily call it any version regardless of what the internal original source file is called.
Also, I'm not sure what 'vivid version' of libext refers to. In theory we can have a different dependency for 14.10 or statically compile against our own version though, so that's fixable.
@tomchiverton This is the ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1369113 . This is related to steam games but the error is the same. This bug was fixed upstream in the following commit:
http://cgit.freedesktop.org/xorg/lib/libXext/commit/?id=11aad96bd689d54156064d2e81213dc827a689d1
At the moment I've installed the libxext version from vivid on my laptop (http://packages.ubuntu.com/source/vivid/libxext) but I understand this is a suboptimal solution. So if someone has a better idea I'm all ears.
@Swordfish90 I'm tempted to publish the package as is for 14.10 then, and note on the PPA web page that you should upgrade that library if you find the performance poor ?
@tomchiverton Agreed. I think it's probably the best solution at the moment. We'll see if someone has a better solution in the long term.
Done.
The RFP for a cool-retro-term Debian package is at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758238
The RFP is over a year old, and needs a lawyer to unpick the licence issues. I think sticking with a PPA is the best plan.
For instance, yes. @Swordfish90 may have a licence grant we don't know about, for instance.
@tomchiverton ... I'm sorry I completely forgot about the licensing issues. I don't have any license grant and I think this needs to be addressed quite soon. To the experts here: getting those licenses would solve all the problems with the Debian packages or we are forced to remove the non-free fonts?
I think you'd have to completely remove Monaco. I think other non-free fonts would have to be packaged in separate non-free packages, but maybe you could start with a package that provides only free fonts?
You can ask the Debian people by replying to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758238
I am not able to build the current git repo on Debian unstable.
user@TONNE:~/share/work/cool-retro-term$ LANG=en-US.UTF-8 qmake
user@TONNE:~/share/work/cool-retro-term$ LANG=en-US.UTF-8 make
cd qmltermwidget/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/user/share/work/cool-retro-term/qmltermwidget/qmltermwidget.pro -o Makefile ) && make -f Makefile
Cannot find file: /home/user/share/work/cool-retro-term/qmltermwidget/qmltermwidget.pro.
Makefile:43: recipe for target 'sub-qmltermwidget-make_first-ordered' failed
make: *** [sub-qmltermwidget-make_first-ordered] Error 2
My PPA is available for 16.04, so it must be able to build on that platform ?
@tomchiverton Ubuntu 16.04 is far away from Debian unstable. It is not the same plattform.
Correct. I am unsure of how far the two diverge at the moment. What KDE platform version is unstable ? (K)ubuntu is using 5.5.
I don't use KDE as desktop. Not sure what libs are in the system. You can find details at Debians Package Tracker. e.g. for meta-kde.
Maybe you want to add an Atari 800 font? www.aiei.ch/atari/
Oh and https://github.com/rewtnull/amigafonts (the ttf/ directory)
You could build an AppImage on Travis CI and reach users of debian, Ubuntu, CentOS, Fedora, Linux Mint, elementary OS, openSUSE, and many other distributions with just one and the same AppImage.
There are a lot of discussed disadvantages of such image-formats (AppImage, Snappy, etc). It is not recommended. And this Issue is about debian packes and not alternative solutions.
It's not an either-or...
As always, pull requests are welcome ;)
I'm having problems packaging (well running the software) when removing non-free fonts: my app/qml/fonts only has
modern-hermit modern-inconsolata modern-pro-font-win-tweaked modern-proggy-tiny modern-terminus
and the others removed, where else do I have to edit that the fonts are gone? Any way you separate the non-free fonts from the building, and have them optional?
It would be great to have built packages for debian environment, namely Ubuntu. There are lot of build requirements that would make it harder to build yourself.