diff mbox series

[v3,2/2] kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec

Message ID 20240706164423.1934390-1-aquini@redhat.com (mailing list archive)
State New
Headers show
Series None | expand

Commit Message

Rafael Aquini July 6, 2024, 4:44 p.m. UTC
Fix the following rpmbuild warning:

  $ make srcrpm-pkg
  ...
  RPM build warnings:
      source_date_epoch_from_changelog set but %changelog is missing

Signed-off-by: Rafael Aquini <aquini@redhat.com>
---
 scripts/package/mkspec | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

Comments

Masahiro Yamada July 15, 2024, 4:32 p.m. UTC | #1
On Sun, Jul 7, 2024 at 1:45 AM Rafael Aquini <aquini@redhat.com> wrote:
>
> Fix the following rpmbuild warning:
>
>   $ make srcrpm-pkg
>   ...
>   RPM build warnings:
>       source_date_epoch_from_changelog set but %changelog is missing
>
> Signed-off-by: Rafael Aquini <aquini@redhat.com>
> ---
>  scripts/package/mkspec | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> index ce201bfa8377..e45fdb12fbc7 100755
> --- a/scripts/package/mkspec
> +++ b/scripts/package/mkspec
> @@ -28,3 +28,26 @@ cat<<EOF
>  EOF
>
>  cat "${srctree}/scripts/package/kernel.spec"
> +
> +# collect the user's name and email address for the changelog entry
> +if [ "$(command -v git)" ]; then
> +       name=$(git config user.name) || true
> +       email=$(git config user.email) || true
> +fi
> +
> +if [ ! "${name:+set}" ]; then
> +       name=${KBUILD_BUILD_USER:-$(id -nu)}
> +fi
> +
> +if [ ! "${email:+set}" ]; then
> +       buildhost=${KBUILD_BUILD_HOST:-$(hostname -f 2>/dev/null || hostname)}
> +       builduser=${KBUILD_BUILD_USER:-$(id -nu)}
> +       email="${builduser}@${buildhost}"
> +fi
> +
> +cat << EOF
> +
> +%changelog
> +* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}> - ${KERNELRELEASE}


I am not sure whether the version is required or not.

In the following guide, not all entries have the version.

  https://jfearn.fedorapeople.org/en-US/RPM/4/html/RPM_Guide/ch09s06.html


If you want to add the version, perhaps is it better to
follow the fedora convention?


The spec file of Fedora looks as follows.
The version is enclosed in the square brackets.

%changelog
* Wed Dec 13 2023 Augusto Caringi <acaringi@redhat.com> [6.6.7-0]
- Add rhbz#2253632 rhbz#2253633 to BugsFixed (Justin M. Forbes)
- Turn on DRM_ACCEL drivers for Fedora (Justin M. Forbes)
- Linux v6.6.7




Or, is this not important because there is no strict format?



> +- Custom built Linux kernel.
> +EOF
> --
> 2.45.1
>
>
Rafael Aquini July 15, 2024, 9:21 p.m. UTC | #2
On Tue, Jul 16, 2024 at 01:32:56AM +0900, Masahiro Yamada wrote:
> On Sun, Jul 7, 2024 at 1:45 AM Rafael Aquini <aquini@redhat.com> wrote:
> >
> > Fix the following rpmbuild warning:
> >
> >   $ make srcrpm-pkg
> >   ...
> >   RPM build warnings:
> >       source_date_epoch_from_changelog set but %changelog is missing
> >
> > Signed-off-by: Rafael Aquini <aquini@redhat.com>
> > ---
> >  scripts/package/mkspec | 23 +++++++++++++++++++++++
> >  1 file changed, 23 insertions(+)
> >
> > diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> > index ce201bfa8377..e45fdb12fbc7 100755
> > --- a/scripts/package/mkspec
> > +++ b/scripts/package/mkspec
> > @@ -28,3 +28,26 @@ cat<<EOF
> >  EOF
> >
> >  cat "${srctree}/scripts/package/kernel.spec"
> > +
> > +# collect the user's name and email address for the changelog entry
> > +if [ "$(command -v git)" ]; then
> > +       name=$(git config user.name) || true
> > +       email=$(git config user.email) || true
> > +fi
> > +
> > +if [ ! "${name:+set}" ]; then
> > +       name=${KBUILD_BUILD_USER:-$(id -nu)}
> > +fi
> > +
> > +if [ ! "${email:+set}" ]; then
> > +       buildhost=${KBUILD_BUILD_HOST:-$(hostname -f 2>/dev/null || hostname)}
> > +       builduser=${KBUILD_BUILD_USER:-$(id -nu)}
> > +       email="${builduser}@${buildhost}"
> > +fi
> > +
> > +cat << EOF
> > +
> > +%changelog
> > +* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}> - ${KERNELRELEASE}
> 
> 
> I am not sure whether the version is required or not.
> 
> In the following guide, not all entries have the version.
> 
>   https://jfearn.fedorapeople.org/en-US/RPM/4/html/RPM_Guide/ch09s06.html
>
> 
> If you want to add the version, perhaps is it better to
> follow the fedora convention?
> 
> 
> The spec file of Fedora looks as follows.
> The version is enclosed in the square brackets.
> 
> %changelog
> * Wed Dec 13 2023 Augusto Caringi <acaringi@redhat.com> [6.6.7-0]
> - Add rhbz#2253632 rhbz#2253633 to BugsFixed (Justin M. Forbes)
> - Turn on DRM_ACCEL drivers for Fedora (Justin M. Forbes)
> - Linux v6.6.7
> 
> 
> 
> 
> Or, is this not important because there is no strict format?

