diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-08-07 10:18:15 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-08-07 10:18:15 +0000 |
commit | 764dd4ae5a0120ba7b231d69318f42e17618b81d (patch) | |
tree | aaa68edc16462b021811661433570a3c6f3b8ee0 /gnome-base | |
parent | Version bump. (diff) | |
download | historical-764dd4ae5a0120ba7b231d69318f42e17618b81d.tar.gz historical-764dd4ae5a0120ba7b231d69318f42e17618b81d.tar.bz2 historical-764dd4ae5a0120ba7b231d69318f42e17618b81d.zip |
Fix build failure with cups-1.6.x; drop old.
Package-Manager: portage-2.2.0_alpha120/cvs/Linux x86_64
Diffstat (limited to 'gnome-base')
7 files changed, 778 insertions, 128 deletions
diff --git a/gnome-base/gnome-control-center/ChangeLog b/gnome-base/gnome-control-center/ChangeLog index 28f09154688a..9248654a7e42 100644 --- a/gnome-base/gnome-control-center/ChangeLog +++ b/gnome-base/gnome-control-center/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for gnome-base/gnome-control-center # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-control-center/ChangeLog,v 1.106 2012/07/19 02:46:04 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-control-center/ChangeLog,v 1.107 2012/08/07 10:18:15 tetromino Exp $ + + 07 Aug 2012; Alexandre Rostovtsev <tetromino@gentoo.org> + -gnome-control-center-3.2.2.ebuild, gnome-control-center-3.2.3.ebuild, + +files/gnome-control-center-3.2.3-cups-1.6.patch, + gnome-control-center-3.4.2-r1.ebuild, + +files/gnome-control-center-3.4.2-cups-1.6.patch: + Fix build failure with cups-1.6.x; drop old. *gnome-control-center-3.4.2-r1 (19 Jul 2012) diff --git a/gnome-base/gnome-control-center/Manifest b/gnome-base/gnome-control-center/Manifest index 6ae4b98ab491..890a491dbcb7 100644 --- a/gnome-base/gnome-control-center/Manifest +++ b/gnome-base/gnome-control-center/Manifest @@ -10,7 +10,9 @@ AUX gnome-control-center-3.2.1-optional-colord.patch 2005 SHA256 852ca74531d54e6 AUX gnome-control-center-3.2.2-metacity-gconf.patch 1051 SHA256 c3fa18ddebaec274e6095277cd1586041bba08b89cc03daaedada9103abea64d SHA512 33b18e0565f7b86ba489e14aa60832340618441c764f1c2c7fa3ee85b7abecdd6251ddf125c13b85e6c89ef5becc2725bd54873f7b29a95a14fda51d1ca29fe1 WHIRLPOOL b38e2f2e3545eec4ab50a7d9c35155c2205cc67973af559ffcc307cfc607c6c6a938a73dc2bcc2a67c465d3e395965bc953e1be6415d190200ca31267e714db7 AUX gnome-control-center-3.2.2-timezone-free.patch 983 SHA256 4c76fae0549ed5893cf594340576c7ca4230c470bd5402ed686b95fdd65b05af SHA512 8d9c3fa0343591c429dd55ca098d560fe7f8b24de11ead958b4f8fd216bad6cbaf547a531f6b73f8e23b4212ed06392bc78b56dda180977ba18d4efbfcfbac9b WHIRLPOOL 5a4cc630cab7d53a018e5bf36f27f5b4b547a7a94e26dc907cc898de8669d08383899688b95387d0427c4b3329cc485641f84f96157e95bb3ef72a1f81cc143e AUX gnome-control-center-3.2.2-timezones-linguas.patch 1266 SHA256 f693ecb6a03c4dbdc220609e6d1976d4a6f3bc8740c0bf1cbd1784e8eabc67d7 SHA512 1222a9b1652a1192ca2b94f7ee67e13a18f1a98f645eba7ed72016143f95c274a0853bfc32f72abf079be0bac3e665782a43962c3d726f3271fbd9eedb27ea9d WHIRLPOOL 64a0d056451d4c51418d89fa5aed88f0a072536916c0cd616d6127ef688ceb60efd4beec16f03b187479e5fb461fc42905104f9b4be36cfa895f11b878c58898 +AUX gnome-control-center-3.2.3-cups-1.6.patch 18222 SHA256 f1577b2c3cd8e4ed6e562184c6f98c826a5709a3437006702c2378139c388955 SHA512 6be00fd2e27539dd83985a206d4c008836ff2ae0a833a795e6a63a072a6b33f79558f577e9302845ba296bb6a0f02e1e328fe1d0f86f5ee7b7e41538964a1505 WHIRLPOOL 65d3ed8ff1b2808fed53ff345db6943fb3a8187b34f83816436d093a793e1517fc1528275d20821116ada114ee1810f0fe76e30a18fa3bf77d6e4cb95f090086 AUX gnome-control-center-3.2.3-optional-colord-goa.patch 3205 SHA256 6de471d3b2468daeaf05265745ea090bd89c584c2218d8079299d1dd8d79e0af SHA512 10496912641e9a0f94e03ace6e1439fc62f656255b26be9aa47bb9d8e2b07b33a7e7e53cfca3fc0451bd1f10a645178268e45499396ac10dfebeb2f00b5fc16e WHIRLPOOL e3363ebc7c2d6a44f95d1836e1ecbb4147487e250bb66b717e3d3579545d447f044e4c06cea647c87d21b38ed4f32f43cb62c3692279f24e3cb902f9b3dd1a48 +AUX gnome-control-center-3.4.2-cups-1.6.patch 18010 SHA256 b5c318b2b96c6a31a73d447da3a51b05070949aadcf4f8bfb0e72a546a0070cc SHA512 11063e58ca6b528456420d25e4b3e52ec19aa96260491299800aaec6e3d693fff4c56a13bb9dbf78ed39a9a7c30ee128211da427cd6db787b4fe0714c68a35c3 WHIRLPOOL e658f11f5364855f2d7b697be85b83312654efac6c294787e23df5c2474143883467c146cd881385567f28d561fc1e5da63dda0738ce362fa3c5a2eeca0f585d AUX gnome-control-center-3.4.2-gentoo-paths.patch 5677 SHA256 25ed849a4275356d276faf22469019cf255398f02d5faf3669cb05fdc70cd03e SHA512 037eb05937a716c27292967adbc57d987376b180016d3f08912f641070dc772afa7a516c0a47e75fd0c197a2f402c13b8bab16bfc5117bece6b5cc9ecdd53860 WHIRLPOOL 48ec525a6af077f0cc799b5423fb6e403bd74842bfd17874f58414899a439bdb8ac4e8bcd192487b43643bb064e00c7c6a7e2ca689ff0ecf59394b03992bdd22 AUX gnome-control-center-3.4.2-optional-bt-colord-goa-wacom.patch 7023 SHA256 933af56534f4b62c74d55a650f4af510f7d39f9ae0a846d53988bbc06ec703d5 SHA512 e89d5e214698197de4ba1a9e313fe7ae6a8e400c62a67422f9c2cf1f4634e73a408e580efa92590ca3cbadb90dfcd3c60bcb739063ba9d3d31f8b7dd3b6e9b2a WHIRLPOOL 80d025875246792ea871bc25adf0b13c23d7f3ba90408d0580f056fa6907929f5de6ae5c3446ca5b0e32dabcbc97e689785355f0fdc50fbd40bac69d64f8ac8c AUX org.gnome.control-center.defaultbackground.policy 836 SHA256 4fb135d55626e03a2b02b6c325e0fa3ee773984af2258acb3e2f1b22373dce52 SHA512 2ffacecc13caa96f9e766e9dd87af53e039cecd76d2334c6bf75afd462722f837fb89e03007f4b26780ffe84cbd59c93aad6edd589154b603793c2d159cb5b85 WHIRLPOOL 243f5c683a5df573f00e62f61ad45f8039ed10f37313762b10df345aae350b4baca886c2d3ddb63a21af005f23043d321ac3448a137293073a8f20be558dc5df @@ -20,20 +22,19 @@ DIST gnome-control-center-3.2.3.tar.xz 4238612 SHA256 f0460410ba5af5a1f784a0006d DIST gnome-control-center-3.4.2.tar.xz 4267688 SHA256 efc72bf8af07b439f5f0e9135d1b2c5237e649e6a0f1ff3cf32bdd710421042a SHA512 78927f56f1e1af4043f0d96bae174513916e752aa3e987b545e78213f34527a25ba69ce61da43dcd21ed51aa9d1ee713cabed507853f20bb6c0b0bea82f272e6 WHIRLPOOL fa4eb7659963d416594b4f983d304f84d7a0673b0b990d2975f559d25eea6048a602369a18a88736be857df3f9c3a91af31a5b3346171bb8ec62d4f92f3327e7 EBUILD gnome-control-center-2.32.1-r1.ebuild 2686 SHA256 575724aa369631c48fef3810bc831abc687fe38e30df4f25e7af600fc998e270 SHA512 2b792066b1c09eb4433a87222732c9dc4e3df593699454da57e9d4f3939f0c593429c8b2b3e712d2508700fc03b8e8e1066efa65348bc2016dee0d21c4089a92 WHIRLPOOL 8b7f2d6b9a66581efb5b31b8573d67acbce8d450ca303eab36641ef429e8fa6e88aa299c525cd223155ad67299926c56a0dfd432b8414672284424642117d92a EBUILD gnome-control-center-3.2.2-r1.ebuild 3571 SHA256 6d1abc936f24c89b964daa0333d97cfd4ad6f95330466bfd5a0d2eb354e1b4ae SHA512 cc800293cff08c77db95410be9679871a4d1e71f7f678f3798f783941778ecdf7d85ee553378013240d92bd8bb301c7fb5adb273dfbb302bb36f84a1b9b2ae82 WHIRLPOOL aaf17a66c9dfb08dd840726e260c9fdc07e600abac4d65d5e921a59b247d9d8c8a9f2bae3013e2472218583d182ce40d4b4029934c0a4325011529df9c65daed -EBUILD gnome-control-center-3.2.2.ebuild 3304 SHA256 ae8b43325c9140cd707d69321c5995ed234029b0fc4412cd8d7f6a9ab4caa206 SHA512 36e12f16db0cff7955e0b61dba7c861b3c52ede761acb37f89b3b55429a02e9f04e2fcfd66fccf1559337cc9c1e2f82b9b61b6edca35a850b003cc709e054d2a WHIRLPOOL 8a92c35d8a2e9c728aa2440f34e61738e4f9320a86c07954e2cff541f585e678dd747db2d52def200add26b91795ee0e4c78a9db716de46d5f8687e4fa7d7960 -EBUILD gnome-control-center-3.2.3.ebuild 3439 SHA256 4f252f2f50b2a32dd071aa729b02f835dc791ee9e54424f6000616778895f39a SHA512 a9ef8086100f9cd0e1f6e8484fbc789254d25b2f3849a846b99078dbb43c4fb87430ea2da6881f42751e5d7a539c95fc13443e47f003cf022f048d39d1034213 WHIRLPOOL f1091cb982c48c1a3be904d9582d7a912051bfe05375f91a8069b8981f35372f2ff6ff1b630ad71caaaad9586258c03b41f4505ea1c28d9a84540500e64716a5 -EBUILD gnome-control-center-3.4.2-r1.ebuild 4156 SHA256 c0efab99fa0819221a5f4af7a6e645b1e77b27d624604e3c34da4e982f54f14b SHA512 3fa6185dde2fef65b55c97ccf72f94b1c25567e3398f54e46b1c37d7ec51b3bc9929980a27b009a06e8d0c6864173e1df1243e64ce5830bece01d3bdf3e3b1ce WHIRLPOOL fbf4112e07ec005611695e14b6a133571b0b61b0924998ccd08e5a84d2d3c31fa90f6ccdf59206ec5f914fe9490be5c604b9face03a224056bd51d359915a96b +EBUILD gnome-control-center-3.2.3.ebuild 3544 SHA256 8cca3e731cdfc6787bcfb56aea141360f8748c9eec3f13950deae3a4d3c3aad0 SHA512 e44fb0504265ec84ac56e35ffab573ed9e683bf8484a926ddf485726606727d896357feeaefb12052f67591a678a5c30342805e9b247336e9142f61cdcaa2c28 WHIRLPOOL 61ebc13994957c692c1fb7bb9dd266cef89623214f9ecf6155f4de079b28d287615aba68583b8d54fb9f073d10720d8ec9a47a3a27649f61f8866c24099816a7 +EBUILD gnome-control-center-3.4.2-r1.ebuild 4258 SHA256 5af670f101ee6f4fa028889b96e6008e4e84a71e208e7571008b77616bee116e SHA512 689e96bec15482bb53b9c57b9075a45674775cae6624432e35427857dd5ec184e9e357bb0ec08030b45d3c855c34b23b8bca364b8a6f81cb89d4ae39fab4efd0 WHIRLPOOL 7ff1324fd7b86681a351218d96d193f1ee4183074dce804bcab168419e61413203205e9a766408f6f45d3b537ce144e600809eddb2990975446f161a7fbaaccd EBUILD gnome-control-center-3.4.2.ebuild 4044 SHA256 8cc6ca1d1e01be24762f6c6d23d22737123bbcb266a9ac7034e48f56f4f2058c SHA512 0cb894212213893648242b863d880a0b608a0495ae7a0f86f793e87f3e0a93220ff8be64086557be821f2d8b4477aeb944371585fc61ebf343c24c27afde1385 WHIRLPOOL 61629183cbbd860ce85f75e2ccb8fed3dcd682f21834c895432de0916876b908d320aa873f2fb539b6ac248bfb17f623300dc37accfa6bfed905a750e6f1b425 -MISC ChangeLog 57846 SHA256 6f56489b8e0cff2c8d902a38236c0d1bc502ae34c9d772a826c40ae75c00e8d8 SHA512 1e5339b6c022b63d9801af927ef5c7d236a757639d313fea56a96b1638f1481f91b91966cf1f47dcb9602bc59980e9f7bade1ca741b9a7ed982bd59466b2a8cf WHIRLPOOL cec59071f2a34190e73b3610c4398d5c3fecb736c7eeae85f2abb21327527a9cb31a577697862506f01f02a64e821bff4ef0e82f8527d0bf88c4581e855f1f4c +MISC ChangeLog 58170 SHA256 027f68f61f22e9f37263e37739a990df0bbf9fe79fcf8d6604586ea6d08a63ac SHA512 0367c49840c8d1011b9a26ec97dffbbe585d6db8995522381df2381184870922355981a836d62956583f70d84f2eefd3f3f85f057cb935d64bce48426e743cc5 WHIRLPOOL 9d6db702c51e08467e4a31c8aeb63501383b715cdf6aff606a3ed9d9e728ba3e30118bae29e481bae2fd84d0fb00e5c3114dac6c09dd7fe19f89d3728b0c0d42 MISC metadata.xml 861 SHA256 9f78bdf41ecb164c1465a0bd87889b7bf64c92bc7057123718f9894ee3f6e1bb SHA512 5efc19121142f80e4ef4424a6380cbde01f6ec8ad86ec799f3f20502be6aee8fcc4c4f463eaf206836345be800677ad90c8553a94f5b261ad8e7a5649a65b715 WHIRLPOOL 6b9743343315c1220ee8bef3c034242ca86f7eea33bb373ca3ad95e9d454696fe7adaf9db58eef6418d29ef45267f6e5407cb4177631654792dafae1900ddd27 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iQEcBAEBCAAGBQJQB3TyAAoJEJ0WA1zPCt1hFrsH/ja+NJOBDVNps/+oPaqE9Qr5 -PFozO6YRVRVeYm3dY14jloaAdRFPK42VvNAT5Pe+hTXi2upK+BPI5QiS0VLLuQeK -Q7H0yK14Axg5Hg2p1/EQZZBZd2vbNhkapus/idNGbWMJKscjOYpALJP+oegcU3GW -+uMTdputLrukKm+EIsvuRDhNB750WnNvE2AtNYD1MMiw3Bn+CUuZV5QPmh/UotvV -0exJApmhJrctlJAiJe7+0hjBIcQvclFbNC0m6duo3LoCBUelFNNGu/sAsJB0rGV/ -zWoujAhELIuQyHJvoSk52hjXlPQ91vOxldfub7O1XnD4E1Tk0HA/hirjegVN0gk= -=TUIJ +iQEcBAEBCAAGBQJQIOttAAoJEJ0WA1zPCt1haN8H/ioqTvCVyjogs3+TAhzOdhN6 +EBiqFRQj6A2y534c5jCh8PO8w4osDzTwkt43kXQCLp07Vj4864FIruZx3C/KC1TZ +LK8Lv4zrt4fcjCNSUPY67ym2oY8n1DjgzV7b/twQsP5riomnf9JTNS9NnJ860/db +++RFdSMx9+Lw57/auNgjHpk/XlRN/Lkv6aVZV0NCfElHTSn/1Qxua49P2oRXStBk +NOsKgQnJzyG9OKhAJlWZwtwHxJxA7n3PwXMQkzkhcgUthnlynNhpQM7ks5S9Ljtf +eOJdTB23/v4DiIaZOJjmK44qS1Z1hgqhVArgK6c8cZIviMaPRqLdXgRddatKjZU= +=JSkh -----END PGP SIGNATURE----- diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-3.2.3-cups-1.6.patch b/gnome-base/gnome-control-center/files/gnome-control-center-3.2.3-cups-1.6.patch new file mode 100644 index 000000000000..10bccbad7baf --- /dev/null +++ b/gnome-base/gnome-control-center/files/gnome-control-center-3.2.3-cups-1.6.patch @@ -0,0 +1,376 @@ +From 3c35742d9cacda5a1e37dd1dfe8f579434a35b84 Mon Sep 17 00:00:00 2001 +From: Jiri Popelka <jpopelka@redhat.com> +Date: Wed, 11 Jul 2012 17:25:09 +0200 +Subject: [PATCH] Use CUPS-1.6 IPP API getter/setter functions. + +CUPS 1.6 makes various structures private and +introduces these ippGet and ippSet functions +for all of the fields in these structures. +http://www.cups.org/str.php?L3928 + +We define our own accessors when +building against CUPS < 1.6. + +[Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 3.2.x] +--- + panels/printers/cc-printers-panel.c | 20 +++- + panels/printers/pp-new-printer-dialog.c | 10 ++- + panels/printers/pp-utils.c | 159 ++++++++++++++++++------------ + 3 files changed, 119 insertions(+), 70 deletions(-) + +diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c +index 8ef9847..35751a6 100644 +--- a/panels/printers/cc-printers-panel.c ++++ b/panels/printers/cc-printers-panel.c +@@ -59,6 +59,16 @@ G_DEFINE_DYNAMIC_TYPE (CcPrintersPanel, cc_printers_panel, CC_TYPE_PANEL) + + #define CUPS_STATUS_CHECK_INTERVAL 5 + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetState(ipp) ipp->state ++#define ippGetStatusCode(ipp) ipp->request.status.status_code ++#define ippGetString(attr, element, language) attr->values[element].string.text ++#endif ++ + struct _CcPrintersPanelPrivate + { + GtkBuilder *builder; +@@ -312,7 +322,7 @@ on_cups_notification (GDBusConnection *connection, + + if (response) + { +- if (response->request.status.status_code <= IPP_OK_CONFLICT) ++ if (ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + ipp_attribute_t *attr_username = NULL; + ipp_attribute_t *attr_printer_uri = NULL; +@@ -320,12 +330,12 @@ on_cups_notification (GDBusConnection *connection, + attr_username = ippFindAttribute(response, "job-originating-user-name", IPP_TAG_NAME); + attr_printer_uri = ippFindAttribute(response, "job-printer-uri", IPP_TAG_URI); + if (attr_username && attr_printer_uri && +- g_strcmp0 (attr_username->values[0].string.text, cupsUser ()) == 0 && +- g_strrstr (attr_printer_uri->values[0].string.text, "/") != 0 && ++ g_strcmp0 (ippGetString (attr_username, 0, NULL), cupsUser ()) == 0 && ++ g_strrstr (ippGetString (attr_printer_uri, 0, NULL), "/") != 0 && + priv->current_dest >= 0 && + priv->current_dest < priv->num_dests && + priv->dests != NULL && +- g_strcmp0 (g_strrstr (attr_printer_uri->values[0].string.text, "/") + 1, ++ g_strcmp0 (g_strrstr (ippGetString (attr_printer_uri, 0, NULL), "/") + 1, + priv->dests[priv->current_dest].name) == 0) + actualize_jobs_list (self); + } +@@ -2263,7 +2273,7 @@ test_page_cb (GtkButton *button, + + if (response) + { +- if (response->state == IPP_ERROR) ++ if (ippGetState(response) == IPP_ERROR) + g_warning ("An error has occured during printing of test page."); + ippDelete (response); + } +diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c +index 583fb60..d2f25c1 100644 +--- a/panels/printers/pp-new-printer-dialog.c ++++ b/panels/printers/pp-new-printer-dialog.c +@@ -60,6 +60,14 @@ + + #define ALLOWED_CHARACTERS "abcdefghijklmnopqrtsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetState(ipp) ipp->state ++#endif ++ + static void pp_new_printer_dialog_hide (PpNewPrinterDialog *pp); + static void actualize_devices_list (PpNewPrinterDialog *pp); + +@@ -1696,7 +1704,7 @@ new_printer_add_button_cb (GtkButton *button, + _("Automatic configuration")); + if (response) + { +- if (response->state == IPP_ERROR) ++ if (ippGetState(response) == IPP_ERROR) + g_warning ("An error has occured during automatic configuration of new printer."); + ippDelete (response); + } +diff --git a/panels/printers/pp-utils.c b/panels/printers/pp-utils.c +index c89c4e4..830b39e 100644 +--- a/panels/printers/pp-utils.c ++++ b/panels/printers/pp-utils.c +@@ -36,6 +36,37 @@ + #define SCP_PATH "/org/fedoraproject/Config/Printing" + #define SCP_IFACE "org.fedoraproject.Config.Printing" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetCount(attr) attr->num_values ++#define ippGetGroupTag(attr) attr->group_tag ++#define ippGetValueTag(attr) attr->value_tag ++#define ippGetName(attr) attr->name ++#define ippGetStatusCode(ipp) ipp->request.status.status_code ++#define ippGetInteger(attr, element) attr->values[element].integer ++#define ippGetString(attr, element, language) attr->values[element].string.text ++ ++static ipp_attribute_t * ++ippFirstAttribute(ipp_t *ipp) ++{ ++ if (!ipp) ++ return (NULL); ++ return (ipp->current = ipp->attrs); ++} ++ ++static ipp_attribute_t * ++ippNextAttribute(ipp_t *ipp) ++{ ++ if (!ipp || !ipp->current) ++ return (NULL); ++ return (ipp->current = ipp->current->next); ++} ++#endif ++ ++ + DBusGProxy * + get_dbus_proxy (const gchar *name, + const gchar *path, +@@ -977,12 +1008,12 @@ DBus method \"GetBestDrivers\". Using fallback solution for now."); + response = cupsDoRequest (http, request, "/"); + + if (response && +- response->request.status.status_code <= IPP_OK_CONFLICT) ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag (attr) != IPP_TAG_PRINTER) ++ attr = ippNextAttribute (response); + + if (attr == NULL) + break; +@@ -992,22 +1023,22 @@ DBus method \"GetBestDrivers\". Using fallback solution for now."); + ppd_name = NULL; + ppd_product = NULL; + +- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) ++ while (attr != NULL && ippGetGroupTag (attr) == IPP_TAG_PRINTER) + { +- if (g_strcmp0 (attr->name, "ppd-device-id") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_device_id = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-make-and-model") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_make_and_model = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-name") == 0 && +- attr->value_tag == IPP_TAG_NAME) +- ppd_name = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-product") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_product = attr->values[0].string.text; +- +- attr = attr->next; ++ if (g_strcmp0 (ippGetName (attr), "ppd-device-id") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_device_id = (gchar *) ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-make-and-model") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_make_and_model = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-name") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_NAME) ++ ppd_name = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-product") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_product = ippGetString (attr, 0, NULL); ++ ++ attr = ippNextAttribute (response); + } + + if (ppd_device_id && ppd_name) +@@ -1051,15 +1082,15 @@ DBus method \"GetBestDrivers\". Using fallback solution for now."); + response = cupsDoRequest (http, request, "/"); + + if (response && +- response->request.status.status_code <= IPP_OK_CONFLICT) ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + for (i = 0; equivalents && equivalents[i]; i++) + { + eq_normalized = normalize (equivalents[i]); +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag (attr) != IPP_TAG_PRINTER) ++ attr = ippNextAttribute (response); + + if (attr == NULL) + break; +@@ -1069,22 +1100,22 @@ DBus method \"GetBestDrivers\". Using fallback solution for now."); + ppd_name = NULL; + ppd_product = NULL; + +- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) ++ while (attr != NULL && ippGetGroupTag (attr) == IPP_TAG_PRINTER) + { +- if (g_strcmp0 (attr->name, "ppd-device-id") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_device_id = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-make-and-model") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_make_and_model = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-name") == 0 && +- attr->value_tag == IPP_TAG_NAME) +- ppd_name = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-product") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_product = attr->values[0].string.text; +- +- attr = attr->next; ++ if (g_strcmp0 (ippGetName (attr), "ppd-device-id") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_device_id = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-make-and-model") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_make_and_model = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-name") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_NAME) ++ ppd_name = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-product") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_product = ippGetString (attr, 0, NULL); ++ ++ attr = ippNextAttribute (response); + } + + if (ppd_device_id && ppd_name) +@@ -1382,23 +1413,23 @@ ccGetAllowedUsers (gchar ***allowed_users, const char *printer_name) + ipp_attribute_t *attr = NULL; + ipp_attribute_t *allowed = NULL; + +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- if (attr->group_tag == IPP_TAG_PRINTER && +- attr->value_tag == IPP_TAG_NAME && +- !g_strcmp0 (attr->name, "requesting-user-name-allowed")) ++ if (ippGetGroupTag (attr)== IPP_TAG_PRINTER && ++ ippGetValueTag (attr) == IPP_TAG_NAME && ++ !g_strcmp0 (ippGetName (attr), "requesting-user-name-allowed")) + allowed = attr; + } + +- if (allowed && allowed->num_values > 0) ++ if (allowed && ippGetCount (allowed) > 0) + { + int i; + +- num_allowed_users = allowed->num_values; ++ num_allowed_users = ippGetCount (allowed); + users = g_new (gchar*, num_allowed_users); + + for (i = 0; i < num_allowed_users; i ++) +- users[i] = g_strdup (allowed->values[i].string.text); ++ users[i] = g_strdup (ippGetString (allowed, i, NULL)); + } + ippDelete(response); + } +@@ -1485,12 +1516,12 @@ renew_cups_subscription (gint id, + "notify-lease-duration", lease_duration); + response = cupsDoRequest (http, request, "/"); + if (response != NULL && +- response->request.status.status_code <= IPP_OK_CONFLICT) { ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) { + if ((attr = ippFindAttribute (response, "notify-lease-duration", + IPP_TAG_INTEGER)) == NULL) + g_debug ("No notify-lease-duration in response!\n"); + else +- if (attr->values[0].integer == lease_duration) ++ if (ippGetInteger (attr, 0) == lease_duration) + result = id; + } + } +@@ -1512,12 +1543,12 @@ renew_cups_subscription (gint id, + response = cupsDoRequest (http, request, "/"); + + if (response != NULL && +- response->request.status.status_code <= IPP_OK_CONFLICT) { ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) { + if ((attr = ippFindAttribute (response, "notify-subscription-id", + IPP_TAG_INTEGER)) == NULL) + g_debug ("No notify-subscription-id in response!\n"); + else +- result = attr->values[0].integer; ++ result = ippGetInteger (attr, 0); + } + } + +@@ -1687,38 +1718,38 @@ printer_rename (const gchar *old_name, + + if (response) + { +- if (response->request.status.status_code <= IPP_OK_CONFLICT) ++ if (ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + attr = ippFindAttribute (response, "printer-error-policy", IPP_TAG_NAME); + if (attr) +- error_policy = g_strdup (attr->values[0].string.text); ++ error_policy = g_strdup (ippGetString (attr, 0, NULL)); + + attr = ippFindAttribute (response, "printer-op-policy", IPP_TAG_NAME); + if (attr) +- op_policy = g_strdup (attr->values[0].string.text); ++ op_policy = g_strdup (ippGetString (attr, 0, NULL)); + + attr = ippFindAttribute (response, "requesting-user-name-allowed", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- users_allowed = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- users_allowed[i] = g_strdup (attr->values[i].string.text); ++ users_allowed = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ users_allowed[i] = g_strdup (ippGetString (attr, i, NULL)); + } + + attr = ippFindAttribute (response, "requesting-user-name-denied", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- users_denied = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- users_denied[i] = g_strdup (attr->values[i].string.text); ++ users_denied = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ users_denied[i] = g_strdup (ippGetString (attr, i, NULL)); + } + + attr = ippFindAttribute (response, "member-names", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- member_names = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- member_names[i] = g_strdup (attr->values[i].string.text); ++ member_names = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ member_names[i] = g_strdup (ippGetString (attr, i, NULL)); + } + } + ippDelete (response); +-- +1.7.8.6 + diff --git a/gnome-base/gnome-control-center/files/gnome-control-center-3.4.2-cups-1.6.patch b/gnome-base/gnome-control-center/files/gnome-control-center-3.4.2-cups-1.6.patch new file mode 100644 index 000000000000..92070d64e37a --- /dev/null +++ b/gnome-base/gnome-control-center/files/gnome-control-center-3.4.2-cups-1.6.patch @@ -0,0 +1,374 @@ +From 6fe26549d11b4e12026d81d680cd5ff11678a781 Mon Sep 17 00:00:00 2001 +From: Jiri Popelka <jpopelka@redhat.com> +Date: Wed, 11 Jul 2012 17:25:09 +0200 +Subject: [PATCH] Use CUPS-1.6 IPP API getter/setter functions. + +CUPS 1.6 makes various structures private and +introduces these ippGet and ippSet functions +for all of the fields in these structures. +http://www.cups.org/str.php?L3928 + +We define our own accessors when +building against CUPS < 1.6. +--- + panels/printers/cc-printers-panel.c | 20 +++- + panels/printers/pp-new-printer-dialog.c | 10 +- + panels/printers/pp-utils.c | 159 ++++++++++++++++++------------- + 3 files changed, 119 insertions(+), 70 deletions(-) + +diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c +index 0ea51c4..83622cc 100644 +--- a/panels/printers/cc-printers-panel.c ++++ b/panels/printers/cc-printers-panel.c +@@ -58,6 +58,16 @@ G_DEFINE_DYNAMIC_TYPE (CcPrintersPanel, cc_printers_panel, CC_TYPE_PANEL) + + #define CUPS_STATUS_CHECK_INTERVAL 5 + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetState(ipp) ipp->state ++#define ippGetStatusCode(ipp) ipp->request.status.status_code ++#define ippGetString(attr, element, language) attr->values[element].string.text ++#endif ++ + struct _CcPrintersPanelPrivate + { + GtkBuilder *builder; +@@ -318,7 +328,7 @@ on_cups_notification (GDBusConnection *connection, + + if (response) + { +- if (response->request.status.status_code <= IPP_OK_CONFLICT) ++ if (ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + ipp_attribute_t *attr_username = NULL; + ipp_attribute_t *attr_printer_uri = NULL; +@@ -326,12 +336,12 @@ on_cups_notification (GDBusConnection *connection, + attr_username = ippFindAttribute(response, "job-originating-user-name", IPP_TAG_NAME); + attr_printer_uri = ippFindAttribute(response, "job-printer-uri", IPP_TAG_URI); + if (attr_username && attr_printer_uri && +- g_strcmp0 (attr_username->values[0].string.text, cupsUser ()) == 0 && +- g_strrstr (attr_printer_uri->values[0].string.text, "/") != 0 && ++ g_strcmp0 (ippGetString (attr_username, 0, NULL), cupsUser ()) == 0 && ++ g_strrstr (ippGetString (attr_printer_uri, 0, NULL), "/") != 0 && + priv->current_dest >= 0 && + priv->current_dest < priv->num_dests && + priv->dests != NULL && +- g_strcmp0 (g_strrstr (attr_printer_uri->values[0].string.text, "/") + 1, ++ g_strcmp0 (g_strrstr (ippGetString (attr_printer_uri, 0, NULL), "/") + 1, + priv->dests[priv->current_dest].name) == 0) + actualize_jobs_list (self); + } +@@ -2295,7 +2305,7 @@ test_page_cb (GtkButton *button, + + if (response) + { +- if (response->state == IPP_ERROR) ++ if (ippGetState(response) == IPP_ERROR) + g_warning ("An error has occured during printing of test page."); + ippDelete (response); + } +diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c +index eb134b5..6ac4618 100644 +--- a/panels/printers/pp-new-printer-dialog.c ++++ b/panels/printers/pp-new-printer-dialog.c +@@ -59,6 +59,14 @@ + + #define ALLOWED_CHARACTERS "abcdefghijklmnopqrtsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetState(ipp) ipp->state ++#endif ++ + static void pp_new_printer_dialog_hide (PpNewPrinterDialog *pp); + static void actualize_devices_list (PpNewPrinterDialog *pp); + +@@ -1760,7 +1768,7 @@ new_printer_add_button_cb (GtkButton *button, + _("Automatic configuration")); + if (response) + { +- if (response->state == IPP_ERROR) ++ if (ippGetState(response) == IPP_ERROR) + g_warning ("An error has occured during automatic configuration of new printer."); + ippDelete (response); + } +diff --git a/panels/printers/pp-utils.c b/panels/printers/pp-utils.c +index 5263af6..41fa3c4 100644 +--- a/panels/printers/pp-utils.c ++++ b/panels/printers/pp-utils.c +@@ -35,6 +35,37 @@ + #define SCP_PATH "/org/fedoraproject/Config/Printing" + #define SCP_IFACE "org.fedoraproject.Config.Printing" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetCount(attr) attr->num_values ++#define ippGetGroupTag(attr) attr->group_tag ++#define ippGetValueTag(attr) attr->value_tag ++#define ippGetName(attr) attr->name ++#define ippGetStatusCode(ipp) ipp->request.status.status_code ++#define ippGetInteger(attr, element) attr->values[element].integer ++#define ippGetString(attr, element, language) attr->values[element].string.text ++ ++static ipp_attribute_t * ++ippFirstAttribute(ipp_t *ipp) ++{ ++ if (!ipp) ++ return (NULL); ++ return (ipp->current = ipp->attrs); ++} ++ ++static ipp_attribute_t * ++ippNextAttribute(ipp_t *ipp) ++{ ++ if (!ipp || !ipp->current) ++ return (NULL); ++ return (ipp->current = ipp->current->next); ++} ++#endif ++ ++ + gchar * + get_tag_value (const gchar *tag_string, const gchar *tag_name) + { +@@ -935,12 +966,12 @@ DBus method \"GetBestDrivers\". Using fallback solution for now."); + response = cupsDoRequest (http, request, "/"); + + if (response && +- response->request.status.status_code <= IPP_OK_CONFLICT) ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag (attr) != IPP_TAG_PRINTER) ++ attr = ippNextAttribute (response); + + if (attr == NULL) + break; +@@ -950,22 +981,22 @@ DBus method \"GetBestDrivers\". Using fallback solution for now."); + ppd_name = NULL; + ppd_product = NULL; + +- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) ++ while (attr != NULL && ippGetGroupTag (attr) == IPP_TAG_PRINTER) + { +- if (g_strcmp0 (attr->name, "ppd-device-id") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_device_id = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-make-and-model") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_make_and_model = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-name") == 0 && +- attr->value_tag == IPP_TAG_NAME) +- ppd_name = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-product") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_product = attr->values[0].string.text; +- +- attr = attr->next; ++ if (g_strcmp0 (ippGetName (attr), "ppd-device-id") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_device_id = (gchar *) ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-make-and-model") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_make_and_model = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-name") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_NAME) ++ ppd_name = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-product") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_product = ippGetString (attr, 0, NULL); ++ ++ attr = ippNextAttribute (response); + } + + if (ppd_device_id && ppd_name) +@@ -1009,15 +1040,15 @@ DBus method \"GetBestDrivers\". Using fallback solution for now."); + response = cupsDoRequest (http, request, "/"); + + if (response && +- response->request.status.status_code <= IPP_OK_CONFLICT) ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + for (i = 0; equivalents && equivalents[i]; i++) + { + eq_normalized = normalize (equivalents[i]); +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag (attr) != IPP_TAG_PRINTER) ++ attr = ippNextAttribute (response); + + if (attr == NULL) + break; +@@ -1027,22 +1058,22 @@ DBus method \"GetBestDrivers\". Using fallback solution for now."); + ppd_name = NULL; + ppd_product = NULL; + +- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) ++ while (attr != NULL && ippGetGroupTag (attr) == IPP_TAG_PRINTER) + { +- if (g_strcmp0 (attr->name, "ppd-device-id") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_device_id = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-make-and-model") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_make_and_model = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-name") == 0 && +- attr->value_tag == IPP_TAG_NAME) +- ppd_name = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-product") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_product = attr->values[0].string.text; +- +- attr = attr->next; ++ if (g_strcmp0 (ippGetName (attr), "ppd-device-id") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_device_id = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-make-and-model") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_make_and_model = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-name") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_NAME) ++ ppd_name = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-product") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_product = ippGetString (attr, 0, NULL); ++ ++ attr = ippNextAttribute (response); + } + + if (ppd_device_id && ppd_name) +@@ -1352,23 +1383,23 @@ ccGetAllowedUsers (gchar ***allowed_users, const char *printer_name) + ipp_attribute_t *attr = NULL; + ipp_attribute_t *allowed = NULL; + +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- if (attr->group_tag == IPP_TAG_PRINTER && +- attr->value_tag == IPP_TAG_NAME && +- !g_strcmp0 (attr->name, "requesting-user-name-allowed")) ++ if (ippGetGroupTag (attr) == IPP_TAG_PRINTER && ++ ippGetValueTag (attr) == IPP_TAG_NAME && ++ !g_strcmp0 (ippGetName (attr), "requesting-user-name-allowed")) + allowed = attr; + } + +- if (allowed && allowed->num_values > 0) ++ if (allowed && ippGetCount (allowed) > 0) + { + int i; + +- num_allowed_users = allowed->num_values; ++ num_allowed_users = ippGetCount (allowed); + users = g_new (gchar*, num_allowed_users); + + for (i = 0; i < num_allowed_users; i ++) +- users[i] = g_strdup (allowed->values[i].string.text); ++ users[i] = g_strdup (ippGetString (allowed, i, NULL)); + } + ippDelete(response); + } +@@ -1454,12 +1485,12 @@ renew_cups_subscription (gint id, + "notify-lease-duration", lease_duration); + response = cupsDoRequest (http, request, "/"); + if (response != NULL && +- response->request.status.status_code <= IPP_OK_CONFLICT) { ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) { + if ((attr = ippFindAttribute (response, "notify-lease-duration", + IPP_TAG_INTEGER)) == NULL) + g_debug ("No notify-lease-duration in response!\n"); + else +- if (attr->values[0].integer == lease_duration) ++ if (ippGetInteger (attr, 0) == lease_duration) + result = id; + } + } +@@ -1481,12 +1512,12 @@ renew_cups_subscription (gint id, + response = cupsDoRequest (http, request, "/"); + + if (response != NULL && +- response->request.status.status_code <= IPP_OK_CONFLICT) { ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) { + if ((attr = ippFindAttribute (response, "notify-subscription-id", + IPP_TAG_INTEGER)) == NULL) + g_debug ("No notify-subscription-id in response!\n"); + else +- result = attr->values[0].integer; ++ result = ippGetInteger (attr, 0); + } + } + +@@ -1655,38 +1686,38 @@ printer_rename (const gchar *old_name, + + if (response) + { +- if (response->request.status.status_code <= IPP_OK_CONFLICT) ++ if (ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + attr = ippFindAttribute (response, "printer-error-policy", IPP_TAG_NAME); + if (attr) +- error_policy = g_strdup (attr->values[0].string.text); ++ error_policy = g_strdup (ippGetString (attr, 0, NULL)); + + attr = ippFindAttribute (response, "printer-op-policy", IPP_TAG_NAME); + if (attr) +- op_policy = g_strdup (attr->values[0].string.text); ++ op_policy = g_strdup (ippGetString (attr, 0, NULL)); + + attr = ippFindAttribute (response, "requesting-user-name-allowed", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- users_allowed = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- users_allowed[i] = g_strdup (attr->values[i].string.text); ++ users_allowed = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ users_allowed[i] = g_strdup (ippGetString (attr, i, NULL)); + } + + attr = ippFindAttribute (response, "requesting-user-name-denied", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- users_denied = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- users_denied[i] = g_strdup (attr->values[i].string.text); ++ users_denied = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ users_denied[i] = g_strdup (ippGetString (attr, i, NULL)); + } + + attr = ippFindAttribute (response, "member-names", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- member_names = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- member_names[i] = g_strdup (attr->values[i].string.text); ++ member_names = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ member_names[i] = g_strdup (ippGetString (attr, i, NULL)); + } + } + ippDelete (response); +-- +1.7.10.4 + diff --git a/gnome-base/gnome-control-center/gnome-control-center-3.2.2.ebuild b/gnome-base/gnome-control-center/gnome-control-center-3.2.2.ebuild deleted file mode 100644 index bd9c922be438..000000000000 --- a/gnome-base/gnome-control-center/gnome-control-center-3.2.2.ebuild +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-control-center/gnome-control-center-3.2.2.ebuild,v 1.7 2012/05/21 18:51:38 tetromino Exp $ - -EAPI="4" -GCONF_DEBUG="yes" -GNOME2_LA_PUNT="yes" # gmodule is used, which uses dlopen - -inherit autotools eutils gnome2 - -DESCRIPTION="GNOME Desktop Configuration Tool" -HOMEPAGE="http://www.gnome.org/" - -LICENSE="GPL-2" -SLOT="2" -IUSE="+cheese +colord +cups +networkmanager +socialweb" -KEYWORDS="~amd64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris" - -# XXX: gnome-desktop-2.91.5 is needed for upstream commit c67f7efb -# XXX: NetworkManager-0.9 support is automagic, make hard-dep once it's released -# -# gnome-session-2.91.6-r1 is needed so that 10-user-dirs-update is run at login -# Latest gsettings-desktop-schemas is neededfor commit 73f9bffb -# gnome-settings-daemon-3.1.4 is needed for power panel (commit 4f08a325) -# g-s-d[policykit] needed for bug #403527 -COMMON_DEPEND=" - >=dev-libs/glib-2.29.14:2 - >=x11-libs/gdk-pixbuf-2.23.0:2 - >=x11-libs/gtk+-3.1.19:3 - >=gnome-base/gsettings-desktop-schemas-3.0.2 - >=gnome-base/gconf-2.0:2 - >=dev-libs/dbus-glib-0.73 - >=gnome-base/gnome-desktop-3.1.0:3 - >=gnome-base/gnome-settings-daemon-3.1.4[colord(+)?,policykit] - >=gnome-base/libgnomekbd-2.91.91 - - app-text/iso-codes - dev-libs/libxml2:2 - gnome-base/gnome-menus:3 - gnome-base/libgtop:2 - media-libs/fontconfig - net-libs/gnome-online-accounts - - >=media-libs/libcanberra-0.13[gtk3] - >=media-sound/pulseaudio-0.9.16[glib] - >=sys-auth/polkit-0.97 - >=sys-power/upower-0.9.1 - >=x11-libs/libnotify-0.7.3 - - x11-apps/xmodmap - x11-libs/libX11 - x11-libs/libXxf86misc - >=x11-libs/libxklavier-5.1 - >=x11-libs/libXi-1.2 - - cheese? ( - media-libs/gstreamer:0.10 - >=media-video/cheese-2.91.91.1 ) - colord? ( >=x11-misc/colord-0.1.8 ) - cups? ( >=net-print/cups-1.4[dbus] ) - networkmanager? ( - >=gnome-extra/nm-applet-0.9.1.90 - >=net-misc/networkmanager-0.8.997 ) - socialweb? ( net-libs/libsocialweb )" -# <gnome-color-manager-3.1.2 has file collisions with g-c-c-3.1.x -RDEPEND="${COMMON_DEPEND} - app-admin/apg - sys-apps/accountsservice - x11-themes/gnome-icon-theme-symbolic - cups? ( net-print/cups-pk-helper ) - - !<gnome-base/gdm-2.91.94 - !<gnome-extra/gnome-color-manager-3.1.2 - !gnome-extra/gnome-media[pulseaudio] - !<gnome-extra/gnome-media-2.32.0-r300" -# PDEPEND to avoid circular dependency -PDEPEND=">=gnome-base/gnome-session-2.91.6-r1" -DEPEND="${COMMON_DEPEND} - x11-proto/xproto - x11-proto/xf86miscproto - x11-proto/kbproto - - >=sys-devel/gettext-0.17 - >=dev-util/intltool-0.40.1 - virtual/pkgconfig - - app-text/scrollkeeper - >=app-text/gnome-doc-utils-0.10.1 - - cups? ( sys-apps/sed )" -# Needed for autoreconf -# gnome-base/gnome-common - -pkg_setup() { - G2CONF="${G2CONF} - --disable-update-mimedb - --disable-static - $(use_with cheese) - $(use_enable colord color) - $(use_enable cups) - $(use_with socialweb libsocialweb)" - DOCS="AUTHORS ChangeLog NEWS README TODO" -} - -src_prepare() { - # Upstream patch to not crash on missing metacity; will be in next release - epatch "${FILESDIR}/${P}-metacity-gconf.patch" - - # Make colord plugin optional; requires eautoreconf - epatch "${FILESDIR}/${PN}-3.2.1-optional-colord.patch" - eautoreconf - - gnome2_src_prepare -} diff --git a/gnome-base/gnome-control-center/gnome-control-center-3.2.3.ebuild b/gnome-base/gnome-control-center/gnome-control-center-3.2.3.ebuild index 38e903aed2e7..8039c44c3dbb 100644 --- a/gnome-base/gnome-control-center/gnome-control-center-3.2.3.ebuild +++ b/gnome-base/gnome-control-center/gnome-control-center-3.2.3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-control-center/gnome-control-center-3.2.3.ebuild,v 1.2 2012/05/27 23:14:36 mattst88 Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-control-center/gnome-control-center-3.2.3.ebuild,v 1.3 2012/08/07 10:18:15 tetromino Exp $ EAPI="4" GCONF_DEBUG="yes" @@ -111,6 +111,10 @@ src_prepare() { # Make some panels optional; requires eautoreconf epatch "${FILESDIR}/${PN}-3.2.3-optional-colord-goa.patch" + + # https://bugzilla.gnome.org/show_bug.cgi?id=679759 + epatch "${FILESDIR}/${PN}-3.2.3-cups-1.6.patch" + eautoreconf gnome2_src_prepare diff --git a/gnome-base/gnome-control-center/gnome-control-center-3.4.2-r1.ebuild b/gnome-base/gnome-control-center/gnome-control-center-3.4.2-r1.ebuild index a61fd5dfdb11..dbdec6b9b848 100644 --- a/gnome-base/gnome-control-center/gnome-control-center-3.4.2-r1.ebuild +++ b/gnome-base/gnome-control-center/gnome-control-center-3.4.2-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-control-center/gnome-control-center-3.4.2-r1.ebuild,v 1.1 2012/07/19 02:46:04 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-control-center/gnome-control-center-3.4.2-r1.ebuild,v 1.2 2012/08/07 10:18:15 tetromino Exp $ EAPI="4" GCONF_DEBUG="yes" @@ -121,6 +121,8 @@ src_prepare() { epatch "${FILESDIR}/${PN}-3.4.2-optional-bt-colord-goa-wacom.patch" # Fix some absolute paths to be appropriate for Gentoo epatch "${FILESDIR}/${PN}-3.4.2-gentoo-paths.patch" + # https://bugzilla.gnome.org/show_bug.cgi?id=679759 + epatch "${FILESDIR}/${PN}-3.4.2-cups-1.6.patch" eautoreconf gnome2_src_prepare |