Libretime: Debian Packages

Created on 28 Mar 2017  路  14Comments  路  Source: LibreTime/libretime

Issue

There used to be .deb files for both ubuntu and debian. I did some mucking about with the packaging scripts and produced some hacky packages that didn't work. If anyone want's to test them, I attached them to the release..

Since I'm not debian native, I'm not sure on how we want to proceed. It looks to me like there are a couple of options and I can make out the following tasks:

Proposed Solution

  • [x] move packaging scripts to https://github.com/LibreTime/libretime-debian-packaging
  • [x] clean up packaging scripts properly
  • [x] decide if we want the debian/ folder in the main repo or its own one 鉃★笍 in it's own repo, linked above
  • [x] do serious testing of the packages and the install experience
  • [x] fix documents to reflect how the install works (and maybe backport the missing bits)

If I get positive feedback on the packages (or fixes) I'll do them manually on the next couple of releases until we get this sorted.

infrastructure

Most helpful comment

I have adopted silan and uploaded the new version 0.0.3-1 to Debian Sid. It will be available in testing once the cool-down period is over (10 days). While this is happening I will continue trying to package LT for Debian, sorry that this is taking so long.

All 14 comments

Tried on test server with installed Libretime:

Selecting previously unselected package libretime.
(Reading database ... 44353 files and directories currently installed.)
Preparing to unpack libretime_3.0.0.alpha-1_all.deb ...
Unpacking libretime (3.0.0~alpha-1) ...
dpkg: dependency problems prevent configuration of libretime:
libretime depends on liquidsoap-plugin-opus; however:
Package liquidsoap-plugin-opus is not installed.
libretime depends on monit; however:
Package monit is not installed.
libretime depends on multitail; however:
Package multitail is not installed.
libretime depends on zendframework | libzend-framework-php; however:
Package zendframework is not installed.
Package libzend-framework-php is not installed.

dpkg: error processing package libretime (--install):
dependency problems - leaving unconfigured
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Errors were encountered while processing:
libretime

I can remove most of these deps. To not break opus support we have to figure out if we can get debian to bump liquidsoap for the liquidsoap-plugin-opus dep. It looks like that was part of legacy upstreams packaging efforts. I'll check if I can do an NMU on the package without to much work.

Liquidsoap is close to next release so I'll wait for that with the update. Also, Liquidsoap has decided not to maintain the packages themselves anymore and are switching to telling folks to use opam for installing it.

It looks like liquidsoap-plugin-opus is available on debian (PTS link). Maybe it's only available in current debian. I'll probably change it to a recommendation so we can move on.

decide if we want the debian/ folder in the main repo or its own one

Generally it is a good idea to keep this out of the main source tree and let the maintainer host it somewhere (Debian SCM, or somewhere else open). This means that all patches and Debian/Ubuntu specific things are not lugged along when other distros come to packaging LibreTime

@paddatrapper I'm fine with keeping it separate and will do the same when I get to cleaning up the RPM build situation for CentOS. I just sent you an invite to the Contributors Team on the LibreTime orga. I'll set up a repo for the debian packaging efforts and add you to the Maintainers Team so you can merge on it. Let me know how I should call the repo and I'll get it done.

Thanks for adding me

Let me know how I should call the repo and I'll get it done.

Probably libretime-debian-packaging or something similar. The
packaging tools require an initial name of libretime-, but
this is only to set it up.

You also mentioned Debian SCM. Is that an option and would it be preferable?

I don't currently have write permission there (requires you to be a DM/DD) and am still waiting for write permission for another package of mine. Currently I suggest it is hosted here and we can consider moving it if/when I or someone else gains write access. It doesn't make much difference to the packaging process

I created https://github.com/LibreTime/libretime-debian-packaging and gave you write access. Let me know if you need anything more.

Thanks. That should be all. I'll work off the current tagged release, but I won't try get it into the archive until a more stable release has been done

I'm doing some final tests and plan on tagging 3.0.0-alpha.1 soonish. The libretime-3.0.0-alpha.tar.gz tarball I attached to 3.0.0-alpha already contains composers vendor dir so you you can package it on a box that doesn't need internet access just to run composer. I'll put the same kind of tarball up on the next tag as well (my centos stuff is based on it).

I have adopted silan and uploaded the new version 0.0.3-1 to Debian Sid. It will be available in testing once the cool-down period is over (10 days). While this is happening I will continue trying to package LT for Debian, sorry that this is taking so long.

Almost all of the initial work on the deb installer has been done. I am able to install and step through the setup in a clean Ubuntu Xenial (16.04) LXC container. For some reason the airtime-celery systemd unit keeps failing, but I can't find why... Any ideas would be much appreciated. The current deb can be found here. Install by running

apt install /path/to/deb/libretime_3.0.0~alpha.5-1_amd64.deb

This should resolve all dependencies and set everything up. You may need to remove the default apache site, as I don't want to mess with another packages files.

So the deb version is up and running, I suggest we update docs to make it an explicitly supported method for installing LT and have bug reports reported to the packaging repo. Once that is done, this can be closed

Was this page helpful?
0 / 5 - 0 ratings