On Friday 18 December 2009 03:54:53 pm Adam Jackson wrote: > On Fri, 2009-12-18 at 20:26 +0000, Richard W.M. Jones wrote: > > For libguestfs [RHBZ#547496] I want to add some extra 'Requires' > > dependencies by running a shell script over a particular file that > > gets generated during the build. > > > > What's the best way, or a way, to do this? > > It's... not easy. You want to overload the %__find_provides macro to > invoke your script as well as the standard script for things like > library sonames. I used something like this: #%_use_internal_dependency_generator 0 #%__find_requires /home/sgrubb/bin/find-requires and then ran a shell script that had this piece in it where $1 was a file suspected of being a bash script by running the file command. Since people have a habit of using a script name and not its full path, it uses which to resolve the full path. This might be better done using the full rpm database that yum operates off of. Anyways...this was the core of it: # Then check its requirements cmds=`/bin/bash --rpm-requires "$1" | sort | uniq | tr '()' ' ' | awk '{ print $2 }'` for c in $cmds do tgt=`which $c 2>/dev/null` if [ x"$tgt" = x ] ; then echo "$c cannot be resolved" 1>&2 continue fi tmp_r="`rpm -qf $tgt`" if [ $? -eq 0 -a $RPM -eq 1 ] ; then # Only use good results for rpms r="$r\n$tmp_r" else r="$r\n$tgt" fi done echo -e $r | sort | uniq exit 0 -Steve -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list