Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debian packages for cloudabi toolchain #7

Open
1 of 6 tasks
moreati opened this issue Feb 9, 2016 · 8 comments
Open
1 of 6 tasks

Debian packages for cloudabi toolchain #7

moreati opened this issue Feb 9, 2016 · 8 comments

Comments

@moreati
Copy link
Collaborator

moreati commented Feb 9, 2016

Currently it's necessary to manually create symlinks, and compile from source to obtain a cloudabi toolchain on Debian/Ubuntu Linux. This ticket is for tracking efforts to fix that.

  • clang package available
  • binutils packages available
  • clang packages in Debian repositories
  • binutils packages in Debian repositories
  • clang packages in Ubuntu repositories
  • binutils packages in Ubuntu repositories
@moreati
Copy link
Collaborator Author

moreati commented Feb 9, 2016

Just a WIP, until I find a more appropriate repo to version it in
binutils-2.26-3ubuntu1cloudabi1.diff.txt

@EdSchouten
Copy link
Member

That's pretty awesome. Thanks for working on this! Quick question: how do the changes to /rules work? HOST_ARCHS_*: does this mean that we only build these packages for amd64, i386, x32 and arm64? Because in theory this package should be buildable/installable on any system, right?

Apart from not having found the time to work on this myself, one of the issues I have is that I am not really familiar with the procedure of how we get things like this upstream. Is it just a matter of pasting this diff into bugs.debian.org and wait until one of the maintainers picks it up?

@moreati
Copy link
Collaborator Author

moreati commented Feb 11, 2016

how do the changes to /rules work? HOST_ARCHS_*: does this mean that we only build these packages for amd64, i386, x32 and arm64?

I'm still getting that straight in my head.

Because in theory this package should be buildable/installable on any system, right?

Agreed

Is it just a matter of pasting this diff into bugs.debian.org and wait until one of the maintainers picks it up?

It's a bit involved, there are procedures and manuals to follow. I'm not a Debian Developer/Maintainer so I need to recruit a Sponsor for the changes. I sent RFC: Packaging a toolchain for CloudABI to make first contact.

@moreati
Copy link
Collaborator Author

moreati commented Feb 11, 2016

how do the changes to /rules work?

binutils's debian/rules is a bit of a monster, and comments/docs are shall we say, sparse.

CROSS_ARCHS is a list of Debian architectures for which binary packages are can be compiled (. Each entry is normalized at build time to a Debian multiarch tuple by dpkg-architecture. So building on a 64-bit PC, with CROSS_ARCHS=cloudabi-arm64 the resulting package would be

  • binutils-aarch64-unknown-cloudabi_2.26-4_amd64.deb

HOST_ARCHS_*: does this mean that we only build these packages for amd64, i386, x32 and arm64?

Yes, I'm playing it safe to start with.

HOST_ARCHS_<host_arch> = <build_arches> defines the list of build architectures on which binutils-<host_arch> is compiled. So HOST_ARCHS_cloudabi-arm64 = i386 amd64 would result in 2 packages

  • binutils-aarch64-unknown-cloudabi_2.26-4_i386.deb and
  • binutils-aarch64-unknown-cloudabi_2.26-4_amd64.deb

@moreati
Copy link
Collaborator Author

moreati commented May 1, 2016

I've finally got a symlinks package working for clang, namely moreati/llvm-cloudabi-deb. Installing the .deb files uploaded with v0.2 should pull in clang-3.7 and create the same symlinks as described in https://nuxi.nl/cloudabi/debian/.

@moreati
Copy link
Collaborator Author

moreati commented May 1, 2016

The other source package moreati/binutils-cloudabi-debian is still in progress. Currently the resulting binary packages each try to install the same file. So only one can be installed at a time.

dpkg: error processing archive ../binutils-aarch64-unknown-cloudabi_2.26-1_amd64.deb (--install):
 trying to overwrite '/usr/share/info/dir.gz', which is also in package binutils-x86-64-unknown-cloudabi 2.26-1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

@EdSchouten
Copy link
Member

This is going to be interesting in the nearby future again, as LLVM 3.9 is getting closer to its release. We don't need Binutils anymore for LLVM 3.9.

@dckc
Copy link
Contributor

dckc commented Sep 16, 2016

I'm not sure why, but I used docker to build the llvm toolchain for use on my Ubuntu machine.

FWIW: https://gist.github.com/dckc/9159265bbf979fc4315e08cda2420d3a

@EdSchouten EdSchouten changed the title Debian packages for clouadbi toolchain Debian packages for cloudabi toolchain Mar 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants