From: Roland Hieber <rhi@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] SWupdate patch
Date: Tue, 25 Apr 2017 14:42:21 +0200 [thread overview]
Message-ID: <98c321e0-1a4d-2a63-0f8b-afc1140c851b@pengutronix.de> (raw)
In-Reply-To: <1945af1c-ce59-f62b-3e78-7cc78dab93ea@avt-stoye.de>
Hi,
On 24.04.2017 15:41, Pedro Lafuente wrote:
> commit 862120ca23a0be3f865c3b566a8d50e9c55f3517
> Author: pedro.lafuente@avt-stoye.de <pedro.lafuente@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 0000000..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 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
> +
> + CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm
> +
> + Native builds leave this empty.
> +
> +config EXTRA_CFLAGS
> + string "Additional CFLAGS"
> + default ""
> + help
> + Additional CFLAGS to pass to the compiler verbatim.
> +
> +config EXTRA_LDFLAGS
> + string "Additional LDFLAGS"
> + default ""
> + help
> + Additional LDFLAGS to pass to the linker verbatim.
> +
> +config EXTRA_LDLIBS
> + string "Additional LDLIBS"
> + default ""
> + help
> + Additional LDLIBS to pass to the linker with -l.
> +
> +endmenu
> +
> +menu 'Debugging Options'
> +
> +config SW_UPDATE_DEBUG
> + bool "Build Swupdate with extra Debugging symbols"
> + default n
> + help
> + Say Y here if you wish to examine swupdate internals while
> applets are
> + running. This increases the size of the binary considerably, and
> + should only be used when doing development. If you are doing
> + development and want to debug swupdate, answer Y.
> +
> + Most people should answer N.
> +
> +config DEBUG_PESSIMIZE
> + bool "Disable compiler optimizations"
> + default n
> + depends on SW_UPDATE_DEBUG
> + help
> + The compiler's optimization of source code can eliminate and reorder
> + code, resulting in an executable that's hard to understand when
> + stepping through it with a debugger. This switches it off, resulting
> + in a much bigger executable that more closely matches the source
> + code.
> +
> +config WERROR
> + bool "Abort compilation on any warning"
> + default n
> + help
> + Selecting this will add -Werror to gcc command line.
> +
> + Most people should answer N.
> +
> +config NOCLEANUP
> + bool "Do not remove temporary files after execution"
> + default n
> + help
> + After each run, temporary files are removed from
> + /tmp to restart in a clean state. For debugging purpose,
> + it helps to check the consistency of the file extracted
> + by swupdate.
> + For production, answer N.
> +
> +endmenu
> +endmenu
> +
> +config DOWNLOAD
> + bool "Enable image downloading"
> + default y
> + select LIBCURL
> + help
> + Enable update from image URL using libcurl. Files are downloaded
> + completely before installation begins.
> +
> +config HASH_VERIFY
> + bool "Allow to add sha256 hash to each image"
> + select OPENSSL
> + default y
> + help
> + Allow to add a sha256 hash to an artifact.
> + This is automatically set in case of Signed Image
> +
> +config SIGNED_IMAGES
> + bool "Enable verification of signed images"
> + default y
> + select OPENSSL
> + select HASH_VERIFY
> +
> +config ENCRYPTED_IMAGES
> + bool "Images can be encrypted with a symmetric key"
> + select OPENSSL
> +
> + # DO NOT EDIT. This file is generated from Config.src
> + #
> + # For a description of the syntax of this configuration file,
> + # see scripts/kbuild/config-language.txt.
> + #
> +
> +# menu "Suricatta"
> +# menu "Features"
> +# depends on SURICATTA
> +# config SURICATTA_SSL
> +# bool "SSL support"
> +# default n
> +# #depends on HAVE_LIBSSL
> +# #depends on HAVE_LIBCRYPTO
> +# select OPENSSL
> +
> +# help
> +# Enable SSL and checksum verification support in
> suricatta.
> +
> +# choice
> +# prompt "Update Status Storage"
> +# default SURICATTA_STATE_CHOICE_UBOOT if UBOOT
> +# default SURICATTA_STATE_CHOICE_NONE if !UBOOT
> +# help
> +# Place for suricatta to persistently store the update
> +# status for, e.g., communicating it to the server after
> +# a reboot.
> +
> +# config SURICATTA_STATE_CHOICE_NONE
> +# bool "None"
> +# help
> +# Do not store update status.
> +
> +# config SURICATTA_STATE_CHOICE_UBOOT
> +# bool "U-Boot"
> +# #depends on UBOOT
> +# #depends on HAVE_ZLIB
> +# select U_BOOT_TOOLS_TOOL_ENV
> +# select U_BOOT_TOOLS
> +# select ZLIB
> +# help
> +# Store update status in U-Boot's environment.
> +# Specify U-Boot environment variable name to store
> update status in.
> +
> +# endchoice
> +
> +# config SURICATTA_STATE_UBOOT
> +# string "Store Update Status in U-Boot Environment variable"
> +# default "ustate"
> +# depends on SURICATTA_STATE_CHOICE_UBOOT
> +# help
> +# Store update information in U-Boot's environment.
> +
> +# endmenu
> +
> +# menu "Server"
> +# choice
> +# prompt "Server Type"
> +# default SURICATTA_HAWKBIT
> +# help
> +# Choose the server type. Currently, just hawkBit is
> +# supported.
> +
> +# config SURICATTA_HAWKBIT
> +# bool "hawkBit support"
> +# #depends on HAVE_LIBCURL
> +# #depends on JSON
> +# select JSON_C
> +# select JSON_GLIB
> +# select LIBFASTJSON
> +# select LIBCURL
> +# select SURICATTA
> +# help
> +# Support for hawkBit server.
> +# https://projects.eclipse.org/projects/iot.hawkbit
> +
> +# config SURICATTA_SERVER_NONE
> +# bool "None"
> +# help
> +# Do not start suricatta mode
> +# endchoice
> +# endmenu
> +# endmenu
> +
> + config WEBSERVER
> + bool "Enable webserver"
> + default y
> + help
> + Enable update from remote using a webserver on the target.
> +
> + menu "Webserver Features"
> + config MONGOOSE
> + bool "mongoose"
> + default y
> + help
> + Enable mongoose webserver.
> +
> + menu "Mongoose Feature"
> + depends on MONGOOSE
> +
> + config MONGOOSELUA
> + bool "lua interpreter"
> + #depends on LUA
> + select LUA
> + select LUA_INSTALL_LUA
> + select LUA_INSTALL_LUAC
> + select LUA_INSTALL_LIBLUA
> + default y
> + help
> + It allows to use LUA scripts as CGI interpreter.
> +
> + config MONGOOSEIPV6
> + bool "ipv6"
> + default y
> + help
> + It enables ipv6 support into mongoose
> +
> + config MONGOOSESSL
> + bool "ssl"
> + #depends on HAVE_LIBSSL
> + #depends on HAVE_LIBCRYPTO
> + select OPENSSL
> + help
> + It enables SSL support into mongoose
> + endmenu
> + endmenu
> +
> +menu "Archival Features"
> +
> +config GUNZIP
> + bool "gunzip"
> + default y
> + select ZLIB
> + help
> + gunzip is used to decompress archives created by gzip.
> + You can use the `-t' option to test the integrity of
> + an archive, without decompressing it.
> +
> +endmenu
> +
> +menu "Parser Features"
> +
> +config SWUPDATE_LIBCONFIG
> + bool "libconfig"
> + default y
> + #depends on HAVE_LIBCONFIG
> + select LIBCONFIG
> + select LIBCONFIG_CXX
> + help
> + Use libconfig to parse the configuration file.
> + This is the default parser.
> +
> +config LIBCONFIGROOT
> + string
> + prompt "Name of root node"
> + depends on SWUPDATE_LIBCONFIG
> +
> +
> + help
> + For compatibility reasons, the root node
> + can be set to something else as "software".
> + In most case you do not need to set it.
> +
> +config JSON
> + bool "libjson"
> + default n
> + #depends on HAVE_JSON_C
> + select JSON_C
> +
> + help
> + Use json-c to parse the configuration file.
> + Also required for suricatta's hawkBit Server support.
> +
> +
> +config LUAEXTERNAL
> + bool "lua"
> + #depends on LUA
> + select LUA
> + select LUA_INSTALL_LUA
> + select LUA_INSTALL_LUAC
> + select LUA_INSTALL_LIBLUA
> + default n
> + help
> + call an external parser written in LUA.
> +
> +config SETEXTPARSERNAME
> + bool "Set external parser name"
> + depends on LUAEXTERNAL
> + default n
> + help
> + Set to define own path and filename for the
> + external parser, else default lua-tools/extparser.lua
> + will be used.
> +
> +config EXTPARSERNAME
> + string "External parser file name"
> + depends on SETEXTPARSERNAME
> + help
> + Lua script to be executed for parsing
> + the sw-description file.
> +
> +config SETSWDESCRIPTION
> + bool "set file description name"
> + default n
> + help
> + Set it if you want to change the name of
> + the default software descritpion file.
> + If not set, default file name is "sw-description"
> +
> +config SWDESCRIPTION
> + string "description file"
> + depends on SETSWDESCRIPTION
> + help
> + File extracted from the image containing
> + the description (meta) of the images.
> + This file, after extraction, is passed to the parser.
> +endmenu
> +
> +#
> +# For a description of the syntax of this configuration file,
> +# see scripts/kbuild/config-language.txt.
> +#
> +
> +menu "Image Handlers"
> +
> +config SWUPDATE_UBIVOL
> + bool "ubivol"
> + default n
> + #depends on HAVE_LIBUBI
> + #depends on MTD
> + select MTD_UTILS_UBI_UTILS
> + select MTD_UTILS
> + help
> + ubi is the default format for NAND device.
> + Say Y if you have NAND or you use UBI on
> + your system.
> +
> +
> +config UBIBLACKLIST
> + string "List of MTD devices to be excluded for UBI"
> + depends on SWUPDATE_UBIVOL
> + help
> + Define a list of MTD devices that are excluded
> + by scan_mtd_device. The devices are still available
> + as raw devices.
> + The list can be set as a string with the mtd numbers.
> + Examples: "0 1 2"
> + This excludes mtd0-mtd1-mtd2 to be searched for UBI volumes
> +
> +config UBIVIDOFFSET
> + int "VID Header Offset"
> + depends on SWUPDATE_UBIVOL
> + default 0
> + help
> + Force UBI to set a VID header offset to be 2048 bytes
> + instead of the value reported by the kernel.
> + In other words, you may ask UBI to avoid using sub-pages.
> + This is not recommended since this will require
> + more storage overhead, but may be useful
> + if your NAND driver incorrectly reports that it can handle
> + sub-page accesses when it should not.
> +
> +
> +config CFI
> + bool "cfi"
> + #depends on MTD
> + select MTD_UTILS
> + default n
> + help
> + Handler to store images in flash in raw mode,
> + without UBI
> +
> +config CFIHAMMING1
> + bool "NAND in raw mode with 1bit Hamming OOB (TI)"
> + #depends on MTD
> + select MTD_UTILS
> + default n
> + select CFI
> + help
> + On certain TI's omaps (for example, DM3730 or AM3517),
> + the first bootloader (MLO or SPL) must be saved with one bit
> + Hamming correction because this is requested by the SOC's ROM.
> + However, the Linux driver must use for the rest of the NAND a more
> + powerful algorithm to make data reliable, and this causes that
> + it is not possible to update SPL by letting the driver to handle
> + the OOB area. This handler raws the NAND in raw mode, computing
> + the ECC with 1 bit Hamming Code and saving it into OOB
> + (assumes sector size of 512 and page size of 2048).
> +
> + You do not need this if you have not a OMAP SOC.
> +
> +config RAW
> + bool "raw"
> + default y
> + help
> + This is a simple handler that simply copies
> + into the destination.
> +
> +config LUASCRIPTHANDLER
> + bool "luascript"
> + select LUA
> + select LUA_INSTALL_LUA
> + select LUA_INSTALL_LUAC
> + select LUA_INSTALL_LIBLUA
> + default n
> + help
> + Handler to be called for pre- and post scripts
> + written in LUA.
> +
> +config SHELLSCRIPTHANDLER
> + bool "shellscript"
> + default n
> + help
> + Handler to be called for pre- and post scripts
> + written as shell scripts. The default shell /bin/sh
> + is called.
> +
> +config HANDLER_IN_LUA
> + bool "Handlers in LUA"
> + #depends on LUASCRIPTHANDLER
> + select LUA
> + select LUA_INSTALL_LUA
> + select LUA_INSTALL_LUAC
> + select LUA_INSTALL_LIBLUA
> +
> +
> + default n
> + help
> + Allow to write own handlers in LUA.
> + They are loaded at the start-up.
> +
> +config ARCHIVE
> + bool "archive"
> + #depends on HAVE_LIBARCHIVE
> + select LIBARCHIVE
> + default n
> + help
> + Handler using the libarchive to extract tarballs
> + into a filesystem.
> +
> +
> +config REMOTE_HANDLER
> + bool "Remote handler"
> + depends on HAVE_LIBZEROMQ
> + default n
> + help
> + Sometimes the update process should be done
> + by another process, where code is already
> + provided. The remote handler let communicate
> + an external process with SWUpdate, sending
> + the image to be updated with the help of the
> + zeromq library.
> +
> +comment "remote handler needs zeromq"
> + depends on !HAVE_LIBZEROMQ
> +
> +
> +config SWUPDATE_UBOOT
> + bool
> + prompt "uboot"
> + #depends on HAVE_LIBUBOOTENV
> + #depends on HAVE_ZLIB
> + select U_BOOT_TOOLS_TOOL_ENV
> + select U_BOOT_TOOLS
> + select ZLIB
> + default n
> + help
> + Enable it to change U-Boot environment
> + during the installation process.
> +
> +config UBOOT_FWENV
> + string
> + prompt "U-Boot Environment Configuration file"
> + depends on SWUPDATE_UBOOT
> + default "/etc/fw_env.config"
> + help
> + This is the file described in U-Boot documentation
> + in the tools directory. It tells where the U-Boot
> + environment is saved.
> +
> +endmenu
> +
> +endif
> diff --git a/rules/swupdate.make b/rules/swupdate.make
> new file mode 100644
> index 0000000..2d41f95
> --- /dev/null
> +++ b/rules/swupdate.make
> @@ -0,0 +1,197 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2017 by Pedro Lafuente <pedro.lafuente@avt-stoye.de>
> +#
> +# 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_SWUPDATE) += swupdate
> +
> +#
> +# Paths and names
> +#
> +SWUPDATE_VERSION := 2017.01
> +SWUPDATE_MD5 := 90d86de674dc70a19adc92847420700a
> +SWUPDATE := swupdate-$(SWUPDATE_VERSION)
> +SWUPDATE_SUFFIX := tar.gz
> +SWUPDATE_URL :=
> https://github.com/sbabic/swupdate/archive/$(SWUPDATE_VERSION).$(SWUPDATE_SUFFIX)
>
> +SWUPDATE_SOURCE := $(SRCDIR)/$(SWUPDATE).$(SWUPDATE_SUFFIX)
> +SWUPDATE_DIR := $(BUILDDIR)/$(SWUPDATE)
> +SWUPDATE_LICENSE := GNUGPL
> +
> +#
> ----------------------------------------------------------------------------
>
> +# Get
> +#
> ----------------------------------------------------------------------------
>
> +
> +$(SWUPDATE_SOURCE):
> + @$(call targetinfo)
> + @$(call get, SWUPDATE)
> + @$(call touch)
> +
> +#
> ----------------------------------------------------------------------------
>
> +# Extract
> +#
> ----------------------------------------------------------------------------
>
> +
> +$(STATEDIR)/swupdate.extract:
> + @$(call targetinfo)
> +# @$(call clean, $(SWUPDATE_DIR))
> + @$(call extract, SWUPDATE)
> + @$(call touch)
> +#
> ----------------------------------------------------------------------------
>
> +# Prepare
> +#
> ----------------------------------------------------------------------------
>
> +
> +#SWUPDATE_CONF_ENV := $(CROSS_ENV)
> +#
> +# autoconf
> +#
> +#SWUPDATE_CONF_TOOL := autoconf
> +SWUPDATE_CONF_OPT := allyesconfig
> +SYSROOT_TOOLCHAIN=sysroot-arm-cortexa8-linux-gnueabihf
> +CROSS_COMPILE_PATH=$(shell readlink
> '${PTXDIST_WORKSPACE}/selected_toolchain')/$(PTXCONF_COMPILER_PREFIX)
> +SYS_ROOT_PATH=$(shell readlink
> '${PTXDIST_WORKSPACE}/selected_toolchain' | sed -e
> 's/\(bin\)*$$//g')$(SYSROOT_TOOLCHAIN)
> +
> +INC_MTD_UTILS=$(PTXDIST_PLATFORMDIR)/build-target/$(MTD_UTILS)/include
> +INC_LIBCURL=$(PTXDIST_PLATFORMDIR)/build-target/$(LIBCURL)/include
> +INC_OPENSSL=$(PTXDIST_PLATFORMDIR)/build-target/$(OPENSSL)/include
> +INC_ZLIB=$(PTXDIST_PLATFORMDIR)/build-target/$(ZLIB)
> +INC_LIBARCHIVE=$(PTXDIST_PLATFORMDIR)/build-target/$(LIBARCHIVE)/libarchive
>
> +INC_LIBCONFIG=$(PTXDIST_PLATFORMDIR)/build-target/$(LIBCONFIG)/lib
> +INC_JSON_C=$(PTXDIST_PLATFORMDIR)/build-target/$(JSON_C)/lib
> +INC_LUA=$(PTXDIST_PLATFORMDIR)/build-target/$(LUA)/src
> +ALL_PATH_INC=\-\I\ \$(INC_MTD_UTILS)\ \-\I\ \$(INC_LIBCURL)\ \-\I\
> \$(INC_OPENSSL)\ \-\I\ \$(INC_ZLIB)\ \-\I\ \$(INC_LIBARCHIVE)\ \-\I\
> \$(INC_LIBCONFIG)\ \-\I\ \$(INC_JSON_C)\ \-\I\ \$(INC_LUA)
> +
> +LIB_MTD_UTILS=$(PTXDIST_PLATFORMDIR)/build-target/$(MTD_UTILS)/arm-cortexa8-linux-gnueabihf/lib
>
> +LIB_MTD_UTILS_UBI=$(PTXDIST_PLATFORMDIR)/build-target/$(MTD_UTILS)/arm-cortexa8-linux-gnueabihf/ubi-utils
>
> +LIB_LIBCURL=$(PTXDIST_PLATFORMDIR)/build-target/$(LIBCURL)/lib/.libs
> +LIB_OPENSSL=$(PTXDIST_PLATFORMDIR)/build-target/$(OPENSSL)
> +LIB_ZLIB=$(PTXDIST_PLATFORMDIR)/build-target/$(ZLIB)
> +LIB_LIBARCHIVE=$(PTXDIST_PLATFORMDIR)/build-target/$(LIBARCHIVE)/.libs
> +LIB_LIBCONFIG=$(PTXDIST_PLATFORMDIR)/build-target/$(LIBCONFIG)/lib/.libs
> +LIB_JSON_C=$(PTXDIST_PLATFORMDIR)/build-target/$(JSON_C)/.libs
> +LIB_LUA=$(PTXDIST_PLATFORMDIR)/build-target/$(LUA)/src/.libs
> +ALL_PATH_LIB=\-\L\ \$(LIB_MTD_UTILS)\ \-\L\ \$(LIB_MTD_UTILS_UBI)\
> \-\L\ \$(LIB_LIBCURL)\ \-\L\ \$(LIB_LIBCURL)\ \-\L\ \$(LIB_OPENSSL)\
> \-\L\ \$(LIB_ZLIB)\ \-\L\ \$(LIB_LIBARCHIVE)\ \-\L\ \$(LIB_LIBCONFIG)\
> \-\L\ \$(LIB_JSON_C)\ \-\L\ \$(LIB_LUA)
> +
> +$(STATEDIR)/swupdate.prepare:
> + @$(call targetinfo)
> + @$(call clean, $(SWUPDATE_DIR)/config.cache)
> + cd $(SWUPDATE_DIR) && \
> + make allyesconfig
> + sed -i 's,^\(CONFIG_SCRIPTS=\).*,\1'$(PTXCONF_SCRIPTS)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_HW_COMPATIBILITY=\).*,\1'$(PTXCONF_HW_COMPATIBILITY)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_HW_COMPATIBILITY_FILE=\).*,\1"'$(PTXCONF_HW_COMPATIBILITY_FILE)'",'
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SW_VERSIONS_FILE=\).*,\1"'$(PTXCONF_SW_VERSIONS_FILE)'",'
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_MTD=\).*,\1'$(PTXCONF_MTD)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_LUA=\).*,\1'$(PTXCONF_SWUPDATE_LUA)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_FEATURE_SYSLOG=\).*,\1'$(PTXCONF_FEATURE_SYSLOG)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_STATIC=\).*,\1'$(PTXCONF_STATIC)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_DEBUG=\).*,\1'$(PTXCONF_SW_UPDATE_DEBUG)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_DEBUG_PESSIMIZE=\).*,\1'$(PTXCONF_DEBUG_PESSIMIZE)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_WERROR=\).*,\1'$(PTXCONF_WERROR)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_NOCLEANUP=\).*,\1'$(PTXCONF_NOCLEANUP)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_DOWNLOAD=\).*,\1'$(PTXCONF_DOWNLOAD)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_HASH_VERIFY=\).*,\1'$(PTXCONF_HASH_VERIFY)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_SIGNED_IMAGES=\).*,\1'$(PTXCONF_SCRIPTS)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_ENCRYPTED_IMAGES=\).*,\1'$(PTXCONF_ENCRYPTED_IMAGES)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_SURICATTA=\).*,\1'$(PTXCONF_SURICATTA)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SURICATTA_SSL=\).*,\1'$(PTXCONF_SURICATTA_SSL)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SURICATTA_STATE_CHOICE_NONE=\).*,\1'$(PTXCONF_SURICATTA_STATE_CHOICE_NONE)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SURICATTA_STATE_CHOICE_UBOOT=\).*,\1'$(PTXCONF_SURICATTA_STATE_CHOICE_UBOOT)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SURICATTA_STATE_UBOOT=\).*,\1'$(PTXCONF_SCRIPTS)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SURICATTA_HAWKBIT=\).*,\1'$(PTXCONF_SURICATTA_HAWKBIT)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SURICATTA_SERVER_NONE=\).*,\1'$(PTXCONF_SURICATTA_SERVER_NONE)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_WEBSERVER=\).*,\1'$(PTXCONF_WEBSERVER)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_MONGOOSE=\).*,\1'$(PTXCONF_MONGOOSE)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_MONGOOSELUA=\).*,\1'$(PTXCONF_MONGOOSELUA)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_MONGOOSEIPV6=\).*,\1'$(PTXCONF_MONGOOSEIPV6)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_MONGOOSESSL=\).*,\1'$(PTXCONF_MONGOOSESSL)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_GUNZIP=\).*,\1'$(PTXCONF_GUNZIP)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_LIBCONFIG=\).*,\1'$(PTXCONF_LIBCONFIG)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_LIBCONFIGROOT=\).*,\1"'$(PTXCONF_LIBCONFIGROOT)'",'
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_JSON=\).*,\1'$(PTXCONF_JSON)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_LUAEXTERNAL=\).*,\1'$(PTXCONF_LUAEXTERNAL)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SETEXTPARSERNAME=\).*,\1'$(PTXCONF_SETEXTPARSERNAME)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_EXTPARSERNAME=\).*,\1'$(PTXCONF_EXTPARSERNAME)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SETSWDESCRIPTION=\).*,\1'$(PTXCONF_SETSWDESCRIPTION)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SWDESCRIPTION=\).*,\1'$(PTXCONF_SWDESCRIPTION)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_UBIVOL=\).*,\1'$(PTXCONF_UBIVOL)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_UBIBLACKLIST=\).*,\1'$(PTXCONF_UBIBLACKLIST)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_UBIVIDOFFSET=\).*,\1'$(PTXCONF_UBIVIDOFFSET)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_CFI=\).*,\1'$(PTXCONF_CFI)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_CFIHAMMING1=\).*,\1'$(PTXCONF_CFIHAMMING1)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_RAW=\).*,\1'$(PTXCONF_RAW)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_LUASCRIPTHANDLER=\).*,\1'$(PTXCONF_LUASCRIPTHANDLER)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_SHELLSCRIPTHANDLER=\).*,\1'$(PTXCONF_SHELLSCRIPTHANDLER)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_HANDLER_IN_LUA=\).*,\1'$(PTXCONF_HANDLER_IN_LUA)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_ARCHIVE=\).*,\1'$(PTXCONF_ARCHIVE)','
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_REMOTE_HANDLER=\).*,\1'$(PTXCONF_REMOTE_HANDLER)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_UBOOT=\).*,\1'$(PTXCONF_SWUPDATE_UBOOT)','
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_UBOOT_FWENV=\).*,\1"'$(PTXCONF_UBOOT_FWENV)'",'
> $(SWUPDATE_DIR)/.config
> +
> +#sed -i
> 's,^\(CONFIG_CROSS_COMPILE=\).*,\1"'$(PTXCONF_CROSS_COMPILE)'",'
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_CROSS_COMPILE=\).*,\1"'$(CROSS_COMPILE_PATH)'",'
> $(SWUPDATE_DIR)/.config
> +#sed -i 's,^\(CONFIG_SYSROOT=\).*,\1"'$(PTXCONF_SYSROOT)'",'
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_SYSROOT=\).*,\1"'$(SYS_ROOT_PATH)'",'
> $(SWUPDATE_DIR)/.config
> +
> +#sed -i 's,^\(CONFIG_EXTRA_CFLAGS=\).*,\1"'$(PTXCONF_EXTRA_CFLAGS)'",'
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_EXTRA_CFLAGS=\).*,\1"'$(ALL_PATH_INC)'",'
> $(SWUPDATE_DIR)/.config
> +#sed -i
> 's,^\(CONFIG_EXTRA_LDFLAGS=\).*,\1"'$(PTXCONF_EXTRA_LDFLAGS)'",'
> $(SWUPDATE_DIR)/.config
> + sed -i 's,^\(CONFIG_EXTRA_LDFLAGS=\).*,\1"'$(ALL_PATH_LIB)'",'
> $(SWUPDATE_DIR)/.config
> + sed -i
> 's,^\(CONFIG_EXTRA_LDLIBS=\).*,\1"'$(PTXCONF_EXTRA_LDLIBS)'",'
> $(SWUPDATE_DIR)/.config
> + sed -e '/=$$/s/^#*/# /' -e '/^#/s/=$$/ is not set /' -i
> $(SWUPDATE_DIR)/.config
> + @$(call touch)
> +
> +#
> ----------------------------------------------------------------------------
>
> +# Compile
> +#
> ----------------------------------------------------------------------------
>
> +$(STATEDIR)/swupdate.compile:
> + @$(call targetinfo)
> + @$(call world/compile, SWUPDATE)
> + @$(call touch)
> +
> +#
> ----------------------------------------------------------------------------
>
> +# Install
> +#
> ----------------------------------------------------------------------------
>
> +
> +$(STATEDIR)/swupdate.install:
> + @$(call targetinfo)
> +# @$(call world/install, SWUPDATE)
> + @$(call touch)
> +
> +#
> ----------------------------------------------------------------------------
>
> +# Target-Install
> +#
> ----------------------------------------------------------------------------
>
> +
> +$(STATEDIR)/swupdate.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, swupdate)
> + @$(call install_fixup, swupdate,PRIORITY,optional)
> + @$(call install_fixup, swupdate,SECTION,base)
> + @$(call install_fixup, swupdate,AUTHOR,"Pedro Lafuente
> <pedro.lafuente@avt-stoye.de>")
> + @$(call install_fixup, swupdate,DESCRIPTION,missing)
> +
> + @$(call install_copy, swupdate, 0, 0, 0755,
> $(SWUPDATE_DIR)/swupdate_unstripped, /usr/bin/swupdate_unstripped)
> + @$(call install_copy, swupdate, 0, 0, 0755,
> $(SWUPDATE_DIR)/swupdate, /usr/bin/swupdate)
> + @$(call install_copy, swupdate, 0, 0, 0755,
> $(SWUPDATE_DIR)/progress_unstripped, /usr/bin/progress_unstripped)
> + @$(call install_copy, swupdate, 0, 0, 0755,
> $(SWUPDATE_DIR)/progress, /usr/bin/progress)
> + @$(call install_tree, swupdate, 0, 0, $(SWUPDATE_DIR)/www/, /www/)
> +
> + @$(call install_finish, swupdate)
> + @$(call touch)
> +
> +#
> ----------------------------------------------------------------------------
>
> +# Clean
> +#
> ----------------------------------------------------------------------------
>
> +
> +$(STATEDIR)/swupdate.clean:
> + @$(call targetinfo)
> + @$(call clean_pkg, SWUPDATE)
> +
> +# vim: syntax=make
>
>
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
prev parent reply other threads:[~2017-04-25 12:42 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-24 13:41 Pedro Lafuente
2017-04-25 12:42 ` Roland Hieber [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=98c321e0-1a4d-2a63-0f8b-afc1140c851b@pengutronix.de \
--to=rhi@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox