Commit graph

1190 commits

Author SHA1 Message Date
Chris Li
1364704e1e Support flag --no_cert_check (#13)
Support flag --no_cert_check, with batched download and write file to disk
2017-03-07 16:52:02 -05:00
Matthieu Gautier
1841f41589 Merge pull request #18 from kiwix/xapian-version
Update xapian dependency to 1.4.2.
2017-03-07 20:20:28 +01:00
Matthieu Gautier
2b4a7726ea Update xapian dependency to 1.4.2.
The patch `xapian_no_hardcode_lz.patch` is not necessary anymore.

Fix #15.
2017-03-06 18:29:22 +01:00
Emmanuel Engelhart
c092c106f5 Save nightlies at the right place #11 2017-02-26 21:39:58 +01:00
Matthieu Gautier
bfc08574ce Change the displayed version of e2fsprogs (uuid) also.
Changing the archive to get is nice, it is better to also change the
version.
2017-02-13 17:56:14 +01:00
Matthieu Gautier
a7af69de28 Update our e2fsprogs dependency to 1.43.4.
Use the last version is always better.
More over, it should fix compilation on macOS.

Fix #9.
2017-02-13 17:41:29 +01:00
Matthieu Gautier
877ecdd2a8 Deploy archive in a dated sub-directory, not directory in the main dir. 2017-02-13 12:11:54 +01:00
Matthieu Gautier
d78bc45be1 Properly fail in travis if sub-script fail.
Make `kiwix-build.py` also fail if sub-command fail instead of just print
an error message and quit.

`kiwix-deploy.py` is far more simple and already fails miserably if a
sub-command fails.
2017-02-13 11:53:40 +01:00
Matthieu Gautier
85db545feb Do not fail if we are running on Darwin platform.
Fixes #7.
2017-02-13 09:55:59 +01:00
Matthieu Gautier
f8f9ed5bce We do not use _targets_env, remove it. 2017-02-13 09:53:10 +01:00
Matthieu Gautier
5f01937d69 [TRAVIS] Be sure that ssh key has correct file rights. (Bis)
The ssh key right mode must be 600. (644 is for public key...)
2017-02-12 19:09:10 +01:00
Matthieu Gautier
57eadef4a0 [TRAVIS] Be sure that ssh key has correct file rights.
The ssh key right mode must be 644.
2017-02-12 12:56:01 +01:00
Matthieu Gautier
40e05690e4 [TRAVIS] Use travis configuration to add download.kiwix.org to known_host
First, previous commit was broken cause of wrong argument order.
Second, travis has a option to handle this case, let's use it.
2017-02-09 16:15:27 +01:00
Matthieu Gautier
d3d6e54d3f [TRAVIS] Do not StrictHostKeyChecking to allow scp script to connect.
By default, at first connection, the user has to accept the server
host_key.
As we are running on travis, there is no user.
Make ssh automatically add new host_key to know_hosts file.
2017-02-08 15:16:33 +01:00
Matthieu Gautier
99c94b552e [TRAVIS] Add a script to deploy archives on download.kiwix.org/nightly 2017-02-08 10:09:42 +01:00
Matthieu Gautier
3ac377b8c0 Add a small script to deploy archive a build binaries. 2017-02-08 10:09:26 +01:00
Matthieu Gautier
49ee44cd5c [TRAVIS] Add a IRC notification to #kiwix. 2017-02-07 17:43:27 +01:00
Matthieu Gautier
7d6b2d2135 Add Travis support.
We now build static/dynamic on ubuntu(native) and win32(cross-compilation).
2017-02-07 14:35:34 +01:00
Matthieu Gautier
5919e28a2f Packages need to be install before we look to binaries installed by them.
In setup_win32, we search where gcc compilers are installed. We need
to have them installed before.
2017-02-07 14:30:53 +01:00
Matthieu Gautier
6d18da1587 Do not setup the 'wine' exe_wrapper in meson.
We cannot install it on travis (for now ?) and we don't use it anyway.

This have somehow to be fixed as the wine tool will be necessary to test
binaries and we want tests.
2017-02-07 14:30:41 +01:00
Matthieu Gautier
e83d2511d7 Add package list for cross-compilation debian to win32. 2017-02-07 14:29:03 +01:00
Matthieu Gautier
d9abbb7fe5 Add zlib package list for debian. 2017-02-07 12:19:18 +01:00
Matthieu Gautier
796dc8f563 Use 'debian' configuration if we are on 'Ubuntu'.
This is the same configuration. Do not duplicate it.
2017-02-07 12:18:54 +01:00
Matthieu Gautier
c705463d51 Add the '-I' to CPPFLAGS env var.
Autotools uses it to found include file (zlib.h).
2017-02-07 12:10:40 +01:00
Matthieu Gautier
221849001e This is the gcc package we need to install on Ubuntu, not gcc-5. 2017-02-07 12:09:30 +01:00
Matthieu Gautier
82aab2f5dd Properly fail if ninja or meson is not installed. 2017-02-07 12:08:03 +01:00
Matthieu Gautier
640750e1ab zlib patch to use std name for lib.
Use a standard name libz.(so|a) if we are using mingw (as we do on linux).

This patch somehow deprecate the previous commit (patch) but both patches
are the right thing to do.
We need this one especially for others dependencies using pkg-config.
The generated .pc always use the '-lz' option and so, we need the correct
names for the lib.
2017-02-07 12:06:41 +01:00
Matthieu Gautier
5259568a89 xapian patch to not use hardcoded '-lz' option.
zlib may be installed under the libzlibstatic.a or libzlib.dll.so names.
xapian correctly detect those name but use '-lz' option for xapian_inspec
binary.
2017-02-07 12:02:44 +01:00
Matthieu Gautier
b9c93257a6 Add CTPP2 patch to correctly handle ICONV_SUPPORT variable.
If there is no ICONV_SUPPORT, we must not try to compile stuff relative
to iconv.
2017-02-07 10:47:51 +01:00
Matthieu Gautier
85a09520ad Add debian list of packages.
The Ubuntu Trusty distribution is detected as a debian distribution by python3.
2017-02-06 17:36:27 +01:00
Matthieu Gautier
0650f110bd Add a Ubuntu to win32 crossenv. 2017-02-06 17:34:12 +01:00
Matthieu Gautier
b205526bb2 Do not hardcode binary's name in templates.
This may change from on host platform to another. Use the cross_env.
2017-02-06 17:33:39 +01:00
Matthieu Gautier
2451c35d79 Use a CROSS_ENV per host and target, not only target.
Depending of the host, we may have different cross_env.
2017-02-06 17:30:47 +01:00
Matthieu Gautier
db5183f952 add .gitignore 2017-02-06 18:28:22 +01:00
Matthieu Gautier
b0c35fbc9e Handle zlib dependency ourself.
We now compile zlib if there is no available packages.
2017-02-06 18:27:06 +01:00
Matthieu Gautier
390ca29ba3 Generate a correct env for all command, not just for meson.
Other tools also need a correct env.
2017-02-06 18:17:33 +01:00
Matthieu Gautier
9f1942a0e1 Do not depends on custom fedora tools for cross-compile.
Fedora provides a set of (powerfull) tools to correctly pass the right
options to compilation tools (configure, cmake, ...)

This is great but we must not use them as we want to cross-compile from
other distribution (ubuntu).

Now, we do not use those tools and we can easily port cross-compilation to
ubuntu.
2017-02-06 15:33:51 +01:00
Matthieu Gautier
4adae738d5 Build only one kind of library per build.
There is no need to build the static lib if we are building a dynamically
linked binary. And vice versa for shared lib and statically linked binary.
2017-02-06 15:27:31 +01:00
Matthieu Gautier
3c11bc602d No need to add the targetDef in the dependencies as it is already in. 2017-02-06 15:22:14 +01:00
Matthieu Gautier
0205371490 Do not fail if the package list is not available.
Just print the message, skip the package install step and continue.
2017-01-31 17:34:40 +01:00
Matthieu Gautier
a1a81b9db0 Add ubuntu packages list. 2017-01-31 17:34:35 +01:00
Matthieu Gautier
7246d81aa1 Mark dependencies to be skipped even if we skip the packages installation.
We have to loop over the dependencies and their packages to know which
dependency we may skip.

So we must not skip the install_packages step too early.
2017-01-31 17:34:27 +01:00
Matthieu Gautier
1d94429947 Correctly pass arguments to kiwix-tools meson script.
Now that meson.build script add itself the needed link flags to link
static binaries, we don't need to add them by ourself.

Just pass the right option to meson.
2017-01-31 15:20:12 +01:00
Matthieu Gautier
f907eb16e9 Install package when available on system distribution.
By installing distribution packages we avoid us a lot of recompilation.
It also made use standard build, and it's just better :)

We also install all needed packages automatically so user has less work
to do.

Only Fedora packages are listed for now.
Ubuntu packages have to be done.
2017-01-31 15:20:12 +01:00
Matthieu Gautier
ea3ea77256 Correctly remove source duplicates.
Duplicate sources must be detected from their classes.
So add a optional arguments key_function to remove_duplicates to use
a custom key to compare elems and use it to remove duplicate sources
using their classes.
2017-01-31 15:17:35 +01:00
Matthieu Gautier
14d609d007 Add a new 'run' method to the builder to build everything. 2017-01-31 15:15:38 +01:00
Matthieu Gautier
ea86fea926 'fetch' git repository instead of 'pull'.
'git pull' try to change the repo's HEAD and thus, refuse to operate on
a detach branch.
2017-01-30 18:20:48 +01:00
Matthieu Gautier
f5dff05a55 Do not use a pre-defined list of Dependency but resolve a dependency graph.
By resolving a dependency graph, we avoid us to have a fixed list of
dependencies. This is even more usefull because now, we don't have to track
different dependencies lists dependending of the build_target.
2017-01-30 18:20:48 +01:00
Matthieu Gautier
0c046e88fb Separate Icu dependency in two dependency instead of having if switch.
This is better to use two different classes instead of have some methodes
trying to do some introspection to know if we are cross-compiling or not.
2017-01-30 18:20:48 +01:00
Matthieu Gautier
b5208e4708 Separate 'Source' and 'Builder' in different classes instead of Mixin.
This allow a better separation between what is common to all builds and
what is specific to a build target.
2017-01-30 18:20:48 +01:00