[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] MXE packages as APT

From: Volker Grabsch
Subject: Re: [Mingw-cross-env-list] MXE packages as APT
Date: Mon, 2 Mar 2015 13:45:44 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

Dear Boris,

Nagaev Boris schrieb:
> On Wed, Feb 11, 2015 at 9:16 AM, Volker Grabsch <address@hidden> wrote:
> > I believe it is time to push this forward.  Although I can't
> > contribute much "manpower", I can at least try to provide a concept.
> > I will write that down in a separate email.  Stay tuned. :-)
> I have done part of work.

At that other thread, there was not much discussion about how we
should do this.  I didn't expect it to be so few.  It seems that my
worry about people running into different directions was unjustified.

So please, go ahead and continue your great work.  This all looks very

> 1. https://github.com/starius/mxedeb Build DEB packages from MXE
> packages. Main purpose of Lua script is sorting packages in build
> order and to save list of files created while installation of a
> package. Then this data and installed files are converted into Debian
> packages. I think, this is sufficient for RPM packages as well.

Some technical proposals:

1) Could you also generate some plain tar.xz files?
   (I belive xz is common enough, so we don't need bz2 or gzip)

2) Does it make sense to split the workflow into two parts?
   (first generate tar.xz, then generate .deb or .rpm from that?)

3) You should add a #!-line to your LUA script, e.g.
   #!/usr/bin/env lua

4) Could you put the functionality of build-all.sh into another LUA
   function?  That way, the whole script would be contained in a
   single LUA script, and we wouldn't have to mix languages.

5) Once consolidated, I believe that it should be put into tools/
   of mxe.  Feel free to propose a pull request.

6) When put into MXE, the script should be renamed to "build-pkg",
   "build-bin-pkg" or something like that.  (i.e. the name shouldn't
   include "mxe" and it shouldn't contain distro-specific stuff like
   "deb" or "rpm" in its name.)

> 2. Public APT created at http://mxedeb.redjohn.tk/repos/
> Currently I limit builder with *only 10 packages* per target. When
> this version is reviewed and discussed, I'll build all packages.
> Package name is mxe<mxe-version>-<target>-package
> MXE versions: MXE stable is "2.23", MXE master is "trunk".

Until we find volunteers to re-establish our release process,
I don't think we should use the "stable" branch.  It is simply
too old.  Also, I don't think we should say "trunk" when we
mean "master".  Finally, I don't think we need that version
identifier at all. :-)

So my proposal is to simplify the package name to:


> Packages can depend only on each other, no external dependencies. So
> this APT can be used by any Debian distribution which satisfies MXE's
> requirements.

Debian's package names are quite stable, even across derivatives such
as Ubuntu.

So I propose to make the core package mxe-*-gcc depdending on those
packages.  Alternatively, there should be an empty package like
"mxe-requirements" which contains the depdencies.  Maybe a combination
of both (some mxe-* packages depend on mxe-requirements, which then
depends on the system packages).

The whole point of the APT repository is to make things easy.  So it
would be great if for a cross-platform SDL project, 

    apt-get install mxe-i686-pc-mingw32-sdl

is the only command needed.

The only problem are the additional 64-bit packages (g++-multilib,
libc6-dev-i386).  I believe we could simply add them to the
dependencies "mxe-requirements", assumung that the mxe-APT will only
be used on modern 64-bit systems anyway.

@Others: Please correct me if I'm wrong here.


Volker Grabsch

reply via email to

[Prev in Thread] Current Thread [Next in Thread]