2018-04-23 19:53:33

by Mathieu Malaterre

[permalink] [raw]
Subject: [PATCH] kbuild/debian: Use KBUILD_BUILD_* when set

Be nice to the user and check env vars KBUILD_BUILD_USER &
KBUILD_BUILD_HOST when those are set.

Signed-off-by: Mathieu Malaterre <[email protected]>
---
scripts/package/mkdebian | 2 ++
1 file changed, 2 insertions(+)

diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
index 6adb3a16ba3b..05d58d3ae8a0 100755
--- a/scripts/package/mkdebian
+++ b/scripts/package/mkdebian
@@ -76,6 +76,8 @@ if [ -n "$DEBEMAIL" ]; then
email=$DEBEMAIL
elif [ -n "$EMAIL" ]; then
email=$EMAIL
+elif [ -n "$KBUILD_BUILD_USER" ] && [ -n "$KBUILD_BUILD_HOST" ]; then
+ email=$KBUILD_BUILD_USER@$KBUILD_BUILD_HOST
else
email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
fi
--
2.11.0



2018-05-02 11:31:33

by Riku Voipio

[permalink] [raw]
Subject: Re: [PATCH] kbuild/debian: Use KBUILD_BUILD_* when set

On 23 April 2018 at 22:50, Mathieu Malaterre <[email protected]> wrote:
> Be nice to the user and check env vars KBUILD_BUILD_USER &
> KBUILD_BUILD_HOST when those are set.

mkdebian sets the maintainer address as "$name <$email>", but this
patch only sets the email part. I also wonder about the precedence, I
think KBUILD_* should be considered over the generic Debian variables.

Riku

> Signed-off-by: Mathieu Malaterre <[email protected]>
> ---
> scripts/package/mkdebian | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 6adb3a16ba3b..05d58d3ae8a0 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -76,6 +76,8 @@ if [ -n "$DEBEMAIL" ]; then
> email=$DEBEMAIL
> elif [ -n "$EMAIL" ]; then
> email=$EMAIL
> +elif [ -n "$KBUILD_BUILD_USER" ] && [ -n "$KBUILD_BUILD_HOST" ]; then
> + email=$KBUILD_BUILD_USER@$KBUILD_BUILD_HOST
> else
> email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
> fi
> --
> 2.11.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2018-05-02 16:15:06

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] kbuild/debian: Use KBUILD_BUILD_* when set

2018-05-02 20:30 GMT+09:00 Riku Voipio <[email protected]>:
> On 23 April 2018 at 22:50, Mathieu Malaterre <[email protected]> wrote:
>> Be nice to the user and check env vars KBUILD_BUILD_USER &
>> KBUILD_BUILD_HOST when those are set.
>
> mkdebian sets the maintainer address as "$name <$email>", but this
> patch only sets the email part. I also wonder about the precedence, I
> think KBUILD_* should be considered over the generic Debian variables.

How come?


If you see scripts/mkcompile_h,
KBUILD_BUILD_USER and KBUILD_BUILD_HOST are used
for overriding 'whoami' and 'hostname', respectively.

So, I think it is reasonable to put

email=$KBUILD_BUILD_USER@$KBUILD_BUILD_HOST

over

email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)


But, it is questionable to put it even over $DEBEMAIL.



I think the intention of this patch is to support
another (a bit better) fallback in case DEBEMAIL is not set.



> Riku
>
>> Signed-off-by: Mathieu Malaterre <[email protected]>
>> ---
>> scripts/package/mkdebian | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
>> index 6adb3a16ba3b..05d58d3ae8a0 100755
>> --- a/scripts/package/mkdebian
>> +++ b/scripts/package/mkdebian
>> @@ -76,6 +76,8 @@ if [ -n "$DEBEMAIL" ]; then
>> email=$DEBEMAIL
>> elif [ -n "$EMAIL" ]; then
>> email=$EMAIL
>> +elif [ -n "$KBUILD_BUILD_USER" ] && [ -n "$KBUILD_BUILD_HOST" ]; then
>> + email=$KBUILD_BUILD_USER@$KBUILD_BUILD_HOST
>> else
>> email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
>> fi
>> --
>> 2.11.0
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html



