[libvirt] [PATCH v3 0/2] Empty first lines series

v3 -- use the whole VC_LIST_EXCEPT, create exception for necessities and clear the rest v2 -- s/FILENAME:1:/FILENAME ":1:"/ Martin Kletzander (2): Remove unnecessary empty first lines maint: prohibit empty first lines cfg.mk | 10 ++++++++++ docs/generic.css | 1 - docs/libvirt.css | 2 -- src/locking/lockd.conf | 1 - src/locking/sanlock.conf | 1 - tests/nodeinfodata/linux-test3/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node2/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node3/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node4/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node5/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node6/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node7/meminfo | 1 - tests/nodeinfodata/linux-test4/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test4/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test6/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test8/cpu/offline | 1 - tests/nodeinfodata/linux-test8/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node2/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node3/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node4/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node5/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node6/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node7/meminfo | 1 - 25 files changed, 10 insertions(+), 25 deletions(-) -- 2.0.0

Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- docs/generic.css | 1 - docs/libvirt.css | 2 -- src/locking/lockd.conf | 1 - src/locking/sanlock.conf | 1 - tests/nodeinfodata/linux-test3/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node2/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node3/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node4/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node5/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node6/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node7/meminfo | 1 - tests/nodeinfodata/linux-test4/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test4/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test6/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test8/cpu/offline | 1 - tests/nodeinfodata/linux-test8/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node2/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node3/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node4/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node5/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node6/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node7/meminfo | 1 - 24 files changed, 25 deletions(-) diff --git a/docs/generic.css b/docs/generic.css index 4be5fa2..ce022cd 100644 --- a/docs/generic.css +++ b/docs/generic.css @@ -1,4 +1,3 @@ - body { margin: 0em; padding: 0px; diff --git a/docs/libvirt.css b/docs/libvirt.css index 1d27873..b42c9de 100644 --- a/docs/libvirt.css +++ b/docs/libvirt.css @@ -1,5 +1,3 @@ - - h1 { font-weight: normal; color: #3c857c; diff --git a/src/locking/lockd.conf b/src/locking/lockd.conf index 85edb91..fa43760 100644 --- a/src/locking/lockd.conf +++ b/src/locking/lockd.conf @@ -1,4 +1,3 @@ - # # The default lockd behaviour is to acquire locks directly # against each configured disk file / block device. If the diff --git a/src/locking/sanlock.conf b/src/locking/sanlock.conf index 40ece65..e5566ef 100644 --- a/src/locking/sanlock.conf +++ b/src/locking/sanlock.conf @@ -1,4 +1,3 @@ - # # The default sanlock configuration requires the management # application to manually define <lease> elements in the diff --git a/tests/nodeinfodata/linux-test3/node/node0/meminfo b/tests/nodeinfodata/linux-test3/node/node0/meminfo index ec2bf50..710e59c 100644 --- a/tests/nodeinfodata/linux-test3/node/node0/meminfo +++ b/tests/nodeinfodata/linux-test3/node/node0/meminfo @@ -1,4 +1,3 @@ - Node 0 MemTotal: 67098848 kB Node 0 MemFree: 64989968 kB Node 0 MemUsed: 2108880 kB diff --git a/tests/nodeinfodata/linux-test3/node/node1/meminfo b/tests/nodeinfodata/linux-test3/node/node1/meminfo index f84bd4c..c7b2209 100644 --- a/tests/nodeinfodata/linux-test3/node/node1/meminfo +++ b/tests/nodeinfodata/linux-test3/node/node1/meminfo @@ -1,4 +1,3 @@ - Node 1 MemTotal: 67108864 kB Node 1 MemFree: 65361692 kB Node 1 MemUsed: 1747172 kB diff --git a/tests/nodeinfodata/linux-test3/node/node2/meminfo b/tests/nodeinfodata/linux-test3/node/node2/meminfo index c755e48..7a41b79 100644 --- a/tests/nodeinfodata/linux-test3/node/node2/meminfo +++ b/tests/nodeinfodata/linux-test3/node/node2/meminfo @@ -1,4 +1,3 @@ - Node 2 MemTotal: 67108864 kB Node 2 MemFree: 64350240 kB Node 2 MemUsed: 2758624 kB diff --git a/tests/nodeinfodata/linux-test3/node/node3/meminfo b/tests/nodeinfodata/linux-test3/node/node3/meminfo index b580944..836e488 100644 --- a/tests/nodeinfodata/linux-test3/node/node3/meminfo +++ b/tests/nodeinfodata/linux-test3/node/node3/meminfo @@ -1,4 +1,3 @@ - Node 3 MemTotal: 67108864 kB Node 3 MemFree: 65372380 kB Node 3 MemUsed: 1736484 kB diff --git a/tests/nodeinfodata/linux-test3/node/node4/meminfo b/tests/nodeinfodata/linux-test3/node/node4/meminfo index 8ad9b86..7897b2b 100644 --- a/tests/nodeinfodata/linux-test3/node/node4/meminfo +++ b/tests/nodeinfodata/linux-test3/node/node4/meminfo @@ -1,4 +1,3 @@ - Node 4 MemTotal: 67108864 kB Node 4 MemFree: 64730416 kB Node 4 MemUsed: 2378448 kB diff --git a/tests/nodeinfodata/linux-test3/node/node5/meminfo b/tests/nodeinfodata/linux-test3/node/node5/meminfo index fb93073..59d2792 100644 --- a/tests/nodeinfodata/linux-test3/node/node5/meminfo +++ b/tests/nodeinfodata/linux-test3/node/node5/meminfo @@ -1,4 +1,3 @@ - Node 5 MemTotal: 67108864 kB Node 5 MemFree: 65315792 kB Node 5 MemUsed: 1793072 kB diff --git a/tests/nodeinfodata/linux-test3/node/node6/meminfo b/tests/nodeinfodata/linux-test3/node/node6/meminfo index d4fa1d0..3c6c10b 100644 --- a/tests/nodeinfodata/linux-test3/node/node6/meminfo +++ b/tests/nodeinfodata/linux-test3/node/node6/meminfo @@ -1,4 +1,3 @@ - Node 6 MemTotal: 67108864 kB Node 6 MemFree: 65259848 kB Node 6 MemUsed: 1849016 kB diff --git a/tests/nodeinfodata/linux-test3/node/node7/meminfo b/tests/nodeinfodata/linux-test3/node/node7/meminfo index 4f43eae..4bff99e 100644 --- a/tests/nodeinfodata/linux-test3/node/node7/meminfo +++ b/tests/nodeinfodata/linux-test3/node/node7/meminfo @@ -1,4 +1,3 @@ - Node 7 MemTotal: 67108864 kB Node 7 MemFree: 65303740 kB Node 7 MemUsed: 1805124 kB diff --git a/tests/nodeinfodata/linux-test4/node/node0/meminfo b/tests/nodeinfodata/linux-test4/node/node0/meminfo index c74a372..2df003f 100644 --- a/tests/nodeinfodata/linux-test4/node/node0/meminfo +++ b/tests/nodeinfodata/linux-test4/node/node0/meminfo @@ -1,4 +1,3 @@ - Node 0 MemTotal: 67002564 kB Node 0 MemFree: 63623272 kB Node 0 MemUsed: 3379292 kB diff --git a/tests/nodeinfodata/linux-test4/node/node1/meminfo b/tests/nodeinfodata/linux-test4/node/node1/meminfo index 1f59f19..cbe597d 100644 --- a/tests/nodeinfodata/linux-test4/node/node1/meminfo +++ b/tests/nodeinfodata/linux-test4/node/node1/meminfo @@ -1,4 +1,3 @@ - Node 1 MemTotal: 67108864 kB Node 1 MemFree: 61752192 kB Node 1 MemUsed: 5356672 kB diff --git a/tests/nodeinfodata/linux-test6/node/node0/meminfo b/tests/nodeinfodata/linux-test6/node/node0/meminfo index 8122d41..1db1685 100644 --- a/tests/nodeinfodata/linux-test6/node/node0/meminfo +++ b/tests/nodeinfodata/linux-test6/node/node0/meminfo @@ -1,4 +1,3 @@ - Node 0 MemTotal: 8379620 kB Node 0 MemFree: 2971308 kB Node 0 MemUsed: 5408312 kB diff --git a/tests/nodeinfodata/linux-test8/cpu/offline b/tests/nodeinfodata/linux-test8/cpu/offline index 8b13789..e69de29 100644 --- a/tests/nodeinfodata/linux-test8/cpu/offline +++ b/tests/nodeinfodata/linux-test8/cpu/offline @@ -1 +0,0 @@ - diff --git a/tests/nodeinfodata/linux-test8/node/node0/meminfo b/tests/nodeinfodata/linux-test8/node/node0/meminfo index 2e126cd..0c6009e 100644 --- a/tests/nodeinfodata/linux-test8/node/node0/meminfo +++ b/tests/nodeinfodata/linux-test8/node/node0/meminfo @@ -1,4 +1,3 @@ - Node 0 MemTotal: 16742060 kB Node 0 MemFree: 15971440 kB Node 0 MemUsed: 770620 kB diff --git a/tests/nodeinfodata/linux-test8/node/node1/meminfo b/tests/nodeinfodata/linux-test8/node/node1/meminfo index ec687f4..02ada5b 100644 --- a/tests/nodeinfodata/linux-test8/node/node1/meminfo +++ b/tests/nodeinfodata/linux-test8/node/node1/meminfo @@ -1,4 +1,3 @@ - Node 1 MemTotal: 16777216 kB Node 1 MemFree: 16315188 kB Node 1 MemUsed: 462028 kB diff --git a/tests/nodeinfodata/linux-test8/node/node2/meminfo b/tests/nodeinfodata/linux-test8/node/node2/meminfo index eec1591..2524a9f 100644 --- a/tests/nodeinfodata/linux-test8/node/node2/meminfo +++ b/tests/nodeinfodata/linux-test8/node/node2/meminfo @@ -1,4 +1,3 @@ - Node 2 MemTotal: 16777216 kB Node 2 MemFree: 16253184 kB Node 2 MemUsed: 524032 kB diff --git a/tests/nodeinfodata/linux-test8/node/node3/meminfo b/tests/nodeinfodata/linux-test8/node/node3/meminfo index bc7f86b..c07216f 100644 --- a/tests/nodeinfodata/linux-test8/node/node3/meminfo +++ b/tests/nodeinfodata/linux-test8/node/node3/meminfo @@ -1,4 +1,3 @@ - Node 3 MemTotal: 16777216 kB Node 3 MemFree: 16226124 kB Node 3 MemUsed: 551092 kB diff --git a/tests/nodeinfodata/linux-test8/node/node4/meminfo b/tests/nodeinfodata/linux-test8/node/node4/meminfo index e060072..f767f38 100644 --- a/tests/nodeinfodata/linux-test8/node/node4/meminfo +++ b/tests/nodeinfodata/linux-test8/node/node4/meminfo @@ -1,4 +1,3 @@ - Node 4 MemTotal: 16777216 kB Node 4 MemFree: 16200584 kB Node 4 MemUsed: 576632 kB diff --git a/tests/nodeinfodata/linux-test8/node/node5/meminfo b/tests/nodeinfodata/linux-test8/node/node5/meminfo index 272426d..2cc065d 100644 --- a/tests/nodeinfodata/linux-test8/node/node5/meminfo +++ b/tests/nodeinfodata/linux-test8/node/node5/meminfo @@ -1,4 +1,3 @@ - Node 5 MemTotal: 16777216 kB Node 5 MemFree: 16301072 kB Node 5 MemUsed: 476144 kB diff --git a/tests/nodeinfodata/linux-test8/node/node6/meminfo b/tests/nodeinfodata/linux-test8/node/node6/meminfo index c0fdc8f..2e38aa4 100644 --- a/tests/nodeinfodata/linux-test8/node/node6/meminfo +++ b/tests/nodeinfodata/linux-test8/node/node6/meminfo @@ -1,4 +1,3 @@ - Node 6 MemTotal: 16777216 kB Node 6 MemFree: 16237116 kB Node 6 MemUsed: 540100 kB diff --git a/tests/nodeinfodata/linux-test8/node/node7/meminfo b/tests/nodeinfodata/linux-test8/node/node7/meminfo index 51186d8..1be6f40 100644 --- a/tests/nodeinfodata/linux-test8/node/node7/meminfo +++ b/tests/nodeinfodata/linux-test8/node/node7/meminfo @@ -1,4 +1,3 @@ - Node 7 MemTotal: 16760828 kB Node 7 MemFree: 16251136 kB Node 7 MemUsed: 509692 kB -- 2.0.0

On Fri, Jun 06, 2014 at 11:20:32AM +0200, Martin Kletzander wrote:
Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- docs/generic.css | 1 - docs/libvirt.css | 2 -- src/locking/lockd.conf | 1 - src/locking/sanlock.conf | 1 - tests/nodeinfodata/linux-test3/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node2/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node3/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node4/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node5/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node6/meminfo | 1 - tests/nodeinfodata/linux-test3/node/node7/meminfo | 1 - tests/nodeinfodata/linux-test4/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test4/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test6/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test8/cpu/offline | 1 - tests/nodeinfodata/linux-test8/node/node0/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node1/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node2/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node3/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node4/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node5/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node6/meminfo | 1 - tests/nodeinfodata/linux-test8/node/node7/meminfo | 1 - 24 files changed, 25 deletions(-)
ACK Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

Based on discussion with Eric: https://www.redhat.com/archives/libvir-list/2014-March/msg01001.html Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- Notes: I've kept the first output (list of files) to stdout to sope with the rest of grep checks, but I have no problem changing it to stderr instead. cfg.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cfg.mk b/cfg.mk index b5f1fa2..10ad744 100644 --- a/cfg.mk +++ b/cfg.mk @@ -936,6 +936,13 @@ sc_require_locale_h: halt='setlocale() requires <locale.h>' \ $(_sc_search_regexp) +sc_prohibit_empty_first_line: + @awk 'BEGIN { fail=0; } \ + FNR == 1 { if ($$0 == "") { print FILENAME ":1:"; fail=1; } } \ + END { if (fail == 1) { \ + print "$(ME): Prohibited empty first line" > "/dev/stderr"; \ + } exit fail; }' $$($(VC_LIST_EXCEPT)); + # We don't use this feature of maint.mk. prev_version_file = /dev/null @@ -1115,3 +1122,6 @@ exclude_file_name_regexp--sc_avoid_attribute_unused_in_header = \ exclude_file_name_regexp--sc_prohibit_mixed_case_abbreviations = \ ^src/(vbox/vbox_CAPI.*.h|esx/esx_vi.(c|h)|esx/esx_storage_backend_iscsi.c)$$ + +exclude_file_name_regexp--sc_prohibit_empty_first_line = \ + ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt)$$ -- 2.0.0

On Fri, Jun 06, 2014 at 11:20:33AM +0200, Martin Kletzander wrote:
Based on discussion with Eric:
https://www.redhat.com/archives/libvir-list/2014-March/msg01001.html
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
ACK Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

Martin Kletzander wrote:
Based on discussion with Eric:
https://www.redhat.com/archives/libvir-list/2014-March/msg01001.html
Signed-off-by: Martin Kletzander <mkletzan@redhat.com> ---
Notes: I've kept the first output (list of files) to stdout to sope with the rest of grep checks, but I have no problem changing it to stderr instead.
cfg.mk | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/cfg.mk b/cfg.mk index b5f1fa2..10ad744 100644 --- a/cfg.mk +++ b/cfg.mk @@ -936,6 +936,13 @@ sc_require_locale_h: halt='setlocale() requires <locale.h>' \ $(_sc_search_regexp)
+sc_prohibit_empty_first_line: + @awk 'BEGIN { fail=0; } \ + FNR == 1 { if ($$0 == "") { print FILENAME ":1:"; fail=1; } } \ + END { if (fail == 1) { \ + print "$(ME): Prohibited empty first line" > "/dev/stderr"; \ + } exit fail; }' $$($(VC_LIST_EXCEPT)); + # We don't use this feature of maint.mk. prev_version_file = /dev/null
@@ -1115,3 +1122,6 @@ exclude_file_name_regexp--sc_avoid_attribute_unused_in_header = \
exclude_file_name_regexp--sc_prohibit_mixed_case_abbreviations = \ ^src/(vbox/vbox_CAPI.*.h|esx/esx_vi.(c|h)|esx/esx_storage_backend_iscsi.c)$$ + +exclude_file_name_regexp--sc_prohibit_empty_first_line = \ + ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt)$$
It started to fail for me with this change: prohibit_empty_first_line tools/libvirt_win_icon_16x16.ico:1: tools/libvirt_win_icon_32x32.ico:1: tools/libvirt_win_icon_48x48.ico:1: tools/libvirt_win_icon_64x64.ico:1: maint.mk: Prohibited empty first line I was able to fix it with: diff --git a/cfg.mk b/cfg.mk index 10ad744..3a3969c 100644 --- a/cfg.mk +++ b/cfg.mk @@ -1124,4 +1124,4 @@ exclude_file_name_regexp--sc_prohibit_mixed_case_abbreviations = \ ^src/(vbox/vbox_CAPI.*.h|esx/esx_vi.(c|h)|esx/esx_storage_backend_iscsi.c)$$ exclude_file_name_regexp--sc_prohibit_empty_first_line = \ - ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt)$$ + ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt|tools/.*\.ico)$$ Roman Bogorodskiy

