Commit Graph

202 Commits

Author SHA1 Message Date
Elyes HAOUAS dc4fd17a9c Fix typos - (Part #5)
Fix some typos

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D12019
2020-06-25 09:03:07 +02:00
Elyes HAOUAS e137478dc5 Get rid of trailing whitespaces (14 / 14)
Remove  trailing whitespaces
Differential Revision: https://phab.enlightenment.org/D12006
2020-06-23 10:31:48 +02:00
Carsten Haitzler 047872e7cc efreet - mtime 0 fix build on windows 2020-06-18 11:35:44 +01:00
Carsten Haitzler a5b84c6c6e efreetd - cache - add more statinfo work around 0 mtime distros
some distros 9notably in this case nixos) want to do reproducible
builds. to them this means going around setting mtime for all files to
0. this means efreetd not only thinks mtime is invalid/stupid (0 is
generally just that as midnight on jan 1 1970 is not exactly a
sensible dare for a modified timestamp of a file as no filesystem with
any sanity will have not been modified since that time), but it keeps
mtime at 0 even when things update. this totally breaks efreetd that
expects to find mtime increases over time as things change. it's
necessary because it has to perform a "are mu caches up to date" scan
of all file data it caches and it needs to know if it should rebuild
something based on this.

so this does a few things:

1. it makes mtime have to be an exact match to the cache, not cache
mtime >= file mtime. so any change forward or back is an inavlidation.
2. it now also uses ctime, mode, size, uid, gid, block count and if a
symlink, the sha1 of the symlink path in addition and any change to
these == invalid.

this adds a lot of code and changes how dirs get scanned a bit but it
means it can pick up changes on these 0 mtime distros.

interestingly the policy of mtime being 0 is to have a reprodcible fs
... but ctime still changes and is > 0, as does inode info, so it's
not actually possible to have it totally work... but they try still,
so this is a fix for that problem.

whilst i was doing thisi also noticed efreetd re-red dirs many times
due to icon theme inhritance. i also fixed that to do a LOT less
syscalls by only scanning a dir once as i was rejigging the scanning
code at the time anyway. this should optimize thr scan costs at
efreetd startup too.

@fix
@opt
2020-06-18 11:13:52 +01:00
Carsten Haitzler 9be9e9f5ff efreet - handle runtime relocation right with default XDG_DATA_DIRS
XDG_DATA_DIRS was only set up to a default including where efl was
installed prefix-wise as the compiled-=in prefix, not runtime
determined prefix. it shouldn't actually affect most people except
those making use of this.

@fix
2020-06-09 10:16:24 +01:00
Marcel Hollerbach 8e3606698e refactor build
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.

this is preparation work for efl-one.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
2020-05-27 11:06:46 +02:00
Marcel Hollerbach 3ec1101652 Merge efreet_mime efreet_trash into efreet
efreet_mime and efreet_trash are now included in libefreet.so. There are
compatible libs for libefreet_mime.so libefreet_trash.so, which simple
drag in libefreet.so. .pc files also are in place for compatibility.

efreet_init & shutdown now initializes and shutdowns trash and mime.
The old init functions now simply call efreet_init, efreet_init will
then init the trash or mime libs.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11807
2020-05-26 10:15:30 +02:00
Carsten Haitzler 63b5d81983 Revert "Fix EAPI definition by defining EFL_BUILD for each built DLL"
This reverts commit 3ade45cbc8.
2020-05-18 11:13:59 +01:00
Vincent Torri 3ade45cbc8 Fix EAPI definition by defining EFL_BUILD for each built DLL
Summary: EAPI must be defined to dllexport when building DLL, and to dllimport when using these DLL. To achieve this, define EFL_BUILD for each library and module, and set DLL_EXPORT unconditionally. Static library are and will be not supported

Test Plan: compilation

Reviewers: zmike, raster, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11834
2020-05-18 09:51:48 +01:00
Vincent Torri d135957ffa Use __func__ C99 identifier instead of __FUNCTION__ compiler extension
Summary: see http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1124.pdf section 6.4.2.2 page 52

Test Plan: compilation

Reviewers: raster, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11785
2020-05-07 09:27:07 -04:00
Carsten Haitzler 680dee1daf efreet - work around conconforming apps putting startupwmclass in quotes
riot does

StartupWMClass="Riot"

https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

does not allow for quoting here. you can quote fields in an exec line
- for shell and replacement purposes, but not other fields like this
above. this is a workaround a broken app so matching window to desktop
file works.

@fix
2020-04-25 14:44:23 +01:00
Carsten Haitzler 2ebc97aa96 efreet - also look in lib in /usr/local/share/pixmaps too 2020-04-16 13:19:36 +01:00
Marcel Hollerbach 9b6909601d build: fix libraries of efreet-mime -trash
Summary:
the dependencies were simply wrong.
Depends on D11684

