[PATCH v2 1/2] buildscript/patches: Automatically scan directories for feeds
Adrian Schmutzler
mail at adrianschmutzler.de
Mo Apr 8 16:15:47 CEST 2019
Hallo Robert,
ich bin dumm.
Ich meine "-s". Würde das beim Applien ändern, wenn du nicht sonst noch was findest.
Grüße
Adrian
> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf Of
> robert
> Sent: Montag, 8. April 2019 16:13
> To: franken-dev at freifunk.net
> Subject: Re: [PATCH v2 1/2] buildscript/patches: Automatically scan directories
> for feeds
>
> Hi Adrian, s. unten
>
> Am 08.04.19 um 15:32 schrieb Adrian Schmutzler:
> > The buildscript knows two different types of patches, which are
> > applied to pulled-in repositories:
> >
> > 1. Feed patches
> > Those are applied as "GIT patches" to the relevant repos,
> > directly after those have been checked out.
> > They reside in subfolders of the build_patches folder, and
> > have to be selected individually and manually in the
> > buildscript.sh.
> >
> > 2. Build patches
> > Those are applied later in the process, just using the system
> > patch tool, and changing the $target directory.
> > All patches in the folder "build_patches/openwrt" are read
> > and applied automatically.
> >
> > This is both inconsistent (two different types of patches in
> > the same dir) and annoying (feed patches have to be specified
> > by hand), especially for unexperienced developers.
> >
> > This patch addresses this by:
> > - separating files into two dirs: build_patches and feed_patches
> > - automatically scanning feed patches and thus having similar
> > experience for the user (I cannot think of a case where we
> > provide a patch, but do not use it)
> >
> > Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> >
> > ---
> >
> > Changes in v2:
> > - Improved "algorithm" as suggested by Robert
> > ---
> > buildscript | 26 ++++++++--------------
> > ...se-hotplug.d-iface-instead-of-hotplug.d-n.patch | 0
> > .../0020-fastd_generate_key_from_urandom.patch | 0
> > ...adv-patch-to-remove-gw-mode-switch-messag.patch | 0
> > 4 files changed, 9 insertions(+), 17 deletions(-)
> > rename {build_patches => feed_patches}/gluon/0001-simple-tc-Use-
> hotplug.d-iface-instead-of-hotplug.d-n.patch (100%)
> > rename {build_patches/openwrt/fastd => feed_patches/openwrt}/0020-
> fastd_generate_key_from_urandom.patch (100%)
> > rename {build_patches => feed_patches}/routing/0002-Add-batman-adv-
> patch-to-remove-gw-mode-switch-messag.patch (100%)
> >
> > diff --git a/buildscript b/buildscript
> > index 1d527c6e..1605b9cf 100755
> > --- a/buildscript
> > +++ b/buildscript
> > @@ -23,23 +23,20 @@
> PACKAGEURL="https://git.openwrt.org/feed/packages.git"
> > #official openwrt packages
> > OPENWRT=(openwrt
> > $PACKAGEURL
> > - $PACKAGEREV
> > - fastd/0020-fastd_generate_key_from_urandom.patch)
> > + $PACKAGEREV)
> > OPENWRT_PKGS="gpioctl-sysfs libugpio fastd haserl"
> >
> > ## Be careful: FFF uses COMPAT_VERSION 15 as default at the moment.
> > ## See http://www.open-mesh.org/projects/batman-
> adv/wiki/Compatversion
> > GLUON=(gluon
> > https://github.com/freifunk-gluon/packages.git
> > - 8b65619f59c3bdce743c2f2fb2588fdd7079355a
> > - "0001-simple-tc-Use-hotplug.d-iface-instead-of-hotplug.d-n.patch")
> > + 8b65619f59c3bdce743c2f2fb2588fdd7079355a)
> > GLUON_PKGS="kmod-batman-adv-legacy micrond simple-tc uradvd"
> >
> > #official openwrt routing packages
> > ROUTING=(routing
> > https://git.openwrt.org/feed/routing.git
> > - ea345d16a6e27c2a8fdf67bf543cc36a5f189131
> > - "0002-Add-batman-adv-patch-to-remove-gw-mode-switch-
> messag.patch") # openwrt-18.06.2
> > + ea345d16a6e27c2a8fdf67bf543cc36a5f189131) # openwrt-18.06.2
> > ROUTING_PKGS="kmod-batman-adv batctl alfred babeld"
> >
> > FFF=(fff)
> > @@ -101,19 +98,14 @@ get_source() {
> > if [ -n "$URL" ] && [ -n "$REV" ]; then
> > checkout_git "$NAME" "$URL" "$REV"
> >
> > - # Patches for feeds could be stored in known directories like
> build_patches/$NAME/
> > - # That way multiple patches for one feed could be supported
> > - count=3
> > - while [ "x${FEED[count]}" != "x" ]
> > - do
> > - local PATCH="../../../build_patches/${NAME}/${FEED[count]}"
> > - if [ ! -z "$PATCH" ] ; then
> > - echo "Patching $PATCH"
> > - git -C "$NAME" am --whitespace=nowarn "$PATCH"
> > + # Patches for feeds are stored in known directories like
> feed_patches/$NAME/
> > + for PATCH in $(ls ../../feed_patches/${NAME}/*.patch 2>/dev/null); do
> > + if [ -n "$PATCH" ] ; then
>
> # man test
>
> -n ZEICHENKETTE
>
> Die Länge von ZEICHENKETTE ist ungleich Null
>
> Die for Schleife geht nur in das do, wenn ein Element in der Liste
> gefunden wird. Das if ist also immer wahr.
>
>
> > + echo "Applying $PATCH"
> > + git -C "$NAME" am --whitespace=nowarn "../$PATCH"
> > else
> und das kommt nie dran.
> > - echo "Warning, $PATCH not found."
> > + echo "Empty patch $PATCH ignored."
>
> in $PATCH steht der Pfad. Also ist nicht der Patch leer sondern die
> Variable $PATCH und das kommt in einer for Schleife nicht vor. s. oben.
>
>
> > fi
> > - count=$(( count + 1 ))
> > done
> > fi
> > done
> > diff --git a/build_patches/gluon/0001-simple-tc-Use-hotplug.d-iface-instead-
> of-hotplug.d-n.patch b/feed_patches/gluon/0001-simple-tc-Use-hotplug.d-
> iface-instead-of-hotplug.d-n.patch
> > similarity index 100%
> > rename from build_patches/gluon/0001-simple-tc-Use-hotplug.d-iface-
> instead-of-hotplug.d-n.patch
> > rename to feed_patches/gluon/0001-simple-tc-Use-hotplug.d-iface-instead-
> of-hotplug.d-n.patch
> > diff --git a/build_patches/openwrt/fastd/0020-
> fastd_generate_key_from_urandom.patch b/feed_patches/openwrt/0020-
> fastd_generate_key_from_urandom.patch
> > similarity index 100%
> > rename from build_patches/openwrt/fastd/0020-
> fastd_generate_key_from_urandom.patch
> > rename to feed_patches/openwrt/0020-
> fastd_generate_key_from_urandom.patch
> > diff --git a/build_patches/routing/0002-Add-batman-adv-patch-to-remove-
> gw-mode-switch-messag.patch b/feed_patches/routing/0002-Add-batman-
> adv-patch-to-remove-gw-mode-switch-messag.patch
> > similarity index 100%
> > rename from build_patches/routing/0002-Add-batman-adv-patch-to-remove-
> gw-mode-switch-messag.patch
> > rename to feed_patches/routing/0002-Add-batman-adv-patch-to-remove-
> gw-mode-switch-messag.patch
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 834 bytes
Beschreibung: nicht verfügbar
URL : <https://{'listname': 'franken-dev-freifunk.net', 'hostname': 'lists.freifunk.net'}/pipermail/franken-dev-freifunk.net/attachments/20190408/b96670a9/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev