You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Wido den Hollander <wi...@widodh.nl> on 2016/04/27 10:09:47 UTC

Building Ubuntu 16.04 packages

Hi,

Ubuntu 16.04 LTS was released about a week ago and I want to start on packages.

The cool things about the LTS:
- systemd
- Java 8
- libvirt 1.3.1
- Qemu 2.5

I'm familiar with building DEB packages, but there is something which I don't know how to fix yet.

We want to build packages for Ubuntu 14.04 and Ubuntu 16.04, but the first still uses Upstart / sysvinit and the newest uses systemd.

We already have systemd service files in 'packaging/systemd', so that is no the problem.

I however don't know how to build packages for 14.04 (Trusty) and 16.04 (Xenial) using dpkg-buildpackage.

I see other projects use tools like pbuilder [0], but I don't know how that exactly works.

Before I put a lot of effort in this: Does anybody know how to build packages for different Ubuntu versions?

Eventually we will end up with packages like:

- cloudstack-agent-XXX~trusty.deb
- cloudstack-agent-XXX~xenial.deb

Thanks,

Wido

[0]: https://pbuilder.alioth.debian.org/

RE: Building Ubuntu 16.04 packages

Posted by Wido den Hollander <wi...@widodh.nl>.
> Op 27 april 2016 om 19:38 schreef Wido den Hollander <wi...@widodh.nl>:
> 
> 
> 
> > Op 27 april 2016 om 14:19 schreef Rohit Yadav <ro...@shapeblue.com>:
> > 
> > 
> > Hi Wido,
> > 
> > Thanks for starting this discussion. I'm not sure exactly how to do it either, but I suppose we can exploit post installation step to write custom scripts that setup initd or systemd scripts at suitable locations. For this we include both init/systemd scripts in the package (let say at some location like /usr/share/... and let post install script pick up the template and setup inid scripts). This way I think we can explore if there is a way to solve for building universal deb package.
> > 
> 
> No, a postinst file is not the way to go, that I am sure of.
> 
> I'm looking at the Ceph project and how they build their packages. They have the same issue. I haven't figured it out completely, but they are not doing this in the postinst or so.
> 
> You should never do that either since dpkg should always know which files it created when installing a package.
> 

Working on the packaging: https://github.com/wido/cloudstack/commits/systemd-ubuntu1604

Learning from other projects like Ceph how have seem to have figured this out. It's all WIP.

The management server also has to go systemd for example.

Wido

> Wido
> 
> > Regards.
> > 
> > Regards,
> > 
> > Rohit Yadav
> > 
> > rohit.yadav@shapeblue.com 
> > www.shapeblue.com
> > 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> > @shapeblue
> > 
> > -----Original Message-----
> > From: Wido den Hollander [mailto:wido@widodh.nl] 
> > Sent: Wednesday, April 27, 2016 1:40 PM
> > To: dev@cloudstack.apache.org
> > Subject: Building Ubuntu 16.04 packages
> > 
> > Hi,
> > 
> > Ubuntu 16.04 LTS was released about a week ago and I want to start on packages.
> > 
> > The cool things about the LTS:
> > - systemd
> > - Java 8
> > - libvirt 1.3.1
> > - Qemu 2.5
> > 
> > I'm familiar with building DEB packages, but there is something which I don't know how to fix yet.
> > 
> > We want to build packages for Ubuntu 14.04 and Ubuntu 16.04, but the first still uses Upstart / sysvinit and the newest uses systemd.
> > 
> > We already have systemd service files in 'packaging/systemd', so that is no the problem.
> > 
> > I however don't know how to build packages for 14.04 (Trusty) and 16.04 (Xenial) using dpkg-buildpackage.
> > 
> > I see other projects use tools like pbuilder [0], but I don't know how that exactly works.
> > 
> > Before I put a lot of effort in this: Does anybody know how to build packages for different Ubuntu versions?
> > 
> > Eventually we will end up with packages like:
> > 
> > - cloudstack-agent-XXX~trusty.deb
> > - cloudstack-agent-XXX~xenial.deb
> > 
> > Thanks,
> > 
> > Wido
> > 
> > [0]: https://pbuilder.alioth.debian.org/

RE: Building Ubuntu 16.04 packages

