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:
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):
%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.
The ignore.d solution seems to be ok; if not, reopen.