Mageia Bugzilla – Attachment 14362 Details for
Bug 32829
bm fails to unpack some srpm ( old/missing signature keys )
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
[patch]
bm patch to force unpacking
bm-3.4-enable-forced-unpacking.patch (text/plain), 4.25 KB, created by
Aurelian R
on 2024-02-10 17:26:36 CET
(
hide
)
Description:
bm patch to force unpacking
Filename:
MIME Type:
Creator:
Aurelian R
Created:
2024-02-10 17:26:36 CET
Size:
4.25 KB
patch
obsolete
>diff -Nurp bm-3.4/bash-completion/bm bm-3.4-nokey/bash-completion/bm >--- bm-3.4/bash-completion/bm 2023-07-25 21:35:49.000000000 +0300 >+++ bm-3.4-nokey/bash-completion/bm 2024-02-10 17:20:46.267861055 +0200 >@@ -28,8 +28,8 @@ _bm() > > if [[ "$cur" == -* ]]; then > COMPREPLY=( $( compgen -W '--version -h --help -a -u -p -c -i \ >- -s -b -l -j -o --unpack-dir= --build-log= --move-srpm= \ >- --move-rpm= --move-failed-srpm= --copy-failed-srpm= \ >+ -s -b -l -j -o --unpack-dir= --build-log= --force-unpack \ >+ --move-srpm= --move-rpm= --move-failed-srpm= --copy-failed-srpm= \ > --remove-failed-srpm --move-succeeded-srpm= \ > --copy-succeeded-srpm= --remove-succeeded-srpm \ > --move-log= --move-failed-log= --filter-renew= \ >diff -Nurp bm-3.4/bm bm-3.4-nokey/bm >--- bm-3.4/bm 2023-07-25 21:35:49.000000000 +0300 >+++ bm-3.4-nokey/bm 2024-02-10 17:10:26.994613802 +0200 >@@ -83,6 +83,8 @@ def parse_options(): > help="same as --clean, but only remove if build has succeeded") > parser.add_option("--ignore", metavar="PKGNAME", action="append", default=[], > help="ignore given package names (shell globbing allowed)") >+ parser.add_option("--force-unpack", dest="forceunpack", action="store_true", >+ help="force unpacking regardless of rpm errors or warnings", default=False) > > # Passtrough options > parser.add_option("--sign", action="callback", nargs=0, callback=passtrough, >diff -Nurp bm-3.4/BuildManager/build.py bm-3.4-nokey/BuildManager/build.py >--- bm-3.4/BuildManager/build.py 2023-07-25 21:35:49.000000000 +0300 >+++ bm-3.4-nokey/BuildManager/build.py 2024-02-10 15:21:14.821863677 +0200 >@@ -40,7 +40,7 @@ class PackageBuilder: > self.pkglist = PackageList() > logger.info("creating package list") > for filename in self.opts.args: >- pkg = Package(filename, self.opts.build_log) >+ pkg = Package(filename, self.opts.build_log, self.opts.forceunpack) > if pkg.type == 'rpm': > logger.info("skipping %s, not a src.rpm" % filename) > break >diff -Nurp bm-3.4/BuildManager/package.py bm-3.4-nokey/BuildManager/package.py >--- bm-3.4/BuildManager/package.py 2024-02-10 15:33:29.806594281 +0200 >+++ bm-3.4-nokey/BuildManager/package.py 2024-02-10 15:33:35.814673882 +0200 >@@ -26,14 +26,14 @@ def subst(s, vars): > raise Error("variable $%s not declared" % var) > > class Package: >- def __init__(self, file, log=None): >+ def __init__(self, file, log=None, flag=False): > self._package = None > ext = self._filename_extension(file) > if not ext: > raise Error("unknown file extension of "+file) > if "_package_"+ext not in globals(): > raise Error("unknown package extension of "+file) >- self._package = globals()["_package_"+ext](file, log) >+ self._package = globals()["_package_"+ext](file, log, flag) > > def __getattr__(self, name): > return getattr(self._package, name) >@@ -47,7 +47,7 @@ class Package: > return filename[dotpos+1:] > > class _package: >- def __init__(self, file, log): >+ def __init__(self, file, log, flag): > self.file = file > self.absfile = os.path.abspath(file) > self.type = None >@@ -58,6 +58,7 @@ class _package: > self.spec = None > self.builddir = None > self.log = log or "$builddir/SPECS/log.$name" >+ self.flag = flag or False > self._init() > > def __cmp__(self, pkg): >@@ -150,6 +151,8 @@ class _package_rpm(_package): > h = rpm.headerFromPackage(file.fileno())[0] > else: > ts = rpm.TransactionSet() >+ if self.flag: >+ ts.setVSFlags(-1) > h = ts.hdrFromFdno(file.fileno()) > file.close() > self.name = h[rpm.RPMTAG_NAME] >diff -Nurp bm-3.4/man/bm.8 bm-3.4-nokey/man/bm.8 >--- bm-3.4/man/bm.8 2023-07-25 21:35:49.000000000 +0300 >+++ bm-3.4-nokey/man/bm.8 2024-02-10 17:07:10.414999418 +0200 >@@ -69,6 +69,10 @@ pass given parameters directly to rpm > specify directory where to unpack \fBfile\fP(s) > .TP > .B >+\fB--force-unpack\fP >+force unpacking regardless of rpm errors or warnings >+.TP >+.B > \fB--build-log\fP=FILE > specify where to put the build log for each package > .TP
diff -Nurp bm-3.4/bash-completion/bm bm-3.4-nokey/bash-completion/bm --- bm-3.4/bash-completion/bm 2023-07-25 21:35:49.000000000 +0300 +++ bm-3.4-nokey/bash-completion/bm 2024-02-10 17:20:46.267861055 +0200 @@ -28,8 +28,8 @@ _bm() if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--version -h --help -a -u -p -c -i \ - -s -b -l -j -o --unpack-dir= --build-log= --move-srpm= \ - --move-rpm= --move-failed-srpm= --copy-failed-srpm= \ + -s -b -l -j -o --unpack-dir= --build-log= --force-unpack \ + --move-srpm= --move-rpm= --move-failed-srpm= --copy-failed-srpm= \ --remove-failed-srpm --move-succeeded-srpm= \ --copy-succeeded-srpm= --remove-succeeded-srpm \ --move-log= --move-failed-log= --filter-renew= \ diff -Nurp bm-3.4/bm bm-3.4-nokey/bm --- bm-3.4/bm 2023-07-25 21:35:49.000000000 +0300 +++ bm-3.4-nokey/bm 2024-02-10 17:10:26.994613802 +0200 @@ -83,6 +83,8 @@ def parse_options(): help="same as --clean, but only remove if build has succeeded") parser.add_option("--ignore", metavar="PKGNAME", action="append", default=[], help="ignore given package names (shell globbing allowed)") + parser.add_option("--force-unpack", dest="forceunpack", action="store_true", + help="force unpacking regardless of rpm errors or warnings", default=False) # Passtrough options parser.add_option("--sign", action="callback", nargs=0, callback=passtrough, diff -Nurp bm-3.4/BuildManager/build.py bm-3.4-nokey/BuildManager/build.py --- bm-3.4/BuildManager/build.py 2023-07-25 21:35:49.000000000 +0300 +++ bm-3.4-nokey/BuildManager/build.py 2024-02-10 15:21:14.821863677 +0200 @@ -40,7 +40,7 @@ class PackageBuilder: self.pkglist = PackageList() logger.info("creating package list") for filename in self.opts.args: - pkg = Package(filename, self.opts.build_log) + pkg = Package(filename, self.opts.build_log, self.opts.forceunpack) if pkg.type == 'rpm': logger.info("skipping %s, not a src.rpm" % filename) break diff -Nurp bm-3.4/BuildManager/package.py bm-3.4-nokey/BuildManager/package.py --- bm-3.4/BuildManager/package.py 2024-02-10 15:33:29.806594281 +0200 +++ bm-3.4-nokey/BuildManager/package.py 2024-02-10 15:33:35.814673882 +0200 @@ -26,14 +26,14 @@ def subst(s, vars): raise Error("variable $%s not declared" % var) class Package: - def __init__(self, file, log=None): + def __init__(self, file, log=None, flag=False): self._package = None ext = self._filename_extension(file) if not ext: raise Error("unknown file extension of "+file) if "_package_"+ext not in globals(): raise Error("unknown package extension of "+file) - self._package = globals()["_package_"+ext](file, log) + self._package = globals()["_package_"+ext](file, log, flag) def __getattr__(self, name): return getattr(self._package, name) @@ -47,7 +47,7 @@ class Package: return filename[dotpos+1:] class _package: - def __init__(self, file, log): + def __init__(self, file, log, flag): self.file = file self.absfile = os.path.abspath(file) self.type = None @@ -58,6 +58,7 @@ class _package: self.spec = None self.builddir = None self.log = log or "$builddir/SPECS/log.$name" + self.flag = flag or False self._init() def __cmp__(self, pkg): @@ -150,6 +151,8 @@ class _package_rpm(_package): h = rpm.headerFromPackage(file.fileno())[0] else: ts = rpm.TransactionSet() + if self.flag: + ts.setVSFlags(-1) h = ts.hdrFromFdno(file.fileno()) file.close() self.name = h[rpm.RPMTAG_NAME] diff -Nurp bm-3.4/man/bm.8 bm-3.4-nokey/man/bm.8 --- bm-3.4/man/bm.8 2023-07-25 21:35:49.000000000 +0300 +++ bm-3.4-nokey/man/bm.8 2024-02-10 17:07:10.414999418 +0200 @@ -69,6 +69,10 @@ pass given parameters directly to rpm specify directory where to unpack \fBfile\fP(s) .TP .B +\fB--force-unpack\fP +force unpacking regardless of rpm errors or warnings +.TP +.B \fB--build-log\fP=FILE specify where to put the build log for each package .TP
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 32829
: 14362 |
14364
|
14368