From a3ac89871102bb2697e2b38a637826d33f80add9 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 8 Sep 2014 16:42:13 +0200 Subject: convert "perlapi" deps to internal generator --- Makefile.am | 4 ++++ NEWS | 1 + find-provides.in | 17 ----------------- find-requires.in | 16 ---------------- perlapi.attr | 3 +++ perlapi.prov | 14 ++++++++++++++ perlapi.req | 15 +++++++++++++++ perlapi_base.attr | 3 +++ 8 files changed, 40 insertions(+), 33 deletions(-) create mode 100644 perlapi.attr create mode 100755 perlapi.prov create mode 100755 perlapi.req create mode 100644 perlapi_base.attr diff --git a/Makefile.am b/Makefile.am index 9fb85d5..c5231a2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -35,6 +35,8 @@ pkg_scripts = \ magic.prov \ magic.req \ kmod.prov \ + perlapi.prov \ + perlapi.req \ perl_base.req \ perl.prov \ perl.req \ @@ -49,6 +51,8 @@ pkg_gscripts = \ pkg_scripts_in = $(pkg_gscripts:=.in) pkg_attr_defs = \ + perlapi_base.attr \ + perlapi.attr \ perl_base.attr php.attr diff --git a/NEWS b/NEWS index e7eb3c0..1150e53 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,4 @@ +- convert "perlapi" deps to internal generator - convert perl-base deps to internal generator - convert PHP deps to internal generator - drop gstreamer/haskell/ruby/typelib deps generators diff --git a/find-provides.in b/find-provides.in index b03c952..4402573 100755 --- a/find-provides.in +++ b/find-provides.in @@ -8,23 +8,6 @@ filelist=`sed "s/['\"]/\\\&/g"` # fix parsing output of objdump when localized (mga#7883): export LC_ALL=C -# -# --- If libperl.so is found in buildroot, we provide perlapi- -if [ -n "`echo $filelist | grep -e '/CORE/libperl\.so'`" ]; then - for i in $filelist; do - if [ -n "`echo $i | grep -e '/CORE/libperl\.so\$'`" ]; then - perlpath=$i - version=${i/CORE*/} - version=$(echo $version| sed -e 's!/$!!' -e 's!/[^/]*$!!' -e 's!.*/!!') - minor=$(echo $version| sed -e 's!^.*\.!!') - major=$(echo $version| sed -e 's!\.[0-9]*$!!') - if [ -n "$version" ] && [ -n "$minor" ]; then - for i in $(seq 0 $minor); do echo "perlapi-$major.$i"; done - fi - fi - done -fi - # # --- Kernel modules. [ -x @RPMVENDORDIR@/kmod.prov ] && diff --git a/find-requires.in b/find-requires.in index 377389b..5f3335f 100755 --- a/find-requires.in +++ b/find-requires.in @@ -40,22 +40,6 @@ fi # filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"` -# -# --- If libperl.so exists and if XS modules are found, depend on perlapi- and libperl.so -if [ -n "$perllist" ]; then - if perl -V:useshrplib | grep -q true ; then - if echo $perllist | grep -q `perl -MConfig -e 'print $Config{archname}'` ; then - version=`perl -MConfig -e 'print $Config{version}'` - echo perlapi-$version - - f=`perl -MConfig -e 'print $Config{archlib}'`/CORE/libperl.so - lib64=`if file -L $f 2>/dev/null | \ - grep "ELF 64-bit" >/dev/null; then echo "()$mark64"; fi` - echo libperl.so$lib64 - fi - fi -fi - [ -x /usr/lib/rpm/rpmdeps -a -n "$filelist" ] && \ echo $filelist | tr '[:blank:]' \\n | /usr/lib/rpm/rpmdeps --requires diff --git a/perlapi.attr b/perlapi.attr new file mode 100644 index 0000000..34fe519 --- /dev/null +++ b/perlapi.attr @@ -0,0 +1,3 @@ +# --- If libperl.so exists and if XS modules are found, depend on perlapi- and libperl.so +%__perlapi_requires %{_rpmconfigdir}/mageia/perlapi.req +%__perlapi_magic Perl script|Perl5 module source diff --git a/perlapi.prov b/perlapi.prov new file mode 100755 index 0000000..a82d1b9 --- /dev/null +++ b/perlapi.prov @@ -0,0 +1,14 @@ +#!/bin/sh +# --- If libperl.so is found in buildroot, we provide perlapi- +while read instfile ; do + perlpath=$instfile + version=${instfile/CORE*/} + version=$(echo $version| sed -e 's!/$!!' -e 's!/[^/]*$!!' -e 's!.*/!!') + minor=$(echo $version| sed -e 's!^.*\.!!') + major=$(echo $version| sed -e 's!\.[0-9]*$!!') + if [ -n "$version" ] && [ -n "$minor" ]; then + for i in $(seq 0 $minor); do echo "perlapi-$major.$i"; done + fi +done + + diff --git a/perlapi.req b/perlapi.req new file mode 100755 index 0000000..507f74b --- /dev/null +++ b/perlapi.req @@ -0,0 +1,15 @@ +#!/bin/sh +# --- If libperl.so exists and if XS modules are found, depend on perlapi- and libperl.so +while read instfile ; do + if perl -V:useshrplib | grep -q true ; then + if echo $instfile | grep -q `perl -MConfig -e 'print $Config{archname}'` ; then + version=`perl -MConfig -e 'print $Config{version}'` + echo perlapi-$version + + f=`perl -MConfig -e 'print $Config{archlib}'`/CORE/libperl.so + lib64=`if file -L $f 2>/dev/null | \ + grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi` + echo libperl.so$lib64 + fi + fi +done diff --git a/perlapi_base.attr b/perlapi_base.attr new file mode 100644 index 0000000..de7fd62 --- /dev/null +++ b/perlapi_base.attr @@ -0,0 +1,3 @@ +# --- If libperl.so is found in buildroot, we provide perlapi- +%__perlapi_base_provides %{_rpmconfigdir}/mageia/perlapi.prov +%__perlapi_base_path /CORE/libperl\.so -- cgit v1.2.1