Re: [ptxdist] SWupdate patch

2017-04-25 Thread Roland Hieber
Hi,

On 24.04.2017 15:41, Pedro Lafuente wrote:
> commit 862120ca23a0be3f865c3b566a8d50e9c55f3517
> Author: pedro.lafue...@avt-stoye.de 

Minor cosmetics, but you probably want to set user.name to your name,
not your e-mail address, in your ~/.gitconfig. After that, git commit
--amend --reset-author should correct this.

> Date:   Mon Apr 24 15:20:31 2017 +0200
> 
> SWupdate package support for ptxdist.
> 
> diff --git a/rules/swupdate.in b/rules/swupdate.in
> new file mode 100644
> index 000..43517b6
> --- /dev/null
> +++ b/rules/swupdate.in
> @@ -0,0 +1,618 @@
> +## SECTION=applications
> +
> +menuconfig SWUPDATE
> +bool
> +prompt "SWupdate"

This could benefit from a "help" option, to give the users a hint what
the package is about :-)

> +
> +if SWUPDATE
> +
> +menu "Swupdate Settings"
> +
> +menu "General Configuration"
> +
> +config SCRIPTS

All of these config options also need the SWUPDATE_ prefix for correct 
namespacing. Otherwise it could lead to problems when a different package 
defines a config option with the same name. (Also see my note further below.)

> +bool "enable pre and postinstall scripts"
> +default y
> +help
> +  Enabling this option, the installer will run
> +  pre- and postinstall scripts, if they are present
> +  in the image. For security reason, this option
> +  can be switched off.
> +
> +config HW_COMPATIBILITY
> +bool "check for hardware / software compatibility"
> +default n
> +help
> +  If enabled, check if the hardware revision
> +  supports the software version. Detecting the hardware
> +  revision is very board specific, and it cannot be generalized.
> +  For this reason, the software expects that the detected
> +  version is written into a file by a previous software.
> +
> +config HW_COMPATIBILITY_FILE
> +string "File with detected hardware revisions"
> +depends on HW_COMPATIBILITY
> +default "/etc/hwrevision"
> +help
> +  File where to read the detected hardware revsion
> +  that must be compared with the software version.
> +  The file has simple entries (one per line) in the
> +  format of "major.minor".
> +
> +config SW_VERSIONS_FILE
> +string "File with detected software version"
> +default "/etc/sw-versions"
> +help
> +  This is an optional file that is scanned at the
> +  beginning to read the installed versions of
> +  all sw-components. Each entry in the file is a
> +  a pair of "name version".
> +  In sw-description,  an image can have the
> +  optional attributes:
> +"name" : key for searching in SW_VERSIONS_FILE
> +"version" : version contained in the .swu
> +"install-if-different" : if set, version
> +  is compared with the one in SW_VERSIONS_FILE.
> +  The image is installed only if there is a version mismatch.
> +  This lets reduce risks in case of components that are not
> +  safe to be updated, such as the bootloader. Updating it is a risk,
> +  but in some cases it can be required to do it. Having a check,
> +  the risky-component is not always updated.
> +
> +config MTD
> +bool "MTD support"
> +default y
> +#depends on HAVE_LIBMTD

Is there a reason this is commented out?

> +select MTD_UTILS
> +help
> +  Enable MTD support.
> +
> +config SWUPDATE_LUA
> +bool "lua"
> +default y
> +#depends on HAVE_LUA
> +select LUA
> +select LUA_INSTALL_LUA

...like here. You see that the LUA_ prefix also makes it possible to
depend on sub-features of other packages.

 - Roland

> +select LUA_INSTALL_LUAC
> +select LUA_INSTALL_LIBLUA
> +
> +help
> +  Enable LUA interpreter.
> +
> +#config LUAPKG
> +#string "LUA pkg-config name"
> +#default "lua"
> +##depends on LUA
> +#select LUA
> +#select LUA_INSTALL_LUA
> +#select LUA_INSTALL_LUAC
> +#select LUA_INSTALL_LIBLUA
> +#help
> +#  Which pkg-config package supplies the Lua API.
> +
> +# These are auto-selected by other options
> +
> +config FEATURE_SYSLOG
> +bool #No description makes it a hidden option
> +default n
> +#help
> +#  This option is auto-selected when you select any applet which may
> +#  send its output to syslog. You do not need to select it manually.
> +
> +endmenu
> +
> +menu 'Build Options'
> +
> +config STATIC
> +bool "Build swupdate as a static binary (no shared libs)"
> +default n
> +help
> +  If you want to build a static swupdate binary, which does not
> +  use or require any shared libraries, then enable this option.
> +  This can cause swupdate to be considerably larger, so you should
> +  leave this option false unless you have a good reason (i.e.
> +  your target platform does not support shared libraries, or
> +  you are building an initrd which doesn't need anything but
> +  swupdate, etc).
> +
> +  Most people 

[ptxdist] SWupdate patch

2017-04-24 Thread Pedro Lafuente

