public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:dev commit in: dev-libs/libtypec/, dev-libs/libtypec/files/
@ 2024-04-12 16:45 Adrian Ratiu
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian Ratiu @ 2024-04-12 16:45 UTC (permalink / raw
  To: gentoo-commits

commit:     1525837f407ffd338515ca42a0f349df824e74c0
Author:     Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com>
AuthorDate: Fri Mar  8 10:46:19 2024 +0000
Commit:     Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com>
CommitDate: Fri Apr 12 16:44:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=1525837f

dev-libs/libtypec: new package, add 0.5

thesamesam suggested on github [1] we add this ebuild
to GURU first, to get more testing before we eventually
add it to the main repo.

I'm in the process of upstreaming the 3 patches added
in this ebuild [2].

[1] https://github.com/gentoo/gentoo/pull/35666
[2] https://github.com/Rajaram-Regupathy/libtypec/pull/32
Closes: https://bugs.gentoo.org/910433
Signed-off-by: Adrian Ratiu <adrian.ratiu <AT> collabora.com>

 dev-libs/libtypec/Manifest                         |  1 +
 ...CMakeLists.txt-fix-pkgconfig-install-path.patch | 26 ++++++++++
 ...sfs_ops-define-feature-test-macro-for-nft.patch | 45 ++++++++++++++++++
 ...-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch | 55 ++++++++++++++++++++++
 dev-libs/libtypec/libtypec-0.5.0.ebuild            | 30 ++++++++++++
 dev-libs/libtypec/metadata.xml                     | 15 ++++++
 6 files changed, 172 insertions(+)

diff --git a/dev-libs/libtypec/Manifest b/dev-libs/libtypec/Manifest
new file mode 100644
index 0000000000..3e3836b094
--- /dev/null
+++ b/dev-libs/libtypec/Manifest
@@ -0,0 +1 @@
+DIST libtypec-0.5.0-Source.tar.gz 41621 BLAKE2B 09b7e592b4e52f5b6f568675335dc2366902fa8e2d67c5f1c6d2895345d4f4e2e880fc5336ae849133da7794ab457c7cd2dd31111655a68247a15b45d1a6fca6 SHA512 a5f404400f6a08f67f026bbc115fa2278586a0c6b8e9f3766162967d43c111e8985563692a1648efb3a3d3a4cd5047dd903f8733d72a40a175c7bb6be130dcb3

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch b/dev-libs/libtypec/files/libtypec-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch
new file mode 100644
index 0000000000..7412d6a537
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch
@@ -0,0 +1,26 @@
+From 8614051a1ff9856c3de932045dc149e758c2b0b1 Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Fri, 12 Apr 2024 17:08:09 +0300
+Subject: [PATCH] CMakeLists.txt: fix pkgconfig install path
+
+pkgconfig pc files need to go under libdir instead of datadir.
+
+Suggested-by: Sam James <sam@gentoo.org>
+Upstream-Status: In-Progress [https://github.com/Rajaram-Regupathy/libtypec/pull/32]
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9d533ab..aecf4e5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -59,4 +59,4 @@ configure_file(
+ )
+ 
+ install(FILES ${CMAKE_BINARY_DIR}/libtypec.pc
+-    DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
++    DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch b/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch
new file mode 100644
index 0000000000..ea83dcf7d1
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch
@@ -0,0 +1,45 @@
+From f1ecf54f8190351b6b1c2f163375405c4b238f64 Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Fri, 12 Apr 2024 17:42:38 +0300
+Subject: [PATCH] libtypec_sysfs_ops: define feature test macro for nftw
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+According to the man page [1], the definiton of nftw() is
+hidden behind the _XOPEN_SOURCE 500 feature test, so we
+must enable it to avoid warnings or errors (if the toolchain
+is configured to treat them as errors) like this:
+
+/var/tmp/portage/dev-libs/libtypec-0.5.0/work/libtypec-0.5.0-Source/libtypec_sysfs_ops.c:1059:13:
+warning: implicit declaration of function ‘nftw’; did you mean ‘ftw’?
+[-Wimplicit-function-declaration]
+ 1059 |         if (nftw ("/dev/bus/usb/", count_billbrd_if, fd_limit, 0) != 0)
+      |             ^~~~
+      |             ftw
+
+[1] https://linux.die.net/man/3/nftw
+Upstream-Status: In-Progress [https://github.com/Rajaram-Regupathy/libtypec/pull/32]
+---
+ libtypec_sysfs_ops.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libtypec_sysfs_ops.c b/libtypec_sysfs_ops.c
+index 747b562..bfb5246 100644
+--- a/libtypec_sysfs_ops.c
++++ b/libtypec_sysfs_ops.c
+@@ -29,6 +29,11 @@ SOFTWARE.
+  * @brief Functions for libtypec sysfs based operations
+  */
+ 
++/**
++ *  required for enalbing nftw(), which is part of SUSv1.
++ */
++#define _XOPEN_SOURCE 500
++
+ #include "libtypec_ops.h"
+ #include <dirent.h>
+ #include <stdio.h>
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch b/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch
new file mode 100644
index 0000000000..01ed6d674a
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch
@@ -0,0 +1,55 @@
+From d11cd006700bada6ac09da4d58794474018650e4 Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Fri, 12 Apr 2024 18:36:15 +0300
+Subject: [PATCH] libtypec_sysfs_ops: fix nftw() fun pointer def
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+According to the __ntfw_func_t definiton [1], and ftw
+documentation [2], ntfw() is being passed a wrong fun
+argument, which is expected for the deprecated ftw(),
+not for ntfw().
+
+This got hidden by the fact that _XOPEN_SOURCE >= 500
+feature flag was disabled, so the C compilers just
+issued an implicit declaration warning/error.
+
+Example:
+
+/var/tmp/portage/dev-libs/libtypec-0.5.0/work/libtypec-0.5.0-Source/libtypec_sysfs_ops.c:1064:36:
+warning: passing argument 2 of ‘nftw’ from incompatible pointer type
+[-Wincompatible-pointer-types]
+ 1064 |         if (nftw ("/dev/bus/usb/", count_billbrd_if, fd_limit, 0) != 0)
+      |                                    ^~~~~~~~~~~~~~~~
+      |                                    |
+      |                                    int (*)(const char *, const struct stat *, int)
+In file included from /var/tmp/portage/dev-libs/libtypec-0.5.0/work/libtypec-0.5.0-Source/libtypec_sysfs_ops.c:48:
+/usr/include/ftw.h:179:51: note: expected ‘__nftw_func_t’ {aka ‘int (*)(const char *, const struct stat *, int,  struct FTW *)’} but argument is of type ‘int (*)(const char *, const struct stat *, int)’
+  179 | extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors,
+      |		              ~~~~~~~~~~~~~~^~~~~~
+
+[1]
+https://www.gnu.org/software/libc/manual/html_node/Working-with-Directory-Trees.html#index-_005f_005fnftw_005ffunc_005ft
+[2] https://man7.org/linux/man-pages/man3/ftw.3.html
+Upstream-Status: In-Progress [https://github.com/Rajaram-Regupathy/libtypec/pull/32]
+---
+ libtypec_sysfs_ops.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libtypec_sysfs_ops.c b/libtypec_sysfs_ops.c
+index bfb5246..e496e5f 100644
+--- a/libtypec_sysfs_ops.c
++++ b/libtypec_sysfs_ops.c
+@@ -476,7 +476,7 @@ static unsigned int get_fixed_supply_pdo(char *path, int src_snk)
+ 
+ }
+ 
+-static int count_billbrd_if(const char *usb_path, const struct stat *sb, int typeflag)
++static int count_billbrd_if(const char *usb_path, const struct stat *sb, int typeflag, struct FTW *ftw)
+ {
+ 	FILE				*fd;
+ 
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/libtypec-0.5.0.ebuild b/dev-libs/libtypec/libtypec-0.5.0.ebuild
new file mode 100644
index 0000000000..02697c52d9
--- /dev/null
+++ b/dev-libs/libtypec/libtypec-0.5.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Library to interface with USB Type-c/Power Delivery devices"
+HOMEPAGE="https://github.com/Rajaram-Regupathy/libtypec"
+SRC_URI="https://github.com/Rajaram-Regupathy/libtypec/releases/download/${P}/${P}-Source.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+S="${WORKDIR}/${P}-Source"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch"
+	"${FILESDIR}/${PN}-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch"
+	"${FILESDIR}/${PN}-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch"
+)
+
+src_configure() {
+	# don't force CFLAGS to allow Gentoo toolchain to set them
+	local mycmakeargs=(
+		-DLIBTYPEC_STRICT_CFLAGS=OFF
+	)
+	cmake_src_configure
+}

diff --git a/dev-libs/libtypec/metadata.xml b/dev-libs/libtypec/metadata.xml
new file mode 100644
index 0000000000..67b3cc5f8c
--- /dev/null
+++ b/dev-libs/libtypec/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <longdescription>
+    “libtypec” is aimed to provide a generic interface abstracting all
+    platform complexity for user space to develop tools for efficient
+    USB-C port management. The library can also enable development of
+    diagnostic and debug tools to debug system issues around USB-C/USB
+    PD topology.
+  </longdescription>
+  <!-- maintainer-needed -->
+  <upstream>
+    <remote-id type="github">Rajaram-Regupathy/libtypec</remote-id>
+  </upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: dev-libs/libtypec/, dev-libs/libtypec/files/
@ 2024-04-15 11:58 Adrian Ratiu
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian Ratiu @ 2024-04-15 11:58 UTC (permalink / raw
  To: gentoo-commits

commit:     7e6af504b7ecca1853034f60eb6dd6dc20f2ce46
Author:     Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com>
AuthorDate: Mon Apr 15 11:04:25 2024 +0000
Commit:     Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com>
CommitDate: Mon Apr 15 11:58:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7e6af504

dev-util/libtypec: backport a few more patches

These should all be dropped when upstream does a new release.

Signed-off-by: Adrian Ratiu <adrian.ratiu <AT> collabora.com>

 ...-0.5.0-libtypec-close-fp-before-returning.patch | 33 +++++++++
 ...ils-add-missing-break-in-switch-statement.patch | 30 ++++++++
 ...ec-utils-add-missing-return-at-end-of-fun.patch | 31 ++++++++
 ...ils-add-missing-return-at-end-of-function.patch | 30 ++++++++
 ...-libtypec-utils-close-fp-before-returning.patch | 44 ++++++++++++
 ...-0.5.0-typecstatus-fix-potential-overflow.patch | 82 ++++++++++++++++++++++
 dev-libs/libtypec/libtypec-0.5.0-r1.ebuild         |  1 +
 dev-libs/libtypec/libtypec-0.5.0.ebuild            |  6 ++
 8 files changed, 257 insertions(+)

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-close-fp-before-returning.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-close-fp-before-returning.patch
new file mode 100644
index 0000000000..e8fe5d44bf
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-close-fp-before-returning.patch
@@ -0,0 +1,33 @@
+From 67d40a5f0132e2b02167ad274c6d6c76e4393964 Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.i.king@gmail.com>
+Date: Thu, 4 Jan 2024 09:42:54 +0000
+Subject: [PATCH] libtypec: close fp before returning
+
+Fix resource leak on fp on error return path, close fp before
+returning.
+
+Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
+Upstream-Status: Backport [upstream commit 67d40a5]
+---
+ libtypec_sysfs_ops.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/libtypec_sysfs_ops.c b/libtypec_sysfs_ops.c
+index 747b562..a22de5a 100644
+--- a/libtypec_sysfs_ops.c
++++ b/libtypec_sysfs_ops.c
+@@ -504,8 +504,10 @@ static int count_billbrd_if(const char *usb_path, const struct stat *sb, int typ
+ 			if(num_bb_if < MAX_BB_PATH_STORED)
+ 			{
+ 				int len =  strlen(usb_path);
+-				if(len > 512 ) /*exceeds buffer size*/
++				if(len > 512 ) { /*exceeds buffer size*/
++					fclose(fd);
+ 					return 0;
++				}
+ 				
+ 				strcpy(bb_dev_path[num_bb_if],usb_path);
+ 			}
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-break-in-switch-statement.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-break-in-switch-statement.patch
new file mode 100644
index 0000000000..e48fcac1cb
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-break-in-switch-statement.patch
@@ -0,0 +1,30 @@
+From 7de1000ff658c594a8f0a4b62f4956fc635d6c23 Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.i.king@gmail.com>
+Date: Thu, 4 Jan 2024 09:46:19 +0000
+Subject: [PATCH] libtypec: utils: add missing break in switch statement
+
+For the product_type_pd3p1_drd case there is a missing break
+statement causing an unintentional fall-through to the default
+case. Add in the missing break statement.
+
+Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
+Upstream-Status: Backport [upstream commit 7de1000]
+---
+ utils/lstypec.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/utils/lstypec.c b/utils/lstypec.c
+index a30b2bc..98d23f6 100644
+--- a/utils/lstypec.c
++++ b/utils/lstypec.c
+@@ -396,6 +396,7 @@ void print_identity_data(int recipient, union libtypec_discovered_identity id, s
+           printf("    Product VDO 2: 0x%08x\n", id.disc_id.product_type_vdo2);
+           printf("    Product VDO 3: 0x%08x\n", id.disc_id.product_type_vdo3);
+           print_vdo(((uint32_t) id.disc_id.product_type_vdo3), 6, pd3p1_dfp_fields, pd3p1_dfp_field_desc);
++          break;
+         default:
+           printf("    Product VDO 1: 0x%08x\n", id.disc_id.product_type_vdo1);
+           printf("    Product VDO 2: 0x%08x\n", id.disc_id.product_type_vdo2);
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-fun.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-fun.patch
new file mode 100644
index 0000000000..554c0006ac
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-fun.patch
@@ -0,0 +1,31 @@
+From 6d193776421db948e4201a60cf239fdae62c196d Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.i.king@gmail.com>
+Date: Thu, 4 Jan 2024 09:52:57 +0000
+Subject: [PATCH] libtypec: utils: add missing return at end of function
+
+Function typecstatus_power_contract is missing a return 0 at the
+end of the function, currently it is returning nothing and so
+it may be returning a garbage value.
+
+Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
+Upstream-Status: Backport [upstream commit 6d19377]
+---
+ utils/typecstatus.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utils/typecstatus.c b/utils/typecstatus.c
+index 5e16e74..bfb4142 100644
+--- a/utils/typecstatus.c
++++ b/utils/typecstatus.c
+@@ -208,7 +208,7 @@ int typecstatus_power_contract()
+                     printf("\tNo Power Contract on port %d\n",i);        
+             }
+         }
+-
++	return 0;
+ }
+ 
+ /* Check all typec ports */
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-function.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-function.patch
new file mode 100644
index 0000000000..9f33b91490
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-function.patch
@@ -0,0 +1,30 @@
+From d15c9d17148632b7864990c29854321b891c95c3 Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.i.king@gmail.com>
+Date: Thu, 4 Jan 2024 09:44:04 +0000
+Subject: [PATCH] libtypec: utils: add missing return at end of function
+
+Function typec_status_billboard is missing a return 0 at the
+end of the function, currently it is returning nothing and so
+it may be returning a garbage value.
+
+Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
+Upstream-Status: Backport [upstream commit d15c9d1]
+---
+ utils/typecstatus.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/utils/typecstatus.c b/utils/typecstatus.c
+index 43801c0..5e16e74 100644
+--- a/utils/typecstatus.c
++++ b/utils/typecstatus.c
+@@ -169,6 +169,7 @@ int typec_status_billboard()
+ 
+             }
+         }
++	return 0;
+ }
+ 
+ int typecstatus_power_contract()
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-close-fp-before-returning.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-close-fp-before-returning.patch
new file mode 100644
index 0000000000..3479673749
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-close-fp-before-returning.patch
@@ -0,0 +1,44 @@
+From 477b08cea7e27da5fb97ce52d0af3d2c98f4f98f Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.i.king@gmail.com>
+Date: Thu, 4 Jan 2024 09:41:04 +0000
+Subject: [PATCH] libtypec: utils: close fp before returning
+
+Fix resource leak on fp on error return path, close fp before
+returning.
+
+Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
+Upstream-Status: Backport [upstream commit 477b08c]
+---
+ utils/typecstatus.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/utils/typecstatus.c b/utils/typecstatus.c
+index be906a4..43801c0 100644
+--- a/utils/typecstatus.c
++++ b/utils/typecstatus.c
+@@ -92,11 +92,13 @@ static unsigned long get_dword_from_path(char *path)
+ 
+ 	FILE *fp = fopen(path, "r");
+ 	
+-    if (fp == NULL)
++	if (fp == NULL)
+ 		return -1;
+ 
+-	if(fgets(buf, 64, fp) == NULL)
++	if(fgets(buf, 64, fp) == NULL) {
++		fclose(fp);
+ 		return -1;
++	}
+ 
+ 	dword = strtoul(buf, NULL, 10);
+ 
+@@ -253,4 +255,4 @@ int main (int argc, char **argv)
+     }
+     names_exit();
+ 
+-}
+\ No newline at end of file
++}
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-typecstatus-fix-potential-overflow.patch b/dev-libs/libtypec/files/libtypec-0.5.0-typecstatus-fix-potential-overflow.patch
new file mode 100644
index 0000000000..c7479f0091
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.0-typecstatus-fix-potential-overflow.patch
@@ -0,0 +1,82 @@
+From 026acf3f2688631af2951630d3b9588badc65ca6 Mon Sep 17 00:00:00 2001
+From: Rajaram Regupathy <rajaram.regupathy@gmail.com>
+Date: Sun, 14 Apr 2024 14:55:15 +0530
+Subject: [PATCH] typecstatus : fix potential overflow
+
+check index returned and use to avoid potential buffer overflow
+Upstream-Status: Backport [upstream commit 026acf3]
+---
+ utils/typecstatus.c | 44 +++++++++++++++++++++++---------------------
+ 1 file changed, 23 insertions(+), 21 deletions(-)
+
+diff --git a/utils/typecstatus.c b/utils/typecstatus.c
+index bfb4142..7ca7669 100644
+--- a/utils/typecstatus.c
++++ b/utils/typecstatus.c
+@@ -133,40 +133,42 @@ int typec_status_billboard()
+ 
+                 bb_loc = find_bb_bos_index(bb_data,ret);
+ 
+-                struct bb_bos_descritor *bb_bos_desc = (struct bb_bos_descritor *)&bb_data[bb_loc];
++                if(bb_loc > 0 )
++                {
++                    struct bb_bos_descritor *bb_bos_desc = (struct bb_bos_descritor *)&bb_data[bb_loc];
+ 
+-                printf("\tBillboard Device Version :  %x.%x\n",bb_bos_desc->cap_desc_bcd_ver[1],bb_bos_desc->cap_desc_bcd_ver[0]);
++                    printf("\tBillboard Device Version :  %x.%x\n",bb_bos_desc->cap_desc_bcd_ver[1],bb_bos_desc->cap_desc_bcd_ver[0]);
+ 
+-                printf("\tNumber of Alternate Mode :  %d\n",bb_bos_desc->cap_desc_num_aum);
++                    printf("\tNumber of Alternate Mode :  %d\n",bb_bos_desc->cap_desc_num_aum);
+ 
+-                for(int x=0;x<bb_bos_desc->cap_desc_num_aum;x++)
+-                {
+-                    int idx = 0, k=0, j=0;
+-                    #define bmCONF_STR_ARR_MAX 4
++                    for(int x=0;x<bb_bos_desc->cap_desc_num_aum;x++)
++                    {
++                        int idx = 0, k=0, j=0;
++                        #define bmCONF_STR_ARR_MAX 4
+ 
+-                    char *bmconf_str_array[]= {"Unspecified Error","AUM not attempted","AUM attempt unsuccessful","AUM configuration successful","Undefined Configuration"};
++                        char *bmconf_str_array[]= {"Unspecified Error","AUM not attempted","AUM attempt unsuccessful","AUM configuration successful","Undefined Configuration"};
+ 
+-                    if( (x !=0) && ((x % 4) == 0))
+-                    {
+-                        j++;
+-                        k=0;
+-                    }
++                        if( (x !=0) && ((x % 4) == 0))
++                        {
++                            j++;
++                            k=0;
++                        }
+ 
+-                    idx = bb_bos_desc->cap_desc_bmconfig[j];
++                        idx = bb_bos_desc->cap_desc_bmconfig[j];
+ 
+-                    idx = (idx >> k) & 0x3;
++                        idx = (idx >> k) & 0x3;
+ 
+-                    k++;
++                        k++;
+ 
+-                    idx =  idx < bmCONF_STR_ARR_MAX ? idx : bmCONF_STR_ARR_MAX;
++                        idx =  idx < bmCONF_STR_ARR_MAX ? idx : bmCONF_STR_ARR_MAX;
+ 
+-                    char *aum = &bb_bos_desc->cap_desc_aum_array_start;
++                        char *aum = &bb_bos_desc->cap_desc_aum_array_start;
+ 
+-                    aum = aum + (x*4);
++                        aum = aum + (x*4);
+ 
+-                    printf("\tAlternate Mode 0x%02X%02X in state :  %s\n",aum[1]&0xFF,aum[0]&0xFF,bmconf_str_array[idx]);
++                        printf("\tAlternate Mode 0x%02X%02X in state :  %s\n",aum[1]&0xFF,aum[0]&0xFF,bmconf_str_array[idx]);
++                    }
+                 }
+-
+             }
+         }
+ 	return 0;
+-- 
+2.43.2
+

