aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* 5.61-1r5-61Bill Nottingham2001-02-021-0/+34
|
* 5.60-1r5-60Bill Nottingham2001-01-301-0/+113
|
* 5.59-1Bill Nottingham2001-01-241-0/+6
|
* 5.58-1r5-58Bill Nottingham2001-01-241-3/+24
|
* 5.57-1r5-57Bill Nottingham2001-01-231-0/+14
|
* 5.57-1Bill Nottingham2001-01-231-0/+30
|
* 5.55-1Bill Nottingham2001-01-221-0/+147
|
* 5.54Bill Nottingham2001-01-111-0/+10
|
* *** empty log message ***Bill Nottingham2001-01-021-0/+24
|
* 5.53-1Bill Nottingham2000-12-121-3/+68
|
* fix the adding default route if GATEWAY" = "0.0.0.0Than Ngo2000-10-311-0/+4
|
* *** empty log message ***Bill Nottingham2000-10-171-0/+28
|
* patch from tim: eat messages from display managersBill Nottingham2000-10-021-0/+4
|
* *** empty log message ***r5-48Bill Nottingham2000-08-221-3/+20
|
* * Add KDE2 supportr5-47Than Ngo2000-08-221-0/+3
|
* *** empty log message ***r5-46Bill Nottingham2000-08-181-0/+10
|
* *** empty log message ***r5-45Bill Nottingham2000-08-171-0/+41
|
* bump to 5.44Bill Nottingham2000-08-091-0/+52
|
* *** empty log message ***r5-40Bill Nottingham2000-08-071-530/+1199
|
* *** empty log message ***Bill Nottingham2000-08-061-0/+37
|
* *** empty log message ***r5-39Bill Nottingham2000-07-261-0/+15
|
* *** empty log message ***Bill Nottingham2000-07-251-0/+80
|
* revertBill Nottingham2000-07-241-7/+0
|
* /etc/init.d -> /etc/rc.d/init.dr5-36Bernhard Rosenkraenzer2000-07-241-0/+7
|
* bump revision to 5.32Bill Nottingham2000-07-131-0/+23
|
* bump release to 5.31, implement rc.d disappearance with RPM Magicr5-31Bill Nottingham2000-07-111-0/+31
|
* release 5.29Bill Nottingham2000-07-071-0/+10
|
* *** empty log message ***r5-28Bill Nottingham2000-07-061-0/+4
|
* *** empty log message ***r5-27Bill Nottingham2000-07-031-3/+0
|
* *** empty log message ***r5-26Bill Nottingham2000-07-031-3/+30
|
* *** empty log message ***r5-21Bill Nottingham2000-06-271-0/+6
|
* *** empty log message ***Bill Nottingham2000-06-271-0/+18
|
* *** empty log message ***Bill Nottingham2000-06-151-0/+5
|
* *** empty log message ***r5-17Bill Nottingham2000-06-131-0/+14
|
* *** empty log message ***Bill Nottingham2000-06-101-0/+21
|
* *** empty log message ***Bill Nottingham2000-06-011-0/+3
|
* don't add host routes for local interfacesBill Nottingham2000-06-011-0/+3
|
* *** empty log message ***Bill Nottingham2000-06-011-2/+34
|
* *** empty log message ***Bill Nottingham2000-05-061-0/+10
|
* *** empty log message ***r5-11Bill Nottingham2000-05-011-0/+5
|
* *** empty log message ***Bill Nottingham2000-04-291-0/+10
|
* *** empty log message ***r5-10Bill Nottingham2000-04-191-0/+6
|
* *** empty log message ***Bill Nottingham2000-04-191-0/+11
|
* *** empty log message ***r5-09Bill Nottingham2000-04-131-0/+2
|
* *** empty log message ***Bill Nottingham2000-04-131-0/+4
|
* *** empty log message ***r5-08Bill Nottingham2000-04-121-0/+5
|
* *** empty log message ***r5-07Bill Nottingham2000-04-101-12/+13
|
* fix overwrite problem of resolv.conf on ippp/ppp/slip connectionsThan Ngo2000-04-041-0/+5
|
* *** empty log message ***r5-06Bill Nottingham2000-04-031-0/+12
|
* *** empty log message ***Bill Nottingham2000-04-031-0/+18
|
pan class="hl opt">; } sub formatXiB { my ($newnb, $o_newbase) = @_; my $newbase = $o_newbase || 1; my ($nb, $base); my $decr = sub { ($nb, $base) = ($newnb, $newbase); $base >= 1024 ? ($newbase = $base / 1024) : ($newnb = $nb / 1024); }; foreach ('', N("KB"), N("MB"), N("GB")) { $decr->(); if ($newnb < 1 && $newnb * $newbase < 1) { my $v = $nb * $base; my $s = $v < 10 && int(10 * $v - 10 * int($v)); return int($v) . ($s ? ".$s" : '') . $_; } } int($newnb * $newbase) . N("TB"); } sub formatTime { my ($s, $m, $h) = gmtime($_[0]); if ($h) { sprintf "%02d:%02d", $h, $m; } elsif ($m > 1) { N("%d minutes", $m); } elsif ($m == 1) { N("1 minute"); } else { N("%d seconds", $s); } } sub expand_symlinks_but_simple { my ($f) = @_; my $link = readlink($f); my $f2 = expand_symlinks($f); if ($link && $link !~ m|/|) { # put back the last simple symlink $f2 =~ s|\Q$link\E$|basename($f)|e; } $f2; } sub sync { &MDK::Common::System::sync } BEGIN { undef *formatError } sub formatError { my ($err) = @_; ref($err) eq 'SCALAR' and $err = $$err; log::l("error: $err"); &MDK::Common::String::formatError($err); } # Group the list by n. Returns a reference of lists of length n sub group_n_lm { my $n = shift; my @l; push @l, [ splice(@_, 0, $n) ] while @_; @l; } sub join_lines { my @l; my $s; foreach (@_) { if (/^\s/) { $s .= $_; } else { push @l, $s if $s; $s = $_; } } @l, if_($s, $s); } sub set_alternative { my ($command, $executable) = @_; #- check the existance of $executable as an alternative for $command #- (is this needed???) run_program::rooted_get_stdout($::prefix, 'update-alternatives', '--display', $command) =~ /^\Q$executable /m or return; #- this does not handle relative symlink, but neither does update-alternatives ;p symlinkf $executable, "$::prefix/etc/alternatives/$command"; } sub files_exist { and_(map { -f "$::prefix$_" } @_) } sub secured_file { my ($f) = @_; c::is_secure_file($f) or die "can not ensure a safe $f"; $f; } sub set_permissions { my ($file, $perms, $o_owner, $o_group) = @_; # We only need to set the permissions during installation to be able to # print test pages. After installation the devfsd daemon does the business # automatically. return 1 unless $::isInstall; if ($o_owner && $o_group) { run_program::rooted($::prefix, "/bin/chown", "$o_owner.$o_group", $file) or die "Could not start chown!"; } elsif ($o_owner) { run_program::rooted($::prefix, "/bin/chown", $o_owner, $file) or die "Could not start chown!"; } elsif ($o_group) { run_program::rooted($::prefix, "/bin/chgrp", $o_group, $file) or die "Could not start chgrp!"; } run_program::rooted($::prefix, "/bin/chmod", $perms, $file) or die "Could not start chmod!"; } sub release_file { my ($o_dir) = @_; find { -r "$o_dir$_" } map { "/etc/$_" } 'mandrakelinux-release', 'mandrake-release', 'release', 'redhat-release'; } sub mandrake_release { my ($o_dir) = @_; my $f = release_file($o_dir); $f && chomp_(cat_("$o_dir$f")); } sub require_root_capability() { return if $::testing || !$>; # we're already root if (check_for_xserver()) { if (fuzzy_pidofs(qr/\bkwin\b/) > 0) { exec("kdesu", "--ignorebutton", "-c", "$0 @ARGV") or die N("kdesu missing"); } } exec { 'consolehelper' } $0, @ARGV or die N("consolehelper missing"); # still not root ? die "you must be root to run this program" if $>; } sub check_for_xserver() { if (!defined $::xtest) { $::xtest = 0; eval { require xf86misc::main; $::xtest = xf86misc::main::Xtest($ENV{DISPLAY}); } if $ENV{DISPLAY}; } return $::xtest; } sub is_xbox() { require detect_devices; any { $_->{vendor} == 0x10de && $_->{id} == 0x02a5 } detect_devices::pci_probe(); } #- special unpack #- - returning an array refs for each element like "s10" #- - handling things like s10* at the end of the format sub unpack_with_refs { my ($format, $s) = @_; my $initial_format = $format; my @r; while ($format =~ s/\s*(\w(\d*))(\*?)\s*//) { my ($sub_format, $nb, $many) = ($1, $2, $3); $many && $format and internal_error("bad * in the middle of format in $initial_format"); my $done = $many && !length($s); while (!$done) { my @l = unpack("$sub_format a*", $s); $s = pop @l; push @r, $nb ? \@l : @l; $done = !$many || !length($s); } } @r; } 1;