This module provides an API for the GeoIP2 web services and databases.
The API also works with the free GeoLite2 databases.
See GeoIP2::WebService::Client for details on the web service client API
and GeoIP2::Database::Reader for the database API.
OK giovanni@
are included in packages)
- as this is port-only (no redistribution) and the dependencies have
slow builds, print a message suggesting use of FETCH_PACKAGES if it
wasn't already used.
would fail as they were linked with -lcaca without -L/usr/local/lib.
Build with -DHAVE_LIBCACA:BOOL=FALSE so libcaca isn't picked up and
doesn't break tests for asprintf ffs etc.
Reported, diagnosed by and ok aja@
dialog is opened and unveil(2) is used.
This fixes the issue when another program not using unveil(2) changes
the last used path of the file dialog and then the file dialog opened
by chrome will get stuck inside a non-existent directory.
To make sure that the ~/Downloads XDG directory is always available
for glib to pick up, the chrome wrapper script will check if the
~/.config/user-dirs.dirs does not exist and create it with one entry
configured: XDG_DOWNLOAD_DIR="$HOME/Downloads"
glib by doing the following:
- Modify the g_mkdir_with_parents() function so that it will try to
create the specified path directly and if g_mkdir() fails, it will
fall back to walking the path one by one.
- In case of walking the path one by one, ignore ENOENT for all path
elements except for the last one, because g_mkdir_with_parents()
will fail with programs using unveil(2) (with statlie removed).
Ignoring ENOENT is completely fine because we really only care about
the last element of the path and this modification will also have the
benefit of avoiding useless stat calls
- My initial tests show that by just firing up a simple file dialog
this modification saves an average of 110 system calls, now imagine
running GNOME or Chrome with that. Each and every program using glib's
g_mkdir_with_parents() before opening the needed files (most do this)
will benefit from this.
- Check if the XDG directories actually exist before adding them to the
list used by file dialogs.
This is also useful if you are not running a complete desktop environment
and you simply do not have these directories.
ok ajacoutot@
to create the directory path first.
If we cannot open the cache directly, fall back to creating the
hierarchy first.
This avoids a call to glib's g_mkdir_with_parents() function which
would walk the complete path trying to create already existing
directories.
ok ajacoutot@