diff --git a/dev-libs/libtypec/libtypec-0.5.0-r1.ebuild b/dev-libs/libtypec/libtypec-0.5.0-r1.ebuild
new file mode 120000
index 0000000000..6fadeb75a3
--- /dev/null
+++ b/dev-libs/libtypec/libtypec-0.5.0-r1.ebuild
@@ -0,0 +1 @@
+libtypec-0.5.0.ebuild
\ No newline at end of file

diff --git a/dev-libs/libtypec/libtypec-0.5.0.ebuild b/dev-libs/libtypec/libtypec-0.5.0.ebuild
index 02697c52d9..0e9c08e3aa 100644
--- a/dev-libs/libtypec/libtypec-0.5.0.ebuild
+++ b/dev-libs/libtypec/libtypec-0.5.0.ebuild
@@ -19,6 +19,12 @@ PATCHES=(
 	"${FILESDIR}/${PN}-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch"
 	"${FILESDIR}/${PN}-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch"
 	"${FILESDIR}/${PN}-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch"
+	"${FILESDIR}/${PN}-0.5.0-libtypec-utils-close-fp-before-returning.patch"
+	"${FILESDIR}/${PN}-0.5.0-libtypec-close-fp-before-returning.patch"
+	"${FILESDIR}/${PN}-0.5.0-libtypec-utils-add-missing-return-at-end-of-fun.patch"
+	"${FILESDIR}/${PN}-0.5.0-libtypec-utils-add-missing-return-at-end-of-function.patch"
+	"${FILESDIR}/${PN}-0.5.0-libtypec-utils-add-missing-break-in-switch-statement.patch"
+	"${FILESDIR}/${PN}-0.5.0-typecstatus-fix-potential-overflow.patch"
 )
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: dev-libs/libtypec/, dev-libs/libtypec/files/
@ 2024-05-15 15:48 Adrian Ratiu
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian Ratiu @ 2024-05-15 15:48 UTC (permalink / raw
  To: gentoo-commits

commit:     0b69f057f3095fcde880be0884b057cf424e0082
Author:     Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com>
AuthorDate: Wed May 15 15:47:33 2024 +0000
Commit:     Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com>
CommitDate: Wed May 15 15:48:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0b69f057

dev-libs/libtypec: bump 0.5.0 -> 0.5.1

This latest version contains all the backported fixes
so we can remove the patches.

Signed-off-by: Adrian Ratiu <adrian.ratiu <AT> collabora.com>

 dev-libs/libtypec/Manifest                         |  2 +-
 ...CMakeLists.txt-fix-pkgconfig-install-path.patch | 26 -------
 ...-0.5.0-libtypec-close-fp-before-returning.patch | 33 ---------
 ...ils-add-missing-break-in-switch-statement.patch | 30 --------
 ...ec-utils-add-missing-return-at-end-of-fun.patch | 31 --------
 ...ils-add-missing-return-at-end-of-function.patch | 30 --------
 ...-libtypec-utils-close-fp-before-returning.patch | 44 ------------
 ...sfs_ops-define-feature-test-macro-for-nft.patch | 45 ------------
 ...-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch | 55 ---------------
 ...-0.5.0-typecstatus-fix-potential-overflow.patch | 82 ----------------------
 dev-libs/libtypec/libtypec-0.5.0-r1.ebuild         | 36 ----------
 ...libtypec-0.5.0.ebuild => libtypec-0.5.1.ebuild} |  6 --
 12 files changed, 1 insertion(+), 419 deletions(-)