On 06/10/2014 12:18 PM, Roman Bogorodskiy wrote:
+sc_prohibit_empty_first_line: + @awk 'BEGIN { fail=0; } \ + FNR == 1 { if ($$0 == "") { print FILENAME ":1:"; fail=1; } } \ + END { if (fail == 1) { \ + print "$(ME): Prohibited empty first line" > "/dev/stderr"; \ + } exit fail; }' $$($(VC_LIST_EXCEPT)); + # We don't use this feature of maint.mk. prev_version_file = /dev/null
@@ -1115,3 +1122,6 @@ exclude_file_name_regexp--sc_avoid_attribute_unused_in_header = \
exclude_file_name_regexp--sc_prohibit_mixed_case_abbreviations = \ ^src/(vbox/vbox_CAPI.*.h|esx/esx_vi.(c|h)|esx/esx_storage_backend_iscsi.c)$$ + +exclude_file_name_regexp--sc_prohibit_empty_first_line = \ + ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt)$$
It started to fail for me with this change:
prohibit_empty_first_line tools/libvirt_win_icon_16x16.ico:1:
Hmm, it might be simpler just to globally exclude all image formats, rather than repeating lists of image files in affected rules.
I was able to fix it with:
exclude_file_name_regexp--sc_prohibit_empty_first_line = \ - ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt)$$ + ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt|tools/.*\.ico)$$
Not quite consistent with other places where we ignore image files; for example: exclude_file_name_regexp--sc_trailing_blank = \ (/qemuhelpdata/|\.(fig|gif|ico|png)$$) but my thoughts are that we should really ditch those one-off exception lists for graphic binary files, and instead modify this list: VC_LIST_ALWAYS_EXCLUDE_REGEX = \ (^(HACKING|docs/(news\.html\.in|.*\.patch))|\.po)$$ -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On Tue, Jun 10, 2014 at 01:21:49PM -0600, Eric Blake wrote:
On 06/10/2014 12:18 PM, Roman Bogorodskiy wrote:
+sc_prohibit_empty_first_line: + @awk 'BEGIN { fail=0; } \ + FNR == 1 { if ($$0 == "") { print FILENAME ":1:"; fail=1; } } \ + END { if (fail == 1) { \ + print "$(ME): Prohibited empty first line" > "/dev/stderr"; \ + } exit fail; }' $$($(VC_LIST_EXCEPT)); + # We don't use this feature of maint.mk. prev_version_file = /dev/null
@@ -1115,3 +1122,6 @@ exclude_file_name_regexp--sc_avoid_attribute_unused_in_header = \
exclude_file_name_regexp--sc_prohibit_mixed_case_abbreviations = \ ^src/(vbox/vbox_CAPI.*.h|esx/esx_vi.(c|h)|esx/esx_storage_backend_iscsi.c)$$ + +exclude_file_name_regexp--sc_prohibit_empty_first_line = \ + ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt)$$
It started to fail for me with this change:
prohibit_empty_first_line tools/libvirt_win_icon_16x16.ico:1:
Hmm, it might be simpler just to globally exclude all image formats, rather than repeating lists of image files in affected rules.
Definitely. It's weird, though, that I'm not seeing this problem. Is it because I'm building on Linux? Why didn't some test box we have fail as well?
I was able to fix it with:
exclude_file_name_regexp--sc_prohibit_empty_first_line = \ - ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt)$$ + ^(README|daemon/THREADS\.txt|src/esx/README|docs/library.xen|tests/vmwareverdata/fusion-5.0.3.txt|tools/.*\.ico)$$
Not quite consistent with other places where we ignore image files; for example:
exclude_file_name_regexp--sc_trailing_blank = \ (/qemuhelpdata/|\.(fig|gif|ico|png)$$)
but my thoughts are that we should really ditch those one-off exception lists for graphic binary files, and instead modify this list:
VC_LIST_ALWAYS_EXCLUDE_REGEX = \ (^(HACKING|docs/(news\.html\.in|.*\.patch))|\.po)$$
And this looks like the right way to go. It would deal with possible future problems as well. After figuring out the parentheses, I can ACK this to go in if you want. I'm hoping to get to cleaning up the excludes one day. Martin

