diff options
Diffstat (limited to 'net-print/cups')
-rw-r--r-- | net-print/cups/Manifest | 14 | ||||
-rw-r--r-- | net-print/cups/cups-2.2.8-r1.ebuild | 338 | ||||
-rw-r--r-- | net-print/cups/cups-2.2.9.ebuild (renamed from net-print/cups/cups-2.2.11.ebuild) | 49 | ||||
-rw-r--r-- | net-print/cups/cups-2.3_beta6.ebuild (renamed from net-print/cups/cups-2.3_beta7.ebuild) | 50 | ||||
-rw-r--r-- | net-print/cups/cups-9999.ebuild | 49 | ||||
-rw-r--r-- | net-print/cups/files/cups-2.2.8-validation_fixes.patch | 69 | ||||
-rw-r--r-- | net-print/cups/files/cups-2.3_beta6-usage_argument_fix.patch | 243 |
7 files changed, 735 insertions, 77 deletions
diff --git a/net-print/cups/Manifest b/net-print/cups/Manifest index 38a2b77cb0a9..e6354877874c 100644 --- a/net-print/cups/Manifest +++ b/net-print/cups/Manifest @@ -3,15 +3,19 @@ AUX cups-2.0.1-xinetd-installation-fix.patch 332 BLAKE2B 5688eeabaea0d2db636012e AUX cups-2.0.2-rename-systemd-service-files.patch 2092 BLAKE2B c34d8d6c5295aea6eaeb5aea05dcf32a9a554d445ae1b57b8d33386394e1d3f414095d89dc55eb0d4c5678e2985c37451e64101e6426bc2ad26aa50404b51844 SHA512 409a7508dccbbcfca60ba448f8cea84ecb2710890e7655c67b8292c34c8d555884e7e82e70c2c700691af1a786ce0d8c8c799b6fb471a18f1b87eda99eacd9cb AUX cups-2.2.0-dont-compress-manpages.patch 319 BLAKE2B b03a0ab815751055d79475423242bbc407e934cdc00e4596ab05e3d7f87ca0feb7201f6696a8eef59fdb73630431364f12146f1d32743e272de054019acb8380 SHA512 0f4822e50f9376dc2e8c87b55f6526ab514f5f08f737071f5b15696e71b51416203df6c9219d78989544bbc135cd92be91ef351a377be7ab4052e98c25c0c4f5 AUX cups-2.2.6-fix-install-perms.patch 660 BLAKE2B 85c42742762dc72c746550c36160c5fd13b10727fa4e40793b7072c88c3856c580e408180819acc1668da06024b30173fd71f725175981305c739aaa40b7ba65 SHA512 f64ed254bc79935ea3d9fce4c4cd8074445397c20ee1bc1e759e3bc7a336b30f73722357d2702219932e7a774f925abf9a450d3b30a12ca1f0c5f3c92b0b5fbf +AUX cups-2.2.8-validation_fixes.patch 2606 BLAKE2B e585b0481db0f23f3a60453269c31e92f2fd27b2b9830d3ff93c726d62e9d0b12c3b7f3494daf89dc3c7533fba2ddb2709f9a43d42eff4ac0c5c3cb77c0e4d3b SHA512 58f633adacd380877c0241ceaacf8d13154245759d79f81912c93e5b2951b094653c58c3b01b6f76c10a910183f4064a713f43afe016d91e3cf6d5857f33f2f6 +AUX cups-2.3_beta6-usage_argument_fix.patch 6888 BLAKE2B bdf5b245c02a5b1d078bf376e7801f818fda9aee019731a7c83a0c32c7a70625293cc824085e516bbfc33a0fe45f2ff0e645f112685daa62bba9a9bedccb5c95 SHA512 a4d9b27acfc795b365db0256540d6fbea61e9ebdeeafd9ecd386cc4d33fe0ce2b4eddfa227a66c8b3813f9ca3f7173f9ae013b93a9a80d84ae1341ef9632b028 AUX cups-2.3_rc1-no_pam.patch 4704 BLAKE2B 99d9726f43ebc6ebb7fcaa608b99f435dccdeaa53f8fd6b47b4735c084dec8852ab5b34d06f07293299f13a4d975cf9b5bfc44950910c58c409fdcb71dfec6ea SHA512 f5f0f850a954a970aa5129d518f7b84e1e5fbb57c4bf16d42eb09eac01ebb5280514a580938433525514d5cd57acfcb363aa972d783d7b6b23e8f30e01d5e1b1 AUX cupsd.init.d-r3 584 BLAKE2B f503663a59673209fc6c161aed3cc214cab2b3e68692078dc47c1a833fe141225f48f2d07dab65fc19ea68e54bb7c9a7c94f6db1dac443111d04b392fd7855a4 SHA512 ace66b46c17f99f8c6487188c14e8a1baf7acad602156b88cdae7fb4738c163a045240a1b28c6db4af86caa317723357186812eed81f9553a9ef3517c966c6b3 DIST cups-2.2.10-source.tar.gz 10403568 BLAKE2B 42937088758893772545fff7bbfbf4610ae34764b1e962110b7ea88940ddcba92376e55f4665b9815278de566daec07190ad78e5f2b1e37f905447a7fd17bf4e SHA512 1393987a263ebf20089dd3008ae4ed770a27a1f289032604eb9e18f2e863bd0e4215a70118f5a6d3940875625278b6798fbc9070e791ec559179c6cf7dc7b05f -DIST cups-2.2.11-source.tar.gz 10405908 BLAKE2B 9b7ee4da9502e42fd1b4a2c57ab709b3127ee8aeb8481a52f37da19fe5578f406260f1551e3fcedcd3a828fbed69267e68fcfd7bfabadf65afce4c3af19b4a1f SHA512 21a6916041b50044d336871f10d1192635458a3d318f19a18ad21d27027dd3839400601019e758424c218225a34aba148ba3a57f0ce3fe14c4df03bd1fde3403 DIST cups-2.2.7-source.tar.gz 10330296 BLAKE2B 015a64758ee8d2559f4259ff36bf702b93dc695a44e2170d4ecf71b80d5691b4d947decf0a84ff9433b43c6d47dc350a8769d1e230ceda276c13add67e5e8a20 SHA512 780a6a484f38967ff678456ec7b532aa8445a9562663e4e4f6f7a24aac6ec9e8eae36459ee3c025dff053d59ad1d9ecfb823e8a832bae9d384db3d1a10d8860e -DIST cups-2.3b7-source.tar.gz 10239838 BLAKE2B f2a0317f6c0852c97ec5bed2476705f81ae7089fed2c6f1b34aacda9ff16df780e4157fe214aba0dcfcdb98cba9b45f8ea060fb6ff3206d56332afd37d3bb3ba SHA512 e390fda14e03a2043460959fce1877e45cc37d76ee62dfd11cc0affe7f181d215c517472398cddceadc09b9937356347ee3a33619dc8aa77229d9ea580c3cbc5 +DIST cups-2.2.8-source.tar.gz 10374921 BLAKE2B 3fc4d5cae3848cbb7fb1263b377210254dfa08d70a1218c7f20d5a277d0536791e071c50bac282ab2049e1cffddfe91438216ceb37ec279d7cb0ec7b57a315da SHA512 6ed44c5e6f1c46c85b06691713ce476330c93834243720ad2c04fa983e20cde9f6ebfc2eb2ba8bb3700f11320471b99856d6402d3641038da690f89c49fbd261 +DIST cups-2.2.9-source.tar.gz 10402885 BLAKE2B 6736a2f5efa6ee8eadeea6620b5750e16e3be2e1c46d6f5821146d21078d10cda8e993b111ae326863db93d0c36e55c26d1c91140f8a518759111bafc9c93996 SHA512 423d2a215a115d5f78ce73118e8a2e566662e5d7f8acbffea39e1bfefb2f48f94841c8b85d731b0786b682dc579df8dfb5508570225b5205a182fbb2cd6dd2a5 +DIST cups-2.3b6-source.tar.gz 10240934 BLAKE2B 16b7381617d97d5c68e7bdf971b2cbc81c8f33208e408e051fce9770cffebed3a9337296d3e9f95a9f0a4e76cffe3201b99207f83169b8397d11455964178f4f SHA512 f9f79bbc694e4bb4f37906f6dffad7c5067d86e07878ca73953ebf519d2637c23fded18646bd086cbd397e49de6b629fe9323f57ccfb2c9bf912c3bfd20b345e EBUILD cups-2.2.10.ebuild 9894 BLAKE2B 4e70310a747b178a61bcaaaeb11422297876090c465bb3a94f18173a5dc82192fe4daf6b26fa891eb54203d7f8671f18942f43f8d25420551bde5ac7453f10e1 SHA512 7d2491a410d4904db8e4b3ac37b8caf9a01378c7ca0bc77d3f11d4c9c105dac14fe09c7165248de200aed4c784e8774155ca06eaa6bb47ff5b4c8bfe201f25a0 -EBUILD cups-2.2.11.ebuild 9754 BLAKE2B c1a76bed13143df6ebdd6e042c26f331680ffa3f5de4f979289ed40b38126d9fec532c3b660134fc407caab7ca930eece587562d04fb6e8bb8657c1a5abc4d8e SHA512 ef9f1fef52d5e649abe1755299f30d32809edee9d1d4a2974efc14581e92d1d22bd9711836e1f138a6aba35cc5c80be8fe30f6fc7d9cb833ff0e53aefe5f346a EBUILD cups-2.2.7.ebuild 9944 BLAKE2B 8fd1425102b0ade58b8b70cbf3d9bb7df8910a8acaceff79cdc04a2b1f32a5d44272f819e74bd8459de371acf8e0356373c883eeac3e084447f21902e79a69f0 SHA512 51d41baeb24c3b84bde0b16a2f57b8822e4b460f4ab0f3ea19c075dbe871e9930924b4ce4772aaa04480bf2e1fe68f0ba223ace853455ca84acdd2cc5acb3e6c -EBUILD cups-2.3_beta7.ebuild 9530 BLAKE2B 7a5c24b50dd094380001641f0a062ffe4aecb6c71abd16c24b211bdb788f47023700c641d9c2d968fbf0ec0c4b85ea0134c517dcc941388bb83db92c2b9a22dd SHA512 01bd020f44a4ff22fb769939ec89f409cb6803fd3ab40d9fa48faaa1da917b829d2dcfcc025a168deaed5b1454cc4f3c3c4d3712d674b916591e6c78aa55511e -EBUILD cups-9999.ebuild 9530 BLAKE2B 7a5c24b50dd094380001641f0a062ffe4aecb6c71abd16c24b211bdb788f47023700c641d9c2d968fbf0ec0c4b85ea0134c517dcc941388bb83db92c2b9a22dd SHA512 01bd020f44a4ff22fb769939ec89f409cb6803fd3ab40d9fa48faaa1da917b829d2dcfcc025a168deaed5b1454cc4f3c3c4d3712d674b916591e6c78aa55511e +EBUILD cups-2.2.8-r1.ebuild 9948 BLAKE2B 7216a26222ee20e1839aa062a933755bf091c943a7e39f30d24d265ea3fcd5214291a02e8d531eb3b5b6c441e54e2cee4920c12b7b0d2ff97e76e2b09ba0b991 SHA512 f456adba3ce3b06e630999aa93cf77b47909e89391da6e1683aee5fcd7fc85797efef543ee6549ea9d1160b8178d745b688f220666b05384212aeb7619080de9 +EBUILD cups-2.2.9.ebuild 9894 BLAKE2B 4e70310a747b178a61bcaaaeb11422297876090c465bb3a94f18173a5dc82192fe4daf6b26fa891eb54203d7f8671f18942f43f8d25420551bde5ac7453f10e1 SHA512 7d2491a410d4904db8e4b3ac37b8caf9a01378c7ca0bc77d3f11d4c9c105dac14fe09c7165248de200aed4c784e8774155ca06eaa6bb47ff5b4c8bfe201f25a0 +EBUILD cups-2.3_beta6.ebuild 9715 BLAKE2B 71796fc8b417bdf7e4cef2699a95e4f4c36741c2feea5580a2ffe3874e58a7b03ffae28bcb088131fe576ec4ffcd4e0181df728a064a54580ae02b4bb35e8725 SHA512 2411ac3de4bde4ce49a1d4c32e79ca509f482ae0e661dddc87bc3061842098a58a2d98041afb70ea45ea06066efddc58dcaf6de177def817e904ae5382cbd128 +EBUILD cups-9999.ebuild 9673 BLAKE2B a4b10549bb1e045347580400611de0dc637d23dbab783ff6a6524bfab05a44ea5dc1d9f7f14349028f0843a20ea04ff98fe563c610ad6f5fff00d90110e83029 SHA512 b5024f8e94d6f8e251f54a5c988b512d622ac454a49f84893a900ad63e65dcb565007f95a93b52301e1c0a16ba8cfca06f78edc476fa5c631222fcfed0153bf8 MISC metadata.xml 677 BLAKE2B ca19e7bd0d56a0a78771a30efcbd867cd0ab1eba7aaf3add8d384721ac70ed8809bc8a171df43887d772f81dcfd54f31bc13267a9a3a88da44b51322aff87c15 SHA512 f7ed769c4f662ea52ed9e24702b91948a376e7d5a59b305f6d89950d0ea40130e6d471cc0bee373a63338f590bce3b6df5a09e56a166ba7fdd960f82e7648717 diff --git a/net-print/cups/cups-2.2.8-r1.ebuild b/net-print/cups/cups-2.2.8-r1.ebuild new file mode 100644 index 000000000000..f382bb8f76af --- /dev/null +++ b/net-print/cups/cups-2.2.8-r1.ebuild @@ -0,0 +1,338 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eapi7-ver gnome2-utils flag-o-matic linux-info xdg-utils multilib multilib-minimal pam python-single-r1 user java-pkg-opt-2 systemd toolchain-funcs + +MY_P="${P/_rc/rc}" +MY_P="${MY_P/_beta/b}" +MY_PV="${PV/_rc/rc}" +MY_PV="${MY_PV/_beta/b}" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/apple/cups.git" + if [[ ${PV} != 9999 ]]; then + EGIT_BRANCH=branch-${PV/.9999} + fi +else + #SRC_URI="https://github.com/apple/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI="https://github.com/apple/cups/releases/download/v${PV}/${P}-source.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~m68k-mint" +fi + +DESCRIPTION="The Common Unix Printing System" +HOMEPAGE="https://www.cups.org/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="acl dbus debug java kerberos lprng-compat pam python selinux +ssl static-libs systemd +threads usb X xinetd zeroconf" + +CDEPEND=" + app-text/libpaper + sys-libs/zlib + acl? ( + kernel_linux? ( + sys-apps/acl + sys-apps/attr + ) + ) + dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] ) + java? ( >=virtual/jre-1.6:* ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + !lprng-compat? ( !net-print/lprng ) + pam? ( virtual/pam ) + python? ( ${PYTHON_DEPS} ) + ssl? ( >=net-libs/gnutls-2.12.23-r6:0=[${MULTILIB_USEDEP}] ) + systemd? ( sys-apps/systemd ) + usb? ( virtual/libusb:1 ) + X? ( x11-misc/xdg-utils ) + xinetd? ( sys-apps/xinetd ) + zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] ) +" + +DEPEND="${CDEPEND} + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] +" + +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-cups ) +" + +PDEPEND=">=net-print/cups-filters-1.0.43" + +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) + usb? ( threads ) +" + +# upstream includes an interactive test which is a nono for gentoo +RESTRICT="test" + +# systemd-socket.patch from Fedora +PATCHES=( + "${FILESDIR}/${PN}-2.2.0-dont-compress-manpages.patch" + "${FILESDIR}/${PN}-2.2.6-fix-install-perms.patch" + "${FILESDIR}/${PN}-1.4.4-nostrip.patch" + "${FILESDIR}/${PN}-2.0.2-rename-systemd-service-files.patch" + "${FILESDIR}/${PN}-2.0.1-xinetd-installation-fix.patch" + "${FILESDIR}/${P}-validation_fixes.patch" #657526 +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/cups-config +) + +pkg_setup() { + enewgroup lp + enewuser lp -1 -1 -1 lp + enewgroup lpadmin 106 + + use python && python-single-r1_pkg_setup + + if use kernel_linux; then + linux-info_pkg_setup + if ! linux_config_exists; then + ewarn "Can't check the linux kernel configuration." + ewarn "You might have some incompatible options enabled." + else + # recheck that we don't have usblp to collide with libusb; this should now work in most cases (bug 501122) + if use usb; then + if linux_chkconfig_present USB_PRINTER; then + elog "Your USB printers will be managed via libusb. In case you run into problems, " + elog "please try disabling USB_PRINTER support in your kernel or blacklisting the" + elog "usblp kernel module." + elog "Alternatively, just disable the usb useflag for cups (your printer will still work)." + fi + else + #here we should warn user that he should enable it so he can print + if ! linux_chkconfig_present USB_PRINTER; then + ewarn "If you plan to use USB printers you should enable the USB_PRINTER" + ewarn "support in your kernel." + ewarn "Please enable it:" + ewarn " CONFIG_USB_PRINTER=y" + ewarn "in /usr/src/linux/.config or" + ewarn " Device Drivers --->" + ewarn " USB support --->" + ewarn " [*] USB Printer support" + ewarn "Alternatively, enable the usb useflag for cups and use the libusb code." + fi + fi + fi + fi +} + +src_prepare() { + default + + # Remove ".SILENT" rule for verbose output (bug 524338). + sed 's#^.SILENT:##g' -i "${S}"/Makedefs.in || die "sed failed" + + # Fix install-sh, posix sh does not have 'function'. + sed 's#function gzipcp#gzipcp()#g' -i "${S}/install-sh" + + AT_M4DIR=config-scripts eaclocal + eautoconf + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + export DSOFLAGS="${LDFLAGS}" + + einfo LINGUAS=\"${LINGUAS}\" + + # explicitly specify compiler wrt bug 524340 + # + # need to override KRB5CONFIG for proper flags + # https://github.com/apple/cups/issues/4423 + local myeconfargs=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config + --libdir="${EPREFIX}"/usr/$(get_libdir) + --localstatedir="${EPREFIX}"/var + --with-exe-file-perm=755 + --with-rundir="${EPREFIX}"/run/cups + --with-cups-user=lp + --with-cups-group=lp + --with-docdir="${EPREFIX}"/usr/share/cups/html + --with-languages="${LINGUAS}" + --with-system-groups=lpadmin + --with-xinetd="${EPREFIX}"/etc/xinetd.d + $(multilib_native_use_enable acl) + $(use_enable dbus) + $(use_enable debug) + $(use_enable debug debug-guards) + $(use_enable debug debug-printfs) + $(multilib_native_use_with java) + $(use_enable kerberos gssapi) + $(multilib_native_use_enable pam) + $(multilib_native_use_with python python "${PYTHON}") + $(use_enable static-libs static) + $(use_enable threads) + $(use_enable ssl gnutls) + $(use_enable systemd) + $(multilib_native_use_enable usb libusb) + $(use_enable zeroconf avahi) + --disable-dnssd + --without-perl + --without-php + $(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper) + ) + + if tc-is-static-only; then + myeconfargs+=( + --disable-shared + ) + fi + + econf "${myeconfargs[@]}" + + # install in /usr/libexec always, instead of using /usr/lib/cups, as that + # makes more sense when facing multilib support. + sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die + sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die + sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die + + # additional path corrections needed for prefix, see bug 597728 + sed \ + -e "s:ICONDIR.*:ICONDIR = ${EPREFIX}/usr/share/icons:" \ + -e "s:INITDIR.*:INITDIR = ${EPREFIX}/etc:" \ + -e "s:DBUSDIR.*:DBUSDIR = ${EPREFIX}/etc/dbus-1:" \ + -e "s:MENUDIR.*:MENUDIR = ${EPREFIX}/usr/share/applications:" \ + -i Makedefs || die +} + +multilib_src_compile() { + if multilib_is_native_abi; then + default + else + emake libs + fi +} + +multilib_src_test() { + multilib_is_native_abi && default +} + +multilib_src_install() { + if multilib_is_native_abi; then + emake BUILDROOT="${D}" install + else + emake BUILDROOT="${D}" install-libs install-headers + dobin cups-config + fi +} + +multilib_src_install_all() { + dodoc {CHANGES,CREDITS,README}.md + + # move the default config file to docs + dodoc "${ED%/}"/etc/cups/cupsd.conf.default + rm -f "${ED%/}"/etc/cups/cupsd.conf.default + + # clean out cups init scripts + rm -rf "${ED%/}"/etc/{init.d/cups,rc*,pam.d/cups} + + # install our init script + local neededservices + use zeroconf && neededservices+=" avahi-daemon" + use dbus && neededservices+=" dbus" + [[ -n ${neededservices} ]] && neededservices="need${neededservices}" + cp "${FILESDIR}"/cupsd.init.d-r3 "${T}"/cupsd || die + sed -i \ + -e "s/@neededservices@/${neededservices}/" \ + "${T}"/cupsd || die + doinitd "${T}"/cupsd + + # install our pam script + pamd_mimic_system cups auth account + + if use xinetd ; then + # correct path + sed -i \ + -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \ + "${ED%/}"/etc/xinetd.d/cups-lpd || die + # it is safer to disable this by default, bug #137130 + grep -w 'disable' "${ED%/}"/etc/xinetd.d/cups-lpd || \ + { sed -i -e "s:}:\tdisable = yes\n}:" "${ED%/}"/etc/xinetd.d/cups-lpd || die ; } + # write permission for file owner (root), bug #296221 + fperms u+w /etc/xinetd.d/cups-lpd || die "fperms failed" + else + # always configure with --with-xinetd= and clean up later, + # bug #525604 + rm -rf "${ED%/}"/etc/xinetd.d + fi + + keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \ + /var/log/cups /var/spool/cups/tmp + + keepdir /etc/cups/{interfaces,ppd,ssl} + + if ! use X ; then + rm -r "${ED%/}"/usr/share/applications || die + fi + + # create /etc/cups/client.conf, bug #196967 and #266678 + echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED%/}"/etc/cups/client.conf + + # the following file is now provided by cups-filters: + rm -r "${ED%/}"/usr/share/cups/banners || die + + # the following are created by the init script + rm -r "${ED%/}"/var/cache/cups || die + rm -r "${ED%/}"/run || die + + # for the special case of running lprng and cups together, bug 467226 + if use lprng-compat ; then + rm -fv "${ED%/}"/usr/bin/{lp*,cancel} + rm -fv "${ED%/}"/usr/sbin/lp* + rm -fv "${ED%/}"/usr/share/man/man1/{lp*,cancel*} + rm -fv "${ED%/}"/usr/share/man/man8/lp* + ewarn "Not installing lp... binaries, since the lprng-compat useflag is set." + ewarn "Unless you plan to install an exotic server setup, you most likely" + ewarn "do not want this. Disable the useflag then and all will be fine." + fi +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + # Update desktop file database and gtk icon cache (bug 370059) + gnome2_icon_cache_update + xdg_desktop_database_update + + local v + + for v in ${REPLACING_VERSIONS}; do + if ! ver_test ${v} -ge 2.2.2-r2 ; then + echo + ewarn "The cupsd init script switched to using pidfiles. Shutting down" + ewarn "cupsd will fail the next time. To fix this, please run once as root" + ewarn " killall cupsd ; /etc/init.d/cupsd zap ; /etc/init.d/cupsd start" + echo + break + fi + done + + for v in ${REPLACING_VERSIONS}; do + echo + elog "For information about installing a printer and general cups setup" + elog "take a look at: https://wiki.gentoo.org/wiki/Printing" + echo + break + done +} + +pkg_postrm() { + # Update desktop file database and gtk icon cache (bug 370059) + gnome2_icon_cache_update + xdg_desktop_database_update +} diff --git a/net-print/cups/cups-2.2.11.ebuild b/net-print/cups/cups-2.2.9.ebuild index 21a9257329db..b5fcaa92de95 100644 --- a/net-print/cups/cups-2.2.11.ebuild +++ b/net-print/cups/cups-2.2.9.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit autotools flag-o-matic linux-info xdg multilib-minimal pam python-single-r1 user java-pkg-opt-2 systemd toolchain-funcs +inherit autotools eapi7-ver gnome2-utils flag-o-matic linux-info xdg-utils multilib multilib-minimal pam python-single-r1 user java-pkg-opt-2 systemd toolchain-funcs MY_P="${P/_rc/rc}" MY_P="${MY_P/_beta/b}" @@ -54,8 +54,7 @@ CDEPEND=" zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] ) " -DEPEND="${CDEPEND}" -BDEPEND=" +DEPEND="${CDEPEND} >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] " @@ -233,11 +232,11 @@ multilib_src_install_all() { dodoc {CHANGES,CREDITS,README}.md # move the default config file to docs - dodoc "${ED}"/etc/cups/cupsd.conf.default - rm -f "${ED}"/etc/cups/cupsd.conf.default + dodoc "${ED%/}"/etc/cups/cupsd.conf.default + rm -f "${ED%/}"/etc/cups/cupsd.conf.default # clean out cups init scripts - rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups} + rm -rf "${ED%/}"/etc/{init.d/cups,rc*,pam.d/cups} # install our init script local neededservices @@ -257,16 +256,16 @@ multilib_src_install_all() { # correct path sed -i \ -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \ - "${ED}"/etc/xinetd.d/cups-lpd || die + "${ED%/}"/etc/xinetd.d/cups-lpd || die # it is safer to disable this by default, bug #137130 - grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \ - { sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; } + grep -w 'disable' "${ED%/}"/etc/xinetd.d/cups-lpd || \ + { sed -i -e "s:}:\tdisable = yes\n}:" "${ED%/}"/etc/xinetd.d/cups-lpd || die ; } # write permission for file owner (root), bug #296221 fperms u+w /etc/xinetd.d/cups-lpd || die "fperms failed" else # always configure with --with-xinetd= and clean up later, # bug #525604 - rm -rf "${ED}"/etc/xinetd.d + rm -rf "${ED%/}"/etc/xinetd.d fi keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \ @@ -275,25 +274,25 @@ multilib_src_install_all() { keepdir /etc/cups/{interfaces,ppd,ssl} if ! use X ; then - rm -r "${ED}"/usr/share/applications || die + rm -r "${ED%/}"/usr/share/applications || die fi # create /etc/cups/client.conf, bug #196967 and #266678 - echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf + echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED%/}"/etc/cups/client.conf # the following file is now provided by cups-filters: - rm -r "${ED}"/usr/share/cups/banners || die + rm -r "${ED%/}"/usr/share/cups/banners || die # the following are created by the init script - rm -r "${ED}"/var/cache/cups || die - rm -r "${ED}"/run || die + rm -r "${ED%/}"/var/cache/cups || die + rm -r "${ED%/}"/run || die # for the special case of running lprng and cups together, bug 467226 if use lprng-compat ; then - rm -fv "${ED}"/usr/bin/{lp*,cancel} - rm -fv "${ED}"/usr/sbin/lp* - rm -fv "${ED}"/usr/share/man/man1/{lp*,cancel*} - rm -fv "${ED}"/usr/share/man/man8/lp* + rm -fv "${ED%/}"/usr/bin/{lp*,cancel} + rm -fv "${ED%/}"/usr/sbin/lp* + rm -fv "${ED%/}"/usr/share/man/man1/{lp*,cancel*} + rm -fv "${ED%/}"/usr/share/man/man8/lp* ewarn "Not installing lp... binaries, since the lprng-compat useflag is set." ewarn "Unless you plan to install an exotic server setup, you most likely" ewarn "do not want this. Disable the useflag then and all will be fine." @@ -301,12 +300,13 @@ multilib_src_install_all() { } pkg_preinst() { - xdg_pkg_preinst + gnome2_icon_savelist } pkg_postinst() { # Update desktop file database and gtk icon cache (bug 370059) - xdg_pkg_postinst + gnome2_icon_cache_update + xdg_desktop_database_update local v @@ -332,5 +332,6 @@ pkg_postinst() { pkg_postrm() { # Update desktop file database and gtk icon cache (bug 370059) - xdg_pkg_postrm + gnome2_icon_cache_update + xdg_desktop_database_update } diff --git a/net-print/cups/cups-2.3_beta7.ebuild b/net-print/cups/cups-2.3_beta6.ebuild index 1a22a0b0ae79..4801eaf8b9a0 100644 --- a/net-print/cups/cups-2.3_beta7.ebuild +++ b/net-print/cups/cups-2.3_beta6.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit autotools flag-o-matic linux-info xdg multilib-minimal pam user systemd toolchain-funcs +inherit autotools eapi7-ver gnome2-utils flag-o-matic linux-info xdg-utils multilib multilib-minimal pam user systemd toolchain-funcs MY_PV="${PV/_rc/rc}" MY_PV="${MY_PV/_beta/b}" @@ -53,8 +53,7 @@ CDEPEND=" zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] ) " -DEPEND="${CDEPEND}" -BDEPEND=" +DEPEND="${CDEPEND} >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] " @@ -78,6 +77,7 @@ PATCHES=( "${FILESDIR}/${PN}-1.4.4-nostrip.patch" "${FILESDIR}/${PN}-2.0.2-rename-systemd-service-files.patch" "${FILESDIR}/${PN}-2.0.1-xinetd-installation-fix.patch" + "${FILESDIR}/${P}-usage_argument_fix.patch" ) MULTILIB_CHOST_TOOLS=( @@ -227,11 +227,11 @@ multilib_src_install_all() { dodoc {CHANGES,CREDITS,README}.md # move the default config file to docs - dodoc "${ED}"/etc/cups/cupsd.conf.default - rm -f "${ED}"/etc/cups/cupsd.conf.default + dodoc "${ED%/}"/etc/cups/cupsd.conf.default + rm -f "${ED%/}"/etc/cups/cupsd.conf.default # clean out cups init scripts - rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups} + rm -rf "${ED%/}"/etc/{init.d/cups,rc*,pam.d/cups} # install our init script local neededservices @@ -251,16 +251,16 @@ multilib_src_install_all() { # correct path sed -i \ -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \ - "${ED}"/etc/xinetd.d/cups-lpd || die + "${ED%/}"/etc/xinetd.d/cups-lpd || die # it is safer to disable this by default, bug #137130 - grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \ - { sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; } + grep -w 'disable' "${ED%/}"/etc/xinetd.d/cups-lpd || \ + { sed -i -e "s:}:\tdisable = yes\n}:" "${ED%/}"/etc/xinetd.d/cups-lpd || die ; } # write permission for file owner (root), bug #296221 fperms u+w /etc/xinetd.d/cups-lpd || die "fperms failed" else # always configure with --with-xinetd= and clean up later, # bug #525604 - rm -rf "${ED}"/etc/xinetd.d + rm -rf "${ED%/}"/etc/xinetd.d fi keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \ @@ -269,25 +269,25 @@ multilib_src_install_all() { keepdir /etc/cups/{interfaces,ppd,ssl} if ! use X ; then - rm -r "${ED}"/usr/share/applications || die + rm -r "${ED%/}"/usr/share/applications || die fi # create /etc/cups/client.conf, bug #196967 and #266678 - echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf + echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED%/}"/etc/cups/client.conf # the following file is now provided by cups-filters: - rm -r "${ED}"/usr/share/cups/banners || die + rm -r "${ED%/}"/usr/share/cups/banners || die # the following are created by the init script - rm -r "${ED}"/var/cache/cups || die - rm -r "${ED}"/run || die + rm -r "${ED%/}"/var/cache/cups || die + rm -r "${ED%/}"/run || die # for the special case of running lprng and cups together, bug 467226 if use lprng-compat ; then - rm -fv "${ED}"/usr/bin/{lp*,cancel} - rm -fv "${ED}"/usr/sbin/lp* - rm -fv "${ED}"/usr/share/man/man1/{lp*,cancel*} - rm -fv "${ED}"/usr/share/man/man8/lp* + rm -fv "${ED%/}"/usr/bin/{lp*,cancel} + rm -fv "${ED%/}"/usr/sbin/lp* + rm -fv "${ED%/}"/usr/share/man/man1/{lp*,cancel*} + rm -fv "${ED%/}"/usr/share/man/man8/lp* ewarn "Not installing lp... binaries, since the lprng-compat useflag is set." ewarn "Unless you plan to install an exotic server setup, you most likely" ewarn "do not want this. Disable the useflag then and all will be fine." @@ -295,12 +295,13 @@ multilib_src_install_all() { } pkg_preinst() { - xdg_pkg_preinst + gnome2_icon_savelist } pkg_postinst() { # Update desktop file database and gtk icon cache (bug 370059) - xdg_pkg_postinst + gnome2_icon_cache_update + xdg_desktop_database_update local v @@ -326,5 +327,6 @@ pkg_postinst() { pkg_postrm() { # Update desktop file database and gtk icon cache (bug 370059) - xdg_pkg_postrm + gnome2_icon_cache_update + xdg_desktop_database_update } diff --git a/net-print/cups/cups-9999.ebuild b/net-print/cups/cups-9999.ebuild index 1a22a0b0ae79..608055933fa8 100644 --- a/net-print/cups/cups-9999.ebuild +++ b/net-print/cups/cups-9999.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit autotools flag-o-matic linux-info xdg multilib-minimal pam user systemd toolchain-funcs +inherit autotools eapi7-ver gnome2-utils flag-o-matic linux-info xdg-utils multilib multilib-minimal pam user systemd toolchain-funcs MY_PV="${PV/_rc/rc}" MY_PV="${MY_PV/_beta/b}" @@ -53,8 +53,7 @@ CDEPEND=" zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] ) " -DEPEND="${CDEPEND}" -BDEPEND=" +DEPEND="${CDEPEND} >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] " @@ -227,11 +226,11 @@ multilib_src_install_all() { dodoc {CHANGES,CREDITS,README}.md # move the default config file to docs - dodoc "${ED}"/etc/cups/cupsd.conf.default - rm -f "${ED}"/etc/cups/cupsd.conf.default + dodoc "${ED%/}"/etc/cups/cupsd.conf.default + rm -f "${ED%/}"/etc/cups/cupsd.conf.default # clean out cups init scripts - rm -rf "${ED}"/etc/{init.d/cups,rc*,pam.d/cups} + rm -rf "${ED%/}"/etc/{init.d/cups,rc*,pam.d/cups} # install our init script local neededservices @@ -251,16 +250,16 @@ multilib_src_install_all() { # correct path sed -i \ -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \ - "${ED}"/etc/xinetd.d/cups-lpd || die + "${ED%/}"/etc/xinetd.d/cups-lpd || die # it is safer to disable this by default, bug #137130 - grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \ - { sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; } + grep -w 'disable' "${ED%/}"/etc/xinetd.d/cups-lpd || \ + { sed -i -e "s:}:\tdisable = yes\n}:" "${ED%/}"/etc/xinetd.d/cups-lpd || die ; } # write permission for file owner (root), bug #296221 fperms u+w /etc/xinetd.d/cups-lpd || die "fperms failed" else # always configure with --with-xinetd= and clean up later, # bug #525604 - rm -rf "${ED}"/etc/xinetd.d + rm -rf "${ED%/}"/etc/xinetd.d fi keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} \ @@ -269,25 +268,25 @@ multilib_src_install_all() { keepdir /etc/cups/{interfaces,ppd,ssl} if ! use X ; then - rm -r "${ED}"/usr/share/applications || die + rm -r "${ED%/}"/usr/share/applications || die fi # create /etc/cups/client.conf, bug #196967 and #266678 - echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf + echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED%/}"/etc/cups/client.conf # the following file is now provided by cups-filters: - rm -r "${ED}"/usr/share/cups/banners || die + rm -r "${ED%/}"/usr/share/cups/banners || die # the following are created by the init script - rm -r "${ED}"/var/cache/cups || die - rm -r "${ED}"/run || die + rm -r "${ED%/}"/var/cache/cups || die + rm -r "${ED%/}"/run || die # for the special case of running lprng and cups together, bug 467226 if use lprng-compat ; then - rm -fv "${ED}"/usr/bin/{lp*,cancel} - rm -fv "${ED}"/usr/sbin/lp* - rm -fv "${ED}"/usr/share/man/man1/{lp*,cancel*} - rm -fv "${ED}"/usr/share/man/man8/lp* + rm -fv "${ED%/}"/usr/bin/{lp*,cancel} + rm -fv "${ED%/}"/usr/sbin/lp* + rm -fv "${ED%/}"/usr/share/man/man1/{lp*,cancel*} + rm -fv "${ED%/}"/usr/share/man/man8/lp* ewarn "Not installing lp... binaries, since the lprng-compat useflag is set." ewarn "Unless you plan to install an exotic server setup, you most likely" ewarn "do not want this. Disable the useflag then and all will be fine." @@ -295,12 +294,13 @@ multilib_src_install_all() { } pkg_preinst() { - xdg_pkg_preinst + gnome2_icon_savelist } pkg_postinst() { # Update desktop file database and gtk icon cache (bug 370059) - xdg_pkg_postinst + gnome2_icon_cache_update + xdg_desktop_database_update local v @@ -326,5 +326,6 @@ pkg_postinst() { pkg_postrm() { # Update desktop file database and gtk icon cache (bug 370059) - xdg_pkg_postrm + gnome2_icon_cache_update + xdg_desktop_database_update } diff --git a/net-print/cups/files/cups-2.2.8-validation_fixes.patch b/net-print/cups/files/cups-2.2.8-validation_fixes.patch new file mode 100644 index 000000000000..4eee2274b94b --- /dev/null +++ b/net-print/cups/files/cups-2.2.8-validation_fixes.patch @@ -0,0 +1,69 @@ +From 18545a5e7ab478b187a0d7136ee19496ae32fc9b Mon Sep 17 00:00:00 2001 +From: Michael R Sweet <michael.r.sweet@gmail.com> +Date: Mon, 11 Jun 2018 09:37:55 -0400 +Subject: [PATCH] Fix regressions in ippValidateAttribute (Issue #5322, Issue + #5330) + +diff --git a/cups/ipp.c b/cups/ipp.c +index 9346b201f..d6e39d5d8 100644 +--- a/cups/ipp.c ++++ b/cups/ipp.c +@@ -5101,16 +5101,19 @@ ippValidateAttribute( + break; + } + +- if (*ptr < ' ' || *ptr == 0x7f) +- { +- ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad text value \"%s\" - bad control character (PWG 5100.14 section 8.3)."), attr->name, attr->values[i].string.text); +- return (0); +- } +- else if (*ptr) +- { +- ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."), attr->name, attr->values[i].string.text); +- return (0); +- } ++ if (*ptr) ++ { ++ if (*ptr < ' ' || *ptr == 0x7f) ++ { ++ ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad text value \"%s\" - bad control character (PWG 5100.14 section 8.3)."), attr->name, attr->values[i].string.text); ++ return (0); ++ } ++ else ++ { ++ ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad text value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.2)."), attr->name, attr->values[i].string.text); ++ return (0); ++ } ++ } + + if ((ptr - attr->values[i].string.text) > (IPP_MAX_TEXT - 1)) + { +@@ -5163,16 +5166,19 @@ ippValidateAttribute( + break; + } + +- if (*ptr < ' ' || *ptr == 0x7f) +- { +- ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad name value \"%s\" - bad control character (PWG 5100.14 section 8.1)."), attr->name, attr->values[i].string.text); +- return (0); +- } +- else if (*ptr) ++ if (*ptr) + { +- ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."), attr->name, attr->values[i].string.text); +- return (0); +- } ++ if (*ptr < ' ' || *ptr == 0x7f) ++ { ++ ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad name value \"%s\" - bad control character (PWG 5100.14 section 8.1)."), attr->name, attr->values[i].string.text); ++ return (0); ++ } ++ else ++ { ++ ipp_set_error(IPP_STATUS_ERROR_BAD_REQUEST, _("\"%s\": Bad name value \"%s\" - bad UTF-8 sequence (RFC 8011 section 5.1.3)."), attr->name, attr->values[i].string.text); ++ return (0); ++ } ++ } + + if ((ptr - attr->values[i].string.text) > (IPP_MAX_NAME - 1)) + { diff --git a/net-print/cups/files/cups-2.3_beta6-usage_argument_fix.patch b/net-print/cups/files/cups-2.3_beta6-usage_argument_fix.patch new file mode 100644 index 000000000000..d77a5bba28ea --- /dev/null +++ b/net-print/cups/files/cups-2.3_beta6-usage_argument_fix.patch @@ -0,0 +1,243 @@ +From 065632e2095bcb32f15a370633e60d6a6a3dd78e Mon Sep 17 00:00:00 2001 +From: Michael R Sweet <michael.r.sweet@gmail.com> +Date: Sat, 8 Dec 2018 08:12:52 -0500 +Subject: [PATCH] Fix compile errors - not sure why these didn't show up + before... + +--- + cups/adminutil.c | 197 ----------------------------------------------- + scheduler/main.c | 2 +- + 2 files changed, 1 insertion(+), 198 deletions(-) + +diff --git a/cups/adminutil.c b/cups/adminutil.c +index 5ecada44c..1a5067f1b 100644 +--- a/cups/adminutil.c ++++ b/cups/adminutil.c +@@ -32,12 +32,6 @@ static http_status_t get_cupsd_conf(http_t *http, _cups_globals_t *cg, + time_t last_update, char *name, + size_t namelen, int *remote); + static void invalidate_cupsd_cache(_cups_globals_t *cg); +-static void write_option(cups_file_t *dstfp, int order, +- const char *name, const char *text, +- const char *attrname, +- ipp_attribute_t *suppattr, +- ipp_attribute_t *defattr, int defval, +- int valcount); + + + /* +@@ -1330,88 +1324,6 @@ cupsAdminSetServerSettings( + } + + +-/* +- * 'do_samba_command()' - Do a SAMBA command. +- */ +- +-static int /* O - Status of command */ +-do_samba_command(const char *command, /* I - Command to run */ +- const char *address, /* I - Address for command */ +- const char *subcmd, /* I - Sub-command */ +- const char *authfile, /* I - Samba authentication file */ +- FILE *logfile) /* I - Optional log file */ +-{ +-#ifdef _WIN32 +- return (1); /* Always fail on Windows... */ +- +-#else +- int status; /* Status of command */ +- int pid; /* Process ID of child */ +- +- +- if (logfile) +- _cupsLangPrintf(logfile, +- _("Running command: %s %s -N -A %s -c \'%s\'"), +- command, address, authfile, subcmd); +- +- if ((pid = fork()) == 0) +- { +- /* +- * Child goes here, redirect stdin/out/err and execute the command... +- */ +- +- int fd = open("/dev/null", O_RDONLY); +- +- if (fd > 0) +- { +- dup2(fd, 0); +- close(fd); +- } +- +- if (logfile) +- dup2(fileno(logfile), 1); +- else if ((fd = open("/dev/null", O_WRONLY)) > 1) +- { +- dup2(fd, 1); +- close(fd); +- } +- +- dup2(1, 2); +- +- execlp(command, command, address, "-N", "-A", authfile, "-c", subcmd, +- (char *)0); +- exit(errno); +- } +- else if (pid < 0) +- { +- status = -1; +- +- if (logfile) +- _cupsLangPrintf(logfile, _("Unable to run \"%s\": %s"), +- command, strerror(errno)); +- } +- else +- { +- /* +- * Wait for the process to complete... +- */ +- +- while (wait(&status) != pid); +- } +- +- if (logfile) +- _cupsLangPuts(logfile, ""); +- +- DEBUG_printf(("9do_samba_command: status=%d", status)); +- +- if (WIFEXITED(status)) +- return (WEXITSTATUS(status)); +- else +- return (-WTERMSIG(status)); +-#endif /* _WIN32 */ +-} +- +- + /* + * 'get_cupsd_conf()' - Get the current cupsd.conf file. + */ +@@ -1527,112 +1439,3 @@ invalidate_cupsd_cache( + cg->cupsd_num_settings = 0; + cg->cupsd_settings = NULL; + } +- +- +-/* +- * 'write_option()' - Write a CUPS option to a PPD file. +- */ +- +-static void +-write_option(cups_file_t *dstfp, /* I - PPD file */ +- int order, /* I - Order dependency */ +- const char *name, /* I - Option name */ +- const char *text, /* I - Option text */ +- const char *attrname, /* I - Attribute name */ +- ipp_attribute_t *suppattr, /* I - IPP -supported attribute */ +- ipp_attribute_t *defattr, /* I - IPP -default attribute */ +- int defval, /* I - Default value number */ +- int valcount) /* I - Number of values */ +-{ +- int i; /* Looping var */ +- +- +- cupsFilePrintf(dstfp, "*JCLOpenUI *%s/%s: PickOne\n" +- "*OrderDependency: %d JCLSetup *%s\n", +- name, text, order, name); +- +- if (defattr->value_tag == IPP_TAG_INTEGER) +- { +- /* +- * Do numeric options with a range or list... +- */ +- +- cupsFilePrintf(dstfp, "*Default%s: %d\n", name, +- defattr->values[defval].integer); +- +- if (suppattr->value_tag == IPP_TAG_RANGE) +- { +- /* +- * List each number in the range... +- */ +- +- for (i = suppattr->values[0].range.lower; +- i <= suppattr->values[0].range.upper; +- i ++) +- { +- cupsFilePrintf(dstfp, "*%s %d: \"", name, i); +- +- if (valcount == 1) +- cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%d\n\"\n*End\n", +- attrname, i); +- else if (defval == 0) +- cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%d\"\n", attrname, i); +- else if (defval < (valcount - 1)) +- cupsFilePrintf(dstfp, ",%d\"\n", i); +- else +- cupsFilePrintf(dstfp, ",%d\n\"\n*End\n", i); +- } +- } +- else +- { +- /* +- * List explicit numbers... +- */ +- +- for (i = 0; i < suppattr->num_values; i ++) +- { +- cupsFilePrintf(dstfp, "*%s %d: \"", name, suppattr->values[i].integer); +- +- if (valcount == 1) +- cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%d\n\"\n*End\n", attrname, +- suppattr->values[i].integer); +- else if (defval == 0) +- cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%d\"\n", attrname, +- suppattr->values[i].integer); +- else if (defval < (valcount - 1)) +- cupsFilePrintf(dstfp, ",%d\"\n", suppattr->values[i].integer); +- else +- cupsFilePrintf(dstfp, ",%d\n\"\n*End\n", suppattr->values[i].integer); +- } +- } +- } +- else +- { +- /* +- * Do text options with a list... +- */ +- +- cupsFilePrintf(dstfp, "*Default%s: %s\n", name, +- defattr->values[defval].string.text); +- +- for (i = 0; i < suppattr->num_values; i ++) +- { +- cupsFilePrintf(dstfp, "*%s %s: \"", name, +- suppattr->values[i].string.text); +- +- if (valcount == 1) +- cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%s\n\"\n*End\n", attrname, +- suppattr->values[i].string.text); +- else if (defval == 0) +- cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%s\"\n", attrname, +- suppattr->values[i].string.text); +- else if (defval < (valcount - 1)) +- cupsFilePrintf(dstfp, ",%s\"\n", suppattr->values[i].string.text); +- else +- cupsFilePrintf(dstfp, ",%s\n\"\n*End\n", +- suppattr->values[i].string.text); +- } +- } +- +- cupsFilePrintf(dstfp, "*JCLCloseUI: *%s\n\n", name); +-} +diff --git a/scheduler/main.c b/scheduler/main.c +index ce7df89c0..5b00efae2 100644 +--- a/scheduler/main.c ++++ b/scheduler/main.c +@@ -155,7 +155,7 @@ main(int argc, /* I - Number of command-line args */ + for (i = 1; i < argc; i ++) + { + if (!strcmp(argv[i], "--help")) +- usage(); ++ usage(0); + else if (argv[i][0] == '-') + { + for (opt = argv[i] + 1; *opt != '\0'; opt ++) |