Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 687424

Summary: dev-java/icedtea USE=-cups DEPENDs on net-print/cups
Product: Gentoo Linux Reporter: Alexander Weber <web.alexander>
Component: Current packagesAssignee: Andrew John Hughes <gnu_andrew>
Status: RESOLVED CANTFIX    
Severity: normal CC: gyakovlev, java, proxy-maint
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Alexander Weber 2019-06-05 09:35:54 UTC
On my server the USE="-cups" is set in make.conf. I try to install icedtea, but the ebuild forces the net-print/cups installation.

Reproducible: Always

Steps to Reproduce:
Set USE="-cups" and try to emerge icedtea package.
Actual Results:  
These are the packages that would be merged, in order:

Calculating dependencies  .. ... done!
[ebuild  N     ] net-print/cups-2.2.11::gentoo  USE="X acl dbus pam ssl threads usb -debug -java -kerberos -lprng-compat -python (-selinux) -static-libs -systemd -xinetd -zeroconf" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7" 0 KiB
[ebuild  N     ] net-print/cups-filters-1.21.6::gentoo  USE="dbus foomatic jpeg pdf png postscript tiff -ipp_autosetup -ldap -pclm -perl -static-libs -test -zeroconf" 0 KiB
[ebuild  N    ~] dev-java/icedtea-3.12.0:8::gentoo  USE="alsa gtk jbootstrap pch source system-lcms webstart (-cacao) -cups -doc -examples -headless-awt (-jamvm) -kerberos -libressl -nsplugin -pax_kernel -pulseaudio -sctp (-selinux) -shenandoah -smartcard -test -zero" 0 KiB


Expected Results:  
Icedtea should not request the cups package installation if USE="-cups" is set.
Otherwise the USE flag should be removed from icedtea package if cups cannot be optional.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2019-06-05 10:52:35 UTC
RDEPEND="...
    cups? ( ${CUPS_COMMON_DEP} )
"
DEPEND="${COMMON_DEP} ${ALSA_COMMON_DEP} ${CUPS_COMMON_DEP} ${X_COMMON_DEP} ${X_DEPEND}
Comment 2 Georgy Yakovlev archtester gentoo-dev 2019-06-05 18:01:03 UTC
this is by design unfortunately.

cups required to build. but cups may be removed at runtime as it's not required to actually run.


the only suggestion I have if you want to skip cups completely is:

preferred way:
build and remove it right after. if you disable all use flags for cups it'll pull a lot less deps. but every time you build icedtea you'll have to install it again, you can save it (along with deps) as binpkg and quickly install and remove as needed.

Hacky way:
1) modify ebuild in your overlay not to pull cups
2) download cups manually and unpack it somewhere
3) pass EXTRA_ECONF which includes options
  --with-cups             specify prefix directory for the cups package
  --with-cups-include     specify directory for the cups include files

something like:
EXTRA_ECONF=" --with-cups-include /tmp/cups/cups-x.x.x/include"


i don't know if it'll work, you can try. We can't do that in main repo.

Closing this, as nothing reasonable can be done from gentoo side. It's openjdk  build system that requires cups at build time unconditionally.
Comment 3 Alexander Weber 2019-06-05 19:23:56 UTC
I compiled the icedtea and removed cups. The next "emerge -uvatDNj world" gives me:

Calculating dependencies... done!
[nomerge       ] dev-java/icedtea-3.12.0:8::gentoo  USE="alsa gtk jbootstrap pch source system-lcms webstart (-cacao) -cups -doc -examples -headless-awt (-jamvm) -kerberos -libressl -nsplugin -pax_kernel -pulseaudio -sctp (-selinux) -shenandoah -smartcard -test -zero" 
[nomerge       ]  net-print/cups-2.2.11::gentoo  USE="X acl dbus pam ssl threads usb -debug -java -kerberos -lprng-compat -python (-selinux) -static-libs -systemd -xinetd -zeroconf" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7" 
[ebuild  N     ]   net-print/cups-filters-1.21.6::gentoo  USE="dbus foomatic jpeg pdf png postscript tiff -ipp_autosetup -ldap -pclm -perl -static-libs -test -zeroconf" 0 KiB
[ebuild   R    ]    app-text/ghostscript-gpl-9.26::gentoo  USE="X cups* dbus gtk tiff unicode -static-libs" L10N="de (-ja) -ko -zh-CN -zh-TW" 0 KiB
[ebuild  N     ]     net-print/cups-2.2.11::gentoo  USE="X acl dbus pam ssl threads usb -debug -java -kerberos -lprng-compat -python (-selinux) -static-libs -systemd -xinetd -zeroconf" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7" 0 KiB


So it is not possible to remove cups the package. Other words it is not possible to update the system anymore without the package.
Comment 4 Georgy Yakovlev archtester gentoo-dev 2019-06-05 20:37:29 UTC
try with --with-bdeps n -with-bdeps-auto n
or as alternative --exclude "cups cups-filters"

you will still need cups next time icedtea will get updated.

as alternative you can use icedtea-bin, which does not pull cups unless it's enabled.
Comment 5 Georgy Yakovlev archtester gentoo-dev 2019-06-05 20:41:13 UTC
also to pull much less overall deps with cups disable all useflags on cups and cups-filters, this will be much more manageable and will not pull X, ghostscript and many more stuff.