Darn, I've been using the "- release" pattern for my RPMs for 
quite a long time, as circa 2010 that was the suggestion. 
I guess I just got used to it and never really noticed 
the change along the way.

There's not a strict format, though, and it's just nice 
to have the version showing in there. 
I have no strong feelings about the format we should be
going to go with, so I'll leave it up to you. 

What is the format you'd prefer for the changelog entry? 
Leave it as it is in this patch, or adopt the Fedora standard?

I'll wait for your input before refreshing this patch (or not) 

Cheers,
-- Rafael
Masahiro Yamada July 16, 2024, 8:40 a.m. UTC | #3
On Tue, Jul 16, 2024 at 6:21 AM Rafael Aquini <aquini@redhat.com> wrote:
>
> On Tue, Jul 16, 2024 at 01:32:56AM +0900, Masahiro Yamada wrote:
> > On Sun, Jul 7, 2024 at 1:45 AM Rafael Aquini <aquini@redhat.com> wrote:
> > >
> > > Fix the following rpmbuild warning:
> > >
> > >   $ make srcrpm-pkg
> > >   ...
> > >   RPM build warnings:
> > >       source_date_epoch_from_changelog set but %changelog is missing
> > >
> > > Signed-off-by: Rafael Aquini <aquini@redhat.com>
> > > ---
> > >  scripts/package/mkspec | 23 +++++++++++++++++++++++
> > >  1 file changed, 23 insertions(+)
> > >
> > > diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> > > index ce201bfa8377..e45fdb12fbc7 100755
> > > --- a/scripts/package/mkspec
> > > +++ b/scripts/package/mkspec
> > > @@ -28,3 +28,26 @@ cat<<EOF
> > >  EOF
> > >
> > >  cat "${srctree}/scripts/package/kernel.spec"
> > > +
> > > +# collect the user's name and email address for the changelog entry
> > > +if [ "$(command -v git)" ]; then
> > > +       name=$(git config user.name) || true
> > > +       email=$(git config user.email) || true
> > > +fi
> > > +
> > > +if [ ! "${name:+set}" ]; then
> > > +       name=${KBUILD_BUILD_USER:-$(id -nu)}
> > > +fi
> > > +
> > > +if [ ! "${email:+set}" ]; then
> > > +       buildhost=${KBUILD_BUILD_HOST:-$(hostname -f 2>/dev/null || hostname)}
> > > +       builduser=${KBUILD_BUILD_USER:-$(id -nu)}
> > > +       email="${builduser}@${buildhost}"
> > > +fi
> > > +
> > > +cat << EOF
> > > +
> > > +%changelog
> > > +* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}> - ${KERNELRELEASE}
> >
> >
> > I am not sure whether the version is required or not.
> >
> > In the following guide, not all entries have the version.
> >
> >   https://jfearn.fedorapeople.org/en-US/RPM/4/html/RPM_Guide/ch09s06.html
> >
> >
> > If you want to add the version, perhaps is it better to
> > follow the fedora convention?
> >
> >
> > The spec file of Fedora looks as follows.
> > The version is enclosed in the square brackets.
> >
> > %changelog
> > * Wed Dec 13 2023 Augusto Caringi <acaringi@redhat.com> [6.6.7-0]
> > - Add rhbz#2253632 rhbz#2253633 to BugsFixed (Justin M. Forbes)
> > - Turn on DRM_ACCEL drivers for Fedora (Justin M. Forbes)
> > - Linux v6.6.7
> >
> >
> >
> >
> > Or, is this not important because there is no strict format?
>
> Darn, I've been using the "- release" pattern for my RPMs for
> quite a long time, as circa 2010 that was the suggestion.
> I guess I just got used to it and never really noticed
> the change along the way.
>
> There's not a strict format, though, and it's just nice
> to have the version showing in there.
> I have no strong feelings about the format we should be
> going to go with, so I'll leave it up to you.
>
> What is the format you'd prefer for the changelog entry?
> Leave it as it is in this patch, or adopt the Fedora standard?
>
> I'll wait for your input before refreshing this patch (or not)


My preference is to get rid of the version number from %changelog
because this is an upstream snapshot source package,
and there is only one entry.

The version number is already expressed in the
"Version:" field.
diff mbox series

Patch

diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index ce201bfa8377..e45fdb12fbc7 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -28,3 +28,26 @@  cat<<EOF
 EOF
 
 cat "${srctree}/scripts/package/kernel.spec"
+
+# collect the user's name and email address for the changelog entry
+if [ "$(command -v git)" ]; then
+	name=$(git config user.name) || true
+	email=$(git config user.email) || true
+fi
+
+if [ ! "${name:+set}" ]; then
+	name=${KBUILD_BUILD_USER:-$(id -nu)}
+fi
+
+if [ ! "${email:+set}" ]; then
+	buildhost=${KBUILD_BUILD_HOST:-$(hostname -f 2>/dev/null || hostname)}
+	builduser=${KBUILD_BUILD_USER:-$(id -nu)}
+	email="${builduser}@${buildhost}"
+fi
+
+cat << EOF
+
+%changelog
+* $(LC_ALL=C; date +'%a %b %d %Y') ${name} <${email}> - ${KERNELRELEASE}
+- Custom built Linux kernel.
+EOF