--
Best Regards
Masahiro Yamada

2018-05-02 19:28:38

by Mathieu Malaterre

[permalink] [raw]
Subject: Re: [PATCH] kbuild/debian: Use KBUILD_BUILD_* when set

On Wed, May 2, 2018 at 1:30 PM, Riku Voipio <[email protected]> wrote:
> On 23 April 2018 at 22:50, Mathieu Malaterre <[email protected]> wrote:
>> Be nice to the user and check env vars KBUILD_BUILD_USER &
>> KBUILD_BUILD_HOST when those are set.
>
> mkdebian sets the maintainer address as "$name <$email>", but this
> patch only sets the email part. I also wonder about the precedence, I
> think KBUILD_* should be considered over the generic Debian variables.

I simply tried to re-use the KBUILD_* env vars whenever possible. This
did made sense, since:

$ dmesg|grep debian
~
[ 0.000000] Linux version 4.14.0-0.bpo.3-amd64
([email protected]) (gcc version 6.3.0 20170516 (Debian
6.3.0-18)) #1 SMP Debian 4.14.13-1~bpo9+1 (2018-01-14)

and

$ apt-cache show linux-image-amd64| grep Main
~
Maintainer: Debian Kernel Team <[email protected]>

I do not believe this should take precedence over DEBEMAIL.

> Riku
>
>> Signed-off-by: Mathieu Malaterre <[email protected]>
>> ---
>> scripts/package/mkdebian | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
>> index 6adb3a16ba3b..05d58d3ae8a0 100755
>> --- a/scripts/package/mkdebian
>> +++ b/scripts/package/mkdebian
>> @@ -76,6 +76,8 @@ if [ -n "$DEBEMAIL" ]; then
>> email=$DEBEMAIL
>> elif [ -n "$EMAIL" ]; then
>> email=$EMAIL
>> +elif [ -n "$KBUILD_BUILD_USER" ] && [ -n "$KBUILD_BUILD_HOST" ]; then
>> + email=$KBUILD_BUILD_USER@$KBUILD_BUILD_HOST
>> else
>> email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
>> fi
>> --
>> 2.11.0
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html

2018-05-02 19:32:27

by Mathieu Malaterre

[permalink] [raw]
Subject: Re: [PATCH] kbuild/debian: Use KBUILD_BUILD_* when set

On Wed, May 2, 2018 at 9:27 PM, Mathieu Malaterre <[email protected]> wrote:
> On Wed, May 2, 2018 at 1:30 PM, Riku Voipio <[email protected]> wrote:
>> On 23 April 2018 at 22:50, Mathieu Malaterre <[email protected]> wrote:
>>> Be nice to the user and check env vars KBUILD_BUILD_USER &
>>> KBUILD_BUILD_HOST when those are set.
>>
>> mkdebian sets the maintainer address as "$name <$email>", but this
>> patch only sets the email part. I also wonder about the precedence, I
>> think KBUILD_* should be considered over the generic Debian variables.
>
> I simply tried to re-use the KBUILD_* env vars whenever possible. This
> did made sense, since:
>
> $ dmesg|grep debian
> ~
> [ 0.000000] Linux version 4.14.0-0.bpo.3-amd64
> ([email protected]) (gcc version 6.3.0 20170516 (Debian
> 6.3.0-18)) #1 SMP Debian 4.14.13-1~bpo9+1 (2018-01-14)
>
> and
>
> $ apt-cache show linux-image-amd64| grep Main
> ~
> Maintainer: Debian Kernel Team <[email protected]>
>
> I do not believe this should take precedence over DEBEMAIL.

It seems that the env var DEBEMAIL is now accepting a new syntax (at
least I was not aware of this syntax):

https://manpages.debian.org/unstable/devscripts/dch.1.en.html

[...]If the environment variable DEBEMAIL is set, this will be used
for the email address. If this variable has the form "name <email>",
then the maintainer name will also be taken from here[...]

I'll send a v2 that check DEBEMAIL does not contains '<>'.

