Jump to page: 1 2
Thread overview
Improved snap package for LDC
Jan 20, 2017
Johan Engelen
Jan 21, 2017
David Nadlinger
Jan 21, 2017
Johan Engelen
Jan 25, 2017
David Nadlinger
Jan 26, 2017
David Nadlinger
Jan 30, 2017
David Nadlinger
Jan 25, 2017
Russel Winder
Jan 25, 2017
David Nadlinger
Jan 27, 2017
Russel Winder
Jan 28, 2017
David Nadlinger
Jan 20, 2017
David Nadlinger
January 20, 2017
Hello folks,

As you may recall, last year I did some work towards a snap package for LDC:
https://forum.dlang.org/thread/ffmpwmhjefzzogcljmyf@forum.dlang.org

At the time there were two key points of concern: first, the need to bundle gcc, libc etc. into the package along with LDC, and second, the fact that snap confinement prevented LDC from accessing libraries installed elsewhere on the host system (meaning it could only compile programs that did not link against any external libraries).

Recently, however, the snappy developers introduced a new 'classic' confinement option, which is explicitly designed to allow the packaged program to access resources of the host Linux system on which it is installed.  With this available it has been possible to rework the LDC snap package to something much simpler, which AFAICT works just like a 'normal' LDC install (i.e. it can compile and link anything, and uses the host system's gcc etc. for linking).

The updated package definition is available here:
https://github.com/WebDrake/ldc2.snap/pull/2

... so I'd like to invite people to give it some level of review (particularly the license and the package description) and, if you like, to try out building and installing it.

Building it should be easy for anyone using Ubuntu 16.04 or later: just check out the `classic-snap` git branch from the repo, `sudo apt install snapcraft`, and then just type `snapcraft` at the command prompt.  It will check out the LDC source from github, install necessary build dependencies, and should deliver a snap package which you can install with the command:

    snap install --classic --dangerous ldc2_1.1.0-beta6_amd64.snap

where --classic is to give permission for classic confinement, and --dangerous is in order to give permission to install a self-built package ('dangerous' in the sense that it comes with no digital signature to verify its origin).

(Note, the package name might be different if you're building on a 32-bit system.  Let me know what happens if you try!)

Assuming nobody finds any showstoppers, I'd like to proceed to submit this to the official Ubuntu snap store.  On this note, I have a question: would there be any interest in doing this officially as part of the LDC project?  Any initial distribution would be in the 'edge' or 'devel' distribution channels, which are designed for early testing.

Anyway, let me know what you think!

Thanks & best wishes,

    -- Joe
January 20, 2017
I don't know anything about "snap" so won't be of much help here.

Our bandwidth is very constrained at the moment, so please be patient or better: take lots of initiative yourself!  :)

cheers,
  Johan

January 20, 2017
On Friday, 20 January 2017 at 22:12:32 UTC, Johan Engelen wrote:
> I don't know anything about "snap" so won't be of much help here.
>
> Our bandwidth is very constrained at the moment, so please be patient or better: take lots of initiative yourself!  :)

Thanks for the feedback on the PR :-)

Just to be clear: when I asked

> would there be any interest in doing this officially as part of the LDC project?

... I'm offering to do the legwork involved.  I'm just asking if you are happy for me to do it officially in the name of LDC (i.e. creating a developer account for LDC to publish packages to the Ubuntu store).  As a first stage I'm happy to do it under my own name and switch over ownership/responsibility if things take off.

A secondary concern might be whether the `ldc2.snap` repo should live in LDC's GitHub; again I'd be happy to maintain it there, but again, happy to keep things in my repo for now if that seems better to you.
January 21, 2017
Hi Joseph,

On 20 Jan 2017, at 22:51, Joseph Rushton Wakeling via digitalmars-d-ldc wrote:
> Assuming nobody finds any showstoppers, I'd like to proceed to submit this to the official Ubuntu snap store.  On this note, I have a question: would there be any interest in doing this officially as part of the LDC project?  Any initial distribution would be in the 'edge' or 'devel' distribution channels, which are designed for early testing.

We would certainly be interested in any improvements to our packaging and distribution story, and the new snap mode definitely seems like a much better match for LDC. Sadly, I don't think any of the currently active contributors has the bandwidth to take on package maintainership. If you can commit to maintaining it for some time going forward yourself, though, we can certainly trial it as an "official" distribution channel.

Cheers,
David
January 21, 2017
Hi Joseph,

On 20 Jan 2017, at 23:48, Joseph Rushton Wakeling via digitalmars-d-ldc wrote:
> ... I'm offering to do the legwork involved.  I'm just asking if you are happy for me to do it officially in the name of LDC (i.e. creating a developer account for LDC to publish packages to the Ubuntu store).  As a first stage I'm happy to do it under my own name and switch over ownership/responsibility if things take off.
>
> A secondary concern might be whether the `ldc2.snap` repo should live in LDC's GitHub; again I'd be happy to maintain it there, but again, happy to keep things in my repo for now if that seems better to you.

