Commit Graph

18584 Commits

Author SHA1 Message Date
Philip Withnall
e1eaea3eea Merge branch '1406-compile-resources-help' into 'master'
glib-compile-resources: Clarify --help output for --sourcedir argument

Closes #1406

See merge request GNOME/glib!81
2018-06-08 11:48:21 +00:00
Ondrej Holy
15cdcd2e0b glocalfile: Check that parent device is the same when trashing
To be honest, I am not sure why, but in some special environments (e.g.
our CI integration) can happen, that file device number is different from
parent device number. Return "Unable to find or create trash directory for
%s" error from g_local_file_trash() in that case and also set
G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH appropriately.
2018-06-08 13:27:13 +02:00
Ondrej Holy
83ca61a421 glocalfile: Add test case for g_file_trash
g_local_file_trash has been changed to return G_IO_ERROR_NOT_SUPPORTED
for locations on system-internal mounts. Let's verify that.

https://gitlab.gnome.org/GNOME/glib/issues/251
2018-06-08 13:27:13 +02:00
Philip Withnall
ebcb434c75 Merge branch 'master.nomsvcproj' into 'master'
Remove glib-zip.in (from Issue #1409)

See merge request GNOME/glib!80
2018-06-08 10:52:38 +00:00
Philip Withnall
c251c719b6 glib-compile-resources: Minor string improvements to --help output
Fix some capitalisation problems, and one missing space.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2018-06-08 11:43:44 +01:00
Philip Withnall
037f286713 glib-compile-resources: Clarify --help output for --sourcedir argument
Make the --help output more consistent with the man page, making it more
obvious that --sourcedir only applies to the files referenced in FILE,
not to the location of FILE itself.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://gitlab.gnome.org/GNOME/glib/issues/1406
2018-06-08 11:42:52 +01:00
Ondrej Holy
13e751cab4 glocalfile: Update G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH logic
Change G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH logic to be consistent
with recent g_local_file_trash changes, i.e. set this to FALSE for
locations on system-internal mounts.

https://gitlab.gnome.org/GNOME/glib/issues/251
2018-06-08 11:24:23 +02:00
Ondrej Holy
d1eaf72c00 glocalfile: Allow trashing only for locations supported by trash:///
New bugs appears periodically in nautilus/gvfs/glib components that not
all trashed files are shown in trash:///. It used to be problem mostly
for "bind mounts" and btrfs subvolumes only. Currently, it is also
problem for nfs, cifs and other filesystems, which have been recently
added by commmit 0d69462f on the list of system internal filesystems.

This happens because the trash backend doesn't monitor files on system
internal mounts. Such behavior is not against the trash-spec, however,
we should be consistent within GNOME.

This behavior has the nice side-effect that it solves issues with hangs
on network filesystems: https://gitlab.gnome.org/GNOME/glib/issues/605,
because those are currently on the system internal filesystem list.

https://gitlab.gnome.org/GNOME/glib/issues/251
2018-06-08 11:24:20 +02:00
Chun-wei Fan
26b5d7dfff Remove glib-zip.in
We have not updated nor used this script for a long time, and nowadays
Meson makes it much easier to build on Windows for either Visual Studio
or MinGW, even straight from a GIT checkout, so it's about time that we
drop the glib-zip script from the source tree.
2018-06-08 15:47:22 +08:00
Chun-wei Fan
aa44ece684 README.win32: Give details about MSVC builds
Give a more detailed outline of the steps needed for a Visual Studio
build of GLib.
2018-06-08 15:45:03 +08:00
Xavier Claessens
caf68ed87b Merge branch 'fam-ci' into 'master'
Fam ci

See merge request GNOME/glib!78
2018-06-07 17:23:26 +00:00
Philip Withnall
11a8fd6b87 Merge branch 'revert-205059b9' into 'master'
Revert "Merge branch 'wip/oholy/trashing-locations' into 'master'"

See merge request GNOME/glib!79
2018-06-07 16:57:49 +00:00
Philip Withnall
da3daf2803 Revert "Merge branch 'wip/oholy/trashing-locations' into 'master'"
This reverts merge request !49
2018-06-07 16:42:57 +00:00
Xavier Claessens
7016aedde8 ci: Build fam module on linux 2018-06-07 11:33:43 -04:00
Xavier Claessens
9cc50a08dc Dockerfile: Reorder packages in alphabetical order 2018-06-07 11:33:43 -04:00
Xavier Claessens
b04142a24f Merge branch 'fam' into 'master'
Meson: Build fam module

See merge request GNOME/glib!71
2018-06-07 15:18:38 +00:00
Ting-Wei Lan
c61f01f0ff build: Define MAJOR_IN_TYPES when major is defined in sys/types.h
Autoconf macro AC_HEADER_MAJOR doesn't define a macro in config.h when
major is defined in sys/types.h. This was not a problem because major
is assumed to be always available. However, commit aefffa3fbc
changes this assumption in order to fix build on systems without major,
which causes code using major to be disabled on systems putting major
in sys/types.h.

This commit defines a new macro MAJOR_IN_TYPES for both autotools and
meson builds to make major useful on these systems again.
2018-06-07 23:05:50 +08:00
Ting-Wei Lan
f752515925 meson: Use cc.compiles instead of cc.has_header to check malloc.h
cc.has_header checks whether a header exists without knowing whether it
can be used. This is a problem on FreeBSD because its malloc.h is a
header with an '#error' line which always throw compilation error. To
avoid false positive in the check result, we use cc.compiles to do a
full compilation test instead of cc.has_header which only does check
with preprocessor.
2018-06-07 23:05:50 +08:00
Xavier Claessens
a7e383b054 Merge branch 'patch-3' into 'master'
Fix a warning reported by static analyzer tool

See merge request GNOME/glib!74
2018-06-07 14:43:57 +00:00
Xavier Claessens
077e9f04c1 Meson: Build fam module
gio-querymodules-wrapper.py is copied from glib-networking. This python
wrapper script is needed because meson.build cannot check for DESTDIR
env variable itself, unlike Makefile.am. It is used to update
giomodule.cache file when installing GIO modules like fam.
2018-06-07 10:38:20 -04:00
Gaurav
cbde046018 Fix a warning reported by static analyzer tool 2018-06-07 13:45:55 +00:00
Xavier Claessens
b087b2644c Remove unused HAVE_FAM define 2018-06-07 09:45:08 -04:00
Xavier Claessens
73e28ed297 Merge branch 'meson-config-h' into 'master'
Meson: Remove config.h.meson template

See merge request GNOME/glib!14
2018-06-07 13:44:08 +00:00
Xavier Claessens
11822c40bc Meson: Remove config.h.meson template
It became useless because glib_conf is not used anymore for generating
pkgconfig files. See issue #1313.
2018-06-07 09:28:03 -04:00
Philip Withnall
be43436435 Merge branch '1400-g_file_attribute_unix_is_mountpoint-is-false-for-root' into 'master'
Resolve "G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT is False for /"

Closes #1400

See merge request GNOME/glib!51
2018-06-07 09:22:07 +00:00
Christoph Reiter
bb92a03d68 Merge branch 'array-allocations' into 'master'
garray: Optimise over-allocations with g_array_insert_vals()

See merge request GNOME/glib!53
2018-06-07 08:06:15 +00:00
Will Thompson
0c5f084200
fileinfo: make UNIX_IS_MOUNTPOINT be TRUE for /
The previously implementation considered a file to be a mountpoint if
its parent is on a different device. / is its own parent, so by this
definition it is not a mountpoint.

But / is (generally) listed in fstab, and fstab(5) defines the
directories it contains to be mountpoints. This attribute should follow
that definition (and reasonable expectation): the root directory is a
mountpoint.

So, add a special-case for the case where the file's parent has the same
st_dev and st_ino as the file, which is true only at the root.

Test this attribute at / (only on POSIX), /proc (but only on Linux), and
at many files and directories created by the test suite (which cannot be
mountpoints).
2018-06-07 06:38:23 +01:00
Philip Withnall
6f5c8f6f33 Merge branch 'wip/lantw/freebsd-du-problems' into 'master'
tests: Don't fail when not using du from GNU coreutils

See merge request GNOME/glib!68
2018-06-07 01:16:07 +00:00
Philip Withnall
a1ad534e2f Merge branch 'master.nomsvcproj' into 'master'
Drop Visual Studio projects

See merge request GNOME/glib!65
2018-06-06 16:52:50 +00:00
Ting-Wei Lan
f288898485 tests: Use g_idle_add to call g_main_loop_quit
Sometimes file monitor events may be slow to emit. Using g_idle_add
makes it less possible for events to be scheduled later than the main
loop quit, preventing test failure caused by missing events.

This fixes test failure on FreeBSD.
2018-06-07 00:38:07 +08:00
Ting-Wei Lan
41259ac173 kqueue: Only fallback to polling on /media and /run/media
The check in _ke_is_excluded, which causes GKqueueFileMonitor to
fallback to GPollFileMonitor when it returns TRUE, was made to prevent
file monitor from blocking unmount of removable drives on systems not
supporting O_EVTONLY flag in open. However, since g_mount_can_unmount
always returns TRUE on Unix-like platforms, the check always returns
TRUE on non-standard mount points, which is very likely to cause all
programs on the desktop to use the polling fallback if GNOME is
installed in a different prefix for development. This makes the desktop
sluggish and results in bad developer experience on *BSD.
2018-06-07 00:38:07 +08:00
Ting-Wei Lan
70e4ca0340 tests: Don't run file creation and deletion test on kqueue
Kqueue isn't good at detecting rapid file creation and deletion. It
tends to miss events because events returned by the kernel don't include
filename information. Since the size of struct kevent is fixed, it is
probably not possible to extend the API to include file names without
breaking ABI. Therefore, we disables the test here to avoid test failure
that is impossible to fix in a reliable way.
2018-06-07 00:38:07 +08:00
Ting-Wei Lan
bfbeb6f0f5 tests: Don't fail when not using du from GNU coreutils
The test 'file' uses non-standard '--bytes' option when running du,
which may cause error on non-GNU systems. To keep the test working,
we skips the du check as if we don't find a du command when du fails.
2018-06-07 00:37:28 +08:00
Ting-Wei Lan
12a7f27256 meson: Don't use -export-dynamic
-export-dynamic is a libtool flag. It is also supported by GCC as an
undocumented flag, but it is not supported by Clang. Since we don't use
libtool in meson, we should use -Wl,--export-dynamic instead.
2018-06-07 00:34:36 +08:00
Ting-Wei Lan
0388367356 kqueue: Make _ke_is_excluded static
It is not used in any other file.
2018-06-07 00:34:36 +08:00
Chun-wei Fan
cd2081d6a8 README.win32: More updates on GLib usage
Remove mentions of the pre-configured glibconfig.h.win32, as it does not
exist anymore.  Also make the 2008/x64 build workarounds clearer.
2018-06-06 23:54:13 +08:00
Chun-wei Fan
b806ab8906 build: Remove build/win32/vs8
The Visual Studio 2005 projects have not been updated nor dist'ed in a
while, plus we are directing people using Visual Studio to build using
Meson, so it's time to remove them from the source tree.
2018-06-06 23:54:13 +08:00
Chun-wei Fan
4bb173b297 build: Remove leftovers of Visual Studio project stuff
There are more leftover preconfigured stuff that we ought to remove...
2018-06-06 23:54:13 +08:00
Chun-wei Fan
efd19088b0 Drop config.h.win32.in and glib/glibconfig.h.win32.in
Since the Visual Studio projects are dropped, the pre-configured
config.h.win32.in and glib/glibconfig.h.win32.in are no longer needed.
2018-06-06 23:54:13 +08:00
Chun-wei Fan
6888e3278c README.win32: Update build instructions
Let people know that they should use Meson for building GLib under
Visual Studio, and the steps that they may need to know.
2018-06-06 23:54:13 +08:00
Chun-wei Fan
f658e94e65 build: Drop Visual Studio projects
In master, it is already possible to build GLib using Visual Studio
using Meson[1] for some time, so we should focus on maintaining only the
Meson build files for building GLib with Visual Studio.

[1]: There are caveats when building with Visual Studio 2008, namely
     that one needs to use the mt command to embed the manifests that
     are generated with the .exe/DLLs, for all builds, and that in the
     case where the compilation hangs on Visual Studio 2008 x64, as a
     workaround, should stop the build by terminating all cl.exe tasks
     and change the compiler optimization flag from /O2 (full speed) to
     /O1 (optimize for size), due to compiler optimization issues.
2018-06-06 23:54:13 +08:00
Philip Withnall
b4259dec70 Merge branch 'wip/oholy/gunixmountfor-docs' into 'master'
docs: Document g_unix_mount_for

See merge request GNOME/glib!66
2018-06-06 11:03:32 +00:00
Philip Withnall
205059b9c0 Merge branch 'wip/oholy/trashing-locations' into 'master'
glocalfile: Allow trashing only for locations supported by trash:///

See merge request GNOME/glib!49
2018-06-06 10:58:22 +00:00
Ondrej Holy
8df517b457 docs: Document g_unix_mount_for
g_unix_mount_for() has been added into GLib before some time,
however, it is missing in the docs.
2018-06-06 12:24:12 +02:00
Ondrej Holy
f7e80f8d0c glocalfile: Add test case for g_file_trash
g_local_file_trash has been changed to return G_IO_ERROR_NOT_SUPPORTED
for locations on system-internal mounts. Let's verify that.

https://gitlab.gnome.org/GNOME/glib/issues/251
2018-06-06 12:18:30 +02:00
Marek Cernocky
5107d209d8 Updated Czech translation 2018-06-06 11:06:49 +02:00
Philip Withnall
f06ba1722c Merge branch 'solaris-defines' into 'master'
Meson: Add missing defines on Solaris

See merge request GNOME/glib!64
2018-06-06 01:55:43 +00:00
Xavier Claessens
02bac34921 Merge branch 'drop-unused-defines' into 'master'
Remove unused HAVE_LONG_LONG_FORMAT and HAVE_LONG_LONG_FORMAT

See merge request GNOME/glib!63
2018-06-05 23:32:20 +00:00
Xavier Claessens
6ed57f8e26 Meson: Add missing defines on Solaris
We have no way to test Solaris builds atm, and it is not even clear how
to detect Solaris systems with meson. It will probably need to be
revisited when we get a proper CI in place.
2018-06-05 19:30:16 -04:00
Xavier Claessens
65bd090d57 Remove unused HAVE_LONG_LONG_FORMAT and HAVE_INT64_AND_I64 2018-06-05 19:04:48 -04:00