From patchwork Tue Jun 11 20:49:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerzy Grzegorek X-Patchwork-Id: 1114209 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="tSYHboUM"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45Nhw400pWz9s6w for ; Wed, 12 Jun 2019 06:50:11 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 76A4420504; Tue, 11 Jun 2019 20:50:08 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F6mvZVceCvUq; Tue, 11 Jun 2019 20:50:03 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 5BB12204F0; Tue, 11 Jun 2019 20:50:03 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 53FEF1BF37A for ; Tue, 11 Jun 2019 20:50:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 4E7CA86AFD for ; Tue, 11 Jun 2019 20:50:01 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id il4F4v-vsCmK for ; Tue, 11 Jun 2019 20:50:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf1-f67.google.com (mail-lf1-f67.google.com [209.85.167.67]) by whitealder.osuosl.org (Postfix) with ESMTPS id B853386ACB for ; Tue, 11 Jun 2019 20:49:59 +0000 (UTC) Received: by mail-lf1-f67.google.com with SMTP id j29so10338507lfk.10 for ; Tue, 11 Jun 2019 13:49:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=0cYOhmigUVoYU6lEA6Li8TwkLh9ZYReauYlqU9RlCO0=; b=tSYHboUM6qPKyxa9Z6zQsDgXWDaSi4gOopTLxbkD+VqSNnlXL/h2H+UBfU3oqRz5n9 5BbYt0cIN7D2CgbrUY4C3O3x23C5w3xd4dSNXg4HmrUhqYxPxTBSGyftVqeJIqZrDcal WarQxVx9pmGPMK4ndh016M0hc9cpYBU/gDGbnAapmiCRZdqamikrLr4keRPFdcwX09s9 rk+FOUUcRIe0uIQ1RciT7GRNDQ7jU7EWZC1UELBrpzu4KYBIWihbTrbDal98497SvRNE bRrprDaGoCyi/ibPQBdpjX7HTE/ym5J5eMwLlpBUDRuWYLzYxYIwXeBT/TxBUYGUdJ74 N58Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=0cYOhmigUVoYU6lEA6Li8TwkLh9ZYReauYlqU9RlCO0=; b=q5p6IK/0yrqWG+DV6PjulBWOozcL8LFd+OxYevoVG2+0CTxHMlNCzAXrfAuer7AoWu TwPf2CP56QAFnBx7AeCGumiUKBuSfLXtp9Dc/onQpUk7a1ggdTSpUaR2/aTm+T7IGNDX LZx/CWSefUcUiYjtnpHzjc/dcthP9c9Tg6Cs0ThjCJouC/IbKTsQc3IydIzZZ9jTuX/q cotMyoe61jj/GLrv6829E1GKXFh/N2Ts+BFQrchij430OTLVZkLnumbltIO4+iTDGutA Xsb8GjBSxymcSkcuO5/n8UB7XolMsKhS38C0s3FlAkgHHUKCvpOoel+cNn162FHtKCAI VStA== X-Gm-Message-State: APjAAAX3QoKa6UwbbWda/FIQjYID+gc/jIhCRhFm5rsbbeKrmuE1fwHg yByv5t47Xj7mT9syzYyRxCDsBJnp X-Google-Smtp-Source: APXvYqw9VqfzVvRPWc9mdfm5vnm0wgFRqkrkdbpog6OdRzUmwQdGs9ZP+fWo28c1SdVVB3PM1cq8Dw== X-Received: by 2002:ac2:4d1c:: with SMTP id r28mr1312451lfi.159.1560286197746; Tue, 11 Jun 2019 13:49:57 -0700 (PDT) Received: from localhost.localdomain (user-5-173-225-123.play-internet.pl. [5.173.225.123]) by smtp.gmail.com with ESMTPSA id q63sm2758666ljb.44.2019.06.11.13.49.55 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 11 Jun 2019 13:49:57 -0700 (PDT) From: Jerzy Grzegorek To: buildroot@busybox.net Date: Tue, 11 Jun 2019 22:49:45 +0200 Message-Id: <20190611204946.3848-1-jerzy.m.grzegorek@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [Buildroot] [PATCH v2 1/2] package/Config.in: fix alphabetical order X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jerzy Grzegorek MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Jerzy Grzegorek --- 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" From patchwork Tue Jun 11 20:49:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerzy Grzegorek X-Patchwork-Id: 1114210 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="K9L6fPjP"; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45Nhxs2jr1z9sBr for ; Wed, 12 Jun 2019 06:51:45 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id AD34F87D0B; Tue, 11 Jun 2019 20:51:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PiXdPQrCS8Tx; Tue, 11 Jun 2019 20:51:32 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 563F187D75; Tue, 11 Jun 2019 20:51:32 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 20BCC1BF37A for ; Tue, 11 Jun 2019 20:50:03 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 1E22A86AFD for ; Tue, 11 Jun 2019 20:50:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qsqbW+9-SLfe for ; Tue, 11 Jun 2019 20:50:02 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-lf1-f68.google.com (mail-lf1-f68.google.com [209.85.167.68]) by whitealder.osuosl.org (Postfix) with ESMTPS id 2C8C886ACB for ; Tue, 11 Jun 2019 20:50:02 +0000 (UTC) Received: by mail-lf1-f68.google.com with SMTP id a9so10351676lff.7 for ; Tue, 11 Jun 2019 13:50:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZKGWuMj81XZXgBBIOKU/0/o+1fbFGyvnQb/sVW/wFu8=; b=K9L6fPjPH9iUAC68PAxoA+vBbgl9GkZBHFrGnnA6WfBmQHCfiBRuWs/TyZ06j6tI/q 4DBtgIxz25tCUbkBB5Ohe/5h1VzlAg3wFpG7pCKJ3rfyU/OlR9Xx2YjNPauBzoigf+Ak ZuaZmMKjMUuVc9Qn6wAISaXch0yP3xPplvk0jmi9/l3sCND3cRNbW3ZRMAiSKKusud7m 1xS2ObN5V8VJr0Az8cKY3DyLC2wEfzaHkhdP7kTNNAgfkLZmRF8wsPxm5qXdLzGpEm1q jbFpxGFh+gWM6OrTL9Hjlm4WKqMg5VGRoGmmstgLVVdBigA8/JcXnhuj01y+aGN0IUTj VWOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZKGWuMj81XZXgBBIOKU/0/o+1fbFGyvnQb/sVW/wFu8=; b=kK/17WIHxb68EF4iffRmLDj451A4k/97LoMSO0IBhoqHRQQ6lws1R9WQZkS9QE7RoG B6VmzaPQSXaiEGDT7HzO6j3CvoDPT6ofWUO7wBardOULbTWiJFKq3sqRqkRg19rMi/d6 0U0onX4Re7sOiW+V5/sWKzC0SPDgO6VzfsyXi8wyUZZvsoYoTtt7Etg4TlPImd5FvIx6 4iWgnzpnTmF7BiOn45gzSGl7GbPARryCIjq7xIsKLDuZzzbNdwpHh8Qz4fLPgiHZ78AO VYKy0D1pNHNTt2DhgZNWhcOzQU8+rdFXp+4FaPLALcfzno9FSccaGSJ4wsf52uWFuIpZ yzig== X-Gm-Message-State: APjAAAVPXalxWSSxGmGk+U9rlI2xy3V83LjCM84JFtfAp5QMkopQxisy 7R5QlFBHniFvYq6g0xVos81udhKp X-Google-Smtp-Source: APXvYqzZ41Qj1h5p1oy9sNkvk97FZ1JQKvrVqr8A/J+grvBJiED3Xmir7LnPM8H4Uc50PvyNeTxj4w== X-Received: by 2002:ac2:43cf:: with SMTP id u15mr38029428lfl.188.1560286200243; Tue, 11 Jun 2019 13:50:00 -0700 (PDT) Received: from localhost.localdomain (user-5-173-225-123.play-internet.pl. [5.173.225.123]) by smtp.gmail.com with ESMTPSA id q63sm2758666ljb.44.2019.06.11.13.49.57 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 11 Jun 2019 13:49:59 -0700 (PDT) From: Jerzy Grzegorek To: buildroot@busybox.net Date: Tue, 11 Jun 2019 22:49:46 +0200 Message-Id: <20190611204946.3848-2-jerzy.m.grzegorek@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190611204946.3848-1-jerzy.m.grzegorek@gmail.com> References: <20190611204946.3848-1-jerzy.m.grzegorek@gmail.com> Subject: [Buildroot] [PATCH v2 2/2] checkpackagelib/lib_config.py: check packages alphabetical order in {Config.in, Config.in.host} X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jerzy Grzegorek MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Jerzy Grzegorek --- 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*$")