>> Riku
>>
>>> Signed-off-by: Mathieu Malaterre <[email protected]>
>>> ---
>>> scripts/package/mkdebian | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
>>> index 6adb3a16ba3b..05d58d3ae8a0 100755
>>> --- a/scripts/package/mkdebian
>>> +++ b/scripts/package/mkdebian
>>> @@ -76,6 +76,8 @@ if [ -n "$DEBEMAIL" ]; then
>>> email=$DEBEMAIL
>>> elif [ -n "$EMAIL" ]; then
>>> email=$EMAIL
>>> +elif [ -n "$KBUILD_BUILD_USER" ] && [ -n "$KBUILD_BUILD_HOST" ]; then
>>> + email=$KBUILD_BUILD_USER@$KBUILD_BUILD_HOST
>>> else
>>> email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
>>> fi
>>> --
>>> 2.11.0
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
>>> the body of a message to [email protected]
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html

2018-05-02 20:03:50

by Mathieu Malaterre

[permalink] [raw]
Subject: [PATCH v2] kbuild/debian: Use KBUILD_BUILD_* when set

Be nice to the user and check env vars KBUILD_BUILD_USER &
KBUILD_BUILD_HOST when those are set.

Since DEBEMAIL accept a syntax where the full name is present, be extra
nice to user and extract email address only.

Cc: Riku Voipio <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Signed-off-by: Mathieu Malaterre <[email protected]>
---
v2: update patch since syntax of DEBEMAIL may contain full name

scripts/package/mkdebian | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
index 6adb3a16ba3b..3f4e43446db3 100755
--- a/scripts/package/mkdebian
+++ b/scripts/package/mkdebian
@@ -73,9 +73,19 @@ fi

# Try to determine maintainer and email values
if [ -n "$DEBEMAIL" ]; then
- email=$DEBEMAIL
+ case "$DEBEMAIL" in
+ *\ * )
+ email=$(echo $DEBEMAIL | cut -d '<' -f2 | cut -d '>' -f1)
+ echo >&2 "Extracting email from DEBEMAIL. Use DEBFULLNAME instead."
+ ;;
+ *)
+ email=$DEBEMAIL
+ ;;
+ esac
elif [ -n "$EMAIL" ]; then
email=$EMAIL
+elif [ -n "$KBUILD_BUILD_USER" ] && [ -n "$KBUILD_BUILD_HOST" ]; then
+ email=$KBUILD_BUILD_USER@$KBUILD_BUILD_HOST
else
email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
fi
--
2.11.0


2018-05-03 17:11:10

by Mathieu Malaterre

[permalink] [raw]
Subject: Re: [PATCH v2] kbuild/debian: Use KBUILD_BUILD_* when set

On Wed, May 2, 2018 at 10:01 PM, Mathieu Malaterre <[email protected]> wrote:
> Be nice to the user and check env vars KBUILD_BUILD_USER &
> KBUILD_BUILD_HOST when those are set.
>
> Since DEBEMAIL accept a syntax where the full name is present, be extra
> nice to user and extract email address only.
>
> Cc: Riku Voipio <[email protected]>
> Cc: Masahiro Yamada <[email protected]>
> Signed-off-by: Mathieu Malaterre <[email protected]>
> ---
> v2: update patch since syntax of DEBEMAIL may contain full name

Should be replaced by:

https://lists.debian.org/debian-kernel/2018/05/msg00029.html

> scripts/package/mkdebian | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 6adb3a16ba3b..3f4e43446db3 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -73,9 +73,19 @@ fi
>
> # Try to determine maintainer and email values
> if [ -n "$DEBEMAIL" ]; then
> - email=$DEBEMAIL
> + case "$DEBEMAIL" in
> + *\ * )
> + email=$(echo $DEBEMAIL | cut -d '<' -f2 | cut -d '>' -f1)
> + echo >&2 "Extracting email from DEBEMAIL. Use DEBFULLNAME instead."
> + ;;
> + *)
> + email=$DEBEMAIL
> + ;;
> + esac
> elif [ -n "$EMAIL" ]; then
> email=$EMAIL
> +elif [ -n "$KBUILD_BUILD_USER" ] && [ -n "$KBUILD_BUILD_HOST" ]; then
> + email=$KBUILD_BUILD_USER@$KBUILD_BUILD_HOST
> else
> email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
> fi
> --
> 2.11.0
>