Your message dated Sat, 13 Aug 2022 06:59:39 +0000
with message-id <[email protected]>
and subject line Bug#575848: Removed package(s) from unstable
has caused the Debian Bug report #129459,
regarding dh-kpatches; Applying Multiple Patches
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
129459: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=129459
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dh-kpatches
Version: 0.7
Severity: wishlist

It would be nice if the dh_installkpatches script had an option
to deal with multiple patches.  That is, keep the scripts
generated by the current dh_installkpatches as the default
behavior, but if a packager needs to apply multiple patches, add
an option to generate scripts with the attached patches.

Not sure how applicable this is to some of the other requests
here, but the ReiserFS Quota patches have multiple diffs that
must be applied in a certain order.  Oh, and there is a different
set of patches for each kernel version.

So, I used dh_installkpatches and the following kpatches file to
start:

    Patch-name: ReiserFS Quota Patches
    Patch-id: reiserfs-quota
    Architecture: all
    Path-strip-level: 1

    Patch-file: 2.4.13/50_quota-patch-2.4.13-pre2
    Kernel-version: 2.4.13

    Patch-file: 2.4.14/50_quota-patch-2.4.14-pre7.diff
    Kernel-version: 2.4.14

    Patch-file: 2.4.16/50_quota-patch-2.4.15-1-2.4.16
    Kernel-version: 2.4.16

    Patch-file: 2.4.16/50_quota-patch-2.4.15-1-2.4.16
    Kernel-version: 2.4.17

    Patch-file: 2.4.13/dquot_deadlock.diff
    Kernel-version: 2.4.13

    Patch-file: 2.4.13/dquot_deadlock.diff
    Kernel-version: 2.4.14

    Patch-file: 2.4.13/dquot_deadlock.diff
    Kernel-version: 2.4.16

    Patch-file: 2.4.13/dquot_deadlock.diff
    Kernel-version: 2.4.17

    Patch-file: 2.4.13/journal_info-1.diff
    Kernel-version: 2.4.13

    Patch-file: 2.4.13/journal_info-1.diff
    Kernel-version: 2.4.14

    Patch-file: 2.4.13/nesting-8.diff
    Kernel-version: 2.4.13

    Patch-file: 2.4.13/nesting-8.diff
    Kernel-version: 2.4.14

    Patch-file: 2.4.16/nesting-9.diff
    Kernel-version: 2.4.16

    Patch-file: 2.4.17/nesting-10.diff
    Kernel-version: 2.4.17

    Patch-file: 2.4.13/reiserfs-quota-12.diff
    Kernel-version: 2.4.13

    Patch-file: 2.4.14/reiserfs-quota-14.diff
    Kernel-version: 2.4.14

    Patch-file: 2.4.16/reiserfs-quota-16.diff
    Kernel-version: 2.4.16

    Patch-file: 2.4.17/reiserfs-quota-17.diff
    Kernel-version: 2.4.17


The default apply and unpatch scripts only looked at the first
patch that applied to the kernel being built, though.  So I had
to patch the resulting apply and unpatch scripts.

The patch for the unpatch script:

diff -c -L /usr/src/kernel-patches/all/unpatch/reiserfs-quota~ -L 
/usr/src/kernel-patches/all/unpatch/reiserfs-quota /tmp/tramp.2747Yge 
/tmp/tramp.2747y0q
*** /usr/src/kernel-patches/all/unpatch/reiserfs-quota~
--- /usr/src/kernel-patches/all/unpatch/reiserfs-quota
***************
*** 29,38 ****
  fi
  
  APPLY_INFO=$(cat debian/APPLIED_${PATCHARCH}_$PATCHID)
