]> git.pld-linux.org Git - packages/rpm.git/blame - rpm-find-provides-wrapper
- ugh, fixed %%
[packages/rpm.git] / rpm-find-provides-wrapper
CommitLineData
0b3acdf9 1#!/bin/sh
0b3acdf9
JB
2
3# _noauto* wrapper for builtin rpm Provides generator
4# requires: /bin/sh, /usr/bin/rpmdeps, coreutils, findutils
5# input (stdin): filenames (one per line)
6# output (stdout): Provides list (one per line)
7
8# note that no large list is stored in shell variable - this was VERY slow
9
10ulimit -c 0
11
0ad25a07
JB
12PERLOPT="--define=__perl_provides /bin/true"
13PHPOPT="--define=__php_provides /bin/true"
0b3acdf9 14noprovfiles=''
0ad25a07
JB
15noprov=''
16buildroot=''
17while [ $# -gt 0 ]; do
18 case "$1" in
19 --with-perl)
20 PERLOPT=""
21 ;;
22 --with-php)
23 PHPOPT=""
24 ;;
25 --buildroot=*)
26 buildroot="${1#--buildroot=}"
27 ;;
28 --noautoprovfiles=*)
29 for i in ${1#--noautoprovfiles=} ; do
30 noprovfiles="${noprovfiles}\|${buildroot}${i}"
31 done
32 ;;
33 --noautoprov=*)
34 for i in ${1#--noautoprov=} ; do
35 noprov="${noprov}\|${i}"
36 done
37 esac
38 shift
39done
40
0b3acdf9
JB
41if [ -r /etc/rpm/noautoprovfiles ]; then
42 for i in `cat /etc/rpm/noautoprovfiles | grep -v '^#'`; do
0ad25a07 43 noprovfiles="${noprovfiles}\|${buildroot}${i}"
0b3acdf9
JB
44 done
45fi
46
0b3acdf9
JB
47if [ -r /etc/rpm/noautoprov ]; then
48 for i in `cat /etc/rpm/noautoprov | grep -v '^#'`; do
49 noprov="${noprov}\|${i}"
50 done
51fi
52
53# rpmdeps output seems sorted, but resort it in case of long list split
54grep -v -e "^\(${noprovfiles}\)\$" | tr '\n' '\0' | \
0ad25a07
JB
55 xargs -r -0 /usr/bin/rpmdeps "${PERLOPT}" "${PHPOPT}" --provides | \
56 LC_ALL=C sort -u | grep -v -e "^\(${noprov}\)\$"
0b3acdf9
JB
57
58exit 0
This page took 0.029995 seconds and 4 git commands to generate.