⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 update_sources

📁 php-4.4.7学习linux时下载的源代码
💻
字号:
#! /usr/bin/perl -w# Maybe I should have used PHP instead?  ;)use strict;$| = 1;-f "libmysql.c" or die "$0 must be run from the libmysql directory\n";my $command = shift || usage();$command =~ /^--(?:update|huh|restore)$/ or usage();my $from = shift || '/my/mysql';my @source_dirs = qw/dbug strings mysys libmysql include/;my $source_re = qr/\.(?:cc?|h)$/;my %skip = (  'ctype_autoconf.c' => 1,              # PHP uses a pre-made one  'ctype_extra_sources.c' => 1,         # same here  'my_config.h' => 1,                   # we use php_config.h);opendir D, "."	or die "can't opendir .: $!\n";my @files = grep { /$source_re/ and !$skip{$_} } readdir D;closedir D;if ($command eq '--restore'){  foreach (@files)  {    -f "$_.orig" and        system("mv -f $_.orig $_") and die "can't restore $_: $!\n";  }  exit 0;}if ($command eq '--huh'){  diff_files();  exit 0;}my %sources;foreach my $d (@source_dirs){  opendir D, "$from/$d" or die "opendir $from/$d: $!\n";  foreach (grep { /$source_re/ } readdir D)  {    $sources{$_} ||= "$d/$_";  }  closedir D;}foreach my $f (@files){  my $s = $sources{$f} or die "can't find source file for $f\n";  unlink "$f.orig";  system("mv $f $f.orig") and die "can't move $f: $!\n";  #print ">>  ", scalar(`ls -l $from/$s`), "\n";  print ">>  $s\n";  system("cp $from/$s $f") and die "can't copy $from/$s: $!\n";  #print "]]  ", scalar(`ls -l $f`), "\n";}system("chmod u+w @files") and die "can't set perms on files: $!\n";system("./fix_copyright @files") and die "can't fix copyright: $!\n";diff_files();exit 0;sub usage{  die <<"EOF";usage: $0 --update [mysql-source-dir]       $0 --huh       $0 --restore    Typical use is:        \$ $0 --update 2>&1 > /tmp/php-update.diff        \$ @{[$ENV{EDITOR}||'vi']} /tmp/php-update.diff      #does it look okay?	\$ Monkey around a bit	\$ cvs diff -u | less		# does this look okay?        \$ rm *.origEOF}sub diff_files {  foreach my $f (@files)  {    if (!-f "$f.orig" or !system("diff -u $f.orig $f"))    {      print STDERR "SAME: $f\n";      unlink "$f.orig";    }    else    {      print STDERR "DIFF: $f\n";      $f eq 'config-win.h' and	print STDERR "/n/nDon't forget to undefine HAVE_COMPRESS in $f/n/n/n";    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -