gnunn1/tilix

Need package maintainers

gnunn1 opened this issue ยท 203 comments

I'm currently maintaining the Arch package for Terminix but would like to hand it over to someone else so I can concentrate on development. If you use Arch and have experience maintaining a package and are interested in taking this on feel free to let me know.

Additionally, as per the suggestion below package maintainers for other distros would certainly be welcome.

Would love to have a copr repo for fedora too! ๐Ÿ‘

I'm now also maintaining packages for Fedora 23 and CentOS 7 on the openSUSE Build Service (OBS) thanks to the generosity of Asif Ali Rizvan for putting together the necessary spec file. However, like the Arch package I'd prefer to transition this to someone else so I can concentrate on development.

I'm trying to create an AUR package terminix-git and build the git master in arch, but I'm having some trouble.

I installed dub and dmd from the official repos, then I run dub build --build=release, as indicated in the README.md. Everything seems to compile and link fine. I created a PKGBUILD and it installs identically to the current terminix package, but when I try to run $ terminix it crashes with the following message:

object.Exception@../../../../../.dub/packages/gtk-d-3.2.1/src/gtkc/Loader.d(123): Library load failed: libvte2_91.so

Any clues?

Edit: once I manage to create a stable terminix-git package, I can take over terminix also.

There hasn't been a release of GtkD yet with the two patches you would need. One fixes the libvte library name and the other fixes a serious memory issue. I've been building Terminix off of a local git version of GtkD, hence why if you look at dub.json the dependency references a specific commit.

To make the build work, you would need to clone the GtkD git repository and then use dub to add it as a local repository. I don't this would be very practicable at this point in time. It's probably best to just wait for GtkD to do a new release.

On another note, any interest in taking over the terminix AUR package from me?

Oops ignore my last sentence, didn't see your offer at the end :)

Ok, waiting for the fixed GtkD release.

AUR package terminix-git is alive and running (well, works for me anyway). You can transfer terminix to me also (I don't know exactly how to do that, but I think you can disown it and then I take it?). I'll adapt my compile-from-source PKGBUILD, ok? Also, I'll tentativelly enable i686 architecture, but I cannot test it. Is there any special differences in the build process for that?

That's great, thanks for doing this. I'm out for a few hours but when I
get home I'll see what it's involved with transferring the package.

For the i686 probably best not to enable it as I'm not planning on
supporting it at this time as per the FAQ. If someone wants to take on 32
bit and can support it with patches and fixes I'd consider it but at this
point people could report bugs against it and I would be ignoring them
which isn't a great situation.

Cheers,

Gerald
On 23 Jan 2016 12:13 p.m., "dsboger" notifications@github.com wrote:

AUR package terminix-git is alive and running (well, works for me
anyway). You can transfer terminix to me also (I don't know exactly how
to do that, but I think you can disown it and then I take it?). I'll adapt
my compile-from-source PKGBUILD, ok? Also, I'll tentativelly enable i686
architecture, but I cannot test it. Is there any special differences in the
build process for that?

โ€”
Reply to this email directly or view it on GitHub
#25 (comment).

Ok, understood, i686 removed from terminix-git.

I've added you as a co-maintainer for terminix so you should be able to manage the package from now on, I can't see how to drop my status as maintainer and have you take over though. I'll google some more if needed ask in the forums about this.

Would you like to keep the binary distribution in AUR, or can I replace the current PKGBUILD with a build-from-source one? I could create a new package terminix-bin for the binary distribution, if you want.

I'd prefer binary myself, otherwise wouldn't the user have to install of
cruft on their system to do a from source build like the dmd package and
dub? Additionally, it also facilitates things if I ever to manually patch
libraries again like GtkD. Personally I'd prefer to keep the terminix
package and just get it assigned to you, is the -bin style common on Arch,
I just checked the packages I have and didn't see any.

I just googled for 'transfer AUR package' and apparently the word transfer
was the package was the key, all I have to do is disown the the package and
you will become the official maintainer, is that alright with you?

https://bbs.archlinux.org/viewtopic.php?id=199613

On Sat, Jan 23, 2016 at 7:30 PM, dsboger notifications@github.com wrote:

Would you like to keep the binary distribution in AUR, or can I replace
the current PKGBUILD with a build-from-source one? I could create a new
package terminix-bin for the binary distribution, if you want.

โ€”
Reply to this email directly or view it on GitHub
#25 (comment).

Ok, no problem! That means you will continue to provide binaries same as of now? The -bin was intended as disambiguation in case we had both. Personally, I'm used to building AUR packages from source, or installing from binaries, no preferences.

It's alright.

Yes, I will continue to do releases on github with the binaries pre-built just as I do now. I'll go ahead and dis-own the terminix package, hopefully this works.

That was easy, it worked fine, you are now the maintainer so congratulations. :)

