I have an old ebuild, for m2300w. It used to work with foomatic-filters, which is now deprecated and unmaintained. So I tried to switch to cups-filters[foomatic] - which breaks it because it cannot find foomatic-rip. However, the manpage is there. So what's happening? Is foomatic-rip gone? If so, why does the manpage stay behind? Reproducible: Always Steps to Reproduce: 1. emerge cups-filters[Foomatic] 2. look for foomatic-rip Actual Results: file not found Expected Results: the file should be there, the man page is there too.
what's the output of equery belongs foomatic-rip where is the m2300w ebuild from?
# equery b foomatic-rip * Searching for foomatic-rip ... net-print/cups-filters-1.0.43-r1 (/usr/libexec/cups/filter/foomatic-rip) Okay... So it's found... but not by the ebuild? I'll try and look for the error. The ebuild is from the sunrise overlay. It errs out with: checking for foomatic-rip... no ERROR: This driver requires foomatic-rip. Please install the 'foomatic-filters' package first. See http://www.linuxprinting.org/foomatic.html (Some distributions, e.g. SuSE, deliver foomatic-rip with CUPS) So, I looked in a backup: # cat /var/db/pkg/net-print/foomatic-filters-4.0.17/CONTENTS dir /etc dir /etc/foomatic dir /etc/foomatic/direct obj /etc/foomatic/filter.conf.sample c6f87d357f5180c968bb98bd58234291 1375821513 obj /etc/foomatic/filter.conf c6f87d357f5180c968bb98bd58234291 1375821513 dir /usr dir /usr/share dir /usr/share/man dir /usr/share/man/man1 obj /usr/share/man/man1/foomatic-rip.1.bz2 653597acc5514d5d9f96d87e8abe75c6 1375821513 dir /usr/libexec dir /usr/libexec/cups dir /usr/libexec/cups/backend obj /usr/libexec/cups/backend/beh 8ee66d4cf94f6570de9433ad03ff5c72 1375821514 dir /usr/libexec/cups/filter sym /usr/libexec/cups/filter/cupsomatic -> /usr/bin/foomatic-rip 1375821537 sym /usr/libexec/cups/filter/foomatic-rip -> /usr/bin/foomatic-rip 1375821537 dir /usr/bin obj /usr/bin/foomatic-rip 1f628ebff071c47903a4ccca5a6d874f 1375821521 sym /usr/bin/lpdomatic -> /usr/bin/foomatic-rip 1375821537 dir /usr/lib dir /usr/lib/ppr dir /usr/lib/ppr/interfaces sym /usr/lib/ppr/interfaces/foomatic-rip -> /usr/bin/foomatic-rip 1375821537 dir /usr/lib/ppr/lib sym /usr/lib/ppr/lib/foomatic-rip -> /usr/bin/foomatic-rip 1375821537 sym /usr/libexec/cups/filter/foomatic-gswrapper -> /usr/bin/foomatic-gswrapper 1375821537 What's missing is: dir /etc dir /etc/foomatic dir /etc/foomatic/direct obj /etc/foomatic/filter.conf.sample c6f87d357f5180c968bb98bd58234291 1375821513 obj /etc/foomatic/filter.conf c6f87d357f5180c968bb98bd58234291 1375821513 obj /usr/libexec/cups/backend/beh 8ee66d4cf94f6570de9433ad03ff5c72 1375821514 sym /usr/libexec/cups/filter/cupsomatic -> /usr/bin/foomatic-rip 1375821537 obj /usr/bin/foomatic-rip 1f628ebff071c47903a4ccca5a6d874f 1375821521 sym /usr/bin/lpdomatic -> /usr/bin/foomatic-rip 1375821537 dir /usr/lib/ppr dir /usr/lib/ppr/interfaces sym /usr/lib/ppr/interfaces/foomatic-rip -> /usr/bin/foomatic-rip 1375821537 dir /usr/lib/ppr/lib sym /usr/lib/ppr/lib/foomatic-rip -> /usr/bin/foomatic-rip 1375821537 sym /usr/libexec/cups/filter/foomatic-gswrapper -> /usr/bin/foomatic-gswrapper 1375821537 I am guessing what's missing is /usr/bin/foomatic-rip.
from configure.in: AC_PATH_PROG(FOOMATIC_RIP,foomatic-rip,,[/usr/bin:/bin:/usr/local/bin:/opt/bin:$PATH]) I think if you add the correct path there, it should work. Probably old foomatic installed foomatic-rip also to /usr/bin?
It looks a lot like that. Is there some special ebuild command to add /usr/libexec/cups/filter to the search path? I can't find any configure flag for this. However, I found this in configure: ac_cv_path_FOOMATIC_RIP="$FOOMATIC_RIP" # Let the user override the test with a path. So I should be able to set some environment variable? How do I do this in the ebuild?
Fixed in 1.13.3-r1 commit 2143eec4103aafa440e4fe8d5e9c646b3990db6b Author: Andreas K. Hüttel <dilfridge@gentoo.org> Date: Sat Feb 11 23:38:12 2017 +0100 net-print/cups-filters: Update live ebuild, add foomatic-rip compatibility symlink, bug 501466 Package-Manager: Portage-2.3.3, Repoman-2.3.1 net-print/cups-filters/cups-filters-1.13.3-r1.ebuild | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ net-print/cups-filters/cups-filters-9999.ebuild | 20 ++++++++++++------- 2 files changed, 147 insertions(+), 7 deletions(-)
With the new ebuild foomatic-rip is a link to itself.... after updating to 1.13.3-r1 this is the situation: lrwxrwxrwx 1 root root 37 Feb 13 13:00 /usr/bin/foomatic-rip -> /usr/libexec/cups/filter/foomatic-rip lrwxrwxrwx 1 root root 21 Feb 13 13:00 /usr/libexec/cups/filter/foomatic-rip -> /usr/bin/foomatic-rip Without the explicit dosym added in -r1 everything is fine: $ ll $(find /usr -name foomatic-rip) lrwxrwxrwx 1 root root 37 Feb 13 12:54 ./bin/foomatic-rip -> /usr/libexec/cups/filter/foomatic-rip -rwxr-xr-x 1 root root 106232 Feb 13 12:54 ./libexec/cups/filter/foomatic-rip
Here with cups-filters-1.13.3-r1 /usr/libexec/cups/filter/foomatic-rip is a link to /usr/bin/foomatic-rip, which does not exist. This broken link disables printing on my systems. It would be very good if this issue is fixed.
(In reply to Juergen Rose from comment #7) > Here with cups-filters-1.13.3-r1 /usr/libexec/cups/filter/foomatic-rip is a > link to /usr/bin/foomatic-rip, which does not exist. > > This broken link disables printing on my systems. It would be very good if > this issue is fixed. That's counterproductive, sorry. Fixing in separate bug.