All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order
@ 2019-06-11 20:49 Jerzy Grzegorek
  2019-06-11 20:49 ` [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host} Jerzy Grzegorek
  2019-07-14 12:34 ` [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order Yann E. MORIN
  0 siblings, 2 replies; 8+ messages in thread
From: Jerzy Grzegorek @ 2019-06-11 20:49 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
---
Changes v1 -> v2:
 - swap patches 1 and 2 (Arnout)
 - change alphabetical order (Arnout)
   real alphabetical order: '-', digits, capitals, '_', lowercase
   order after change: '-', '_', digits, capitals, lowercase
---

 package/Config.in | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/package/Config.in b/package/Config.in
index f61009410d..fcb61c61e0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -288,10 +288,10 @@ comment "Graphic libraries"
 	source "package/directfb/Config.in"
 	source "package/directfb-examples/Config.in"
 	source "package/efl/Config.in"
+	source "package/fb-test-app/Config.in"
 	source "package/fbdump/Config.in"
 	source "package/fbgrab/Config.in"
 	source "package/fbset/Config.in"
-	source "package/fb-test-app/Config.in"
 	source "package/fbterm/Config.in"
 	source "package/fbv/Config.in"
 	source "package/freerdp/Config.in"
@@ -319,11 +319,11 @@ comment "Graphic libraries"
 
 comment "Other GUIs"
 	source "package/qt5/Config.in"
-	source "package/kf5/Config.in"
 if BR2_PACKAGE_QT5
 comment "QT libraries and helper libraries"
 	source "package/cutelyst/Config.in"
 	source "package/grantlee/Config.in"
+	source "package/kf5/Config.in"
 	source "package/qextserialport/Config.in"
 	source "package/qjson/Config.in"
 	source "package/quazip/Config.in"
@@ -462,8 +462,8 @@ endmenu
 	source "package/lcdproc/Config.in"
 	source "package/libubootenv/Config.in"
 	source "package/libuio/Config.in"
-	source "package/linuxconsoletools/Config.in"
 	source "package/linux-backports/Config.in"
+	source "package/linuxconsoletools/Config.in"
 	source "package/lirc-tools/Config.in"
 	source "package/lm-sensors/Config.in"
 	source "package/lshw/Config.in"
@@ -632,12 +632,15 @@ menu "Lua libraries/modules"
 	source "package/lua-messagepack/Config.in"
 	source "package/lua-msgpack-native/Config.in"
 	source "package/lua-periphery/Config.in"
+	source "package/lua-resty-http/Config.in"
+	source "package/lua-sailor/Config.in"
 	source "package/lua-sdl2/Config.in"
 	source "package/lua-std-debug/Config.in"
 	source "package/lua-std-normalize/Config.in"
 	source "package/lua-stdlib/Config.in"
 	source "package/lua-testmore/Config.in"
 	source "package/lua-utf8/Config.in"
+	source "package/lua-valua/Config.in"
 	source "package/luabitop/Config.in"
 	source "package/luadbi/Config.in"
 	source "package/luadbi-sqlite3/Config.in"
@@ -648,12 +651,9 @@ menu "Lua libraries/modules"
 	source "package/lualogging/Config.in"
 	source "package/luaossl/Config.in"
 	source "package/luaposix/Config.in"
-	source "package/lua-resty-http/Config.in"
-	source "package/lua-sailor/Config.in"
 	source "package/luasec/Config.in"
 	source "package/luasocket/Config.in"
 	source "package/luasql-sqlite3/Config.in"
-	source "package/lua-valua/Config.in"
 	source "package/lutok/Config.in"
 	source "package/luv/Config.in"
 	source "package/luvi/Config.in"
@@ -742,13 +742,13 @@ menu "Perl libraries/modules"
 	source "package/perl-lwp-mediatypes/Config.in"
 	source "package/perl-mail-dkim/Config.in"
 	source "package/perl-mailtools/Config.in"
-	source "package/perl-mime-base64-urlsafe/Config.in"
 	source "package/perl-mime-base64/Config.in"
+	source "package/perl-mime-base64-urlsafe/Config.in"
 	source "package/perl-mime-tools/Config.in"
 	source "package/perl-module-implementation/Config.in"
 	source "package/perl-module-runtime/Config.in"
-	source "package/perl-mojolicious-plugin-authentication/Config.in"
 	source "package/perl-mojolicious/Config.in"
+	source "package/perl-mojolicious-plugin-authentication/Config.in"
 	source "package/perl-moo/Config.in"
 	source "package/perl-net-dns/Config.in"
 	source "package/perl-net-http/Config.in"
@@ -767,8 +767,8 @@ menu "Perl libraries/modules"
 	source "package/perl-role-tiny/Config.in"
 	source "package/perl-stream-buffered/Config.in"
 	source "package/perl-sub-exporter-progressive/Config.in"
-	source "package/perl-sub-quote/Config.in"
 	source "package/perl-sub-install/Config.in"
+	source "package/perl-sub-quote/Config.in"
 	source "package/perl-sys-cpu/Config.in"
 	source "package/perl-sys-meminfo/Config.in"
 	source "package/perl-sys-mmap/Config.in"
@@ -819,9 +819,9 @@ menu "External python modules"
 	source "package/python-aiohttp-security/Config.in"
 	source "package/python-aiohttp-session/Config.in"
 	source "package/python-aiohttp-sse/Config.in"
+	source "package/python-aiojobs/Config.in"
 	source "package/python-aiomonitor/Config.in"
 	source "package/python-aiorwlock/Config.in"
-	source "package/python-aiojobs/Config.in"
 	source "package/python-alsaaudio/Config.in"
 	source "package/python-argh/Config.in"
 	source "package/python-arrow/Config.in"
@@ -873,8 +873,8 @@ menu "External python modules"
 	source "package/python-dicttoxml/Config.in"
 	source "package/python-django/Config.in"
 	source "package/python-docker/Config.in"
-	source "package/python-dockerpty/Config.in"
 	source "package/python-docker-pycreds/Config.in"
+	source "package/python-dockerpty/Config.in"
 	source "package/python-docopt/Config.in"
 	source "package/python-docutils/Config.in"
 	source "package/python-dominate/Config.in"
@@ -886,8 +886,8 @@ menu "External python modules"
 	source "package/python-falcon/Config.in"
 	source "package/python-fire/Config.in"
 	source "package/python-flask/Config.in"
-	source "package/python-flask-cors/Config.in"
 	source "package/python-flask-babel/Config.in"
+	source "package/python-flask-cors/Config.in"
 	source "package/python-flask-jsonrpc/Config.in"
 	source "package/python-flask-login/Config.in"
 	source "package/python-flask-sqlalchemy/Config.in"
@@ -920,9 +920,9 @@ menu "External python modules"
 	source "package/python-jaraco-classes/Config.in"
 	source "package/python-jedi/Config.in"
 	source "package/python-jinja2/Config.in"
+	source "package/python-json-schema-validator/Config.in"
 	source "package/python-jsonmodels/Config.in"
 	source "package/python-jsonschema/Config.in"
-	source "package/python-json-schema-validator/Config.in"
 	source "package/python-keyring/Config.in"
 	source "package/python-libconfig/Config.in"
 	source "package/python-libusb1/Config.in"
@@ -1269,8 +1269,8 @@ menu "Graphics"
 	source "package/cairo/Config.in"
 	source "package/cairomm/Config.in"
 	source "package/chipmunk/Config.in"
-	source "package/exiv2/Config.in"
 	source "package/exempi/Config.in"
+	source "package/exiv2/Config.in"
 	source "package/fltk/Config.in"
 	source "package/fontconfig/Config.in"
 	source "package/freetype/Config.in"
@@ -1963,13 +1963,13 @@ menu "Networking applications"
 	source "package/nbd/Config.in"
 	source "package/ncftp/Config.in"
 	source "package/ndisc6/Config.in"
+	source "package/net-tools/Config.in"
 	source "package/netatalk/Config.in"
 	source "package/netcat/Config.in"
 	source "package/netcat-openbsd/Config.in"
 	source "package/netplug/Config.in"
 	source "package/netsnmp/Config.in"
 	source "package/netstat-nat/Config.in"
-	source "package/net-tools/Config.in"
 	source "package/network-manager/Config.in"
 	source "package/nfacct/Config.in"
 	source "package/nftables/Config.in"
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host}
  2019-06-11 20:49 [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order Jerzy Grzegorek
@ 2019-06-11 20:49 ` Jerzy Grzegorek
  2019-07-13 22:27   ` Arnout Vandecappelle
  2019-07-14 12:34 ` [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order Yann E. MORIN
  1 sibling, 1 reply; 8+ messages in thread
From: Jerzy Grzegorek @ 2019-06-11 20:49 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
---
Changes v1 -> v2:
 - swap patches 1 and 2 (Arnout)
 - drop trailing lines (copy/paste side effect)
 - rewrap lines to < 80 chars
 - add variable to cut lines to < 80 chars
 - change alphabetical order of '_" to go before digits (Arnout)

TODO : checking of menu of comments and menu of menus
---

 utils/checkpackagelib/lib_config.py | 65 +++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/utils/checkpackagelib/lib_config.py b/utils/checkpackagelib/lib_config.py
index 89d44da57e..642634fc44 100644
--- a/utils/checkpackagelib/lib_config.py
+++ b/utils/checkpackagelib/lib_config.py
@@ -60,6 +60,71 @@ class AttributesOrder(_CheckFunction):
                     text]
 
 
+class CommentsMenusPackagesOrder(_CheckFunction):
+    level = {"": 0,
+             "-menu": 1, "-menu-menu": 2,
+             "-menu-menu-comment": 3, "-menu-menu-if": 3, "-menu-menu-menu": 3,
+             "-menu-menu-comment-if": 4, "-menu-menu-if-if": 4,
+             "-menu-menu-menu-if": 4, "-menu-menu-if-menu": 4,
+             "-menu-menu-comment-if-comment": 5, "-menu-menu-if-if-comment": 5,
+             "-menu-menu-if-if-menu": 5, "-menu-menu-menu-if-comment": 5,
+             "-menu-menu-menu-if-menu": 5}
+
+    print_package_warning = [True, True, True, True, True, True]
+    menu_of_packages = ["", "", "", "", "", ""]
+    package = ["", "", "", "", "", ""]
+    new_package = ["", "", "", "", "", ""]
+
+    def before(self):
+        self.state = ""
+
+    def check_line(self, lineno, text):
+        if text.startswith("comment") or text.startswith("if") or \
+           text.startswith("menu"):
+
+            if text.startswith("comment"):
+                if not self.state.endswith("-comment"):
+                    self.state += "-comment"
+
+            elif text.startswith("if") or text.startswith("menu"):
+                if text.startswith("if"):
+                    self.state += "-if"
+
+                elif text.startswith("menu"):
+                    self.state += "-menu"
+
+            level = self.level[self.state]
+            self.package[level] = ""
+            self.print_package_warning[level] = True
+            self.menu_of_packages[level] = text[:-1]
+
+        elif text.startswith("endif") or text.startswith("endmenu"):
+            if self.state.endswith("comment"):
+                self.state = self.state[:-8]
+
+            if text.startswith("endif"):
+                self.state = self.state[:-3]
+
+            elif text.startswith("endmenu"):
+                self.state = self.state[:-5]
+
+        elif text.startswith('\tsource "package/'):
+            level = self.level[self.state]
+            self.new_package[level] = text[17: -(len(self.filename)-5):]
+
+            if self.package[level] != "" and \
+               self.print_package_warning[level] and \
+               self.new_package[level].replace('_', '.') < self.package[level].replace('_', '.'):
+                self.print_package_warning[level] = False
+                return ["{}:{}: Packages in: {},\n                  are not "
+                        "alphabetically ordered;\n                  correct "
+                        "order: '-', '_', digits, capitals, lowercase"
+                        .format(self.filename, lineno, self.menu_of_packages[level]),
+                        text]
+
+            self.package[level] = self.new_package[level]
+
+
 class HelpText(_CheckFunction):
     HELP_TEXT_FORMAT = re.compile("^\t  .{,62}$")
     URL_ONLY = re.compile("^(http|https|git)://\S*$")
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host}
  2019-06-11 20:49 ` [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host} Jerzy Grzegorek
@ 2019-07-13 22:27   ` Arnout Vandecappelle
  2019-07-14 10:04     ` Yann E. MORIN
  2019-07-14 20:12     ` Jerzy Grzegorek
  0 siblings, 2 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2019-07-13 22:27 UTC (permalink / raw)
  To: buildroot

 Hi Jerzy,

On 11/06/2019 22:49, Jerzy Grzegorek wrote:
> Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>

 Applied both to master, thanks.

 I still made a lot of changes, though:

     - calculate level by counting - instead of with a static array;
     - new_package is only used locally, so don't make it a class member;
     - do indentation according to length of prefix;
     - don't split string in the middle of a line;
     - report first wrong package per menu;
     - do replace() only once;
     - add comment why we do replace().

 Please take a look at the end result, and if there's something you don't like,
send a follow-up patch.

 Regards,
 Arnout


> ---
> Changes v1 -> v2:
>  - swap patches 1 and 2 (Arnout)
>  - drop trailing lines (copy/paste side effect)
>  - rewrap lines to < 80 chars
>  - add variable to cut lines to < 80 chars
>  - change alphabetical order of '_" to go before digits (Arnout)
> 
> TODO : checking of menu of comments and menu of menus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host}
  2019-07-13 22:27   ` Arnout Vandecappelle
@ 2019-07-14 10:04     ` Yann E. MORIN
  2019-07-14 20:12     ` Jerzy Grzegorek
  1 sibling, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2019-07-14 10:04 UTC (permalink / raw)
  To: buildroot

Arnout, Jerzy, All,

On 2019-07-14 00:27 +0200, Arnout Vandecappelle spake thusly:
> On 11/06/2019 22:49, Jerzy Grzegorek wrote:
> > Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
> 
>  Applied both to master, thanks.
> 
>  I still made a lot of changes, though:
> 
>      - calculate level by counting - instead of with a static array;
>      - new_package is only used locally, so don't make it a class member;
>      - do indentation according to length of prefix;
>      - don't split string in the middle of a line;
>      - report first wrong package per menu;
>      - do replace() only once;
>      - add comment why we do replace().
> 
>  Please take a look at the end result, and if there's something you don't like,
> send a follow-up patch.

This breaks check-package, I'm afraid:

    $ LC_ALL=C make check-package
    find /home/ymorin/dev/buildroot/buildroot -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \
            -exec ./utils/check-package {} +
    Traceback (most recent call last):
      File "./utils/check-package", line 190, in <module>
        __main__()
      File "./utils/check-package", line 173, in __main__
        nwarnings, nlines = check_file_using_lib(fname)
      File "./utils/check-package", line 142, in check_file_using_lib
        nwarnings += print_warnings(cf.check_line(lineno + 1, text))
      File "/home/ymorin/dev/buildroot/buildroot/utils/checkpackagelib/lib_config.py", line 90, in check_line
        self.package[level] = ""
    IndexError: list assignment index out of range
    36465 lines processed
    0 warnings generated
    package/kodi/Config.in:303: Packages in: menu "Audio decoder addons",
                                are not alphabetically ordered;
                                correct order: '-', '_', digits, capitals, lowercase;
                                first incorrect package: kodi-audiodecoder
    package/kodi/Config.in:315: Packages in: menu "Audio encoder addons",
                                are not alphabetically ordered;
                                correct order: '-', '_', digits, capitals, lowercase;
                                first incorrect package: kodi-audioencode
    package/kodi/Config.in:326: Packages in: menu "Inputstream addons",
                                are not alphabetically ordered;
                                correct order: '-', '_', digits, capitals, lowercase;
                                first incorrect package: kodi-inputstream
    package/kodi/Config.in:335: Packages in: menu "PVR addons",
                                are not alphabetically ordered;
                                correct order: '-', '_', digits, capitals, lowercase;
                                first incorrect package: kodi-pv
    package/kodi/Config.in:359: Packages in: menu "Screensavers",
                                are not alphabetically ordered;
                                correct order: '-', '_', digits, capitals, lowercase;
                                first incorrect package: kodi-screensaver
    package/kodi/Config.in:370: Packages in: menu "Visualisations",
                                are not alphabetically ordered;
                                correct order: '-', '_', digits, capitals, lowercase;
                                first incorrect package: kodi-visualisation
    Traceback (most recent call last):
      File "./utils/check-package", line 190, in <module>
        __main__()
      File "./utils/check-package", line 173, in __main__
        nwarnings, nlines = check_file_using_lib(fname)
      File "./utils/check-package", line 142, in check_file_using_lib
        nwarnings += print_warnings(cf.check_line(lineno + 1, text))
      File "/home/ymorin/dev/buildroot/buildroot/utils/checkpackagelib/lib_config.py", line 90, in check_line
        self.package[level] = ""
    IndexError: list assignment index out of range
    37453 lines processed
    0 warnings generated
    20138 lines processed
    0 warnings generated
    make[1]: *** [Makefile:1201: check-package] Error 1
    make: *** [Makefile:84: _all] Error 2

So, the kodi errors are all false positive: the ordering there is already
correct.

But most problematic, is the python traceback, now... :-(

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order
  2019-06-11 20:49 [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order Jerzy Grzegorek
  2019-06-11 20:49 ` [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host} Jerzy Grzegorek
@ 2019-07-14 12:34 ` Yann E. MORIN
  2019-07-14 19:05   ` Arnout Vandecappelle
  2019-07-15  7:25   ` Jerzy Grzegorek
  1 sibling, 2 replies; 8+ messages in thread
From: Yann E. MORIN @ 2019-07-14 12:34 UTC (permalink / raw)
  To: buildroot

On 2019-06-11 22:49 +0200, Jerzy Grzegorek spake thusly:
> Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
> ---
> Changes v1 -> v2:
>  - swap patches 1 and 2 (Arnout)
>  - change alphabetical order (Arnout)
>    real alphabetical order: '-', digits, capitals, '_', lowercase
>    order after change: '-', '_', digits, capitals, lowercase
> ---
> 
>  package/Config.in | 30 +++++++++++++++---------------
>  1 file changed, 15 insertions(+), 15 deletions(-)
> 
> diff --git a/package/Config.in b/package/Config.in
> index f61009410d..fcb61c61e0 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -288,10 +288,10 @@ comment "Graphic libraries"
>  	source "package/directfb/Config.in"
>  	source "package/directfb-examples/Config.in"
>  	source "package/efl/Config.in"
> +	source "package/fb-test-app/Config.in"
>  	source "package/fbdump/Config.in"
>  	source "package/fbgrab/Config.in"
>  	source "package/fbset/Config.in"
> -	source "package/fb-test-app/Config.in"

Actually, I am not a fan of this ordering.

I am a human, not a machine, so when I try to find something in an
ordered list in my head, I definitely do not run qsort() using the
C locale. Instead, I just ignore '-' or '_' when sorting; I just
sort on the letters and numbers, and anything else is silently
ignored.

So, again, this is a mechanical sort suited for machines, not humans.
This is sad... :-(

Regards,
Yann E. MORIN.

>  	source "package/fbterm/Config.in"
>  	source "package/fbv/Config.in"
>  	source "package/freerdp/Config.in"
> @@ -319,11 +319,11 @@ comment "Graphic libraries"
>  
>  comment "Other GUIs"
>  	source "package/qt5/Config.in"
> -	source "package/kf5/Config.in"
>  if BR2_PACKAGE_QT5
>  comment "QT libraries and helper libraries"
>  	source "package/cutelyst/Config.in"
>  	source "package/grantlee/Config.in"
> +	source "package/kf5/Config.in"
>  	source "package/qextserialport/Config.in"
>  	source "package/qjson/Config.in"
>  	source "package/quazip/Config.in"
> @@ -462,8 +462,8 @@ endmenu
>  	source "package/lcdproc/Config.in"
>  	source "package/libubootenv/Config.in"
>  	source "package/libuio/Config.in"
> -	source "package/linuxconsoletools/Config.in"
>  	source "package/linux-backports/Config.in"
> +	source "package/linuxconsoletools/Config.in"
>  	source "package/lirc-tools/Config.in"
>  	source "package/lm-sensors/Config.in"
>  	source "package/lshw/Config.in"
> @@ -632,12 +632,15 @@ menu "Lua libraries/modules"
>  	source "package/lua-messagepack/Config.in"
>  	source "package/lua-msgpack-native/Config.in"
>  	source "package/lua-periphery/Config.in"
> +	source "package/lua-resty-http/Config.in"
> +	source "package/lua-sailor/Config.in"
>  	source "package/lua-sdl2/Config.in"
>  	source "package/lua-std-debug/Config.in"
>  	source "package/lua-std-normalize/Config.in"
>  	source "package/lua-stdlib/Config.in"
>  	source "package/lua-testmore/Config.in"
>  	source "package/lua-utf8/Config.in"
> +	source "package/lua-valua/Config.in"
>  	source "package/luabitop/Config.in"
>  	source "package/luadbi/Config.in"
>  	source "package/luadbi-sqlite3/Config.in"
> @@ -648,12 +651,9 @@ menu "Lua libraries/modules"
>  	source "package/lualogging/Config.in"
>  	source "package/luaossl/Config.in"
>  	source "package/luaposix/Config.in"
> -	source "package/lua-resty-http/Config.in"
> -	source "package/lua-sailor/Config.in"
>  	source "package/luasec/Config.in"
>  	source "package/luasocket/Config.in"
>  	source "package/luasql-sqlite3/Config.in"
> -	source "package/lua-valua/Config.in"
>  	source "package/lutok/Config.in"
>  	source "package/luv/Config.in"
>  	source "package/luvi/Config.in"
> @@ -742,13 +742,13 @@ menu "Perl libraries/modules"
>  	source "package/perl-lwp-mediatypes/Config.in"
>  	source "package/perl-mail-dkim/Config.in"
>  	source "package/perl-mailtools/Config.in"
> -	source "package/perl-mime-base64-urlsafe/Config.in"
>  	source "package/perl-mime-base64/Config.in"
> +	source "package/perl-mime-base64-urlsafe/Config.in"
>  	source "package/perl-mime-tools/Config.in"
>  	source "package/perl-module-implementation/Config.in"
>  	source "package/perl-module-runtime/Config.in"
> -	source "package/perl-mojolicious-plugin-authentication/Config.in"
>  	source "package/perl-mojolicious/Config.in"
> +	source "package/perl-mojolicious-plugin-authentication/Config.in"
>  	source "package/perl-moo/Config.in"
>  	source "package/perl-net-dns/Config.in"
>  	source "package/perl-net-http/Config.in"
> @@ -767,8 +767,8 @@ menu "Perl libraries/modules"
>  	source "package/perl-role-tiny/Config.in"
>  	source "package/perl-stream-buffered/Config.in"
>  	source "package/perl-sub-exporter-progressive/Config.in"
> -	source "package/perl-sub-quote/Config.in"
>  	source "package/perl-sub-install/Config.in"
> +	source "package/perl-sub-quote/Config.in"
>  	source "package/perl-sys-cpu/Config.in"
>  	source "package/perl-sys-meminfo/Config.in"
>  	source "package/perl-sys-mmap/Config.in"
> @@ -819,9 +819,9 @@ menu "External python modules"
>  	source "package/python-aiohttp-security/Config.in"
>  	source "package/python-aiohttp-session/Config.in"
>  	source "package/python-aiohttp-sse/Config.in"
> +	source "package/python-aiojobs/Config.in"
>  	source "package/python-aiomonitor/Config.in"
>  	source "package/python-aiorwlock/Config.in"
> -	source "package/python-aiojobs/Config.in"
>  	source "package/python-alsaaudio/Config.in"
>  	source "package/python-argh/Config.in"
>  	source "package/python-arrow/Config.in"
> @@ -873,8 +873,8 @@ menu "External python modules"
>  	source "package/python-dicttoxml/Config.in"
>  	source "package/python-django/Config.in"
>  	source "package/python-docker/Config.in"
> -	source "package/python-dockerpty/Config.in"
>  	source "package/python-docker-pycreds/Config.in"
> +	source "package/python-dockerpty/Config.in"
>  	source "package/python-docopt/Config.in"
>  	source "package/python-docutils/Config.in"
>  	source "package/python-dominate/Config.in"
> @@ -886,8 +886,8 @@ menu "External python modules"
>  	source "package/python-falcon/Config.in"
>  	source "package/python-fire/Config.in"
>  	source "package/python-flask/Config.in"
> -	source "package/python-flask-cors/Config.in"
>  	source "package/python-flask-babel/Config.in"
> +	source "package/python-flask-cors/Config.in"
>  	source "package/python-flask-jsonrpc/Config.in"
>  	source "package/python-flask-login/Config.in"
>  	source "package/python-flask-sqlalchemy/Config.in"
> @@ -920,9 +920,9 @@ menu "External python modules"
>  	source "package/python-jaraco-classes/Config.in"
>  	source "package/python-jedi/Config.in"
>  	source "package/python-jinja2/Config.in"
> +	source "package/python-json-schema-validator/Config.in"
>  	source "package/python-jsonmodels/Config.in"
>  	source "package/python-jsonschema/Config.in"
> -	source "package/python-json-schema-validator/Config.in"
>  	source "package/python-keyring/Config.in"
>  	source "package/python-libconfig/Config.in"
>  	source "package/python-libusb1/Config.in"
> @@ -1269,8 +1269,8 @@ menu "Graphics"
>  	source "package/cairo/Config.in"
>  	source "package/cairomm/Config.in"
>  	source "package/chipmunk/Config.in"
> -	source "package/exiv2/Config.in"
>  	source "package/exempi/Config.in"
> +	source "package/exiv2/Config.in"
>  	source "package/fltk/Config.in"
>  	source "package/fontconfig/Config.in"
>  	source "package/freetype/Config.in"
> @@ -1963,13 +1963,13 @@ menu "Networking applications"
>  	source "package/nbd/Config.in"
>  	source "package/ncftp/Config.in"
>  	source "package/ndisc6/Config.in"
> +	source "package/net-tools/Config.in"
>  	source "package/netatalk/Config.in"
>  	source "package/netcat/Config.in"
>  	source "package/netcat-openbsd/Config.in"
>  	source "package/netplug/Config.in"
>  	source "package/netsnmp/Config.in"
>  	source "package/netstat-nat/Config.in"
> -	source "package/net-tools/Config.in"
>  	source "package/network-manager/Config.in"
>  	source "package/nfacct/Config.in"
>  	source "package/nftables/Config.in"
> -- 
> 2.17.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order
  2019-07-14 12:34 ` [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order Yann E. MORIN
@ 2019-07-14 19:05   ` Arnout Vandecappelle
  2019-07-15  7:25   ` Jerzy Grzegorek
  1 sibling, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2019-07-14 19:05 UTC (permalink / raw)
  To: buildroot



On 14/07/2019 14:34, Yann E. MORIN wrote:
> On 2019-06-11 22:49 +0200, Jerzy Grzegorek spake thusly:
>> Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
>> ---
>> Changes v1 -> v2:
>>  - swap patches 1 and 2 (Arnout)
>>  - change alphabetical order (Arnout)
>>    real alphabetical order: '-', digits, capitals, '_', lowercase
>>    order after change: '-', '_', digits, capitals, lowercase
>> ---
>>
>>  package/Config.in | 30 +++++++++++++++---------------
>>  1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index f61009410d..fcb61c61e0 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -288,10 +288,10 @@ comment "Graphic libraries"
>>  	source "package/directfb/Config.in"
>>  	source "package/directfb-examples/Config.in"
>>  	source "package/efl/Config.in"
>> +	source "package/fb-test-app/Config.in"
>>  	source "package/fbdump/Config.in"
>>  	source "package/fbgrab/Config.in"
>>  	source "package/fbset/Config.in"
>> -	source "package/fb-test-app/Config.in"
> Actually, I am not a fan of this ordering.
> 
> I am a human, not a machine, so when I try to find something in an
> ordered list in my head, I definitely do not run qsort() using the
> C locale. Instead, I just ignore '-' or '_' when sorting; I just
> sort on the letters and numbers, and anything else is silently
> ignored.
> 
> So, again, this is a mechanical sort suited for machines, not humans.
> This is sad... :-(

 The intention was to go to a consistent ordering, not necessarily 'suited for
machines' (i.e. ascii ordering). See Jerzy's comment in the patch changelog
about ordering: _ is ordered before digits and letters instead of between
capital and lowercase.

 We could indeed do something similar for -, or replace - by nothing. However,
it's not as if things were ordered like that everywhere before this patch.

 So feel free to suggest an alternative ordering, and of course contribute a
patch to change it :-)

 BTW, I don't really agree that - or _ should be ignored while sorting. For me,
the following order looks wrong:

aaa
a-ba
abr

"a-ba" to me sounds like two words, and for me it feels more natural to order
"a ba" before "aaa".

 But this, obviously, is bikeshedding :-)


 Regards,
 Arnout

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host}
  2019-07-13 22:27   ` Arnout Vandecappelle
  2019-07-14 10:04     ` Yann E. MORIN
@ 2019-07-14 20:12     ` Jerzy Grzegorek
  1 sibling, 0 replies; 8+ messages in thread
From: Jerzy Grzegorek @ 2019-07-14 20:12 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

>   Hi Jerzy,
>
> On 11/06/2019 22:49, Jerzy Grzegorek wrote:
>> Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
>   Applied both to master, thanks.
>
>   I still made a lot of changes, though:
>
>       - calculate level by counting - instead of with a static array;
>       - new_package is only used locally, so don't make it a class member;
>       - do indentation according to length of prefix;
>       - don't split string in the middle of a line;
>       - report first wrong package per menu;
>       - do replace() only once;
>       - add comment why we do replace().
>
>   Please take a look at the end result, and if there's something you don't like,
> send a follow-up patch.
>
>   Regards,
>   Arnout


I'm fine with all the changes you did.
Thanks.
However, I'll send a follow-up patch.


Regards,

Jerzy


>
>
>> ---
>> Changes v1 -> v2:
>>   - swap patches 1 and 2 (Arnout)
>>   - drop trailing lines (copy/paste side effect)
>>   - rewrap lines to < 80 chars
>>   - add variable to cut lines to < 80 chars
>>   - change alphabetical order of '_" to go before digits (Arnout)
>>
>> TODO : checking of menu of comments and menu of menus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order
  2019-07-14 12:34 ` [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order Yann E. MORIN
  2019-07-14 19:05   ` Arnout Vandecappelle
@ 2019-07-15  7:25   ` Jerzy Grzegorek
  1 sibling, 0 replies; 8+ messages in thread
From: Jerzy Grzegorek @ 2019-07-15  7:25 UTC (permalink / raw)
  To: buildroot

Hi Yann,

> On 2019-06-11 22:49 +0200, Jerzy Grzegorek spake thusly:
>> Signed-off-by: Jerzy Grzegorek <jerzy.m.grzegorek@gmail.com>
>> ---
>> Changes v1 -> v2:
>>   - swap patches 1 and 2 (Arnout)
>>   - change alphabetical order (Arnout)
>>     real alphabetical order: '-', digits, capitals, '_', lowercase
>>     order after change: '-', '_', digits, capitals, lowercase
>> ---
>>
>>   package/Config.in | 30 +++++++++++++++---------------
>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index f61009410d..fcb61c61e0 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -288,10 +288,10 @@ comment "Graphic libraries"
>>   	source "package/directfb/Config.in"
>>   	source "package/directfb-examples/Config.in"
>>   	source "package/efl/Config.in"
>> +	source "package/fb-test-app/Config.in"
>>   	source "package/fbdump/Config.in"
>>   	source "package/fbgrab/Config.in"
>>   	source "package/fbset/Config.in"
>> -	source "package/fb-test-app/Config.in"
> Actually, I am not a fan of this ordering.
>
> I am a human, not a machine, so when I try to find something in an
> ordered list in my head, I definitely do not run qsort() using the
> C locale. Instead, I just ignore '-' or '_' when sorting; I just
> sort on the letters and numbers, and anything else is silently
> ignored.
>
> So, again, this is a mechanical sort suited for machines, not humans.
> This is sad... :-(
>
> Regards,
> Yann E. MORIN.

Thanks for your comment.
Please, take into account, that this patch changes order of packages
containing '-' in their name to be consistent with ordering of many 
other packages of this type.
Whether that order is? "correct" is another mattter. We can change it.

Regards,
Jerzy


>
>>   	source "package/fbterm/Config.in"
>>   	source "package/fbv/Config.in"
>>   	source "package/freerdp/Config.in"
>> @@ -319,11 +319,11 @@ comment "Graphic libraries"
>>   
>>   comment "Other GUIs"
>>   	source "package/qt5/Config.in"
>> -	source "package/kf5/Config.in"
>>   if BR2_PACKAGE_QT5
>>   comment "QT libraries and helper libraries"
>>   	source "package/cutelyst/Config.in"
>>   	source "package/grantlee/Config.in"
>> +	source "package/kf5/Config.in"
>>   	source "package/qextserialport/Config.in"
>>   	source "package/qjson/Config.in"
>>   	source "package/quazip/Config.in"
>> @@ -462,8 +462,8 @@ endmenu
>>   	source "package/lcdproc/Config.in"
>>   	source "package/libubootenv/Config.in"
>>   	source "package/libuio/Config.in"
>> -	source "package/linuxconsoletools/Config.in"
>>   	source "package/linux-backports/Config.in"
>> +	source "package/linuxconsoletools/Config.in"
>>   	source "package/lirc-tools/Config.in"
>>   	source "package/lm-sensors/Config.in"
>>   	source "package/lshw/Config.in"
>> @@ -632,12 +632,15 @@ menu "Lua libraries/modules"
>>   	source "package/lua-messagepack/Config.in"
>>   	source "package/lua-msgpack-native/Config.in"
>>   	source "package/lua-periphery/Config.in"
>> +	source "package/lua-resty-http/Config.in"
>> +	source "package/lua-sailor/Config.in"
>>   	source "package/lua-sdl2/Config.in"
>>   	source "package/lua-std-debug/Config.in"
>>   	source "package/lua-std-normalize/Config.in"
>>   	source "package/lua-stdlib/Config.in"
>>   	source "package/lua-testmore/Config.in"
>>   	source "package/lua-utf8/Config.in"
>> +	source "package/lua-valua/Config.in"
>>   	source "package/luabitop/Config.in"
>>   	source "package/luadbi/Config.in"
>>   	source "package/luadbi-sqlite3/Config.in"
>> @@ -648,12 +651,9 @@ menu "Lua libraries/modules"
>>   	source "package/lualogging/Config.in"
>>   	source "package/luaossl/Config.in"
>>   	source "package/luaposix/Config.in"
>> -	source "package/lua-resty-http/Config.in"
>> -	source "package/lua-sailor/Config.in"
>>   	source "package/luasec/Config.in"
>>   	source "package/luasocket/Config.in"
>>   	source "package/luasql-sqlite3/Config.in"
>> -	source "package/lua-valua/Config.in"
>>   	source "package/lutok/Config.in"
>>   	source "package/luv/Config.in"
>>   	source "package/luvi/Config.in"
>> @@ -742,13 +742,13 @@ menu "Perl libraries/modules"
>>   	source "package/perl-lwp-mediatypes/Config.in"
>>   	source "package/perl-mail-dkim/Config.in"
>>   	source "package/perl-mailtools/Config.in"
>> -	source "package/perl-mime-base64-urlsafe/Config.in"
>>   	source "package/perl-mime-base64/Config.in"
>> +	source "package/perl-mime-base64-urlsafe/Config.in"
>>   	source "package/perl-mime-tools/Config.in"
>>   	source "package/perl-module-implementation/Config.in"
>>   	source "package/perl-module-runtime/Config.in"
>> -	source "package/perl-mojolicious-plugin-authentication/Config.in"
>>   	source "package/perl-mojolicious/Config.in"
>> +	source "package/perl-mojolicious-plugin-authentication/Config.in"
>>   	source "package/perl-moo/Config.in"
>>   	source "package/perl-net-dns/Config.in"
>>   	source "package/perl-net-http/Config.in"
>> @@ -767,8 +767,8 @@ menu "Perl libraries/modules"
>>   	source "package/perl-role-tiny/Config.in"
>>   	source "package/perl-stream-buffered/Config.in"
>>   	source "package/perl-sub-exporter-progressive/Config.in"
>> -	source "package/perl-sub-quote/Config.in"
>>   	source "package/perl-sub-install/Config.in"
>> +	source "package/perl-sub-quote/Config.in"
>>   	source "package/perl-sys-cpu/Config.in"
>>   	source "package/perl-sys-meminfo/Config.in"
>>   	source "package/perl-sys-mmap/Config.in"
>> @@ -819,9 +819,9 @@ menu "External python modules"
>>   	source "package/python-aiohttp-security/Config.in"
>>   	source "package/python-aiohttp-session/Config.in"
>>   	source "package/python-aiohttp-sse/Config.in"
>> +	source "package/python-aiojobs/Config.in"
>>   	source "package/python-aiomonitor/Config.in"
>>   	source "package/python-aiorwlock/Config.in"
>> -	source "package/python-aiojobs/Config.in"
>>   	source "package/python-alsaaudio/Config.in"
>>   	source "package/python-argh/Config.in"
>>   	source "package/python-arrow/Config.in"
>> @@ -873,8 +873,8 @@ menu "External python modules"
>>   	source "package/python-dicttoxml/Config.in"
>>   	source "package/python-django/Config.in"
>>   	source "package/python-docker/Config.in"
>> -	source "package/python-dockerpty/Config.in"
>>   	source "package/python-docker-pycreds/Config.in"
>> +	source "package/python-dockerpty/Config.in"
>>   	source "package/python-docopt/Config.in"
>>   	source "package/python-docutils/Config.in"
>>   	source "package/python-dominate/Config.in"
>> @@ -886,8 +886,8 @@ menu "External python modules"
>>   	source "package/python-falcon/Config.in"
>>   	source "package/python-fire/Config.in"
>>   	source "package/python-flask/Config.in"
>> -	source "package/python-flask-cors/Config.in"
>>   	source "package/python-flask-babel/Config.in"
>> +	source "package/python-flask-cors/Config.in"
>>   	source "package/python-flask-jsonrpc/Config.in"
>>   	source "package/python-flask-login/Config.in"
>>   	source "package/python-flask-sqlalchemy/Config.in"
>> @@ -920,9 +920,9 @@ menu "External python modules"
>>   	source "package/python-jaraco-classes/Config.in"
>>   	source "package/python-jedi/Config.in"
>>   	source "package/python-jinja2/Config.in"
>> +	source "package/python-json-schema-validator/Config.in"
>>   	source "package/python-jsonmodels/Config.in"
>>   	source "package/python-jsonschema/Config.in"
>> -	source "package/python-json-schema-validator/Config.in"
>>   	source "package/python-keyring/Config.in"
>>   	source "package/python-libconfig/Config.in"
>>   	source "package/python-libusb1/Config.in"
>> @@ -1269,8 +1269,8 @@ menu "Graphics"
>>   	source "package/cairo/Config.in"
>>   	source "package/cairomm/Config.in"
>>   	source "package/chipmunk/Config.in"
>> -	source "package/exiv2/Config.in"
>>   	source "package/exempi/Config.in"
>> +	source "package/exiv2/Config.in"
>>   	source "package/fltk/Config.in"
>>   	source "package/fontconfig/Config.in"
>>   	source "package/freetype/Config.in"
>> @@ -1963,13 +1963,13 @@ menu "Networking applications"
>>   	source "package/nbd/Config.in"
>>   	source "package/ncftp/Config.in"
>>   	source "package/ndisc6/Config.in"
>> +	source "package/net-tools/Config.in"
>>   	source "package/netatalk/Config.in"
>>   	source "package/netcat/Config.in"
>>   	source "package/netcat-openbsd/Config.in"
>>   	source "package/netplug/Config.in"
>>   	source "package/netsnmp/Config.in"
>>   	source "package/netstat-nat/Config.in"
>> -	source "package/net-tools/Config.in"
>>   	source "package/network-manager/Config.in"
>>   	source "package/nfacct/Config.in"
>>   	source "package/nftables/Config.in"
>> -- 
>> 2.17.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-07-15  7:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-11 20:49 [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order Jerzy Grzegorek
2019-06-11 20:49 ` [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host} Jerzy Grzegorek
2019-07-13 22:27   ` Arnout Vandecappelle
2019-07-14 10:04     ` Yann E. MORIN
2019-07-14 20:12     ` Jerzy Grzegorek
2019-07-14 12:34 ` [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order Yann E. MORIN
2019-07-14 19:05   ` Arnout Vandecappelle
2019-07-15  7:25   ` Jerzy Grzegorek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.