Package maintainers please be aware that the next release will include localization, this means copying mo files to /usr/share/locale when installing terminix. As per now, the release archive will have all the mo files in the right location so hopefully it's easy to get things installed correctly. There will be a an english mo file (en.mo) and hopefully one other language to handle.

Just one more FYI, I'm including the nautilus "Open in Terminix" extension in tonite's release which will create a dependency on the package libnautilus-extension in Arch. I would suggest making this an optional dependency in case people don't have Nautilus installed. The py file can still be installed with no ill effect.

Are there any deb packages available?
A PPA would be great.

Not that I am aware of, if you want to create one that'd be great.

I tried to build a DEB package (in Debian Testing) with no success, if finally I can build a functional package, I will try to keep it up to date.

Creating a proper Makefile would be very beneficial to packagers.

Unfortunately I'm not very knowledgeable of make as none of the programming toolchains I use (Java and D) really make much use of it.

I'd like to point that the library needed for the "Open Terminix Here" nautilus extension is actually python2-nautilus (in Arch, at least), and not libnautilus-extension, as stated above.

dsboger, I made a mistake and accidentally uploaded an old version of terminix rather then the current 0.50.0 one. Can you please update the package signature and bump the minor version number to trigger an update. My apologies about this.

Done.

@gnunn1 To bounce off of @carlwgeorge's point, I can't make a Fedora package for this because of the lack of a Makefile or a CMake script or something else that can build this package from source. Unfortunately dub is not available in Fedora yet, though it is undergoing review.

@Conan-Kudo Understood, unfortunately like I said earlier though I don't have enough familiarity with Make to do this very easily. GtkD does use a make file though, I'll have a look at it when I get some time.

I have pushed to AUR a new version of the PKGBUILD for terminix-git [1]. This new version pulls latest GtkD from master. I've added a dub command to make it use the cloned repo for gtk-d dependency and another to forget it after building terminix. I have not much experience with dub, so I'm not sure I've done it the right way. Although the script seems to work, It'd be great if someone could review it.

[1] https://aur.archlinux.org/packages/terminix-git/

Had a quick look and seems reasonable to me. When the package gets built, you should see a bunch of .a files appear in the GtkD directory you cloned, if you see that then it is working correctly.

Are you still interested in a copr repo for Fedora?

@Smando87 Absolutely

@Smando87 I just tried it out, works very well. Are you willing to keep this up to date? If so, I'll disable the Fedora RPM build in OBS in favor of this and include this in the list of available builds.

Any chance you would add Redhat 7 to your copr so I can get rid of maintaining OBS completely?

Yes i'll keep up to date, but give me about 2/3 days for automate the builds and extends the repo for other version of fedeora e REHL if possible.

@Smando87 Any update on this?

I can create a PPA for Ubuntu 15.04, 15.10 and 16.04 :-) but I can do it only next week! ๐Ÿ‘

@paolostivanin Sure that would be great, thanks.

Great @paolostivanin I can test the package in Debian Testing, and probably, in Unstable.

@paolostivanin any updates to the PPA?

Fedora COPR is in progress ๐Ÿ˜„

@HeikoAdams Are you willing to keep this COPR up to date, if so I'll deprecate my OBS version of the rpm's and link to your COPR on the project page.

