Changeset 1652 in ProjectBuilder for devel/pb


Ignore:
Timestamp:
Oct 7, 2012, 7:54:06 PM (12 years ago)
Author:
Bruno Cornec
Message:
  • As Red Hat 6.2 in chroot doesn't support setarch i386 for a x86_64 environment, we have to fake x86_64 rpm build in /etc/rpmrc
  • Red Hat 6.2 builds with the rpm command, not rpmbuild
  • Red Hat 6.2 sudo doesn't support the env_keep var, remove it
File:
1 edited

Legend:

Unmodified
Added
Removed
  • devel/pb/bin/pb

    r1651 r1652  
    14771477            # Older Redhat use _target_platform in %configure incorrectly
    14781478            my $specialdef = "";
    1479             if (($pbos->{'name'} eq "redhat") || (($pbos->{'name'} eq "rhel") && ($pbos->{'version'} eq "2.1"))) {
     1479            if (($pbos->{'name'} eq "rhel") && ($pbos->{'version'} eq "2.1")) {
    14801480                $specialdef = "--define \'_target_platform \"\"\'";
     1481            }
     1482            my $buildcmd = "rpmbuild";
     1483            if (($pbos->{'name'} eq "redhat") && ($pbos->{'version'} =~ /^6/)){
     1484                $buildcmd = "rpm" ;
    14811485            }
    14821486
     
    14851489                    # This could cause an issue in // mode
    14861490                    pb_distro_installdeps($f,$pbos);
    1487                     pb_system("rpmbuild $specialdef --define \"packager $ENV{'PBPACKAGER'}\" --define \"_topdir $ENV{'PBBUILDDIR'}\" -ba $f","Building package with $f under $ENV{'PBBUILDDIR'}","verbose");
     1491                    pb_system("$buildcmd $specialdef --define \"packager $ENV{'PBPACKAGER'}\" --define \"_topdir $ENV{'PBBUILDDIR'}\" -ba $f","Building package with $f under $ENV{'PBBUILDDIR'}","verbose");
    14881492                    last;
    14891493                }
     
    23432347    if ($cmt =~ /^VE/) {
    23442348        my $res = pb_system("$shcmdroot sed -i '/requiretty/d' /etc/sudoers","Removing potential requiretty in sudoers","quiet");
    2345         pb_system("$shcmdroot sed '/requiretty/d' /etc/sudoers > /tmp/sudoers.new ; mv /tmp/sudoers.new $tpdir/tmp/sudoers.new ; $shcmdroot mv /tmp/sudoers.new /etc/sudoers","Removing again potential requiretty in sudoers as sed -i failed") if (($res ne 0) && (-f "$tpdir/etc/sudoers"));
     2349        pb_system("$shcmdroot sed '/requiretty/d' /etc/sudoers > /tmp/sudoers.new ; mv /tmp/sudoers.new $tpdir/tmp/sudoers.new ; $shcmdroot mv /tmp/sudoers.new /etc/sudoers ; $shcmdroot chown root:root /etc/sudoers ; $shcmdroot chmod 440 /etc/sudoers","Removing again potential requiretty in sudoers as sed -i failed") if (($res ne 0) && (-f "$tpdir/etc/sudoers"));
    23462350        pb_system("$shcmd \"sudo $chowncommand -R $mac $tdir\"","Adapt owner in $tdir to $mac");
    23472351    }
     
    23692373        pb_system("$cpcmd $cp2target/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}-$pbos->{'name'}-$pbos->{'version'}-$pbos->{'arch'} $ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$ 2> /dev/null","Get package names in $cp2target");
    23702374        if (not -f "$ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$") {
    2371             pb_log(0,"ERROR with VM/RM $v on getting $ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$");
     2375            pb_log(0,"ERROR with VM/RM $v on getting $ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$\n");
    23722376        } else {
    23732377            open(KEEP,"$ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$") || die "Unable to read $ENV{'PBBUILDDIR'}/pbgen-$ENV{'PBPROJVER'}-$ENV{'PBPROJTAG'}.$$";
     
    24662470    # in $ENV{'PBDESTDIR'}/pbscript.$$
    24672471    if ((defined $pbscript ) && ($pbscript ne "$ENV{'PBDESTDIR'}/pbscript.$$")) {
    2468         copy($pbscript,"$ENV{'PBDESTDIR'}/pbscript.$$") || die "Unable to create $ENV{'PBDESTDIR'}/pbscript.$$";
     2472        copy($pbscript,"$ENV{'PBDESTDIR'}/pbscript.$$") || die "Unable to create $ENV{'PBDESTDIR'}/pbscript.$$ from $pbscript";
    24692473        chmod 0755,"$ENV{'PBDESTDIR'}/pbscript.$$";
    24702474    }
     
    27632767    if ($action eq "build") {
    27642768        print SCRIPT "# Preparation for pb\n";
     2769        print SCRIPT "rm -f \$HOME/.pbrc\n";
    27652770        print SCRIPT "mv .pbrc \$HOME\n";
    27662771        print SCRIPT "cd ..\n";
     
    32993304print PBOUT "Defaults:$pbac->{$ENV{'PBPROJ'}} !requiretty\n";
    33003305print PBOUT "Defaults:root !requiretty\n";
     3306EOF
     3307    # RH 6.2 sudo doesn't support env_keep
     3308    if (($pbos->{'name'} ne "redhat") && ($pbos->{'version'} ne "6.2")) {
     3309        print SCRIPT << "EOF";
    33013310# Keep proxy configuration while using sudo
    33023311print PBOUT "Defaults:$pbac->{$ENV{'PBPROJ'}}    env_keep += \\\"http_proxy ftp_proxy\\\"\n";
    33033312print PBOUT "Defaults:root    env_keep += \\\"http_proxy ftp_proxy\\\"\n";
    33043313EOF
     3314    }
    33053315    # Try to restrict security to what is really needed
    33063316    if ($vtype =~ /^vm/) {
Note: See TracChangeset for help on using the changeset viewer.