On 06/11/2014 12:54 AM, Martin Kletzander wrote:
It started to fail for me with this change:
prohibit_empty_first_line tools/libvirt_win_icon_16x16.ico:1:
Hmm, it might be simpler just to globally exclude all image formats, rather than repeating lists of image files in affected rules.
Definitely. It's weird, though, that I'm not seeing this problem. Is it because I'm building on Linux? Why didn't some test box we have fail as well?
Correct - Linux wasn't seeing the failure, because on Linux, 'awk' is GNU awk which gracefully handles embedded NUL bytes. On FreeBSD, 'awk' is a different implementation, which chokes on binary files; and the resulting choke triggered a false positive in the syntax check.
but my thoughts are that we should really ditch those one-off exception lists for graphic binary files, and instead modify this list:
VC_LIST_ALWAYS_EXCLUDE_REGEX = \ (^(HACKING|docs/(news\.html\.in|.*\.patch))|\.po)$$
And this looks like the right way to go. It would deal with possible future problems as well. After figuring out the parentheses, I can ACK this to go in if you want. I'm hoping to get to cleaning up the excludes one day.
It's in, now: https://www.redhat.com/archives/libvir-list/2014-June/msg00473.html -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 06/06/2014 03:20 AM, Martin Kletzander wrote:
v3 -- use the whole VC_LIST_EXCEPT, create exception for necessities and clear the rest
v2 -- s/FILENAME:1:/FILENAME ":1:"/
Martin Kletzander (2): Remove unnecessary empty first lines maint: prohibit empty first lines
cfg.mk | 10 ++++++++++ docs/generic.css | 1 - docs/libvirt.css | 2 -- src/locking/lockd.conf | 1 - src/locking/sanlock.conf | 1 - tests/nodeinfodata/linux-test3/node/node0/meminfo | 1 -
Was this (and similar) file copied from an actual sysfs output? If so, and if sysfs includes the leading blank lines, then we should exempt these files rather than touching them up. Otherwise, ACK series. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On Fri, Jun 06, 2014 at 06:44:07AM -0600, Eric Blake wrote:
On 06/06/2014 03:20 AM, Martin Kletzander wrote:
v3 -- use the whole VC_LIST_EXCEPT, create exception for necessities and clear the rest
v2 -- s/FILENAME:1:/FILENAME ":1:"/
Martin Kletzander (2): Remove unnecessary empty first lines maint: prohibit empty first lines
cfg.mk | 10 ++++++++++ docs/generic.css | 1 - docs/libvirt.css | 2 -- src/locking/lockd.conf | 1 - src/locking/sanlock.conf | 1 - tests/nodeinfodata/linux-test3/node/node0/meminfo | 1 -
Was this (and similar) file copied from an actual sysfs output? If so, and if sysfs includes the leading blank lines, then we should exempt these files rather than touching them up.
There are more files like this, about half of them had the first line empty and half of them hadn't. I tested that there is no difference between those two and also checked, on systems I came to contact with, that there is no empty line in that file.
Otherwise, ACK series.
Thanks, pushed already after review from Dan. Martin
participants (4)
-
Daniel P. Berrange
-
Eric Blake
-
Martin Kletzander
-
Roman Bogorodskiy