@graingert sorry all, but I have been very busy these days. By Friday night I will give you the link to the PPA :-)

@gnunn1 I'll try to keep it up to date.

@HeikoAdams You're missing the %{?dist} tag in your spec Release field. See this Fedora wiki page on why you need it.

@Conan-Kudo yes, you're right. Will be fixed with next build

Maybe we can still keep one OBS running? AFAIK COPR only builds for fedora, and it's sad to have rpms for fedora but not for openSUSE. OpenSUSE has a rolling distribution anyway.
I'll spend a few days to check specs. If I don't run into trouble, I could possibly be packaging for SUSE systems.

@DavidGai I'm not even building an openSUSE rpm in OBS as far as I can tell? Anyway, I desperately want to get out of the business of managing and building packages as it takes time away from development, hence why I want to deprecate the OBS version. If you want to take it over and keep it up to date let me know :)

True, I went through your OBS and found no openSUSE build. I'm currently
working on that thing offline. I'll inform you when my building scripts are
good enough.

Hi, all, I'm working on the ppa right now!
cheers

update: I have a problem with Launchpad, I have dput'ted the package correctly but I'm not getting the email notification that it has been accepted/rejected -.-

update: packaged gtkd-3 for openSUSE on OBS, think I've done it properly. If things don't break, terminix should be there tomorrow.

@paolostivanin Any luck resolving the issue with launchpad? If there is anything I can do to help just let me know.

@paolostivanin Your ppa is empty. How are you uploding? Did you use debuild -S -sa? Can you show your code?....may be uploading it to a bazaar branch first?

Just an FYI, I'm shutting down the OBS build service I maintain at the end of April and getting out of the packaging business completely. It will be up to the community to create and maintain packages from that point forward. @dsboger does a great job with maintaining the Arch package, hopefully others will step up over time for the other distributions but I'm done spending time on packaging instead of developing.

@gnunn1 my COPR is back on the road and up2date again. ๐Ÿ‘

If somebody want's to help maintaining the COPR requests are welcome ๐Ÿ˜„

@HeikoAdams That's great, but to put it on the front page as the official COPR it really needs to get updated a day or two after each release. If you can commit to that let me know.

@gnunn1 I've subscribed the releases feed so the COPR should be up2date in time

@HeikoAdams Thanks, I'll update the front page to point to your COPR and deprecate my OBS.

kmf commented

@paolostivanin how's the Ubuntu Packages coming along .... do you need assistance of some sort?

Hi, all,
sorry for the long delay but I was busy with my master's thesis defense.
I tried to setup a new ppa, I dput'ted the package, everything went fine but I never received any confirmation email -.-
Honestly, I don't know what to do, it never happened to me before :-/

For those who is interested in getting terminix installed right away on Ubuntu 16.04:

$ sudo aptitude install deb
$ wget http://downloads.dlang.org/releases/2016/dmd_2.071.0-0_amd64.deb
$ sudo dpkg -i dmd_2.071.0-0_amd64.deb
$ git clone https://github.com/gnunn1/terminix.git && cd terminix
$ dub build --build=release
$ chmod +x install.sh
$ sudo ./install.sh

You are there! ๐Ÿ’ƒ

Don't really fancy running sudo ./install.sh
On 20 Apr 2016 08:44, "Alexander Shchapov" notifications@github.com wrote:

For those who is interested in getting terminix installed right away on
Ubuntu 16.04:

$ sudo aptitude install deb
$ wget http://downloads.dlang.org/releases/2016/dmd_2.071.0-0_amd64.deb
$ sudo dpkg -i dmd_2.071.0-0_amd64.deb
$ git clone https://github.com/gnunn1/terminix.git && cd terminix
$ dub build --build=release
$ chmod +x install.sh
$ sudo ./install.sh

You are there! [image: ๐Ÿ’ƒ]

โ€”
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#25 (comment)

Well, this is the way you install any package, @graingert, isn't it? If it is deb, you'll run apt against it with sudo. You may want to supply prefix other than /usr it defaults to, but this is a different story then.