Reviewers: zmike, stefan_schmidt, raster

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11696
2020-04-14 11:32:45 -04:00
Carsten Haitzler 9fd9a3b120 efreetd - ensure on bsd where connects succed despite daemon being gone
just get it to work... getting unamused with this.
2020-04-10 01:15:30 +02:00
Carsten Haitzler 6df39f0382 efreet - try less chaotic efreetd restart and delay 0.5-1.0 rand sec
try work on T8490
2020-04-09 20:45:57 +01:00
Xavi Artigas 9f4b5458ea doxygen: fix duplicated toc sections 2020-02-28 11:44:19 +01:00
Carsten Haitzler ee6cc91a03 eina - fix eina_strndup test passing 2020-01-15 19:23:44 +00:00
Carsten Haitzler 7096634a39 efreet - consider ctime changes as changes too
some distros do odd things with source desktop files and set their
mtime timestamps to 0... thus we can't tell that there is a change.
thier ctimes do change, so consider the newer of either of these as
the modification time to not miss updates

@fix
2019-11-16 13:02:10 +00:00
Boris Faure b26085819e efreet: fix typo
Summary: efreet: fix typo

Test Plan: None

Reviewers: cedric, raster, lauromoura, devilhorns, marcelhollerbach, segfaultxavi, zmike, vtorri

Reviewed By: segfaultxavi, vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10676
2019-11-15 12:57:08 +01:00
thierry1970 2f5e2de8c4 efreet : Check that the file has a protocol in efreet_desktop_command_file_process()
if a path has a '/' character in it before the ':' character then it
should be treated as a local file which contains a ':' character in
its name

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10409
2019-10-28 09:07:13 -04:00
Vincent Torri 8dcd638829 Efreet_Uri: fix URI decoding when a Windows path (letter followed by :) is passed to efreet_uri_decode()
Summary: uri decoding returned a wrong URI when a Windows path is given

Test Plan: rage, which is using efreet_uri  is now playing files on Windows

Reviewers: raster, cedric, zmike, stefan_schmidt

Reviewed By: raster

Subscribers: stefan_schmidt, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9839
2019-09-04 20:09:44 +01:00
Carsten Haitzler 2f534b0256 efreet - make efreet launch timeout configurable by env var
also report as an ERR explicitly if its a timeout.
2019-08-25 11:24:54 +01:00
Vincent Torri 01b987df59 make mman.h private
Summary:
integrate mman.h to make Evil private to the EFL, as mman.h does not exist on Windows. After a discussion with raster, i include sys/mman.h only on non Windows platform.

One issue, though, is that src/modules/emotion/generic/Emotion_Generic_Plugin.h has inlined functions using mmap()

Test Plan: compilation on Windows

Reviewers: cedric, raster, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9542
2019-08-19 09:55:13 -04:00
Carsten Haitzler 8531380de0 efreet - be more patient for efreet to start - up to 2 sec now
seems people have issues with efreetd starting in 0.5 sec on some
systems... even rpi's manage that, but lets be more patient and wait
up to 2 sec
2019-08-09 19:09:25 +01:00
Vincent Torri a6ade14c5e Evil: remove pwd code in Evil and fix compilation failures after the removal
Summary: remove pwd code in Evil

Test Plan: compilation

Reviewers: zmike, cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9420
2019-07-28 09:27:27 +01:00
Vincent Torri a5267d3d9c remove Evil.h when not necessary, include evil_private.h when necessary
Test Plan: compilation

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8925
2019-05-20 09:10:00 -04:00
Vincent Torri b141c42e3f Evil: remove wrapper around getcwd()
Summary: getcwd() is declared in direct.h

Test Plan: compilation

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8858
2019-05-08 08:39:36 -04:00
Christopher Michael 5ed079cb61 efreet: Fix resource leak
Summary:
Coverity reports that we leak 'exec' here when we return. Add
IF_FREE(exec) to remove the leak.

Fixes Coverity CID1399090

@fix

Depends on D8353

Reviewers: raster, cedric, zmike, bu5hm4n, stefan_schmidt

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8354
2019-03-15 08:58:17 -04:00
Vincent Torri f7c560c311 replace hton and ntoh family functions with ones defined in eina
Summary: This fixes especially the execution of edje_cc on Windows

Test Plan: execution of edje_cc

Reviewers: cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7834
2019-02-01 14:25:35 +00:00
Alastair Poole 0d7f20bbc6 efreet: Add installation prefix search for XDG_DATA_DIRS.
Summary:
Currently path parsed for XDG_DATA_DIRS is hard-coded to
/etc. By using eina_prefix_get and adding to the list
of directories efreet should use efreet will use path
relative to the EFL installation.

Reviewers: #committers, bu5hm4n, cedric, raster, zmike

Reviewed By: #committers, zmike

