summaryrefslogtreecommitdiff
path: root/gpe-conf
diff options
context:
space:
mode:
Diffstat (limited to 'gpe-conf')
-rw-r--r--gpe-conf/gpe-conf-0.1.10/gpe-conf-infofixes.patch145
-rw-r--r--gpe-conf/gpe-conf-0.1.11/desktop.patch12
-rw-r--r--gpe-conf/gpe-conf-0.1.12/desktop.patch10
-rw-r--r--gpe-conf/gpe-conf-0.1.20/hwclock.patch30
-rw-r--r--gpe-conf/gpe-conf-0.1.20/meminfo26.patch149
-rw-r--r--gpe-conf/gpe-conf-0.1.20/misc1.patch192
-rw-r--r--gpe-conf/gpe-conf-0.1.20/ntpdate.patch148
-rw-r--r--gpe-conf/gpe-conf-0.1.20/password-if.patch442
-rw-r--r--gpe-conf/gpe-conf-0.1.21/icons.patch51
-rw-r--r--gpe-conf/gpe-conf-0.1.8/applets-dialog.patch25
-rw-r--r--gpe-conf/gpe-conf-0.1.8/battery.patch13
-rw-r--r--gpe-conf/gpe-conf-0.1.8/brightness.patch53
-rw-r--r--gpe-conf/gpe-conf-0.1.8/cardinfo.patch24
-rw-r--r--gpe-conf/gpe-conf-0.1.8/gpe-conf_makefile.patch118
-rw-r--r--gpe-conf/gpe-conf-0.1.8/makefile.patch101
-rw-r--r--gpe-conf/gpe-conf-0.1.8/sysinfo-segfault.patch21
-rw-r--r--gpe-conf/gpe-conf_makefile.patch118
17 files changed, 1652 insertions, 0 deletions
diff --git a/gpe-conf/gpe-conf-0.1.10/gpe-conf-infofixes.patch b/gpe-conf/gpe-conf-0.1.10/gpe-conf-infofixes.patch
index e69de29bb2..3b0b16770b 100644
--- a/gpe-conf/gpe-conf-0.1.10/gpe-conf-infofixes.patch
+++ b/gpe-conf/gpe-conf-0.1.10/gpe-conf-infofixes.patch
@@ -0,0 +1,145 @@
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/ChangeLog,v
+retrieving revision 1.179
+diff -u -r1.179 ChangeLog
+--- ChangeLog 10 Jun 2004 10:18:04 -0000 1.179
++++ ChangeLog 11 Jun 2004 17:19:02 -0000
+@@ -1,3 +1,8 @@
++2004-06-11 Florian Boor <florian.boor@kernelconcepts.de>
++ * logread.c: Fixed missing setup of scrollbars.
++ * sysinfo.c: Fixed multiple sources of segfaults on non-iPaq platforms.
++ * sysinfo.c, Makefile: Improved information on several platforms.
++
+ 2004-06-10 Florian Boor <florian.boor@kernelconcepts.de>
+ * Released V 0.1.10
+ * Removed obsolete file.
+Index: Makefile
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/Makefile,v
+retrieving revision 1.110
+diff -u -r1.110 Makefile
+--- Makefile 10 Jun 2004 10:18:04 -0000 1.110
++++ Makefile 11 Jun 2004 17:19:02 -0000
+@@ -8,7 +8,7 @@
+ DESTDIR = /
+ PACKAGETOOL = no
+ STRIP = strip
+-MACHINE = other
++MACHINE = unknown
+
+
+ LINGUAS = pt ro de fr cs nl sv sk ru
+@@ -50,7 +50,7 @@
+ GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
+ GTKLDFLAGS = `pkg-config --libs gtk+-2.0 gdk-2.0`
+
+-PACKAGE_CPPFLAGS += $(STANDARD_CPPFLAGS) -I.
++PACKAGE_CPPFLAGS += $(STANDARD_CPPFLAGS) -I.
+ PACKAGE_CFLAGS += $(STANDARD_CFLAGS) $(GTKCFLAGS) $(GPECFLAGS) -I.
+ PACKAGE_LDFLAGS += $(STANDARD_LDFLAGS) $(GTKLDFLAGS) $(GPELIBS) -lXsettings -lXsettings-client -lcrypt -L/usr/X11R6/lib -lXrandr
+
+@@ -60,7 +60,7 @@
+ PACKAGE_CFLAGS += -Os -fomit-frame-pointer
+ endif
+
+-PACKAGE_CFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE
++PACKAGE_CFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE -DMACHINE=\"$(MACHINE)\"
+ PACKAGE_CFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
+
+
+Index: logread.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/logread.c,v
+retrieving revision 1.10
+diff -u -r1.10 logread.c
+--- logread.c 12 Jan 2004 16:07:59 -0000 1.10
++++ logread.c 11 Jun 2004 17:19:02 -0000
+@@ -227,6 +227,8 @@
+
+ tc = gtk_scrolled_window_new(NULL,NULL);
+ gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(tc),GTK_SHADOW_IN);
++ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tc),
++ GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
+ gtk_box_pack_start(GTK_BOX(vbox),tc,TRUE,TRUE,0);
+
+ tw = gtk_text_view_new();
+Index: sysinfo.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/sysinfo.c,v
+retrieving revision 1.10
+diff -u -r1.10 sysinfo.c
+--- sysinfo.c 4 Jun 2004 12:55:42 -0000 1.10
++++ sysinfo.c 11 Jun 2004 17:19:02 -0000
+@@ -170,6 +170,24 @@
+ }
+ g_strfreev(strv);
+ }
++#else
++#ifdef __arm__
++ result.cpu = g_strdup(_("ARM"));
++#endif
++#ifdef __i386__
++ result.cpu = g_strdup(_("Intel x86 or compatible"));
++#endif
++#ifdef __mips__
++ result.cpu = g_strdup(_("Mips"));
++ #ifdef __sgi__
++ result.model = g_strdup(_("Silicon Graphics Machine"));
++ #endif
++#endif
++#ifdef _POWER
++ result.cpu = g_strdup(_("IBM Power or PowerPC"));
++#endif
++ if (!result.model)
++ result.model = g_strdup(MACHINE);
+ #endif
+
+ /* memory and flash size */
+@@ -191,8 +209,9 @@
+ {
+ if (strchr(result,'\n'))
+ strchr(result,'\n')[0] = 0;
++ return g_strstrip(result);
+ }
+- return g_strstrip(result);
++ return result;
+ }
+
+
+@@ -207,8 +226,9 @@
+ {
+ if (strchr(result,'\n'))
+ strchr(result,'\n')[0] = 0;
++ return g_strstrip(result);
+ }
+- return g_strstrip(result);
++ return result;
+ }
+
+
+@@ -427,7 +447,7 @@
+ gtk_table_attach(GTK_TABLE(table),tw,0,1,4,7,GTK_FILL | GTK_EXPAND,
+ GTK_FILL,0,0);
+ tw = gtk_label_new(NULL);
+- /*TRANSLATORS: "Familiar" is the name of the linux disrtribution.*/
++ /*TRANSLATORS: "Familiar" is the name of the linux distribution.*/
+ ts = g_strdup_printf("<i>%s</i>",_("Familiar Version"));
+ gtk_label_set_markup(GTK_LABEL(tw),ts);
+ gtk_misc_set_alignment(GTK_MISC(tw),0.0,0.8);
+Index: users/interface.h
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/users/interface.h,v
+retrieving revision 1.7
+diff -u -r1.7 interface.h
+--- users/interface.h 3 Jun 2004 17:35:23 -0000 1.7
++++ users/interface.h 11 Jun 2004 17:19:02 -0000
+@@ -1,9 +1,6 @@
+ #include <pwd.h>
+ #include <sys/types.h>
+
+-#if MACHINE == ipaq
+-#endif
+-
+ #ifndef __arm__
+ #define MINUSERUID 500
+ #else
diff --git a/gpe-conf/gpe-conf-0.1.11/desktop.patch b/gpe-conf/gpe-conf-0.1.11/desktop.patch
index e69de29bb2..fd253e2072 100644
--- a/gpe-conf/gpe-conf-0.1.11/desktop.patch
+++ b/gpe-conf/gpe-conf-0.1.11/desktop.patch
@@ -0,0 +1,12 @@
+--- gpe-conf-0.1.11/gpe-conf.desktop.in.old 2004-08-03 15:57:42.000000000 +0100
++++ gpe-conf-0.1.11/gpe-conf.desktop.in 2004-08-03 15:57:56.000000000 +0100
+@@ -4,7 +4,7 @@
+ Exec=gpe-appmgr -g Settings -D /usr/share/applications/gpe-conf.desktop
+ Terminal=0
+ Type=Application
+-Icon=gpe-conf.png
+-Categories=Application;SystemSettings;GPE
++Icon=gpe-config.png
++Categories=Application;GPE
+ StartupNotify=True
+ SingleInstance=True
diff --git a/gpe-conf/gpe-conf-0.1.12/desktop.patch b/gpe-conf/gpe-conf-0.1.12/desktop.patch
index e69de29bb2..992de0b1f1 100644
--- a/gpe-conf/gpe-conf-0.1.12/desktop.patch
+++ b/gpe-conf/gpe-conf-0.1.12/desktop.patch
@@ -0,0 +1,10 @@
+--- gpe-conf-0.1.12/gpe-conf.desktop.in.old 2004-08-06 11:44:59.000000000 +0100
++++ gpe-conf-0.1.12/gpe-conf.desktop.in 2004-08-06 11:45:07.000000000 +0100
+@@ -5,6 +5,6 @@
+ Terminal=0
+ Type=Application
+ Icon=gpe-config.png
+-Categories=Application;SystemSettings;GPE
++Categories=Application;GPE;
+ StartupNotify=True
+ SingleInstance=True
diff --git a/gpe-conf/gpe-conf-0.1.20/hwclock.patch b/gpe-conf/gpe-conf-0.1.20/hwclock.patch
index e69de29bb2..2dfc40f205 100644
--- a/gpe-conf/gpe-conf-0.1.20/hwclock.patch
+++ b/gpe-conf/gpe-conf-0.1.20/hwclock.patch
@@ -0,0 +1,30 @@
+Index: suid.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/suid.c,v
+retrieving revision 1.52
+diff -u -r1.52 suid.c
+--- suid.c 16 Oct 2004 16:03:43 -0000 1.52
++++ suid.c 25 Oct 2004 15:00:56 -0000
+@@ -95,6 +95,7 @@
+ }
+ else // if ok, update rtc time
+ {
++ system("/sbin/hwclock --systohc");
+ system ("echo > /var/spool/at/trigger");
+ }
+ g_free(tstr);
+@@ -337,11 +338,11 @@
+ time_t t;
+ fscanf (in, "%ld", &t);
+ if (stime (&t) == -1)
+- fprintf (stderr,
+- "Error while setting the time: %d\n",
+- errno);
++ fprintf (stderr, "Error while setting the time: %d\n",
++ errno);
+ else // if ok, update rtc time
+ {
++ system("/sbin/hwclock --systohc");
+ system ("echo > /var/spool/at/trigger");
+ }
+ }
diff --git a/gpe-conf/gpe-conf-0.1.20/meminfo26.patch b/gpe-conf/gpe-conf-0.1.20/meminfo26.patch
index e69de29bb2..b78a48d38a 100644
--- a/gpe-conf/gpe-conf-0.1.20/meminfo26.patch
+++ b/gpe-conf/gpe-conf-0.1.20/meminfo26.patch
@@ -0,0 +1,149 @@
+Index: sysinfo.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/sysinfo.c,v
+retrieving revision 1.19
+diff -u -r1.19 sysinfo.c
+--- sysinfo.c 8 Sep 2004 22:14:12 -0000 1.19
++++ sysinfo.c 25 Oct 2004 12:01:01 -0000
+@@ -160,6 +160,7 @@
+ get_device_info()
+ {
+ t_deviceinfo result;
++ struct utsname uinfo;
+ #ifdef __arm__
+ char **strv;
+ int len = 0;
+@@ -173,6 +174,8 @@
+ result.ram = 0;
+ result.flash = 0;
+
++ uname(&uinfo);
++
+ #ifdef __arm__
+ /* check mach type and model */
+ if (!access(P_IPAQ,F_OK))
+@@ -235,6 +238,7 @@
+ #endif
+ #ifdef __i386__
+ result.cpu = g_strdup(_("Intel x86 or compatible"));
++ result.model = g_strdup_printf("%s, %s", _("IBM type PC"), uinfo.machine);
+ #endif
+ #ifdef __mips__
+ result.cpu = g_strdup(_("Mips"));
+@@ -246,12 +250,13 @@
+ result.cpu = g_strdup(_("IBM Power or PowerPC"));
+ #endif
+ if (!result.model)
+- result.model = g_strdup(MACHINE);
++ result.model = g_strdup_printf("%s (%s)", uinfo.machine, MACHINE);
+ #endif
+
+ /* memory and flash size */
++
+ system_memory();
+- result.ram = meminfo.total / 1024 + 1;
++ result.ram = meminfo.total;
+ result.flash = get_flash_size();
+ return result;
+ }
+Index: storage.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/storage.c,v
+retrieving revision 1.17
+diff -u -r1.17 storage.c
+--- storage.c 13 Sep 2004 12:00:01 -0000 1.17
++++ storage.c 25 Oct 2004 12:01:01 -0000
+@@ -54,41 +54,32 @@
+ return FS_T_UNKNOWN;
+ }
+
+-/* from minisys */
+ int
+ system_memory (void)
+ {
+- u_int64_t my_mem_used, my_mem_max;
+- u_int64_t my_swap_max;
++ unsigned long mem_free, mem_total;
+
+- static int mem_delay = 0;
+ FILE *mem;
+- static u_int64_t aa, ab, ac, ad, ae, af, ag, ah;
+- /* put this in permanent storage instead of stack */
+- static char not_needed[2048];
+- if (mem_delay-- <= 0)
++ static char line[255];
++ mem = fopen ("/proc/meminfo", "r");
++ if (mem)
+ {
+- mem = fopen ("/proc/meminfo", "r");
+- fgets (not_needed, 2048, mem);
+-
+- fscanf (mem, "%*s %Ld %Ld %Ld %Ld %Ld %Ld", &aa, &ab, &ac,
+- &ad, &ae, &af);
+- fscanf (mem, "%*s %Ld %Ld", &ag, &ah);
++ while (fgets (line, 255, mem))
++ {
++ if (g_str_has_prefix(line, "MemTotal"))
++ sscanf(line, "%*s %lu %*s", &mem_total);
++ else if (g_str_has_prefix(line, "MemFree"))
++ {
++ sscanf(line, "%*s %lu %*s", &mem_free);
++ break;
++ }
++ }
+ fclose (mem);
+- mem_delay = 25;
+-
+- /* calculate it */
+- my_mem_max = aa; /* memory.total; */
+- my_swap_max = ag; /* swap.total; */
+-
+- my_mem_used = ah + ab - af - ae;
+-
+- meminfo.total = my_mem_max / 1024;
+- meminfo.used = my_mem_used / 1024;
+- meminfo.avail = (my_mem_max - my_mem_used) / 1024;
+- return 0;
++ meminfo.total = mem_total / 1024;
++ meminfo.used = (mem_total - mem_free) / 1024;
++ meminfo.avail = mem_free / 1024;
+ }
+- return 1;
++ return 0;
+ }
+
+
+@@ -183,13 +174,13 @@
+ /* TRANSLATORS: MB == Mega Bytes*/
+ sprintf (cnew2, "%s: <i>%4.1f</i> %s", _("Free memory"),
+ ((float) meminfo.total -
+- (float) meminfo.used) / 1024.0, _("MB"));
++ (float) meminfo.used), _("MB"));
+ gtk_label_set_markup (GTK_LABEL (meminfo.label3), cnew2);
+
+ fstr = g_strdup_printf ("%s%s %4.1f %s %s",
+ "<span foreground=\"black\">",
+ _("Total:"),
+- (float) meminfo.total / 1024.0,
++ (float) meminfo.total,
+ _("MB"), "</span>");
+ gtk_label_set_markup (GTK_LABEL (meminfo.label2), fstr);
+ g_free (fstr);
+@@ -452,7 +443,7 @@
+ (float) meminfo.total);
+ sprintf (cnew2, "%s: <i>%4.1f</i> %s", _("Free memory"),
+ ((float) meminfo.total -
+- (float) meminfo.used) / 1024.0, _("MB"));
++ (float) meminfo.used), _("MB"));
+ label1 = gtk_label_new (NULL);
+ gtk_misc_set_alignment (GTK_MISC (label1), 0.0, 0.5);
+ meminfo.label3 = label1;
+@@ -464,7 +455,7 @@
+ fstr = g_strdup_printf ("%s%s %4.1f %s %s",
+ "<span foreground=\"black\">",
+ _("Total:"),
+- (float) meminfo.total / 1024.0,
++ (float) meminfo.total,
+ _("MB"), "</span>");
+ gtk_label_set_markup (GTK_LABEL (label1), fstr);
+ g_free (fstr);
diff --git a/gpe-conf/gpe-conf-0.1.20/misc1.patch b/gpe-conf/gpe-conf-0.1.20/misc1.patch
index e69de29bb2..d6c7658c85 100644
--- a/gpe-conf/gpe-conf-0.1.20/misc1.patch
+++ b/gpe-conf/gpe-conf-0.1.20/misc1.patch
@@ -0,0 +1,192 @@
+Index: main.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/main.c,v
+retrieving revision 1.70
+diff -u -r1.70 main.c
+--- main.c 16 Oct 2004 16:03:42 -0000 1.70
++++ main.c 26 Oct 2004 14:52:24 -0000
+@@ -125,7 +125,9 @@
+ { &Unimplemented_Build_Objects, &Unimplemented_Free_Objects, &Unimplemented_Save, &Unimplemented_Restore ,
+ "Task nameserver" ,"task_nameserver","Task for changing nameserver", PREFIX "/share/pixmaps/gpe-config-admin.png"},
+ { &Unimplemented_Build_Objects, &Unimplemented_Free_Objects, &Unimplemented_Save, &Unimplemented_Restore ,
+- "Task sound" ,"task_sound","Command line task saving/restoring sound settings.", PREFIX "/share/pixmaps/gpe-config-admin.png"}
++ "Task sound" ,"task_sound","Command line task saving/restoring sound settings.", PREFIX "/share/pixmaps/gpe-config-admin.png"},
++ { &Unimplemented_Build_Objects, &Unimplemented_Free_Objects, &Unimplemented_Save, &Unimplemented_Restore ,
++ "Task background image" ,"task_background","Only select background image.", PREFIX "/share/pixmaps/gpe-config-admin.png"}
+ };
+
+ struct gpe_icon my_icons[] = {
+@@ -235,10 +237,24 @@
+
+ void initwindow()
+ {
+- // main window
++ gint size_x, size_y;
++
++ /* screen layout detection */
++ size_x = gdk_screen_width();
++ size_y = gdk_screen_height();
++
++
++ /* main window */
+ self.w = mainw = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+- wstyle = self.w->style;
+ gtk_widget_set_usize(GTK_WIDGET(self.w),240, 310);
++
++ if ((size_x > 640) && (size_y > 480))
++ {
++ gtk_window_set_type_hint(GTK_WINDOW(self.w), GDK_WINDOW_TYPE_HINT_DIALOG);
++ gtk_window_set_default_size(GTK_WINDOW(self.w), 420, 460);
++ }
++
++ wstyle = self.w->style;
+
+ gtk_signal_connect (GTK_OBJECT(self.w), "delete-event",
+ (GtkSignalFunc) gtk_main_quit, NULL);
+@@ -337,18 +353,27 @@
+ fprintf(stderr,_("'task_sound' needs (s)ave/(r)estore as argument.\n"));
+ exit(0);
+ }
++ if (!strcmp(argv[1], "task_background"))
++ {
++ special_flag = TRUE;
++ standalone = TRUE;
++ task_change_background_image();
++ exit(0);
++ }
+ }
+
+ /* If no task? - start applet */
+ if (!handled)
+ {
+ self.cur_applet = -1;
+- self.applet = NULL; if (!standalone)
++ self.applet = NULL;
++
++ if (!standalone)
+ {
+ initwindow();
+
+ self.vbox = gtk_vbox_new(FALSE,0);
+- gtk_container_add(GTK_CONTAINER(self.w),self.vbox);
++ gtk_container_add(GTK_CONTAINER(self.w), self.vbox);
+
+ make_container();
+
+Index: network.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/network.c,v
+retrieving revision 1.38
+diff -u -r1.38 network.c
+--- network.c 16 Oct 2004 16:03:42 -0000 1.38
++++ network.c 26 Oct 2004 14:52:24 -0000
+@@ -475,7 +475,7 @@
+ GTK_RESPONSE_REJECT,
+ NULL);
+
+- gtk_window_set_default_size(GTK_WINDOW(dialog), 200, 290);
++ gtk_window_set_default_size(GTK_WINDOW(dialog), 220, 320);
+
+ btnok = gtk_dialog_add_button(GTK_DIALOG(dialog),
+ GTK_STOCK_OK, GTK_RESPONSE_OK);
+Index: theme.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/theme.c,v
+retrieving revision 1.49
+diff -u -r1.49 theme.c
+--- theme.c 22 Sep 2004 16:50:01 -0000 1.49
++++ theme.c 26 Oct 2004 14:52:28 -0000
+@@ -128,9 +128,57 @@
+ /* prefer xst */
+ if (!access(CMD_XST,X_OK))
+ use_xst = TRUE;
+- else
+- if (!access(CMD_GCONF,X_OK))
+- use_gconf = TRUE;
++ /* to be extended in future */
++}
++
++void
++task_change_background_image(void)
++{
++ GtkWidget *filesel, *feedbackdlg;
++
++ Theme_Build_Objects();
++ filesel = gtk_file_selection_new(_("Choose backgound image"));
++ gtk_file_selection_set_select_multiple(GTK_FILE_SELECTION(filesel), FALSE);
++
++ if (gtk_dialog_run(GTK_DIALOG(filesel)) == GTK_RESPONSE_OK)
++ {
++ int ec = 0;
++ const gchar *file =
++ gtk_file_selection_get_filename (GTK_FILE_SELECTION(filesel));
++
++ gtk_widget_hide(filesel);
++ ec = access(file, R_OK);
++ if (ec)
++ feedbackdlg = gtk_message_dialog_new(GTK_WINDOW(filesel),
++ GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
++ _("You are not allowed to read this file, choose another."));
++ else
++ {
++ gchar *confstr = NULL;
++ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self.rbImgCent)))
++ confstr = g_strdup_printf("img-centered:%s", file);
++ else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self.rbImgStr)))
++ confstr = g_strdup_printf("img-stretched:%s", file);
++ else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self.rbImgTiled)))
++ confstr = g_strdup_printf("img-tiled:%s", file);
++ if (confstr != NULL)
++ {
++ gchar *p = g_strdup_printf (CMD_XST " write %s%s str '%s'",
++ KEY_MATCHBOX, "Background", confstr);
++ system(p);
++ g_free(p);
++ g_free(confstr);
++ }
++
++ feedbackdlg = gtk_message_dialog_new(GTK_WINDOW(filesel),
++ GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
++ "%s\n%s",_("Succesfully changed background image."),
++ _("Use \"Look and Feel\" setup tool to change details."));
++ }
++ gtk_dialog_run(GTK_DIALOG(feedbackdlg));
++ gtk_widget_destroy(feedbackdlg);
++ }
++ gtk_widget_destroy(filesel);
+ }
+
+ gboolean
+Index: theme.h
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/theme.h,v
+retrieving revision 1.5
+diff -u -r1.5 theme.h
+--- theme.h 28 Feb 2003 20:58:45 -0000 1.5
++++ theme.h 26 Oct 2004 14:52:28 -0000
+@@ -4,8 +4,9 @@
+ GtkWidget *Theme_Build_Objects();
+ void Theme_Save();
+ void Theme_Restore();
++void task_change_background_image(void);
+
+-// definitions taken from mbdesktop.h
++/* definitions taken from mbdesktop.h */
+ enum {
+ BG_SOLID = 1,
+ BG_TILED_PXM,
+Index: suid.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/suid.c,v
+retrieving revision 1.53
+diff -u -r1.53 suid.c
+--- suid.c 25 Oct 2004 16:19:42 -0000 1.53
++++ suid.c 26 Oct 2004 14:52:28 -0000
+@@ -376,6 +376,7 @@
+ }
+ else if (strcmp (cmd, "XCAL") == 0) // runs screen calibration tool
+ {
++ fscanf (in, "%100s", arg2);
+ system ("/usr/bin/xtscal");
+ }
+ else if (strcmp (cmd, "STZO") == 0) // changes the timezone setting
diff --git a/gpe-conf/gpe-conf-0.1.20/ntpdate.patch b/gpe-conf/gpe-conf-0.1.20/ntpdate.patch
index e69de29bb2..2a9b3098ff 100644
--- a/gpe-conf/gpe-conf-0.1.20/ntpdate.patch
+++ b/gpe-conf/gpe-conf-0.1.20/ntpdate.patch
@@ -0,0 +1,148 @@
+Index: suid.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/suid.c,v
+retrieving revision 1.54
+diff -u -r1.54 suid.c
+--- suid.c 26 Oct 2004 15:04:22 -0000 1.54
++++ suid.c 28 Oct 2004 20:20:23 -0000
+@@ -88,17 +88,25 @@
+ void
+ update_time_from_net (const gchar * server)
+ {
++
++ if (setvbuf(nsreturn,NULL,_IONBF,0) != 0)
++ fprintf(stderr,"gpe-conf: error setting buffer size!");
++
+ char *tstr = g_strdup_printf ("ntpdate -b %s", server);
+ if (system(tstr))
+ {
+ fprintf (stderr, "failed to execute ntpdate\n");
++ fprintf(nsreturn,"<failed>\n");
+ }
+- else // if ok, update rtc time
++ else /* if ok, update rtc time */
+ {
++ fprintf(nsreturn,"<success>\n");
+ system("/sbin/hwclock --systohc");
+ system ("echo > /var/spool/at/trigger");
+ }
+ g_free(tstr);
++ fflush(nsreturn);
++ fsync(nsreturnfd);
+ }
+
+
+Index: network.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/network.c,v
+retrieving revision 1.39
+diff -u -r1.39 network.c
+--- network.c 26 Oct 2004 15:04:22 -0000 1.39
++++ network.c 28 Oct 2004 20:20:23 -0000
+@@ -1416,7 +1416,9 @@
+ if (entry)
+ {
+ newval = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1);
+- suid_exec ("SDNS", newval);
++ if (strlen(newval))
++ suid_exec ("SDNS", newval);
++ g_free(newval);
+ }
+ }
+
+Index: timeanddate.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/timeanddate.c,v
+retrieving revision 1.37
+diff -u -r1.37 timeanddate.c
+--- timeanddate.c 23 Aug 2004 22:33:01 -0000 1.37
++++ timeanddate.c 28 Oct 2004 20:20:23 -0000
+@@ -17,18 +17,20 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <dirent.h>
+-#include <pwd.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+-#include <signal.h>
+ #include <time.h>
+ #include <libintl.h>
++#include <time.h>
++#include <ctype.h>
++
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/poll.h>
++
++#include <X11/Xlib.h>
+ #include <gtk/gtk.h>
+-#include <time.h>
+-#include <ctype.h>
++#include <gdk/gdkx.h>
+
+ #include "applets.h"
+ #include "timeanddate.h"
+@@ -39,6 +41,7 @@
+ #include <gpe/errorbox.h>
+ #include <gpe/gtkdatecombo.h>
+ #include <gpe/gpetimesel.h>
++#include <gpe/infoprint.h>
+
+
+ /* --- local types and constants --- */
+@@ -402,23 +405,48 @@
+
+ gboolean refresh_time()
+ {
++ static char str[256];
++ struct pollfd pfd[1];
++ gboolean ret = FALSE;
++ Display *dpy = GDK_DISPLAY();
++
+ Time_Restore();
++ memset(str, 0, 256);
++
++ pfd[0].fd = suidinfd;
++ pfd[0].events = (POLLIN | POLLRDNORM | POLLRDBAND | POLLPRI);
++ while (poll(pfd, 1, 0))
++ {
++ if (fgets (str, 255, suidin))
++ {
++ if (strstr(str, "<success>"))
++ gpe_popup_infoprint (dpy,
++ _("Time adjusted from network."));
++ else
++ gpe_error_box(_("Adjusting time from network failed."));
++
++ }
++ ret = TRUE;
++ }
++
+ trc--;
+- if (!trc)
++ if (!trc)
++ ret = TRUE;
++ if (ret)
+ {
+- gtk_widget_set_sensitive(self.internet,TRUE);
+- gtk_timeout_remove(tid);
++ gtk_widget_set_sensitive(self.internet, TRUE);
++ return FALSE;
+ }
+ system (SCREENSAVER_RESET_CMD);
+- return (trc ? TRUE : FALSE);
++ return (TRUE);
+ }
+
+ void GetInternetTime()
+ {
+ gtk_widget_set_sensitive(self.internet,FALSE);
+ suid_exec("NTPD",gtk_entry_get_text (GTK_ENTRY (GTK_COMBO (self.ntpserver)->entry)));
+- trc = 10;
+- tid = gtk_timeout_add(500,refresh_time,NULL);
++ trc = 60;
++ tid = gtk_timeout_add(500, refresh_time, NULL);
+ }
+
+
diff --git a/gpe-conf/gpe-conf-0.1.20/password-if.patch b/gpe-conf/gpe-conf-0.1.20/password-if.patch
index e69de29bb2..1e1b578cd3 100644
--- a/gpe-conf/gpe-conf-0.1.20/password-if.patch
+++ b/gpe-conf/gpe-conf-0.1.20/password-if.patch
@@ -0,0 +1,442 @@
+Index: cfgfile.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/cfgfile.c,v
+retrieving revision 1.13
+diff -u -r1.13 cfgfile.c
+--- cfgfile.c 29 Aug 2004 13:20:25 -0000 1.13
++++ cfgfile.c 16 Oct 2004 15:50:30 -0000
+@@ -436,26 +436,28 @@
+ iflen = l;
+
+ fd = fopen(_PATH_PROCNET_WIRELESS, "r");
+- fgets(buffer, 256, fd); // chuck first two lines;
+- fgets(buffer, 256, fd);
+- while (!feof(fd)) {
+- if (fgets(buffer, 256, fd) == NULL)
+- break;
+- name = buffer;
+- sep = strrchr(buffer, ':');
+- if (sep) *sep = 0;
+- while(*name == ' ') name++;
+-
+- for (i = 0; i < iflen; i++)
+- {
+- if (!strcmp (name, iflist[i].name))
++ if (fd)
++ {
++ fgets(buffer, 256, fd); // chuck first two lines;
++ fgets(buffer, 256, fd);
++ while (!feof(fd)) {
++ if (fgets(buffer, 256, fd) == NULL)
++ break;
++ name = buffer;
++ sep = strrchr(buffer, ':');
++ if (sep) *sep = 0;
++ while(*name == ' ') name++;
++
++ for (i = 0; i < iflen; i++)
+ {
+- iflist[i].iswireless = TRUE;
++ if (!strcmp (name, iflist[i].name))
++ {
++ iflist[i].iswireless = TRUE;
++ }
+ }
+ }
++ fclose(fd);
+ }
+- fclose(fd);
+-
+ return l;
+ }
+
+Index: main.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/main.c,v
+retrieving revision 1.69
+diff -u -r1.69 main.c
+--- main.c 10 Oct 2004 21:48:39 -0000 1.69
++++ main.c 16 Oct 2004 15:50:30 -0000
+@@ -188,6 +188,9 @@
+ self.cur_applet = i;
+
+ self.applet = applets[i].Build_Objects(useronly);
++
++ if (self.applet)
++ {
+ gtk_container_add(GTK_CONTAINER(self.viewport),self.applet);
+
+ gtk_window_set_title(GTK_WINDOW(self.w), applets[i].frame_label);
+@@ -220,6 +223,7 @@
+ }
+ else
+ gtk_widget_hide(self.cancel);
++ }
+ }
+
+
+@@ -289,9 +293,11 @@
+ void main_one(int argc, char **argv,int applet)
+ {
+ int handled = FALSE;
+- gboolean user_only_setup = FALSE; /* Don't change to suid mode. */
++ gboolean special_flag = FALSE; /* Don't change to suid mode or similar. */
++ gboolean standalone = FALSE; /* applet creates its own window */
+
+ self.alone_applet = 1;
++ self.applet = NULL;
+
+ my_icons[count_icons - 1].filename = applets[applet].icon_file;
+
+@@ -315,7 +321,12 @@
+ }
+ if (!strcmp(argv[2],"user_only"))
+ {
+- user_only_setup = TRUE;
++ special_flag = TRUE;
++ }
++ if (!strcmp(argv[2],"password"))
++ {
++ special_flag = TRUE;
++ standalone = TRUE;
+ }
+ if (!strcmp(argv[1],"task_sound"))
+ {
+@@ -331,23 +342,23 @@
+ /* If no task? - start applet */
+ if (!handled)
+ {
+- initwindow();
+-
+- self.vbox = gtk_vbox_new(FALSE,0);
+- gtk_container_add(GTK_CONTAINER(self.w),self.vbox);
+-
+ self.cur_applet = -1;
+- self.applet = NULL;
+-
+- make_container();
+-
+- gpe_set_window_icon(self.w, "icon");
+- gtk_widget_show_all(self.w);
+-
+- gtk_widget_show(self.w);
+-
++ self.applet = NULL; if (!standalone)
++ {
++ initwindow();
++
++ self.vbox = gtk_vbox_new(FALSE,0);
++ gtk_container_add(GTK_CONTAINER(self.w),self.vbox);
++
++ make_container();
++
++ gpe_set_window_icon(self.w, "icon");
++ gtk_widget_show_all(self.w);
++
++ gtk_widget_show(self.w);
++ }
+
+- item_select(user_only_setup, (gpointer)applet);
++ item_select(special_flag, (gpointer)applet);
+ gtk_main();
+ gtk_exit(0);
+ }
+Index: network.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/network.c,v
+retrieving revision 1.37
+diff -u -r1.37 network.c
+--- network.c 8 Sep 2004 22:14:12 -0000 1.37
++++ network.c 16 Oct 2004 15:50:30 -0000
+@@ -123,9 +123,34 @@
+ free (buffer);
+ }
+
++void
++copy_new_interfaces(void)
++{
++ struct interface *ife;
++ struct interface *int_list;
++
++ int_list = if_getlist ();
++
++ system_printf ("/bin/cp %s %s", NET_NEWFILE, NET_CONFIGFILE);
++ system_printf ("chmod 0644 %s", NET_CONFIGFILE);
++ system_printf ("/bin/rm -f %s", NET_NEWFILE);
++
++ for (ife = int_list; ife; ife = ife->next)
++ {
++ if ((ife->flags & IFF_UP) && !(ife->flags & IFF_LOOPBACK))
++ {
++ gchar *cmd = g_strdup_printf("/sbin/ifdown %s", ife->name);
++ system(cmd);
++ g_free(cmd);
++ cmd = g_strdup_printf("/sbin/ifup %s", ife->name);
++ system(cmd);
++ g_free(cmd);
++ }
++ }
++}
+
+ static GList *
+-get_unconfigured_interfaces ()
++get_unconfigured_interfaces (void)
+ {
+ #define num_suggestions 3
+
+@@ -139,34 +164,34 @@
+ gchar suggestions[num_suggestions][6] = {"eth0", "wlan0", "bnep0"};
+
+ fd = fopen(_PATH_PROCNET_DEV, "r");
+- fgets(buffer, 256, fd); // chuck first two lines;
+- fgets(buffer, 256, fd);
+- while (!feof(fd)) {
+- if (fgets(buffer, 256, fd) == NULL)
+- break;
+- name = buffer;
+- sep = strrchr(buffer, ':');
+- if (sep) *sep = 0;
+- while(*name == ' ') name++;
+-
+- found = FALSE;
+- for (i = 0; i < iflen; i++)
+- {
+- if (!strcmp (name, iflist[i].name))
+- {
+- found = TRUE;
++ if (fd)
++ {
++ fgets(buffer, 256, fd); // chuck first two lines;
++ fgets(buffer, 256, fd);
++ while (!feof(fd)) {
++ if (fgets(buffer, 256, fd) == NULL)
+ break;
++ name = buffer;
++ sep = strrchr(buffer, ':');
++ if (sep) *sep = 0;
++ while(*name == ' ') name++;
++
++ found = FALSE;
++ for (i = 0; i < iflen; i++)
++ {
++ if (!strcmp (name, iflist[i].name))
++ {
++ found = TRUE;
++ break;
++ }
++ }
++ if (!found)
++ {
++ result = g_list_append (result, g_strdup (name));
+ }
+ }
+- if (!found)
+- {
+- result = g_list_append (result, g_strdup (name));
+- }
+-
+-
++ fclose(fd);
+ }
+- fclose(fd);
+-
+ for (j = 0; j < num_suggestions; j++)
+ {
+ found = FALSE;
+Index: suid.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/suid.c,v
+retrieving revision 1.51
+diff -u -r1.51 suid.c
+--- suid.c 12 Oct 2004 21:07:02 -0000 1.51
++++ suid.c 16 Oct 2004 15:50:30 -0000
+@@ -45,6 +45,7 @@
+ #include "cardinfo.h"
+ #include "timeanddate.h"
+ #include "users/passwd.h"
++#include "network.h"
+
+ static GtkWidget *passwd_entry;
+ static int retv;
+@@ -359,13 +360,7 @@
+ else if (strcmp (cmd, "CPIF") == 0) // installs a new interfaces file
+ {
+ fscanf (in, "%100s", arg2); // to forget soon...
+- strcpy (arg1, "/tmp/interfaces");
+- strcpy (arg2, "/etc/network/interfaces");
+- system ("/etc/init.d/networking stop");
+- system_printf ("/bin/cp %s %s", arg1, arg2);
+- system_printf ("chmod 0644 %s", arg2);
+- system_printf ("/bin/rm -f %s", arg1);
+- system ("/etc/init.d/networking start");
++ copy_new_interfaces();
+ }
+ else if (strcmp (cmd, "CPOI") == 0) // rewrites owner information data
+ {
+Index: network.h
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/network.h,v
+retrieving revision 1.4
+diff -u -r1.4 network.h
+--- network.h 25 Aug 2004 10:16:31 -0000 1.4
++++ network.h 16 Oct 2004 15:50:30 -0000
+@@ -1,3 +1,6 @@
++#ifndef _GPE_CONF_NETWORK_H
++#define _GPE_CONF_NETWORK_H
++
+ #define _PATH_PROCNET_DEV "/proc/net/dev"
+ #define _PATH_PROCNET_WIRELESS "/proc/net/wireless"
+
+@@ -5,3 +8,6 @@
+ void Network_Save();
+ void Network_Free_Objects();
+ void Network_Restore();
++void copy_new_interfaces(void);
++
++#endif
+Index: users.h
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/users.h,v
+retrieving revision 1.2
+diff -u -r1.2 users.h
+--- users.h 7 Sep 2002 22:34:06 -0000 1.2
++++ users.h 16 Oct 2004 15:50:30 -0000
+@@ -1,4 +1,4 @@
+-GtkWidget *Users_Build_Objects();
++GtkWidget *Users_Build_Objects(gboolean password_only);
+ void Users_Save();
+ void Users_Free_Objects();
+ void Users_Restore();
+Index: users/interface.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/users/interface.c,v
+retrieving revision 1.22
+diff -u -r1.22 interface.c
+--- users/interface.c 8 Sep 2004 22:14:12 -0000 1.22
++++ users/interface.c 16 Oct 2004 15:50:30 -0000
+@@ -202,15 +202,15 @@
+ }
+
+ GtkWidget*
+-Users_Build_Objects (void)
++Users_Build_Objects (gboolean password_only)
+ {
+- GtkWidget *vbox1;
+- GtkWidget *pw;
+- GtkWidget *toolbar;
+- GtkWidget *button1;
+- GtkWidget *button2;
+- GtkWidget *button3;
+- GtkWidget *button4;
++ GtkWidget *vbox1 = NULL;
++ GtkWidget *pw = NULL;
++ GtkWidget *toolbar = NULL;
++ GtkWidget *button1 = NULL;
++ GtkWidget *button2 = NULL;
++ GtkWidget *button3 = NULL;
++ GtkWidget *button4 = NULL;
+
+ listTitles[0] = _("User Name");
+ listTitles[1] = _("User Info");
+@@ -218,6 +218,8 @@
+
+ InitSpacings ();
+
++ if (!password_only)
++ {
+ vbox1 = gtk_vbox_new (FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox1), border_width);
+
+@@ -254,28 +256,40 @@
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pw),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_container_add (GTK_CONTAINER (pw), user_list);
++ }
+
+ InitPwList();
+- ReloadList();
++ if (!password_only)
++ {
++ ReloadList();
+
+- gtk_widget_show (user_list);
+-
+- gtk_box_pack_start (GTK_BOX (vbox1), pw, TRUE, TRUE, 0);
++ gtk_widget_show (user_list);
++ gtk_box_pack_start (GTK_BOX (vbox1), pw, TRUE, TRUE, 0);
+
+- /* check if we have the permissions to change users */
+- if (suid_exec("CHEK",""))
+- {
+- gtk_widget_set_sensitive(user_list, FALSE);
+- gtk_widget_set_sensitive(button1, FALSE);
+- gtk_widget_set_sensitive(button2, FALSE);
+- gtk_widget_set_sensitive(button3, FALSE);
+- have_access = FALSE;
+- }
++ /* check if we have the permissions to change users */
++ if (suid_exec("CHEK",""))
++ {
++ gtk_widget_set_sensitive(user_list, FALSE);
++ gtk_widget_set_sensitive(button1, FALSE);
++ gtk_widget_set_sensitive(button2, FALSE);
++ gtk_widget_set_sensitive(button3, FALSE);
++ have_access = FALSE;
++ }
++ else
++ {
++ have_access = TRUE;
++ }
++ }
+ else
+- {
+- have_access = TRUE;
+- }
+- return vbox1;
++ have_access = FALSE;
++
++ if (password_only)
++ {
++ gtk_widget_show(create_passwindow(pwroot, NULL));
++ return NULL;
++ }
++ else
++ return vbox1;
+ }
+
+ GtkWidget*
+@@ -440,7 +454,7 @@
+ }
+
+ GtkWidget*
+-create_passwindow (pwlist *init,GtkWidget *parent)
++create_passwindow (pwlist *init, GtkWidget *parent)
+ {
+ GtkWidget *passwindow;
+ GtkWidget *vbox3;
+@@ -463,9 +477,8 @@
+ gtk_window_set_transient_for (GTK_WINDOW(passwindow), GTK_WINDOW(parent));
+ gtk_window_set_title (GTK_WINDOW (passwindow), _("Change Password"));
+ gtk_window_set_modal (GTK_WINDOW (passwindow), TRUE);
+-
+ vbox3 = GTK_DIALOG (passwindow)->vbox;
+-
++
+ table3 = gtk_table_new (3, 3, FALSE);
+
+ gtk_widget_show (table3);
+@@ -561,9 +574,12 @@
+ GTK_SIGNAL_FUNC (users_on_changepasswd_clicked),
+ (gpointer)self);
+
+- /* in case of destruction by close (X) button */
+- gtk_signal_connect (GTK_OBJECT(passwindow) , "destroy",
++ if (parent)
++ gtk_signal_connect (GTK_OBJECT(passwindow) , "destroy",
+ (GtkSignalFunc) freedata, (gpointer)self);
++ else
++ gtk_signal_connect (GTK_OBJECT(passwindow) , "destroy",
++ gtk_main_quit, NULL);
+
+ return passwindow;
+ }
diff --git a/gpe-conf/gpe-conf-0.1.21/icons.patch b/gpe-conf/gpe-conf-0.1.21/icons.patch
index e69de29bb2..0b688c2a3a 100644
--- a/gpe-conf/gpe-conf-0.1.21/icons.patch
+++ b/gpe-conf/gpe-conf-0.1.21/icons.patch
@@ -0,0 +1,51 @@
+Index: sound/sound.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/sound/sound.c,v
+retrieving revision 1.9
+diff -u -r1.9 sound.c
+--- sound/sound.c 12 Oct 2004 21:07:03 -0000 1.9
++++ sound/sound.c 1 Nov 2004 13:31:37 -0000
+@@ -14,7 +14,6 @@
+
+ /*
+ ToDo
+- - move mixer icons to gpe-icons
+ - Filtering for different platforms.
+ - Additional settings.
+ - Update settings from system.
+@@ -39,22 +38,21 @@
+ #include "soundctrl.h"
+ #define MAX_CHANNELS 24
+
+-#warning needs gpe-mixer
+ struct gpe_icon mixer_icons[] =
+ {
+- { "line" , PREFIX "/share/gpe-mixer/line.png"},
+- { "line1" , PREFIX "/share/gpe-mixer/line.png"},
+- { "cd" , PREFIX "/share/gpe-mixer/cd.png"},
+- { "bass" , PREFIX "/share/gpe-mixer/bass.png"},
+- { "vol" , PREFIX "/share/gpe-mixer/volume.png"},
+- { "treble" , PREFIX "/share/gpe-mixer/treble.png"},
+- { "synth" , PREFIX "/share/gpe-mixer/synth.png"},
+- { "speaker" , PREFIX "/share/gpe-mixer/speaker.png"},
+- { "phout" , PREFIX "/share/gpe-mixer/speaker.png"},
+- { "pcm" , PREFIX "/share/gpe-mixer/pcm.png"},
+- { "pcm2" , PREFIX "/share/gpe-mixer/pcm.png"},
+- { "mic" , PREFIX "/share/gpe-mixer/mic.png"},
+- { "unkn" , PREFIX "/share/gpe-mixer/unkn.png"},
++ { "line" , "line"},
++ { "line1" , "line"},
++ { "cd" , "cd"},
++ { "bass" , "bass"},
++ { "vol" , "volume"},
++ { "treble" , "treble"},
++ { "synth" , "synth"},
++ { "speaker" , "speaker"},
++ { "phout" , "speaker"},
++ { "pcm" , "pcm"},
++ { "pcm2" , "pcm"},
++ { "mic" , "mic"},
++ { "unkn" , "unkn"},
+ { "alarm" , "bell" },
+ {NULL, NULL}
+ };
diff --git a/gpe-conf/gpe-conf-0.1.8/applets-dialog.patch b/gpe-conf/gpe-conf-0.1.8/applets-dialog.patch
index e69de29bb2..744ee966c5 100644
--- a/gpe-conf/gpe-conf-0.1.8/applets-dialog.patch
+++ b/gpe-conf/gpe-conf-0.1.8/applets-dialog.patch
@@ -0,0 +1,25 @@
+Index: applets.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/applets.c,v
+retrieving revision 1.24
+diff -r1.24 applets.c
+345c345
+< GtkWidget *hbox;
+---
+> GtkWidget *hbox, *btn;
+365,366d364
+< GTK_STOCK_OK,
+< GTK_RESPONSE_ACCEPT,
+368,369c366,374
+< label = gtk_label_new (_
+< ("Some options are only\naccessible for user root.\nPlease enter password."));
+---
+> btn = gtk_dialog_add_button(GTK_DIALOG(dialog),
+> GTK_STOCK_OK,
+> GTK_RESPONSE_ACCEPT);
+> GTK_WIDGET_SET_FLAGS (btn, GTK_CAN_DEFAULT);
+> gtk_widget_grab_default(btn);
+>
+>
+> label = gtk_label_new (_ ("Some options are only\n"\
+> "accessible for user root.\nPlease enter password."));
diff --git a/gpe-conf/gpe-conf-0.1.8/battery.patch b/gpe-conf/gpe-conf-0.1.8/battery.patch
index e69de29bb2..23c65336c3 100644
--- a/gpe-conf/gpe-conf-0.1.8/battery.patch
+++ b/gpe-conf/gpe-conf-0.1.8/battery.patch
@@ -0,0 +1,13 @@
+Index: battery.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/battery.c,v
+retrieving revision 1.9
+diff -r1.9 battery.c
+29c29
+< #ifdef __arm__
+---
+> #ifdef MACH_IPAQ
+91c91
+< #ifdef __arm__
+---
+> #ifdef MACH_IPAQ
diff --git a/gpe-conf/gpe-conf-0.1.8/brightness.patch b/gpe-conf/gpe-conf-0.1.8/brightness.patch
index e69de29bb2..b3f169fd87 100644
--- a/gpe-conf/gpe-conf-0.1.8/brightness.patch
+++ b/gpe-conf/gpe-conf-0.1.8/brightness.patch
@@ -0,0 +1,53 @@
+Index: ipaqscreen/brightness.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/ipaqscreen/brightness.c,v
+retrieving revision 1.13
+retrieving revision 1.14
+diff -u -r1.13 -r1.14
+--- ipaqscreen/brightness.c 13 Jul 2003 08:40:13 -0000 1.13
++++ ipaqscreen/brightness.c 3 Jun 2004 17:35:23 -0000 1.14
+@@ -23,7 +23,7 @@
+ #include "../parser.h"
+
+ #include <fcntl.h>
+-#ifdef __arm__
++#ifdef MACH_IPAQ
+ #include <sys/ioctl.h>
+ #include <linux/h3600_ts.h>
+ #define TS_DEV "/dev/touchscreen/0"
+@@ -32,7 +32,7 @@
+
+ void turn_light(int status)
+ {
+-#ifdef __arm__
++#ifdef MACH_IPAQ
+ int fd;
+ bl.mode=1;
+ bl.pwr=status;
+@@ -46,7 +46,7 @@
+
+ int get_light_state ()
+ {
+-#ifndef __arm__
++#ifndef MACH_IPAQ
+ return 10; // bl doesnt exit on i386 dev machines!
+ #else
+ struct h3600_ts_backlight tsbl;
+@@ -83,7 +83,7 @@
+
+ void set_brightness (int brightness)
+ {
+-#ifdef __arm__
++#ifdef MACH_IPAQ
+ int fd;
+
+ if (brightness)
+@@ -102,7 +102,7 @@
+
+ int get_brightness ()
+ {
+-#ifndef __arm__
++#ifndef MACH_IPAQ
+ return 10; // bl doesnt exit on i386 dev machines!
+ #else
+ struct h3600_ts_backlight tsbl;
diff --git a/gpe-conf/gpe-conf-0.1.8/cardinfo.patch b/gpe-conf/gpe-conf-0.1.8/cardinfo.patch
index e69de29bb2..ffb24a9825 100644
--- a/gpe-conf/gpe-conf-0.1.8/cardinfo.patch
+++ b/gpe-conf/gpe-conf-0.1.8/cardinfo.patch
@@ -0,0 +1,24 @@
+Index: cardinfo.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/cardinfo.c,v
+retrieving revision 1.27
+diff -u -r1.27 cardinfo.c
+--- cardinfo.c 4 Apr 2004 09:52:46 -0000 1.27
++++ cardinfo.c 4 Jun 2004 09:29:41 -0000
+@@ -34,11 +34,11 @@
+ #include <poll.h>
+ #include <time.h>
+
+-#include <pcmcia/version.h>
+-#include <pcmcia/cs_types.h>
+-#include <pcmcia/cs.h>
+-#include <pcmcia/cistpl.h>
+-#include <pcmcia/ds.h>
++#include "pcmcia/version.h"
++#include "pcmcia/cs_types.h"
++#include "pcmcia/cs.h"
++#include "pcmcia/cistpl.h"
++#include "pcmcia/ds.h"
+
+ #include <gtk/gtk.h>
+
diff --git a/gpe-conf/gpe-conf-0.1.8/gpe-conf_makefile.patch b/gpe-conf/gpe-conf-0.1.8/gpe-conf_makefile.patch
index e69de29bb2..7f1017de64 100644
--- a/gpe-conf/gpe-conf-0.1.8/gpe-conf_makefile.patch
+++ b/gpe-conf/gpe-conf-0.1.8/gpe-conf_makefile.patch
@@ -0,0 +1,118 @@
+diff -urN gpe-conf-0.1.7.orig/Makefile gpe-conf-0.1.7/Makefile
+--- gpe-conf-0.1.7.orig/Makefile 2004-03-19 20:38:33.000000000 +1100
++++ gpe-conf-0.1.7/Makefile 2004-04-30 12:39:59.000000000 +1000
+@@ -25,27 +25,28 @@
+ gpe-conf-users.desktop.in \
+ gpe-conf-sysinfo.desktop.in
+
++PACKAGE_CFLAGS = `pkg-config --cflags gtk+-2.0 gdk-2.0 gdk-pixbuf-2.0 libgpewidget x11 xrandr xext xft xau xrandr`
++PACKAGE_LDFLAGS = `pkg-config --libs gtk+-2.0 gdk-2.0 gdk-pixbuf-2.0 libgpewidget x11 xrandr xext xft xau xrandr`
++PACKAGE_LDFLAGS += -lexpat
++
+ ifeq ($(CVSBUILD),yes)
+-LIBS += -L../libgpewidget -L../libxsettings -L../libxsettings-client -L../libdotdesktop -L.
+-CFLAGS += -Wall -I../libgpewidget -I../libxsettings-client -I../libxsettings -I../libdotdesktop
++PACKAGE_LDFLAGS += -L../libxsettings -L../libxsettings-client -L../libdotdesktop -L.
++PACKAGE_CFLAGS += -Wall -I../libxsettings-client -I../libxsettings -I../libdotdesktop
+ BUILD = ../build
+ else
+-CFLAGS += -I/usr/local/include/gpe -Wall
++PACKAGE_CFLAGS += -I/usr/local/include/gpe -Wall
+ BUILD = build
+ endif
+
+ ifeq ($(DEBUG),yes)
+-CFLAGS += -g -DDEBUG
++PACKAGE_CFLAGS += -g -DDEBUG
+ else
+-CFLAGS += -Os -fomit-frame-pointer
++PACKAGE_CFLAGS += -Os -fomit-frame-pointer
+ endif
+
+-LIBS += -lXsettings -lXsettings-client -lcrypt
+-CFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE
+-CFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
+-
+-GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
+-GTKLDFLAGS += `pkg-config --libs gtk+-2.0 gdk-2.0`
++PACKAGE_LDFLAGS += -lXsettings -lXsettings-client -lcrypt
++PACKAGE_CPPFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE
++PACKAGE_CPPFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
+
+ # setup how to compile
+ ifeq ($(NATIVE),yes)
+@@ -53,21 +54,19 @@
+ STRIP=strip
+ CC=gcc
+
+-CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
+-LIBS += -lgpewidget `pkg-config --libs gtk+-2.0 gdk-pixbuf-2.0` -ldotdesktop
+-
+ else # we do cross-compile...
+
+ CC=arm-linux-gcc
+ STRIP=arm-linux-strip
+
+-CFLAGS += -march=armv4 -mtune=strongarm
+-CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
+-LIBS += -L/skiff/local/arm-linux/lib -L/skiff/local/arm-linux/lib/X11
+-LIBS += -lgpewidget -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoxft-1.0
+-LIBS += -lpangox-1.0 -lpango-1.0 -lgdk_pixbuf-2.0 -lm -lgobject-2.0
+-LIBS += -lgmodule-2.0 -ldl -lglib-2.0 -ldotdesktop -lXinerama
+-LIBS += -lX11 -lXext -lXrender -lgdk-x11-2.0
++# PACKAGE_CFLAGS += -march=armv4 -mtune=strongarm
++PACKAGE_CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
++
++PACKAGE_LDFLAGS += -lgpewidget -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0
++PACKAGE_LDFLAGS += -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgdk_pixbuf-2.0
++PACKAGE_LDFLAGS += -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
++PACKAGE_LDFLAGS += -ldotdesktop -lXinerama -lX11 -lXext -lXrender
++PACKAGE_LDFLAGS += -lgdk-x11-2.0
+
+ endif #native or cross-compile
+
+@@ -77,21 +76,17 @@
+ MEMBERS += misc
+ MEMBERS += unimplemented
+ MEMBERS += timeanddate
+-MEMBERS += appmgr_setup ../gpe-appmgr/package
+-MEMBERS += ipaqscreen/main ipaqscreen/brightness ipaqscreen/rotation ipaqscreen/calibrate ipaqscreen/callbacks ipaqscreen/xset
+ MEMBERS += kbd
+ MEMBERS += network
+ MEMBERS += theme
+ MEMBERS += keyctl
+ MEMBERS += ownerinfo
+ MEMBERS += login-setup
+-MEMBERS += sleep/main sleep/interface sleep/callbacks sleep/conf sleep/confGUI
+ MEMBERS += users/interface users/callbacks
+ MEMBERS += cfgfile
+ MEMBERS += gpe-admin
+ MEMBERS += widgets/sp-color-slider
+ MEMBERS += serial
+-MEMBERS += cardinfo
+ MEMBERS += tools/interface
+ MEMBERS += tasks
+
+@@ -99,7 +94,6 @@
+ MEMBERS_INFO += storage
+ MEMBERS_INFO += logread
+ MEMBERS_INFO += tools/interface
+-MEMBERS_INFO += battery
+ MEMBERS_INFO += sysinfo
+ MEMBERS_INFO += parser
+
+@@ -167,12 +161,12 @@
+ all: $(PACKAGE) gpe-info
+
+ $(PACKAGE): $(OBJS)
+- $(CC) -g -o $@ $(OBJS) $(LIBS)
++ $(CC) -g -o $@ $(OBJS) ${PACKAGE_LDFLAGS} $(LIBS)
+ cp $(PACKAGE) gpe-conf.pc
+ $(STRIP) $(PACKAGE)
+
+ gpe-info: $(OBJS_INFO)
+- $(CC) -g -o $@ $(OBJS_INFO) $(LIBS)
++ $(CC) -g -o $@ $(OBJS_INFO) ${PACKAGE_LDFLAGS} $(LIBS)
+ $(STRIP) gpe-info
+
+ install-program: all all-desktop
diff --git a/gpe-conf/gpe-conf-0.1.8/makefile.patch b/gpe-conf/gpe-conf-0.1.8/makefile.patch
index e69de29bb2..5a62d60f91 100644
--- a/gpe-conf/gpe-conf-0.1.8/makefile.patch
+++ b/gpe-conf/gpe-conf-0.1.8/makefile.patch
@@ -0,0 +1,101 @@
+Index: Makefile
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/Makefile,v
+retrieving revision 1.103
+diff -r1.103 Makefile
+9a10
+> MACHINE = other
+11a13,23
+>
+> ifeq ($(MACHINE),ipaq)
+> PACKAGE_CPPFLAGS += -DMACH_IPAQ
+> PACKAGE_CFLAGS += -DMACH_IPAQ
+> endif
+>
+> ifeq ($(MACHINE),simpad)
+> PACKAGE_CPPFLAGS += -DMACH_SIMPAD
+> PACKAGE_CFLAGS += -DMACH_SIMPAD
+> endif
+>
+29,30c41,42
+< LIBS += -L../libgpewidget -L../libxsettings -L../libxsettings-client -L.
+< CFLAGS += -Wall -I../libgpewidget -I../libxsettings-client -I../libxsettings
+---
+> PACKAGE_CPPFLAGS += -I../libxsettings -I../libxsettings-client
+> PACKAGE_LDFLAGS += -L../libxsettings -L../libxsettings-client
+33d44
+< CFLAGS += -I/usr/local/include/gpe -Wall
+36a48,54
+> GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
+> GTKLDFLAGS = `pkg-config --libs gtk+-2.0 gdk-2.0`
+>
+> PACKAGE_CPPFLAGS += $(STANDARD_CPPFLAGS) -I.
+> PACKAGE_CFLAGS += $(STANDARD_CFLAGS) $(GTKCFLAGS) $(GPECFLAGS) -I.
+> PACKAGE_LDFLAGS += $(STANDARD_LDFLAGS) $(GTKLDFLAGS) $(GPELIBS) -lXsettings -lXsettings-client -lcrypt
+>
+38c56
+< CFLAGS += -g -DDEBUG
+---
+> PACKAGE_CFLAGS += -g -DDEBUG
+40c58
+< CFLAGS += -Os -fomit-frame-pointer
+---
+> PACKAGE_CFLAGS += -Os -fomit-frame-pointer
+43,45c61,62
+< LIBS += -lXsettings -lXsettings-client -lcrypt
+< CFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE
+< CFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
+---
+> PACKAGE_CFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE
+> PACKAGE_CFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
+47,48d63
+< GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
+< GTKLDFLAGS += `pkg-config --libs gtk+-2.0 gdk-2.0`
+53,54c68,69
+< STRIP=strip
+< CC=gcc
+---
+> #STRIP=strip
+> #CC=gcc
+56,57c71,72
+< CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
+< LIBS += -lgpewidget `pkg-config --libs gtk+-2.0 gdk-pixbuf-2.0`
+---
+> #CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
+> #LIBS += -lgpewidget `pkg-config --libs gtk+-2.0 gdk-pixbuf-2.0`
+61,62c76,77
+< CC=arm-linux-gcc
+< STRIP=arm-linux-strip
+---
+> #CC=arm-linux-gcc
+> #STRIP=arm-linux-strip
+64,70c79,85
+< CFLAGS += -march=armv4 -mtune=strongarm
+< CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
+< LIBS += -L/skiff/local/arm-linux/lib -L/skiff/local/arm-linux/lib/X11
+< LIBS += -lgpewidget -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoxft-1.0
+< LIBS += -lpangox-1.0 -lpango-1.0 -lgdk_pixbuf-2.0 -lm -lgobject-2.0
+< LIBS += -lgmodule-2.0 -ldl -lglib-2.0 -lXinerama
+< LIBS += -lX11 -lXext -lXrender -lgdk-x11-2.0
+---
+> #CFLAGS += -march=armv4 -mtune=strongarm
+> #CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
+> #LIBS += -L/skiff/local/arm-linux/lib -L/skiff/local/arm-linux/lib/X11
+> #LIBS += -lgpewidget -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoxft-1.0
+> #LIBS += -lpangox-1.0 -lpango-1.0 -lgdk_pixbuf-2.0 -lm -lgobject-2.0
+> #LIBS += -lgmodule-2.0 -ldl -lglib-2.0 -lXinerama
+> #LIBS += -lX11 -lXext -lXrender -lgdk-x11-2.0
+74d88
+< CPPFLAGS += -I.
+111c125
+< CFLAGS += -D PACKAGETOOL
+---
+> PACKAGE_CFLAGS += -D PACKAGETOOL
+170c184
+< $(CC) -g -o $@ $(OBJS) $(LIBS)
+---
+> $(CC) -g -o $@ $(OBJS) $(LDFLAGS) $(PACKAGE_LDFLAGS)
+175c189
+< $(CC) -g -o $@ $(OBJS_INFO) $(LIBS)
+---
+> $(CC) -g -o $@ $(OBJS_INFO) $(LDFLAGS) $(PACKAGE_LDFLAGS)
diff --git a/gpe-conf/gpe-conf-0.1.8/sysinfo-segfault.patch b/gpe-conf/gpe-conf-0.1.8/sysinfo-segfault.patch
index e69de29bb2..b0396bece1 100644
--- a/gpe-conf/gpe-conf-0.1.8/sysinfo-segfault.patch
+++ b/gpe-conf/gpe-conf-0.1.8/sysinfo-segfault.patch
@@ -0,0 +1,21 @@
+Index: sysinfo.c
+===================================================================
+RCS file: /cvs/gpe/base/gpe-conf/sysinfo.c,v
+retrieving revision 1.9
+diff -r1.9 sysinfo.c
+91c91
+< GError *err;
+---
+> GError *err = NULL;
+126c126
+< GError *err;
+---
+> GError *err = NULL;
+188c188
+< GError *err;
+---
+> GError *err = NULL;
+204c204
+< GError *err;
+---
+> GError *err = NULL;
diff --git a/gpe-conf/gpe-conf_makefile.patch b/gpe-conf/gpe-conf_makefile.patch
index e69de29bb2..7f1017de64 100644
--- a/gpe-conf/gpe-conf_makefile.patch
+++ b/gpe-conf/gpe-conf_makefile.patch
@@ -0,0 +1,118 @@
+diff -urN gpe-conf-0.1.7.orig/Makefile gpe-conf-0.1.7/Makefile
+--- gpe-conf-0.1.7.orig/Makefile 2004-03-19 20:38:33.000000000 +1100
++++ gpe-conf-0.1.7/Makefile 2004-04-30 12:39:59.000000000 +1000
+@@ -25,27 +25,28 @@
+ gpe-conf-users.desktop.in \
+ gpe-conf-sysinfo.desktop.in
+
++PACKAGE_CFLAGS = `pkg-config --cflags gtk+-2.0 gdk-2.0 gdk-pixbuf-2.0 libgpewidget x11 xrandr xext xft xau xrandr`
++PACKAGE_LDFLAGS = `pkg-config --libs gtk+-2.0 gdk-2.0 gdk-pixbuf-2.0 libgpewidget x11 xrandr xext xft xau xrandr`
++PACKAGE_LDFLAGS += -lexpat
++
+ ifeq ($(CVSBUILD),yes)
+-LIBS += -L../libgpewidget -L../libxsettings -L../libxsettings-client -L../libdotdesktop -L.
+-CFLAGS += -Wall -I../libgpewidget -I../libxsettings-client -I../libxsettings -I../libdotdesktop
++PACKAGE_LDFLAGS += -L../libxsettings -L../libxsettings-client -L../libdotdesktop -L.
++PACKAGE_CFLAGS += -Wall -I../libxsettings-client -I../libxsettings -I../libdotdesktop
+ BUILD = ../build
+ else
+-CFLAGS += -I/usr/local/include/gpe -Wall
++PACKAGE_CFLAGS += -I/usr/local/include/gpe -Wall
+ BUILD = build
+ endif
+
+ ifeq ($(DEBUG),yes)
+-CFLAGS += -g -DDEBUG
++PACKAGE_CFLAGS += -g -DDEBUG
+ else
+-CFLAGS += -Os -fomit-frame-pointer
++PACKAGE_CFLAGS += -Os -fomit-frame-pointer
+ endif
+
+-LIBS += -lXsettings -lXsettings-client -lcrypt
+-CFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE
+-CFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
+-
+-GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
+-GTKLDFLAGS += `pkg-config --libs gtk+-2.0 gdk-2.0`
++PACKAGE_LDFLAGS += -lXsettings -lXsettings-client -lcrypt
++PACKAGE_CPPFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE
++PACKAGE_CPPFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
+
+ # setup how to compile
+ ifeq ($(NATIVE),yes)
+@@ -53,21 +54,19 @@
+ STRIP=strip
+ CC=gcc
+
+-CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
+-LIBS += -lgpewidget `pkg-config --libs gtk+-2.0 gdk-pixbuf-2.0` -ldotdesktop
+-
+ else # we do cross-compile...
+
+ CC=arm-linux-gcc
+ STRIP=arm-linux-strip
+
+-CFLAGS += -march=armv4 -mtune=strongarm
+-CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
+-LIBS += -L/skiff/local/arm-linux/lib -L/skiff/local/arm-linux/lib/X11
+-LIBS += -lgpewidget -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoxft-1.0
+-LIBS += -lpangox-1.0 -lpango-1.0 -lgdk_pixbuf-2.0 -lm -lgobject-2.0
+-LIBS += -lgmodule-2.0 -ldl -lglib-2.0 -ldotdesktop -lXinerama
+-LIBS += -lX11 -lXext -lXrender -lgdk-x11-2.0
++# PACKAGE_CFLAGS += -march=armv4 -mtune=strongarm
++PACKAGE_CFLAGS += `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` -Wall
++
++PACKAGE_LDFLAGS += -lgpewidget -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0
++PACKAGE_LDFLAGS += -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgdk_pixbuf-2.0
++PACKAGE_LDFLAGS += -lm -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
++PACKAGE_LDFLAGS += -ldotdesktop -lXinerama -lX11 -lXext -lXrender
++PACKAGE_LDFLAGS += -lgdk-x11-2.0
+
+ endif #native or cross-compile
+
+@@ -77,21 +76,17 @@
+ MEMBERS += misc
+ MEMBERS += unimplemented
+ MEMBERS += timeanddate
+-MEMBERS += appmgr_setup ../gpe-appmgr/package
+-MEMBERS += ipaqscreen/main ipaqscreen/brightness ipaqscreen/rotation ipaqscreen/calibrate ipaqscreen/callbacks ipaqscreen/xset
+ MEMBERS += kbd
+ MEMBERS += network
+ MEMBERS += theme
+ MEMBERS += keyctl
+ MEMBERS += ownerinfo
+ MEMBERS += login-setup
+-MEMBERS += sleep/main sleep/interface sleep/callbacks sleep/conf sleep/confGUI
+ MEMBERS += users/interface users/callbacks
+ MEMBERS += cfgfile
+ MEMBERS += gpe-admin
+ MEMBERS += widgets/sp-color-slider
+ MEMBERS += serial
+-MEMBERS += cardinfo
+ MEMBERS += tools/interface
+ MEMBERS += tasks
+
+@@ -99,7 +94,6 @@
+ MEMBERS_INFO += storage
+ MEMBERS_INFO += logread
+ MEMBERS_INFO += tools/interface
+-MEMBERS_INFO += battery
+ MEMBERS_INFO += sysinfo
+ MEMBERS_INFO += parser
+
+@@ -167,12 +161,12 @@
+ all: $(PACKAGE) gpe-info
+
+ $(PACKAGE): $(OBJS)
+- $(CC) -g -o $@ $(OBJS) $(LIBS)
++ $(CC) -g -o $@ $(OBJS) ${PACKAGE_LDFLAGS} $(LIBS)
+ cp $(PACKAGE) gpe-conf.pc
+ $(STRIP) $(PACKAGE)
+
+ gpe-info: $(OBJS_INFO)
+- $(CC) -g -o $@ $(OBJS_INFO) $(LIBS)
++ $(CC) -g -o $@ $(OBJS_INFO) ${PACKAGE_LDFLAGS} $(LIBS)
+ $(STRIP) gpe-info
+
+ install-program: all all-desktop