summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorThibault Guittet2015-06-14 16:25:14 +0200
committerThibault Guittet2015-06-14 16:25:14 +0200
commitdec2f1dc8b3166e2777c15267351eb3b88e71a77 (patch)
treecf3df180fbc3690a2ce49ac5964f86a19101d47b
downloadaur-dec2f1dc8b3166e2777c15267351eb3b88e71a77.tar.gz
Initial import
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD32
-rw-r--r--pull_request_14.patch96
3 files changed, 147 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..8a36f8d40041
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = connman-ncurses-git
+ pkgdesc = Simple ncurses UI for ConnMan
+ pkgver = 20150614
+ pkgrel = 1
+ url = https://github.com/eurogiciel-oss/connman-json-client
+ arch = any
+ license = GPL2
+ makedepends = git
+ depends = json-c
+ depends = ncurses
+ depends = connman
+ provides = connman-ncurses=20150614
+ source = git://github.com/eurogiciel-oss/connman-json-client.git
+ source = pull_request_14.patch
+ sha256sums = SKIP
+ sha256sums = ab14231b763d67eb0767da0600cbe5c9e94bbedfa52d374a12c374706887da41
+
+pkgname = connman-ncurses-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..9d01cf7c7844
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Thibault Guittet <guittet dot thibault at gmail dot com>
+_pkgname=connman-ncurses
+pkgname=$_pkgname-git
+pkgver=20150614
+pkgrel=1
+pkgdesc="Simple ncurses UI for ConnMan"
+arch=('any')
+url="https://github.com/eurogiciel-oss/connman-json-client"
+license=('GPL2')
+depends=('json-c' 'ncurses' 'connman')
+makedepends=('git')
+provides=("$_pkgname=$pkgver")
+source=("git://github.com/eurogiciel-oss/connman-json-client.git"
+ "pull_request_14.patch")
+sha256sums=("SKIP"
+ "ab14231b763d67eb0767da0600cbe5c9e94bbedfa52d374a12c374706887da41")
+
+_gitroot="connman-json-client"
+
+prepare() {
+ cd "$srcdir/$_gitroot"
+ patch -p1 -i $srcdir/pull_request_14.patch
+}
+
+build() {
+ cd "$srcdir/$_gitroot"
+ ./run-me.sh
+}
+
+package() {
+ install -Dm733 "$srcdir/$_gitroot/connman_ncurses" "$pkgdir/usr/bin/$_pkgname"
+}
diff --git a/pull_request_14.patch b/pull_request_14.patch
new file mode 100644
index 000000000000..1e7dec06a094
--- /dev/null
+++ b/pull_request_14.patch
@@ -0,0 +1,96 @@
+From 1722b1b196acb0d8d30f08a4677791f2f66f605f Mon Sep 17 00:00:00 2001
+From: Thibault Guittet <guittet.thibault[at]gmail.com>
+Date: Wed, 13 May 2015 17:37:51 +0200
+Subject: [PATCH 1/2] Address Sanitizer detected a memory leak in main_items
+
+---
+ configure.ac | 8 ++++++++
+ renderers.c | 12 ++++++++++++
+ run-me.sh | 2 +-
+ 3 files changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index fa521e7..7e3307f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -41,6 +41,14 @@ AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug],
+ fi
+ ])
+
++AC_ARG_ENABLE(asan, AC_HELP_STRING([--enable-asan],
++ [enable Address Sanitizer]), [
++ if (test "${enableval}" = "yes" &&
++ test "${ac_cv_prog_cc_g}" = "yes"); then
++ CFLAGS="$CFLAGS -g -fsanitize=address -fno-omit-frame-pointer"
++ fi
++])
++
+ AC_CONFIG_HEADERS([config.h:config.h.in])
+
+ PKG_CHECK_MODULES(JSON, [json-c],,
+diff --git a/renderers.c b/renderers.c
+index 14e4783..7793008 100644
+--- a/renderers.c
++++ b/renderers.c
+@@ -763,6 +763,7 @@ void __renderers_free_services(void)
+ {
+ int i;
+ struct userptr_data *data;
++ const char *item_name_desc = NULL;
+
+ if (main_menu == NULL)
+ return;
+@@ -774,6 +775,17 @@ void __renderers_free_services(void)
+ free((void *) data->dbus_name);
+ free((void *) data->pretty_name);
+ free(data);
++
++ item_name_desc = item_name(main_items[i]);
++
++ if (item_name_desc != NULL)
++ free((void *) item_name_desc);
++
++ item_name_desc = item_description(main_items[i]);
++
++ if (item_name_desc != NULL)
++ free((void *) item_name_desc);
++
+ free_item(main_items[i]);
+ }
+
+diff --git a/run-me.sh b/run-me.sh
+index 65b3f14..c4281d1 100755
+--- a/run-me.sh
++++ b/run-me.sh
+@@ -2,6 +2,6 @@
+
+ autoreconf -i -f
+
+-./configure --disable-optimization --enable-debug #--disable-silent-rules
++./configure --disable-optimization --enable-debug #--enable-asan --disable-silent-rules
+
+ make -B
+
+From f9243375fc19feeb76f7f3ca108e23d5c2106a09 Mon Sep 17 00:00:00 2001
+From: Thibault Guittet <alan-mushi@users.noreply.github.com>
+Date: Thu, 14 May 2015 13:09:23 +0200
+Subject: [PATCH 2/2] Wrong keyword
+
+Not detected previously because FIELD and ITEM have the same size.
+---
+ renderers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/renderers.c b/renderers.c
+index 7793008..c531a1e 100644
+--- a/renderers.c
++++ b/renderers.c
+@@ -507,7 +507,7 @@ static void renderers_service_config(struct json_object *serv_array)
+ json_object_array_get_idx(serv_array, 0));
+
+ longest_key_len = 25 + 4; // len("Nameservers.Configuration") + padding
+- main_fields = malloc(sizeof(ITEM *) * max_nb_fields); // 113 = #fields + #labels + 1
++ main_fields = malloc(sizeof(FIELD *) * max_nb_fields); // 113 = #fields + #labels + 1
+ i = 0;
+
+ str_field[0] = '\0';