Control: severity -1 important
Justification: essential package that works flawlessly for me

Hi,

First, I'd like to thank whoever has been maintaining kernel-package.
I depend on it, and the functionality enabled by this package is one
of the primary reasons I chose Debian over other alternatives--years
ago...  Kernel-package is a killer feature! :-) Reply follows inline.

On Sun, Mar 24, 2019 at 03:31:27PM +0000, Ben Hutchings wrote:
> Package: kernel-package
> Version: 13.018+nmu1
> Severity: serious
> 
> I discussed the state of kernel-package with Manoj and we agreed (see
> below) that it is not currently in a state suitable for release.
> 
> Ben.
> 
> ---
> From: Manoj Srivastava <manoj.srivastava.1...@gmail.com>
> Date: Thu, 7 Mar 2019 23:15:30 -0800
> Message-ID: 
> <cabkpoev_od02cyamius4w7dc6ejz5bm5eefr0s4ta_w99jm...@mail.gmail.com>
> To: Masahiro Yamada <yamada.masah...@socionext.com>
> Cc: Ben Hutchings <b...@decadent.org.uk>,  Linux Kbuild mailing list
>  <linux-kbu...@vger.kernel.org>, Liz Zhang <liz...@microsoft.com>,  Lili
>  Deng <v-l...@microsoft.com>, Riku Voipio <riku.voi...@linaro.org>,  Michal
>  Marek <michal.l...@markovi.net>,  Linux Kernel Mailing List
>  <linux-ker...@vger.kernel.org>
> Subject: Re: [PATCH] kbuild: add workaround for Debian make-kpkg
> 
> 
> Hi,
> 
>    Well, if there are users, then I'll file the return bug, but I'll take a
> look to see how but rooted this is, and perhaps even try building personal
> imaged Deb packages again (I stopped doing that)
>

Count me as one of its users.  I use it because it supports old-style
manually configured .config, and it lets one quickly and easily build
a Debian-packaged custom kernel like this:

  make menuconfig
  fakeroot make-kpkg binary-arch \
    --initrd --append-to-version=.${date -I}

The new style kernel packaging is hard to learn how to use, and builds
take much longer for some reason (generation of more packages?).

>    If should not go into buster in it's current state. It should be killed
> dead of it can't be brought back to a working state.
>

13.018+nmu1 on buster works like it always has for me--flawlessly.  I
built upstream vanilla 4.19.31 two days ago.

>    Manoj
> 
> On Thu, Mar 7, 2019, 10:43 PM Masahiro Yamada <yamada.masah...@socionext.com>
> wrote:
> 
> > On Fri, Mar 8, 2019 at 6:56 AM Ben Hutchings <b...@decadent.org.uk> wrote:
> > >
> > > On Wed, 2019-03-06 at 22:48 -0800, Manoj Srivastava wrote:
> > > > Hi,
> > > >
> > > >   Does this have any users?
> >
> > Recently, I received a regression report.
> > So, yes. There are users.
> >
> >
> > > > I can take a stand at making it work, but I am
> > > > unsure of there are enough people interested in make-kpkg anymore to
> > make
> > > > it worthwhile.
> > > >

Please count me as a supremely grateful user.

> > > >   There is a man pager that might be of minor interest, but that can be
> > > > taken over by the kernel team if they want
> >
> > I do not want to maintain the dying package.
> >

Why is it dying?  Do you mean the downward trend on popcon?  ISTM that
this speaks of the success of the kernel team in reducing the benefit
of a custom kernel...so a decline in relevancy for the majority of
users (plus a cultural shift), but as I see it it's still core
functionality that facilitates freedom.

Of course anyone can orphan a package at any time for any reason ;-)

> > > [...]
> > >
> > > I assume you're referring to kernel-img.conf.  I would be happy to add
> > > that to linux-base, with some clarification of which settings are
> > > understood by which packages.
> > >
> > > I take it that you don't want kernel-package to be included in buster,
> > > so can you open an RC bug to say so?
> >
> > Also, could you make sure it won't come back to bullseye or later ?
> >
> > How about Ubuntu? Is it out of your control?
> >

Where are the bugs that make this package unsuitable for release?  My
simple use case is not affected by any of
https://bugs.debian.org/cgi-bin/pkgreport.cgi?package=kernel-package
and I don't believe this RC bug is justified.

Is there any reason why any buggy kernel-package features can't be
cut?  Removing this package unnecessarily raises the barrier of entry
to building custom kernels...a killer feature of Debian--easy custom
kernels under package management.  Of course, if Debian had a kernel
flavour that met my use case then I might not need kernel-package.
The popcon trend appears to be fairly linear and it seems that there
will still be ~2000 users of the package by the time bullseye is
released.