diff --git a/dev-libs/libtypec/Manifest b/dev-libs/libtypec/Manifest
index 3e3836b094..860882f219 100644
--- a/dev-libs/libtypec/Manifest
+++ b/dev-libs/libtypec/Manifest
@@ -1 +1 @@
-DIST libtypec-0.5.0-Source.tar.gz 41621 BLAKE2B 09b7e592b4e52f5b6f568675335dc2366902fa8e2d67c5f1c6d2895345d4f4e2e880fc5336ae849133da7794ab457c7cd2dd31111655a68247a15b45d1a6fca6 SHA512 a5f404400f6a08f67f026bbc115fa2278586a0c6b8e9f3766162967d43c111e8985563692a1648efb3a3d3a4cd5047dd903f8733d72a40a175c7bb6be130dcb3
+DIST libtypec-0.5.1-Source.tar.gz 146305 BLAKE2B d93f640c3a37e51c1b0116c8dbdc6f06f301ec63a95739107c09458eecb765ee82ab4b3a4c7d8c54dbcbef32496d67e1030a3b9b11a144dfa149584cf9b4b151 SHA512 b6f9b2396306825e31cb1002953ea0eac8597a099305cd59bb08590939e98c720a0f2eca2742de70a10a90ae379d3338d42cb6f8e5a6a359246f7266ba9b016a

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch b/dev-libs/libtypec/files/libtypec-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch
deleted file mode 100644
index 71dac0e735..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8614051a1ff9856c3de932045dc149e758c2b0b1 Mon Sep 17 00:00:00 2001
-From: Adrian Ratiu <adrian.ratiu@collabora.com>
-Date: Fri, 12 Apr 2024 17:08:09 +0300
-Subject: [PATCH] CMakeLists.txt: fix pkgconfig install path
-
-pkgconfig pc files need to go under libdir instead of datadir.
-
-Suggested-by: Sam James <sam@gentoo.org>
-Upstream-Status: Backport [upstream commit 8614051]
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9d533ab..aecf4e5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -59,4 +59,4 @@ configure_file(
- )
- 
- install(FILES ${CMAKE_BINARY_DIR}/libtypec.pc
--    DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
-+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-close-fp-before-returning.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-close-fp-before-returning.patch
deleted file mode 100644
index e8fe5d44bf..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-close-fp-before-returning.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 67d40a5f0132e2b02167ad274c6d6c76e4393964 Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.i.king@gmail.com>
-Date: Thu, 4 Jan 2024 09:42:54 +0000
-Subject: [PATCH] libtypec: close fp before returning
-
-Fix resource leak on fp on error return path, close fp before
-returning.
-
-Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
-Upstream-Status: Backport [upstream commit 67d40a5]
----
- libtypec_sysfs_ops.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/libtypec_sysfs_ops.c b/libtypec_sysfs_ops.c
-index 747b562..a22de5a 100644
---- a/libtypec_sysfs_ops.c
-+++ b/libtypec_sysfs_ops.c
-@@ -504,8 +504,10 @@ static int count_billbrd_if(const char *usb_path, const struct stat *sb, int typ
- 			if(num_bb_if < MAX_BB_PATH_STORED)
- 			{
- 				int len =  strlen(usb_path);
--				if(len > 512 ) /*exceeds buffer size*/
-+				if(len > 512 ) { /*exceeds buffer size*/
-+					fclose(fd);
- 					return 0;
-+				}
- 				
- 				strcpy(bb_dev_path[num_bb_if],usb_path);
- 			}
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-break-in-switch-statement.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-break-in-switch-statement.patch
deleted file mode 100644
index e48fcac1cb..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-break-in-switch-statement.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7de1000ff658c594a8f0a4b62f4956fc635d6c23 Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.i.king@gmail.com>
-Date: Thu, 4 Jan 2024 09:46:19 +0000
-Subject: [PATCH] libtypec: utils: add missing break in switch statement
-
-For the product_type_pd3p1_drd case there is a missing break
-statement causing an unintentional fall-through to the default
-case. Add in the missing break statement.
-
-Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
-Upstream-Status: Backport [upstream commit 7de1000]
----
- utils/lstypec.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/utils/lstypec.c b/utils/lstypec.c
-index a30b2bc..98d23f6 100644
---- a/utils/lstypec.c
-+++ b/utils/lstypec.c
-@@ -396,6 +396,7 @@ void print_identity_data(int recipient, union libtypec_discovered_identity id, s
-           printf("    Product VDO 2: 0x%08x\n", id.disc_id.product_type_vdo2);
-           printf("    Product VDO 3: 0x%08x\n", id.disc_id.product_type_vdo3);
-           print_vdo(((uint32_t) id.disc_id.product_type_vdo3), 6, pd3p1_dfp_fields, pd3p1_dfp_field_desc);
-+          break;
-         default:
-           printf("    Product VDO 1: 0x%08x\n", id.disc_id.product_type_vdo1);
-           printf("    Product VDO 2: 0x%08x\n", id.disc_id.product_type_vdo2);
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-fun.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-fun.patch
deleted file mode 100644
index 554c0006ac..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-fun.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 6d193776421db948e4201a60cf239fdae62c196d Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.i.king@gmail.com>
-Date: Thu, 4 Jan 2024 09:52:57 +0000
-Subject: [PATCH] libtypec: utils: add missing return at end of function
-
-Function typecstatus_power_contract is missing a return 0 at the
-end of the function, currently it is returning nothing and so
-it may be returning a garbage value.
-
-Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
-Upstream-Status: Backport [upstream commit 6d19377]
----
- utils/typecstatus.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/utils/typecstatus.c b/utils/typecstatus.c
-index 5e16e74..bfb4142 100644
---- a/utils/typecstatus.c
-+++ b/utils/typecstatus.c
-@@ -208,7 +208,7 @@ int typecstatus_power_contract()
-                     printf("\tNo Power Contract on port %d\n",i);        
-             }
-         }
--
-+	return 0;
- }
- 
- /* Check all typec ports */
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-function.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-function.patch
deleted file mode 100644
index 9f33b91490..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-add-missing-return-at-end-of-function.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d15c9d17148632b7864990c29854321b891c95c3 Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.i.king@gmail.com>
-Date: Thu, 4 Jan 2024 09:44:04 +0000
-Subject: [PATCH] libtypec: utils: add missing return at end of function
-
-Function typec_status_billboard is missing a return 0 at the
-end of the function, currently it is returning nothing and so
-it may be returning a garbage value.
-
-Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
-Upstream-Status: Backport [upstream commit d15c9d1]
----
- utils/typecstatus.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/utils/typecstatus.c b/utils/typecstatus.c
-index 43801c0..5e16e74 100644
---- a/utils/typecstatus.c
-+++ b/utils/typecstatus.c
-@@ -169,6 +169,7 @@ int typec_status_billboard()
- 
-             }
-         }
-+	return 0;
- }
- 
- int typecstatus_power_contract()
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-close-fp-before-returning.patch b/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-close-fp-before-returning.patch
deleted file mode 100644
index 3479673749..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-libtypec-utils-close-fp-before-returning.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 477b08cea7e27da5fb97ce52d0af3d2c98f4f98f Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.i.king@gmail.com>
-Date: Thu, 4 Jan 2024 09:41:04 +0000
-Subject: [PATCH] libtypec: utils: close fp before returning
-
-Fix resource leak on fp on error return path, close fp before
-returning.
-
-Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
-Upstream-Status: Backport [upstream commit 477b08c]
----
- utils/typecstatus.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/utils/typecstatus.c b/utils/typecstatus.c
-index be906a4..43801c0 100644
---- a/utils/typecstatus.c
-+++ b/utils/typecstatus.c
-@@ -92,11 +92,13 @@ static unsigned long get_dword_from_path(char *path)
- 
- 	FILE *fp = fopen(path, "r");
- 	
--    if (fp == NULL)
-+	if (fp == NULL)
- 		return -1;
- 
--	if(fgets(buf, 64, fp) == NULL)
-+	if(fgets(buf, 64, fp) == NULL) {
-+		fclose(fp);
- 		return -1;
-+	}
- 
- 	dword = strtoul(buf, NULL, 10);
- 
-@@ -253,4 +255,4 @@ int main (int argc, char **argv)
-     }
-     names_exit();
- 
--}
-\ No newline at end of file
-+}
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch b/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch
deleted file mode 100644
index 93c70b9c84..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From f1ecf54f8190351b6b1c2f163375405c4b238f64 Mon Sep 17 00:00:00 2001
-From: Adrian Ratiu <adrian.ratiu@collabora.com>
-Date: Fri, 12 Apr 2024 17:42:38 +0300
-Subject: [PATCH] libtypec_sysfs_ops: define feature test macro for nftw
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-According to the man page [1], the definiton of nftw() is
-hidden behind the _XOPEN_SOURCE 500 feature test, so we
-must enable it to avoid warnings or errors (if the toolchain
-is configured to treat them as errors) like this:
-
-/var/tmp/portage/dev-libs/libtypec-0.5.0/work/libtypec-0.5.0-Source/libtypec_sysfs_ops.c:1059:13:
-warning: implicit declaration of function ‘nftw’; did you mean ‘ftw’?
-[-Wimplicit-function-declaration]
- 1059 |         if (nftw ("/dev/bus/usb/", count_billbrd_if, fd_limit, 0) != 0)
-      |             ^~~~
-      |             ftw
-
-[1] https://linux.die.net/man/3/nftw
-Upstream-Status: Backport [upstream commit f1ecf54]
----
- libtypec_sysfs_ops.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libtypec_sysfs_ops.c b/libtypec_sysfs_ops.c
-index 747b562..bfb5246 100644
---- a/libtypec_sysfs_ops.c
-+++ b/libtypec_sysfs_ops.c
-@@ -29,6 +29,11 @@ SOFTWARE.
-  * @brief Functions for libtypec sysfs based operations
-  */
- 
-+/**
-+ *  required for enalbing nftw(), which is part of SUSv1.
-+ */
-+#define _XOPEN_SOURCE 500
-+
- #include "libtypec_ops.h"
- #include <dirent.h>
- #include <stdio.h>
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch b/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch
deleted file mode 100644
index 7ac3e1cc8f..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From d11cd006700bada6ac09da4d58794474018650e4 Mon Sep 17 00:00:00 2001
-From: Adrian Ratiu <adrian.ratiu@collabora.com>
-Date: Fri, 12 Apr 2024 18:36:15 +0300
-Subject: [PATCH] libtypec_sysfs_ops: fix nftw() fun pointer def
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-According to the __ntfw_func_t definiton [1], and ftw
-documentation [2], ntfw() is being passed a wrong fun
-argument, which is expected for the deprecated ftw(),
-not for ntfw().
-
-This got hidden by the fact that _XOPEN_SOURCE >= 500
-feature flag was disabled, so the C compilers just
-issued an implicit declaration warning/error.
-
-Example:
-
-/var/tmp/portage/dev-libs/libtypec-0.5.0/work/libtypec-0.5.0-Source/libtypec_sysfs_ops.c:1064:36:
-warning: passing argument 2 of ‘nftw’ from incompatible pointer type
-[-Wincompatible-pointer-types]
- 1064 |         if (nftw ("/dev/bus/usb/", count_billbrd_if, fd_limit, 0) != 0)
-      |                                    ^~~~~~~~~~~~~~~~
-      |                                    |
-      |                                    int (*)(const char *, const struct stat *, int)
-In file included from /var/tmp/portage/dev-libs/libtypec-0.5.0/work/libtypec-0.5.0-Source/libtypec_sysfs_ops.c:48:
-/usr/include/ftw.h:179:51: note: expected ‘__nftw_func_t’ {aka ‘int (*)(const char *, const struct stat *, int,  struct FTW *)’} but argument is of type ‘int (*)(const char *, const struct stat *, int)’
-  179 | extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors,
-      |		              ~~~~~~~~~~~~~~^~~~~~
-
-[1]
-https://www.gnu.org/software/libc/manual/html_node/Working-with-Directory-Trees.html#index-_005f_005fnftw_005ffunc_005ft
-[2] https://man7.org/linux/man-pages/man3/ftw.3.html
-Upstream-Status: Backport [upstream commit d11cd00]
----
- libtypec_sysfs_ops.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libtypec_sysfs_ops.c b/libtypec_sysfs_ops.c
-index bfb5246..e496e5f 100644
---- a/libtypec_sysfs_ops.c
-+++ b/libtypec_sysfs_ops.c
-@@ -476,7 +476,7 @@ static unsigned int get_fixed_supply_pdo(char *path, int src_snk)
- 
- }
- 
--static int count_billbrd_if(const char *usb_path, const struct stat *sb, int typeflag)
-+static int count_billbrd_if(const char *usb_path, const struct stat *sb, int typeflag, struct FTW *ftw)
- {
- 	FILE				*fd;
- 
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/files/libtypec-0.5.0-typecstatus-fix-potential-overflow.patch b/dev-libs/libtypec/files/libtypec-0.5.0-typecstatus-fix-potential-overflow.patch
deleted file mode 100644
index c7479f0091..0000000000
--- a/dev-libs/libtypec/files/libtypec-0.5.0-typecstatus-fix-potential-overflow.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 026acf3f2688631af2951630d3b9588badc65ca6 Mon Sep 17 00:00:00 2001
-From: Rajaram Regupathy <rajaram.regupathy@gmail.com>
-Date: Sun, 14 Apr 2024 14:55:15 +0530
-Subject: [PATCH] typecstatus : fix potential overflow
-
-check index returned and use to avoid potential buffer overflow
-Upstream-Status: Backport [upstream commit 026acf3]
----
- utils/typecstatus.c | 44 +++++++++++++++++++++++---------------------
- 1 file changed, 23 insertions(+), 21 deletions(-)
-
-diff --git a/utils/typecstatus.c b/utils/typecstatus.c
-index bfb4142..7ca7669 100644
---- a/utils/typecstatus.c
-+++ b/utils/typecstatus.c
-@@ -133,40 +133,42 @@ int typec_status_billboard()
- 
-                 bb_loc = find_bb_bos_index(bb_data,ret);
- 
--                struct bb_bos_descritor *bb_bos_desc = (struct bb_bos_descritor *)&bb_data[bb_loc];
-+                if(bb_loc > 0 )
-+                {
-+                    struct bb_bos_descritor *bb_bos_desc = (struct bb_bos_descritor *)&bb_data[bb_loc];
- 
--                printf("\tBillboard Device Version :  %x.%x\n",bb_bos_desc->cap_desc_bcd_ver[1],bb_bos_desc->cap_desc_bcd_ver[0]);
-+                    printf("\tBillboard Device Version :  %x.%x\n",bb_bos_desc->cap_desc_bcd_ver[1],bb_bos_desc->cap_desc_bcd_ver[0]);
- 
--                printf("\tNumber of Alternate Mode :  %d\n",bb_bos_desc->cap_desc_num_aum);
-+                    printf("\tNumber of Alternate Mode :  %d\n",bb_bos_desc->cap_desc_num_aum);
- 
--                for(int x=0;x<bb_bos_desc->cap_desc_num_aum;x++)
--                {
--                    int idx = 0, k=0, j=0;
--                    #define bmCONF_STR_ARR_MAX 4
-+                    for(int x=0;x<bb_bos_desc->cap_desc_num_aum;x++)
-+                    {
-+                        int idx = 0, k=0, j=0;
-+                        #define bmCONF_STR_ARR_MAX 4
- 
--                    char *bmconf_str_array[]= {"Unspecified Error","AUM not attempted","AUM attempt unsuccessful","AUM configuration successful","Undefined Configuration"};
-+                        char *bmconf_str_array[]= {"Unspecified Error","AUM not attempted","AUM attempt unsuccessful","AUM configuration successful","Undefined Configuration"};
- 
--                    if( (x !=0) && ((x % 4) == 0))
--                    {
--                        j++;
--                        k=0;
--                    }
-+                        if( (x !=0) && ((x % 4) == 0))
-+                        {
-+                            j++;
-+                            k=0;
-+                        }
- 
--                    idx = bb_bos_desc->cap_desc_bmconfig[j];
-+                        idx = bb_bos_desc->cap_desc_bmconfig[j];
- 
--                    idx = (idx >> k) & 0x3;
-+                        idx = (idx >> k) & 0x3;
- 
--                    k++;
-+                        k++;
- 
--                    idx =  idx < bmCONF_STR_ARR_MAX ? idx : bmCONF_STR_ARR_MAX;
-+                        idx =  idx < bmCONF_STR_ARR_MAX ? idx : bmCONF_STR_ARR_MAX;
- 
--                    char *aum = &bb_bos_desc->cap_desc_aum_array_start;
-+                        char *aum = &bb_bos_desc->cap_desc_aum_array_start;
- 
--                    aum = aum + (x*4);
-+                        aum = aum + (x*4);
- 
--                    printf("\tAlternate Mode 0x%02X%02X in state :  %s\n",aum[1]&0xFF,aum[0]&0xFF,bmconf_str_array[idx]);
-+                        printf("\tAlternate Mode 0x%02X%02X in state :  %s\n",aum[1]&0xFF,aum[0]&0xFF,bmconf_str_array[idx]);
-+                    }
-                 }
--
-             }
-         }
- 	return 0;
--- 
-2.43.2
-

