From: Enlightenment S. <no-...@en...> - 2010-05-07 07:15:00
|
Log: in case I ever forget how to do this Author: discomfitor Date: 2010-05-07 00:14:53 -0700 (Fri, 07 May 2010) New Revision: 48665 Added: trunk/devs/discomfitor/format_reminders.txt |
From: Enlightenment S. <no-...@en...> - 2010-05-19 08:18:24
|
Log: updated Author: discomfitor Date: 2010-05-19 01:18:17 -0700 (Wed, 19 May 2010) New Revision: 48998 Modified: trunk/devs/discomfitor/info.txt Modified: trunk/devs/discomfitor/info.txt =================================================================== --- trunk/devs/discomfitor/info.txt 2010-05-19 06:11:47 UTC (rev 48997) +++ trunk/devs/discomfitor/info.txt 2010-05-19 08:18:17 UTC (rev 48998) @@ -3,6 +3,6 @@ Name: Mike Blumenkrantz Location: CT, USA E-Mail: mi...@ze... -Managing: eek -Contributing: elementary, e, gentoo ebuilds +Managing: eeze +Contributing: elementary, e, e_dbus, gentoo ebuilds, anything udev-related Platform: Gentoo (Linux) |
From: Enlightenment S. <no-...@en...> - 2010-06-03 04:46:28
|
Log: on hiatus till after zentific's code freeze begins (15 june 2010) this file contains everything I'm working on//plan to work on in the near future feel free to add stuff that isn't impossible :) Author: discomfitor Date: 2010-06-02 21:46:20 -0700 (Wed, 02 Jun 2010) New Revision: 49405 Added: trunk/devs/discomfitor/TODO |
From: Enlightenment S. <no-...@en...> - 2010-06-03 04:50:50
|
Log: small update Author: discomfitor Date: 2010-06-02 21:50:42 -0700 (Wed, 02 Jun 2010) New Revision: 49406 Modified: trunk/devs/discomfitor/TODO Modified: trunk/devs/discomfitor/TODO =================================================================== --- trunk/devs/discomfitor/TODO 2010-06-03 04:46:20 UTC (rev 49405) +++ trunk/devs/discomfitor/TODO 2010-06-03 04:50:42 UTC (rev 49406) @@ -6,6 +6,7 @@ *hal detection in efm to only attempt hal actions when hal is active *mount actions for eeze *eeze integration into efm to replace hal +*update battery fuzzy mode to do rolling averages ___EVENTUAL___ |
From: Enlightenment S. <no-...@en...> - 2010-06-09 01:53:31
|
Log: update Author: discomfitor Date: 2010-06-08 18:53:24 -0700 (Tue, 08 Jun 2010) New Revision: 49584 Modified: trunk/devs/discomfitor/TODO Modified: trunk/devs/discomfitor/TODO =================================================================== --- trunk/devs/discomfitor/TODO 2010-06-09 01:48:24 UTC (rev 49583) +++ trunk/devs/discomfitor/TODO 2010-06-09 01:53:24 UTC (rev 49584) @@ -3,6 +3,7 @@ things I am/will be working on: ___URGENT___ +*efl eclass *hal detection in efm to only attempt hal actions when hal is active *mount actions for eeze *eeze integration into efm to replace hal |
From: Enlightenment S. <no-...@en...> - 2010-06-22 18:00:22
|
Log: updated Author: discomfitor Date: 2010-06-22 11:00:16 -0700 (Tue, 22 Jun 2010) New Revision: 49797 Modified: trunk/devs/discomfitor/TODO Modified: trunk/devs/discomfitor/TODO =================================================================== --- trunk/devs/discomfitor/TODO 2010-06-22 17:33:38 UTC (rev 49796) +++ trunk/devs/discomfitor/TODO 2010-06-22 18:00:16 UTC (rev 49797) @@ -3,11 +3,12 @@ things I am/will be working on: ___URGENT___ +*fix fuzzy mode for when plugged in +*update battery fuzzy mode to do rolling averages *efl eclass *hal detection in efm to only attempt hal actions when hal is active *mount actions for eeze *eeze integration into efm to replace hal -*update battery fuzzy mode to do rolling averages ___EVENTUAL___ |
From: Enlightenment S. <no-...@en...> - 2010-07-06 14:26:16
|
Log: ebuild autogenerator; simply run it with `emod_ebuilds.sh $modname` and get a (probably) working ebuild! that's how I make them anyway... Author: discomfitor Date: 2010-07-06 07:26:08 -0700 (Tue, 06 Jul 2010) New Revision: 50064 Added: trunk/devs/discomfitor/emod_ebuilds.sh Property changes on: trunk/devs/discomfitor/emod_ebuilds.sh ___________________________________________________________________ Added: svn:executable + * |
From: Enlightenment S. <no-...@en...> - 2010-07-08 07:07:11
|
Log: update Author: discomfitor Date: 2010-07-08 00:07:01 -0700 (Thu, 08 Jul 2010) New Revision: 50123 Modified: trunk/devs/discomfitor/TODO Modified: trunk/devs/discomfitor/TODO =================================================================== --- trunk/devs/discomfitor/TODO 2010-07-08 06:53:06 UTC (rev 50122) +++ trunk/devs/discomfitor/TODO 2010-07-08 07:07:01 UTC (rev 50123) @@ -3,6 +3,7 @@ things I am/will be working on: ___URGENT___ +*finish elm_config *fix fuzzy mode for when plugged in *update battery fuzzy mode to do rolling averages *efl eclass |
From: Enlightenment S. <no-...@en...> - 2010-07-16 21:08:42
|
Log: small update for new eclass Author: discomfitor Date: 2010-07-16 14:08:35 -0700 (Fri, 16 Jul 2010) New Revision: 50294 Modified: trunk/devs/discomfitor/emod_ebuilds.sh Modified: trunk/devs/discomfitor/emod_ebuilds.sh =================================================================== --- trunk/devs/discomfitor/emod_ebuilds.sh 2010-07-16 21:05:32 UTC (rev 50293) +++ trunk/devs/discomfitor/emod_ebuilds.sh 2010-07-16 21:08:35 UTC (rev 50294) @@ -24,6 +24,7 @@ # \$Header: $ EAPI="2" +EFL_PKG_IUSE="nls" ESVN_SUB_PROJECT="E-MODULES-EXTRA" ESVN_URI_APPEND="\${PN#e_module-}" E_NO_DOC="1" |
From: Enlightenment S. <no-...@en...> - 2010-07-16 21:09:25
|
Log: todo updates Author: discomfitor Date: 2010-07-16 14:09:18 -0700 (Fri, 16 Jul 2010) New Revision: 50295 Modified: trunk/devs/discomfitor/TODO Modified: trunk/devs/discomfitor/TODO =================================================================== --- trunk/devs/discomfitor/TODO 2010-07-16 21:08:35 UTC (rev 50294) +++ trunk/devs/discomfitor/TODO 2010-07-16 21:09:18 UTC (rev 50295) @@ -1,12 +1,9 @@ -gone till after zentific code freeze has begun (15 June 2010) -add whatever to this todo in the proper section and I'll get to it when I get back - things I am/will be working on: ___URGENT___ +*fixmes in e17 ebuild *finish elm_config *fix fuzzy mode for when plugged in *update battery fuzzy mode to do rolling averages -*efl eclass *hal detection in efm to only attempt hal actions when hal is active *mount actions for eeze *eeze integration into efm to replace hal |
From: Enlightenment S. <no-...@en...> - 2010-07-21 22:50:24
|
Log: for anyone else who uses geany as their editor, this script will autogenerate intellisense autocomplete data from a single header file see http://www.geany.org/manual/current/index.html#tags for more info Author: discomfitor Date: 2010-07-21 15:50:18 -0700 (Wed, 21 Jul 2010) New Revision: 50421 Added: trunk/devs/discomfitor/geany_tagger.sh Property changes on: trunk/devs/discomfitor/geany_tagger.sh ___________________________________________________________________ Added: svn:executable + * |
From: Enlightenment S. <no-...@en...> - 2010-07-22 18:28:09
|
Log: updated tagger, intellisense is go Author: discomfitor Date: 2010-07-22 11:28:00 -0700 (Thu, 22 Jul 2010) New Revision: 50436 Modified: trunk/devs/discomfitor/geany_tagger.sh Modified: trunk/devs/discomfitor/geany_tagger.sh =================================================================== --- trunk/devs/discomfitor/geany_tagger.sh 2010-07-22 17:31:33 UTC (rev 50435) +++ trunk/devs/discomfitor/geany_tagger.sh 2010-07-22 18:28:00 UTC (rev 50436) @@ -13,6 +13,9 @@ if [[ -z $header ]] || [[ -z $tagfile ]];then echo "Usage: $progname header_file tag_file" exit +elif [[ "${tagfile/.c.tags}" = "$tagfile" ]];then + echo "tag_file must end with .c.tags!" + exit fi stdheaders=(assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h stdint.h stdio.h stdlib.h string.h time.h wchar.h wctype.h) @@ -80,7 +83,7 @@ grab_headers done echo -e "***Generating tags for the following headers: ${headers[@]}\n" -geany -g "$tagfile" ${headers[@]} +geany -P -g "$tagfile" ${headers[@]} #remove static variables sed -i '/^_/d' "$tagfile" |
From: Enlightenment S. <no-...@en...> - 2010-07-24 02:17:15
|
Log: valgrind log Author: discomfitor Date: 2010-07-23 19:17:08 -0700 (Fri, 23 Jul 2010) New Revision: 50472 Added: trunk/devs/discomfitor/e_valgrind.log |
From: Enlightenment S. <no-...@en...> - 2010-07-27 06:31:48
|
Log: a script for uncrustify which autoformats to efl standards, or "close enough" Author: discomfitor Date: 2010-07-26 23:31:42 -0700 (Mon, 26 Jul 2010) New Revision: 50530 Added: trunk/devs/discomfitor/efl_uncrustify.cfg |
From: Enlightenment S. <no-...@en...> - 2010-08-08 02:52:34
|
Log: updates Author: discomfitor Date: 2010-08-07 19:52:27 -0700 (Sat, 07 Aug 2010) New Revision: 50890 Modified: trunk/devs/discomfitor/TODO Modified: trunk/devs/discomfitor/TODO =================================================================== --- trunk/devs/discomfitor/TODO 2010-08-07 22:43:50 UTC (rev 50889) +++ trunk/devs/discomfitor/TODO 2010-08-08 02:52:27 UTC (rev 50890) @@ -1,15 +1,20 @@ things I am/will be working on: -___URGENT___ -*fixmes in e17 ebuild +___URGENT___ (pre 1.0 hopefully?) *finish elm_config -*fix fuzzy mode for when plugged in +*fix battery fuzzy mode for when plugged in *update battery fuzzy mode to do rolling averages *hal detection in efm to only attempt hal actions when hal is active -*mount actions for eeze -*eeze integration into efm to replace hal +*evas textblock optimizing ("rejiggering") for large tbs -___EVENTUAL___ +___SOON___ (whenever I feel like it) +**mount actions for eeze: will use libmount so wait a month or two +**eeze integration into efm to replace hal +**ecore xcb updates + + + +___EVENTUAL___ (hahahahahaha) efl guake+vte lib clones efl comix clone efl gmpc clone |
From: Enlightenment S. <no-...@en...> - 2010-08-08 09:05:00
|
Log: fix sed Author: discomfitor Date: 2010-08-08 02:04:51 -0700 (Sun, 08 Aug 2010) New Revision: 50891 Modified: trunk/devs/discomfitor/format_reminders.txt Modified: trunk/devs/discomfitor/format_reminders.txt =================================================================== --- trunk/devs/discomfitor/format_reminders.txt 2010-08-08 02:52:27 UTC (rev 50890) +++ trunk/devs/discomfitor/format_reminders.txt 2010-08-08 09:04:51 UTC (rev 50891) @@ -1,4 +1,4 @@ -sed -i 's/^\([a-zA-Z].*\)\([a-zA-Z0-9_]*(\)/\1\n\2(/' +sed -i 's/^\([a-zA-Z].*\)\([a-zA-Z0-9_]*(\)/\1\n\2/' #for changing something like const inline stupid attribute variable defined function_has_a_long_name_off_thescreen_oh_my_god_its_solong(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) #to |
From: Enlightenment S. <no-...@en...> - 2010-08-08 09:07:36
|
Log: actually fix sed... Author: discomfitor Date: 2010-08-08 02:07:30 -0700 (Sun, 08 Aug 2010) New Revision: 50892 Modified: trunk/devs/discomfitor/format_reminders.txt Modified: trunk/devs/discomfitor/format_reminders.txt =================================================================== --- trunk/devs/discomfitor/format_reminders.txt 2010-08-08 09:04:51 UTC (rev 50891) +++ trunk/devs/discomfitor/format_reminders.txt 2010-08-08 09:07:30 UTC (rev 50892) @@ -1,4 +1,4 @@ -sed -i 's/^\([a-zA-Z].*\)\([a-zA-Z0-9_]*(\)/\1\n\2/' +sed 's/^\([a-zA-Z].*\) \([a-zA-Z0-9_]*\)(/\1\n\2(/' #for changing something like const inline stupid attribute variable defined function_has_a_long_name_off_thescreen_oh_my_god_its_solong(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) #to |
From: Enlightenment S. <no-...@en...> - 2010-08-20 03:59:34
|
Log: fix sed to work with stupid eina Author: discomfitor Date: 2010-08-19 20:59:27 -0700 (Thu, 19 Aug 2010) New Revision: 51462 Modified: trunk/devs/discomfitor/format_reminders.txt Modified: trunk/devs/discomfitor/format_reminders.txt =================================================================== --- trunk/devs/discomfitor/format_reminders.txt 2010-08-20 03:32:20 UTC (rev 51461) +++ trunk/devs/discomfitor/format_reminders.txt 2010-08-20 03:59:27 UTC (rev 51462) @@ -1,4 +1,4 @@ -sed 's/^\([a-zA-Z].*\) \([a-zA-Z0-9_]*\)(/\1\n\2(/' +sed -r 's/^([a-zA-Z].*\*?) \t?([a-z][a-zA-Z0-9_]*\()/\1\n\2/' #for changing something like const inline stupid attribute variable defined function_has_a_long_name_off_thescreen_oh_my_god_its_solong(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) #to |
From: Enlightenment S. <no-...@en...> - 2010-08-20 04:00:35
|
Log: smoke less crack while committing Patch by lfelipe Author: discomfitor Date: 2010-08-19 21:00:28 -0700 (Thu, 19 Aug 2010) New Revision: 51463 Modified: trunk/devs/discomfitor/format_reminders.txt Modified: trunk/devs/discomfitor/format_reminders.txt =================================================================== --- trunk/devs/discomfitor/format_reminders.txt 2010-08-20 03:59:27 UTC (rev 51462) +++ trunk/devs/discomfitor/format_reminders.txt 2010-08-20 04:00:28 UTC (rev 51463) @@ -1,4 +1,4 @@ -sed -r 's/^([a-zA-Z].*\*?) \t?([a-z][a-zA-Z0-9_]*\()/\1\n\2/' +sed -r 's/^([a-zA-Z].*\*?) ([a-z][a-zA-Z0-9_]*\()/\1\n\2/' #for changing something like const inline stupid attribute variable defined function_has_a_long_name_off_thescreen_oh_my_god_its_solong(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) #to |
From: Enlightenment S. <no-...@en...> - 2010-08-22 21:36:14
|
Log: update Author: discomfitor Date: 2010-08-22 14:36:06 -0700 (Sun, 22 Aug 2010) New Revision: 51540 Modified: trunk/devs/discomfitor/info.txt Modified: trunk/devs/discomfitor/info.txt =================================================================== --- trunk/devs/discomfitor/info.txt 2010-08-22 21:09:10 UTC (rev 51539) +++ trunk/devs/discomfitor/info.txt 2010-08-22 21:36:06 UTC (rev 51540) @@ -3,6 +3,6 @@ Name: Mike Blumenkrantz Location: CT, USA E-Mail: mi...@ze... -Managing: eeze +Managing: eeze, e_dbus:ukit, esskyuehl Contributing: elementary, e, e_dbus, gentoo ebuilds, anything udev-related Platform: Gentoo (Linux) |
From: Enlightenment S. <no-...@en...> - 2010-09-18 07:33:51
|
Log: update info Author: discomfitor Date: 2010-09-18 00:33:45 -0700 (Sat, 18 Sep 2010) New Revision: 52410 Modified: trunk/devs/discomfitor/info.txt Modified: trunk/devs/discomfitor/info.txt =================================================================== --- trunk/devs/discomfitor/info.txt 2010-09-18 07:12:40 UTC (rev 52409) +++ trunk/devs/discomfitor/info.txt 2010-09-18 07:33:45 UTC (rev 52410) @@ -4,5 +4,5 @@ Location: CT, USA E-Mail: mi...@ze... Managing: eeze, e_dbus:ukit, esskyuehl -Contributing: elementary, e, e_dbus, gentoo ebuilds, anything udev-related +Contributing: elementary, e, ecore_con, ecore_thread, e_dbus, gentoo ebuilds, anything udev-related Platform: Gentoo (Linux) |
From: Enlightenment S. <no-...@en...> - 2010-10-16 06:46:01
|
Log: diff for 1.1 pre-pre-pre-pre alpha of eeze. this will be updated regularly for those of you who are thrill seekers Author: discomfitor Date: 2010-10-15 23:45:54 -0700 (Fri, 15 Oct 2010) New Revision: 53483 Added: trunk/devs/discomfitor/eeze-1.1.diff |
From: Enlightenment S. <no-...@en...> - 2010-10-16 16:07:24
|
Log: basic mounting should work now, add in configure options/detection of mount+umount bins Author: discomfitor Date: 2010-10-16 09:07:17 -0700 (Sat, 16 Oct 2010) New Revision: 53491 Modified: trunk/devs/discomfitor/eeze-1.1.diff Modified: trunk/devs/discomfitor/eeze-1.1.diff =================================================================== --- trunk/devs/discomfitor/eeze-1.1.diff 2010-10-16 13:45:55 UTC (rev 53490) +++ trunk/devs/discomfitor/eeze-1.1.diff 2010-10-16 16:07:17 UTC (rev 53491) @@ -62,6 +62,38 @@ # pkg-config PKG_PROG_PKG_CONFIG +@@ -89,7 +90,21 @@ + AC_DEFINE([OLD_UDEV_RRRRRRRRRRRRRR],[1],[compat functionality for udev < 148]) + fi + ++with_mount="/bin/mount" ++with_umount="/bin/umount" ++AC_ARG_WITH([mount], AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])) ++AC_ARG_WITH([umount], AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])) + ++if test "x$with_mount" = "xdetect";then ++ AC_PATH_PROG([with_mount], [mount], AC_MSG_ERROR([mount could not be found in PATH])) ++fi ++AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_mount"], [mount bin to use]) ++ ++if test "x$with_umount" = "xdetect";then ++ AC_PATH_PROG([with_umount], [umount], AC_MSG_ERROR([umount could not be found in PATH])) ++fi ++AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_umount"], [umount bin to use]) ++ + ### Checks for header files + + +@@ -137,6 +152,9 @@ + echo + echo "Configuration Options Summary:" + echo ++echo "Mount..................: ${with_mount}" ++echo "Umount.................: ${with_umount}" ++echo + echo "Documentation..........: ${build_doc}" + echo + echo "Compilation............: make (or gmake)" Index: src/lib/eeze_udev_watch.c =================================================================== --- src/lib/eeze_udev_watch.c (revision 53481) @@ -79,7 +111,7 @@ =================================================================== --- src/lib/eeze_disk_private.h (revision 0) +++ src/lib/eeze_disk_private.h (revision 0) -@@ -0,0 +1,56 @@ +@@ -0,0 +1,67 @@ +#ifndef EEZE_DISK_PRIVATE_H +#define EEZE_DISK_PRIVATE_H +#include "Eeze.h" @@ -102,10 +134,16 @@ +#endif + +#define DBG(...) EINA_LOG_DOM_DBG(_eeze_disk_log_dom, __VA_ARGS__) -+#define INF(...) EINA_LOG_DOM_INF(_eeze_disk_log_dom, __VA_ARGS__) ++#define INF(...) EINA_LOG_DOM_INFO(_eeze_disk_log_dom, __VA_ARGS__) +#define WARN(...) EINA_LOG_DOM_WARN(_eeze_disk_log_dom, __VA_ARGS__) +#define ERR(...) EINA_LOG_DOM_ERR(_eeze_disk_log_dom, __VA_ARGS__) + ++typedef enum ++{ ++ EEZE_DISK_NULL, ++ EEZE_DISK_MOUNTING, ++ EEZE_DISK_UNMOUNTING ++} Eeze_Disk_Status; + +struct _Eeze_Disk +{ @@ -113,6 +151,11 @@ + void *data; + + Eina_Bool mounted : 1; ++ Eeze_Disk_Status mount_status; ++ Eina_Strbuf *mount_cmd; ++ Eina_Strbuf *unmount_cmd; ++ Eina_Bool mount_cmd_changed : 1; ++ Eina_Bool unmount_cmd_changed : 1; + Ecore_Exe *mounter; + Ecore_Cb mount_cb; + Ecore_Event_Handler *handler; @@ -140,7 +183,7 @@ =================================================================== --- src/lib/eeze_disk.c (revision 0) +++ src/lib/eeze_disk.c (revision 0) -@@ -0,0 +1,297 @@ +@@ -0,0 +1,303 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif @@ -207,6 +250,8 @@ + + disk->syspath = eina_stringshare_add(syspath); + disk->device = dev; ++ disk->mount_cmd_changed = EINA_TRUE; ++ disk->unmount_cmd_changed = EINA_TRUE; + disk->handler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, + (Ecore_Event_Handler_Cb)_eeze_disk_mount_result_handler, disk); + @@ -228,6 +273,10 @@ + eina_stringshare_del(disk->syspath); + udev_device_unref(disk->device); + ecore_event_handler_del(disk->handler); ++ if (disk->mount_cmd) ++ eina_strbuf_free(disk->mount_cmd); ++ if (disk->unmount_cmd) ++ eina_strbuf_free(disk->unmount_cmd); + free(disk); +} + @@ -442,7 +491,7 @@ =================================================================== --- src/lib/eeze_disk_mount.c (revision 0) +++ src/lib/eeze_disk_mount.c (revision 0) -@@ -0,0 +1,162 @@ +@@ -0,0 +1,203 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif @@ -452,50 +501,62 @@ +#include <Eeze_Disk.h> +#include <mount/mount.h> + -+#define EEZE_MOUNT_BIN "/bin/mount" -+#define EEZE_UNMOUNT_BIN "/bin/umount" + -+ +#include "eeze_udev_private.h" +#include "eeze_disk_private.h" + +Eina_Bool +_eeze_disk_mount_result_handler(Eeze_Disk *disk, int type __UNUSED__, Ecore_Exe_Event_Del *ev) +{ -+ switch (ev->exit_code) -+ { -+ case 1: -+ ERR("incorrect invocation or permissions"); -+ break; ++ ecore_exe_free(disk->mounter); ++ disk->mounter = NULL; ++ if (disk->mount_status == EEZE_DISK_MOUNTING) ++ switch (ev->exit_code) ++ { ++ case 1: ++ ERR("incorrect invocation or permissions"); ++ break; + -+ case 2: -+ ERR("system error (out of memory, cannot fork, no more loop devices)"); -+ break; ++ case 2: ++ ERR("system error (out of memory, cannot fork, no more loop devices)"); ++ break; + -+ case 4: -+ ERR("internal mount bug"); -+ break; ++ case 4: ++ ERR("internal mount bug"); ++ break; + -+ case 8: -+ ERR("user interrupt"); -+ break; ++ case 8: ++ ERR("user interrupt"); ++ break; + -+ case 16: -+ ERR("problems writing or locking /etc/mtab"); -+ break; ++ case 16: ++ ERR("problems writing or locking /etc/mtab"); ++ break; + -+ case 32: -+ ERR("mount failure"); -+ break; ++ case 32: ++ ERR("mount failure"); ++ break; + -+ case 64: -+ ERR("some mount succeeded"); -+ break; ++ case 64: ++ ERR("some mount succeeded"); ++ break; + -+ default: -+ disk->mounted = EINA_TRUE; -+ } ++ default: ++ disk->mounted = EINA_TRUE; ++ } ++ else ++ switch (ev->exit_code) ++ { ++ case 0: ++ disk->mounted = EINA_FALSE; ++ break; + ++ default: ++ INF("Could not unmount disk, retrying"); ++ disk->mounter = ecore_exe_pipe_run(eina_strbuf_string_get(disk->unmount_cmd), 0, disk); ++ return ECORE_CALLBACK_RENEW; ++ } ++ + if (disk->mount_cb) + disk->mount_cb(disk); + @@ -536,12 +597,23 @@ +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(disk, EINA_FALSE); + ++ if (!disk->mount_cmd) ++ disk->mount_cmd = eina_strbuf_new(); + ++ if (disk->mount_cmd_changed) ++ { ++ eina_strbuf_string_free(disk->mount_cmd); ++ eina_strbuf_append_printf(disk->mount_cmd, "%s %s %s", EEZE_MOUNT_BIN, disk->devpath, disk->mount_point); ++ disk->mount_cmd_changed = EINA_FALSE; ++ } ++ + disk->mount_cb = cb; -+ disk->mounter = ecore_exe_pipe_run(EEZE_MOUNT_BIN, 0, disk); ++ disk->mounter = ecore_exe_pipe_run(eina_strbuf_string_get(disk->mount_cmd), 0, disk); + if (!disk->mounter) + return EINA_FALSE; + ++ disk->mount_status = EEZE_DISK_MOUNTING; ++ + return EINA_TRUE; +} + @@ -566,11 +638,23 @@ + + if (!disk->mounted) + return EINA_TRUE; ++ ++ if (!disk->unmount_cmd) ++ disk->unmount_cmd = eina_strbuf_new(); ++ ++ if (disk->unmount_cmd_changed) ++ { ++ eina_strbuf_string_free(disk->unmount_cmd); ++ eina_strbuf_append_printf(disk->unmount_cmd, "%s %s", EEZE_UNMOUNT_BIN, disk->mount_point); ++ disk->unmount_cmd_changed = EINA_FALSE; ++ } ++ + disk->mount_cb = cb; -+ disk->mounter = ecore_exe_pipe_run(EEZE_UNMOUNT_BIN, 0, disk); ++ disk->mounter = ecore_exe_pipe_run(eina_strbuf_string_get(disk->unmount_cmd), 0, disk); + if (!disk->mounter) + return EINA_FALSE; -+ ++ ++ disk->mount_status = EEZE_DISK_UNMOUNTING; + return EINA_TRUE; +} + @@ -597,13 +681,19 @@ + * + * This function sets the mount point associated with @p disk. + * Note that to determine whether the disk is actually mounted, eeze_disk_mounted_get should be used. ++ * Also note that this function cannot be used while the disk is mounted to avoid losing the current mount point. + */ +EAPI void +eeze_disk_mount_point_set(Eeze_Disk *disk, const char *mount_point) +{ + EINA_SAFETY_ON_NULL_RETURN(disk); + ++ if (disk->mounted) ++ return; ++ + disk->mount_point = mount_point; ++ disk->mount_cmd_changed = EINA_TRUE; ++ disk->unmount_cmd_changed = EINA_TRUE; +} Index: src/lib/eeze_udev_private.c =================================================================== @@ -760,7 +850,7 @@ #define DBG(...) EINA_LOG_DOM_DBG(_eeze_udev_log_dom, __VA_ARGS__) -#define INFO(...) EINA_LOG_DOM_INFO(_eeze_udev_log_dom, __VA_ARGS__) -+#define INF(...) EINA_LOG_DOM_INF(_eeze_udev_log_dom, __VA_ARGS__) ++#define INF(...) EINA_LOG_DOM_INFO(_eeze_udev_log_dom, __VA_ARGS__) #define WARN(...) EINA_LOG_DOM_WARN(_eeze_udev_log_dom, __VA_ARGS__) #define ERR(...) EINA_LOG_DOM_ERR(_eeze_udev_log_dom, __VA_ARGS__) |
From: Enlightenment S. <no-...@en...> - 2010-10-16 20:20:09
|
Log: merge in some trunk changes, fix mounting, and add a demo app which performs mounts asynchronously Author: discomfitor Date: 2010-10-16 13:20:02 -0700 (Sat, 16 Oct 2010) New Revision: 53496 Modified: trunk/devs/discomfitor/eeze-1.1.diff Modified: trunk/devs/discomfitor/eeze-1.1.diff =================================================================== --- trunk/devs/discomfitor/eeze-1.1.diff 2010-10-16 20:03:36 UTC (rev 53495) +++ trunk/devs/discomfitor/eeze-1.1.diff 2010-10-16 20:20:02 UTC (rev 53496) @@ -183,7 +183,7 @@ =================================================================== --- src/lib/eeze_disk.c (revision 0) +++ src/lib/eeze_disk.c (revision 0) -@@ -0,0 +1,303 @@ +@@ -0,0 +1,304 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif @@ -249,6 +249,7 @@ + return NULL; + + disk->syspath = eina_stringshare_add(syspath); ++ disk->devpath = eina_stringshare_add(udev_device_get_property_value(dev, "DEVNAME")); + disk->device = dev; + disk->mount_cmd_changed = EINA_TRUE; + disk->unmount_cmd_changed = EINA_TRUE; @@ -505,11 +506,11 @@ +#include "eeze_udev_private.h" +#include "eeze_disk_private.h" + ++#define EEZE_MOUNT_DEFAULT_OPTS "noexec,nosuid" ++ +Eina_Bool +_eeze_disk_mount_result_handler(Eeze_Disk *disk, int type __UNUSED__, Ecore_Exe_Event_Del *ev) +{ -+ ecore_exe_free(disk->mounter); -+ disk->mounter = NULL; + if (disk->mount_status == EEZE_DISK_MOUNTING) + switch (ev->exit_code) + { @@ -603,7 +604,7 @@ + if (disk->mount_cmd_changed) + { + eina_strbuf_string_free(disk->mount_cmd); -+ eina_strbuf_append_printf(disk->mount_cmd, "%s %s %s", EEZE_MOUNT_BIN, disk->devpath, disk->mount_point); ++ eina_strbuf_append_printf(disk->mount_cmd, "%s -o %s %s %s", EEZE_MOUNT_BIN, EEZE_MOUNT_DEFAULT_OPTS, disk->devpath, disk->mount_point); + disk->mount_cmd_changed = EINA_FALSE; + } + @@ -721,11 +722,33 @@ /** * @addtogroup syspath Syspath * +@@ -303,8 +301,7 @@ + { + _udev_enumerate *en; + _udev_list_entry *devs, *cur; +- _udev_device *device; +- const char *name, *ret = NULL; ++ const char *ret = NULL; + + if (!devpath) + return NULL; +@@ -319,10 +316,7 @@ + devs = udev_enumerate_get_list_entry(en); + udev_list_entry_foreach(cur, devs) + { +- name = udev_list_entry_get_name(cur); +- device = udev_device_new_from_syspath(udev, name); +- ret = eina_stringshare_add(udev_device_get_sysname(device)); +- udev_device_unref(device); ++ ret = eina_stringshare_add(udev_list_entry_get_name(cur)); + break; /*just in case there's more than one somehow */ + } + udev_enumerate_unref(en); Index: src/lib/Eeze_Disk.h =================================================================== --- src/lib/Eeze_Disk.h (revision 0) +++ src/lib/Eeze_Disk.h (revision 0) -@@ -0,0 +1,75 @@ +@@ -0,0 +1,78 @@ +#ifndef EEZE_DISK_H +#define EEZE_DISK_H + @@ -747,6 +770,9 @@ +# define EAPI +#endif + ++#include <Eina.h> ++#include <Ecore.h> ++ +/** + * @file Eeze_Disk.h + * @brief Disk manipulation @@ -923,3 +949,132 @@ eina_shutdown(); return _eeze_init_count; } +Index: src/bin/Makefile.am +=================================================================== +--- src/bin/Makefile.am (revision 53479) ++++ src/bin/Makefile.am (working copy) +@@ -7,8 +7,12 @@ + + EEZE_UDEV_PROG = eeze_udev_test + +-bin_PROGRAMS = eeze_udev_test ++bin_PROGRAMS = eeze_udev_test eeze_mount + + eeze_udev_test_SOURCES = eeze_udev_test.c + eeze_udev_test_CPPFLAGS = $(EEZE_CPPFLAGS) + eeze_udev_test_LDADD = $(top_builddir)/src/lib/libeeze.la ++ ++eeze_mount_SOURCES = eeze_mount.c ++eeze_mount_CPPFLAGS = $(EEZE_CPPFLAGS) $(LIBMOUNT_CFLAGS) ++eeze_mount_LDADD = $(top_builddir)/src/lib/libeeze.la $(LIBMOUNT_LIBS) +Index: src/bin/eeze_mount.c +=================================================================== +--- src/bin/eeze_mount.c (revision 0) ++++ src/bin/eeze_mount.c (revision 0) +@@ -0,0 +1,106 @@ ++#include <Eeze.h> ++#include <Eeze_Disk.h> ++#include <Ecore.h> ++#include <Ecore_Getopt.h> ++#include <stdio.h> ++ ++/** This app can be used as a "dumb" replacement for mount. Just don't try anything fancy! */ ++static const Ecore_Getopt opts = ++{ ++ "eeze_mount", ++ "eeze_mount /dev/sdb1 /media/disk", ++ "1.0", ++ "(C) 2010 Mike Blumenkrantz", ++ "LGPL", ++ "Mount a disk using either its /sys/ path or its /dev/ path\n\n", ++ 1, ++ { ++ ECORE_GETOPT_VERSION('V', "version"), ++ ECORE_GETOPT_COPYRIGHT('R', "copyright"), ++ ECORE_GETOPT_LICENSE('L', "license"), ++ ECORE_GETOPT_HELP('h', "help"), ++ ECORE_GETOPT_SENTINEL ++ } ++}; ++ ++void ++_mount_cb(Eeze_Disk *disk) ++{ ++ if (eeze_disk_mounted_get(disk)) ++ printf("Success!\n"); ++ else ++ printf("Failure!\n"); ++ ecore_main_loop_quit(); ++} ++ ++int ++main(int argc, char *argv[]) ++{ ++ int args; ++ const char *dev, *mount_point; ++ Eina_Bool exit_option = EINA_FALSE; ++ Eeze_Disk *disk; ++ ++ Ecore_Getopt_Value values[] = ++ { ++ ECORE_GETOPT_VALUE_BOOL(exit_option), ++ ECORE_GETOPT_VALUE_BOOL(exit_option), ++ ECORE_GETOPT_VALUE_BOOL(exit_option), ++ ECORE_GETOPT_VALUE_BOOL(exit_option) ++ }; ++ ++ if (argc < 2) ++ { ++ printf("Insufficient args specified!\n"); ++ ecore_getopt_help(stderr, &opts); ++ exit(1); ++ } ++ ++ ecore_init(); ++ eeze_init(); ++ ecore_app_args_set(argc, (const char **)argv); ++ args = ecore_getopt_parse(&opts, values, argc, argv); ++ ++ if (exit_option) ++ return 0; ++ ++ if (args < 0) ++ { ++ printf("No args specified!\n"); ++ ecore_getopt_help(stderr, &opts); ++ exit(1); ++ } ++ ++ dev = argv[args]; ++ mount_point = argv[args + 1]; ++ if (!strncmp(dev, "/sys/", 5)) ++ disk = eeze_disk_new(dev); ++ else if (!strncmp(dev, "/dev/", 5)) ++ { ++ const char *syspath; ++ ++ syspath = eeze_udev_devpath_get_syspath(dev); ++ disk = eeze_disk_new(syspath); ++ } ++ else ++ { ++ printf("[Device] must be either a /dev/ path or a /sys/ path!\n"); ++ ecore_getopt_help(stderr, &opts); ++ exit(1); ++ } ++ if (eeze_disk_mounted_get(disk)) ++ { ++ printf("[%s] is already mounted!", dev); ++ exit(1); ++ } ++ ++ eeze_disk_mount_point_set(disk, mount_point); ++ if (!eeze_disk_mount(disk, (Ecore_Cb)_mount_cb)) ++ { ++ printf("Mount operation could not be started!\n"); ++ exit(1); ++ } ++ ecore_main_loop_begin(); ++ ++ return 0; ++} |
From: Enlightenment S. <no-...@en...> - 2010-10-17 04:51:39
|
Log: redo autofoo to detect libmount, more trunk fixes, start implementing libmount api Author: discomfitor Date: 2010-10-16 21:51:32 -0700 (Sat, 16 Oct 2010) New Revision: 53506 Modified: trunk/devs/discomfitor/eeze-1.1.diff Modified: trunk/devs/discomfitor/eeze-1.1.diff =================================================================== --- trunk/devs/discomfitor/eeze-1.1.diff 2010-10-17 04:48:39 UTC (rev 53505) +++ trunk/devs/discomfitor/eeze-1.1.diff 2010-10-17 04:51:32 UTC (rev 53506) @@ -62,38 +62,62 @@ # pkg-config PKG_PROG_PKG_CONFIG -@@ -89,7 +90,21 @@ +@@ -89,7 +90,34 @@ AC_DEFINE([OLD_UDEV_RRRRRRRRRRRRRR],[1],[compat functionality for udev < 148]) fi -+with_mount="/bin/mount" -+with_umount="/bin/umount" -+AC_ARG_WITH([mount], AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])) -+AC_ARG_WITH([umount], AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])) ++eeze_mount= ++PKG_CHECK_EXISTS([mount >= 2.18.0], ++ [ ++ AC_DEFINE([HAVE_EEZE_MOUNT], [1], [Eeze is mount-capable]) ++ AM_CONDITIONAL([HAVE_EEZE_MOUNT], [true]) ++ eeze_mount="yes" ++ ], ++ AM_CONDITIONAL([HAVE_EEZE_MOUNT], [false]) ++) ++if test "x$eeze_mount" = "xyes";then ++ with_mount="/bin/mount" ++ with_umount="/bin/umount" ++ AC_ARG_WITH([mount], AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])) ++ AC_ARG_WITH([umount], AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])) ++ PKG_CHECK_MODULES([LIBMOUNT], [mount >= 2.18.0]) ++ PKG_CHECK_MODULES([ECORE_FILE], [ecore-file >= 1.0.0]) -+if test "x$with_mount" = "xdetect";then -+ AC_PATH_PROG([with_mount], [mount], AC_MSG_ERROR([mount could not be found in PATH])) -+fi -+AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_mount"], [mount bin to use]) ++ if test "x$with_mount" = "xdetect";then ++ AC_PATH_PROG([with_mount], [mount], AC_MSG_ERROR([mount could not be found in PATH])) ++ fi ++ AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_mount"], [mount bin to use]) + -+if test "x$with_umount" = "xdetect";then -+ AC_PATH_PROG([with_umount], [umount], AC_MSG_ERROR([umount could not be found in PATH])) ++ if test "x$with_umount" = "xdetect";then ++ AC_PATH_PROG([with_umount], [umount], AC_MSG_ERROR([umount could not be found in PATH])) ++ fi ++ AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_umount"], [umount bin to use]) +fi -+AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_umount"], [umount bin to use]) + ### Checks for header files -@@ -137,6 +152,9 @@ +@@ -136,9 +164,13 @@ + echo "------------------------------------------------------------------------" echo echo "Configuration Options Summary:" ++if test "x$eeze_mount" = "xyes";then ++ echo ++ echo "Mount..................: ${with_mount}" ++ echo "Umount.................: ${with_umount}" ++ echo ++fi echo -+echo "Mount..................: ${with_mount}" -+echo "Umount.................: ${with_umount}" -+echo - echo "Documentation..........: ${build_doc}" +-echo "Documentation..........: ${build_doc}" +-echo + echo "Compilation............: make (or gmake)" + echo " CPPFLAGS.............: $CPPFLAGS" + echo " CFLAGS...............: $CFLAGS" +@@ -147,3 +179,4 @@ + echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')" + echo " prefix...............: $prefix" echo - echo "Compilation............: make (or gmake)" ++ Index: src/lib/eeze_udev_watch.c =================================================================== --- src/lib/eeze_udev_watch.c (revision 53481) @@ -111,10 +135,11 @@ =================================================================== --- src/lib/eeze_disk_private.h (revision 0) +++ src/lib/eeze_disk_private.h (revision 0) -@@ -0,0 +1,67 @@ +@@ -0,0 +1,70 @@ +#ifndef EEZE_DISK_PRIVATE_H +#define EEZE_DISK_PRIVATE_H -+#include "Eeze.h" ++#include <Eeze.h> ++#include <Ecore_File.h> + +#ifndef EEZE_DISK_COLOR_DEFAULT +#define EEZE_DISK_COLOR_DEFAULT EINA_COLOR_LIGHTBLUE @@ -177,6 +202,8 @@ +}; + +Eina_Bool _eeze_disk_mount_result_handler(Eeze_Disk *disk, int type __UNUSED__, Ecore_Exe_Event_Del *ev); ++Eina_Bool eeze_mount_init(void); ++void eeze_mount_shutdown(void); + +#endif Index: src/lib/eeze_disk.c @@ -223,7 +250,7 @@ + + +/** -+ * @brief Create a new disk object ++ * @brief Create a new disk object from a /sys/ path + * @param syspath The /sys/ path of the disk; CANNOT be #NULL + * @return The new disk object + * @@ -249,7 +276,7 @@ + return NULL; + + disk->syspath = eina_stringshare_add(syspath); -+ disk->devpath = eina_stringshare_add(udev_device_get_property_value(dev, "DEVNAME")); ++ disk->devpath = udev_device_get_property_value(dev, "DEVNAME"); + disk->device = dev; + disk->mount_cmd_changed = EINA_TRUE; + disk->unmount_cmd_changed = EINA_TRUE; @@ -492,7 +519,7 @@ =================================================================== --- src/lib/eeze_disk_mount.c (revision 0) +++ src/lib/eeze_disk_mount.c (revision 0) -@@ -0,0 +1,203 @@ +@@ -0,0 +1,201 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif @@ -500,9 +527,7 @@ +#include <Ecore.h> +#include <Eeze.h> +#include <Eeze_Disk.h> -+#include <mount/mount.h> + -+ +#include "eeze_udev_private.h" +#include "eeze_disk_private.h" + @@ -831,29 +856,47 @@ =================================================================== --- src/lib/Makefile.am (revision 53372) +++ src/lib/Makefile.am (working copy) -@@ -3,16 +3,18 @@ - AM_CPPFLAGS = @ECORE_CFLAGS@ @LIBUDEV_CFLAGS@ +@@ -1,20 +1,34 @@ + MAINTAINERCLEANFILES = Makefile.in +-AM_CPPFLAGS = @ECORE_CFLAGS@ @LIBUDEV_CFLAGS@ + ++if HAVE_EEZE_MOUNT ++ AM_CFLAGS = @ECORE_CFLAGS@ @LIBUDEV_CFLAGS@ @LIBMOUNT_CFLAGS@ @ECORE_FILE_CFLAGS@ ++ MOUNT_FILES = eeze_disk.c eeze_disk_mount.c eeze_disk_libmount.c ++ MOUNT_INCLUDES = Eeze_Disk.h ++else ++ AM_CFLAGS = @ECORE_CFLAGS@ @LIBUDEV_CFLAGS@ ++ MOUNT_FILES = ++ MOUNT_INCLUDES = ++endif ++ lib_LTLIBRARIES = libeeze.la -includes_HEADERS = Eeze.h -+includes_HEADERS = Eeze.h Eeze_Disk.h ++includes_HEADERS = Eeze.h $(MOUNT_INCLUDES) includesdir = $(includedir)/eeze-@VMAJ@ libeeze_la_SOURCES = \ -eeze_udev_syspath.c \ -eeze_udev_watch.c \ -+eeze_disk.c \ -+eeze_disk_mount.c \ eeze_main.c \ eeze_udev_find.c \ +eeze_udev_private.c \ +eeze_udev_syspath.c \ eeze_udev_walk.c \ -eeze_udev_private.c -+eeze_udev_watch.c ++eeze_udev_watch.c \ ++$(MOUNT_FILES) - libeeze_la_LIBADD = @ECORE_LIBS@ @LIBUDEV_LIBS@ +-libeeze_la_LIBADD = @ECORE_LIBS@ @LIBUDEV_LIBS@ ++if HAVE_EEZE_MOUNT ++ libeeze_la_LIBADD = @ECORE_LIBS@ @LIBUDEV_LIBS@ @LIBMOUNT_LIBS@ @ECORE_FILE_LIBS@ ++else ++ libeeze_la_LIBADD = @ECORE_LIBS@ @LIBUDEV_LIBS@ ++endif libeeze_la_LDFLAGS = -no-undefined -version-info @version_info@ @release_info@ + + EXTRA_DIST = eeze_udev_private.h eeze_private.h Index: src/lib/eeze_udev_walk.c =================================================================== --- src/lib/eeze_udev_walk.c (revision 53481) @@ -871,6 +914,14 @@ =================================================================== --- src/lib/eeze_udev_private.h (revision 53482) +++ src/lib/eeze_udev_private.h (working copy) +@@ -1,6 +1,6 @@ + #ifndef EEZE_UDEV_PRIVATE_H + #define EEZE_UDEV_PRIVATE_H +-#include "Eeze.h" ++#include <Eeze.h> + + #ifndef EEZE_UDEV_COLOR_DEFAULT + #define EEZE_UDEV_COLOR_DEFAULT EINA_COLOR_CYAN @@ -20,7 +20,7 @@ #endif @@ -906,46 +957,112 @@ =================================================================== --- src/lib/eeze_main.c (revision 53482) +++ src/lib/eeze_main.c (working copy) -@@ -14,6 +14,7 @@ +@@ -2,8 +2,11 @@ + #include "config.h" + #endif + ++#include <Ecore.h> + #include <Eeze.h> ++#include <Eeze_Disk.h> + #include "eeze_udev_private.h" ++#include "eeze_disk_private.h" + + /** + * @defgroup udev udev +@@ -14,6 +17,9 @@ _udev *udev; int _eeze_udev_log_dom = -1; ++#ifdef HAVE_EEZE_MOUNT +int _eeze_disk_log_dom = -1; ++#endif int _eeze_init_count = 0; -@@ -45,7 +46,7 @@ - return --_eeze_init_count; +@@ -42,29 +48,67 @@ + return _eeze_init_count; + if (!eina_init()) +- return --_eeze_init_count; ++ return 0; + _eeze_udev_log_dom = eina_log_domain_register - ("eeze_udev", EEZE_UDEV_COLOR_DEFAULT); + ("eeze_udev", EINA_COLOR_CYAN); if (_eeze_udev_log_dom < 0) { -@@ -53,6 +54,15 @@ - goto fail; + EINA_LOG_ERR("Could not register 'eeze_udev' log domain."); +- goto fail; ++ goto eina_fail; } ++ if (!ecore_init()) ++ goto fail; ++#ifdef HAVE_EEZE_MOUNT + _eeze_disk_log_dom = eina_log_domain_register + ("eeze_disk", EINA_COLOR_LIGHTBLUE); + + if (_eeze_disk_log_dom < 0) + { + EINA_LOG_ERR("Could not register 'eeze_disk' log domain."); -+ goto fail; ++ goto disk_fail; + } ++ ++ if (!ecore_file_init()) ++ goto ecore_fail; ++ if (!eeze_mount_init()) ++ goto ecore_file_fail; ++ + ++#endif if (!((udev) = udev_new())) { EINA_LOG_ERR("Could not initialize udev library!"); -@@ -84,7 +94,9 @@ +- goto fail; ++#ifdef HAVE_EEZE_MOUNT ++ goto eeze_fail; ++#else ++ goto ecore_fail; ++#endif + } + return _eeze_init_count; ++ ++#ifdef HAVE_EEZE_MOUNT ++eeze_fail: ++ eeze_mount_shutdown(); ++ecore_file_fail: ++ ecore_file_shutdown(); ++#endif ++ecore_fail: ++ ecore_shutdown(); ++#ifdef HAVE_EEZE_MOUNT ++disk_fail: ++ eina_log_domain_unregister(_eeze_disk_log_dom); ++ _eeze_disk_log_dom = -1; ++#endif + fail: + eina_log_domain_unregister(_eeze_udev_log_dom); + _eeze_udev_log_dom = -1; ++eina_fail: + eina_shutdown(); +- return _eeze_init_count; ++ return 0; + } + + /** +@@ -85,6 +129,13 @@ udev_unref(udev); eina_log_domain_unregister(_eeze_udev_log_dom); + _eeze_udev_log_dom = -1; ++#ifdef HAVE_EEZE_MOUNT + eina_log_domain_unregister(_eeze_disk_log_dom); - _eeze_udev_log_dom = -1; + _eeze_disk_log_dom = -1; ++ eeze_mount_shutdown(); ++ ecore_file_shutdown(); ++#endif ++ ecore_shutdown(); eina_shutdown(); return _eeze_init_count; } @@ -953,20 +1070,36 @@ =================================================================== --- src/bin/Makefile.am (revision 53479) +++ src/bin/Makefile.am (working copy) -@@ -7,8 +7,12 @@ +@@ -1,14 +1,24 @@ + MAINTAINERCLEANFILES = Makefile.in - EEZE_UDEV_PROG = eeze_udev_test +-EEZE_CPPFLAGS = \ ++EEZE_CFLAGS = \ + -I$(top_srcdir)/src/lib \ + @ECORE_CFLAGS@ \ +-@LIBUDEV_CFLAGS@ ++@LIBUDEV_CFLAGS@ +-EEZE_UDEV_PROG = eeze_udev_test ++if HAVE_EEZE_MOUNT ++ MOUNT_PROG = eeze_mount ++else ++ MOUNT_PROG = ++endif + -bin_PROGRAMS = eeze_udev_test -+bin_PROGRAMS = eeze_udev_test eeze_mount ++bin_PROGRAMS = eeze_udev_test $(MOUNT_PROG) eeze_udev_test_SOURCES = eeze_udev_test.c - eeze_udev_test_CPPFLAGS = $(EEZE_CPPFLAGS) +-eeze_udev_test_CPPFLAGS = $(EEZE_CPPFLAGS) ++eeze_udev_test_CFLAGS = $(EEZE_CFLAGS) eeze_udev_test_LDADD = $(top_builddir)/src/lib/libeeze.la + -+eeze_mount_SOURCES = eeze_mount.c -+eeze_mount_CPPFLAGS = $(EEZE_CPPFLAGS) $(LIBMOUNT_CFLAGS) -+eeze_mount_LDADD = $(top_builddir)/src/lib/libeeze.la $(LIBMOUNT_LIBS) ++if HAVE_EEZE_MOUNT ++ eeze_mount_SOURCES = eeze_mount.c ++ eeze_mount_CFLAGS = $(EEZE_CFLAGS) @LIBMOUNT_CFLAGS@ @ECORE_FILE_CFLAGS@ ++ eeze_mount_LDADD = $(top_builddir)/src/lib/libeeze.la @LIBMOUNT_CFLAGS@ @ECORE_FILE_CFLAGS@ ++endif Index: src/bin/eeze_mount.c =================================================================== --- src/bin/eeze_mount.c (revision 0) @@ -1023,7 +1156,7 @@ + ECORE_GETOPT_VALUE_BOOL(exit_option) + }; + -+ if (argc < 2) ++ if (argc < 3) + { + printf("Insufficient args specified!\n"); + ecore_getopt_help(stderr, &opts); |