I've attached my homemade convenience/enhancement wrapper script,
because it's possible that it works around some of the alleged unnamed
issues; my experience with this package has been *flawless*.  This bug
seems to indicate that it's difficult to maintain, so thank you for
your exceptional work on kernel-package.


Sincerely,
Nicholas
#!/bin/bash

# build-kernel builds a linux kernel with the right version of GCC and
# asks you to install it.  It also automatically enables concurrency
# for SMP and multicore systems.
#
# Copyright (C) 2011-2018  Nicholas D Steeves <nstee...@gmail.com>
# Distributed under the terms of the GPLv2 license.

# This script depends on sudo, kernel-package, fakeroot, and pv

linux_source="$PWD"
# linux_name=$(git rev-parse --abbrev-ref HEAD)
# linux_name="a custom name"
# email='yourem...@somedomain.com'
tmpfs='/scratch/tmpfs/'
today=$(date +%Y%m%d)
CONCURRENCY_LEVEL=$(grep -c ^processor /proc/cpuinfo | sed 's/^0$/1/')
CCV=$(cat /proc/version | sed 's/.*gcc version //' | cut -c 1)
MAKEFLAGS="CC=gcc-$CCV"


if [ ! -x "$(command -v gcc-$CCV)" ]; then
    echo "A suitable gcc version was not found"
    echo "Please install gcc-$CCV before continuing"
    exit 1
fi

export CONCURRENCY_LEVEL
export MAKEFLAGS
cd "$linux_source" && make oldconfig || exit $?

# Take this path if a tmpfs has been defined
if [ -n "${tmpfs+x}" ]; then
    bytes=$(du -bc ./* | tail -1 | awk '{print $1}')
    sudo mkdir -p "$tmpfs"
    sudo chown root:sudo "$tmpfs"
    sudo chmod 770 "$tmpfs"
    sudo mount none -t tmpfs "$tmpfs"
    mkdir "$tmpfs"/linux || exit $?
    tar cf - ./* .config | pv -pabet -s"$bytes" | (cd $tmpfs/linux && tar xfp 
-) \
        || exit $?
    cd "$tmpfs"/linux || exit $?

    time fakeroot make-kpkg binary-arch \
         --initrd --append-to-version=."$today" || exit $?
    echo

    for i in VERSION PATCHLEVEL SUBLEVEL; do
        tmp=$(grep ^$i Makefile | awk '{print $3}')
        export "${i}"=$tmp
    done
    unset tmp

    while true; do
        printf "Would you like to install the new kernel? (yes/no) "
        read choice
        case "$choice" in
            yes | y | Yes | YES )
                break
                ;;
            no | n | No | NO )
                echo "Exiting without installing the new kernel"
                sync; sleep 3
                sudo umount "$tmpfs"
                exit 1
                ;;
            * )
                printf "Please answer yes or no\n\n"
                ;;
        esac
    done

    sudo dpkg -i \
         
"$tmpfs"/linux-headers-${VERSION}.${PATCHLEVEL}.${SUBLEVEL}.${today}_*.deb \
         
"$tmpfs"/linux-image-${VERSION}.${PATCHLEVEL}.${SUBLEVEL}.${today}_*.deb \
        && (sync; sleep 3; sudo umount "$tmpfs"/)
    echo "Reboot to activate new kernel"

    # Take the following path if a tmpfs has not been defined
else
    time fakeroot make-kpkg binary-arch --initrd \
         --append-to-version=."${today}" || exit $?
    echo

    for i in VERSION PATCHLEVEL SUBLEVEL; do
        tmp=$(grep ^$i Makefile | awk '{print $3}')
        export "${i}"=$tmp
    done

    while true; do
        printf "Would you like to install the new kernel? (yes/no) "
        read choice
        case "$choice" in
            yes | y | Yes | YES )
                break
                ;;
            no | n | No | NO )
                echo "Exiting without installing the new kernel"
                cd "$linux_source"; sync; sleep 3
                sudo umount "$tmpfs"
                exit 1
                ;;
            * )
                printf "Please answer yes or no\n\n"
                ;;
        esac
    done

    sudo dpkg -i \
         
"$linux_source"/../linux-headers-${VERSION}.${PATCHLEVEL}.${SUBLEVEL}.${today}_*.deb
 \
         
"$linux_source"/../linux-image-${VERSION}.${PATCHLEVEL}.${SUBLEVEL}.${today}_*.deb
 \
        && (cd "$linux_source"; sync; sleep 3; sudo umount "$tmpfs")
    echo "Reboot to activate new kernel"
fi

Attachment: signature.asc
Description: PGP signature

Reply via email to