Commit Graph

238 Commits

Author SHA1 Message Date
Boris Nagaev b328e24458 install-deps: install bc to compare versions 2016-06-29 01:42:19 +03:00
Boris Nagaev 7003fa837b install-deps: fix syntax in condition for libtool
Without external `(` and `)` the condition is evaluated to false
on Debian Jessie.
2016-06-29 01:40:28 +03:00
Boris Nagaev f0d60ac7de install-deps: run apt-get with --yes
Otherwise it will make interactive prompts.
2016-06-29 01:30:31 +03:00
Boris Nagaev 2bafd7b4be add tool install-deps 2016-06-13 17:01:47 +03:00
Boris Nagaev fba599d2d7 build-pkg: add env. var to change targets
MXE_BUILD_PKG_TARGETS
2016-06-11 21:54:26 +03:00
Boris Nagaev 4d43e1fe47 build-pkg: prefix evn. vars with "MXE_BUILD_PKG"
to distinguish them from environment variables of MXE itself.
2016-06-11 21:51:45 +03:00
Boris Nagaev 3ee3445f90 build-pkg: limit number of retries of downloading
fix #1308
2016-05-02 14:16:07 +03:00
Boris Nagaev c5c610b085 build-pkg, second pass: fix fail on broken package
If a package is found to be broken on the first pass, then
prev_files = nil, because this structure is filled only
for non-broken packages.

See https://github.com/mxe/mxe/pull/1243#issuecomment-211137555
2016-04-20 23:35:13 +03:00
Boris Nagaev 9da2e477d3 build-pkg: provide more info about removed files 2016-04-20 23:35:13 +03:00
Boris Nagaev 6784792540 build-pkg: detect broken symlink and removed file 2016-04-20 23:35:13 +03:00
Boris Nagaev ea511c193c build-pkg: use "git add" with --all
From the warning produced by "git add ." after removing a file with "rm":

> warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
> whose behaviour will change in Git 2.0 with respect to paths you removed.
> Paths like 'foo.txt' that are
> removed from your working tree are ignored with this version of Git.
>
> * 'git add --ignore-removal <pathspec>', which is the current default,
>   ignores paths you removed from your working tree.
>
> * 'git add --all <pathspec>' will let you also record the removals.
>
> Run 'git status' to check the paths you removed from your working tree.

$ git status --porcelain
 D foo.txt

$ git add --all .

$ git status --porcelain
D  foo.txt

$ git --version
git version 1.9.1
2016-04-20 23:35:13 +03:00
Boris Nagaev 732169d86a build-pkg: exit with non-zero if second pass fails 2016-04-20 23:35:13 +03:00
Boris Nagaev f3de04c954 build-pkg: provide a way to disable second pass 2016-04-20 23:35:13 +03:00
Boris Nagaev aa4744cea4 build-pkg: add second pass
The second pass is done after the first one. During the second pass,
an item is built in tree of files from all other items. It checks that:

  * packages can be built in any order satisfying dependencies;
  * a package can be rebuilt after its dependee.

For both cases, not only build status is checked but also two sets of
files are compared. Currently content of files is not checked, only
their existance in both passes.

See #1111
2016-04-20 23:35:13 +03:00
Boris Nagaev d25a31bd21 build-pkg: move function isBuilt()
It will be used in buildItem()
2016-04-20 23:35:13 +03:00
Boris Nagaev 1856ae5f8a build-pkg, buildItem(): log pass (first, second) 2016-04-20 23:35:13 +03:00
Boris Nagaev 07a0103247 build-pkg: provide a way to mute removeEmptyDirs() 2016-04-20 23:35:13 +03:00
Boris Nagaev 3f47774f1c build-pkg: add argument pass=first to build funcs 2016-04-20 23:35:13 +03:00
Boris Nagaev 1a1c1ebf00 build-pkg: move top-level code to main() function 2016-04-20 23:35:13 +03:00
Boris Nagaev 4d73354c64 nonetwork: new line before the message and flush
fflush(stderr) may be needed:
http://mailman.linuxchix.org/pipermail/courses/2002-August/000691.html
2016-03-26 14:17:36 +03:00
Tony Theodore 3445107583 Merge pull request #1270 from LuaAndC/nonetwork-print-message
nonetwork: print message from replaced functions
2016-03-22 11:19:20 +11:00
Boris Nagaev 2dd817b395 nonetwork: print message from replaced functions
See https://github.com/mxe/mxe/issues/1269
2016-03-21 01:11:38 +03:00
Pavel Vatagin 2db02c1318 copydlldeps.sh: fix #1226 (case insensitive) 2016-03-21 00:25:04 +03:00
Boris Nagaev ebd54246cf Update copydlldeps.md 2016-02-10 18:57:35 +03:00
dl5rcw 46e6911edc markdown with code blocks
just noticed md + code blocks need these
2016-02-10 09:35:51 +01:00
dl5rcw 37ea726082 converting file to md format
converting file from mediawiki to md format
2016-02-10 09:31:46 +01:00
dl5rcw 9fe0f21d44 Rename copydlldeps.txt to copydlldeps.md 2016-02-07 22:21:03 +01:00
root b1eb68704d introducing copydlldeps.sh and copydlldeps.txt 2016-02-05 21:51:44 +01:00
Boris Nagaev 8ec0d4dafb build-pkg: set MXE_DIR automatically
Produce a warning if MXE_DIR != /usr/lib/mxe