@graingert Completely understandable, hopefully at some point someone steps up and puts together a working deb file.

@alexanderad, your instructions don't work for me. dud is not included in the package you linked to.

But installing dub and dmd from the official PPA works: http://d-apt.sourceforge.net/

@gnunn1 It is difficult to compile and create a deb (packaging binary into deb is different) under Ubuntu as dub and dmd are not available in Debian unstable. That means, you first need to get those binaries into ppa......then you can upload the source into the same ppa and let launchpad to compile....

May be we could send a mail to Debian mailing list or dub/dmd maintainer to upload it in Debian sid.

@khurshid-alam that's what I tried to do. I have created packages for D, GtkD and Terminix but after I dput'ted D I've never received a confirmation/rejection e-mail from Launchpad -.-
Launchpad is the worst build system I have ever used...

@paolostivanin That's weird. Could you please upload your source to a bazaar branch or in Github....even a shared dropbox folder will do.....I will take a look. Thanks.

@khurshid-alam While not a PPA, is something like d-apt feasible?

http://d-apt.sourceforge.net/

@gnunn1 Sourceforge contains the binary.Launchpad does not allow uploading of binary packages directly. It needs you to upload the dsc file along changes and original tarball. Then the build system builds it in a clean chrooted environment. And you can add another ppa as a dependency.

That is why we need the source (along with debian folder) of dub and dmd. I tried with apt-get --allow-unauthenticated source gtkd, but I am getting authentication error.

@khurshid-alam Thanks for the detailed explanation, for those interested there is some discussion happening around getting D packaged for debian on the D forums, here is a link:

http://forum.dlang.org/thread/ivbnsgqoyjrxkkhvzhcg@forum.dlang.org

Shooting a blank here but, AppImage seems like a nice solution to a packaging problem.

@mannol I have put together a quick AppImage which can be downloaded here. To use it download, chmod a+x, and run.

Works for me on Ubuntu 16.04, I did not test it on other distributions yet. Due to Terminix' dependencies on very new libraries which I did not bundle in this AppImage I would not expect it to run on much older distributions. Let me know how it goes.

@probonopd That's very cool, works well on my Arch system. If you (or someone else) is willing to keep this up to date I'd be happy to put a link to it with the other distributions on the front page.

@gnunn1 Some more testing is required on different distros. What is the oldest distribution you are supporting?

@probonopd I see this more as an option for distributions where a package isn't available, in the case Ubuntu based ones are the biggest hole right now. Ubuntu 15.04 and Elementary Freya would probably be the oldest in that category. I also support RHEL 7.2 but it has an rpm package in COPR already so this would be less needed for that.

@gnunn1 on elementary OS Freya it does not work due to the missing libvte-2.91.so.0 at the moment. Freya comes with libvte2_90.so.9.

PRETTY_NAME="elementary OS Freya"
VERSION_ID="0.3"
...
object.Exception@../../../.dub/packages/gtk-d-3.3.1/src/gtkc/Loader.d(123): 
Library load failed: libvte-2.91.so.0

I am not sure if bundling libvte inside the AppImage is a good idea because it draws in a huge load of dependencies.

Can you relax the libvte requirement and accept older versions too?

@probonopd Possibly, right now the vte library version is statically specified in GtkD in paths.d but there might be some options here. Give me some time to look into it.

On CentOS 7 I get

2016-05-01T15:13:24.340:resource.d:getResource:102 Unexpected error loading resource /com/gexperts/Terminix/css/terminix.Adwaita.css
2016-05-01T15:13:24.340:resource.d:getResource:103 Error: The resource at '/com/gexperts/Terminix/css/terminix.Adwaita.css' does not exist

Any idea what I could do about it?

@probonopd You can ignore it, it has no impact on functionality. It's a result of adding per theme CSS support, I need to tweak things so theme CSS which isn't present isn't reported as an error.

@probonopd At the moment there is no way to downgrade the VTE as it is hard coded in GtkD. Thus I would only worry about distros with the supported VTE version for AppImage.

