#11 Custom Task dir, OpenVG package and data-partion pre-population

Merged
wbx merged 3 commits from ableton-dir/master into oss/master 6 years ago

+ 3 - 2
docs/common-usage.txt

@@ -69,12 +69,14 @@ Environment variables
 OpenADK also honors some environment variables, when they are passed
 to +make+.
 
-* +ADK_APPLIANCE+, the appliance task you want to build 
+* +ADK_APPLIANCE+, the appliance task you want to build
+* +ADK_CUSTOM_TASKS_DIR+, extra directory to fetch tasks from
 * +ADK_TARGET_ARCH+, the architecture of the target system
 * +ADK_TARGET_SYSTEM+, the embedded target system name
 * +ADK_TARGET_LIBC+, the C library for the target system
 * +ADK_VERBOSE+, verbose build, when set to 1
 
+
 An example that creates a configuration file for Raspberry PI with all
 software packages enabled, but not included in the resulting firmware image:
 
@@ -84,4 +86,3 @@ software packages enabled, but not included in the resulting firmware image:
 
 This is often used in the development process of a target system, to verify that
 all packages are compilable.
-

+ 3 - 1
docs/using.txt

@@ -35,7 +35,9 @@ image::openadk-task.png[]
 
 If you want to compile some predefined appliance tasks, you can select it in +Tasks+.
 You can later simply add your own tasks, which is a collection of options, packages,
-kernel modules or features, runtime configuration and more.
+kernel modules or features, runtime configuration and more. They can either be placed
+inside the +tasks+ directory or in your own custom directory that you pass via
++ADK_CUSTOM_TASKS_DIR+ to make.
 
 When you are ready exit and save. You can always redefine the
 configuration using +make menuconfig+.

+ 44 - 0
package/ajstarks-openvg/Makefile

@@ -0,0 +1,44 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+# always use tab spaces as separator, no spaces
+PKG_NAME:=		ajstarks-openvg
+PKG_VERSION:=		a236978e8009c948083bd15b201d8f4ceb3c035d
+PKG_GIT:=		hash
+PKG_RELEASE:=		2
+PKG_DESCR:=		openvg utility library
+PKG_BUILDDEP:=		bcm28xx-vc freetype libjpeg-turbo
+PKG_SECTION:=		libs/video
+PKG_DEPENDS:=		bcm28xx-vc bcm28xx-vc-libs libfreetype libjpeg-turbo
+PKG_URL:=		https://github.com/ajstarks/openvg
+PKG_SITES:=		https://github.com/ajstarks/openvg.git
+
+PKG_SYSTEM_DEPENDS:=	raspberry-pi raspberry-pi2 raspberry-pi3 raspberry-pi3-64
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,AJSTARKS_OPENVG,ajstarks-openvg,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
+
+CONFIG_STYLE:=		manual
+BUILD_STYLE:=		manual
+INSTALL_STYLE:=		manual
+
+do-build:
+	${MAKE} -C ${WRKBUILD} library
+
+# please install all files and directories to the package dir
+
+
+ajstarks-openvg-install:
+	$(INSTALL_DIR) $(IDIR_AJSTARKS_OPENVG)/usr/lib
+	$(INSTALL_BIN) $(WRKBUILD)/lib*.so \
+		$(IDIR_AJSTARKS_OPENVG)/usr/lib
+
+	${INSTALL_DIR} $(STAGING_TARGET_DIR)/usr/include
+	$(CP) $(WRKBUILD)/shapes.h $(STAGING_TARGET_DIR)/usr/include
+	$(CP) $(WRKBUILD)/fontinfo.h $(STAGING_TARGET_DIR)/usr/include
+
+# please remove ALL above comments, before commiting
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk

+ 64 - 0
package/ajstarks-openvg/patches/patch-DejaVuSansMono_inc