Ah, yes, this sounds good as per my other response.

Moving the repo to ldc-developers (dlang-ldc?) is definitely an option.

 — David
January 21, 2017
On Saturday, 21 January 2017 at 01:18:14 UTC, David Nadlinger wrote:
> Hi Joseph,
>
> On 20 Jan 2017, at 23:48, Joseph Rushton Wakeling via digitalmars-d-ldc wrote:
>> ... I'm offering to do the legwork involved.  I'm just asking if you are happy for me to do it officially in the name of LDC (i.e. creating a developer account for LDC to publish packages to the Ubuntu store).  As a first stage I'm happy to do it under my own name and switch over ownership/responsibility if things take off.
>>
>> A secondary concern might be whether the `ldc2.snap` repo should live in LDC's GitHub; again I'd be happy to maintain it there, but again, happy to keep things in my repo for now if that seems better to you.
>
> Ah, yes, this sounds good as per my other response.
>
> Moving the repo to ldc-developers (dlang-ldc?) is definitely an option.

I'm in favor of publishing the package in the name of LDC (good to send password(s) to Kai and David, I think).
I'm also in favor of adding the ldc.snap package to LDC's github, so that it is easier for people to contribute. (contributing through PRs means making your own fork, and then we end up with a bunch of forks and no clear "main" trunk)

-Johan

January 24, 2017
On Saturday, 21 January 2017 at 10:08:27 UTC, Johan Engelen wrote:
> I'm in favor of publishing the package in the name of LDC (good to send password(s) to Kai and David, I think).

This touches on an issue I wanted to raise.  Does the LDC project offer email addresses to its contributors?  If so, would it be possible for the LDC project to create an email address for me to use with the Ubuntu Developer login?  One that I'd have access to but which would be under the project's control?

I ask because while I can obviously create an account using an arbitrary email address and just share the developer account password, I'd feel more comfortable if there was an easy path for other LDC project members to take control of things if I slip on Berlin's icy streets and wind up underneath a car ;-)

> I'm also in favor of adding the ldc.snap package to LDC's github, so that it is easier for people to contribute. (contributing through PRs means making your own fork, and then we end up with a bunch of forks and no clear "main" trunk)

Sounds good.  If someone wants to set up an `ldc2.snap` repo there and give me push rights, I'll push a minimal collection of commits with the basic package definition.
January 25, 2017
On 24 Jan 2017, at 21:17, Joseph Rushton Wakeling via digitalmars-d-ldc wrote:
> I ask because while I can obviously create an account using an arbitrary email address and just share the developer account password, I'd feel more comfortable if there was an easy path for other LDC project members to take control of things if I slip on Berlin's icy streets and wind up underneath a car ;-)

Unfortunately, we don't have a great solution to this yet. Back when it was mostly me "keeping LDC on life support", I tried to avoid making any permanent commitments (however small monetarily), as I didn't want to burden myself down with the project future uncertain. Even though this obviously hasn't applied in a long while, we are still without our own self-hosted website or email facilities.


> Sounds good.  If someone wants to set up an `ldc2.snap` repo there and give me push rights, I'll push a minimal collection of commits with the basic package definition.

Done.

Cheers,
David
January 25, 2017
On Wed, 2017-01-25 at 01:54 +0100, David Nadlinger via digitalmars-d- ldc wrote:
> […]
> 
> Unfortunately, we don't have a great solution to this yet. Back when
> it
> was mostly me "keeping LDC on life support", I tried to avoid making
> any
> permanent commitments (however small monetarily), as I didn't want
> to
> burden myself down with the project future uncertain. Even though
> this
> obviously hasn't applied in a long while, we are still without our
> own
> self-hosted website or email facilities.
[…]

Use GitHub Pages for a website and GoogleGroups for mailing list?

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

January 25, 2017
On Wednesday, 25 January 2017 at 00:54:18 UTC, David Nadlinger wrote:
> Unfortunately, we don't have a great solution to this yet. Back when it was mostly me "keeping LDC on life support", I tried to avoid making any permanent commitments (however small monetarily), as I didn't want to burden myself down with the project future uncertain. Even though this obviously hasn't applied in a long while, we are still without our own self-hosted website or email facilities.

OK.  In the short term I'll create an email forward (to which I can add both my regular development email address and those of other LDC folks).  In the long run we can no doubt work something out.

BTW, while I guess this wouldn't really count as "self-hosted" it seems reasonable to me that the D Foundation might take care of the logistics of an LDC domain name, website and email addresses.


>> Sounds good.  If someone wants to set up an `ldc2.snap` repo there and give me push rights, I'll push a minimal collection of commits with the basic package definition.
>
> Done.

Great, thanks!  I'll push things there this evening and follow up from there.
« First   ‹ Prev
1 2