OK, that's pretty much what https://bintray.com/probono/AppImages/Terminix/_latestVersion#files is doing right now.

Has anyone actually succeeded in getting a source build done? So far I have only seen repacks of pre-compiled binaries. See #304 for my failed attempts on creating a proper package for @openSUSE.

@Mailaender terminix-git on AUR (https://aur.archlinux.org/packages/terminix-git/) compiles from source and works fine (I use it daily). Have a look at the build() function in the PKGBUILD (https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=terminix-git, lines 25 to 36 plus 43 are only needed to avoid dub from pulling and building GtkD in the ~/.dub directory).

Thanks. That helped a lot. Finally: the first package that really compiles from source https://build.opensuse.org/request/show/394122

@Mailaender That's awesome, thanks for all of your work on this. If you are committed to keeping this up to date I would love to add a link to the project page to it, just let me know.

You can link https://software.opensuse.org/package/terminix which will pick up official packages as well as community packages of various quality. I could try to submit this to openSUSE:Factory, but the lacking dependency management of dub might cause the review to fail.

Is anyone interested in adopting the AppImage?

@probonopd For the app image -- can you add -w $HOME to the execute command? I get dumped in some weird directory.

Hello folks, I'm doing an experiment of implementing autotools support for building terminix dynamically linked against system-wide gtkd/vted, without dub. Most of the process is working, but the gtkd-3 and vted-3 shared libraries must also have been compiled with dmd. What is not ironed out yet is the i18n/l10n support with gettext, especially updating the pot/po files with new strings (I'll use the script extract-strings.sh for now).

I intend to use that support in the terminix-git package in AUR, in the hopes that it might be merged upstream once properly tested. dub is nice for taking the build process out of the way of development, but not that nice for downstream packaging (and that is out of its scope, actually). What do you think?

@dsboger Sounds great, I would be quite happy to accept an autotools based build as an alternative to dub. Thanks for taking this on!

@probonopd It would be nice if you can set ARCH="all" in the appimage recipe....may be as a separate recipe just to check whether it can compile for i386/i686 (32 bit) as well. The thing is I want to run terminix everywhere including on older computers (at my office). :)

I've pushed autotools support to my tree (https://github.com/dsboger/terminix). Updated terminix-git on AUR to latest release and changed it to build using autotools. terminix-git depends on gtkd-dmd (also on AUR) and links dinamically against it. I created gtkd-dmd because gtkd is compiled with ldc, but latest release of ldc cannot build terminix and we cannot link binaries from different compilers. Everything is on AUR already, re-testing everything right now.

EDIT: I'll make a PR as soon as I test it properly.

@probonopd For the app image -- can you add -w $HOME to the execute command? I get dumped in some weird directory.

Done @mehcode, starting with the 0.60.0 AppImage.

check whether it can compile for i386/i686 (32 bit) as well

@dsboger I currently only do 64-bit builds but it would be trivial to also do 32-bit builds. I hope that someone from the terminix project (upstream) will take over the AppImage recipe and do "official" builds that are provided directly by the project, similar to https://musescore.org/en/download#AppImage

@probonopd Just to be clear, hopefully someone will volunteer to take over the AppImage but it won't be upstream in the sense of me (i.e. primary Terminix developer/maintainer) taking it over. I don't want to be in the packaging business, it takes too much time away from development and too much distro specific knowledge, hence this topic looking for volunteers.

I'm happy to support package maintainers though in any way I can other then actually being directly responsible for the packaging.

@gnunn1 I want to be the repository maintainer for Ubuntu. What do I need? To become an official repository

@gargullia All I'm looking for is someone to create a PPA with a working deb package and is willing to keep it up to date. If you do that, I'd be happy to add a link on the Terminix home page to your PPA.

Until someone gets dmd and whatever other dependencies are missing from the official Ubuntu/Debian repositories, into the repos, I doubt someone will create a PPA for Terminix. Looking at dmd, it looks pretty complicated to package just for a PPA (and Launchpad PPAs can't depend on external repositories like the d-apt repo).