FreeBSD Bugzilla – Attachment 134641 Details for
Bug 179331
[PATCH] multimedia/libcec Update to 2.1.3
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 5.67 KB, created by
Manuel Creach
on 2013-06-05 14:10:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Manuel Creach
Created:
2013-06-05 14:10:01 UTC
Size:
5.67 KB
patch
obsolete
>diff -Naur libcec.orig/Makefile libcec/Makefile >--- libcec.orig/Makefile 2013-04-23 16:20:25.000000000 +0200 >+++ libcec/Makefile 2013-06-05 12:29:17.000000000 +0200 >@@ -2,7 +2,7 @@ > # $FreeBSD: multimedia/libcec/Makefile 316355 2013-04-23 14:20:25Z bapt $ > > PORTNAME= libcec >-PORTVERSION= 2.0.4 >+PORTVERSION= 2.1.3 > CATEGORIES= multimedia > > MAINTAINER= manuel.creach@icloud.com >@@ -13,7 +13,7 @@ > > USE_GITHUB= yes > GH_ACCOUNT= Pulse-Eight >-GH_COMMIT= 178d498 >+GH_COMMIT= 54be21e > GH_TAGNAME= ${PORTNAME}-${PORTVERSION} > > USES= pkgconfig >diff -Naur libcec.orig/distinfo libcec/distinfo >--- libcec.orig/distinfo 2012-12-04 18:14:34.000000000 +0100 >+++ libcec/distinfo 2013-06-05 12:27:25.000000000 +0200 >@@ -1,2 +1,2 @@ >-SHA256 (libcec-2.0.4.tar.gz) = 652f8bddf8629eb4d14c93bc97efbeb7406482f69626302c8489df8e1fd8431f >-SIZE (libcec-2.0.4.tar.gz) = 1075334 >+SHA256 (libcec-2.1.3.tar.gz) = 2aa88451b528184b02077ee8c6cd10e2f89121a6a05b1b35b4b792b03108a9d1 >+SIZE (libcec-2.1.3.tar.gz) = 1087121 >diff -Naur libcec.orig/files/patch-src__lib__adapter__Pulse-Eight__USBCECAdapterDetection.cpp libcec/files/patch-src__lib__adapter__Pulse-Eight__USBCECAdapterDetection.cpp >--- libcec.orig/files/patch-src__lib__adapter__Pulse-Eight__USBCECAdapterDetection.cpp 2012-12-04 18:14:34.000000000 +0100 >+++ libcec/files/patch-src__lib__adapter__Pulse-Eight__USBCECAdapterDetection.cpp 2013-06-05 12:25:40.000000000 +0200 >@@ -1,11 +1,93 @@ >---- ./src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.cpp.orig 2012-10-17 11:35:39.000000000 +0200 >-+++ ./src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.cpp 2012-10-17 11:35:52.000000000 +0200 >-@@ -427,8 +427,6 @@ >- for (i = 0; i < 8; ++i) >+diff --git src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.cpp src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.cpp >+index 35ba386..dc1c79b 100644 >+--- src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.cpp >++++ src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.cpp >+@@ -63,6 +63,8 @@ extern "C" { >+ #elif defined(__FreeBSD__) >+ #include <stdio.h> >+ #include <unistd.h> >++#include <sys/types.h> >++#include <sys/sysctl.h> >+ #endif >+ >+ #define CEC_VID 0x2548 >+@@ -434,22 +436,68 @@ uint8_t CUSBCECAdapterDetection::FindAdapters(cec_adapter_descriptor *deviceList >+ } >+ #elif defined(__FreeBSD__) >+ char devicePath[PATH_MAX + 1]; >++ char infos[512]; >++ char sysctlname[32]; >++ char ttyname[8]; >++ char *pos; >++ size_t infos_size = sizeof(infos); >+ int i; >+ >+- for (i = 0; i < 8; ++i) >++ for (i = 0; ; ++i) > { >- (void)snprintf(devicePath, sizeof(devicePath), "/dev/ttyU%d", i); >+- (void)snprintf(devicePath, sizeof(devicePath), "/dev/ttyU%d", i); > - if (strDevicePath && strcmp(devicePath, strDevicePath) != 0) >-- continue; >- if (!access(devicePath, 0)) >- { >- snprintf(deviceList[iFound].path, sizeof(deviceList[iFound].path), "%s", devicePath); >++ memset(infos, 0, sizeof(infos)); >++ (void)snprintf(sysctlname, sizeof(sysctlname), >++ "dev.umodem.%d.%%pnpinfo", i); >++ if (sysctlbyname(sysctlname, infos, &infos_size, >++ NULL, 0) != 0) >++ break; >++ if (strstr(infos, "vendor=0x2548") == NULL) >+ continue; >+- if (!access(devicePath, 0)) >+- { >+- snprintf(deviceList[iFound].strComPath, sizeof(deviceList[iFound].strComPath), "%s", devicePath); >+- snprintf(deviceList[iFound].strComName, sizeof(deviceList[iFound].strComName), "%s", devicePath); >+- deviceList[iFound].iVendorId = CEC_VID; >+- deviceList[iFound].iProductId = CEC_VID; >+- deviceList[iFound].adapterType = ADAPTERTYPE_P8_EXTERNAL; // will be overridden when not doing a "quick scan" by the actual type >+- iFound++; >++ if (strstr(infos, "product=0x1001") == NULL >++ && strstr(infos, "product=0x1002") == NULL) >++ continue; >++ pos = strstr(infos, "ttyname="); >++ if (pos == NULL) >++ continue; >++ sscanf(pos, "ttyname=%s ", ttyname); >++ >++ (void)snprintf(devicePath, sizeof(devicePath), >++ "/dev/tty%s", ttyname); >++ >++ if (strDevicePath) { >++ char currStrDevicePath[512]; >++ int port = 0; >++ int devaddr = 0; >++ memset(currStrDevicePath, 0, sizeof(currStrDevicePath)); >++ memset(infos, 0, sizeof(infos)); >++ (void)snprintf(sysctlname, sizeof(sysctlname), >++ "dev.umodem.%d.%%location", i); >++ if (sysctlbyname(sysctlname, infos, &infos_size, >++ NULL, 0) != 0) >++ break; >++ >++ pos = strstr(infos, "port="); >++ if (pos == NULL) >++ continue; >++ sscanf(pos, "port=%d ", &port); >++ >++ pos = strstr(infos, "devaddr="); >++ if (pos == NULL) >++ continue; >++ sscanf(pos, "devaddr=%d ", &devaddr); >++ >++ (void)snprintf(currStrDevicePath, sizeof(currStrDevicePath), >++ "/dev/ugen%d.%d", port, devaddr); >++ >++ if (strcmp(currStrDevicePath, strDevicePath) != 0) >++ continue; >+ } >++ snprintf(deviceList[iFound].strComPath, sizeof(deviceList[iFound].strComPath), "%s", devicePath); >++ snprintf(deviceList[iFound].strComName, sizeof(deviceList[iFound].strComName), "%s", devicePath); >++ deviceList[iFound].iVendorId = CEC_VID; >++ deviceList[iFound].iProductId = CEC_VID; >++ deviceList[iFound].adapterType = ADAPTERTYPE_P8_EXTERNAL; // will be overridden when not doing a "quick scan" by the actual type >++ iFound++; >+ } >+ #else >+ //silence "unused" warnings >\ No newline at end of file >diff -Naur libcec.orig/pkg-message libcec/pkg-message >--- libcec.orig/pkg-message 1970-01-01 01:00:00.000000000 +0100 >+++ libcec/pkg-message 2013-06-05 12:44:21.000000000 +0200 >@@ -0,0 +1,8 @@ >+WARNING: >+ >+You need write permissions on the USB device to make it work properly. >+Consider adding a rule in /etc/devfs.rules like this one : >+ >+[system=10] >+add path 'ttyU*' mode 0660 group operator >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 179331
: 134641