Posted by Wido den Hollander <wi...@widodh.nl>.
> Op 27 april 2016 om 14:19 schreef Rohit Yadav <ro...@shapeblue.com>:
> 
> 
> Hi Wido,
> 
> Thanks for starting this discussion. I'm not sure exactly how to do it either, but I suppose we can exploit post installation step to write custom scripts that setup initd or systemd scripts at suitable locations. For this we include both init/systemd scripts in the package (let say at some location like /usr/share/... and let post install script pick up the template and setup inid scripts). This way I think we can explore if there is a way to solve for building universal deb package.
> 

No, a postinst file is not the way to go, that I am sure of.

I'm looking at the Ceph project and how they build their packages. They have the same issue. I haven't figured it out completely, but they are not doing this in the postinst or so.

You should never do that either since dpkg should always know which files it created when installing a package.

Wido

> Regards.
> 
> Regards,
> 
> Rohit Yadav
> 
> rohit.yadav@shapeblue.com 
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> @shapeblue
> 
> -----Original Message-----
> From: Wido den Hollander [mailto:wido@widodh.nl] 
> Sent: Wednesday, April 27, 2016 1:40 PM
> To: dev@cloudstack.apache.org
> Subject: Building Ubuntu 16.04 packages
> 
> Hi,
> 
> Ubuntu 16.04 LTS was released about a week ago and I want to start on packages.
> 
> The cool things about the LTS:
> - systemd
> - Java 8
> - libvirt 1.3.1
> - Qemu 2.5
> 
> I'm familiar with building DEB packages, but there is something which I don't know how to fix yet.
> 
> We want to build packages for Ubuntu 14.04 and Ubuntu 16.04, but the first still uses Upstart / sysvinit and the newest uses systemd.
> 
> We already have systemd service files in 'packaging/systemd', so that is no the problem.
> 
> I however don't know how to build packages for 14.04 (Trusty) and 16.04 (Xenial) using dpkg-buildpackage.
> 
> I see other projects use tools like pbuilder [0], but I don't know how that exactly works.
> 
> Before I put a lot of effort in this: Does anybody know how to build packages for different Ubuntu versions?
> 
> Eventually we will end up with packages like:
> 
> - cloudstack-agent-XXX~trusty.deb
> - cloudstack-agent-XXX~xenial.deb
> 
> Thanks,
> 
> Wido
> 
> [0]: https://pbuilder.alioth.debian.org/

RE: Building Ubuntu 16.04 packages

Posted by Rohit Yadav <ro...@shapeblue.com>.
Hi Wido,

Thanks for starting this discussion. I'm not sure exactly how to do it either, but I suppose we can exploit post installation step to write custom scripts that setup initd or systemd scripts at suitable locations. For this we include both init/systemd scripts in the package (let say at some location like /usr/share/... and let post install script pick up the template and setup inid scripts). This way I think we can explore if there is a way to solve for building universal deb package.

Regards.

Regards,

Rohit Yadav

rohit.yadav@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London  WC2N 4HSUK
@shapeblue

-----Original Message-----
From: Wido den Hollander [mailto:wido@widodh.nl] 
Sent: Wednesday, April 27, 2016 1:40 PM
To: dev@cloudstack.apache.org
Subject: Building Ubuntu 16.04 packages

Hi,

Ubuntu 16.04 LTS was released about a week ago and I want to start on packages.

The cool things about the LTS:
- systemd
- Java 8
- libvirt 1.3.1
- Qemu 2.5

I'm familiar with building DEB packages, but there is something which I don't know how to fix yet.

We want to build packages for Ubuntu 14.04 and Ubuntu 16.04, but the first still uses Upstart / sysvinit and the newest uses systemd.

We already have systemd service files in 'packaging/systemd', so that is no the problem.

I however don't know how to build packages for 14.04 (Trusty) and 16.04 (Xenial) using dpkg-buildpackage.

I see other projects use tools like pbuilder [0], but I don't know how that exactly works.

Before I put a lot of effort in this: Does anybody know how to build packages for different Ubuntu versions?

Eventually we will end up with packages like:

- cloudstack-agent-XXX~trusty.deb
- cloudstack-agent-XXX~xenial.deb

Thanks,

Wido

[0]: https://pbuilder.alioth.debian.org/