Changeset 1215


Ignore:
Timestamp:
Jun 30, 2009, 4:54:48 PM (12 years ago)
Author:
ezyang
Message:
Implement enhanced logic for Git-style installs; namely, removing patching facilities that are built into Git and generating an empty commit when performing the install to subsume .scripts-version.
Location:
trunk/locker/deploy/bin
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/locker/deploy/bin/mediawiki

    r476 r1215  
    55
    66setup();
    7 
    8 `cp skins/common/images/mediawiki.png skins/common/images/wiki.png`;
    9 `patch -s -p1 < /mit/scripts/deploy/mediawiki.patch`;
    107
    118print "\nPlease decide upon a title for your wiki and enter it below.\n";
  • trunk/locker/deploy/bin/onathena

    r1213 r1215  
    236236
    237237# xavid: use p to keep the same permissions as in the file
    238 if [ "$deploy" = "mediawiki" ]; then
     238repo="/mit/scripts/wizard$scriptsdev/srv/$deploy.git"
     239if [ -e "$repo" ]; then
    239240  admin=`cat .admin`
    240241  rm .admin
    241   git clone --shared "/mit/scripts/wizard$scriptsdev/srv/$deploy.git" .
     242  ls -Al
     243  athrun git git init
     244  echo "Deny from all" > ".git/.htaccess"
     245  echo "$repo/objects" > ".git/objects/info/alternates"
     246  athrun git git remote add origin "$repo"
     247  athrun git git config branch.master.remote origin
     248  athrun git git config branch.master.merge refs/heads/master
     249  athrun git git fetch origin
     250  athrun git git branch --track master origin/master
     251  athrun git git checkout master
    242252  echo "$admin" > .admin
    243253else
  • trunk/locker/deploy/bin/onserver.pm

    r728 r1215  
    99use POSIX qw(strftime);
    1010use LWP::UserAgent;
     11use IPC::Open2;
    1112use URI;
    1213our @ISA = qw(Exporter);
     
    127128  }
    128129 
    129   open(VERSION, ">.scripts-version") or die "Can't write scripts-version file: $!\n";
    130   print VERSION strftime("%F %T %z\n", localtime);
    131   print VERSION $ENV{'USER'}, '@', getclienthostname(), "\n";
    132   my $tarball = abs_path("/mit/scripts/deploy$scriptsdev/$deploy.tar.gz");
    133   print VERSION $tarball, "\n";
    134   $tarball =~ s|/deploydev/|/deploy/|;
    135   print VERSION dirname($tarball), "\n";
    136   close(VERSION);
     130  if(-e "/mit/scripts/wizard$scriptsdev/srv/$deploy.git") {
     131    # fake an empty commit to get version info
     132    my $pid = open2(\*GIT_OUT, \*GIT_IN, "git commit-tree HEAD: -p HEAD") or die "Can't execute git process";
     133    print GIT_IN "User autoinstalled application\n";
     134    print GIT_IN "Installed-by: ", $ENV{'USER'}, '@', getclienthostname(), "\n";
     135    close(GIT_IN);
     136    my $hash=<GIT_OUT>;
     137    chomp($hash);
     138    close(GIT_OUT);
     139    waitpid $pid, 0; # reap zombies
     140    system("git reset $hash");
     141  } else {
     142    open(VERSION, ">.scripts-version") or die "Can't write scripts-version file: $!\n";
     143    print VERSION strftime("%F %T %z\n", localtime);
     144    print VERSION $ENV{'USER'}, '@', getclienthostname(), "\n";
     145    my $tarball = abs_path("/mit/scripts/deploy$scriptsdev/$deploy.tar.gz");
     146    print VERSION $tarball, "\n";
     147    $tarball =~ s|/deploydev/|/deploy/|;
     148    print VERSION dirname($tarball), "\n";
     149    close(VERSION);
     150  }
    137151
    138152  select STDOUT;
Note: See TracChangeset for help on using the changeset viewer.