diff options
-rw-r--r-- | media-video/guvcview/ChangeLog | 6 | ||||
-rw-r--r-- | media-video/guvcview/Manifest | 19 | ||||
-rw-r--r-- | media-video/guvcview/files/guvcview-1.5.1-loops.patch | 1218 | ||||
-rw-r--r-- | media-video/guvcview/guvcview-1.5.1.ebuild | 5 | ||||
-rw-r--r-- | media-video/ogmrip/Manifest | 19 |
5 files changed, 1242 insertions, 25 deletions
diff --git a/media-video/guvcview/ChangeLog b/media-video/guvcview/ChangeLog index bc1b780829c3..e49c562d057e 100644 --- a/media-video/guvcview/ChangeLog +++ b/media-video/guvcview/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-video/guvcview # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/guvcview/ChangeLog,v 1.21 2011/11/12 08:02:38 radhermit Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/guvcview/ChangeLog,v 1.22 2011/11/18 11:02:35 lu_zero Exp $ + + 18 Nov 2011; Luca Barbato <lu_zero@gentoo.org> guvcview-1.5.1.ebuild, + +files/guvcview-1.5.1-loops.patch: + Fix segfault when enumerating controls *guvcview-1.5.1 (12 Nov 2011) diff --git a/media-video/guvcview/Manifest b/media-video/guvcview/Manifest index 49a4325793a4..015ed2c05485 100644 --- a/media-video/guvcview/Manifest +++ b/media-video/guvcview/Manifest @@ -1,6 +1,4 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA512 - +AUX guvcview-1.5.1-loops.patch 44968 RMD160 7568d9372025ecb24dc42e9da7d5ce3270f182be SHA1 cb5832f461117103b302e19a40adccf4d3ed011b SHA256 a72550a975f46e7a8fd9336228138ebe94a4c19dc7454fe3d8859dd83f2b43f1 DIST guvcview-src-1.4.2.tar.gz 687308 RMD160 62e9cec948934646f2603660d986cd44c66f3b1c SHA1 615a475ca9c35942c45e78a674e5b47a5da51b48 SHA256 c5acf5739cfda6e9499ba2dab38a70a3df03b3d04a79f510a42dd1add1c3ac92 DIST guvcview-src-1.4.4.tar.gz 691304 RMD160 d7979c27cb55463a5c2525422c28ba2452039c7d SHA1 7034178db51fe9bdbb1ed5a94baba52beed1f8d6 SHA256 3356a303d960071174e3aa8a1f1a07157927d4674fa81414a6e651526765de02 DIST guvcview-src-1.5.0.tar.gz 498336 RMD160 bbae3b1ed256c853255ccdd8057daba57af3c694 SHA1 8a0c99c2f33a868d026ca03601f5f477c778ec7a SHA256 03d60801794f9134a398c58c02e308d1dac010c61ed18fb72171a680a277a340 @@ -8,17 +6,6 @@ DIST guvcview-src-1.5.1.tar.gz 491950 RMD160 bfd705010fa379339f9d838f8ea1a3181db EBUILD guvcview-1.4.2.ebuild 991 RMD160 fbea6907a834c4c6fef0290bee92704b949dfc08 SHA1 3f037b460b367e7cd64a6555ccefa809f4d35a81 SHA256 570d69a76bdcf61f6967b48836c87a54e2342ae414b1d0ab0062f7750a98fbb2 EBUILD guvcview-1.4.4.ebuild 1006 RMD160 c26a9610c5eb63c827f7d480bc64dc2461ac1567 SHA1 33a7b2a2ad1f1afd723aa9a1db8ada50f7642ce6 SHA256 a7b429e97b40992389a17082aa67fb7f8fd05e4216915e71b8502c287f384719 EBUILD guvcview-1.5.0.ebuild 962 RMD160 d38018c1d0257a1210d9c1ea87e57ff30fc93c6f SHA1 0951163e8998057620a3b3fd2502439e05d02bc0 SHA256 ff7ba85043a24e28b1903a5da111193efc1bcb46cf678cc80fb3e2f0ed58787f -EBUILD guvcview-1.5.1.ebuild 959 RMD160 f2d01a2fe67cacb2a4c53dce6282998d2db3fb53 SHA1 772e8d084c266ce209e8a02539abb445a8f0ec34 SHA256 ccae60cec0c5541ef82eaac7a595afcab73f7efd130e8367b47a9d0ebf1ed67f -MISC ChangeLog 3382 RMD160 2b786291896f6de9ed85afd7ce360667c65cfa62 SHA1 63eebbfcb37075e96651fe43ac29e607e18b08af SHA256 42efc07f82170340eb6f705204897f11afe1bbdd2e6cb4c833f14e54590cf045 +EBUILD guvcview-1.5.1.ebuild 1003 RMD160 2b30e765ec4c4089ee66955fd171c3e3557cf723 SHA1 79377fef7387568dbd400fbdffcb676d9f0dd7a4 SHA256 34b115e8bdf9fa9ed74632057637b743fb0552ff80c89fb74e3e1d9773b02591 +MISC ChangeLog 3531 RMD160 c1a7cb3529faccea56616eaa1089ed8f8ea4c446 SHA1 66f9ca20d5575740e3135f0782f2ebb8672d7aee SHA256 3f878567c984917956e54ca07e494a60b9e34a5ba15ad94c70f9826df0a6ebce MISC metadata.xml 228 RMD160 3071d739d8e15041d594882afdfc434453568466 SHA1 06e3ee83b7a5a910d2d63ea77afb2e5a292606f6 SHA256 060670a1a67923937e4bf55598ae59368d5e716b0b618dedaf12b15f45e8e234 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.18 (GNU/Linux) - -iQEcBAEBCgAGBQJOvigkAAoJEEqz6FtPBkyjEUMH/2mNHGXrnRISS6lQU6niIGE7 -d3A043w48BtmJP769RHNB4QAIGPxcoytu7ZFlo35LNlCESrdz8EXN59o96DjWpQX -PFfvRNE8DuvFbqU/OKItfy6IDlhCZbuwch3CV/qStcZYPQ7RoHXxTjII16smhIAw -+gbuv9huyHMSgGM/aMTMtVBtIOIL1Pg3FzhyjZPWqt7vyee6Ex1Ritfazl7reXpO -Ma6kCLNQ/pZS2I/YyQhawsHqVtP8WO6X2esflZ1XJrgw5Cm+4V8Gtr+9Nae4++pA -VKAgHJyIiTA4vitUUKTQwMw5uuZMqVZQaCQx06HtP45wgNAnTDYKX1h6u65d6Kc= -=EPJY ------END PGP SIGNATURE----- diff --git a/media-video/guvcview/files/guvcview-1.5.1-loops.patch b/media-video/guvcview/files/guvcview-1.5.1-loops.patch new file mode 100644 index 000000000000..426b76adb16d --- /dev/null +++ b/media-video/guvcview/files/guvcview-1.5.1-loops.patch @@ -0,0 +1,1218 @@ +--- guvcview-src-1.5.1.orig/src/v4l2_controls.c 2011-11-18 11:42:46.213631997 +0100 ++++ guvcview-src-1.5.1/src/v4l2_controls.c 2011-11-18 11:46:06.978623600 +0100 +@@ -39,22 +39,22 @@ + #include "v4l2_dyna_ctrls.h" + #include "callbacks.h" + +-/* ++/* + * don't use xioctl for control query when using V4L2_CTRL_FLAG_NEXT_CTRL + */ + static int query_ioctl(int hdevice, int current_ctrl, struct v4l2_queryctrl *ctrl) + { + int ret = 0; + int tries = 4; +- do ++ do + { +- if(ret) ++ if(ret) + ctrl->id = current_ctrl | V4L2_CTRL_FLAG_NEXT_CTRL; + ret = v4l2_ioctl(hdevice, VIDIOC_QUERYCTRL, ctrl); +- } ++ } + while (ret && tries-- && + ((errno == EIO || errno == EPIPE || errno == ETIMEDOUT))); +- ++ + return(ret); + } + +@@ -88,27 +88,27 @@ + Control *first = NULL; + Control *current = NULL; + Control *control = NULL; +- ++ + int n = 0; + struct v4l2_queryctrl queryctrl={0}; + struct v4l2_querymenu querymenu={0}; + + int currentctrl = 0; + queryctrl.id = 0 | V4L2_CTRL_FLAG_NEXT_CTRL; +- +- if ((ret=query_ioctl (hdevice, currentctrl, &queryctrl)) == 0) ++ ++ if ((ret=query_ioctl (hdevice, currentctrl, &queryctrl)) == 0) + { + // The driver supports the V4L2_CTRL_FLAG_NEXT_CTRL flag + queryctrl.id = 0; + currentctrl= queryctrl.id; + queryctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; + +- while((ret = query_ioctl(hdevice, currentctrl, &queryctrl)), ret ? errno != EINVAL : 1) ++ while((ret = query_ioctl(hdevice, currentctrl, &queryctrl)), ret ? errno != EINVAL : 1) + { + struct v4l2_querymenu *menu = NULL; +- ++ + // Prevent infinite loop for buggy V4L2_CTRL_FLAG_NEXT_CTRL implementations +- if(ret && queryctrl.id <= currentctrl) ++ if(ret && queryctrl.id <= currentctrl) + { + printf("buggy V4L2_CTRL_FLAG_NEXT_CTRL flag implementation (workaround enabled)\n"); + // increment the control id manually +@@ -118,13 +118,13 @@ + } + else if ((queryctrl.id == V4L2_CTRL_FLAG_NEXT_CTRL) || (!ret && queryctrl.id == currentctrl)) + { +- printf("buggy V4L2_CTRL_FLAG_NEXT_CTRL flag implementation (failed enumeration for id=0x%08x)\n", ++ printf("buggy V4L2_CTRL_FLAG_NEXT_CTRL flag implementation (failed enumeration for id=0x%08x)\n", + queryctrl.id); + // stop control enumeration + *num_ctrls = n; + return first; + } +- ++ + currentctrl = queryctrl.id; + // skip if control failed + if (ret) +@@ -132,14 +132,14 @@ + printf("Control 0x%08x failed to query\n", queryctrl.id); + goto next_control; + } +- ++ + // skip if control is disabled + if (queryctrl.flags & V4L2_CTRL_FLAG_DISABLED) + { + printf("Disabling control 0x%08x\n", queryctrl.id); + goto next_control; + } +- ++ + //check menu items if needed + if(queryctrl.type == V4L2_CTRL_TYPE_MENU) + { +@@ -147,18 +147,18 @@ + int ret = 0; + for (querymenu.index = queryctrl.minimum; + querymenu.index <= queryctrl.maximum; +- querymenu.index++) ++ querymenu.index++) + { + querymenu.id = queryctrl.id; + ret = xioctl (hdevice, VIDIOC_QUERYMENU, &querymenu); + if (ret < 0) +- continue; +- ++ continue; ++ + if(!menu) + menu = g_new0(struct v4l2_querymenu, i+1); + else +- menu = g_renew(struct v4l2_querymenu, menu, i+1); +- ++ menu = g_renew(struct v4l2_querymenu, menu, i+1); ++ + memcpy(&(menu[i]), &querymenu, sizeof(struct v4l2_querymenu)); + i++; + } +@@ -166,26 +166,26 @@ + menu = g_new0(struct v4l2_querymenu, i+1); + else + menu = g_renew(struct v4l2_querymenu, menu, i+1); +- ++ + menu[i].id = querymenu.id; + menu[i].index = queryctrl.maximum+1; + menu[i].name[0] = 0; + } +- ++ + // Add the control to the linked list + control = calloc (1, sizeof(Control)); + memcpy(&(control->control), &queryctrl, sizeof(struct v4l2_queryctrl)); + control->class = (control->control.id & 0xFFFF0000); + //add the menu adress (NULL if not a menu) + control->menu = menu; +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + //allocate a string with max size if needed + if(control->control.type == V4L2_CTRL_TYPE_STRING) + control->string = calloc(control->control.maximum + 1, sizeof(char)); + else + #endif + control->string = NULL; +- ++ + if(first != NULL) + { + current->next = control; +@@ -196,9 +196,9 @@ + first = control; + current = first; + } +- ++ + n++; +- ++ + next_control: + queryctrl.id |= V4L2_CTRL_FLAG_NEXT_CTRL; + } +@@ -207,15 +207,15 @@ + { + printf("NEXT_CTRL flag not supported\n"); + int currentctrl; +- for(currentctrl = V4L2_CID_BASE; currentctrl < V4L2_CID_LASTP1; currentctrl++) ++ for(currentctrl = V4L2_CID_BASE; currentctrl < V4L2_CID_LASTP1; currentctrl++) + { + struct v4l2_querymenu *menu = NULL; + queryctrl.id = currentctrl; + ret = xioctl(hdevice, VIDIOC_QUERYCTRL, &queryctrl); +- ++ + if (ret || (queryctrl.flags & V4L2_CTRL_FLAG_DISABLED) ) + continue; +- ++ + //check menu items if needed + if(queryctrl.type == V4L2_CTRL_TYPE_MENU) + { +@@ -223,18 +223,18 @@ + int ret = 0; + for (querymenu.index = queryctrl.minimum; + querymenu.index <= queryctrl.maximum; +- querymenu.index++) ++ querymenu.index++) + { + querymenu.id = queryctrl.id; + ret = xioctl (hdevice, VIDIOC_QUERYMENU, &querymenu); + if (ret < 0) +- break; +- ++ break; ++ + if(!menu) + menu = g_new0(struct v4l2_querymenu, i+1); + else +- menu = g_renew(struct v4l2_querymenu, menu, i+1); +- ++ menu = g_renew(struct v4l2_querymenu, menu, i+1); ++ + memcpy(&(menu[i]), &querymenu, sizeof(struct v4l2_querymenu)); + i++; + } +@@ -242,21 +242,21 @@ + menu = g_new0(struct v4l2_querymenu, i+1); + else + menu = g_renew(struct v4l2_querymenu, menu, i+1); +- ++ + menu[i].id = querymenu.id; + menu[i].index = queryctrl.maximum+1; + menu[i].name[0] = 0; +- ++ + } +- ++ + // Add the control to the linked list + control = calloc (1, sizeof(Control)); + memcpy(&(control->control), &queryctrl, sizeof(struct v4l2_queryctrl)); +- ++ + control->class = 0x00980000; + //add the menu adress (NULL if not a menu) + control->menu = menu; +- ++ + if(first != NULL) + { + current->next = control; +@@ -267,11 +267,11 @@ + first = control; + current = first; + } +- ++ + n++; + } +- +- for (queryctrl.id = V4L2_CID_PRIVATE_BASE;;queryctrl.id++) ++ ++ for (queryctrl.id = V4L2_CID_PRIVATE_BASE;;queryctrl.id++) + { + struct v4l2_querymenu *menu = NULL; + ret = xioctl(hdevice, VIDIOC_QUERYCTRL, &queryctrl); +@@ -279,7 +279,7 @@ + break; + else if (queryctrl.flags & V4L2_CTRL_FLAG_DISABLED) + continue; +- ++ + //check menu items if needed + if(queryctrl.type == V4L2_CTRL_TYPE_MENU) + { +@@ -287,18 +287,18 @@ + int ret = 0; + for (querymenu.index = queryctrl.minimum; + querymenu.index <= queryctrl.maximum; +- querymenu.index++) ++ querymenu.index++) + { + querymenu.id = queryctrl.id; + ret = xioctl (hdevice, VIDIOC_QUERYMENU, &querymenu); + if (ret < 0) +- break; +- ++ break; ++ + if(!menu) + menu = g_new0(struct v4l2_querymenu, i+1); + else +- menu = g_renew(struct v4l2_querymenu, menu, i+1); +- ++ menu = g_renew(struct v4l2_querymenu, menu, i+1); ++ + memcpy(&(menu[i]), &querymenu, sizeof(struct v4l2_querymenu)); + i++; + } +@@ -306,19 +306,19 @@ + menu = g_new0(struct v4l2_querymenu, i+1); + else + menu = g_renew(struct v4l2_querymenu, menu, i+1); +- ++ + menu[i].id = querymenu.id; + menu[i].index = queryctrl.maximum+1; + menu[i].name[0] = 0; + } +- ++ + // Add the control to the linked list + control = calloc (1, sizeof(Control)); + memcpy(&(control->control), &queryctrl, sizeof(struct v4l2_queryctrl)); + control->class = 0x00980000; + //add the menu adress (NULL if not a menu) + control->menu = menu; +- ++ + if(first != NULL) + { + current->next = control; +@@ -333,7 +333,7 @@ + n++; + } + } +- ++ + *num_ctrls = n; + return first; + } +@@ -342,85 +342,85 @@ + * called when setting controls + */ + static void update_ctrl_flags(Control *control_list, int id) +-{ +- switch (id) ++{ ++ switch (id) + { + case V4L2_CID_EXPOSURE_AUTO: + { + Control *ctrl_this = get_ctrl_by_id(control_list, id ); + if(ctrl_this == NULL) + break; +- +- switch (ctrl_this->value) ++ ++ switch (ctrl_this->value) + { + case V4L2_EXPOSURE_AUTO: + { + //printf("auto\n"); +- Control *ctrl_that = get_ctrl_by_id(control_list, ++ Control *ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_IRIS_ABSOLUTE ); + if (ctrl_that) + ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; +- +- ctrl_that = get_ctrl_by_id(control_list, ++ ++ ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_IRIS_RELATIVE ); + if (ctrl_that) + ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; +- ctrl_that = get_ctrl_by_id(control_list, ++ ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_EXPOSURE_ABSOLUTE ); + if (ctrl_that) + ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; + } + break; +- ++ + case V4L2_EXPOSURE_APERTURE_PRIORITY: + { + //printf("AP\n"); +- Control *ctrl_that = get_ctrl_by_id(control_list, ++ Control *ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_EXPOSURE_ABSOLUTE ); + if (ctrl_that) + ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; +- ctrl_that = get_ctrl_by_id(control_list, ++ ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_IRIS_ABSOLUTE ); + if (ctrl_that) + ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); +- ctrl_that = get_ctrl_by_id(control_list, ++ ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_IRIS_RELATIVE ); + if (ctrl_that) + ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); + } + break; +- ++ + case V4L2_EXPOSURE_SHUTTER_PRIORITY: + { + //printf("SP\n"); +- Control *ctrl_that = get_ctrl_by_id(control_list, ++ Control *ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_IRIS_ABSOLUTE ); + if (ctrl_that) + ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; +- +- ctrl_that = get_ctrl_by_id(control_list, ++ ++ ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_IRIS_RELATIVE ); + if (ctrl_that) + ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; +- ctrl_that = get_ctrl_by_id(control_list, ++ ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_EXPOSURE_ABSOLUTE ); + if (ctrl_that) + ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); + } + break; +- ++ + default: + { + //printf("manual\n"); +- Control *ctrl_that = get_ctrl_by_id(control_list, ++ Control *ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_EXPOSURE_ABSOLUTE ); + if (ctrl_that) + ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); +- ctrl_that = get_ctrl_by_id(control_list, ++ ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_IRIS_ABSOLUTE ); + if (ctrl_that) + ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); +- ctrl_that = get_ctrl_by_id(control_list, ++ ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_IRIS_RELATIVE ); + if (ctrl_that) + ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); +@@ -435,13 +435,13 @@ + Control *ctrl_this = get_ctrl_by_id(control_list, id ); + if(ctrl_this == NULL) + break; +- if(ctrl_this->value > 0) ++ if(ctrl_this->value > 0) + { + Control *ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_FOCUS_ABSOLUTE); + if (ctrl_that) + ctrl_that->control.flags |= V4L2_CTRL_FLAG_GRABBED; +- ++ + ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_FOCUS_RELATIVE); + if (ctrl_that) +@@ -453,7 +453,7 @@ + V4L2_CID_FOCUS_ABSOLUTE); + if (ctrl_that) + ctrl_that->control.flags &= !(V4L2_CTRL_FLAG_GRABBED); +- ++ + ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_FOCUS_RELATIVE); + if (ctrl_that) +@@ -461,13 +461,13 @@ + } + } + break; +- ++ + case V4L2_CID_HUE_AUTO: + { + Control *ctrl_this = get_ctrl_by_id(control_list, id ); + if(ctrl_this == NULL) + break; +- if(ctrl_this->value > 0) ++ if(ctrl_this->value > 0) + { + Control *ctrl_that = get_ctrl_by_id(control_list, + V4L2_CID_HUE); +@@ -489,7 +489,7 @@ + Control *ctrl_this = get_ctrl_by_id(control_list, id ); + if(ctrl_this == NULL) + break; +- ++ + if(ctrl_this->value > 0) + { + Control *ctrl_that = get_ctrl_by_id(control_list, +@@ -533,11 +533,11 @@ + Control *current = control_list; + Control *next = current->next; + int done = 0; +- ++ + while(!done) + { + update_ctrl_flags(control_list, current->control.id); +- ++ + if(next == NULL) + done = 1; + else +@@ -579,7 +579,7 @@ + g_signal_handlers_block_by_func(GTK_TOGGLE_BUTTON(current->widget), + G_CALLBACK (check_changed), all_data); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (current->widget), +- current->value ? TRUE : FALSE); ++ current->value ? TRUE : FALSE); + //enable widget signals + g_signal_handlers_unblock_by_func(GTK_TOGGLE_BUTTON(current->widget), + G_CALLBACK (check_changed), all_data); +@@ -588,20 +588,20 @@ + if(!(is_special_case_control(current->control.id))) + { + //disable widget signals +- g_signal_handlers_block_by_func(GTK_SCALE (current->widget), ++ g_signal_handlers_block_by_func(GTK_SCALE (current->widget), + G_CALLBACK (slider_changed), all_data); + gtk_range_set_value (GTK_RANGE (current->widget), current->value); +- //enable widget signals +- g_signal_handlers_unblock_by_func(GTK_SCALE (current->widget), ++ //enable widget signals ++ g_signal_handlers_unblock_by_func(GTK_SCALE (current->widget), + G_CALLBACK (slider_changed), all_data); + if(current->spinbutton) +- { ++ { + //disable widget signals +- g_signal_handlers_block_by_func(GTK_SPIN_BUTTON(current->spinbutton), +- G_CALLBACK (spin_changed), all_data); ++ g_signal_handlers_block_by_func(GTK_SPIN_BUTTON(current->spinbutton), ++ G_CALLBACK (spin_changed), all_data); + gtk_spin_button_set_value (GTK_SPIN_BUTTON(current->spinbutton), current->value); + //enable widget signals +- g_signal_handlers_unblock_by_func(GTK_SPIN_BUTTON(current->spinbutton), ++ g_signal_handlers_unblock_by_func(GTK_SPIN_BUTTON(current->spinbutton), + G_CALLBACK (spin_changed), all_data); + } + } +@@ -609,27 +609,27 @@ + case V4L2_CTRL_TYPE_MENU: + { + //disable widget signals +- g_signal_handlers_block_by_func(GTK_COMBO_BOX_TEXT(current->widget), ++ g_signal_handlers_block_by_func(GTK_COMBO_BOX_TEXT(current->widget), + G_CALLBACK (combo_changed), all_data); + //get new index + int j = 0; + int def = 0; +- for (j = 0; current->menu[j].index <= current->control.maximum; j++) ++ for (j = 0; current->menu[j].index <= current->control.maximum; j++) + { + if(current->value == current->menu[j].index) + def = j; + } +- ++ + gtk_combo_box_set_active(GTK_COMBO_BOX(current->widget), def); +- //enable widget signals +- g_signal_handlers_unblock_by_func(GTK_COMBO_BOX_TEXT(current->widget), ++ //enable widget signals ++ g_signal_handlers_unblock_by_func(GTK_COMBO_BOX_TEXT(current->widget), + G_CALLBACK (combo_changed), all_data); + break; + } + default: + break; + } +- } ++ } + if((current->control.flags & V4L2_CTRL_FLAG_GRABBED) || + (current->control.flags & V4L2_CTRL_FLAG_DISABLED)) + { +@@ -649,7 +649,7 @@ + if(current->spinbutton) + gtk_widget_set_sensitive (current->spinbutton, TRUE); + } +- ++ + if(next == NULL) + done = 1; + else +@@ -663,26 +663,26 @@ + /* + * creates the control associated widgets for all controls in the list + */ +- ++ + void create_control_widgets(Control *control_list, void *all_data, int control_only, int verbose) +-{ ++{ + struct ALL_DATA *data = (struct ALL_DATA *) all_data; + struct vdIn *videoIn = data->videoIn; + Control *current = control_list; + Control *next = current->next; + int done = 0; + int i = 0; +- ++ + while(!done) + { +- if (verbose) ++ if (verbose) + { + g_printf("control[%d]: 0x%x",i ,current->control.id); + g_printf (" %s, %d:%d:%d, default %d\n", current->control.name, + current->control.minimum, current->control.maximum, current->control.step, + current->control.default_value); + } +- ++ + if(!current->control.step) current->control.step = 1; + gchar *tmp; + tmp = g_strdup_printf ("%s:", gettext((char *) current->control.name)); +@@ -690,10 +690,10 @@ + g_free(tmp); + gtk_widget_show (current->label); + gtk_misc_set_alignment (GTK_MISC (current->label), 1, 0.5); +- ++ + switch(current->control.type) + { +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + case V4L2_CTRL_TYPE_STRING: + //text box and set button + break; +@@ -701,20 +701,20 @@ + case V4L2_CTRL_TYPE_INTEGER64: + //slider + break; +- ++ + case V4L2_CTRL_TYPE_BUTTON: + { + current->widget = gtk_button_new_with_label(" "); + gtk_widget_show (current->widget); +- +- g_object_set_data (G_OBJECT (current->widget), "control_info", ++ ++ g_object_set_data (G_OBJECT (current->widget), "control_info", + GINT_TO_POINTER(current->control.id)); +- ++ + g_signal_connect (GTK_BUTTON(current->widget), "clicked", + G_CALLBACK (button_clicked), all_data); + } + break; +- ++ + case V4L2_CTRL_TYPE_INTEGER: + { + switch (current->control.id) +@@ -737,47 +737,47 @@ + PanTilt1 = gtk_button_new_with_label(_("Down")); + PanTilt2 = gtk_button_new_with_label(_("Up")); + } +- ++ + gtk_widget_show (PanTilt1); + gtk_widget_show (PanTilt2); + gtk_box_pack_start(GTK_BOX(current->widget),PanTilt1,TRUE,TRUE,2); + gtk_box_pack_start(GTK_BOX(current->widget),PanTilt2,TRUE,TRUE,2); +- +- g_object_set_data (G_OBJECT (PanTilt1), "control_info", ++ ++ g_object_set_data (G_OBJECT (PanTilt1), "control_info", + GINT_TO_POINTER(current->control.id)); +- g_object_set_data (G_OBJECT (PanTilt2), "control_info", ++ g_object_set_data (G_OBJECT (PanTilt2), "control_info", + GINT_TO_POINTER(current->control.id)); +- ++ + g_signal_connect (GTK_BUTTON(PanTilt1), "clicked", + G_CALLBACK (button_PanTilt1_clicked), all_data); + g_signal_connect (GTK_BUTTON(PanTilt2), "clicked", + G_CALLBACK (button_PanTilt2_clicked), all_data); + + gtk_widget_show (current->widget); +- ++ + current->spinbutton = gtk_spin_button_new_with_range(-256, 256, 64); + /*can't edit the spin value by hand*/ + gtk_editable_set_editable(GTK_EDITABLE(current->spinbutton),FALSE); +- ++ + gtk_spin_button_set_value (GTK_SPIN_BUTTON(current->spinbutton), 128); + gtk_widget_show (current->spinbutton); + }; + break; +- ++ + case V4L2_CID_PAN_RESET: + case V4L2_CID_TILT_RESET: + { + current->widget = gtk_button_new_with_label(" "); + gtk_widget_show (current->widget); +- +- g_object_set_data (G_OBJECT (current->widget), "control_info", ++ ++ g_object_set_data (G_OBJECT (current->widget), "control_info", + GINT_TO_POINTER(current->control.id)); +- ++ + g_signal_connect (GTK_BUTTON(current->widget), "clicked", + G_CALLBACK (button_clicked), all_data); + }; + break; +- ++ + case V4L2_CID_LED1_MODE_LOGITECH: + { + /*turn it into a menu control*/ +@@ -796,15 +796,15 @@ + _("Auto")); + gtk_combo_box_set_active (GTK_COMBO_BOX(current->widget), current->value); + gtk_widget_show (current->widget); +- +- g_object_set_data (G_OBJECT (current->widget), "control_info", ++ ++ g_object_set_data (G_OBJECT (current->widget), "control_info", + GINT_TO_POINTER(current->control.id)); + //connect signal + g_signal_connect (GTK_COMBO_BOX_TEXT(current->widget), "changed", + G_CALLBACK (combo_changed), all_data); + }; + break; +- ++ + case V4L2_CID_RAW_BITS_PER_PIXEL_LOGITECH: + { + /*turn it into a menu control*/ +@@ -815,18 +815,18 @@ + gtk_combo_box_text_append_text ( + GTK_COMBO_BOX_TEXT (current->widget), + _("12 bit")); +- ++ + gtk_combo_box_set_active (GTK_COMBO_BOX(current->widget), current->value); + gtk_widget_show (current->widget); +- +- g_object_set_data (G_OBJECT (current->widget), "control_info", ++ ++ g_object_set_data (G_OBJECT (current->widget), "control_info", + GINT_TO_POINTER(current->control.id)); + //connect signal + g_signal_connect (GTK_COMBO_BOX_TEXT(current->widget), "changed", + G_CALLBACK (combo_changed), all_data); + }; + break; +- ++ + default: //standard case - hscale + { + /* check for valid range */ +@@ -839,19 +839,19 @@ + gtk_scale_set_draw_value (GTK_SCALE (current->widget), FALSE); + gtk_range_set_round_digits(GTK_RANGE (current->widget), 0); + gtk_widget_show (current->widget); +- ++ + current->spinbutton = gtk_spin_button_new_with_range( + current->control.minimum, + current->control.maximum, + current->control.step); + /*can't edit the spin value by hand*/ + gtk_editable_set_editable(GTK_EDITABLE(current->spinbutton),FALSE); +- ++ + gtk_range_set_value (GTK_RANGE (current->widget), current->value); + gtk_spin_button_set_value (GTK_SPIN_BUTTON(current->spinbutton), current->value); + gtk_widget_show (current->spinbutton); +- +- g_object_set_data (G_OBJECT (current->widget), "control_info", ++ ++ g_object_set_data (G_OBJECT (current->widget), "control_info", + GINT_TO_POINTER(current->control.id)); + g_object_set_data (G_OBJECT (current->spinbutton), "control_info", + GINT_TO_POINTER(current->control.id)); +@@ -870,7 +870,7 @@ + }; + }; + break; +- ++ + case V4L2_CTRL_TYPE_MENU: + { + if(current->menu) +@@ -878,9 +878,9 @@ + int j = 0; + int def = 0; + current->widget = gtk_combo_box_text_new (); +- for (j = 0; current->menu[j].index <= current->control.maximum; j++) ++ for (j = 0; current->menu[j].index <= current->control.maximum; j++) + { +- if (verbose) ++ if (verbose) + printf("adding menu entry %d: %d, %s\n",j, current->menu[j].index, current->menu[j].name); + gtk_combo_box_text_append_text ( + GTK_COMBO_BOX_TEXT (current->widget), +@@ -888,11 +888,11 @@ + if(current->value == current->menu[j].index) + def = j; + } +- ++ + gtk_combo_box_set_active (GTK_COMBO_BOX(current->widget), def); + gtk_widget_show (current->widget); +- +- g_object_set_data (G_OBJECT (current->widget), "control_info", ++ ++ g_object_set_data (G_OBJECT (current->widget), "control_info", + GINT_TO_POINTER(current->control.id)); + //connect signal + g_signal_connect (GTK_COMBO_BOX_TEXT(current->widget), "changed", +@@ -900,11 +900,11 @@ + } + } + break; +- ++ + case V4L2_CTRL_TYPE_BOOLEAN: + { + if(current->control.id ==V4L2_CID_DISABLE_PROCESSING_LOGITECH) +- { ++ { + //a little hack :D we use the spin widget as a combo + current->spinbutton = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(current->spinbutton), +@@ -915,30 +915,30 @@ + "BGBG... | GRGR..."); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(current->spinbutton), + "RGRG... | GBGB..."); +- ++ + gtk_combo_box_set_active(GTK_COMBO_BOX(current->spinbutton), 0); + + gtk_widget_show (current->spinbutton); +- ++ + g_signal_connect (GTK_COMBO_BOX_TEXT (current->spinbutton), "changed", + G_CALLBACK (pix_ord_changed), all_data); +- ++ + videoIn->isbayer = (current->value ? TRUE : FALSE); + } +- ++ + current->widget = gtk_check_button_new(); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (current->widget), + current->value ? TRUE : FALSE); + gtk_widget_show (current->widget); +- +- g_object_set_data (G_OBJECT (current->widget), "control_info", ++ ++ g_object_set_data (G_OBJECT (current->widget), "control_info", + GINT_TO_POINTER(current->control.id)); + //connect signal + g_signal_connect (GTK_TOGGLE_BUTTON(current->widget), "toggled", + G_CALLBACK (check_changed), all_data); + } + break; +- ++ + default: + printf("control type: 0x%08x not supported\n", current->control.type); + break; +@@ -952,7 +952,7 @@ + next = current->next; + } + } +- ++ + update_widget_state(control_list, all_data); + } + +@@ -992,23 +992,23 @@ + int count = 0; + int i = 0; + int done = 0; +- +- while(!done) +- { ++ ++ for(; next != NULL; current = next, next = current->next) ++ { + if(current->control.flags & V4L2_CTRL_FLAG_WRITE_ONLY) +- goto next_control; +- ++ continue; ++ + clist[count].id = current->control.id; +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + clist[count].size = 0; + if(current->control.type == V4L2_CTRL_TYPE_STRING) + { + clist[count].size = current->control.maximum + 1; +- clist[count].string = current->string; ++ clist[count].string = current->string; + } + #endif + count++; +- ++ + if((next == NULL) || (next->class != current->class)) + { + struct v4l2_ext_controls ctrls = {0}; +@@ -1036,7 +1036,7 @@ + } + else + { +- printf(" using VIDIOC_G_EXT_CTRLS on single controls for class: 0x%08x\n", ++ printf(" using VIDIOC_G_EXT_CTRLS on single controls for class: 0x%08x\n", + current->class); + for(i=0;i < count; i++) + { +@@ -1049,7 +1049,7 @@ + } + } + } +- ++ + //fill in the values on the control list + for(i=0; i<count; i++) + { +@@ -1061,7 +1061,7 @@ + } + switch(ctrl->control.type) + { +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + case V4L2_CTRL_TYPE_STRING: + //string gets set on VIDIOC_G_EXT_CTRLS + //add the maximum size to value +@@ -1073,29 +1073,20 @@ + break; + default: + ctrl->value = clist[i].value; +- //printf("control %i [0x%08x] = %i\n", ++ //printf("control %i [0x%08x] = %i\n", + // i, clist[i].id, clist[i].value); + break; + } + } +- ++ + count = 0; +- +- if(next == NULL) +- done = 1; +- } +- +-next_control: +- if(!done) +- { +- current = next; +- next = current->next; ++ + } + } +- ++ + update_ctrl_list_flags(control_list); +- update_widget_state(control_list, all_data); +- ++ update_widget_state(control_list, all_data); ++ + } + + /* +@@ -1106,12 +1097,12 @@ + { + Control *control = get_ctrl_by_id(control_list, id ); + int ret = 0; +- ++ + if(!control) + return (-1); + if(control->control.flags & V4L2_CTRL_FLAG_WRITE_ONLY) + return (-1); +- ++ + if( control->class == V4L2_CTRL_CLASS_USER) + { + struct v4l2_control ctrl; +@@ -1121,23 +1112,23 @@ + ret = xioctl(hdevice, VIDIOC_G_CTRL, &ctrl); + if(ret) + printf("control id: 0x%08x failed to get value (error %i)\n", +- ctrl.id, ret); ++ ctrl.id, ret); + else + control->value = ctrl.value; + } + else + { +- //printf(" using VIDIOC_G_EXT_CTRLS on single controls for class: 0x%08x\n", ++ //printf(" using VIDIOC_G_EXT_CTRLS on single controls for class: 0x%08x\n", + // current->class); + struct v4l2_ext_controls ctrls = {0}; + struct v4l2_ext_control ctrl = {0}; + ctrl.id = control->control.id; +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + ctrl.size = 0; + if(control->control.type == V4L2_CTRL_TYPE_STRING) + { + ctrl.size = control->control.maximum + 1; +- ctrl.string = control->string; ++ ctrl.string = control->string; + } + #endif + ctrls.count = 1; +@@ -1150,7 +1141,7 @@ + { + switch(control->control.type) + { +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + case V4L2_CTRL_TYPE_STRING: + //string gets set on VIDIOC_G_EXT_CTRLS + //add the maximum size to value +@@ -1162,21 +1153,21 @@ + break; + default: + control->value = ctrl.value; +- //printf("control %i [0x%08x] = %i\n", ++ //printf("control %i [0x%08x] = %i\n", + // i, clist[i].id, clist[i].value); + break; + } + } +- } +- ++ } ++ + update_ctrl_flags(control_list, id); + update_widget_state(control_list, all_data); +- ++ + return (ret); + } + + /* +- * Goes through the control list and tries to set the controls values ++ * Goes through the control list and tries to set the controls values + */ + void set_ctrl_values (int hdevice, Control *control_list, int num_controls) + { +@@ -1187,16 +1178,16 @@ + int count = 0; + int i = 0; + int done = 0; +- +- while(!done) ++ ++ for(; next != NULL; current = next, next = current->next) + { + if(current->control.flags & V4L2_CTRL_FLAG_READ_ONLY) +- goto next_control; +- ++ continue; ++ + clist[count].id = current->control.id; + switch (current->control.type) + { +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + case V4L2_CTRL_TYPE_STRING: + clist[count].size = current->value; + clist[count].string = current->string; +@@ -1210,7 +1201,7 @@ + break; + } + count++; +- ++ + if((next == NULL) || (next->class != current->class)) + { + struct v4l2_ext_controls ctrls = {0}; +@@ -1239,13 +1230,13 @@ + clist[i].id, ctrl->control.name, ret); + else + printf("control(0x%08x) failed to set (error %i)\n", +- clist[i].id, ret); ++ clist[i].id, ret); + } + } + } + else + { +- printf(" using VIDIOC_S_EXT_CTRLS on single controls for class: 0x%08x\n", ++ printf(" using VIDIOC_S_EXT_CTRLS on single controls for class: 0x%08x\n", + current->class); + for(i=0;i < count; i++) + { +@@ -1265,23 +1256,13 @@ + } + } + } +- +- +- +- count = 0; +- +- if(next == NULL) +- done = 1; +- } + +-next_control: +- if(!done) +- { +- current = next; +- next = current->next; ++ ++ ++ count = 0; + } + } +- ++ + //update list with real values + //get_ctrl_values (hdevice, control_list, num_controls); + } +@@ -1294,7 +1275,7 @@ + Control *current = control_list; + Control *next = current->next; + int done = 0; +- ++ + while(!done) + { + if(current->control.flags & V4L2_CTRL_FLAG_READ_ONLY) +@@ -1308,10 +1289,10 @@ + } + continue; + } +- //printf("setting 0x%08X to %i\n",current->control.id, current->control.default_value); ++ //printf("setting 0x%08X to %i\n",current->control.id, current->control.default_value); + switch (current->control.type) + { +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + case V4L2_CTRL_TYPE_STRING: + break; + #endif +@@ -1324,7 +1305,7 @@ + current->value = current->control.default_value; + break; + } +- ++ + if(next == NULL) + done = 1; + else +@@ -1333,10 +1314,10 @@ + next = current->next; + } + } +- ++ + set_ctrl_values (hdevice, control_list, num_controls); + get_ctrl_values (hdevice, control_list, num_controls, all_data); +- ++ + } + + /* +@@ -1346,7 +1327,7 @@ + { + Control *control = get_ctrl_by_id(control_list, id ); + int ret = 0; +- ++ + if(!control) + return (-1); + if(control->control.flags & V4L2_CTRL_FLAG_READ_ONLY) +@@ -1362,14 +1343,14 @@ + } + else + { +- //printf(" using VIDIOC_G_EXT_CTRLS on single controls for class: 0x%08x\n", ++ //printf(" using VIDIOC_G_EXT_CTRLS on single controls for class: 0x%08x\n", + // current->class); + struct v4l2_ext_controls ctrls = {0}; + struct v4l2_ext_control ctrl = {0}; + ctrl.id = control->control.id; + switch (control->control.type) + { +-#ifndef DISABLE_STRING_CONTROLS ++#ifndef DISABLE_STRING_CONTROLS + case V4L2_CTRL_TYPE_STRING: + ctrl.size = control->value; + ctrl.string = control->string; +@@ -1389,11 +1370,11 @@ + printf("control id: 0x%08x failed to set (error %i)\n", + ctrl.id, ret); + } +- ++ + //update real value + get_ctrl(hdevice, control_list, id, NULL); +- +- return (ret); ++ ++ return (ret); + } + + /* +@@ -1424,19 +1405,19 @@ + { + Control *ctrl = NULL; + int id = V4L2_CID_TILT_RELATIVE; +- if (is_pan) ++ if (is_pan) + id = V4L2_CID_PAN_RELATIVE; +- ++ + ctrl = get_ctrl_by_id(control_list, id ); +- ++ + if (ctrl && ctrl->spinbutton) + { +- ++ + ctrl->value = direction * gtk_spin_button_get_value_as_int ( + GTK_SPIN_BUTTON(ctrl->spinbutton)); + set_ctrl(hdevice, control_list, id); + } +- ++ + } + + diff --git a/media-video/guvcview/guvcview-1.5.1.ebuild b/media-video/guvcview/guvcview-1.5.1.ebuild index f68c3ba9625f..004daec3b620 100644 --- a/media-video/guvcview/guvcview-1.5.1.ebuild +++ b/media-video/guvcview/guvcview-1.5.1.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/guvcview/guvcview-1.5.1.ebuild,v 1.1 2011/11/12 08:02:38 radhermit Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/guvcview/guvcview-1.5.1.ebuild,v 1.2 2011/11/18 11:02:35 lu_zero Exp $ EAPI=4 -inherit autotools +inherit autotools eutils MY_P=${PN}-src-${PV} DESCRIPTION="GTK+ UVC Viewer" @@ -33,6 +33,7 @@ S=${WORKDIR}/${MY_P} src_prepare() { sed -i -e '/^guvcviewdocdir/,/^$/d' Makefile.am || die + epatch "${FILESDIR}/${P}-loops.patch" eautoreconf } diff --git a/media-video/ogmrip/Manifest b/media-video/ogmrip/Manifest index 48d9485b6819..7d25afadd318 100644 --- a/media-video/ogmrip/Manifest +++ b/media-video/ogmrip/Manifest @@ -1,16 +1,23 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 +Hash: SHA512 AUX ogmrip-0.13.6-libnotify-0.7.patch 892 RMD160 0864b2428eb934b9a70481004c7a91cc4af538fb SHA1 0268af409a9468efcd4c044cd191d8759512a6e4 SHA256 afb800738373a540be287287990bf84ac03cb398856b689e1b9f8043b1757b71 AUX ogmrip-0.13.6-libpng15.patch 561 RMD160 7c7dd7cca8b37412afcfcb6798bd2154bcb3ccd8 SHA1 286cd0e6b4f303b99f50db7b76beba8661136117 SHA256 a6fb55386ef1c72f16ee5673e9234487182b9d282d748ccbf990dee373af1539 +AUX ogmrip-0.13.7-deprecated.patch 5144 RMD160 8fe3da1c7c4e09e500e2e53226cd55864b239d2b SHA1 f2b90af788c427403fa7b9ceb00b56d4c774d77f SHA256 020832730a1aa25be84ff5eba10135962eb32b89f9f54d93b78297bcaad037a4 DIST ogmrip-0.13.6.tar.gz 3242380 RMD160 6116e7c22e747bd8ecd6444575537f2ebc16d062 SHA1 41917a11a44fb73c73daaa8ac29ae3dddb478b67 SHA256 f1b70fc68951401dbd43c9b1016fd2c37b1fda004d76cf6bb82c8a44742a5d24 +DIST ogmrip-0.13.7.tar.gz 3246395 RMD160 d7822afd1d300ebc9786ea2d3cc6420668ce19b8 SHA1 a0097636b2e24b5b40107cad04b10c207c45437b SHA256 362060e4c1944f020f9a491d9a8af53cd3bf4f94d4f5beb8d3d855ebf17d9c2a EBUILD ogmrip-0.13.6.ebuild 2545 RMD160 7f7c9dc349176f987a8204bf604b72cdfc3d0b24 SHA1 feb8e18cac8395d58b320b5ec93c7175780b58a4 SHA256 2b72d73763c9a65cf8a15dc9578246d6a15b670b65b0011a0950c943f182d720 -MISC ChangeLog 8493 RMD160 33eb1e084d0710d1e5736dcffad20943575cbd00 SHA1 77445a485330121b5647855303c16eda479633e4 SHA256 e73d6f56950820149850b57460694b4f1eada00d51c6b9ab4fde0d6b8f897550 +EBUILD ogmrip-0.13.7.ebuild 2395 RMD160 b569d6ce6325a6c11a0c4885b75f75e054779070 SHA1 d07dbc65d63426c331b3a802f80aea30fc509800 SHA256 b6b00a6b1f67a49ef067ce8cffd6bf9f4d4316e1a9fd553d9c4552df68dd3f3f +MISC ChangeLog 8690 RMD160 d9c8641e2fff621f405854cb0dba917ae2a98858 SHA1 9a78f5078ea4c755c58a72d058a0e704026369f1 SHA256 76f22b70766a4fc5800bad8a9fa87961ac2851810d11bf9c44b8d84a359f0f3b MISC metadata.xml 449 RMD160 b535f21bb82fe18f270c623e9246fada5d4f389a SHA1 d45301a60016eeda1698a9b02de8326ef4bbbeeb SHA256 7ddfc7f6e9ffd1f154c7bfad79dba0672cfc3da9d369d09175d06106eb345d36 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.17 (GNU/Linux) +Version: GnuPG v2.0.18 (GNU/Linux) -iEYEARECAAYFAk6v53EACgkQCaWpQKGI+9TdkgCeMFnuCI6TGNOhBI358/LigxeI -kfUAn2piIYz1Buf/Mc4tp/3abCP6hDgK -=dM0J +iQEcBAEBCgAGBQJOxjxrAAoJEEqz6FtPBkyj7KwIALqBRH/Ios/a4m9cMXAVyJw2 +8nwr2MjQrzrIHmNWyVm2Pb+Nqir8eL2x6fJk13GEQOWXltCNERXqUhK47hBKCtxU +VNiAvUmqZ7HYA1uprLGnVxGoo+vpf/ovOscx2qxUs/+ipsAY37wPa/hEdBqT4l++ +2x4n07D+tCerNy3aQBiCSdW66uAdTee/gvD2ZtmvV73cPI8fPsWA8fLvDf60RSLf +RCF2Ybws/oag7KtkT3pDE7/hnut6bhvMdfexmoWRPW8AT4dgEiRJ2jPM00inbkLZ +zOw+PYZ+hgDHDWQU2oaY+2m7YqMrqe0S+mgZlNOc2fbDJFxY4r+EhQmxmRNHL5Y= +=fvQw -----END PGP SIGNATURE----- |