Other packages should be able to extend the rules that define which files are essential for detecting dependencies. For example, emacs-common package could install an additional rule saying that /etc/emacs/site-start.d/* must be ignored. Or python could install a single rule saying that /etc/emacs/site-start.d/python.el must be ignored. This would make this tool more flexible, and the maintainer of buildreq would not require to add each and other unessential file to the list. --- --- This applies to rpm-utils-0.2.3-alt1.
There is a file already used for this purposes: /etc/buildreqs/files/ignore Or maybe you mean user-defined file, for example, ~/.buildreqs/files/ignore? In the last case, should it just override system ignore file?
I mean /etc/buildreqs/files/ignore.d/ ;-) (Anyway, probably now before Master release it\'s not the right time for talking about this and impelementing it; so the long comment can be postponed.) So that every package that is responsible for some structures in the filesystem that generate \"wrong\" dependencies installs a file into this directory; this file contains an additional rule (pattern) describing the files to ignore. For example, emacs-common could install /etc/buildreqs/files/ignore.d/emacs, where it is written to ignore /etc/emacs/site-start.d/*. (Because the packager of emacs-common knows how it uses these scripts, he knows that they are not essential, but the maintainer of buildreq may have no idea about them.) Or, a more detailed variant is possible when each package installs a list of its own files which must be ignored, which must not generate a dependency on this package. In the example with Emacs, python would install the file /etc/buildreqs/files/ignore.d/python that contains \"/etc/emacs/site-start.d/python.el\". This would cause buildreq not to take \"pyhton.el\" into account when generating dependency list. The last (detailed) scheme would require a rather large amount of data to be processed by buildreq, and probably it would be better to implement it with a real (not plain text) database, or even integrate it with RPM so that a packager can write something like this in the spec file (python.spec): %files %ignore_for_buildreq %config(noreplace) /etc/emacs/site-start.d/python.el ..... and then when pyhton package is installed, the corresponding information is installed into the database for buildreq of ignored files.
/etc/buildreqs/files/ignore.d implemented in rpm-utils-0.3.0-alt1
The ignore.d solution seems to be ok; if not, reopen.