When making a debug build, it is better to get a warning
than set MXE_DIR manually each time.
2016-01-25 21:56:13 +03:00
Boris Nagaev c26dbd9aec build-pkg: ignore installed/.gitkeep file
It produced the following erroneous warning:

> Item x86_64-unknown-linux-gnu~mxe-conf
> built item x86_64-unknown-linux-gnu~.gitkeep.
2016-01-18 00:30:18 +03:00
Boris Nagaev 6b25bbb150 build-pkg: log and remove empty directories 2016-01-18 00:30:18 +03:00
Boris Nagaev 53d21fac61 build-pkg: touch usr/*/installed/* in build order
See https://git.io/vuDJY
2016-01-18 00:30:18 +03:00
Boris Nagaev 36086a980a build-pkg: refactor function makeItem2Index() 2016-01-18 00:30:18 +03:00
Boris Nagaev d08e5078b9 build-pkg: prevent accidental rebuilds
touch all installed/* files after checkout.
2016-01-18 00:30:18 +03:00
Boris Nagaev 53c384d4c5 build-pkg: resolve merge conflicts manually
`git merge -s recursive -X ours` turned out to fail on binary
files. (I can't reproduce this behaviour in test repo, maybe
it is Git's bug.) So I switched to `checkout --ours`, which
worked in that case.
2016-01-18 00:30:18 +03:00
Boris Nagaev 1840845795 build-pkg: reorder functions
gitCheckout() will use gitCommit()
2016-01-18 00:30:18 +03:00
Boris Nagaev 6706af72c4 build-pkg: check exit status of "git commit" 2016-01-18 00:30:18 +03:00
Boris Nagaev deae4dc3c9 build-pkg: make sure checkout and merge succeed 2016-01-18 00:30:18 +03:00
Boris Nagaev e464f12cd0 build-pkg: merge "resolves" conflicts
Result of build by previous commit:
https://gist.github.com/32309209c467853deedc

If a conflict happens, build-pkg should "resolve" it by selecting
one of versions. Git has a merge strategy "recursive" with an
option "ours" which does exactly what is needed but works only
for two heads. That is why multi-merge was replaced by multiple
merges of two heads.
2016-01-18 00:30:18 +03:00
Boris Nagaev d31bdd48b5 build-pkg: make pkg without independent packages
This is an implementation of detection of undeclared requiremenets
using Git branches.

See #1111
2016-01-18 00:30:18 +03:00
Boris Nagaev 533f5da3fd build-pkg: check-requirements MXE_TARGETS=...
check-requirements creates directories usr/<target> for all
targets. By default, MXE_TARGETS=i686-w64-mingw32.static, so
it creates a directory for i686-w64-mingw32.static only.

(Currently this doesn't affect history in usr/.git as git ignores
empty directories.)
2016-01-18 00:30:18 +03:00
Boris Nagaev ffa25d96fe build-pkg: make sure usr/.git doesn't exist 2016-01-18 00:30:18 +03:00
Boris Nagaev 0d0be19c2a build-pkg: move git user config to var 2016-01-18 00:30:17 +03:00
Boris Nagaev b1e4eab1ad build-pkg: fix warnings of LuaCheck
Warnings fixed: https://gist.github.com/b563dfd7708e1ef209b4
2016-01-18 00:30:17 +03:00
Tony Theodore a381d9cded mxe-activate: update completions and change alias to mxe-make
* remove `build-only*` - too low level for general use
* add new patch related commands and catch-all completions
* `mxe-make` alias is more descriptive
2016-01-11 01:10:25 +11:00
Boris Nagaev efc287a8d9 move patching functions and targets to patch.mk
See https://github.com/mxe/mxe/pull/1134#issuecomment-168873410
See https://github.com/mxe/mxe/pull/1134#issuecomment-169867926
2016-01-08 15:39:41 +03:00
Boris Nagaev adb07e2153 patch-tool-mxe can import all patches of a package 2016-01-08 15:39:41 +03:00
Boris Nagaev a516d920ef reimplement patch-tool-mxe in Makefile
fix #1063
2016-01-08 15:39:41 +03:00
Tony Theodore 45eca0332c fix backup download
* use bash for brace expansion
* http://sprunge.us/ is down (fixes #1145)
2016-01-07 13:31:05 +11:00
Tony Theodore 65163d414b add selected plugins to backup download
closes #1135
2016-01-06 14:40:40 +11:00