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@collabora.com>
This commit is contained in:
Adrian Ratiu
2024-05-15 18:47:33 +03:00
parent 406f613982
commit 0b69f057f3
12 changed files with 1 additions and 419 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -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=(