<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in mkspec</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>a7c699d0 - kbuild: rpm-pkg: build a debuginfo RPM</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#a7c699d0</link>
        <description>kbuild: rpm-pkg: build a debuginfo RPMThe rpm-pkg make target currently suffers from a few issues related todebuginfo:1. debuginfo for things built into the kernel (vmlinux) is not available   in any RPM produced by make rpm-pkg. This makes using tools like   systemtap against a make rpm-pkg kernel impossible.2. debug source for the kernel is not available. This means that   commands like &apos;disas /s&apos; in gdb, which display source intermixed with   assembly, can only print file names/line numbers which then must be   painstakingly resolved to actual source in a separate editor.3. debuginfo for modules is available, but it remains bundled with the   .ko files that contain module code, in the main kernel RPM. This is a   waste of space for users who do not need to debug the kernel (i.e.   most users).Address all of these issues by additionally building a debuginfo RPMwhen the kernel configuration allows for it, in line with standardpatterns followed by RPM distributors. With these changes:1. systemtap now works (when these changes are backported to 6.11, since   systemtap lags a bit behind in compatibility), as verified by the   following simple test script:   # stap -e &apos;probe kernel.function(&quot;do_sys_open&quot;).call { printf(&quot;%s\n&quot;, $$parms); }&apos;   dfd=0xffffffffffffff9c filename=0x7fe18800b160 flags=0x88800 mode=0x0   ...2. disas /s works correctly in gdb, with source and disassembly   interspersed:   # gdb vmlinux --batch -ex &apos;disas /s blk_op_str&apos;   Dump of assembler code for function blk_op_str:   block/blk-core.c:   125     {      0xffffffff814c8740 &lt;+0&gt;:     endbr64   127   128             if (op &lt; ARRAY_SIZE(blk_op_name) &amp;&amp; blk_op_name[op])      0xffffffff814c8744 &lt;+4&gt;:     mov    $0xffffffff824a7378,%rax      0xffffffff814c874b &lt;+11&gt;:    cmp    $0x23,%edi      0xffffffff814c874e &lt;+14&gt;:    ja     0xffffffff814c8768 &lt;blk_op_str+40&gt;      0xffffffff814c8750 &lt;+16&gt;:    mov    %edi,%edi   126             const char *op_str = &quot;UNKNOWN&quot;;      0xffffffff814c8752 &lt;+18&gt;:    mov    $0xffffffff824a7378,%rdx   127   128             if (op &lt; ARRAY_SIZE(blk_op_name) &amp;&amp; blk_op_name[op])      0xffffffff814c8759 &lt;+25&gt;:    mov    -0x7dfa0160(,%rdi,8),%rax   126             const char *op_str = &quot;UNKNOWN&quot;;      0xffffffff814c8761 &lt;+33&gt;:    test   %rax,%rax      0xffffffff814c8764 &lt;+36&gt;:    cmove  %rdx,%rax   129                     op_str = blk_op_name[op];   130   131             return op_str;   132     }      0xffffffff814c8768 &lt;+40&gt;:    jmp    0xffffffff81d01360 &lt;__x86_return_thunk&gt;   End of assembler dump.3. The size of the main kernel package goes down substantially,   especially if many modules are built (quite typical). Here is a   comparison of installed size of the kernel package (configured with   allmodconfig, dwarf4 debuginfo, and module compression turned off)   before and after this patch:   # rpm -qi kernel-6.13* | grep -E &apos;^(Version|Size)&apos;   Version     : 6.13.0postpatch+   Size        : 1382874089   Version     : 6.13.0prepatch+   Size        : 17870795887   This is a ~92% size reduction.Note that a debuginfo package can only be produced if the followingconfigs are set:- CONFIG_DEBUG_INFO=y- CONFIG_MODULE_COMPRESS=n- CONFIG_DEBUG_INFO_SPLIT=nThe first of these is obvious - we can&apos;t produce debuginfo if the builddoes not generate it. The second two requirements can in principle beremoved, but doing so is difficult with the current approach, which usesa generic rpmbuild script find-debuginfo.sh that processes all packagedexecutables. If we want to remove those requirements the best pathforward is likely to add some debuginfo extraction/installation logic tothe modules_install target (controllable by flags). That way, it&apos;seasier to operate on modules before they&apos;re compressed, and the logiccan be reused by all packaging targets.Signed-off-by: Uday Shankar &lt;ushankar@purestorage.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Mon, 31 Mar 2025 22:46:32 +0000</pubDate>
        <dc:creator>Uday Shankar &lt;ushankar@purestorage.com&gt;</dc:creator>
    </item>