- PATCHFILE=$(echo ${APPLY_INFO} | cut -d# -f1)
- STRIPLEVEL=$(echo ${APPLY_INFO} | cut -d# -f2)
  
! PATCH_OPTIONS="--ignore-whitespace --silent"
  
  # # META: what's this ?? backup ?
  # if dpkg --compare-versions $PATCH_VERSION \>= 2.2
--- 29,41 ----
  fi
  
  APPLY_INFO=$(cat debian/APPLIED_${PATCHARCH}_$PATCHID)
  
! for i in $APPLY_INFO
! do
!     PATCHFILE=$(echo ${i} | cut -d# -f1)
!     STRIPLEVEL=$(echo ${i} | cut -d# -f2)
! 
!     PATCH_OPTIONS="--ignore-whitespace --silent"
  
  # # META: what's this ?? backup ?
  # if dpkg --compare-versions $PATCH_VERSION \>= 2.2
***************
*** 42,63 ****
  #     PATCH_OPTIONS="$PATCH_OPTIONS -b"
  # fi
  
! if [ ! -r $PATCHFILE ]
! then
!     echo >&2 <<EOF
  ERROR: applied $PATCHNAME patch file could not be found.
  Presumably the package containing it was removed or upgraded.
  I strongly suggest you remove this kernel tree and unpack a clean one.
  EOF
!     exit 1
! fi
  
! $DECOMPRESSOR $PATCHFILE | patch -R -p$STRIPLEVEL $PATCH_OPTIONS
  
! echo >&2 "Removing empty files after unpatching:"
! # make an exception for ./debian, or else the stamp files will go too.
! find . -path ./debian -prune -o -type f -size 0 ! -name 'APPLIED*' -exec rm 
{} \; -print
! echo >&2 "Done."
  
  rm -f debian/APPLIED_${PATCHARCH}_$PATCHID
  rmdir -p debian || true
--- 45,67 ----
  #     PATCH_OPTIONS="$PATCH_OPTIONS -b"
  # fi
  
!     if [ ! -r $PATCHFILE ]
!     then
!       echo >&2 <<EOF
  ERROR: applied $PATCHNAME patch file could not be found.
  Presumably the package containing it was removed or upgraded.
  I strongly suggest you remove this kernel tree and unpack a clean one.
  EOF
!       exit 1
!     fi
  
!     $DECOMPRESSOR $PATCHFILE | patch -R -p$STRIPLEVEL $PATCH_OPTIONS
  
!     echo >&2 "Removing empty files after unpatching:"
!     # make an exception for ./debian, or else the stamp files will go too.
!     find . -path ./debian -prune -o -type f -size 0 ! -name 'APPLIED*' -exec 
rm {} \; -print
!     echo >&2 "Done."
! done
  
  rm -f debian/APPLIED_${PATCHARCH}_$PATCHID
  rmdir -p debian || true

Diff finished at Tue Jan 15 22:25:51

The patch for the apply script:

diff -c -L /usr/src/kernel-patches/all/apply/reiserfs-quota~ -L 
/usr/src/kernel-patches/all/apply/reiserfs-quota /tmp/tramp.2747xIA 
/tmp/tramp.2747LdM
*** /usr/src/kernel-patches/all/apply/reiserfs-quota~
--- /usr/src/kernel-patches/all/apply/reiserfs-quota
***************
*** 100,105 ****
--- 100,108 ----
  NEXT_IDX=
  PREV_IDX=
  
+ PATCHES_TO_APPLY=
+ 
+ 
  declare -i i=${#PATCHFILES[*]}-1
  while [ $i -ge 0 ]
  do
***************
*** 108,113 ****
--- 111,117 ----
      then
        CUR_KVERS=$v
        CUR_IDX=$i
+       PATCHES_TO_APPLY="$PATCHES_TO_APPLY $i"
      elif dpkg --compare-versions $v '>>' $KERNELRELEASE
      then
        if [ -z "$NEXT_IDX" ] || dpkg --compare-versions $v '<<' $NEXT_KVERS
***************
*** 128,134 ****
  
  ###
  
! for i in $CUR_IDX $NEXT_IDX $PREV_IDX
  do
      if [ "$i" ]
      then
--- 132,138 ----
  
  ###
  
! for i in $PATCHES_TO_APPLY
  do
      if [ "$i" ]
      then
***************
*** 136,142 ****
        PATCHFILE=${PATCHFILES[$i]}
        STRIPLEVEL=${STRIPLEVELS[$i]}
  
!       echo >&2 "Testing whether $PATCHNAME patch for $KVERSION applies (dry 
run):"
        # We must check that patchfile exists, or the pipe will return 0
        # even though $DECOMPRESSOR returns 1.  Is this a bash bug ?
        if [ -r $PATCHFILE ] && $DECOMPRESSOR $PATCHFILE |
--- 140,147 ----
        PATCHFILE=${PATCHFILES[$i]}
        STRIPLEVEL=${STRIPLEVELS[$i]}
  
!       echo >&2 "For $PATCHNAME:"
!       echo >&2 "   $PATCHFILE: dryrun"
        # We must check that patchfile exists, or the pipe will return 0
        # even though $DECOMPRESSOR returns 1.  Is this a bash bug ?
        if [ -r $PATCHFILE ] && $DECOMPRESSOR $PATCHFILE |
***************
*** 145,151 ****
            if $DECOMPRESSOR $PATCHFILE |
                    patch $PATCH_OPTIONS -p$STRIPLEVEL
            then
!               echo >&2 "$PATCHNAME patch for $KVERSION succeeded"
                echo >&2 "Removing empty files after patching:"
                # make an exception for ./debian, or else the stamp files will 
go too.
                find . -path ./debian -prune -o -type f -size 0 ! -name 
'APPLIED*' -exec rm {} \; -print
--- 150,156 ----
            if $DECOMPRESSOR $PATCHFILE |
                    patch $PATCH_OPTIONS -p$STRIPLEVEL
            then
!               echo >&2 "   $PATCHFILE: succeeded"
                echo >&2 "Removing empty files after patching:"
                # make an exception for ./debian, or else the stamp files will 
go too.
                find . -path ./debian -prune -o -type f -size 0 ! -name 
'APPLIED*' -exec rm {} \; -print
***************
*** 154,167 ****
                # keep enough infos for unpatching
                mkdir -p debian
                echo "$PATCHFILE#$STRIPLEVEL" \
!                   > debian/APPLIED_${PATCHARCH}_$PATCHID 
!               break
            else
!               echo >&2 "$PATCHNAME patch for $KVERSION failed"
                exit 1
            fi
        else
!           echo >&2 "$PATCHNAME patch for $KVERSION does not apply cleanly"
        fi
      fi
  done
--- 159,171 ----
                # keep enough infos for unpatching
                mkdir -p debian
                echo "$PATCHFILE#$STRIPLEVEL" \
!                   >> debian/APPLIED_${PATCHARCH}_$PATCHID 
            else
!               echo >&2 "   $PATCHFILE: failed"
                exit 1
            fi
        else
!           echo >&2 "   $PATCHFILE: does not apply cleanly"
        fi
      fi
  done

Diff finished at Tue Jan 15 22:28:23


-- System Information
Debian Release: testing/unstable
Kernel Version: Linux superman 2.4.17-k7 #2 Sat Dec 22 22:03:49 EST 2001 i686 
unknown

Versions of the packages dh-kpatches depends on:
ii  debhelper      3.0.45         helper programs for debian/rules
ii  perl           5.6.1-5        Larry Wall's Practical Extraction and Report



--- End Message ---
--- Begin Message ---
Version: 0.99.36+nmu4+rm

Dear submitter,

as the package dh-kpatches has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/575848

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
[email protected].

Debian distribution maintenance software
pp.
Thorsten Alteholz (the ftpmaster behind the curtain)

--- End Message ---

Reply via email to