Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=90eb58b549ea66a6340f5af6dcf78271c539faa4

commit 90eb58b549ea66a6340f5af6dcf78271c539faa4
Author: James Buren <[email protected]>
Date:   Wed Oct 23 01:27:59 2013 -0500

fvbeutils-0.5-2-x86_64
* apply git patch to test fix for nmconfig crashes on upgrade

diff --git a/source/base/fvbeutils/FrugalBuild 
b/source/base/fvbeutils/FrugalBuild
index 75cab3c..111ed48 100644
--- a/source/base/fvbeutils/FrugalBuild
+++ b/source/base/fvbeutils/FrugalBuild
@@ -3,7 +3,7 @@

pkgname=fvbeutils
pkgver=0.5
-pkgrel=1
+pkgrel=2
pkgdesc="Frugalware Versatile Bootable Environment Utilities"
url="http://frugalware.org";
rodepends=('networkmanager')
@@ -12,8 +12,9 @@ makedepends=('re2c')
groups=('base')
archs=('i686' 'x86_64' 'arm')
up2date="$pkgver"
-source=(http://ftp.frugalware.org/pub/other/fvbe/fvbe-$pkgver.tar.xz)
-sha1sums=('13c0d359d315c54a5c6de5b4c44e306daf67dcad')
+source=(http://ftp.frugalware.org/pub/other/fvbe/fvbe-$pkgver.tar.xz git.patch)
+sha1sums=('13c0d359d315c54a5c6de5b4c44e306daf67dcad' \
+          'b92f4de9d799ffb87e0acc08d79f828bc8ffe6e4')

# These can be removed after 1.9
conflicts=('frugalwareutils')
diff --git a/source/base/fvbeutils/git.patch b/source/base/fvbeutils/git.patch
new file mode 100644
index 0000000..194c16b
--- /dev/null
+++ b/source/base/fvbeutils/git.patch
@@ -0,0 +1,110 @@
+diff --git a/src/local.h b/src/local.h
+index b4d7e06..5686ce9 100644
+--- a/src/local.h
++++ b/src/local.h
+@@ -42,6 +42,7 @@
+ #include <locale.h>
+ #include <time.h>
+ #include <dirent.h>
++#include <signal.h>
+ #include <libgen.h>
+ #include <search.h>
+ #include <blkid.h>
+diff --git a/src/nmconfig.c b/src/nmconfig.c
+index d5cf753..7ebfacb 100644
+--- a/src/nmconfig.c
++++ b/src/nmconfig.c
+@@ -21,6 +21,36 @@ static struct nmdevice **nmdevices = 0;
+ static struct nmprofile **nmprofiles = 0;
+ static char *pname = 0;
+
++static bool nm_is_running(void)
++{
++  FILE *pipe = 0;
++  char line[LINE_MAX] = {0};
++  char *p = 0;
++
++  if((pipe = popen("LC_ALL=C nmcli -t -m tabular -f RUNNING -e yes nm 
2>&1","r")) == 0)
++  {
++    error(strerror(errno));
++    return false;
++  }
++
++  if(fgets(line,sizeof(line),pipe) == 0)
++  {
++    pclose(pipe);
++    return false;
++  }
++
++  if(pclose(pipe) == -1)
++  {
++    error(strerror(errno));
++    return false;
++  }
++
++  if((p = strchr(line,'\n')) != 0)
++    *p = 0;
++
++  return (strcmp(line,"running") == 0);
++}
++
+ static inline const char *nm_next_token(const char *p)
+ {
+   char c1 = 0;
+@@ -313,6 +343,14 @@ static void nmprofile_free(struct nmprofile *p)
+   free(p);
+ }
+
++static bool nmconfig_start_service(void)
++{
++  if(nm_is_running())
++    return true;
++
++  return execute("systemctl restart NetworkManager.service",g->hostroot,0);
++}
++
+ static bool nmconfig_setup_devices(void)
+ {
+   FILE *pipe = 0;
+@@ -469,6 +507,9 @@ static bool nmconfig_start(void)
+   size_t size = sizeof(entries) / sizeof(*entries);
+   char *entry = 0;
+
++  if(!nmconfig_start_service())
++    return false;
++
+   if(!nmconfig_setup_devices())
+     return false;
+
+diff --git a/src/timeconfig.c b/src/timeconfig.c
+index f84f081..5afa31d 100644
+--- a/src/timeconfig.c
++++ b/src/timeconfig.c
+@@ -97,7 +97,7 @@ static bool update_via_new(const char *zone,bool utc)
+   if(!execute(command,g->guestroot,0))
+     return false;
+
+-  if(!ispathpresent("etc/adjtime",S_IFREG,0644))
++  if(!ispathpresent("etc/adjtime",S_IFREG,0))
+   {
+     strfcpy(command,sizeof(command),"hwclock --systohc %s",(utc) ? "--utc" : 
"--localtime");
+
+diff --git a/src/ui_newt.c b/src/ui_newt.c
+index 1c06fc5..b930143 100644
+--- a/src/ui_newt.c
++++ b/src/ui_newt.c
+@@ -1790,6 +1790,14 @@ extern int ui_main(int argc,char **argv)
+     return code;
+   }
+
++  // Needed to keep SIGWINCH from screwing up system calls.
++  if(siginterrupt(SIGWINCH,false) == -1)
++  {
++    eprintf("Failed to stop SIGWINCH from interrupting system calls.\n");
++    newtFinished();
++    return code;
++  }
++
+   newtGetScreenSize(&w,&h);
+
+   if(w < 80 || h < 24)
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to