On Tue, 2016-04-19 at 16:05 -0400, Colin Walters wrote: > On Tue, Apr 19, 2016, at 03:30 PM, Pavel Odvody wrote: > > > > Hello, > > > > this is a reimplementation of the Feaders[0] project written in > > Rust. > > In short, Feaders is an application that can scan your C/C++ > > project > > for #include directives and figure out which package from > > distribution > > provides the included headers. > I would instead scan the build system metadata such as configure.ac > and the like. > Those tend to reference e.g. pkg-config files, which in turn are > already > Provides: of the relevant -devel package. > > https://fedoraproject.org/wiki/PackagingDrafts/PkgConfigBuildRequires >
That is on my radar, but from experience, people tend to #include *much* more than they put into CMakeList.txt or configure.ac -- even libhif itself doesn't list librepo, GObject, GObjectIntrospection and others in CMakeList.txt (or there's no version checks) and you just need to jump back and forth to figure out what is actually needed when you're working with some minimal build environment like Docker base image. > To do this really right, you need to take as input the configure > arguments, > so e.g. if --disable-selinux is provided, you don't require > selinux. This > matters most when doing cross builds or self-hosted system > bootstrapping. > > Also, to make this all work if you think about it, you need to go > to generating spec files after scanning the upstream source code > (which > IMO is indeed the right way to do things). My use-case for this is to get stuff working in a container, for projects that don't have well-defined build systems, say you want to install some Python package that includes a bunch of .c and .h files. The good thing is that scanning just the #include statements gives you exhaustive list of everything that might be needed so you can get it working fast and bisect as needed. > _______________________________________________ > Rpm-ecosystem mailing list > [email protected] > http://lists.rpm.org/mailman/listinfo/rpm-ecosystem -- Pavel Odvody <[email protected]> Sr. Software Engineer - EMEA ENG Developer Experience 5EC1 95C1 8E08 5BD9 9BBF 9241 3AFA 3A66 024F F68D Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Rpm-ecosystem mailing list [email protected] http://lists.rpm.org/mailman/listinfo/rpm-ecosystem
