Build script for Debian 9 stretch and GCC 6

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Build script for Debian 9 stretch and GCC 6

Max Leske
 

Hi,

At Netstyle we need to be able to build the VM ourselves for our infrastructure. With the current build setup that isn't possible but since we really need to do this we went ahead and hacked together a build script for pharo.cog.spur (threaded) for Debian 9 stretch that also works with GCC 6.

You can find the script on GitHub: https://github.com/Netstyle/opensmalltalk-vm-build-script.

We've also automated building a debian package for the VM (not part of the script), so if anyone is interested I can provide that part too.

We hope that this build script will help make it easier for other people to build the VM on their own infrastructure.

Please consider improving the build setup. There are too many magic things happening in places hard to find (e.g. that magic checkout that completely changes the build output).

Cheers,
Max

Reply | Threaded
Open this post in threaded view
|

Re: Build script for Debian 9 stretch and GCC 6

fniephaus
 
Hi Max,
It'd be great if we could use this to automatically produce Debian packages of all supported OSVMs. These packages should also work on Ubuntu and other Debian-like distros right? What would it take to integrate your script into our current CI pipeline? Where could the packages be hosted?

Cheers,
Fabio

On Sat, Mar 16, 2019 at 10:09 AM Max Leske <[hidden email]> wrote:
 

Hi,

At Netstyle we need to be able to build the VM ourselves for our infrastructure. With the current build setup that isn't possible but since we really need to do this we went ahead and hacked together a build script for pharo.cog.spur (threaded) for Debian 9 stretch that also works with GCC 6.

You can find the script on GitHub: https://github.com/Netstyle/opensmalltalk-vm-build-script.

We've also automated building a debian package for the VM (not part of the script), so if anyone is interested I can provide that part too.

We hope that this build script will help make it easier for other people to build the VM on their own infrastructure.

Please consider improving the build setup. There are too many magic things happening in places hard to find (e.g. that magic checkout that completely changes the build output).

Cheers,
Max

Reply | Threaded
Open this post in threaded view
|

Re: Build script for Debian 9 stretch and GCC 6

NorbertHartl
 
Hi,

I don’t understand why there is a debian build script now. Holger added that in the vm some time ago and you can build on OpenSuse with that. That gives you packages for all major distributions. What is the reason to have yet another script?

Norbert


Am 19.03.2019 um 09:13 schrieb Fabio Niephaus <[hidden email]>:

Hi Max,
It'd be great if we could use this to automatically produce Debian packages of all supported OSVMs. These packages should also work on Ubuntu and other Debian-like distros right? What would it take to integrate your script into our current CI pipeline? Where could the packages be hosted?

Cheers,
Fabio

On Sat, Mar 16, 2019 at 10:09 AM Max Leske <[hidden email]> wrote:
 

Hi,

At Netstyle we need to be able to build the VM ourselves for our infrastructure. With the current build setup that isn't possible but since we really need to do this we went ahead and hacked together a build script for pharo.cog.spur (threaded) for Debian 9 stretch that also works with GCC 6.

You can find the script on GitHub: https://github.com/Netstyle/opensmalltalk-vm-build-script.

We've also automated building a debian package for the VM (not part of the script), so if anyone is interested I can provide that part too.

We hope that this build script will help make it easier for other people to build the VM on their own infrastructure.

Please consider improving the build setup. There are too many magic things happening in places hard to find (e.g. that magic checkout that completely changes the build output).

Cheers,
Max


Reply | Threaded
Open this post in threaded view
|

Re: Build script for Debian 9 stretch and GCC 6

Holger Freyther
 


> On 19. Mar 2019, at 08:58, Norbert Hartl <[hidden email]> wrote:
>
> Hi,

Hey!

I did it for pharo-vm which then was abandoned in favor of opensmalltalk-vm. I have forward ported the package/Makefile/etc to opensmalltalk-vm. IIRC there is a pending pull request and then we need to automate uploads to the nightly feed again. And re-create the source package for the pharo7 release.

holger

>
> I don’t understand why there is a debian build script now. Holger added that in the vm some time ago and you can build on OpenSuse with that. That gives you packages for all major distributions. What is the reason to have yet another script?
>
> Norbert
>
>
>> Am 19.03.2019 um 09:13 schrieb Fabio Niephaus <[hidden email]>:
>>
>> Hi Max,
>> It'd be great if we could use this to automatically produce Debian packages of all supported OSVMs. These packages should also work on Ubuntu and other Debian-like distros right? What would it take to integrate your script into our current CI pipeline? Where could the packages be hosted?
>>
>> Cheers,
>> Fabio
>>
>> On Sat, Mar 16, 2019 at 10:09 AM Max Leske <[hidden email]> wrote:
>>  
>> Hi,
>>
>> At Netstyle we need to be able to build the VM ourselves for our infrastructure. With the current build setup that isn't possible but since we really need to do this we went ahead and hacked together a build script for pharo.cog.spur (threaded) for Debian 9 stretch that also works with GCC 6.
>>
>> You can find the script on GitHub: https://github.com/Netstyle/opensmalltalk-vm-build-script.
>>
>> We've also automated building a debian package for the VM (not part of the script), so if anyone is interested I can provide that part too.
>>
>> We hope that this build script will help make it easier for other people to build the VM on their own infrastructure.
>>
>> Please consider improving the build setup. There are too many magic things happening in places hard to find (e.g. that magic checkout that completely changes the build output).
>>
>> Cheers,
>> Max
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Build script for Debian 9 stretch and GCC 6

Max Leske
In reply to this post by Max Leske
 
On 19 Mar 2019, at 9:48, [hidden email]
wrote:

Hi Fabio,


> Hi Max,
> It'd be great if we could use this to automatically produce Debian
> packages
> of all supported OSVMs.

Currently the script is very specific to linux64x64/pharo.cog.spur.
Unfortunately, the mvm scripts alone currently don't suffice to produce
working builds, which is why the CI scripts include much magic. If that
magic were moved to the mvm scripts instead (or better yet, if the magic
were no longer necessary) then producing a Debian package would more or
less come down to executing the mvm script in an environment prepared
for creating a Debian package; then our script wouldn't do more than
prepare that environment.

In that world we could probably also have dedicated script for preparing
environments for other Debian-like distros. But see about Flatpak below.

> These packages should also work on Ubuntu and other
> Debian-like distros right?

In principal yes. Although every distro would probably need some
adjustments w.r.t. the dependencies (OpenSSL, libSSH2, etc.).

> What would it take to integrate your script into
> our current CI pipeline?

On our CI we create a chroot jail where we can install all of the
dependencies. That is probably the main thing we'd need to build into
the build process.

> Where could the packages be hosted?

The packages could be hosted on launchpad:
https://launchpad.net/ubuntu/+ppas.


The alternative to Debian packages are Flatpaks (https://flatpak.org)
(we're in the process of figuring out how to create those instead of
Debian packages from the build).
Flatpaks have the distinct advantage that they define their environment
(their runtime) which is a way out of the dependency hell (no pollution
of the host, no version mismatches, etc.).
The other great advantage of Flatpaks is that they will run on any
distro.

Flatpaks can be hosted on https://flathub.org.


I'll let you know when we've figured out the Flatpak creation.


Cheers,
Max

>
> Cheers,
> Fabio