Date: Sunday, November 13, 2022 @ 13:59:29
  Author: foutrelis
Revision: 461527

upgpkg: gptfdisk 1.0.9-2: add fixes for popt 1.19

https://github.com/rpm-software-management/popt/issues/80

Added:
  gptfdisk/trunk/popt-1.19-follow-up.patch
  gptfdisk/trunk/popt-1.19.patch
Modified:
  gptfdisk/trunk/PKGBUILD
  gptfdisk/trunk/util-linux-2.38.patch

---------------------------+
 PKGBUILD                  |   13 +++++++++++--
 popt-1.19-follow-up.patch |   37 +++++++++++++++++++++++++++++++++++++
 popt-1.19.patch           |   37 +++++++++++++++++++++++++++++++++++++
 util-linux-2.38.patch     |   11 ++++-------
 4 files changed, 89 insertions(+), 9 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-11-13 13:44:06 UTC (rev 461526)
+++ PKGBUILD    2022-11-13 13:59:29 UTC (rev 461527)
@@ -4,7 +4,7 @@
 
 pkgname=gptfdisk
 pkgver=1.0.9
-pkgrel=1
+pkgrel=2
 pkgdesc="A text-mode partitioning tool that works on GUID Partition Table 
(GPT) disks"
 arch=('x86_64')
 url="https://www.rodsbooks.com/gdisk/";
@@ -13,15 +13,24 @@
 provides=("gdisk=$pkgver")
 conflicts=('gdisk')
 replaces=('gdisk')
+options=('debug')
 
source=(https://downloads.sourceforge.net/project/$pkgname/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz
+        popt-1.19.patch
+        popt-1.19-follow-up.patch
         util-linux-2.38.patch)
 sha256sums=('dafead2693faeb8e8b97832b23407f6ed5b3219bc1784f482dd855774e2d50c2'
-            'c014a1054c597fb9afb06e7cd4c91a038d887e66dd36aba26a68494ea0f41a43')
+            'ac8ee9b46a089855535c483a93fd51badecdd9028b32c7cc561c5863f52f79ca'
+            '644dc3e2c5812c12bdfd3bb174d220cd3af8903fb1baafe8181bf9dfa303b78c'
+            'a79206e1e2c57ba74cdeed0f47eeb79919b99159d95c4b42b54e709a29b1af65')
 
 prepare() {
   cd "$srcdir/$pkgname-$pkgver"
+  patch -Np1 -i ../popt-1.19.patch
   patch -Np1 -i ../util-linux-2.38.patch
 
+  # https://sourceforge.net/p/gptfdisk/code/merge-requests/28/
+  patch -Np1 -i ../popt-1.19-follow-up.patch
+
   # https://sourceforge.net/p/gptfdisk/discussion/939590/thread/bc29ca06f8/
   sed -i '/^#include /s:ncursesw/::' gptcurses.cc
 }

Added: popt-1.19-follow-up.patch
===================================================================
--- popt-1.19-follow-up.patch                           (rev 0)
+++ popt-1.19-follow-up.patch   2022-11-13 13:59:29 UTC (rev 461527)
@@ -0,0 +1,37 @@
+From f5de3401b974ce103ffd93af8f9d43505a04aaf9 Mon Sep 17 00:00:00 2001
+From: Damian Kurek <[email protected]>
+Date: Thu, 7 Jul 2022 03:39:16 +0000
+Subject: [PATCH] Fix NULL dereference when duplicating string argument
+
+poptGetArg can return NULL if there are no additional arguments, which
+makes strdup dereference NULL on strlen
+---
+ gptcl.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/gptcl.cc b/gptcl.cc
+index 0d578eb..ab95239 100644
+--- a/gptcl.cc
++++ b/gptcl.cc
+@@ -155,10 +155,11 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
+    } // while
+ 
+    // Assume first non-option argument is the device filename....
+-   device = strdup((char*) poptGetArg(poptCon));
+-   poptResetContext(poptCon);
++   device = (char*) poptGetArg(poptCon);
+ 
+    if (device != NULL) {
++      device = strdup(device);
++      poptResetContext(poptCon);
+       JustLooking(); // reset as necessary
+       BeQuiet(); // Tell called functions to be less verbose & interactive
+       if (LoadPartitions((string) device)) {
+@@ -498,6 +499,7 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
+          cerr << "Error encountered; not saving changes.\n";
+          retval = 4;
+       } // if
++      free(device);
+    } // if (device != NULL)
+    poptFreeContext(poptCon);
+    return retval;

Added: popt-1.19.patch
===================================================================
--- popt-1.19.patch                             (rev 0)
+++ popt-1.19.patch     2022-11-13 13:59:29 UTC (rev 461527)
@@ -0,0 +1,37 @@
+From 5d5e76d369a412bfb3d2cebb5fc0a7509cef878d Mon Sep 17 00:00:00 2001
+From: Rod Smith <[email protected]>
+Date: Fri, 15 Apr 2022 18:10:14 -0400
+Subject: [PATCH] Fix failure & crash of sgdisk when compiled with latest popt
+ (commit 740; presumably eventually release 1.19)
+
+---
+ gptcl.cc  | 2 +-
+ support.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gptcl.cc b/gptcl.cc
+index 34c9421..0d578eb 100644
+--- a/gptcl.cc
++++ b/gptcl.cc
+@@ -155,7 +155,7 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
+    } // while
+ 
+    // Assume first non-option argument is the device filename....
+-   device = (char*) poptGetArg(poptCon);
++   device = strdup((char*) poptGetArg(poptCon));
+    poptResetContext(poptCon);
+ 
+    if (device != NULL) {
+diff --git a/support.h b/support.h
+index 8ba9ad1..f91f1bc 100644
+--- a/support.h
++++ b/support.h
+@@ -8,7 +8,7 @@
+ #include <stdlib.h>
+ #include <string>
+ 
+-#define GPTFDISK_VERSION "1.0.9"
++#define GPTFDISK_VERSION "1.0.9.1"
+ 
+ #if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined 
(__APPLE__)
+ // Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is no 
lseek64

Modified: util-linux-2.38.patch
===================================================================
--- util-linux-2.38.patch       2022-11-13 13:44:06 UTC (rev 461526)
+++ util-linux-2.38.patch       2022-11-13 13:59:29 UTC (rev 461527)
@@ -1,11 +1,8 @@
-From 127e40dcc2d62ad693cb4e03e1182d0a227d85e1 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <[email protected]>
-Date: Sat, 16 Apr 2022 08:24:58 +0300
-Subject: [PATCH] Fix uuid/uuid.h detection with util-linux 2.38
+From 6a8416cbd12d55f882bb751993b94f72d338d96f Mon Sep 17 00:00:00 2001
+From: Rod Smith <[email protected]>
+Date: Sat, 16 Apr 2022 09:32:04 -0400
+Subject: [PATCH] Updated guid.cc to deal with minor change in libuuid
 
-util-linux commit 10f5f79485964ab52272ebe79c3b0047b1f84d82 changed the
-header guard in uuid/uuid.h from _UUID_UUID_H to _UL_LIBUUID_UUID_H as
-the former was too generic; fix guid.cc to also look for the new name.
 ---
  guid.cc | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

Reply via email to