[ptxdist] [PATH] usb-modeswitch-data: new package

2016-02-03 Thread Ladislav Michl
Signed-off-by: Ladislav Michl 
---
Notes:
 - needs tcl on host, but... anyone seen note in rules/tcl.in?
 - colons in filenames, something to be solved...

 usb-modeswitch-data.in   |   10 ++
 usb-modeswitch-data.make |   70 +++
 2 files changed, 80 insertions(+)

diff --git a/rules/usb-modeswitch-data.in b/rules/usb-modeswitch-data.in
new file mode 100644
index 000..ffaacda
--- /dev/null
+++ b/rules/usb-modeswitch-data.in
@@ -0,0 +1,10 @@
+## SECTION=shell_and_console
+
+config USB_MODESWITCH_DATA
+   tristate
+   prompt "usb-modeswitch-data"
+   depends on USB_MODESWITCH && UDEV
+   help
+ Device database and udev rules file for USB_ModeSwitch.
+
+# vim: set sw=8 ts=8 noet ft=kconfig:
diff --git a/rules/usb-modeswitch-data.make b/rules/usb-modeswitch-data.make
new file mode 100644
index 000..6b12898
--- /dev/null
+++ b/rules/usb-modeswitch-data.make
@@ -0,0 +1,70 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2016 by Ladislav Michl 
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_USB_MODESWITCH_DATA) += usb-modeswitch-data
+
+#
+# Paths and names
+#
+USB_MODESWITCH_DATA_VERSION:= 20160112
+USB_MODESWITCH_DATA_MD5:= 040d11138fc0a61b980d704ac3b4547f
+USB_MODESWITCH_DATA:= 
usb-modeswitch-data-$(USB_MODESWITCH_DATA_VERSION)
+USB_MODESWITCH_DATA_SUFFIX := tar.bz2
+USB_MODESWITCH_DATA_URL:= 
http://www.draisberghof.de/usb_modeswitch/$(USB_MODESWITCH_DATA).$(USB_MODESWITCH_DATA_SUFFIX)
+USB_MODESWITCH_DATA_SOURCE := 
$(SRCDIR)/$(USB_MODESWITCH_DATA).$(USB_MODESWITCH_DATA_SUFFIX)
+USB_MODESWITCH_DATA_DIR:= $(BUILDDIR)/$(USB_MODESWITCH_DATA)
+USB_MODESWITCH_DATA_LICENSE:= GPL-2.0
+
+
+# 
+# Nothing to Compile
+# 
+$(STATEDIR)/usb-modeswitch-data.compile:
+   @$(call targetinfo)
+   @$(call touch)
+
+
+# 
+# Prepare
+# 
+
+USB_MODESWITCH_DATA_CONF_TOOL  := NO
+USB_MODESWITCH_DATA_MAKE_ENV   := $(CROSS_ENV)
+USB_MODESWITCH_DATA_INSTALL_OPT:= db-install
+
+
+# 
+# Target-Install
+# 
+$(STATEDIR)/usb-modeswitch-data.targetinstall:
+   @$(call targetinfo)
+
+   @$(call install_init, usb-modeswitch-data)
+   @$(call install_fixup, usb-modeswitch-data,PRIORITY,optional)
+   @$(call install_fixup, usb-modeswitch-data,SECTION,base)
+   @$(call install_fixup, usb-modeswitch-data,AUTHOR,"Ladislav Michl 
")
+   @$(call install_fixup, usb-modeswitch-data,DESCRIPTION,missing)
+
+   @$(call install_copy, usb-modeswitch-data, 0, 0, 0644, -, \
+/lib/udev/rules.d/40-usb_modeswitch.rules)
+
+   @cd $(USB_MODESWITCH_DATA_PKGDIR) && \
+   for f in `find usr/share/usb_modeswitch/ -type f`; do \
+   $(call install_copy, usb-modeswitch-data, 0, 0, 0644, -, /$$f); 
\
+   done
+
+   @$(call install_finish, usb-modeswitch-data)
+
+   @$(call touch)
+
+# vim: syntax=make

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [RFC] Colons in filenames

2016-02-03 Thread Ladislav Michl
On Fri, Jan 22, 2016 at 09:06:36AM +0100, Michael Olbrich wrote:
> On Fri, Jan 22, 2016 at 01:31:37AM +0100, Ladislav Michl wrote:
> > Now I'm going to be honest. Previous patch 'Add usb-modeswitch-data package'
> > break things - 'ptxdist images' fails as ':' is used as delimiter in perms 
> > file.
> > Patch bellow escapes semicolon on producer side, anyone cares about 
> > consumer?
> 
> This does not work well with IFS in bash and FS in awk. but I think we can
> switch different character. Maybe a vertical tab?

Well, I did not give up 'escaping idea' yet. What about something like this?
(awk part could be done better)

diff --git a/scripts/lib/ptxd_lib_dopermissions.awk 
b/scripts/lib/ptxd_lib_dopermissions.awk
index 336948c..17ee1b6 100755
--- a/scripts/lib/ptxd_lib_dopermissions.awk
+++ b/scripts/lib/ptxd_lib_dopermissions.awk
@@ -5,13 +5,29 @@ BEGIN {
 }
 
 $1 ~ "f" {
-   printf("chmod %s'.%s' &&\n" \
-  "chown %s.%s '.%s' &&\n", \
-  $5, $2, $3, $4, $2);
+   path = $2;
+   for (i = 3; i <= NF; i++) {
+   if (substr(path, length(path), 1) == "\\")
+   path = substr(path, 1, length(path) - 1) ":" $i;
+   else {
+   printf("chmod %s'.%s' &&\n" \
+  "chown %s.%s '.%s' &&\n", \
+  $(i+2), path, $i, $(i+1), path);
+   break;
+   }
+   }
 }
 
 $1 ~ "n" {
-   printf("mknod -m %s '.%s'   %s %s %s &&\n" \
-  "chown %s.%s '.%s' &&\n", \
-  $5, $2, $6, $7, $8, $3, $4, $2);
+   path = $2;
+   for (i = 3; i <= NF; i++) {
+   if (substr(path, length(path), 1) == "\\")
+   path = substr(path, 1, length(path) - 1) ":" $i;
+   else {
+   printf("mknod -m %s '.%s'   %s %s %s &&\n" \
+  "chown %s.%s '.%s' &&\n", \
+  $(i+2), path, $(i+3), $(i+4), $(i+5), $i, 
$(i+1), path);
+   break;
+   }
+   }
 }
diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh 
b/scripts/lib/ptxd_make_xpkg_pkg.sh
index 5ba404e..01ce361 100644
--- a/scripts/lib/ptxd_make_xpkg_pkg.sh
+++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
@@ -210,7 +210,7 @@ install directory:
 install -m "${mod_nfs}" -d "${ndirs[@]/%/${dir}}" &&
 install -m "${mod}" -o "${usr}" -g "${grp}" -d "${pdirs[@]/%/${dir}}" &&
 
-echo "f:${dir}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}" ||
+echo "f:${dir//:/\\:}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}" ||
 ptxd_install_error "install_dir failed!"
 }
 export -f ptxd_install_dir