Subscribers: zmike, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7534
2019-01-03 19:16:31 +00:00
Carsten Haitzler 91990b7cf8 meson - fix pc file versions that were missing mirco version 2018-12-27 11:54:30 +00:00
Carsten Haitzler 65e9ad0b03 efreet menu - fix truncation in snprintf to have bigger buffers 2018-11-09 12:21:30 +00:00
Carsten Haitzler 14d501d17b efreet icon - move func into ifdef as only used if ifdef is true 2018-11-09 12:20:08 +00:00
Carsten Haitzler 721b72ce87 efreet trash - warn - expand buffer to avoid truncation by snprintf 2018-11-09 12:18:59 +00:00
Carsten Haitzler 80d7f0b7c1 efreet menu - only build internal cmp func if used in ifdefs 2018-11-09 12:18:59 +00:00
Carsten Haitzler a0171db3f2 efreet icon - fix constness of char ptr 2018-11-09 11:44:00 +00:00
Marcel Hollerbach 46d464e5bf here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.

meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.

Further informations can be gathered from the README.meson

Right now, bindings & windows support are missing.

It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.

Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>

Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
2018-10-02 17:22:50 +02:00
Alastair Poole c0b672db9c efreet_menu: remove unused and unreachable code.
Coverity doesn't like this unreachable code. This purges
efreet_menu of all unused code for the deprecated and
non-working menu_async methods. The warnings remain
at compile time and run time.
Differential Revision: https://phab.enlightenment.org/D7101
2018-09-27 10:13:50 +02:00
Marcel Hollerbach 7968a0d0b9 move efreet xdg envvars to eina
Summary:
The contents of the XDG_ env vars are also usefull for eina subsystems,
thus we should init those env vars here.

Depends on D6751

Reviewers: zmike, stefan_schmidt, #committers

Reviewed By: zmike, #committers

Subscribers: #reviewers, cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6744
2018-08-20 12:57:57 -04:00
Mike Blumenkrantz 5ad16095a4 efreet: include buildsystem.h in efreet_cache.c
Summary: lib/efreet/efreet_cache.c:121:6: warning: implicit declaration of function 'bs_binary_get' is invalid in C99 [-Wimplicit-function-declaration]

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6556
2018-07-10 11:41:25 -04:00
Mike Blumenkrantz 36fc0ce77e efreet: simplify and fix efreetd launch
this previously used an entire eina prefix to determine where to find
efreetd, when a simpler approach would have been to just pass the directory
where it's being installed

this also inhibited running the correct efreetd during in-tree builds and tests,
as it was using the install prefix instead of the in-tree wrapper script

@fix
fix T6713

Differential Revision: https://phab.enlightenment.org/D6516
2018-07-06 15:51:59 +02:00
Mike Blumenkrantz b4c2db8d05 efreet: use correct path when generating error message about stale efreetd socket
Summary:
using runtime directory in all cases for this is wrong, as ecore-con has a number
of fallback codepaths for the case where runtime directory is not set or not valid.

by using the same ecore-con function which ecore-ipc uses to generate the socket
string, the error message path should always be the same as the path which is
used by efreetd

extra linkage was required by efreet in order to use ecore-con functions, so
the internal lib variable in the build system was modified to provide this

@fix

fix T7045

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T7045

Differential Revision: https://phab.enlightenment.org/D6425
2018-07-03 12:49:08 -04:00
Alastair Poole c3d2ba07bc efreet: silent deprecated API build warnings.
Silent warnings on EFL build. Warn on API "mis-use".
2018-06-22 07:16:50 +01:00
Alastair Poole 48dc758688 efreet: make efreet_menu_async_get() deprecated.
Marking deprecated. Func will warn and instantly return on
call.
2018-06-15 10:42:54 +01:00
Alastair Poole 6baaab4b21 efreet: mark efreet_menu_async_parse() deprecated.
Marking deprecated, with warnning and instant return.
Disabling test code also (for now). Awaiting a fresh
implementation.

@fix T585
2018-06-14 19:00:22 +01:00
Mike Blumenkrantz 18b6b1248d efreet: add method for disabling efreetd connection
Summary:
some minimal applications, such as test suites, may want to
disable this if they are not in need of any of the
functionality that is provided

@feature

Depends on D5965

Reviewers: cedric, stefan_schmidt

Reviewed By: cedric

Subscribers: stefan_schmidt, cedric

Differential Revision: https://phab.enlightenment.org/D5966
2018-04-27 14:35:13 +02:00
Al Poole 300831cb3c efreet_xml: make sure we unmap the right pointer.
Seems Linux would munmap a lump of coal without failing. Make
sure the pointers match. Again bogus unmap not detected by
valgrind and not failing.

@fix T5949
2018-03-03 13:13:05 +00:00
Marcel Hollerbach 530b7e1453 efreet: fix for windows
there is probebly not geteuid / getuid
2018-02-26 12:21:56 +01:00
Carsten Haitzler 411e140eaf eina vpath - improve docs and add app.tmp and usr.tmp vpaths too
definitely kaes the docs better with lots of sample paths and some
indication of what these may map to in real life.
2018-02-23 16:26:30 +09:00
Cedric Bail b575c41676 eina: make eina_vpath_interface_user_set an internal API. 2018-02-22 14:57:36 -08:00