diff --git a/dev-libs/libtypec/libtypec-0.5.0-r1.ebuild b/dev-libs/libtypec/libtypec-0.5.0-r1.ebuild
deleted file mode 100644
index f6efb97b04..0000000000
--- a/dev-libs/libtypec/libtypec-0.5.0-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Library to interface with USB Type-c/Power Delivery devices"
-HOMEPAGE="https://github.com/Rajaram-Regupathy/libtypec"
-SRC_URI="https://github.com/Rajaram-Regupathy/libtypec/releases/download/${P}/${P}-Source.tar.gz"
-
-S="${WORKDIR}/${P}-Source"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch"
-	"${FILESDIR}/${PN}-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch"
-	"${FILESDIR}/${PN}-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch"
-	"${FILESDIR}/${PN}-0.5.0-libtypec-utils-close-fp-before-returning.patch"
-	"${FILESDIR}/${PN}-0.5.0-libtypec-close-fp-before-returning.patch"
-	"${FILESDIR}/${PN}-0.5.0-libtypec-utils-add-missing-return-at-end-of-fun.patch"
-	"${FILESDIR}/${PN}-0.5.0-libtypec-utils-add-missing-return-at-end-of-function.patch"
-	"${FILESDIR}/${PN}-0.5.0-libtypec-utils-add-missing-break-in-switch-statement.patch"
-	"${FILESDIR}/${PN}-0.5.0-typecstatus-fix-potential-overflow.patch"
-)
-
-src_configure() {
-	# don't force CFLAGS to allow Gentoo toolchain to set them
-	local mycmakeargs=(
-		-DLIBTYPEC_STRICT_CFLAGS=OFF
-	)
-	cmake_src_configure
-}