@@ -343,7 +343,7 @@ Usually, just remove the 6th parameter and everything works 
fine.
 # now change to requested user and group
 chown "${usr}:${grp}" "${pdirs[@]/%/${dst}}" &&
 
-echo "f:${dst}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}"
+echo "f:${dst//:/\\:}:${usr}:${grp}:${mod}" >> "${pkg_xpkg_perms}"
 }
 export -f ptxd_install_file_impl
 
@@ -414,7 +414,7 @@ install device node:
 done &&
 chown "${usr}:${grp}" "${pdirs[@]/%/${dst}}" &&
 
-echo "n:${dst}:${usr}:${grp}:${mod}:${type}:${major}:${minor}" >> 
"${pkg_xpkg_perms}"
+echo "n:${dst//:/\\:}:${usr}:${grp}:${mod}:${type}:${major}:${minor}" >> 
"${pkg_xpkg_perms}"
 }
 export -f ptxd_install_mknod
 

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] iproute2: bump version to 4.4

2016-02-03 Thread Clemens Gruber
Signed-off-by: Clemens Gruber 
---
 rules/iproute2.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/iproute2.make b/rules/iproute2.make
index c50be6c..b6045b9 100644
--- a/rules/iproute2.make
+++ b/rules/iproute2.make
@@ -17,8 +17,8 @@ PACKAGES-$(PTXCONF_IPROUTE2) += iproute2
 #
 # Paths and names
 #
-IPROUTE2_VERSION   := 4.2.0
-IPROUTE2_MD5   := 51c54cc3245eff451154938fbc0f64f5
+IPROUTE2_VERSION   := 4.4.0
+IPROUTE2_MD5   := d762653ec3e1ab0d4a9689e169ca184f
 IPROUTE2   := iproute2-$(IPROUTE2_VERSION)
 IPROUTE2_SUFFIX:= tar.xz
 IPROUTE2_URL   := $(call ptx/mirror, KERNEL, 
utils/net/iproute2/$(IPROUTE2).$(IPROUTE2_SUFFIX))
-- 
2.7.0


___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [PATCH] js: version bump 1.9.2.16 -> 38.2.1.rc0

2016-02-03 Thread Ladislav Michl
Signed-off-by: Ladislav Michl 
---
 
patches/mozjs-38.2.1.rc0/0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch 
 |  121 
 
patches/mozjs-38.2.1.rc0/0002-Only-use-PYTHON-after-defined-by-MOZ_PYTHON-hack.patch
 |  139 ++
 patches/mozjs-38.2.1.rc0/series
  |2
 rules/js.in
  |   16 -
 rules/js.make  
  |  131 ++---
 5 files changed, 299 insertions(+), 110 deletions(-)

