See https://build.opensuse.org/projects/Printing/packages/cups-filters/files/cups-filters.changes?expand=1 that reads (excerpt): ------------------------------------------------------------ Thu Mar 13 11:36:37 CET 2014 - jsmeix@suse.de - Added "Recommends: poppler-tools" because /usr/bin/pdftops (provided by poppler-tools) is needed (but not required for non-PostScript printers) to print PDFs on PostScript printers (bnc#868148). ------------------------------------------------------------ where 'bnc#868148' is https://bugzilla.suse.com/show_bug.cgi?id=868148 which is a non public SLES12 bug where its initial comment reads (excerpt) ------------------------------------------------------------ cups-filters RPM spec file shoud contain Recommends: poppler-tools because /usr/bin/pdftops (provided by poppler-tools) is needed to print PDFs on PostScript printers because in this case the CUPS filter chain is: /usr/lib/cups/filter/pdftopdf /usr/lib/cups/filter/pdftops where /usr/lib/cups/filter/pdftops calls /usr/bin/pdftops /usr/lib/cups/backend/... ------------------------------------------------------------ which is also shown as a comment in https://build.opensuse.org/projects/Printing/packages/cups-filters/files/cups-filters.spec?expand=1 ------------------------------------------------------------ # /usr/bin/pdftops (provided by poppler-tools) # is needed (but not required for non-PostScript printers) # to print PDFs on PostScript printers because in this case # the CUPS filter chain is: # /usr/lib/cups/filter/pdftopdf # /usr/lib/cups/filter/pdftops # where /usr/lib/cups/filter/pdftops calls /usr/bin/pdftops # /usr/lib/cups/backend/... # see https://bugzilla.novell.com/show_bug.cgi?id=868148 Recommends: poppler-tools ------------------------------------------------------------ Regarding why "Recommends: poppler-tools" instead of "Requires: poppler-tools" see https://bugzilla.opensuse.org/show_bug.cgi?id=776080#c39 (which is an issue about CUPS) which reads (excerpt) ------------------------------------------------------------ RPM Requires are hard dependencies that cannot be skipped by end-users (without having unresolved dependencies in their systems) and cups is installed on almost any system (except minimal systems) so that all RPM Requires in cups result that all those hard dependencies must be installed on practically any system. If I remember correctly the openSUSE build service installs all RPM Requires to set up the build system of a package so that all RPM Requires in cups result that all those hard dependencies must be installed in our build systems for any package that directly or indirectly BuildRequires cups. In short: Keep RPM Requires as small as possible - i.e. only what is really mandatory to let the software run - and specify all what is optional (i.e. what is not really mandatory) as RPM Recommends. ------------------------------------------------------------ For cups-filters those text would be ------------------------------------------------------------ RPM Requires are hard dependencies that cannot be skipped by end-users (without having unresolved dependencies in their systems) and cups-filters is installed on most end-user systems (i.e. all end-user systems with printing functionality) so that all RPM Requires in cups-filters result that all those hard dependencies must be installed on almost all end-user systems. ------------------------------------------------------------ When you do not have the poppler-tools package installed, you do deliberately refuse recommended packages so you have to specify on your own what you need in your particular case. You cannot have both at the same time: An automatism that also installs what is recommeneded for usual functionality and at the same time refuse what is recommeneded for usual functionality.