@@ -0,0 +1,64 @@
+--- ajstarks-openvg-a236978e8009c948083bd15b201d8f4ceb3c035d.orig/DejaVuSansMono.inc	2017-07-26 14:27:15.000000000 +0200
++++ ajstarks-openvg-a236978e8009c948083bd15b201d8f4ceb3c035d/DejaVuSansMono.inc	2017-07-26 16:45:47.000000000 +0200
+@@ -1,6 +1,6 @@
+ /* Generated by font2openvg. See http://developer.hybrid.fi for more information. */
+ 
+-/* converted from font file /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansMono.ttf */
++/* converted from font file dejavu-fonts-ttf-2.37/ttf/DejaVuSansMono.ttf */
+ /* font family name: DejaVu Sans Mono */
+ /* font style name: Book */
+ 
+@@ -933,8 +933,8 @@ static const int DejaVuSansMono_glyphPoi
+     43088,56480,9312,56480,9312,-10544,4416,-15392,4416,61376,47936,61376,47936,-15392,4416,-15392,9312,-10544,43088,-10544,
+     43088,56480,9312,56480,9312,-10544,4416,-15392,4416,61376,47936,61376,47936,-15392,4416,-15392,9312,-10544,43088,-10544,
+     43088,56480,9312,56480,9312,-10544,4416,-15392,4416,61376,47936,61376,47936,-15392,4416,-15392,9312,-10544,43088,-10544,
+-    43088,56480,9312,56480,9312,-10544,21936,52656,21936,63456,30560,63456,30560,52656,21936,52656,21936,0,21936,27840,
+-    22816,43008,29664,43008,30560,27840,30560,0,21936,0,45088,45776,45088,38464,42240,40160,39480,41096,36720,42032,
++    43088,56480,9312,56480,9312,-10544,21936,36800,21936,47600,30560,47600,30560,36800,21936,36800,21936,-15856,21936,11984,
++    22816,27152,29664,27152,30560,11984,30560,-15856,21936,-15856,45088,45776,45088,38464,42240,40160,39480,41096,36720,42032,
+     34048,42208,34048,5232,36720,5440,39504,6400,42288,7360,45088,9056,45088,1744,41984,432,39224,-296,36464,-1024,
+     34048,-1152,34048,-13296,29664,-13296,29664,-1152,20096,-208,14576,6440,9056,13088,9056,23760,9056,34384,14640,41120,
+     20224,47856,29664,48656,29664,60864,34048,60864,34048,48656,36464,48528,39224,47808,41984,47088,45088,45776,29664,5392,
+@@ -1036,12 +1036,12 @@ static const int DejaVuSansMono_glyphPoi
+     23600,48000,21256,49616,18912,51232,14288,51232,11488,51232,11488,55824,14624,55824,18576,55824,20664,57168,22752,58512,
+     22752,61056,22752,63440,20712,64776,18672,66112,14960,66112,13104,66112,10720,65600,8336,65088,5824,64112,5824,69264,
+     8768,69984,11248,70368,13728,70752,15856,70752,22016,70752,25592,68240,29168,65728,29168,61520,29168,58512,27296,56528,
+-    25424,54544,21856,53744,2160,21424,1152,26016,46192,37152,47344,32560,2160,21424,23328,46416,31408,46416,31408,39872,
+-    31408,35696,30112,32784,28816,29872,25248,26400,21424,22608,18784,20096,17784,18232,16784,16368,16784,14288,16784,10496,
+-    19568,8160,22352,5824,26992,5824,30304,5824,34088,7288,37872,8752,42032,11648,42032,3648,38032,1232,33976,40,
+-    29920,-1152,25504,-1152,17600,-1152,12904,2928,8208,7008,8208,13856,8208,17088,9632,19872,11056,22656,15040,26560,
+-    18784,30224,21632,32944,22440,34728,23248,36512,23248,39184,23248,39232,23248,39392,23328,40368,23328,41184,23328,46416,
+-    31664,52656,23072,52656,23072,63456,31664,63456,31664,52656,26176,55888,17120,23424,35232,23424,26176,55888,20992,63456,
++    25424,54544,21856,53744,2160,21424,1152,26016,46192,37152,47344,32560,2160,21424,23328,30560,31408,30560,31408,24016,
++    31408,19840,30112,16936,28816,14032,25248,10544,21424,6752,18784,4256,17784,2384,16784,512,16784,-1568,16784,-5360,
++    19568,-7696,22352,-10032,26992,-10032,30304,-10032,34088,-8568,37872,-7104,42032,-4208,42032,-12192,38032,-14624,33976,-15816,
++    29920,-17008,25504,-17008,17600,-17008,12904,-12928,8208,-8848,8208,-2000,8208,1232,9632,4016,11056,6800,15040,10704,
++    18784,14368,21632,17088,22440,18872,23248,20656,23248,23328,23248,23376,23248,23552,23328,24528,23328,25328,23328,30560,
++    31664,36800,23072,36800,23072,47600,31664,47600,31664,36800,26176,55888,17120,23424,35232,23424,26176,55888,20992,63456,
+     31408,63456,50832,0,41952,0,37280,16528,15040,16528,10448,0,1568,0,20992,63456,23840,80208,32208,68992,
+     25664,68992,16016,80208,23840,80208,26176,55888,17120,23424,35232,23424,26176,55888,20992,63456,31408,63456,50832,0,
+     41952,0,37280,16528,15040,16528,10448,0,1568,0,20992,63456,28560,80208,36464,80208,26736,68992,20192,68992,
+@@ -1731,10 +1731,10 @@ static const int DejaVuSansMono_glyphPoi
+     19952,7016,22528,5744,26176,5744,29872,5744,32424,7016,34976,8288,36384,10800,37024,11856,37272,13808,37520,15760,
+     37520,20352,37520,63456,46112,63456,46112,24352,46112,14624,44904,10520,43696,6416,40720,3744,37904,1232,34296,0,
+     30688,-1232,26176,-1232,21712,-1232,18104,0,14496,1232,11648,3744,8720,6368,7480,10560,6240,14752,6240,24352,
+-    37872,79104,37872,74224,34488,70824,31104,67424,26176,67424,21296,67424,17912,70824,14528,74224,14528,79104,14528,84000,
+-    17912,87376,21296,90752,26176,90752,31104,90752,34488,87376,37872,84000,37872,79104,32640,79104,32640,81776,30768,83648,
+-    28896,85520,26176,85520,23456,85520,21608,83672,19760,81824,19760,79104,19760,76336,21608,74488,23456,72640,26176,72640,
+-    28896,72640,30768,74512,32640,76384,32640,79104,8288,18016,8288,47520,16112,47520,16112,18016,16112,11600,18384,8584,
++    37872,68864,37872,63984,34488,60584,31104,57184,26176,57184,21296,57184,17912,60584,14528,63984,14528,68864,14528,73760,
++    17912,77136,21296,80512,26176,80512,31104,80512,34488,77136,37872,73760,37872,68864,32640,68864,32640,71536,30768,73408,
++    28896,75280,26176,75280,23456,75280,21608,73432,19760,71584,19760,68864,19760,66096,21608,64248,23456,62400,26176,62400,
++    28896,62400,30768,64272,32640,66144,32640,68864,8288,18016,8288,47520,16112,47520,16112,18016,16112,11600,18384,8584,
+     20656,5568,25408,5568,30944,5568,33872,9456,36800,13344,36800,20608,36800,47520,44672,47520,44672,0,36800,0,
+     36800,7136,34720,3024,31128,896,27536,-1232,22736,-1232,15424,-1232,11856,3552,8288,8336,8288,18016,38896,62720,
+     38896,57840,35512,54440,32128,51040,27200,51040,22320,51040,18936,54440,15552,57840,15552,62720,15552,67616,18936,70992,
+@@ -2211,7 +2211,7 @@ static const int DejaVuSansMono_glyphAdv
+     52400,52400,52400,52400,52400,52400,52400,52400 };
+ 
+ static const int DejaVuSansMono_descender_height = -24064;
+-static const int DejaVuSansMono_font_height = 90752;
++static const int DejaVuSansMono_font_height = 86448;
+ static const int DejaVuSansMono_glyphCount = 468;
+ static const short DejaVuSansMono_characterMap[500] = {
+     -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,

+ 40 - 0
package/ajstarks-openvg/patches/patch-DejaVuSans_inc

@@ -0,0 +1,40 @@
+--- ajstarks-openvg-a236978e8009c948083bd15b201d8f4ceb3c035d.orig/DejaVuSans.inc	2017-07-26 14:27:15.000000000 +0200
++++ ajstarks-openvg-a236978e8009c948083bd15b201d8f4ceb3c035d/DejaVuSans.inc	2017-07-26 16:44:58.000000000 +0200
+@@ -1,6 +1,6 @@
+ /* Generated by font2openvg. See http://developer.hybrid.fi for more information. */
+ 
+-/* converted from font file /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf */
++/* converted from font file dejavu-fonts-ttf-2.37/ttf/DejaVuSans.ttf */
+ /* font family name: DejaVu Sans */
+ /* font style name: Book */
+ 
+@@ -922,8 +922,8 @@ static const int DejaVuSans_glyphPoints[
+     43008,-10544,43008,56480,9216,56480,9216,-10544,4336,-15392,4336,61376,47856,61376,47856,-15392,4336,-15392,9216,-10544,
+     43008,-10544,43008,56480,9216,56480,9216,-10544,4336,-15392,4336,61376,47856,61376,47856,-15392,4336,-15392,9216,-10544,
+     43008,-10544,43008,56480,9216,56480,9216,-10544,4336,-15392,4336,61376,47856,61376,47856,-15392,4336,-15392,9216,-10544,
+-    43008,-10544,43008,56480,9216,56480,9216,-10544,21760,52656,13136,52656,13136,63456,21760,63456,21760,52656,21760,0,
+-    13136,0,13136,27840,14032,43008,20912,43008,21760,27840,21760,0,28816,5568,28816,41952,22560,41184,19080,36384,
++    43008,-10544,43008,56480,9216,56480,9216,-10544,21760,36800,13136,36800,13136,47600,21760,47600,21760,36800,21760,-15856,
++    13136,-15856,13136,11984,14032,27152,20912,27152,21760,11984,21760,-15856,28816,5568,28816,41952,22560,41184,19080,36384,
+     15600,31584,15600,23760,15600,15888,19080,11088,22560,6288,28816,5568,45008,45776,45008,38464,41856,40208,38968,41096,
+     36080,41984,33200,42112,33152,5392,36128,5616,39040,6504,41952,7392,45008,9056,45008,1824,42240,560,39328,-184,
+     36416,-928,33152,-1232,33152,-13296,28816,-13296,28816,-1056,18576,-208,12944,6312,7312,12832,7312,23760,7312,34720,
+@@ -1025,12 +1025,12 @@ static const int DejaVuSans_glyphPoints[
+     5392,63120,8496,63840,11216,64224,13936,64608,16272,64608,22400,64608,25992,62096,29584,59584,29584,55376,29584,52448,
+     27672,50408,25760,48368,22272,47600,69424,30064,56288,12256,69424,12256,69424,30064,68496,35200,75552,35200,75552,12256,
+     81280,12256,81280,7616,75552,7616,75552,-288,69424,-288,69424,7616,51824,7616,51824,12768,68496,35200,58496,64608,
+-    65296,64608,25680,-1232,18880,-1232,58496,64608,21248,46416,29328,46416,29328,39776,29328,35488,28160,32728,26992,29968,
+-    23168,26272,19344,22528,16880,20272,15792,18272,14704,16272,14704,14192,14704,10416,17488,8080,20272,5744,24912,5744,
+-    28224,5744,32048,7232,35872,8720,39952,11568,39952,3568,35952,1152,31872,-40,27792,-1232,23424,-1232,15600,-1232,
+-    10840,2888,6080,7008,6080,13776,6080,17008,7632,19912,9184,22816,12960,26480,16704,30128,18736,32128,19544,33256,
+-    20352,34384,20704,35440,20992,36336,21120,37608,21248,38880,21248,41184,21248,46416,29584,52656,20992,52656,20992,63456,
+-    29584,63456,29584,52656,29744,54992,18112,23424,41440,23424,29744,54992,24912,63456,34640,63456,58816,0,49888,0,
++    65296,64608,25680,-1232,18880,-1232,58496,64608,21248,30560,29328,30560,29328,23920,29328,19632,28160,16872,26992,14112,
++    23168,10416,19344,6672,16880,4416,15792,2424,14704,432,14704,-1664,14704,-5440,17488,-7776,20272,-10112,24912,-10112,
++    28224,-10112,32048,-8624,35872,-7136,39952,-4288,39952,-12288,35952,-14704,31872,-15896,27792,-17088,23424,-17088,15600,-17088,
++    10840,-12968,6080,-8848,6080,-2080,6080,1152,7632,4064,9184,6976,12960,10624,16704,14288,18736,16272,19544,17400,
++    20352,18528,20704,19600,20992,20480,21120,21760,21248,23040,21248,25328,21248,30560,29584,36800,20992,36800,20992,47600,
++    29584,47600,29584,36800,29744,54992,18112,23424,41440,23424,29744,54992,24912,63456,34640,63456,58816,0,49888,0,
+     44112,16272,15520,16272,9728,0,688,0,24912,63456,27024,80208,35344,68992,28848,68992,19072,80208,27024,80208,
+     29744,54992,18112,23424,41440,23424,29744,54992,24912,63456,34640,63456,58816,0,49888,0,44112,16272,15520,16272,
+     9728,0,688,0,24912,63456,31776,80208,39632,80208,29952,68992,23440,68992,31776,80208,29744,54992,18112,23424,

+ 357 - 0
package/ajstarks-openvg/patches/patch-DejaVuSerif_inc

@@ -0,0 +1,357 @@
+--- ajstarks-openvg-a236978e8009c948083bd15b201d8f4ceb3c035d.orig/DejaVuSerif.inc	2017-07-26 14:27:15.000000000 +0200
++++ ajstarks-openvg-a236978e8009c948083bd15b201d8f4ceb3c035d/DejaVuSerif.inc	2017-07-26 16:45:32.000000000 +0200
+@@ -1,10 +1,10 @@
+ /* Generated by font2openvg. See http://developer.hybrid.fi for more information. */
+ 
+-/* converted from font file /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf */
++/* converted from font file dejavu-fonts-ttf-2.37/ttf/DejaVuSerif.ttf */
+ /* font family name: DejaVu Serif */
+ /* font style name: Book */
+ 
+-static const unsigned char DejaVuSerif_glyphInstructions[13960] = {
++static const unsigned char DejaVuSerif_glyphInstructions[13964] = {
+     2,10,10,10,10,10,10,10,10,0,2,4,4,4,4,4,4,0,2,4,
+     4,4,4,0,2,4,4,4,4,0,2,4,4,4,4,0,2,4,4,4,
+     4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+@@ -673,36 +673,37 @@ static const unsigned char DejaVuSerif_g
+     0,2,10,10,10,10,10,10,4,4,10,10,10,10,4,4,10,10,10,10,
+     10,10,10,10,4,4,10,10,10,10,4,10,10,10,10,0,2,10,10,10,
+     10,4,0,2,10,10,10,10,10,10,10,10,4,4,4,4,4,4,4,4,
+-    4,4,4,4,4,10,10,10,10,10,10,10,10,4,4,0,2,4,4,4,
+-    10,10,10,10,10,10,10,10,0,2,4,10,10,10,10,4,4,10,10,10,
+-    10,4,10,10,10,10,10,10,10,10,4,4,4,4,4,4,4,4,0,2,
+-    4,4,4,4,4,4,4,0,2,10,10,10,10,10,10,10,10,4,4,4,
+-    4,4,10,10,10,10,10,10,10,10,4,4,0,2,4,4,4,4,4,4,
+-    4,0,2,4,10,10,10,10,4,4,10,10,10,10,4,10,10,10,10,10,
+-    10,10,10,4,4,4,4,0,2,10,10,10,10,10,10,10,10,4,0,2,
++    4,4,4,4,4,10,10,10,10,10,10,10,10,4,4,0,2,10,10,10,
++    10,10,10,10,10,4,0,2,10,10,10,10,10,10,10,10,4,4,4,4,
++    4,10,4,4,4,10,10,10,10,4,4,4,4,10,4,0,2,10,10,10,
++    10,4,0,2,4,4,4,4,4,4,4,0,2,10,10,10,10,10,10,10,
++    10,4,4,4,4,4,10,10,10,10,10,10,10,10,4,4,0,2,4,4,
++    4,4,4,4,4,0,2,4,10,10,10,10,4,4,10,10,10,10,4,10,
++    10,10,10,10,10,10,10,4,4,4,4,0,2,10,10,10,10,10,10,10,
++    10,4,0,2,4,4,4,4,4,4,4,0,2,4,4,4,4,4,4,4,
++    4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,2,
+     4,4,4,4,4,4,4,0,2,4,4,4,4,4,4,4,4,4,4,4,
+-    4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,2,4,4,4,4,
+-    4,4,4,0,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+-    4,4,4,4,4,4,4,4,4,4,4,0,2,4,4,10,10,10,10,10,
+-    4,10,10,10,10,10,10,0,2,10,10,10,10,10,10,10,10,0,2,10,
+-    10,10,10,10,10,10,10,10,10,10,10,10,10,0,2,4,4,10,10,10,
+-    10,10,4,10,10,10,10,10,10,0,2,10,10,10,10,10,10,10,10,0,
+-    2,10,10,10,10,10,10,10,10,0,2,4,4,4,4,0,2,4,4,10,
++    4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,2,4,4,10,
+     10,10,10,10,4,10,10,10,10,10,10,0,2,10,10,10,10,10,10,10,
+     10,0,2,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,2,4,
+-    4,4,4,0,2,4,4,10,10,10,10,10,4,10,10,10,10,10,10,0,
+-    2,10,10,10,10,10,10,10,10,0,2,10,10,10,10,10,10,10,10,0,
++    4,10,10,10,10,10,4,10,10,10,10,10,10,0,2,10,10,10,10,10,
++    10,10,10,0,2,10,10,10,10,10,10,10,10,0,2,4,4,4,4,0,
++    2,4,4,10,10,10,10,10,4,10,10,10,10,10,10,0,2,10,10,10,
++    10,10,10,10,10,0,2,10,10,10,10,10,10,10,10,10,10,10,10,10,
++    10,0,2,4,4,4,4,0,2,4,4,10,10,10,10,10,4,10,10,10,
++    10,10,10,0,2,10,10,10,10,10,10,10,10,0,2,10,10,10,10,10,
++    10,10,10,0,2,4,4,4,4,4,4,4,0,2,4,4,4,4,4,4,
++    4,4,4,4,4,10,10,10,10,10,10,4,4,10,10,10,10,10,10,0,
+     2,4,4,4,4,4,4,4,0,2,4,4,4,4,4,4,4,4,4,4,
+     4,10,10,10,10,10,10,4,4,10,10,10,10,10,10,0,2,4,4,4,
+-    4,4,4,4,0,2,4,4,4,4,4,4,4,4,4,4,4,10,10,10,
+-    10,10,10,4,4,10,10,10,10,10,10,0,2,4,4,4,4,10,10,10,
+-    10,4,4,10,10,10,10,4,0,2,4,4,4,4,4,4,4,0,2,4,
+-    4,4,4,4,4,4,4,4,4,4,4,4,4,0,2,4,10,10,10,10,
+-    4,4,0,2,4,4,4,4,4,4,10,10,10,10,4,0,2,4,4,4,
+-    4,4,4,4,4,4,4,4,4,4,4,0,2,4,10,10,10,10,4,4,
+-    0,2,4,4,4,4,4,4,10,10,10,10,4,0,2,4,4,4,4,4,
+-    4,4,4,4,4,4,4,4,4,0,2,4,4,4,4,10,10,10,10,10,
+-    10,10,10,4,4,4,4,4,0,2,4,10,10,10,10,10,10,10,10,0 };
++    4,10,10,10,10,4,4,10,10,10,10,4,0,2,4,4,4,4,4,4,
++    4,0,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,2,4,
++    10,10,10,10,4,4,0,2,4,4,4,4,4,4,10,10,10,10,4,0,
++    2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,2,4,10,10,
++    10,10,4,4,0,2,4,4,4,4,4,4,10,10,10,10,4,0,2,4,
++    4,4,4,4,4,4,4,4,4,4,4,4,4,0,2,4,4,4,4,10,
++    10,10,10,10,10,10,10,4,4,4,4,4,0,2,4,10,10,10,10,10,
++    10,10,10,0 };
+ static const int DejaVuSerif_glyphInstructionIndices[468] = {
+     0,0,18,30,66,110,156,202,208,220,232,252,266,275,281,291,297,317,330,354,
+     387,409,435,465,476,514,544,564,583,592,604,613,642,700,723,758,781,803,829,853,
+@@ -726,8 +727,8 @@ static const int DejaVuSerif_glyphInstru
+     10803,10846,10873,10901,10931,10973,11009,11050,11085,11115,11154,11193,11225,11257,11273,11304,11337,11357,11388,11411,
+     11451,11491,11521,11546,11572,11604,11628,11652,11679,11706,11733,11757,11788,11816,11844,11872,11896,11902,11914,11936,
+     11948,11995,12042,12097,12132,12175,12214,12255,12304,12359,12391,12435,12458,12479,12514,12543,12576,12609,12659,12709,
+-    12759,12809,12862,12915,12965,13015,13039,13088,13149,13188,13239,13285,13343,13376,13419,13453,13499,13535,13572,13614,
+-    13650,13698,13740,13776,13812,13838,13876,13914 };
++    12759,12809,12862,12915,12965,13015,13039,13088,13149,13188,13239,13285,13343,13376,13423,13457,13503,13539,13576,13618,
++    13654,13702,13744,13780,13816,13842,13880,13918 };
+ static const int DejaVuSerif_glyphInstructionCounts[468] = {
+     0,18,12,36,44,46,46,6,12,12,20,14,9,6,10,6,20,13,24,33,
+     22,26,30,11,38,30,20,19,9,12,9,29,58,23,35,23,22,26,24,25,
+@@ -751,7 +752,7 @@ static const int DejaVuSerif_glyphInstru
+     43,27,28,30,42,36,41,35,30,39,39,32,32,16,31,33,20,31,23,40,
+     40,30,25,26,32,24,24,27,27,27,24,31,28,28,28,24,6,12,22,12,
+     47,47,55,35,43,39,41,49,55,32,44,23,21,35,29,33,33,50,50,50,
+-    50,53,53,50,50,24,49,61,39,51,46,58,33,43,34,46,36,37,42,36,
++    50,53,53,50,50,24,49,61,39,51,46,58,33,47,34,46,36,37,42,36,
+     48,42,36,36,26,38,38,46 };
+ 
+ static const int DejaVuSerif_glyphPointIndices[468] = {
+@@ -777,9 +778,9 @@ static const int DejaVuSerif_glyphPointI
+     14289,14347,14381,14416,14465,14537,14597,14666,14722,14762,14823,14872,14927,14982,14997,15048,15095,15118,15164,15194,
+     15251,15308,15357,15395,15426,15473,15496,15519,15557,15595,15633,15666,15708,15748,15787,15826,15856,15861,15871,15892,
+     15902,15953,16004,16071,16112,16168,16220,16267,16329,16405,16434,16495,16516,16535,16589,16631,16670,16709,16779,16849,
+-    16919,16989,17062,17135,17205,17275,17313,17373,17465,17508,17583,17626,17716,17764,17829,17877,17944,17978,18013,18085,
+-    18145,18222,18287,18333,18379,18411,18454,18497 };
+-static const int DejaVuSerif_glyphPoints[18556*2] = {
++    16919,16989,17062,17135,17205,17275,17313,17373,17465,17508,17583,17626,17716,17764,17834,17882,17949,17983,18018,18090,
++    18150,18227,18292,18338,18384,18416,18459,18502 };
++static const int DejaVuSerif_glyphPoints[18561*2] = {
+     11856,4416,11856,6800,13472,8456,15088,10112,17504,10112,19840,10112,21504,8456,23168,6800,23168,4416,23168,2080,
+     21504,424,19840,-1232,17504,-1232,15088,-1232,13472,408,11856,2048,11856,4416,12032,63456,22992,63456,20096,28560,
+     20096,17856,14880,17856,14880,28560,12032,63456,15296,63456,15296,39872,8544,39872,8544,63456,15296,63456,31488,63456,
+@@ -1100,9 +1101,9 @@ static const int DejaVuSerif_glyphPoints
+     9216,-10544,4336,-15392,4336,61376,47856,61376,47856,-15392,4336,-15392,9216,-10544,43008,-10544,43008,56480,9216,56480,
+     9216,-10544,4336,-15392,4336,61376,47856,61376,47856,-15392,4336,-15392,9216,-10544,43008,-10544,43008,56480,9216,56480,
+     9216,-10544,4336,-15392,4336,61376,47856,61376,47856,-15392,4336,-15392,9216,-10544,43008,-10544,43008,56480,9216,56480,
+-    9216,-10544,11856,59040,11856,61408,13472,63048,15088,64688,17504,64688,19840,64688,21504,63032,23168,61376,23168,59040,
+-    23168,56656,21504,55000,19840,53344,17504,53344,15088,53344,13472,55000,11856,56656,11856,59040,12032,0,14880,34896,
+-    14880,45600,20096,45600,20096,34896,22992,0,12032,0,26736,42112,21248,41488,18504,36600,15760,31712,15760,22608,
++    9216,-10544,11856,43184,11856,45568,13472,47200,15088,48832,17504,48832,19840,48832,21504,47176,23168,45520,23168,43184,
++    23168,40800,21504,39144,19840,37488,17504,37488,15088,37488,13472,39144,11856,40800,11856,43184,12032,-15856,14880,19040,
++    14880,29744,20096,29744,20096,19040,22992,-15856,12032,-15856,26736,42112,21248,41488,18504,36600,15760,31712,15760,22608,
+     15760,13472,18504,8584,21248,3696,26736,3056,26736,42112,46928,13552,45440,7008,41440,3336,37440,-336,30976,-1152,
+     30976,-12624,26736,-12624,26736,-1152,17376,-336,11960,6040,6544,12416,6544,22608,6544,32896,11960,39248,17376,45600,
+     26736,46320,26736,57632,30976,57632,30976,46320,34896,45984,38464,45008,42032,44032,45440,42368,45440,30816,40928,30816,
+@@ -1212,12 +1213,12 @@ static const int DejaVuSerif_glyphPoints
+     4256,37360,7232,37312,7440,34176,9520,32536,11600,30896,15520,30896,19504,30896,21672,32768,23840,34640,23840,38128,
+     23840,42080,21672,44096,19504,46112,15216,46112,12960,46112,12960,49264,14112,49264,18240,49264,20344,50832,22448,52400,
+     22448,55552,22448,58400,20720,59928,18992,61456,15760,61456,12288,61456,10440,60096,8592,58736,8288,55968,5312,55968,
+-    5312,62384,58912,64608,65296,64608,25248,-1232,18880,-1232,58912,64608,33072,59040,33072,56656,31432,55000,29792,53344,
+-    27408,53344,25072,53344,23416,55000,21760,56656,21760,59040,21760,61376,23416,63032,25072,64688,27408,64688,29840,64688,
+-    31456,63048,33072,61408,33072,59040,42464,2800,37952,800,33912,-176,29872,-1152,26272,-1152,16880,-1152,11392,3400,
+-    5904,7952,5904,15680,5904,23584,10624,28600,15344,33616,24816,35792,24816,46576,30048,46576,30048,32640,22528,30816,
+-    18704,26520,14880,22224,14880,15600,14880,9776,18000,6416,21120,3056,26480,3056,31280,3056,34384,5840,37488,8624,
+-    38384,13856,42464,13856,42464,2800,17424,22992,40720,22992,29072,53168,17424,22992,-512,0,-512,4512,5056,4512,
++    5312,62384,58912,64608,65296,64608,25248,-1232,18880,-1232,58912,64608,33072,43184,33072,40800,31432,39144,29792,37488,
++    27408,37488,25072,37488,23416,39144,21760,40800,21760,43184,21760,45520,23416,47176,25072,48832,27408,48832,29840,48832,
++    31456,47200,33072,45568,33072,43184,42464,-13040,37952,-15040,33912,-16024,29872,-17008,26272,-17008,16880,-17008,11392,-12456,
++    5904,-7904,5904,-176,5904,7728,10624,12744,15344,17760,24816,19936,24816,30720,30048,30720,30048,16784,22528,14960,
++    18704,10664,14880,6368,14880,-256,14880,-6080,18000,-9440,21120,-12800,26480,-12800,31280,-12800,34384,-10016,37488,-7232,
++    38384,-2000,42464,-2000,42464,-13040,17424,22992,40720,22992,29072,53168,17424,22992,-512,0,-512,4512,5056,4512,
+     27664,63456,34800,63456,57456,4512,63712,4512,63712,0,40624,0,40624,4512,47680,4512,42368,18448,15680,18448,
+     10368,4512,17344,4512,17344,0,-512,0,28512,80208,36288,68992,31312,68992,20176,80208,28512,80208,17424,22992,
+     40720,22992,29072,53168,17424,22992,-512,0,-512,4512,5056,4512,27664,63456,34800,63456,57456,4512,63712,4512,
+@@ -2024,13 +2025,13 @@ static const int DejaVuSerif_glyphPoints
+     52832,4512,52832,0,37616,0,37616,7984,35440,3488,32000,1128,28560,-1232,24016,-1232,16496,-1232,12944,3040,
+     9392,7312,9392,16448,9392,40624,2336,40624,2336,45184,17248,45184,17248,18864,17248,10624,19272,7568,21296,4512,
+     26480,4512,31920,4512,34768,8504,37616,12496,37616,20096,37616,40624,30816,40624,30816,45184,12192,58912,4080,58912,
+-    4080,63456,28896,63456,28896,58912,20784,58912,20784,26096,20784,13936,24760,9136,28736,4336,38464,4336,48192,4336,
+-    52168,9136,56144,13936,56144,26096,56144,58912,48032,58912,48032,63456,69440,63456,69440,58912,61376,58912,61376,25248,
+-    61376,10752,55808,4760,50240,-1232,36896,-1232,23552,-1232,17872,4800,12192,10832,12192,25248,12192,58912,48768,80128,
+-    48768,75248,45384,71848,42000,68448,37120,68448,32240,68448,28856,71848,25472,75248,25472,80128,25472,85024,28856,88400,
+-    32240,91776,37120,91776,42000,91776,45384,88400,48768,85024,48768,80128,43584,80128,43584,82800,41712,84672,39840,86544,
+-    37120,86544,34352,86544,32504,84696,30656,82848,30656,80128,30656,77360,32504,75512,34352,73664,37120,73664,39840,73664,
+-    41712,75536,43584,77408,43584,80128,30816,45184,45440,45184,45440,4512,52832,4512,52832,0,37616,0,37616,7984,
++    4080,63456,26016,63456,26016,58912,20784,58912,20784,26096,20784,13936,24760,9136,28736,4336,38464,4336,48192,4336,
++    52168,9136,56144,13936,56144,26096,56144,58912,48528,58912,48528,63456,69440,63456,69440,58912,61376,58912,61376,25248,
++    61376,10752,55808,4760,50240,-1232,36896,-1232,23552,-1232,17872,4800,12192,10832,12192,25248,12192,58912,48768,68864,
++    48768,63984,45384,60584,42000,57184,37120,57184,32240,57184,28856,60584,25472,63984,25472,68864,25472,73760,28856,77136,
++    32240,80512,37120,80512,42000,80512,45384,77136,48768,73760,48768,68864,43584,68864,43584,71536,41712,73408,39840,75280,
++    37120,75280,34352,75280,32504,73432,30656,71584,30656,68864,30656,66096,32504,64248,34352,62400,37120,62400,39840,62400,
++    41712,64272,43584,66144,43584,68864,30816,45184,45440,45184,45440,4512,52832,4512,52832,0,37616,0,37616,7984,
+     35440,3488,32000,1128,28560,-1232,24016,-1232,16496,-1232,12944,3040,9392,7312,9392,16448,9392,40624,2336,40624,
+     2336,45184,17248,45184,17248,18864,17248,10624,19272,7568,21296,4512,26480,4512,31920,4512,34768,8504,37616,12496,
+     37616,20096,37616,40624,30816,40624,30816,45184,37504,63744,37504,58864,34120,55464,30736,52064,25856,52064,20976,52064,
+@@ -2079,8 +2080,8 @@ static const int DejaVuSerif_glyphPoints
+     10624,58224,10624,48752,5392,48752,5392,63456,55552,63456,55552,60400,16016,5232,51888,5232,51888,14112,57072,14112,
+     57072,0,3904,0,30736,67568,39200,67568,24752,51584,19776,51584,30736,67568,3488,0,3488,3648,31792,40624,
+     9392,40624,9392,32816,4880,32816,4880,45184,41856,45184,41856,41520,13552,4512,38128,4512,38128,12704,42672,12704,
+-    42672,0,3488,0,30464,80688,32464,80688,33952,79200,35440,77712,35440,75760,35440,73632,34016,72208,32592,70784,
+-    30464,70784,28336,70784,26912,72208,25488,73632,25488,75760,25488,77712,26976,79200,28464,80688,30464,80688,3904,0,
++    42672,0,3488,0,30464,79664,32464,79664,33952,78176,35440,76688,35440,74736,35440,72608,34016,71184,32592,69760,
++    30464,69760,28336,69760,26912,71184,25488,72608,25488,74736,25488,76688,26976,78176,28464,79664,30464,79664,3904,0,
+     3904,3056,43440,58224,10624,58224,10624,48752,5392,48752,5392,63456,55552,63456,55552,60400,16016,5232,51888,5232,
+     51888,14112,57072,14112,57072,0,3904,0,23808,63616,25856,63616,27320,62144,28784,60672,28784,58640,28784,56464,
+     27376,55064,25968,53664,23808,53664,21648,53664,20240,55064,18832,56464,18832,58640,18832,60672,20304,62144,21776,63616,
+@@ -2553,89 +2554,90 @@ static const int DejaVuSerif_glyphPoints
+     64720,-1232,56560,-1232,51376,-1232,46984,704,42592,2640,39264,6368,68256,26272,68000,34176,64920,38192,61840,42208,
+     56064,42208,50656,42208,47536,38168,44416,34128,43776,26272,68256,26272,55712,44496,54224,52448,49512,56248,44800,60048,
+     36384,60048,25408,60048,20016,52992,14624,45936,14624,31664,14624,17680,20192,10496,25760,3312,36544,3312,41360,3312,
+-    45736,4504,50112,5696,54064,8080,54064,13600,35184,13600,35184,18144,54064,18144,54064,24432,42112,24432,42112,28992,
+-    62688,28992,62688,18144,71232,18144,71232,13600,62688,13600,62688,5312,57040,2048,50512,408,43984,-1232,36544,-1232,
++    45736,4504,50112,5696,54064,8080,54064,13168,35184,13168,35184,17728,54064,17728,54064,26560,42112,26560,42112,31104,
++    62688,31104,62688,17728,71232,17728,71232,13168,62688,13168,62688,5312,57040,2048,50512,408,43984,-1232,36544,-1232,
+     22192,-1232,13536,7760,4880,16752,4880,31664,4880,46704,13552,55656,22224,64608,36896,64608,42336,64608,48136,63352,
+-    53936,62096,60480,59536,60480,44496,55712,44496,37872,20352,27632,20352,27632,24912,37872,24912,37872,32976,34768,37232,
+-    31616,41520,25664,41520,19632,41520,16552,36760,13472,32000,13472,22608,13472,13264,16552,8456,19632,3648,25664,3648,
+-    31616,3648,34744,7920,37872,12192,37872,20352,45680,20352,45680,976,45680,-8752,40328,-14048,34976,-19344,25072,-19344,
+-    20608,-19344,16528,-18536,12448,-17728,8720,-16112,8720,-6624,12800,-6624,13552,-11056,16400,-13096,19248,-15136,24560,-15136,
+-    31456,-15136,34664,-11248,37872,-7360,37872,976,37872,7056,35568,2800,32024,784,28480,-1232,23248,-1232,14912,-1232,
+-    9624,5376,4336,11984,4336,22608,4336,33232,9608,39824,14880,46416,23248,46416,28480,46416,32024,44392,35568,42368,
+-    37872,38128,37872,45184,53168,45184,53168,40624,45680,40624,45680,24912,53168,24912,53168,20352,45680,20352,32864,68992,
+-    23056,80208,27984,80208,36608,73328,45232,80208,50160,80208,40352,68992,32864,68992,55712,44496,54224,52448,49512,56248,
+-    44800,60048,36384,60048,25408,60048,20016,52992,14624,45936,14624,31664,14624,17680,20192,10496,25760,3312,36544,3312,
+-    41360,3312,45736,4504,50112,5696,54064,8080,54064,24432,42112,24432,42112,28992,62688,28992,62688,5312,57040,2048,
+-    50512,408,43984,-1232,36544,-1232,22192,-1232,13536,7760,4880,16752,4880,31664,4880,46704,13552,55656,22224,64608,
+-    36896,64608,42336,64608,48136,63352,53936,62096,60480,59536,60480,44496,55712,44496,22288,53632,12304,69616,17232,69616,
+-    25856,58560,34480,69616,39408,69616,29424,53632,22288,53632,45680,40624,45680,976,45680,-8752,40328,-14048,34976,-19344,
+-    25072,-19344,20608,-19344,16528,-18536,12448,-17728,8720,-16112,8720,-6624,12800,-6624,13552,-11056,16400,-13096,19248,-15136,
+-    24560,-15136,31456,-15136,34664,-11248,37872,-7360,37872,976,37872,7056,35568,2800,32024,784,28480,-1232,23248,-1232,
+-    14912,-1232,9624,5376,4336,11984,4336,22608,4336,33232,9608,39824,14880,46416,23248,46416,28480,46416,32024,44392,
+-    35568,42368,37872,38128,37872,45184,53168,45184,53168,40624,45680,40624,37872,24816,37872,32944,34744,37232,31616,41520,
+-    25664,41520,19632,41520,16552,36760,13472,32000,13472,22608,13472,13264,16552,8456,19632,3648,25664,3648,31616,3648,
+-    34744,7920,37872,12192,37872,20352,37872,24816,31840,68992,22032,80208,26960,80208,35584,73328,44208,80208,49136,80208,
+-    39328,68992,31840,68992,4800,0,4800,4512,12880,4512,12880,58912,4800,58912,4800,63456,29584,63456,29584,58912,
+-    21504,58912,21504,34896,48832,58912,41952,58912,41952,63456,63024,63456,63024,58912,55888,58912,28640,34976,59120,4512,
+-    66336,4512,66336,0,51600,0,21504,30128,21504,4512,29584,4512,29584,0,4800,0,10336,72064,528,83280,
+-    5456,83280,14080,76400,22704,83280,27632,83280,17824,72064,10336,72064,24912,0,2976,0,2976,4512,10032,4512,
+-    10032,61632,2512,61632,2512,66128,17856,66128,17856,23072,36896,40624,30384,40624,30384,45184,50832,45184,50832,40624,
+-    43088,40624,29664,28224,46832,4512,53344,4512,53344,0,31072,0,31072,4512,37520,4512,24016,23072,17856,17344,
+-    17856,4512,24912,4512,24912,0,33936,-1024,37920,-1024,37888,-1104,34176,-6336,34176,-8336,34176,-10288,35600,-11480,
+-    37024,-12672,39408,-12672,40560,-12672,41792,-12392,43024,-12112,44304,-11568,44256,-16960,42720,-17344,41296,-17536,39872,-17728,
+-    38512,-17728,33712,-17728,31080,-15840,28448,-13952,28448,-10496,28448,-8416,29720,-6184,30992,-3952,33936,-1024,35696,3312,
+-    46112,3312,51424,10472,56736,17632,56736,31664,56736,45728,51424,52888,46112,60048,35696,60048,25248,60048,19936,52888,
+-    14624,45728,14624,31664,14624,17632,19936,10472,25248,3312,35696,3312,35696,-1232,29248,-1232,23824,896,18400,3024,
+-    14288,7136,9520,11904,7200,17936,4880,23968,4880,31664,4880,39360,7200,45416,9520,51472,14288,56224,18448,60400,
+-    23800,62504,29152,64608,35696,64608,49520,64608,58016,55552,66512,46496,66512,31664,66512,24048,64176,17952,61840,11856,
+-    57072,7136,52912,2976,47560,872,42208,-1232,35696,-1232,23696,-1024,27680,-1024,27648,-1104,23936,-6336,23936,-8336,
+-    23936,-10288,25360,-11480,26784,-12672,29168,-12672,30320,-12672,31552,-12392,32784,-12112,34064,-11568,34016,-16960,32480,-17344,
+-    31056,-17536,29632,-17728,28272,-17728,23472,-17728,20840,-15840,18208,-13952,18208,-10496,18208,-8416,19480,-6184,20752,-3952,
+-    23696,-1024,26176,2976,32464,2976,35672,7952,38880,12928,38880,22608,38880,32304,35672,37256,32464,42208,26176,42208,
+-    19888,42208,16680,37256,13472,32304,13472,22608,13472,12928,16704,7952,19936,2976,26176,2976,26176,-1232,16320,-1232,
+-    10328,5288,4336,11808,4336,22608,4336,33408,10304,39912,16272,46416,26176,46416,36080,46416,42056,39912,48032,33408,
+-    48032,22608,48032,11808,42056,5288,36080,-1232,26176,-1232,23392,78160,48800,78160,48800,71872,23392,71872,23392,78160,
+-    33936,-1024,37920,-1024,37888,-1104,34176,-6336,34176,-8336,34176,-10288,35600,-11480,37024,-12672,39408,-12672,40560,-12672,
+-    41792,-12392,43024,-12112,44304,-11568,44256,-16960,42720,-17344,41296,-17536,39872,-17728,38512,-17728,33712,-17728,31080,-15840,
+-    28448,-13952,28448,-10496,28448,-8416,29720,-6184,30992,-3952,33936,-1024,35696,3312,46112,3312,51424,10472,56736,17632,
+-    56736,31664,56736,45728,51424,52888,46112,60048,35696,60048,25248,60048,19936,52888,14624,45728,14624,31664,14624,17632,
+-    19936,10472,25248,3312,35696,3312,35696,-1232,29248,-1232,23824,896,18400,3024,14288,7136,9520,11904,7200,17936,
+-    4880,23968,4880,31664,4880,39360,7200,45416,9520,51472,14288,56224,18448,60400,23800,62504,29152,64608,35696,64608,
+-    49520,64608,58016,55552,66512,46496,66512,31664,66512,24048,64176,17952,61840,11856,57072,7136,52912,2976,47560,872,
+-    42208,-1232,35696,-1232,13152,64848,38560,64848,38560,58560,13152,58560,13152,64848,23696,-1024,27680,-1024,27648,-1104,
+-    23936,-6336,23936,-8336,23936,-10288,25360,-11480,26784,-12672,29168,-12672,30320,-12672,31552,-12392,32784,-12112,34064,-11568,
+-    34016,-16960,32480,-17344,31056,-17536,29632,-17728,28272,-17728,23472,-17728,20840,-15840,18208,-13952,18208,-10496,18208,-8416,
+-    19480,-6184,20752,-3952,23696,-1024,26176,2976,32464,2976,35672,7952,38880,12928,38880,22608,38880,32304,35672,37256,
+-    32464,42208,26176,42208,19888,42208,16680,37256,13472,32304,13472,22608,13472,12928,16704,7952,19936,2976,26176,2976,
+-    26176,-1232,16320,-1232,10328,5288,4336,11808,4336,22608,4336,33408,10304,39912,16272,46416,26176,46416,36080,46416,
+-    42056,39912,48032,33408,48032,22608,48032,11808,42056,5288,36080,-1232,26176,-1232,21600,68992,11792,80208,16720,80208,
+-    25344,73328,33968,80208,38896,80208,29088,68992,21600,68992,22448,36208,18400,36208,18400,40544,33024,58224,10624,58224,
+-    10624,48752,5392,48752,5392,63456,42496,63456,42496,58144,26816,39232,30176,38928,38000,37696,42336,32560,46624,27456,
+-    46624,19296,46624,9344,40624,4032,34688,-1232,23456,-1232,18480,-1232,13776,-48,9008,1152,4336,3568,4336,17344,
+-    9088,17344,9520,10496,13216,6968,16912,3440,23632,3440,30128,3440,33920,7696,37648,11904,37648,19216,37648,27584,
+-    33792,31920,29920,36208,22448,36208,19216,53632,9232,69616,14160,69616,22784,58560,31408,69616,36336,69616,26352,53632,
+-    19216,53632,22448,17984,18400,17984,18400,22320,32432,40624,10032,40624,10032,32816,5520,32816,5520,45184,42496,45184,
+-    42496,41520,26816,20992,30176,20704,38000,19472,42336,14320,46624,9216,46624,1056,46624,-8880,40624,-14192,34688,-19472,
+-    23456,-19472,18480,-19472,13776,-18272,9008,-17088,4336,-14656,4336,-896,9088,-896,9520,-7728,13216,-11256,16912,-14784,
+-    23632,-14784,30128,-14784,33920,-10544,37648,-6336,37648,976,37648,9344,33792,13680,29920,17984,22448,17984,10624,40624,
+-    3232,40624,3232,45184,18448,45184,18448,-4416,18448,-11392,14304,-15368,10160,-19344,2896,-19344,-176,-19344,-2960,-18640,
+-    -5744,-17936,-8368,-16528,-8368,-7232,-4336,-7232,-4032,-11312,-2232,-13224,-432,-15136,3056,-15136,6928,-15136,8776,-12520,
+-    10624,-9904,10624,-4416,10624,40624,10000,53632,16,69616,4944,69616,13568,58560,22192,69616,27120,69616,17136,53632,
+-    10000,53632,73536,0,73536,3056,113072,58224,80256,58224,80256,48752,75024,48752,75024,63456,125184,63456,125184,60400,
+-    85648,5232,121520,5232,121520,14112,126704,14112,126704,0,73536,0,21504,4512,29408,4512,41776,4512,48384,11560,
+-    54992,18608,54992,31792,54992,44960,48408,51936,41824,58912,29408,58912,21504,58912,21504,4512,4800,0,4800,4512,
+-    12880,4512,12880,58912,4800,58912,4800,63456,30048,63456,46448,63456,55608,55080,64768,46704,64768,31792,64768,16832,
+-    55592,8416,46416,0,30048,0,4800,0,73120,0,73120,3648,101424,40624,79024,40624,79024,32816,74512,32816,
+-    74512,45184,111488,45184,111488,41520,83184,4512,107760,4512,107760,12704,112304,12704,112304,0,73120,0,21504,4512,
+-    29408,4512,41776,4512,48384,11560,54992,18608,54992,31792,54992,44960,48408,51936,41824,58912,29408,58912,21504,58912,
+-    21504,4512,4800,0,4800,4512,12880,4512,12880,58912,4800,58912,4800,63456,30048,63456,46448,63456,55608,55080,
+-    64768,46704,64768,31792,64768,16832,55592,8416,46416,0,30048,0,4800,0,58784,0,58784,3648,87088,40624,
+-    64688,40624,64688,32816,60176,32816,60176,45184,97152,45184,97152,41520,68848,4512,93424,4512,93424,12704,97968,12704,
+-    97968,0,58784,0,45680,4512,53168,4512,53168,0,37872,0,37872,7056,35568,2800,32024,784,28480,-1232,
+-    23248,-1232,14912,-1232,9624,5376,4336,11984,4336,22608,4336,33232,9608,39824,14880,46416,23248,46416,28480,46416,
+-    32024,44392,35568,42368,37872,38128,37872,61632,30480,61632,30480,66128,45680,66128,45680,4512,37872,20352,37872,24816,
+-    37872,32944,34744,37232,31616,41520,25664,41520,19632,41520,16552,36760,13472,32000,13472,22608,13472,13264,16552,8456,
+-    19632,3648,25664,3648,31616,3648,34744,7920,37872,12192,37872,20352 };
++    53936,62096,60480,59536,60480,44496,55712,44496,37872,26096,37872,33200,34744,36960,31616,40720,25664,40720,19632,40720,
++    16552,36552,13472,32384,13472,24176,13472,16016,16552,11808,19632,7600,25664,7600,31616,7600,34744,11344,37872,15088,
++    37872,22224,37872,26096,37872,10208,35568,6368,32024,4544,28480,2720,23248,2720,14912,2720,9624,8688,4336,14656,
++    4336,24176,4336,33744,9608,40080,14880,46416,23248,46416,28480,46416,32024,44184,35568,41952,37872,38128,37872,45184,
++    53168,45184,53168,40624,45680,40624,45680,976,45680,-592,45568,-2080,53168,-2080,53168,-6624,44672,-6624,43344,-11056,
++    40336,-14032,34976,-19296,25072,-19344,20608,-19344,16528,-18536,12448,-17728,8720,-16112,8720,-6624,-800,-6624,-800,-2080,
++    37744,-2080,37872,-640,37872,976,37872,10208,12800,-6624,13552,-11056,16400,-13096,19248,-15136,24560,-15136,31456,-15136,
++    34688,-11216,36160,-9392,36976,-6624,12800,-6624,32864,68992,23056,80208,27984,80208,36608,73328,45232,80208,50160,80208,
++    40352,68992,32864,68992,55712,44496,54224,52448,49512,56248,44800,60048,36384,60048,25408,60048,20016,52992,14624,45936,
++    14624,31664,14624,17680,20192,10496,25760,3312,36544,3312,41360,3312,45736,4504,50112,5696,54064,8080,54064,24432,
++    42112,24432,42112,28992,62688,28992,62688,5312,57040,2048,50512,408,43984,-1232,36544,-1232,22192,-1232,13536,7760,
++    4880,16752,4880,31664,4880,46704,13552,55656,22224,64608,36896,64608,42336,64608,48136,63352,53936,62096,60480,59536,
++    60480,44496,55712,44496,22288,53632,12304,69616,17232,69616,25856,58560,34480,69616,39408,69616,29424,53632,22288,53632,
++    45680,40624,45680,976,45680,-8752,40328,-14048,34976,-19344,25072,-19344,20608,-19344,16528,-18536,12448,-17728,8720,-16112,
++    8720,-6624,12800,-6624,13552,-11056,16400,-13096,19248,-15136,24560,-15136,31456,-15136,34664,-11248,37872,-7360,37872,976,
++    37872,7056,35568,2800,32024,784,28480,-1232,23248,-1232,14912,-1232,9624,5376,4336,11984,4336,22608,4336,33232,
++    9608,39824,14880,46416,23248,46416,28480,46416,32024,44392,35568,42368,37872,38128,37872,45184,53168,45184,53168,40624,
++    45680,40624,37872,24816,37872,32944,34744,37232,31616,41520,25664,41520,19632,41520,16552,36760,13472,32000,13472,22608,
++    13472,13264,16552,8456,19632,3648,25664,3648,31616,3648,34744,7920,37872,12192,37872,20352,37872,24816,31840,68992,
++    22032,80208,26960,80208,35584,73328,44208,80208,49136,80208,39328,68992,31840,68992,4800,0,4800,4512,12880,4512,
++    12880,58912,4800,58912,4800,63456,29584,63456,29584,58912,21504,58912,21504,34896,48832,58912,41952,58912,41952,63456,
++    63024,63456,63024,58912,55888,58912,28640,34976,59120,4512,66336,4512,66336,0,51600,0,21504,30128,21504,4512,
++    29584,4512,29584,0,4800,0,10336,72064,528,83280,5456,83280,14080,76400,22704,83280,27632,83280,17824,72064,
++    10336,72064,24912,0,2976,0,2976,4512,10032,4512,10032,61632,2512,61632,2512,66128,17856,66128,17856,23072,
++    36896,40624,30384,40624,30384,45184,50832,45184,50832,40624,43088,40624,29664,28224,46832,4512,53344,4512,53344,0,
++    31072,0,31072,4512,37520,4512,24016,23072,17856,17344,17856,4512,24912,4512,24912,0,33936,-1024,37920,-1024,
++    37888,-1104,34176,-6336,34176,-8336,34176,-10288,35600,-11480,37024,-12672,39408,-12672,40560,-12672,41792,-12392,43024,-12112,
++    44304,-11568,44256,-16960,42720,-17344,41296,-17536,39872,-17728,38512,-17728,33712,-17728,31080,-15840,28448,-13952,28448,-10496,
++    28448,-8416,29720,-6184,30992,-3952,33936,-1024,35696,3312,46112,3312,51424,10472,56736,17632,56736,31664,56736,45728,
++    51424,52888,46112,60048,35696,60048,25248,60048,19936,52888,14624,45728,14624,31664,14624,17632,19936,10472,25248,3312,
++    35696,3312,35696,-1232,29248,-1232,23824,896,18400,3024,14288,7136,9520,11904,7200,17936,4880,23968,4880,31664,
++    4880,39360,7200,45416,9520,51472,14288,56224,18448,60400,23800,62504,29152,64608,35696,64608,49520,64608,58016,55552,
++    66512,46496,66512,31664,66512,24048,64176,17952,61840,11856,57072,7136,52912,2976,47560,872,42208,-1232,35696,-1232,
++    23696,-1024,27680,-1024,27648,-1104,23936,-6336,23936,-8336,23936,-10288,25360,-11480,26784,-12672,29168,-12672,30320,-12672,
++    31552,-12392,32784,-12112,34064,-11568,34016,-16960,32480,-17344,31056,-17536,29632,-17728,28272,-17728,23472,-17728,20840,-15840,
++    18208,-13952,18208,-10496,18208,-8416,19480,-6184,20752,-3952,23696,-1024,26176,2976,32464,2976,35672,7952,38880,12928,
++    38880,22608,38880,32304,35672,37256,32464,42208,26176,42208,19888,42208,16680,37256,13472,32304,13472,22608,13472,12928,
++    16704,7952,19936,2976,26176,2976,26176,-1232,16320,-1232,10328,5288,4336,11808,4336,22608,4336,33408,10304,39912,
++    16272,46416,26176,46416,36080,46416,42056,39912,48032,33408,48032,22608,48032,11808,42056,5288,36080,-1232,26176,-1232,
++    23392,78160,48800,78160,48800,71872,23392,71872,23392,78160,33936,-1024,37920,-1024,37888,-1104,34176,-6336,34176,-8336,
++    34176,-10288,35600,-11480,37024,-12672,39408,-12672,40560,-12672,41792,-12392,43024,-12112,44304,-11568,44256,-16960,42720,-17344,
++    41296,-17536,39872,-17728,38512,-17728,33712,-17728,31080,-15840,28448,-13952,28448,-10496,28448,-8416,29720,-6184,30992,-3952,
++    33936,-1024,35696,3312,46112,3312,51424,10472,56736,17632,56736,31664,56736,45728,51424,52888,46112,60048,35696,60048,
++    25248,60048,19936,52888,14624,45728,14624,31664,14624,17632,19936,10472,25248,3312,35696,3312,35696,-1232,29248,-1232,
++    23824,896,18400,3024,14288,7136,9520,11904,7200,17936,4880,23968,4880,31664,4880,39360,7200,45416,9520,51472,
++    14288,56224,18448,60400,23800,62504,29152,64608,35696,64608,49520,64608,58016,55552,66512,46496,66512,31664,66512,24048,
++    64176,17952,61840,11856,57072,7136,52912,2976,47560,872,42208,-1232,35696,-1232,13152,64848,38560,64848,38560,58560,
++    13152,58560,13152,64848,23696,-1024,27680,-1024,27648,-1104,23936,-6336,23936,-8336,23936,-10288,25360,-11480,26784,-12672,
++    29168,-12672,30320,-12672,31552,-12392,32784,-12112,34064,-11568,34016,-16960,32480,-17344,31056,-17536,29632,-17728,28272,-17728,
++    23472,-17728,20840,-15840,18208,-13952,18208,-10496,18208,-8416,19480,-6184,20752,-3952,23696,-1024,26176,2976,32464,2976,
++    35672,7952,38880,12928,38880,22608,38880,32304,35672,37256,32464,42208,26176,42208,19888,42208,16680,37256,13472,32304,
++    13472,22608,13472,12928,16704,7952,19936,2976,26176,2976,26176,-1232,16320,-1232,10328,5288,4336,11808,4336,22608,
++    4336,33408,10304,39912,16272,46416,26176,46416,36080,46416,42056,39912,48032,33408,48032,22608,48032,11808,42056,5288,
++    36080,-1232,26176,-1232,21600,68992,11792,80208,16720,80208,25344,73328,33968,80208,38896,80208,29088,68992,21600,68992,
++    22448,36208,18400,36208,18400,40544,33024,58224,10624,58224,10624,48752,5392,48752,5392,63456,42496,63456,42496,58144,
++    26816,39232,30176,38928,38000,37696,42336,32560,46624,27456,46624,19296,46624,9344,40624,4032,34688,-1232,23456,-1232,
++    18480,-1232,13776,-48,9008,1152,4336,3568,4336,17344,9088,17344,9520,10496,13216,6968,16912,3440,23632,3440,
++    30128,3440,33920,7696,37648,11904,37648,19216,37648,27584,33792,31920,29920,36208,22448,36208,19216,53632,9232,69616,
++    14160,69616,22784,58560,31408,69616,36336,69616,26352,53632,19216,53632,22448,17984,18400,17984,18400,22320,32432,40624,
++    10032,40624,10032,32816,5520,32816,5520,45184,42496,45184,42496,41520,26816,20992,30176,20704,38000,19472,42336,14320,
++    46624,9216,46624,1056,46624,-8880,40624,-14192,34688,-19472,23456,-19472,18480,-19472,13776,-18272,9008,-17088,4336,-14656,
++    4336,-896,9088,-896,9520,-7728,13216,-11256,16912,-14784,23632,-14784,30128,-14784,33920,-10544,37648,-6336,37648,976,
++    37648,9344,33792,13680,29920,17984,22448,17984,10624,40624,3232,40624,3232,45184,18448,45184,18448,-4416,18448,-11392,
++    14304,-15368,10160,-19344,2896,-19344,-176,-19344,-2960,-18640,-5744,-17936,-8368,-16528,-8368,-7232,-4336,-7232,-4032,-11312,
++    -2232,-13224,-432,-15136,3056,-15136,6928,-15136,8776,-12520,10624,-9904,10624,-4416,10624,40624,10000,53632,16,69616,
++    4944,69616,13568,58560,22192,69616,27120,69616,17136,53632,10000,53632,73536,0,73536,3056,113072,58224,80256,58224,
++    80256,48752,75024,48752,75024,63456,125184,63456,125184,60400,85648,5232,121520,5232,121520,14112,126704,14112,126704,0,
++    73536,0,21504,4512,29408,4512,41776,4512,48384,11560,54992,18608,54992,31792,54992,44960,48408,51936,41824,58912,
++    29408,58912,21504,58912,21504,4512,4800,0,4800,4512,12880,4512,12880,58912,4800,58912,4800,63456,30048,63456,
++    46448,63456,55608,55080,64768,46704,64768,31792,64768,16832,55592,8416,46416,0,30048,0,4800,0,73120,0,
++    73120,3648,101424,40624,79024,40624,79024,32816,74512,32816,74512,45184,111488,45184,111488,41520,83184,4512,107760,4512,
++    107760,12704,112304,12704,112304,0,73120,0,21504,4512,29408,4512,41776,4512,48384,11560,54992,18608,54992,31792,
++    54992,44960,48408,51936,41824,58912,29408,58912,21504,58912,21504,4512,4800,0,4800,4512,12880,4512,12880,58912,
++    4800,58912,4800,63456,30048,63456,46448,63456,55608,55080,64768,46704,64768,31792,64768,16832,55592,8416,46416,0,
++    30048,0,4800,0,58784,0,58784,3648,87088,40624,64688,40624,64688,32816,60176,32816,60176,45184,97152,45184,
++    97152,41520,68848,4512,93424,4512,93424,12704,97968,12704,97968,0,58784,0,45680,4512,53168,4512,53168,0,
++    37872,0,37872,7056,35568,2800,32024,784,28480,-1232,23248,-1232,14912,-1232,9624,5376,4336,11984,4336,22608,
++    4336,33232,9608,39824,14880,46416,23248,46416,28480,46416,32024,44392,35568,42368,37872,38128,37872,61632,30480,61632,
++    30480,66128,45680,66128,45680,4512,37872,20352,37872,24816,37872,32944,34744,37232,31616,41520,25664,41520,19632,41520,
++    16552,36760,13472,32000,13472,22608,13472,13264,16552,8456,19632,3648,25664,3648,31616,3648,34744,7920,37872,12192,
++    37872,20352 };
+ static const int DejaVuSerif_glyphAdvances[468] = {
+     27664,34976,40032,72928,55376,82704,77472,23920,33952,33952,43520,72928,27664,29408,27664,29328,55376,55376,55376,55376,
+     55376,55376,55376,55376,55376,55376,29328,29328,72928,72928,72928,46672,87040,62864,63968,66592,69792,63536,60400,69536,
+@@ -2663,7 +2665,7 @@ static const int DejaVuSerif_glyphAdvanc
+     71360,52400,49136,49136,27840,130256,115648,101568 };
+ 
+ static const int DejaVuSerif_descender_height = -21424;
+-static const int DejaVuSerif_font_height = 91776;
++static const int DejaVuSerif_font_height = 90448;
+ static const int DejaVuSerif_glyphCount = 468;
+ static const short DejaVuSerif_characterMap[500] = {
+     -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,

+ 55 - 0
package/ajstarks-openvg/patches/patch-Makefile

@@ -0,0 +1,55 @@
+--- ajstarks-openvg-a236978e8009c948083bd15b201d8f4ceb3c035d.orig/Makefile	2017-07-26 14:27:15.000000000 +0200
++++ ajstarks-openvg-a236978e8009c948083bd15b201d8f4ceb3c035d/Makefile	2017-07-26 17:07:46.000000000 +0200
+@@ -1,38 +1,38 @@
+-INCLUDEFLAGS=-I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -fPIC
+-LIBFLAGS=-L/opt/vc/lib -lEGL -lGLESv2 -ljpeg
+-FONTLIB=/usr/share/fonts/truetype/ttf-dejavu
++INCLUDEFLAGS=-I=/opt/vc/include -I=/opt/vc/include/interface/vmcs_host/linux -I=/opt/vc/include/interface/vcos/pthreads -fPIC
++LIBFLAGS=-L=/opt/vc/lib -lEGL -lGLESv2 -ljpeg
+ FONTFILES=DejaVuSans.inc  DejaVuSansMono.inc DejaVuSerif.inc
++
+ all:	font2openvg fonts library	
+ 
+-libshapes.o:	libshapes.c shapes.h fontinfo.h fonts
+-	gcc -O2 -Wall $(INCLUDEFLAGS) -c libshapes.c
++libshapes.o:	libshapes.c shapes.h fontinfo.h
++	$(CC) -O2 -Wall $(INCLUDEFLAGS) -c libshapes.c
+ 
+ gopenvg:	openvg.go
+ 	go install .
+ 
+ oglinit.o:	oglinit.c
+-	gcc -O2 -Wall $(INCLUDEFLAGS) -c oglinit.c
++	$(CC) -O2 -Wall $(INCLUDEFLAGS) -c oglinit.c
+ 
+ font2openvg:	fontutil/font2openvg.cpp
+-	g++ -I/usr/include/freetype2 fontutil/font2openvg.cpp -o font2openvg -lfreetype
++	$(CXX) -I=/usr/include/freetype2 fontutil/font2openvg.cpp -o font2openvg -lfreetype
+ 
+ fonts:	$(FONTFILES)
+ 
+-DejaVuSans.inc: font2openvg $(FONTLIB)/DejaVuSans.ttf
+-	./font2openvg $(FONTLIB)/DejaVuSans.ttf DejaVuSans.inc DejaVuSans
++DejaVuSans.inc: font2openvg DejaVuSans.ttf
++	./font2openvg DejaVuSans.ttf DejaVuSans.inc DejaVuSans
+ 
+-DejaVuSerif.inc: font2openvg $(FONTLIB)/DejaVuSerif.ttf
+-	./font2openvg $(FONTLIB)/DejaVuSerif.ttf DejaVuSerif.inc DejaVuSerif
++DejaVuSerif.inc: font2openvg DejaVuSerif.ttf
++	./font2openvg DejaVuSerif.ttf DejaVuSerif.inc DejaVuSerif
+ 
+-DejaVuSansMono.inc: font2openvg $(FONTLIB)/DejaVuSansMono.ttf
+-	./font2openvg $(FONTLIB)/DejaVuSansMono.ttf DejaVuSansMono.inc DejaVuSansMono
++DejaVuSansMono.inc: font2openvg DejaVuSansMono.ttf
++	./font2openvg DejaVuSansMono.ttf DejaVuSansMono.inc DejaVuSansMono
+ 
+ clean:
+ 	rm -f *.o *.inc *.so font2openvg *.c~ *.h~
+ 	indent -linux -c 60 -brf -l 132  libshapes.c oglinit.c shapes.h fontinfo.h
+ 
+ library: oglinit.o libshapes.o
+-	gcc $(LIBFLAGS) -shared -o libshapes.so oglinit.o libshapes.o
++	$(CC) -v $(LIBFLAGS) -shared -o libshapes.so oglinit.o libshapes.o
+ 
+ install:
+ 	install -m 755 -p font2openvg /usr/bin/

+ 9 - 2
scripts/create-menu

@@ -12,11 +12,18 @@ printf "source target/config/Config.in.system.default\n" >> target/config/Config
 printf "source target/config/Config.in.system.choice\n" >> target/config/Config.in.system
 
 # update tasks
-if [ -d "$topdir/tasks" ];then
+if [ -d "$topdir/tasks" -o -n "$ADK_CUSTOM_TASKS_DIR" ];then
 	printf "# autogenerated via scripts/create-menu\n" > $topdir/target/config/Config.in.tasks
 	printf "menu \"Tasks\"\n" >> $topdir/target/config/Config.in.tasks
 	printf "\tvisible if ADK_TARGET_OS_LINUX && !ADK_TARGET_CHOOSE_ARCH\n\n" >> $topdir/target/config/Config.in.tasks
-	cat $topdir/tasks/* >> $topdir/target/config/Config.in.tasks 2>/dev/null
+
+        if [ -d "$topdir/tasks" ];then
+        	cat $topdir/tasks/* >> $topdir/target/config/Config.in.tasks 2>/dev/null
+        fi
+        if [ -n "$ADK_CUSTOM_TASKS_DIR" -a -d "$ADK_CUSTOM_TASKS_DIR" ];then
+        	printf "\n# tasks pulled from ADK_CUSTOM_TASKS_DIR='%s'\n" "$ADK_CUSTOM_TASKS_DIR" >> $topdir/target/config/Config.in.tasks
+        	cat $ADK_CUSTOM_TASKS_DIR/* >> $topdir/target/config/Config.in.tasks 2>/dev/null
+        fi
 	printf "\nendmenu\n\n" >> $topdir/target/config/Config.in.tasks
 fi
 

+ 16 - 3
scripts/install.sh

@@ -64,10 +64,11 @@ panicreboot=10
 keep=0
 grub=0
 paragon_ext=0
+datapartcontent=""
 
 function usage {
 cat >&2 <<EOF
-Syntax: $me [-f filesystem] [-c cfgfssize] [-d datafssize] [-k] [-n] [-g]
+Syntax: $me [-f filesystem] [-c cfgfssize] [-d datafssize] [-D datafscontent] [-k] [-n] [-g]
     [-p panictime] [±q] [-s serialspeed] [±t] <target> <device> <archive>
 Partition sizes are in MiB. Filesystem type is currently ignored (ext4).
 To keep filesystem on data partition use -k.
@@ -76,8 +77,7 @@ Defaults: -c 1 -p 10 -s 115200; -t = enable serial console
 EOF
 	exit $1
 }
-
-while getopts "c:d:ef:ghknp:qs:t" ch; do
+while getopts "c:d:D:ef:ghknp:qs:tx:" ch; do
 	case $ch {
 	(c)	if (( (cfgfs = OPTARG) < 0 || cfgfs > 16 )); then
 			print -u2 "$me: -c $OPTARG out of bounds"
@@ -110,6 +110,11 @@ while getopts "c:d:ef:ghknp:qs:t" ch; do
 	(n)	noformat=1 ;;
 	(t)	serial=1 ;;
 	(+t)	serial=0 ;;
+        (D)	if [[ ! -d $OPTARG ]]; then
+			print -u2 "$me: -D $OPTARG must be an existing directory"
+			exit 1
+		fi
+                datapartcontent=$OPTARG;;
 	(*)	usage 1 ;;
 	}
 done
@@ -577,6 +582,14 @@ if (( datafssz )); then
 		echo "/dev/mmcblk0p2	/data	ext4	rw	0	0" >> "$R"/etc/fstab
 	;;
 	}
+        if [[ -d $datapartcontent ]]; then
+            mount_fs "$datapart" "$D" ext4
+            # strip trailing slash
+            case $datapartcontent in
+                *[!/]*/) datapartcontent=${datapartcontent%"${x##*[!/]}"};;
+            esac            
+            cp -R $datapartcontent/* "$D"
+        fi
 fi
 
 (( quiet )) || print Finishing up with bootloader and kernel ...