Dear stable maintainers,
please consider to apply two commits that fixup usability of scripts from v4.9.y series on systems with newer user space.
* commit c25ce589dca10d64dde139ae093abc258a32869c (< v5.11-rc1) tweewide: Fix most Shebang lines
* commit 51839e29cb5954470ea4db7236ef8c3d77a6e0bb (< v5.11-rc7) scripts: switch explicitly to Python 3
The following two patches are backports to v4.9.
Changes v1 -> v2: * undo adaption for shebang lines with arguments
Thanks and kind regards, Nicolas
Andy Shevchenko (1): scripts: switch explicitly to Python 3
Finn Behrens (1): tweewide: Fix most Shebang lines
Documentation/sphinx/parse-headers.pl | 2 +- Documentation/target/tcm_mod_builder.py | 2 +- Documentation/trace/postprocess/decode_msr.py | 2 +- Documentation/trace/postprocess/trace-pagealloc-postprocess.pl | 2 +- Documentation/trace/postprocess/trace-vmscan-postprocess.pl | 2 +- arch/ia64/scripts/unwcheck.py | 2 +- scripts/analyze_suspend.py | 2 +- scripts/bloat-o-meter | 2 +- scripts/bootgraph.pl | 2 +- scripts/checkincludes.pl | 2 +- scripts/checkstack.pl | 2 +- scripts/config | 2 +- scripts/diffconfig | 2 +- scripts/dtc/dt_to_config | 2 +- scripts/extract_xc3028.pl | 2 +- scripts/get_dvb_firmware | 2 +- scripts/markup_oops.pl | 2 +- scripts/profile2linkerlist.pl | 2 +- scripts/show_delta | 2 +- scripts/stackdelta | 2 +- scripts/tracing/draw_functrace.py | 2 +- tools/kvm/kvm_stat/kvm_stat | 2 +- tools/perf/python/tracepoint.py | 2 +- tools/perf/python/twatch.py | 2 +- tools/perf/scripts/python/call-graph-from-postgresql.py | 2 +- tools/perf/scripts/python/sched-migration.py | 2 +- tools/perf/util/setup.py | 2 +- tools/testing/ktest/compare-ktest-sample.pl | 2 +- 28 files changed, 28 insertions(+), 28 deletions(-)
From: Finn Behrens me@kloenk.de
commit c25ce589dca10d64dde139ae093abc258a32869c upstream.
Change every shebang which does not need an argument to use /usr/bin/env. This is needed as not every distro has everything under /usr/bin, sometimes not even bash.
Signed-off-by: Finn Behrens me@kloenk.de Signed-off-by: Masahiro Yamada masahiroy@kernel.org [nicolas@fjasle.eu: ported to v4.9, updated contexts, adapt for old scripts] Signed-off-by: Nicolas Schier nicolas@fjasle.eu --- Documentation/sphinx/parse-headers.pl | 2 +- Documentation/target/tcm_mod_builder.py | 2 +- Documentation/trace/postprocess/decode_msr.py | 2 +- Documentation/trace/postprocess/trace-pagealloc-postprocess.pl | 2 +- Documentation/trace/postprocess/trace-vmscan-postprocess.pl | 2 +- arch/ia64/scripts/unwcheck.py | 2 +- scripts/analyze_suspend.py | 2 +- scripts/bloat-o-meter | 2 +- scripts/bootgraph.pl | 2 +- scripts/checkincludes.pl | 2 +- scripts/checkstack.pl | 2 +- scripts/config | 2 +- scripts/diffconfig | 2 +- scripts/dtc/dt_to_config | 2 +- scripts/extract_xc3028.pl | 2 +- scripts/get_dvb_firmware | 2 +- scripts/markup_oops.pl | 2 +- scripts/profile2linkerlist.pl | 2 +- scripts/show_delta | 2 +- scripts/stackdelta | 2 +- scripts/tracing/draw_functrace.py | 2 +- tools/kvm/kvm_stat/kvm_stat | 2 +- tools/perf/python/tracepoint.py | 2 +- tools/perf/python/twatch.py | 2 +- tools/perf/scripts/python/call-graph-from-postgresql.py | 2 +- tools/perf/scripts/python/sched-migration.py | 2 +- tools/perf/util/setup.py | 2 +- tools/testing/ktest/compare-ktest-sample.pl | 2 +- 28 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/Documentation/sphinx/parse-headers.pl b/Documentation/sphinx/parse-headers.pl index db0186a7618f..299b0f82af27 100755 --- a/Documentation/sphinx/parse-headers.pl +++ b/Documentation/sphinx/parse-headers.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl use strict; use Text::Tabs;
diff --git a/Documentation/target/tcm_mod_builder.py b/Documentation/target/tcm_mod_builder.py index 94bf6944bb1e..7e79ff6b09e0 100755 --- a/Documentation/target/tcm_mod_builder.py +++ b/Documentation/target/tcm_mod_builder.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # The TCM v4 multi-protocol fabric module generation script for drivers/target/$NEW_MOD # # Copyright (c) 2010 Rising Tide Systems diff --git a/Documentation/trace/postprocess/decode_msr.py b/Documentation/trace/postprocess/decode_msr.py index 0ab40e0db580..aa9cc7abd5c2 100644 --- a/Documentation/trace/postprocess/decode_msr.py +++ b/Documentation/trace/postprocess/decode_msr.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # add symbolic names to read_msr / write_msr in trace # decode_msr msr-index.h < trace import sys diff --git a/Documentation/trace/postprocess/trace-pagealloc-postprocess.pl b/Documentation/trace/postprocess/trace-pagealloc-postprocess.pl index 0a120aae33ce..b9b7d80c2f9d 100644 --- a/Documentation/trace/postprocess/trace-pagealloc-postprocess.pl +++ b/Documentation/trace/postprocess/trace-pagealloc-postprocess.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This is a POC (proof of concept or piece of crap, take your pick) for reading the # text representation of trace output related to page allocation. It makes an attempt # to extract some high-level information on what is going on. The accuracy of the parser diff --git a/Documentation/trace/postprocess/trace-vmscan-postprocess.pl b/Documentation/trace/postprocess/trace-vmscan-postprocess.pl index 8f961ef2b457..7749cdf372f7 100644 --- a/Documentation/trace/postprocess/trace-vmscan-postprocess.pl +++ b/Documentation/trace/postprocess/trace-vmscan-postprocess.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This is a POC for reading the text representation of trace output related to # page reclaim. It makes an attempt to extract some high-level information on # what is going on. The accuracy of the parser may vary diff --git a/arch/ia64/scripts/unwcheck.py b/arch/ia64/scripts/unwcheck.py index 2bfd941ff7c7..c27849889e19 100644 --- a/arch/ia64/scripts/unwcheck.py +++ b/arch/ia64/scripts/unwcheck.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # Usage: unwcheck.py FILE # diff --git a/scripts/analyze_suspend.py b/scripts/analyze_suspend.py index a0ba48fa2c5e..edc4f1255f9b 100755 --- a/scripts/analyze_suspend.py +++ b/scripts/analyze_suspend.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # Tool for analyzing suspend/resume timing # Copyright (c) 2013, Intel Corporation. diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter index d9ff038c1b28..08e607e829c0 100755 --- a/scripts/bloat-o-meter +++ b/scripts/bloat-o-meter @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # Copyright 2004 Matt Mackall mpm@selenic.com # diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl index 9ca667bcaee9..594c55541b16 100755 --- a/scripts/bootgraph.pl +++ b/scripts/bootgraph.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl
# Copyright 2008, Intel Corporation # diff --git a/scripts/checkincludes.pl b/scripts/checkincludes.pl index 97b2c6143fe4..cfdfa02d4d92 100755 --- a/scripts/checkincludes.pl +++ b/scripts/checkincludes.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # checkincludes: find/remove files included more than once # diff --git a/scripts/checkstack.pl b/scripts/checkstack.pl index b8f616545277..32828fafcf5b 100755 --- a/scripts/checkstack.pl +++ b/scripts/checkstack.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl
# Check the stack usage of functions # diff --git a/scripts/config b/scripts/config index 73de17d39698..06ac9882e1de 100755 --- a/scripts/config +++ b/scripts/config @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Manipulate options in a .config file from the command line
myname=${0##*/} diff --git a/scripts/diffconfig b/scripts/diffconfig index 0db267d0adc9..ad1b16ec0f5b 100755 --- a/scripts/diffconfig +++ b/scripts/diffconfig @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # diffconfig - a tool to compare .config files. # diff --git a/scripts/dtc/dt_to_config b/scripts/dtc/dt_to_config index 9a248b505c58..5dfd1bff351f 100755 --- a/scripts/dtc/dt_to_config +++ b/scripts/dtc/dt_to_config @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl
# Copyright 2016 by Frank Rowand # Copyright 2016 by Gaurav Minocha diff --git a/scripts/extract_xc3028.pl b/scripts/extract_xc3028.pl index 47877deae6d7..61d9b256c658 100755 --- a/scripts/extract_xc3028.pl +++ b/scripts/extract_xc3028.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl
# Copyright (c) Mauro Carvalho Chehab mchehab@infradead.org # Released under GPLv2 diff --git a/scripts/get_dvb_firmware b/scripts/get_dvb_firmware index 1a0a04125f71..f3f230225aba 100755 --- a/scripts/get_dvb_firmware +++ b/scripts/get_dvb_firmware @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # DVB firmware extractor # # (c) 2004 Andrew de Quincey diff --git a/scripts/markup_oops.pl b/scripts/markup_oops.pl index c21d16328d3f..70dcfb6b3de1 100755 --- a/scripts/markup_oops.pl +++ b/scripts/markup_oops.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl
use File::Basename; use Math::BigInt; diff --git a/scripts/profile2linkerlist.pl b/scripts/profile2linkerlist.pl index 6943fa7cc95b..f23d7be94394 100755 --- a/scripts/profile2linkerlist.pl +++ b/scripts/profile2linkerlist.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl
# # Takes a (sorted) output of readprofile and turns it into a list suitable for diff --git a/scripts/show_delta b/scripts/show_delta index 5b365009e6a3..55c66dce6fc1 100755 --- a/scripts/show_delta +++ b/scripts/show_delta @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # show_deltas: Read list of printk messages instrumented with # time data, and format with time deltas. diff --git a/scripts/stackdelta b/scripts/stackdelta index 48eabf2f48f8..20a79f19a111 100755 --- a/scripts/stackdelta +++ b/scripts/stackdelta @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl
# Read two files produced by the stackusage script, and show the # delta between them. diff --git a/scripts/tracing/draw_functrace.py b/scripts/tracing/draw_functrace.py index db40fa04cd51..30f117dfab43 100755 --- a/scripts/tracing/draw_functrace.py +++ b/scripts/tracing/draw_functrace.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python
""" Copyright 2008 (c) Frederic Weisbecker fweisbec@gmail.com diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat index 581278c58488..5e5797cc3757 100755 --- a/tools/kvm/kvm_stat/kvm_stat +++ b/tools/kvm/kvm_stat/kvm_stat @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # top-like utility for displaying kvm statistics # diff --git a/tools/perf/python/tracepoint.py b/tools/perf/python/tracepoint.py index eb4dbed57de7..ce273c8b512b 100755 --- a/tools/perf/python/tracepoint.py +++ b/tools/perf/python/tracepoint.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#! /usr/bin/env python # -*- python -*- # -*- coding: utf-8 -*-
diff --git a/tools/perf/python/twatch.py b/tools/perf/python/twatch.py index c235c22b107a..5a55b25f0b8c 100755 --- a/tools/perf/python/twatch.py +++ b/tools/perf/python/twatch.py @@ -1,4 +1,4 @@ -#! /usr/bin/python +#! /usr/bin/env python # -*- python -*- # -*- coding: utf-8 -*- # twatch - Experimental use of the perf python interface diff --git a/tools/perf/scripts/python/call-graph-from-postgresql.py b/tools/perf/scripts/python/call-graph-from-postgresql.py index e78fdc2a5a9d..ce45699feaea 100644 --- a/tools/perf/scripts/python/call-graph-from-postgresql.py +++ b/tools/perf/scripts/python/call-graph-from-postgresql.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/env python2 # call-graph-from-postgresql.py: create call-graph from postgresql database # Copyright (c) 2014, Intel Corporation. # diff --git a/tools/perf/scripts/python/sched-migration.py b/tools/perf/scripts/python/sched-migration.py index de66cb3b72c9..dd3e7ae2a1af 100644 --- a/tools/perf/scripts/python/sched-migration.py +++ b/tools/perf/scripts/python/sched-migration.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # # Cpu task migration overview toy # diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py index c8680984d2d6..163f38fbd79c 100644 --- a/tools/perf/util/setup.py +++ b/tools/perf/util/setup.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/env python2
from distutils.core import setup, Extension from os import getenv diff --git a/tools/testing/ktest/compare-ktest-sample.pl b/tools/testing/ktest/compare-ktest-sample.pl index a373a5bfff68..c488e863d83f 100755 --- a/tools/testing/ktest/compare-ktest-sample.pl +++ b/tools/testing/ktest/compare-ktest-sample.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl
open (IN,"ktest.pl"); while (<IN>) {
On Tue, May 11, 2021 at 08:58:16PM +0200, Nicolas Schier wrote:
From: Finn Behrens me@kloenk.de
commit c25ce589dca10d64dde139ae093abc258a32869c upstream.
Change every shebang which does not need an argument to use /usr/bin/env. This is needed as not every distro has everything under /usr/bin, sometimes not even bash.
Signed-off-by: Finn Behrens me@kloenk.de Signed-off-by: Masahiro Yamada masahiroy@kernel.org [nicolas@fjasle.eu: ported to v4.9, updated contexts, adapt for old scripts]
What about 4.14, 4.19, 5.4, and 5.10? We can't add patches only to one stable tree and not all of the newer ones as well.
And what problem is this solving? What distro has problems with this for this old kernel tree?
thanks,
greg k-h
On Wed, May 12, 2021 at 01:58PM +0000, Greg KH wrote:
On Tue, May 11, 2021 at 08:58:16PM +0200, Nicolas Schier wrote:
From: Finn Behrens me@kloenk.de
commit c25ce589dca10d64dde139ae093abc258a32869c upstream.
Change every shebang which does not need an argument to use /usr/bin/env. This is needed as not every distro has everything under /usr/bin, sometimes not even bash.
Signed-off-by: Finn Behrens me@kloenk.de Signed-off-by: Masahiro Yamada masahiroy@kernel.org [nicolas@fjasle.eu: ported to v4.9, updated contexts, adapt for old scripts]
What about 4.14, 4.19, 5.4, and 5.10? We can't add patches only to one stable tree and not all of the newer ones as well.
Hi Greg,
yes, that makes sense obviously, I did not have that in mind. If there is a chance for acceptance, I will gladly provide the patches for the newer stable tree as well.
And what problem is this solving? What distro has problems with this for this old kernel tree?
thanks,
greg k-h
my concrete problem is that I work with several 4.9 kernel trees and that our build system uses diffconfig (for consistency checking) which does not run anymore on a current Debian testing (/usr/bin/python is not more available). As the corresponding upstream "fix" commit 51839e29cb59544 (cp. patch 2/2) technically bases on commit c25ce589dca10d64dde, I thought backporting both should be the cleaner way.
I would not mind to drop this patch, but I would like to see commit 51839e29cb59544 in the stable trees. Does it make sense to prepare backports of it for all current stable trees?
Thanks and kind regards, Nicolas
On Thu, May 13, 2021 at 10:03:24PM +0200, Nicolas Schier wrote:
On Wed, May 12, 2021 at 01:58PM +0000, Greg KH wrote:
On Tue, May 11, 2021 at 08:58:16PM +0200, Nicolas Schier wrote:
From: Finn Behrens me@kloenk.de
commit c25ce589dca10d64dde139ae093abc258a32869c upstream.
Change every shebang which does not need an argument to use /usr/bin/env. This is needed as not every distro has everything under /usr/bin, sometimes not even bash.
Signed-off-by: Finn Behrens me@kloenk.de Signed-off-by: Masahiro Yamada masahiroy@kernel.org [nicolas@fjasle.eu: ported to v4.9, updated contexts, adapt for old scripts]
What about 4.14, 4.19, 5.4, and 5.10? We can't add patches only to one stable tree and not all of the newer ones as well.
Hi Greg,
yes, that makes sense obviously, I did not have that in mind. If there is a chance for acceptance, I will gladly provide the patches for the newer stable tree as well.
It makes sense to do this here, to enable building these older kernels on newer systems.
thanks,
greg k-h
From: Andy Shevchenko andriy.shevchenko@linux.intel.com
commit 51839e29cb5954470ea4db7236ef8c3d77a6e0bb upstream.
Some distributions are about to switch to Python 3 support only. This means that /usr/bin/python, which is Python 2, is not available anymore. Hence, switch scripts to use Python 3 explicitly.
Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com Signed-off-by: Masahiro Yamada masahiroy@kernel.org [nicolas@fjasle.eu: ported to v4.9, updated context] Signed-off-by: Nicolas Schier nicolas@fjasle.eu --- scripts/bloat-o-meter | 2 +- scripts/diffconfig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/bloat-o-meter b/scripts/bloat-o-meter index 08e607e829c0..a650bea5ccdd 100755 --- a/scripts/bloat-o-meter +++ b/scripts/bloat-o-meter @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # Copyright 2004 Matt Mackall mpm@selenic.com # diff --git a/scripts/diffconfig b/scripts/diffconfig index ad1b16ec0f5b..19189f3c4a03 100755 --- a/scripts/diffconfig +++ b/scripts/diffconfig @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # diffconfig - a tool to compare .config files. #
linux-stable-mirror@lists.linaro.org