diff --git 
a/patches/mozjs-38.2.1.rc0/0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch
 
b/patches/mozjs-38.2.1.rc0/0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch
new file mode 100644
index 000..ba92213
--- /dev/null
+++ 
b/patches/mozjs-38.2.1.rc0/0001-Only-use-PYTHON-after-defined-by-MOZ_PYTHON.patch
@@ -0,0 +1,121 @@
+From 134aa1ace07fa9c78a8d93666a8bc46eeb31afe6 Mon Sep 17 00:00:00 2001
+From: Sean Stangl 
+Date: Fri, 20 Mar 2015 15:19:43 -0700
+Subject: [PATCH 1/2] Only use $PYTHON after defined by MOZ_PYTHON.
+
+---
+ js/src/configure.in | 91 +++--
+ 1 file changed, 46 insertions(+), 45 deletions(-)
+
+diff --git a/js/src/configure.in b/js/src/configure.in
+index 82ef78a..b0140a3 100644
+--- a/js/src/configure.in
 b/js/src/configure.in
+@@ -233,51 +233,6 @@ else
+ MOZ_ANDROID_NDK
+ fi
+ 
+-dnl ==
+-dnl Get mozilla version from central milestone file
+-dnl ==
+-MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py 
--topsrcdir $srcdir`
+-MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py 
--topsrcdir $srcdir --uaversion`
+-MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py 
--topsrcdir $srcdir --symbolversion`
+-
+-AC_DEFINE_UNQUOTED(MOZILLA_VERSION,"$MOZILLA_VERSION")
+-AC_DEFINE_UNQUOTED(MOZILLA_VERSION_U,$MOZILLA_VERSION)
+-AC_DEFINE_UNQUOTED(MOZILLA_UAVERSION,"$MOZILLA_UAVERSION")
+-AC_SUBST(MOZILLA_SYMBOLVERSION)
+-
+-# Separate version into components for use in shared object naming etc
+-changequote(,)
+-MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed 
"s|\(^[0-9]*\)\.[0-9]*.*|\1|"`
+-MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed 
"s|^[0-9]*\.\([0-9]*\).*|\1|"`
+-MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"`
+-IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'`
+-
+-dnl XXX in a temporary bid to avoid developer anger at renaming files
+-dnl XXX before "js" symlinks exist, don't change names.
+-dnl
+-dnl if test -n "$JS_STANDALONE"; then
+-dnl JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION
+-dnl JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config
+-dnl else
+-JS_SHELL_NAME=js
+-JS_CONFIG_NAME=js-config
+-dnl fi
+-
+-changequote([,])
+-if test -n "$IS_ALPHA"; then
+-  changequote(,)
+-  MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed 
"s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"`
+-  changequote([,])
+-fi
+-AC_DEFINE_UNQUOTED(MOZJS_MAJOR_VERSION,$MOZJS_MAJOR_VERSION)
+-AC_DEFINE_UNQUOTED(MOZJS_MINOR_VERSION,$MOZJS_MINOR_VERSION)
+-AC_SUBST(JS_SHELL_NAME)
+-AC_SUBST(JS_CONFIG_NAME)
+-AC_SUBST(MOZJS_MAJOR_VERSION)
+-AC_SUBST(MOZJS_MINOR_VERSION)
+-AC_SUBST(MOZJS_PATCH_VERSION)
+-AC_SUBST(MOZJS_ALPHA)
+-
+ dnl 
+ dnl Checks for compilers.
+ dnl 
+@@ -738,6 +693,52 @@ XCFLAGS="$X_CFLAGS"
+ 
+ fi # COMPILE_ENVIRONMENT
+ 
++dnl ==
++dnl Get mozilla version from central milestone file
++dnl ==
++MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py 
--topsrcdir $srcdir`
++MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py 
--topsrcdir $srcdir --uaversion`
++MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py 
--topsrcdir $srcdir --symbolversion`
++
++AC_DEFINE_UNQUOTED(MOZILLA_VERSION,"$MOZILLA_VERSION")
++AC_DEFINE_UNQUOTED(MOZILLA_VERSION_U,$MOZILLA_VERSION)
++AC_DEFINE_UNQUOTED(MOZILLA_UAVERSION,"$MOZILLA_UAVERSION")
++AC_SUBST(MOZILLA_SYMBOLVERSION)
++
++# Separate version into components for use in shared object naming etc
++changequote(,)
++MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed 
"s|\(^[0-9]*\)\.[0-9]*.*|\1|"`
++MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed 
"s|^[0-9]*\.\([0-9]*\).*|\1|"`
++MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"`
++IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'`
++
++dnl XXX in a temporary bid to avoid developer anger at renaming files
++dnl XXX before "js" symlinks exist, don't change names.
++dnl
++dnl if test -n "$JS_STANDALONE"; then
++dnl JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION
++dnl JS_CONFIG_NAME=j