diff --git a/dev-libs/libtypec/libtypec-0.5.0.ebuild b/dev-libs/libtypec/libtypec-0.5.1.ebuild
similarity index 71%
rename from dev-libs/libtypec/libtypec-0.5.0.ebuild
rename to dev-libs/libtypec/libtypec-0.5.1.ebuild
index c0cd16ca5d..0f083f6175 100644
--- a/dev-libs/libtypec/libtypec-0.5.0.ebuild
+++ b/dev-libs/libtypec/libtypec-0.5.1.ebuild
@@ -15,12 +15,6 @@ LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~amd64"
 
-PATCHES=(
-	"${FILESDIR}/${PN}-0.5.0-CMakeLists.txt-fix-pkgconfig-install-path.patch"
-	"${FILESDIR}/${PN}-0.5.0-sysfs_ops-define-feature-test-macro-for-nft.patch"
-	"${FILESDIR}/${PN}-0.5.0-sysfs_ops-fix-nftw-fun-pointer-def.patch"
-)
-
 src_configure() {
 	# don't force CFLAGS to allow Gentoo toolchain to set them
 	local mycmakeargs=(


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: dev-libs/libtypec/, dev-libs/libtypec/files/
@ 2024-07-02 15:48 Adrian Ratiu
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian Ratiu @ 2024-07-02 15:48 UTC (permalink / raw
  To: gentoo-commits

commit:     4b7d4206b3c5414c6002ea06d388b1fb5c2a9621
Author:     Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com>
AuthorDate: Tue Jul  2 15:28:40 2024 +0000
Commit:     Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com>
CommitDate: Tue Jul  2 15:28:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4b7d4206

dev-libs/libtypec: add two more meson build fixes

These are based on mturner's feedback on

https://github.com/gentoo/gentoo/pull/36736

and should land soon upstream.

Signed-off-by: Adrian Ratiu <adrian.ratiu <AT> collabora.com>

 .../libtypec-0.5.2-fix-meson-release-version.patch | 29 ++++++++++++++++++++++
 ...typec-0.5.2-meson.build-fix-soversion-5-0.patch | 26 +++++++++++++++++++
 ...ec-0.5.2-r1.ebuild => libtypec-0.5.2-r2.ebuild} |  5 ++++
 3 files changed, 60 insertions(+)

diff --git a/dev-libs/libtypec/files/libtypec-0.5.2-fix-meson-release-version.patch b/dev-libs/libtypec/files/libtypec-0.5.2-fix-meson-release-version.patch
new file mode 100644
index 000000000..7d744748b
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.2-fix-meson-release-version.patch
@@ -0,0 +1,29 @@
+From 3d9d6bf5c8e703b92e8779e67f05685630c782c3 Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Mon, 1 Jul 2024 19:01:25 +0300
+Subject: [PATCH] meson.build: fix 0.5.1 -> 0.5.2 release version
+
+0.5.2 was released, however only the version in
+CMakeLists was bumped. Bump the version in meson
+as well.
+
+Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 903c506..3f95774 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1,6 +1,6 @@
+ project('libtypec','c',
+ license: 'MIT',
+-version: '0.5.1',
++version: '0.5.2',
+ default_options : [
+ 	'warning_level=0'])
+ 
+-- 
+2.44.2
+

diff --git a/dev-libs/libtypec/files/libtypec-0.5.2-meson.build-fix-soversion-5-0.patch b/dev-libs/libtypec/files/libtypec-0.5.2-meson.build-fix-soversion-5-0.patch
new file mode 100644
index 000000000..2b5035045
--- /dev/null
+++ b/dev-libs/libtypec/files/libtypec-0.5.2-meson.build-fix-soversion-5-0.patch
@@ -0,0 +1,26 @@
+From f16b1bf3c938523dd896d738508586823b01170b Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Tue, 2 Jul 2024 17:56:36 +0300
+Subject: [PATCH] meson.build: fix soversion 5 -> 0
+
+Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 3f95774..99878d9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -19,7 +19,7 @@ library('typec',
+ 	'libtypec_sysfs_ops.c',
+ 	'libtypec_dbgfs_ops.c',
+ 	version : meson.project_version(),
+-	soversion : '5',
++	soversion : '0',
+ 	dependencies: libudev_dep,
+ 	install: true,
+ )
+-- 
+2.44.2
+

diff --git a/dev-libs/libtypec/libtypec-0.5.2-r1.ebuild b/dev-libs/libtypec/libtypec-0.5.2-r2.ebuild
similarity index 78%
rename from dev-libs/libtypec/libtypec-0.5.2-r1.ebuild
rename to dev-libs/libtypec/libtypec-0.5.2-r2.ebuild
index 9fa0a66e6..ab0cadf47 100644
--- a/dev-libs/libtypec/libtypec-0.5.2-r1.ebuild
+++ b/dev-libs/libtypec/libtypec-0.5.2-r2.ebuild
@@ -11,6 +11,11 @@ SRC_URI="https://github.com/libtypec/libtypec/archive/refs/tags/${P}.tar.gz"
 
 S="${WORKDIR}/${PN}-${P}"
 
+PATCHES=(
+	"${FILESDIR}/${PN}-0.5.2-fix-meson-release-version.patch"
+	"${FILESDIR}/${PN}-0.5.2-meson.build-fix-soversion-5-0.patch"
+)
+
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~amd64"


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-07-02 15:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-02 15:48 [gentoo-commits] repo/proj/guru:dev commit in: dev-libs/libtypec/, dev-libs/libtypec/files/ Adrian Ratiu
  -- strict thread matches above, loose matches on Subject: below --
2024-05-15 15:48 Adrian Ratiu
2024-04-15 11:58 Adrian Ratiu
2024-04-12 16:45 Adrian Ratiu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox