Commit Graph

20 Commits

Author SHA1 Message Date
Boris Nagaev ed375f567a build-pkg: create a variable with list of targets 2015-09-04 10:36:40 +03:00
Boris Nagaev 20c761b565 build-pkg: blacklist usr/<target>/share/(doc|info)
Another directories with documentation.
2015-09-04 10:36:40 +03:00
Boris Nagaev 39a8622b3b build-pkg: use git to find new/changed files
close #818
2015-09-04 10:36:40 +03:00
Boris Nagaev 230aeda472 build-pkg: add [build-pkg] to log messages 2015-09-04 10:36:40 +03:00
Boris Nagaev d941a7ef73 build-pkg: function log() formats message string 2015-09-04 10:36:40 +03:00
Boris Nagaev 9a953a3ebb build-pkg: include target to name of .list file
Do not overwrite .list files produced by one target with
ones produced by other target.
2015-09-04 10:36:40 +03:00
Boris Nagaev f4048f6f86 build-pkg: a function to generate .list file name
This operation (package_name .. '.list') was coded many times in
many functions. I move it to function listFile(pkg) to keep it in
one place.
2015-09-04 10:36:40 +03:00
Boris Nagaev 422a2615d0 build-pkg: add release to mxe-requirements version
2.23 -> 2.23jessie | 2.23wheezy

Package mxe-requirements has different dependencies for
Wheezy and Jessie. APT server reprepro doesn't allow to
add two different packages with same name and version.
2015-09-04 10:36:40 +03:00
Boris Nagaev d95da7e22a build-pkg: pkgs with broken deps are also broken
Bad behaviour prior to this commit:

1. The package is broken: pango
2. Package sdl_pango depends on broken pango
3. When t4k_common (which depends on sdl_pango) is built,
    pango is tried to build again.

This issue was caused by the error fixed in this commit:
if a package A depends on a broken package B,
then the package A is also BROKEN.
So if a package C depends on package A, then all of them
are broken:

(*)B <- A <- C

B is not "rebuilt" for C.
2015-08-24 11:45:07 +03:00
Boris Nagaev fc897b3327 build-pkg: fix build success detection
Previous code just checked if any new file was created.
New code checks existance of the file created by MXE in case
a build succeeded: "usr/<target>/installed/<package>".

Without this improvement, some packages (e.g., pango) were
falsely reported to be built successfully, because they have
two or more targets and only first target succeded, creating
*some* files (but not file "usr/<target>/installed/<package>").
2015-08-11 03:00:05 +03:00
Boris Nagaev 2324fa4c5d build-pkg: build for amd64 only
Packages containing native binaries (compiler, native libraries,
yasm) are compatible only with build machine architecture.

close #756
2015-08-11 03:00:04 +03:00
Boris Nagaev 1989e48348 build-pkg: take target common files to a package
There are documentation and other shared files installed,
which we don't need [1]. Some packages install files to same
paths. There is a list of all packages which overlap and
shared files [2].

Create a list of packages which have common files across
targets. Some of them are a part of compiler chain (gcc-*),
some are built natively intentionally:

 * gcc-isl
 * gcc-mpc
 * gcc-gmp
 * gcc-mpfr
 * gcc
 * yasm
 * ncurses
 * pkgconf

[1] https://lists.nongnu.org/archive/html/mingw-cross-env-list/2015-06/msg00011.html
[2] https://gist.github.com/starius/59625347cd68a21d9cc9

close #763
close #757
2015-08-11 03:00:04 +03:00
Boris Nagaev 45cf672636 build-pkg: fix a pattern in blacklist
"-" should be %-escaped in Lua patterns.
2015-08-11 03:00:04 +03:00
Boris Nagaev 6452cda426 build-pkg: add target name to broken packages log 2015-07-10 10:32:46 +03:00
Boris Nagaev a3cdf1dd77 build-pkg: blacklist some file paths
* usr/share/
    (doc, gcc-5.1.0, info, man)
 * usr/installed/check-requirements

There are documentation and other shared files installed,
which we don't need [1]. This commit doesn't cover all doc
files. More files can be found by "find usr -name doc".

Some packages install files to same paths. There is a list
of all packages which overlap and shared files [2].

[1] https://lists.nongnu.org/archive/html/mingw-cross-env-list/2015-06/msg00011.html
[2] https://gist.github.com/starius/59625347cd68a21d9cc9
2015-07-10 10:32:46 +03:00
Boris Nagaev ab0f773a7e packages built by build-pkg.lua work on Wheezy
After commit b14c1a3a9c , packages could not
be installed on Debian <= Wheezy, because it lacks package
libtool-bin. So package mxe-requirements should depend on
libtool-bin only for Debian >= Jessie.

This commit changes the function that builds packages
mxe-requirements. Now it makes 4 .deb files:

    wheezy/
        mxe-requirements_2.23_i386.deb
        mxe-requirements_2.23_amd64.deb
    jessie/
        mxe-requirements_2.23_i386.deb
        mxe-requirements_2.23_amd64.deb

see #754
2015-07-10 10:32:46 +03:00
Boris Nagaev 689d0222db build-pkg.lua: fix too long lines of code 2015-07-10 10:32:46 +03:00
Timothy Gu b14c1a3a9c build-pkg: Add libtool-bin and p7zip-full as deps
Fixes #753.
Fixes #754.
2015-07-06 08:17:53 +08:00
Boris Nagaev e40a295635 build-pkg: remove old name "mxedeb"
Fix description of the script: replace "DEB packages" with
"binary packages".
2015-06-28 13:35:22 +03:00
Boris Nagaev effa84377c add tool build-pkg.lua
This tool builds all packages for all targets and generates
*.tar.xz and *.deb files. The latter ones can be uploaded to
APT repository and installed to Debian machines.

build-pkg.lua was previously known as mxedeb.lua

See also:
    http://mxe.redjohn.tk/
    https://github.com/starius/mxedeb
    https://lists.nongnu.org/archive/html/mingw-cross-env-list/2015-02/msg00010.html
    https://lists.nongnu.org/archive/html/mingw-cross-env-list/2015-03/msg00001.html
2015-06-23 22:09:06 +03:00