<item>
        <title>ba6c6640 - kbuild: rpm-pkg: Fix C locale setup</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#ba6c6640</link>
        <description>kbuild: rpm-pkg: Fix C locale setupsemicolon separation in LC_ALL is wrong. Either variable needs to beexported before as a separate commit or set as part of the commit in thebeginning. Used second variant.This fixes broken build on user&apos;s locale setup which makes &apos;date&apos; binaryto produce invalid characters in rpm changelog (e.g. cs_CZ.UTF-8 &apos;&#269;ec&apos;):$ make binrpm-pkg  GEN     rpmbuild/SPECS/kernel.specrpmbuild -bb rpmbuild/SPECS/kernel.spec --define=&apos;_topdirlinux/rpmbuild&apos; \    --target x86_64-linux --build-in-place --noprep --define=&apos;_smp_mflags \    %{nil}&apos; $(rpm -q rpm &gt;/dev/null 2&gt;&amp;1 || echo --nodeps)Building target platforms: x86_64-linuxBuilding for target x86_64-linuxerror: bad date in %changelog: St &#269;ec 24 2024 user &lt;user@somehost&gt;make[2]: *** [scripts/Makefile.package:71: binrpm-pkg] Error 1make[1]: *** [linux/Makefile:1546: binrpm-pkg] Error 2make: *** [Makefile:224: __sub-make] Error 2Fixes: 301c10908e42 (&quot;kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec&quot;)Signed-off-by: Petr Vorel &lt;pvorel@suse.cz&gt;Reviewed-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Wed, 24 Jul 2024 08:46:55 +0000</pubDate>
        <dc:creator>Petr Vorel &lt;pvorel@suse.cz&gt;</dc:creator>
    </item>
<item>
        <title>301c1090 - kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#301c1090</link>
        <description>kbuild: rpm-pkg: introduce a simple changelog section for kernel.specFix the following rpmbuild warning:  $ make srcrpm-pkg  ...  RPM build warnings:      source_date_epoch_from_changelog set but %changelog is missingSigned-off-by: Rafael Aquini &lt;aquini@redhat.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Tue, 16 Jul 2024 12:25:05 +0000</pubDate>
        <dc:creator>Rafael Aquini &lt;aquini@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>c0414419 - kbuild: package: add -e and -u options to some shell scripts</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#c0414419</link>
        <description>kbuild: package: add -e and -u options to some shell scriptsSet -e to make these scripts fail on the first error.Set -u because these scripts are invoked by Makefile, and do not workproperly without necessary variables defined.I tweaked mkdebian to cope with optional environment variables.Remove the explicit &quot;test -n ...&quot; from install-extmod-build.Both options are described in POSIX. [1][1]: https://pubs.opengroup.org/onlinepubs/009604499/utilities/set.htmlSigned-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Tue, 02 Jul 2024 18:02:42 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>ae4c4cee - kbuild: move init/build-version to scripts/</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#ae4c4cee</link>
        <description>kbuild: move init/build-version to scripts/At first, I thought this script would be needed only in init/Makefile.However, commit 5db8face97f8 (&quot;kbuild: Restore .version auto-incrementbehaviour for Debian packages&quot;) and commit 1789fc912541 (&quot;kbuild:rpm-pkg: invoke the kernel build from rpmbuild for binrpm-pkg&quot;)revealed that it was actually needed for scripts/package/mk* as well.After all, scripts/ is a better place for it.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Tue, 11 Jun 2024 18:24:47 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>ffa46bbc - kbuild: rpm-pkg: generate kernel.spec in rpmbuild/SPECS/</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#ffa46bbc</link>
        <description>kbuild: rpm-pkg: generate kernel.spec in rpmbuild/SPECS/kernel.spec is the last piece that resides outside the rpmbuild/directory. Move all the RPM-related files to rpmbuild/ consistently.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 30 Sep 2023 10:38:47 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>37477496 - kbuild: rpm-pkg: refactor *rpm-pkg targets</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#37477496</link>
        <description>kbuild: rpm-pkg: refactor *rpm-pkg targetsMerge the similar build targets.Also, make the output location consistent.Previously, source packages were created in the build directory,while binary packages under ~/rpmbuild/RPMS/.Now, Kbuild creates the rpmbuild/ directory in the build directory,and saves all packages under it.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:48:05 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>49c803cd - kbuild: rpm-pkg: split out the body of spec file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#49c803cd</link>
        <description>kbuild: rpm-pkg: split out the body of spec fileMost of the lines in the spec file are independent of any buildcondition.Split the body of the spec file into scripts/package/kernel.spec.scripts/package/mkspec will prepend some env-dependent variables.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:48:02 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2a291fc3 - kbuild: rpm-pkg: introduce %{with_devel} switch to select devel package</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#2a291fc3</link>
        <description>kbuild: rpm-pkg: introduce %{with_devel} switch to select devel packagescripts/package/mkspec preprocesses the spec file by sed, but it isunreadable. This commit removes the last portion of the sed scripting.Remove the $S$M prefixes from the conditionally generated lines.Instead, surround the code with %if %{with_devel} ... %endif.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:48:01 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b537925f - kbuild: rpm-pkg: run modules_install for non-modular kernel</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#b537925f</link>
        <description>kbuild: rpm-pkg: run modules_install for non-modular kernelFor the same reason as commit 4243afdb9326 (&quot;kbuild: builddeb: alwaysmake modules_install, to install modules.builtin*&quot;), run modules_installeven when CONFIG_MODULES=n to install modules.builtin*.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:48:00 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>1789fc91 - kbuild: rpm-pkg: invoke the kernel build from rpmbuild for binrpm-pkg</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#1789fc91</link>
        <description>kbuild: rpm-pkg: invoke the kernel build from rpmbuild for binrpm-pkgTo reduce the preprocess of the spec file, invoke the kernel buildfrom rpmbuild.Run init/build-version to increment the release number not only forbinrpm-pkg but also for srcrpm-pkg and rpm-pkg.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:59 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d4f65127 - kbuild: rpm-pkg: use a dummy string for _arch when undefined</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#d4f65127</link>
        <description>kbuild: rpm-pkg: use a dummy string for _arch when undefinedIf this affects only %{buildroot}, it should be enough to use a fixedstring for _arch when it is undefined.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:58 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d5d2d4cc - kbuild: rpm-pkg: derive the Version from %{KERNELRELEASE}</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#d5d2d4cc</link>
        <description>kbuild: rpm-pkg: derive the Version from %{KERNELRELEASE}Avoid hard-coding the Version field in the generated spec file.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:57 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>fe66b5d2 - kbuild: refactor kernel-devel RPM package and linux-headers Deb package</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#fe66b5d2</link>
        <description>kbuild: refactor kernel-devel RPM package and linux-headers Deb packageThe kernel-devel RPM package and the linux-headers Debian packageprovide headers and scripts needed for building external modules.They copy the necessary files in slightly different ways - the RPMcopies almost everything except some exclude patterns, while the Debiancopies less number of files. There is no need to maintain different codeto do the same thing.Split the Debian code out to scripts/package/install-extmod-build, whichis called from both of the packages.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:56 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>93ed5605 - kbuild: rpm-pkg: replace $KERNELRELEASE in spec file with %{KERNELRELEASE}</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#93ed5605</link>
        <description>kbuild: rpm-pkg: replace $KERNELRELEASE in spec file with %{KERNELRELEASE}Avoid hard-coding the value of KERNELRELEASE in the generated spec file.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:54 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>5d8e41b5 - kbuild: rpm-pkg: replace $__KERNELRELEASE in spec file with %{version}</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#5d8e41b5</link>
        <description>kbuild: rpm-pkg: replace $__KERNELRELEASE in spec file with %{version}${version} will be replaced with the value of the Version field.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:53 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a06d9ef8 - kbuild: rpm-pkg: record ARCH option in spec file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#a06d9ef8</link>
        <description>kbuild: rpm-pkg: record ARCH option in spec fileCurrently, we rely on the top Makefile defining ARCH option when werun &apos;make rpm-pkg&apos; or &apos;make binrpm-pkg&apos;.It does not apply when we run &apos;make srcrpm-pkg&apos;, and separately run&apos;rpmbuild&apos; for the generated SRPM. This is a problem for cross-build.Just like the Debian package, save the value of ARCH in the spec file.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:52 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>fe809b82 - kbuild: rpm-pkg: use %{makeflags} to pass common Make options</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#fe809b82</link>
        <description>kbuild: rpm-pkg: use %{makeflags} to pass common Make optionsThis is useful to pass more common Make options.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:51 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>19286825 - kbuild: rpm-pkg: do not hard-code $MAKE in spec file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#19286825</link>
        <description>kbuild: rpm-pkg: do not hard-code $MAKE in spec fileCurrently, $MAKE will expand to the GNU Make program that created thesource RPM. This is problematic if you carry it to a different buildhost to run &apos;rpmbuild&apos; there.Consider this command:  $ /path/to/my/custom/make srcrpm-pkgThe spec file in the SRPM will record &apos;/path/to/my/custom/make&apos;, whichexists only on that build environment.To create a portable SRPM, the spec file should avoid hard-coding $MAKE.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:50 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>61eca933 - kbuild: rpm-pkg: remove unneeded &apos;-f $srctree/Makefile&apos; in spec file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/package/mkspec#61eca933</link>
        <description>kbuild: rpm-pkg: remove unneeded &apos;-f $srctree/Makefile&apos; in spec fileThis is unneeded because the Makefile in the output directory wrapsthe top-level Makefile in the srctree.Just run $MAKE irrespective of the build location.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/package/mkspec</description>
        <pubDate>Sat, 22 Jul 2023 04:47:49 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
