summaryrefslogtreecommitdiffstats
path: root/perl-install
Commit message (Expand)AuthorAgeFilesLines
...
* draknet : success message only if successdamien2002-01-172-9/+12
* update send mail.Sebastien Dupont2002-01-161-8/+20
* *** empty log message ***Pascal Rigaux2002-01-161-0/+32
* fix cancel on scsi module loadingPascal Rigaux2002-01-161-2/+6
* don't drop default_packages in "Base system only"Pascal Rigaux2002-01-161-1/+0
* installUpdates: use formatAlaTeXGuillaume Cottenceau2002-01-161-2/+2
* add locking to ensure things are in a proper statePascal Rigaux2002-01-161-7/+13
* advertising engine ameliorationdamien2002-01-151-7/+9
* automatic icon placement in icon_labels_widgetdamien2002-01-151-14/+55
* *** empty log message ***Pascal Rigaux2002-01-151-0/+149
* encrypted filesystem handling:Pascal Rigaux2002-01-156-68/+62
* have ddcxinfos take the best result of every runPascal Rigaux2002-01-151-5/+10
* updateddamien2002-01-151-5/+5
* new ./drakbackup --show-confSebastien Dupont2002-01-151-2/+5
* fix progress bar problem.Sebastien Dupont2002-01-151-4/+4
* some gi updates:Sebastien Dupont2002-01-151-45/+48
* fix daemon problem (media to use).Sebastien Dupont2002-01-151-32/+53
* man pages fr created.Sebastien Dupont2002-01-151-90/+67
* fix typo (making auto installs working again)Pascal Rigaux2002-01-141-1/+1
* have lbreakout weigthed 4 instead of 2Guillaume Cottenceau2002-01-141-2/+2
* - eata is SCSI adapter, not 'disk' adapterGuillaume Cottenceau2002-01-141-4/+4
* some updates ...Sebastien Dupont2002-01-131-35/+37
* cleanupPascal Rigaux2002-01-131-1/+1
* s/lbreakout/lbreakout2/Pascal Rigaux2002-01-131-1/+1
* in "more option" steps user could choose to receive a report by mail for each...Sebastien Dupont2002-01-131-8/+44
* ftp backup work.Sebastien Dupont2002-01-131-317/+48
* advertising engine works !damien2002-01-111-6/+10
* update header pixmaps.Sebastien Dupont2002-01-111-20/+5
* update header pixmaps.Sebastien Dupont2002-01-111-1/+1
* updated Spanish file; merged help-* filesPablo Saratxaga2002-01-113-652/+658
* new icons placementdamien2002-01-111-10/+32
* new advertising enginedamien2002-01-111-24/+17
* modifications for new avertising enginedamien2002-01-111-0/+3
* domainname corectiondamien2002-01-102-2/+5
* corrected network domainname pbdamien2002-01-101-1/+1
* english taste inspired by daminette.Francois Pons2002-01-101-1/+1
* corrected read_resolv => read_confdamien2002-01-101-1/+1
* big merge from update 8.1 with cvsdamien2002-01-096-64/+95
* corrected fpons typodamien2002-01-091-1/+1
* added bold option in text creation. Some correctionsdamien2002-01-091-3/+5
* *** empty log message ***Pascal Rigaux2002-01-091-0/+15
* *** empty log message ***Pascal Rigaux2002-01-091-0/+34
* fix incomplete prefix for update mirror when adding an entry for urpmi.Francois Pons2002-01-091-1/+1
* added rpmvercmp.Francois Pons2002-01-091-0/+2
* use rpm version comparison function.Francois Pons2002-01-091-8/+10
* avoid asking for minimal install for upgrade.Francois Pons2002-01-091-2/+2
* fixed too many package selected for No X or With X option of minimal installa...Francois Pons2002-01-091-10/+15
* fixed stupid.Francois Pons2002-01-091-1/+1
* drakbackup work ...Sebastien Dupont2002-01-081-8/+30
* cosmetikdamien2002-01-081-1/+2
> { timeout => 10 * 60 }); eval { local $SIG{ALRM} = sub { die "ALARM" }; my $remaining = $options->{timeout} && $options->{timeout} ne 'never' && alarm($options->{timeout}); waitpid $pid, 0; $ok = $? == -1 || ($? >> 8) == 0; alarm $remaining; }; if ($@) { log::l("ERROR: killing runaway process (process=$real_name, pid=$pid, args=@args, error=$@)"); kill 9, $pid; return; } if ($stdout_raw && ref($stdout_raw)) { if (ref($stdout_raw) eq 'ARRAY') { @$stdout_raw = cat_($stdout); } else { $$stdout_raw = cat_($stdout); } unlink $stdout; } if ($stderr_raw && ref($stderr_raw)) { if (ref($stderr_raw) eq 'ARRAY') { @$stderr_raw = cat_($stderr); } else { $$stderr_raw = cat_($stderr); } unlink $stderr; } $ok; } } else { if ($options->{setuid}) { require POSIX; POSIX::setuid($options->{set_uid}); } sub die_exit { log::l($_[0]); c::_exit(128); } if ($stderr && $stderr eq 'STDERR') { } elsif ($stderr) { $stderr_mode =~ s/2//; open STDERR, "$stderr_mode $stderr" or die_exit("run_program can not output in $stderr (mode `$stderr_mode')"); } elsif ($::isInstall) { open STDERR, ">> /tmp/ddebug.log" or open STDOUT, ">> /dev/tty7" or die_exit("run_program can not log, give me access to /tmp/ddebug.log"); } if ($stdout && $stdout eq 'STDOUT') { } elsif ($stdout) { open STDOUT, "$stdout_mode $stdout" or die_exit("run_program can not output in $stdout (mode `$stdout_mode')"); } elsif ($::isInstall) { open STDOUT, ">> /tmp/ddebug.log" or open STDOUT, ">> /dev/tty7" or die_exit("run_program can not log, give me access to /tmp/ddebug.log"); } $root and chroot $root; chdir($options->{chdir} || "/"); my $ok = ref $name ? do { exec { $name->[0] } $name->[1], @args; } : do { exec $name, @args; }; if (!$ok) { die_exit("exec of $real_name failed: $!"); } } } # run in background a sub that give back data through STDOUT a la run_program::get_stdout but w/ arbitrary perl code instead of external program package bg_command; sub new { my ($class, $sub) = @_; my $o = bless {}, $class; if ($o->{pid} = open(my $fd, "-|")) { $o->{fd} = $fd; $o; } else { $sub->(); c::_exit(0); } } sub DESTROY { my ($o) = @_; close $o->{fd} or warn "kid exited $?"; waitpid $o->{pid}, 0; } 1; #- Local Variables: #- mode:cperl #- tab-width:8 #- End: