Elliott Sales de Andrade
ea636fcd51
Remove unused variables.
2017-05-17 04:41:54 -04:00
Peter Hutterer
6a4efe8a82
Drop terminating fullstop from "Installing blah to blah" messages
...
Grammatically, this full stop isn't needed and with file names it has a
potential to be confusing:
Installing /foo/bar/filename.1 to /foo/bar/dirname.
The full stop caused me to do a double-take more than once, so let's drop it.
2017-04-19 16:11:37 +03:00
Jussi Pakkanen
761b28371a
Merge pull request #1518 from centricular/mesonintrospect-evar
...
Export MESONINTROSPECT to postconf/install/run_command scripts
2017-04-08 21:25:25 +03:00
Jon Turney
320490cd00
Ignore install as non-existent user or group
...
'test cases/common/12 data' and 'test cases/common/66 install subdir' both
try to install something as 'root'. This user doesn't exist on Cygwin.
Perhaps we should automatically convert this to some other user, but it's
not clear which. For real projects, it's possibly better for the meson.build
to explicitly handle this...
'test cases/common/12 data' also tries to install something with GID 0.
There's no guarantee this group exists.
2017-04-06 22:48:02 +01:00
Jon Turney
fd47ef3a27
Use '.exe' extension for executables for Cygwin
...
Use '.exe' extension for executables for Cygwin when building and installing
2017-04-06 22:47:15 +01:00
Nirbheek Chauhan
27f5f0a963
Export MESONINTROSPECT to postconf/install/run_command scripts
...
Points to the `mesonintrospect.py` script corresponding to the
currently-running version of Meson.
Includes a test for all three methods of running scripts/commands.
Closes https://github.com/mesonbuild/meson/issues/1385
2017-03-28 00:55:01 +05:30
Jussi Pakkanen
0c957b75c6
Install PDB files. Closes #1442 .
2017-03-02 20:31:05 +02:00
Jussi Pakkanen
b927468137
Use cross stripper when cross compiling and allow overriding native strip executable. Closes #1414 .
2017-02-27 16:49:32 -05:00
Jussi Pakkanen
14e0529a03
Do not strip jar targets. Closes #1343 .
2017-02-06 19:09:22 +01:00
Nirbheek Chauhan
7d6f628ed4
Support file perms for install_data and install_subdir
...
With the 'install_mode' kwarg, you can now specify the file and
directory permissions and the owner and the group to be used while
installing. You can pass either:
* A single string specifying just the permissions
* A list of strings with:
- The first argument a string of permissions
- The second argument a string specifying the owner or
an int specifying the uid
- The third argument a string specifying the group or
an int specifying the gid
Specifying `false` as any of the arguments skips setting that one.
The format of the permissions kwarg is the same as the symbolic
notation used by ls -l with the first character that specifies 'd',
'-', 'c', etc for the file type omitted since that is always obvious
from the context.
Includes unit tests for the same. Sadly these only run on Linux right
now, but we want them to run on all platforms. We do set the mode in the
integration tests for all platforms but we don't check if they were
actually set correctly.
2017-01-24 00:20:51 +05:30
Igor Gnatenko
969dc7e995
style: fix E124 violations
...
E124: closing bracket does not match visual indentation
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01 12:02:05 -05:00
Igor Gnatenko
2017d8578a
style: fix E226 violations
...
E226: missing whitespace around arithmetic operator
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2017-01-01 12:02:05 -05:00
Jussi Pakkanen
b55235dfbd
Fix space before :.
2016-12-31 16:28:15 +02:00
Nirbheek Chauhan
0ac965cc10
Fix shared library symlink aliasing on install
...
Set the rules for the symlinking on the target itself, and then reuse
that information while generating aliases during the build, and then
pass it to the install script too.
2016-12-22 02:27:01 +05:30
Igor Gnatenko
8268eb4959
tree-wide: remove unused imports
...
./setup.py:17:1: F401 'os' imported but unused
import os
^
./setup.py:37:1: F401 'stat.ST_MODE' imported but unused
from stat import ST_MODE
^
./run_tests.py:17:1: F401 'os' imported but unused
import subprocess, sys, os
^
./run_tests.py:18:1: F401 'shutil' imported but unused
import shutil
^
./run_unittests.py:23:1: F401 'mesonbuild.dependencies.Qt5Dependency' imported but unused
from mesonbuild.dependencies import PkgConfigDependency, Qt5Dependency
^
./mesonbuild/build.py:15:1: F401 '.coredata' imported but unused
from . import coredata
^
./mesonbuild/interpreter.py:32:1: F401 'subprocess' imported but unused
import os, sys, subprocess, shutil, uuid, re
^
./mesonbuild/interpreter.py:32:1: F401 're' imported but unused
import os, sys, subprocess, shutil, uuid, re
^
./mesonbuild/dependencies.py:23:1: F401 'subprocess' imported but unused
import os, stat, glob, subprocess, shutil
^
./mesonbuild/mesonlib.py:17:1: F401 'sys' imported but unused
import platform, subprocess, operator, os, shutil, re, sys
^
./mesonbuild/modules/qt5.py:15:1: F401 'subprocess' imported but unused
import os, subprocess
^
./mesonbuild/modules/pkgconfig.py:15:1: F401 '..coredata' imported but unused
from .. import coredata, build
^
./mesonbuild/scripts/scanbuild.py:15:1: F401 'sys' imported but unused
import sys, os
^
./mesonbuild/scripts/meson_exe.py:20:1: F401 'subprocess' imported but unused
import subprocess
^
./mesonbuild/scripts/meson_exe.py:22:1: F401 '..mesonlib.MesonException' imported but unused
from ..mesonlib import MesonException, Popen_safe
^
./mesonbuild/scripts/symbolextractor.py:23:1: F401 'subprocess' imported but unused
import os, sys, subprocess
^
./mesonbuild/scripts/symbolextractor.py:25:1: F401 '..mesonlib.MesonException' imported but unused
from ..mesonlib import MesonException, Popen_safe
^
./mesonbuild/scripts/meson_install.py:19:1: F401 '..mesonlib.MesonException' imported but unused
from ..mesonlib import MesonException, Popen_safe
^
./mesonbuild/scripts/yelphelper.py:15:1: F401 'sys' imported but unused
import sys, os
^
./mesonbuild/scripts/yelphelper.py:20:1: F401 '..mesonlib.MesonException' imported but unused
from ..mesonlib import MesonException
^
./mesonbuild/backend/vs2010backend.py:17:1: F401 're' imported but unused
import re
^
./test cases/vala/8 generated sources/src/copy_file.py:3:1: F401 'os' imported but unused
import os
^
./test cases/common/107 postconf/postconf.py:3:1: F401 'sys' imported but unused
import sys, os
^
./test cases/common/129 object only target/obj_generator.py:5:1: F401 'shutil' imported but unused
import sys, shutil, subprocess
^
./test cases/common/57 custom target chain/usetarget/subcomp.py:3:1: F401 'os' imported but unused
import sys, os
^
./test cases/common/95 dep fallback/subprojects/boblib/genbob.py:3:1: F401 'os' imported but unused
import os
^
./test cases/common/98 gen extra/srcgen.py:4:1: F401 'os' imported but unused
import os
^
./test cases/common/113 generatorcustom/gen.py:3:1: F401 'os' imported but unused
import sys, os
^
./test cases/common/113 generatorcustom/catter.py:3:1: F401 'os' imported but unused
import sys, os
^
./test cases/common/59 object generator/obj_generator.py:5:1: F401 'shutil' imported but unused
import sys, shutil, subprocess
^
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-12-19 18:19:35 +01:00
Jussi Pakkanen
7851daec7a
Merge pull request #1216 from mesonbuild/ignatenko/shebangs
...
Remove shebangs on files inside module
2016-12-18 20:11:04 +02:00
Nirbheek Chauhan
6b8df9da84
custom_target: Make directory outputs installable
...
This is useful in many cases where the list of files cannot be known in
advance and is just dumped inside a directory. For example when
generating documentation with doxygen and other tools that we don't have
built-in support for.
Includes a test for the same.
Closes #893
2016-12-18 20:00:25 +02:00
Nirbheek Chauhan
c693bd9bb4
Allow passing arguments to install scripts
...
Closes #1213
2016-12-18 18:30:47 +02:00
Igor Gnatenko
4fbaf295f6
remove shebangs from scripts
...
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/regen_checker.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/meson_test.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/meson_benchmark.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/meson_exe.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/symbolextractor.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/commandrunner.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/gtkdochelper.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/meson_install.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/depfixer.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/dirchanger.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/delwithsuffix.py 644 /usr/bin/python3
meson.noarch: E: non-executable-script /usr/lib/python3.5/site-packages/mesonbuild/scripts/vcstagger.py 644 /usr/bin/python3
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2016-12-18 16:55:34 +01:00
Nirbheek Chauhan
60716fcd6d
Use universal_newlines=True for all Popen calls
...
Instead of adding it everywhere manually, create a wrapper called
mesonlib.Popen_safe and use that everywhere that we call an executable
and extract its output.
This will also allow us to tweak it to do more/different things if
needed for some locales and/or systems.
Closes #1079
2016-12-11 01:59:58 +02:00
Nirbheek Chauhan
b9a7c0cf39
misc: Use relative imports everywhere
...
Using 'mesonbuild' as the module can cause it to use the
system-installed module and can also break if we rename the directory,
so avoid that by always using relative imports.
2016-12-07 00:24:17 +05:30
Jussi Pakkanen
1f4cce86ad
Remove shebangs on files that are not runnable and add execute bits to those that are.
2016-10-07 21:10:33 +03:00
Jussi Pakkanen
cdf0c4f1a9
Merge branch 'QuLogic-context-managers'
2016-09-01 23:12:06 +03:00
Elliott Sales de Andrade
38a2a636b5
Refactor DESTDIR determination into a single function.
2016-08-27 23:07:59 -04:00
Elliott Sales de Andrade
3a593d0aca
Always obey DESTDIR even with absolute install_dir.
...
Passing an absolute path to `install_dir` would previously always
attempt to install there, instead of obeying DESTDIR, since os.path.join
will 'reset' on absolute paths.
2016-08-27 23:07:59 -04:00
Elliott Sales de Andrade
4c71695e41
Use context manager for file I/O.
...
There are a few cases where a context manager cannot be used, such as
the logger.
2016-08-27 18:29:55 -04:00
Jussi Pakkanen
64919b1c74
Merge pull request #417 from nirbheek/dll-paths
...
Fix filenames and paths used in DLL shared library generation
2016-07-13 22:18:50 +03:00
Jussi Pakkanen
38a896ae51
Create a log file of all files installed.
2016-07-12 13:43:49 +03:00
Nirbheek Chauhan
598997bdb5
scripts/install: Also strip '\' from the end of a path
...
Fixes installation of subdirs on Windows
2016-07-01 20:50:47 +05:30
Nirbheek Chauhan
b2fb4f9d66
scripts: Use destdir_join fix for all DESTDIR prefixing ( #598 )
2016-06-16 20:43:23 +03:00
Jussi Pakkanen
205037047f
Try to delete target files before installing. Closes #578 .
2016-06-05 14:16:01 +03:00
Jussi Pakkanen
0482635c12
Handle case of install_subdirring a subdir.
2016-05-30 23:08:24 +03:00
Jussi Pakkanen
beb6827413
Installing subdirs now merges with existing files in the target dir.
2016-05-30 21:48:03 +03:00
Jussi Pakkanen
9dace5fc5e
Always initialise final_command.
2016-05-28 23:14:34 +03:00
Jussi Pakkanen
aac7f6ef1f
Since we only care about shebang line and sane ones use plain ASCII, use an encoding that can not fail. Closes #561 .
2016-05-28 23:04:15 +03:00
Jussi Pakkanen
1b78e354a6
Join windows-style destdir paths correctly. Closes #567 .
2016-05-28 14:13:01 +03:00
Jussi Pakkanen
babdb27570
Merge pull request #479 from mesonbuild/i18n
...
Moved gettext into i18n module.
2016-05-25 17:53:35 +03:00
Jussi Pakkanen
dc148e0702
Remove all special casing for gettext and use elementary operations instead.
2016-05-21 18:21:23 +03:00
Jussi Pakkanen
ea092fefc2
Use individual tempdirs for building and installing in unit tests.
2016-04-01 20:20:48 +03:00
Jussi Pakkanen
67377e69b5
Invoke depfixer in-process to make it faster. Closes #480 .
2016-03-30 22:09:36 +03:00
Nirbheek Chauhan
d5c9b98cab
meson_install.py: Start by checking if the shebang is directly runnable
...
If it's just runnable as-is, then we don't need to do fancy basename detection
and such to find the interpretor to use for running the script.
2016-03-17 16:16:35 +05:30
Nirbheek Chauhan
a15e784851
meson_install: os.symlink may be implemented and still not work
...
Requires Administrator access by default to work
2016-02-20 14:28:28 +02:00
Jussi Pakkanen
b91134b806
Better error message when failing to run install script. Closes #361 .
2016-01-23 13:24:30 +02:00
Jussi Pakkanen
23b98cd6e6
Renamed meson package to mesonbuild so that we can have a script named meson in the same toplevel dir.
2016-01-16 17:35:29 +02:00