commit 862120ca23a0be3f865c3b566a8d50e9c55f3517
Author: pedro.lafue...@avt-stoye.de 
Date:   Mon Apr 24 15:20:31 2017 +0200

SWupdate package support for ptxdist.

diff --git a/rules/swupdate.in b/rules/swupdate.in
new file mode 100644
index 000..43517b6
--- /dev/null
+++ b/rules/swupdate.in
@@ -0,0 +1,618 @@
+## SECTION=applications
+
+menuconfig SWUPDATE
+bool
+prompt "SWupdate"
+
+if SWUPDATE
+
+menu "Swupdate Settings"
+
+menu "General Configuration"
+
+config SCRIPTS
+bool "enable pre and postinstall scripts"
+default y
+help
+  Enabling this option, the installer will run
+  pre- and postinstall scripts, if they are present
+  in the image. For security reason, this option
+  can be switched off.
+
+config HW_COMPATIBILITY
+bool "check for hardware / software compatibility"
+default n
+help
+  If enabled, check if the hardware revision
+  supports the software version. Detecting the hardware
+  revision is very board specific, and it cannot be generalized.
+  For this reason, the software expects that the detected
+  version is written into a file by a previous software.
+
+config HW_COMPATIBILITY_FILE
+string "File with detected hardware revisions"
+depends on HW_COMPATIBILITY
+default "/etc/hwrevision"
+help
+  File where to read the detected hardware revsion
+  that must be compared with the software version.
+  The file has simple entries (one per line) in the
+  format of "major.minor".
+
+config SW_VERSIONS_FILE
+string "File with detected software version"
+default "/etc/sw-versions"
+help
+  This is an optional file that is scanned at the
+  beginning to read the installed versions of
+  all sw-components. Each entry in the file is a
+  a pair of "name version".
+  In sw-description,  an image can have the
+  optional attributes:
+"name" : key for searching in SW_VERSIONS_FILE
+"version" : version contained in the .swu
+"install-if-different" : if set, version
+  is compared with the one in SW_VERSIONS_FILE.
+  The image is installed only if there is a version mismatch.
+  This lets reduce risks in case of components that are not
+  safe to be updated, such as the bootloader. Updating it is a risk,
+  but in some cases it can be required to do it. Having a check,
+  the risky-component is not always updated.
+
+config MTD
+bool "MTD support"
+default y
+#depends on HAVE_LIBMTD
+select MTD_UTILS
+help
+  Enable MTD support.
+
+config SWUPDATE_LUA
+bool "lua"
+default y
+#depends on HAVE_LUA
+select LUA
+select LUA_INSTALL_LUA
+select LUA_INSTALL_LUAC
+select LUA_INSTALL_LIBLUA
+
+help
+  Enable LUA interpreter.
+
+#config LUAPKG
+#string "LUA pkg-config name"
+#default "lua"
+##depends on LUA
+#select LUA
+#select LUA_INSTALL_LUA
+#select LUA_INSTALL_LUAC
+#select LUA_INSTALL_LIBLUA
+#help
+#  Which pkg-config package supplies the Lua API.
+
+# These are auto-selected by other options
+
+config FEATURE_SYSLOG
+bool #No description makes it a hidden option
+default n
+#help
+#  This option is auto-selected when you select any applet which may
+#  send its output to syslog. You do not need to select it manually.
+
+endmenu
+
+menu 'Build Options'
+
+config STATIC
+bool "Build swupdate as a static binary (no shared libs)"
+default n
+help
+  If you want to build a static swupdate binary, which does not
+  use or require any shared libraries, then enable this option.
+  This can cause swupdate to be considerably larger, so you should
+  leave this option false unless you have a good reason (i.e.
+  your target platform does not support shared libraries, or
+  you are building an initrd which doesn't need anything but
+  swupdate, etc).
+
+  Most people will leave this set to 'N'.
+
+config CROSS_COMPILE
+string "Cross Compiler prefix"
+default 
"/opt/OSELAS.Toolchain-2014.12.2/arm-cortexa8-linux-gnueabihf/gcc-4.9.2-glibc-2.20-binutils-2.24-kernel-3.16-sanitized/bin/arm-cortexa8-linux-gnueabihf-"

+help
+  If you want to build swupdate with a cross compiler, then you
+  will need to set this to the cross-compiler prefix, for example,
+  "i386-uclibc-".
+
+  Native builds leave this empty.
+
+config SYSROOT
+string "Path to sysroot"
+default 
"/opt/OSELAS.Toolchain-2014.12.2/arm-cortexa8-linux-gnueabihf/gcc-4.9.2-glibc-2.20-binutils-2.24-kernel-3.16-sanitized/sysroot-arm-cortexa8-linux-gnueabihf"

+help
+  If you want to build swupdate with a cross compiler, then you
+  might also need to specify where /usr/include and /usr/lib
+  will be found.
+
+  For example, swupdate can be built against an installed
+  Android NDK, platform version 9, for ARM ABI with
+
+