- Timestamp:
- Dec 22, 2011, 4:14:40 AM (13 years ago)
- Location:
- devel
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb-modules/etc/pb.conf
r1367 r1374 551 551 ossha fedora-9 = sha1 552 552 ossha fedora-10 = sha1 553 554 # 555 # CPAN upload info (info from cpanupload) 556 # 557 cpanpause default = pause.perl.org 558 cpandir default = incoming 559 cpansubdir default = 560 cpanurl default = http://pause.perl.org/pause/authenquery 561 #cpanuser default = XXX 562 #cpanpasswd default = YYY -
devel/pb-modules/etc/pb.conf.pod
r1367 r1374 22 22 23 23 =over 4 24 25 =item B<cpandir> 26 27 Nature: Optional 28 Key: project (as defined in the -p option or PBPROJ environment variable) 29 Value: CPAN Pause directory to upload new modules 30 Conffile: pb 31 Example: cpandir default = incoming 32 33 =item B<cpanpasswd> 34 35 Nature: Optional 36 Key: project (as defined in the -p option or PBPROJ environment variable) 37 Value: CPAN Pause user's password 38 Conffile: home 39 Example: cpanpasswd default = mycomplicatedpwd 40 41 =item B<cpanpause> 42 43 Nature: Optional 44 Key: project (as defined in the -p option or PBPROJ environment variable) 45 Value: CPAN Pause site to upload new modules 46 Conffile: pb 47 Example: cpanpause default = pause.perl.org 48 49 =item B<cpansubdir> 50 51 Nature: Optional 52 Key: project (as defined in the -p option or PBPROJ environment variable) 53 Value: CPAN Pause subdirectory in the user's area to upload into 54 Conffile: pb 55 Example: cpansubdir default = mydir 56 57 =item B<cpanurl> 58 59 Nature: Optional 60 Key: project (as defined in the -p option or PBPROJ environment variable) 61 Value: CPAN Pause URL to activate the upload mecanism 62 Conffile: pb 63 Example: cpanurl default = http://pause.perl.org/pause/authenquery 64 65 =item B<cpanuser> 66 67 Nature: Optional 68 Key: project (as defined in the -p option or PBPROJ environment variable) 69 Value: CPAN Pause user 70 Conffile: home 71 Example: cpanuser default = XXX 24 72 25 73 =item B<defpkgdir> -
devel/pb/bin/pb
r1367 r1374 1556 1556 sub pb_build2ssh { 1557 1557 pb_send2target("Sources"); 1558 pb_send2target("CPAN"); 1558 1559 } 1559 1560 … … 1607 1608 $dir = "websshdir"; 1608 1609 $port = "websshport"; 1610 } elsif ($cmt eq "CPAN") { 1611 $host = "cpanpause"; 1612 $login = ""; 1613 $dir = "cpandir"; 1614 $port = ""; 1609 1615 } 1610 1616 my $cmd = ""; 1611 1617 my $src = ""; 1618 my $cpanpkg = 0; 1612 1619 my $pbos; 1613 1620 … … 1642 1649 $src = "$src $ENV{'PBDESTDIR'}/$pbpkg-$pbver.tar.gz" 1643 1650 } 1651 1652 # Do we have one perl package 1653 my @nametype = pb_conf_get_if("namingtype"); 1654 my $type = $nametype[0]->{$pbpkg}; 1655 if ((defined $type) && ($type eq "perl")) { 1656 $cpanpkg = 1; 1657 } 1644 1658 } 1645 1659 # Adds conf file for availability of conf elements 1646 1660 pb_conf_add("$ENV{'PBROOTDIR'}/$ENV{'PBPROJ'}.pb"); 1661 } 1662 my ($rbsconf,$testver,$delivery) = pb_conf_get_if($conf,"testver","delivery"); 1663 if ($cmt =~ /CPAN/) { 1664 # Do not deliver on Pause if this is a test version 1665 return if ($testver =~ /true/); 1666 # Do not deliver on Pause if this is not a perl package 1667 return if ($cpanpkg == 0); 1647 1668 } 1648 1669 … … 1653 1674 } elsif ($cmt =~ /(V[EM]|RM)test/) { 1654 1675 $src="$src $ENV{'PBROOTDIR'}/$ENV{'PBPROJ'}.pb $ENV{'PBDESTDIR'}/$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.pb $ENV{'PBETC'} $ENV{'PBDESTDIR'}/pbrc $ENV{'PBDESTDIR'}/pbscript.$$ $ENV{'PBDESTDIR'}/pbtest"; 1655 } elsif (($cmt eq "Announce") || ($cmt eq "Web") ) {1676 } elsif (($cmt eq "Announce") || ($cmt eq "Web") || ($cmt eq "CPAN")) { 1656 1677 $src="$src $ENV{'PBTMP'}/pbscript"; 1657 1678 } elsif ($cmt eq "Packages") { … … 1663 1684 $src = "$src $ENV{'PBBUILDDIR'}/pbscript.$$"; 1664 1685 } 1665 if (($cmt eq "Sources") || ($cmt eq "Packages") ) {1686 if (($cmt eq "Sources") || ($cmt eq "Packages") || ($cmt eq "CPAN")) { 1666 1687 my ($pbpackager) = pb_conf_get("pbpackager"); 1667 1688 $ENV{'PBPACKAGER'} = $pbpackager->{$ENV{'PBPROJ'}}; … … 1683 1704 my ($sshhost,$sshlogin,$sshdir,$sshport) = pb_conf_get($host,$login,$dir,$port); 1684 1705 # Not mandatory... 1685 my ($rbsconf,$testver,$delivery) = pb_conf_get_if($conf,"testver","delivery");1686 1706 $delivery->{$ENV{'PBPROJ'}} = "" if (not defined $delivery->{$ENV{'PBPROJ'}}); 1687 1707 my ($vtmout,$vepath); … … 1719 1739 if (($cmt eq "Sources") || ($cmt =~ /(V[EM]|RM)Script/)) { 1720 1740 $tdir = "$remdir/$delivery->{$ENV{'PBPROJ'}}/src"; 1741 } elsif ($cmt eq "CPAN") { 1742 $tdir = "$remdir"; 1721 1743 } elsif ($cmt =~ /(V[EM]|RM)(build|test)/) { 1722 1744 $tdir = $remdir."/$ENV{'PBPROJ'}/delivery"; … … 1938 1960 } 1939 1961 1940 # ssh communication if not VE 1962 # ssh communication if not VE or CPAN 1941 1963 # should use a hash instead... 1942 1964 my ($shcmd,$cpcmd,$cptarget,$cp2target); 1943 if ($cmt !~ /^VE/) { 1944 my $keyfile = pb_ssh_get(0); 1945 $shcmd = "ssh -i $keyfile -q -o UserKnownHostsFile=/dev/null -p $nport $mac"; 1946 $cpcmd = "scp -i $keyfile -p -o UserKnownHostsFile=/dev/null -P $nport"; 1947 $cptarget = "$mac:$tdir"; 1948 if ($cmt =~ /^(V|R)Mbuild/) { 1949 $cp2target = "$mac:$bdir"; 1950 } 1951 } else { 1965 if ($cmt =~ /^VE/) { 1952 1966 my $tp = $vepath->{$ENV{'PBPROJ'}}; 1953 1967 my $tpdir = "$tp/$pbos->{'name'}/$pbos->{'version'}/$pbos->{'arch'}"; … … 1974 1988 } 1975 1989 pb_log(2,"On VE using $cptarget as target dir to copy to\n"); 1976 } 1977 1990 } elsif ($cmt =~ /^CPAN/) { 1991 my $ftpput = ps_check_req("ncftpput",1); 1992 my $ftpget = ps_check_req("wget",1); 1993 my ($cpanuser,$cpanpasswd) = pb_conf_get("cpanuser","cpanpasswd"); 1994 my ($cpansubdir) = pb_conf_get_if("cpansubdir"); 1995 $shcmd = "$ftpget --post-data \'HIDDENNAME=".$cpanuser; 1996 $shcmd .= "&user=".$cpanuser; 1997 $shcmd .= "&password=".$cpanpasswd; 1998 $shcmd .= "&SUBMIT_pause99_add_uri_upload=\"Upload the checked files\""; 1999 $shcmd .= "&pause99_add_uri_subdirtext=".$cpansubdir if (defined $cpansubdir); 2000 foreach my $s (split(/ /,$src)) { 2001 $shcmd .= "&pause99_add_uri_upload=".basename($s); 2002 } 2003 $shcmd .= "'"; 2004 $cpcmd = "$ftpput $host $dir"; 2005 $cptarget = "CPAN"; 2006 } else { 2007 my $keyfile = pb_ssh_get(0); 2008 my $sshcmd = ps_check_req("ssh",1); 2009 my $scpcmd = ps_check_req("scp",1); 2010 $shcmd = "$sshcmd -i $keyfile -q -o UserKnownHostsFile=/dev/null -p $nport $mac"; 2011 $cpcmd = "$scpcmd -i $keyfile -p -o UserKnownHostsFile=/dev/null -P $nport"; 2012 $cptarget = "$mac:$tdir"; 2013 if ($cmt =~ /^(V|R)Mbuild/) { 2014 $cp2target = "$mac:$bdir"; 2015 } 2016 } 2017 1978 2018 my $logres = ""; 1979 2019 # Do not touch when just announcing 1980 if ( $cmt ne "Announce") {2020 if (($cmt ne "Announce") && ($cmt ne "CPAN")) { 1981 2021 pb_system("$shcmd \"mkdir -p $tdir ; cd $tdir ; echo \'for i in $basesrc; do if [ -f \$i ]; then rm -f \$i; fi; done\ ; $cmd' | bash\"","Preparing $tdir on $cptarget"); 1982 2022 } else { … … 1998 2038 } 1999 2039 2000 pb_system("$shcmd \"echo \'cd $tdir ; if [ -x $pbscript ]; then ./$pbscript; fi ; rm -f ./$pbscript\' | bash\"","Executing pbscript on $cptarget if needed","verbose"); 2040 # It's already ready for CPAN 2041 if ($cmt !~ /^CPAN/) { 2042 $shcmd .= "\"echo \'cd $tdir ; if [ -x $pbscript ]; then ./$pbscript; fi ; rm -f ./$pbscript\' | bash\""; 2043 } 2044 pb_system("$shcmd","Executing pbscript on $cptarget if needed","verbose"); 2001 2045 if ($cmt =~ /^(V[EM]|RM)build/) { 2002 2046 # Get back info on pkg produced, compute their name and get them from the VM/RM
Note:
See TracChangeset
for help on using the changeset viewer.