mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.2 KiB

  1. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  2. #
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. # Please add additional copyright information _after_ the line containing
  5. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  6. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  7. #
  8. # ROCK Linux: rock-src/package/import/cpan/cpan.conf
  9. # ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
  10. #
  11. # This program is free software; you can redistribute it and/or modify
  12. # it under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; either version 2 of the License, or
  14. # (at your option) any later version. A copy of the GNU General Public
  15. # License can be found at Documentation/COPYING.
  16. #
  17. # Many people helped and are helping developing ROCK Linux. Please
  18. # have a look at http://www.rocklinux.org/ and the Documentation/TEAM
  19. # file for details.
  20. #
  21. # --- ROCK-COPYRIGHT-NOTE-END ---
  22. cpanmod=""
  23. # see if this is a hosted package
  24. . $confdir/hosted_cpan.sel
  25. if [ -z "$cpanmod" -a "$ROCK_BUILD_TARGET" != 1 ]
  26. then
  27. cpan_getsrc() {
  28. echo_status "Fetching $cpanbase/$cpanloc."
  29. mkdir -p $builddir/archdir
  30. if ! wget -q -O $builddir/archdir/cpansrc.tar.gz $cpanbase/$cpanloc; then
  31. echo_error "Downloading $cpanbase/$cpanloc failed!"
  32. exit 1
  33. fi
  34. }
  35. srctar=cpansrc.tar.gz
  36. taropt="--use-compress-program=gzip -xf"
  37. hook_add prepare 2 cpan_getsrc
  38. pdetails=$base/download/mirror/0/02packages.details.txt.bz2
  39. cpanbase=http://www.cpan.org/modules/by-authors/id
  40. read cpanmod cpanver cpanloc < <(
  41. bzip2 -d < $pdetails | perl -le '
  42. my $xpkg = "'"$xpkg"'";
  43. $xpkg =~ s/^cpan-//;
  44. while (<>) {
  45. chomp;
  46. last if $_ =~ /^\s*$/;
  47. }
  48. while (<>) {
  49. my ($mod, $ver, $loc) = split /\s+/;
  50. my $xmod = $mod;
  51. $xmod =~ y/A-Z/a-z/;
  52. $xmod =~ s/::/-/g;
  53. next unless $xmod eq $xpkg;
  54. print "$mod $ver $loc";
  55. }
  56. ')
  57. echo_status "MOD=$cpanmod VER=$cpanver LOC=$cpanloc"
  58. fi
  59. if [ -z "$cpanmod" ]; then
  60. echo_error "Can't resolve cpan module name for $xpkg!"
  61. exit 1
  62. fi
  63. cpan_getdesc() {
  64. desc_I= desc_T= desc_A=
  65. if [ -n "$cpanbase" ]; then
  66. desc_D="X $cpanbase/$cpanloc"
  67. fi
  68. parse_desc <( bash $confdir/getdesc.sh $1 )
  69. }
  70. hook_add postinstall 8 "cpan_getdesc $cpanmod"