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.

94 lines
2.6 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 - 2005 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. configexec=""
  24. # see if this is a hosted package
  25. . $confdir/hosted_cpan.sel
  26. if [ -z "$cpanmod" -a "$ROCK_BUILD_TARGET" != 1 ]
  27. then
  28. cpan_getsrc() {
  29. echo_status "Fetching $cpanbase/$cpanloc."
  30. mkdir -p $builddir/archdir
  31. if ! wget -q -O $builddir/archdir/cpansrc.tar.gz $cpanbase/$cpanloc; then
  32. echo_error "Downloading $cpanbase/$cpanloc failed!"
  33. exit 1
  34. fi
  35. }
  36. srctar=cpansrc.tar.gz
  37. taropt="--use-compress-program=gzip -xf"
  38. hook_add prepare 2 cpan_getsrc
  39. pdetails=$base/download/mirror/c/cpan_packages_20041221.txt.bz2
  40. cpanbase=http://www.cpan.org/modules/by-authors/id
  41. read cpanmod cpanver cpanloc < <(
  42. bzip2 -d < $pdetails | perl -le '
  43. my $xpkg = "'"$xpkg"'";
  44. $xpkg =~ s/^cpan-//;
  45. while (<>) {
  46. chomp;
  47. last if $_ =~ /^\s*$/;
  48. }
  49. while (<>) {
  50. my ($mod, $ver, $loc) = split /\s+/;
  51. my $xmod = $mod;
  52. $xmod =~ y/A-Z/a-z/;
  53. $xmod =~ s/::/-/g;
  54. next unless $xmod eq $xpkg;
  55. print "$mod $ver $loc";
  56. }
  57. ')
  58. echo_status "MOD=$cpanmod VER=$cpanver LOC=$cpanloc"
  59. fi
  60. if [ -z "$cpanmod" ]; then
  61. echo_error "Can't resolve cpan module name for $xpkg!"
  62. exit 2
  63. fi
  64. cpan_getdesc() {
  65. desc_I= desc_T= desc_A=
  66. if [ -n "$cpanbase" ]; then
  67. desc_D="X $cpanbase/$cpanloc"
  68. fi
  69. parse_desc <( bash $confdir/getdesc.sh $1 )
  70. }
  71. hook_add postinstall 8 "cpan_getdesc $cpanmod"
  72. # don't put .packlist files to package list. they
  73. # create shared files conflicts and we already have our
  74. # own package management system for this cpan packages.
  75. var_append flist''del "|" "usr/lib/perl.*/\.packlist"
  76. if [ -f $confdir/$xpkg.diff ]; then hook_add preconf 4 "patch -p1 < $confdir/$xpkg.diff"; fi
  77. if [ -f $confdir/$xpkg.conf ]; then source $confdir/$xpkg.conf; fi