Quantcast

Re: Maintnance script

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Maintnance script

Max T. Woodbury
As noted earlier, I'm trying to trace the MinGW and MSys distributions
back to their original sources.  This is mainly a QA check to assure that
any bug reports get to the right maintainers but also has the side effect
of assuring that everything that should be in the distribution is in fact
there and compliant with OSS standards in that the sources really are
available.

This is a slight modification from my original idea.  Originally I wanted
to be able to build the 'latest and greatest' from CVS sources.  I still
would like to do that, but I found that establishing a known baseline
was a necessary first step and a useful goal in its own right.

The process is turning up some interesting problems.  For example I've
seen something very similar to what Hugh Perkins reported in several
places.  I've done enough monitoring to be able to say that at least
some of the problems are not due to memory limits.  There was usable
memory available when things hung.  Similarly active threads was not
the problem, again because the monitor showed quite a few less than
the maximum seen earlier on some hangs.  I suspect that it is at least
partially a timing issue with starting and finishing many threads
quickly causing much quicker degradation than a slower start/finish
cycle.  I don't have a file handle in use measure, but that too could
be a problem.

This is a learning process.  I'll do something and it messes up and
I'll need to do something else.  Eventually I'll get it to work, but
the process leaves the environment in an undocumented state.  When that
happens I need to start over and recreate what I've done.  As mentioned
before, I've put together a script to allow me to do this accurately.
The result is a 'kluge' - it has controls for everything I've needed
and control files and files containing lists of control files.  I
suspect that somebody has already done something like this already.
If you know of such a thing, please let me know...

In the mean time, this script grows.  I've added quite a bit to
what I originally posted.  I will not post every change but I should
probably post a new version every week or so if it's changed...

Max


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
Mingw-msys mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mingw-msys
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Maintnance script

Max T. Woodbury
Latest script and sample control files...
#! /bin/sh
# Build a new MSys distribution from sources
###################################################################
tars="/k/kits/SourceForge/Mingw/"
###################################################################
myname=$(basename $0)
hdir="${0:0:${#0}-${#myname}}"
if test "$hdir" == "./"; then hdir="$PWD/"; fi
export hdir
oldIFS="$ILS"
IFS="
"
#echo "Debug $LINENO."
#
# Make sure there is a files list and other log directories
#
mkdir -p /var/FileList /var/PatchLog /var/BuildLog /usr/src/GetLogs
#
# Install MinGW kits
#
for file in $(cat ${hdir}MinGW.kit 2>/dev/nul); do
  if test "$file" == "${file#*.tar*}"; then continue; fi
  case $file in
  \#*)
    continue
    ;;
  *.bz2)
    c="j"
    l="${file:0:${#file}-8}"
    ;;
  *.gz)
     c="z"
     l="${file:0:${#file}-7}"
     ;;
  *)
     c=""
     l="${file:0:${#file}-4}"
     ;;
  esac
  if test -f /var/FileList/$l; then
    echo "$file is already installed."
  else
    # ToDo:
    # Get before and after disk free space and time
    # These should probably also go in /var/LogFiles/$myname.log
    ##1
    echo -n "Starting to install $l for MinGW at "; date
    tar -C /mingw -${c}xvf $tars$file >/var/FileList/$l
    if test ! -f /usr/src/FileList/$l; then
      cp -p /var/FileList/$l /usr/src/FileList
    fi
    echo -n "Finished installing $l at "; date
  fi
done
#
# Install MSys kits
#
for file in $(cat ${hdir}MSys.kit 2>/dev/nul); do
  if test "$file" == "${file#*.tar*}"; then continue; fi
  case $file in
  \#*)
    continue
    ;;
  *.bz2)
    c="j"
    l="${file:0:${#file}-8}"
    ;;
  *.gz)
     c="z"
     l="${file:0:${#file}-7}"
     ;;
  *)
     c=""
     l="${f:0:${#f}-4}"
     ;;
  esac
  if test -f /var/FileList/$l; then
    echo "$l is already installed."
  else
    # ToDo: Get before and after disk free space and time
    echo -n "Starting to install $l for MSys at ";date
    tar -C /usr -${c}xvf $tars$file >/var/FileList/$l
    if test ! -f /usr/src/FileList/$l; then
      cp -p /var/FileList/$l /usr/src/FileList
    fi
    echo -n "Finished installing $l at ";date
  fi
done
#
# Apply patches
#
for line in $(cat ${hdir}patches.dat 2>/dev/nul); do
  if test "${line:0:1}" == "#"; then continue; fi
  name="${line%%:*}"
  while test "${line:0:1}" == " "; do line="${line:1}"; done
  if test -f /var/PatchLog/$name; then
    echo "Patch $name has already been applied."
    continue
  fi
  echo "Applying patch - $name."
  todo="${line#*:}"
  # ToDo: Get before and after disk free space and time
  echo -n "Starting to apply patch $l at ";date
  if test "$todo" == "$line"; then
    (cd $hdir; /bin/sh 2>&1 1>/var/PatchLog/$name Patches/$name.sh)
  else
    #
    # This is gross, but all the simpler ways didn't work!
    #   In particular simple macro substitution genereated a single token
    #   and bypassed the normal breaking into words process.
    #
    echo "$todo" >/tmp/do$$
    (cd $hdir; /bin/sh 2>&1 1>/var/PatchLog/$name /tmp/do$$)
  fi
  if test $? == 0; then
    echo -n "Patch $name applied at ";date
  else
    if test "$todo" == "$line"; then
      cat /var/PatchLog/$name
    else
      echo "$todo"
    fi
    echo -n "Patch $name failed at ";date
    exit 1
  fi
  if test -f /tmp/do$$; then rm /tmp/do$$; fi
done
#
# Build packages
#
for pack in $(cat ${hdir}packages.dat 2>/dev/nul); do
  if test "${pack:0:1}" == "#"; then continue; fi
  export pack
  # Note:
  # This test is probably too simple minded.  It should check to see if
  # there are any new patches or other updates to the kit that have not
  # been applied.  Also, there may be a whole new version available...
  #
  # Or the detail file may have been changed...
  # Since there is now a copy of the detail file in the log, this should
  # be easy to check if this test is moved to after the version search.
  # However, there are enough other more urgent problems that this change
  # should not be made at this time.
  ##1
  ldir="/var/BuildLog/$pack"
  export ldir
  if test -d $ldir; then
    echo "Package $pack has already been built."
    continue
  fi
  bestver=""
  dfile="${hdir}Packages/$pack*"
  for file in ${hdir}Packages/$pack*; do
    if test "$file" == "${hdir}Packages/$pack*"; then break; fi
    line=$(grep version: $file)
    # Make sure a version is specified
    if test "$line" == ""; then
      echo "The $file information file does not specify a version."
      echo "    It will be ignored."
      continue
    fi
    fv="${line#*:}"
    while test "${fv:0:1}" == " "; do fv="${fv:1}"; done
    # skip older versions
    if test "$fv" \< "$bestver"; then
      echo "The $file is an older version than the $dfile;"
      echo "    It will be ignored."
      continue;
    fi
    # check for the correct build environment
    line=$(grep build-env: $file)
    if test "$line" == ""; then
      echo "The $file information file does not specify a build"
      echo "    environment.  It will be ignored."
      continue
    fi
    fe="${line#*:}"
    while test "${fe:0:1}" == " "; do fe="${fe:1}"; done
    if test "$fe" != "$MSYSTEM"; then
       dfile=""
       continue
    fi
    dfile="$file"
    bestver="$fv"
  done
  if test "$dfile" == "${hdir}Packages/$pack*"; then
    echo "The details for package $pack are missing."
    echo "    This package will be skipped."
    continue
  fi
  if test "$dfile" == ""; then
    echo "This is not the correct environment for building $pack;"
    echo "    Please rerun this script in the correct environment."
    continue
  fi
  bf=$(basename $dfile)
  echo "Building package - $bf version $bestver."
  #
  # Check for prerequisite packages
  #
  prereqok=1
  for line in $(grep build-prereq-pkg: $dfile); do
    if test "$line" == ""; then break; fi
    if test "${line:0:1}" == "#"; then continue; fi
    preq="${line#*:}"
    while test "${preq:0:1}" == " "; do preq="${preq:1}"; done
    if test ! -f /var/BuildLogs/$line; then
      prereqok=0
    elif test ! -f /var/FileLists/$line; then
      echo "Prerequisite package installation not yet implemented."
      # Plan:
      #   get buile-env: from /var/BuildLogs/$line in te
      #   rm /usr/src/LogFiles/$line
      #   cd /new/$te/$line
      #   find . -type d -exec mkdir -p {} \;
      #       -exec echo {}/ >>/usr/src/LogFiles/$line \;
      #       -o -exec $hdir/realinst {} $te \;
      #       -exec echo {} >>/usr/src/LogFiles/$line \;
      #
      # What is missing is the code to look the file up in /var/BuildLogs/$line
      #   /$line* to see if it should be excluded.  Also realinst does not take
      #   a build-env parameter at the present time.  Maybe it should be called
      #   'lateinst'.
      ##2
    fi
  done
  if test "$prereqok" == "0"; then
    echo "The $pack package build is being skipped"
    echo "    because of missing prerequisite packages."
    continue
  fi
  # ToDo:
  # Allow alternate packages, files and commands to be specifed in each of the
  # following...
  ##3
  #
  # Check for prerequisite files
  #
  for line in $(grep build-prereq-file: $dfile); do
    if test "$line" == ""; then break; fi
    if test "${line:0:1}" == "#"; then continue; fi
    preq="${line#*:}"
    while test "${preq:0:1}" == " "; do preq="${preq:1}"; done
    if test ! -f $preq; then
      echo "Prerequisite file $preq is missing."
      prereqok=0
    fi
  done
  if test "$prereqok" == "0"; then
    echo "The $pack package build is being skipped"
    echo "    because of missing prerequisite files."
    continue
  fi
  #
  # Checking for prerequisite commands using 'which'
  #
  for line in $(grep build-prereq-cmd: $dfile); do
    if test "$line" == ""; then break; fi
    if test "${line:0:1}" == "#"; then continue; fi
    preq="${line#*:}"
    while test "${preq:0:1}" == " "; do preq="${preq:1}"; done
    if ! which $preq 1>/dev/nul; then
      echo "Prerequisit command $preq is not available."
      prereqok=0
    fi
  done
  if test "$prereqok" == "0"; then
    echo "The $pack package build is being skipped"
    echo "    because of missing prerequisite command."
    continue
  fi
  #
  # Get the source area directory specification and 'mount' /pdir on it.
  #
  # Note:
  # The ability to dynamically 'mount' and 'unmount' would make the lenght
  # of commaand lines being passed around shorter.  However, even if this
  # ability is added to msys, its use would preclude testing of earlier
  # versions of this software if used here.
  #
  line=$(grep source-dir: $dfile)
  if test "$line" == ""; then
    echo "The source directory specification is missing from the"
    echo "   detail file $dfile.  This package will be skipped."
    continue
  fi
  pdir="${line#*:}"
  while test "${pdir:0:1}" == " "; do pdir="${pdir:1}"; done
  if test ! -d $pdir; then mkdir -pv $pdir; fi
  export pdir
  #
  # Get the work area directory specification and 'mount' /bdir on it.
  #
  bdir="$pdir/bld-$pack"
  if test ! -d $bdir; then mkdir -pv $bdir; fi
  export bdir
  rm -fr $bdir/*
  # Note:
  # In at least one package (autoconf), I've run into a bug where it can
  # not find the 'top_srcdir' from one of the sub-directories.  This is a
  # work around...
  #
  otbv=""
  line=$(grep top-source-variable: $dfile)
  if test "$line" != ""; then
    line="${line#*:}"
    while test "${line:0:1}" == " "; do line="${line:1}"; done
    otbv="$line=$bdir"
  fi
  #
  # Get the fetch mechanism
  #
  line=$(grep source-fetcher: $dfile);
  if test "$line" == ""; then
    echo "The source fetch method is missing from the"
    echo "    detail file $dfile.  This package will be skipped."
    continue
  fi
  myfetch="${line#*:}"
  while test "${myfetch:0:1}" == " "; do myfetch="${myfetch:1}"; done
  # ToDo: Log free disk space and time in /bdir
  #
  # Is the source tree present?
  #
  line=$(grep source-ver: $dfile);
  if test "$line" == ""; then
    echo "The source directory version is missing from the"
    echo "    detail file $dfile.  This package will be skipped."
    continue
  fi
  #
  # check for a wild card version
  #
  myver="${line#*:}"
  while test "${myver:0:1}" == " "; do myver="${myver:1}"; done
  if test "$myver" == "*"; then
    for line in $pdir/$myver; do
      line="${line:${#pdir}+1}"
      if test "${line:0:4}" == "bld-"; then line=""; continue; fi
      break
    done
    if test "$line" == ""; then
      echo "I can not find the wildcard source directory.  This package"
      echo "    will be skipped."
      continue
    fi
    myver="$line"
  fi
  #
  # If the source has not already been fetched, get the fetch parameters
  #
  # ToDo:
  # The package may be present in 'diff'ed form.  un'diff' it.  If there
  # are other 'diff'ed packages present, un'diff' them and re'diff' them
  # with respect to the new baseline.  Then 'diff' the old baseline.
  ##9
  if test ! -d $pdir/$myver; then
    line=$(grep source-URL: $dfile);
    if test "$line" == ""; then
      echo "The source URL is missing from the detail file"
      echo "    $dfile.  This package will be skipped."
      continue
    fi
    myURL="${line#*:}"
    while test "${myURL:0:1}" == " "; do myURL="${myURL:1}"; done
    case $myfetch in
    SCVS | CVS)
      mytag="-r $myver"
      #
      # get the CVS module name
      #
      line=$(grep source-module: $dfile)
      if test "$line" == ""; then
        echo "The source module is missing from the detail file"
        echo "    $dfile.  It is required for fetch mode $myfetch."
        echo "    This package will be skipped."
        continue
      fi
      mymod="${line#*:}"
      while test "${mymod:0:1}" == " "; do mymod="${mymod:1}"; done
      #
      # If a date is specified, replace the tag specification
      #
      line=$(grep source-date: $dfile)
      if test "$line" != ""; then
        line="${line#*:}"
        while test "${line:0:1}" == " "; do line="${line:1}"; done
        mytag="-D \"$line\""
      fi
      ;;
    *)
      ;;
    esac
    #
    # Fetch the source kit
    #
    # ToDo: before and after disk space...
    echo -n "Starting to fetch package $pack at ";date
    case $myfetch in
    SCVS)
      if test "${myURL:0:3}" == "-d:"; then
        temp="${myURL#*:*:*:}"
        myID="${myURL:2:${#myURL}-${#temp}-2}"
        line=$(grep "$myID " $hdir/URLmap.dat)
        if test "$line" != ""; then
          line="${line:${#myID}+1}"
          while test "${line:0:1}" == " "; do line="${line:1}"; done
          myURL="-d$line$temp"
        fi
      # ToDo: Check for alternate 'URL's.  i.e. personal logins...
      fi
      echo "CVS_RSH=ssh /bin/cvs -z3 $myURL get -d$myver $mytag $mymod" \
          > /tmp/do$$
      ( cd $pdir; /bin/sh /tmp/do$$ 2>&1 | tee /usr/src/GetLogs/$pack.log)
      rm /tmp/do$$
      ;;
    CVS)
      # Note: No personal URLs over insecure links...
      echo "/bin/cvs -z3 $myURL get -d$myver $mytag $mymod" > /tmp/do$$
      ( cd $pdir; /bin/sh /tmp/do$$ 2>&1 | tee /usr/src/GetLogs/$pack.log)
      rm /tmp/do$$
      ;;
    # ToDo:
    # Fetch tarballs using FTP or HTML with a Cache directory.
    ##4
    *)
      echo "The source fetch method $myfetch from detail file"
      echo "    $dfile is not implemented.  This package will be skipped."
      continue
      ;;
    esac
    echo -n "Finished fetching package $pack at ";date
    # ToDo:
    # Fetch and apply public patches
    ##5
    # ToDo:
    # If there are other variants of this package, turn them into 'diff's
    # from this package.  This may involve un'diff'ing with respect to the
    # older version and re'diff'ing with respect to the current package.
    ##9
    # ToDo:
    # Apply local patches
    ##6
  fi
  #
  # Move 'pdir' to a subdirectory if requested
  #
  line=$(grep source-subdir: $dfile)
  if test "$line" != ""; then
    mysubdir="${line#*:}"
    while test "${mysubdir:0:1}" == " "; do mysubdir="${mysubdir:1}"; done
    sdir="$pdir/$myver/$mysubdir"
  else
    sdir="$pdir/$myver"
  fi
  export sdir
  # ToDo
  # Check for CVS updates if requested.
  ##7
  # ToDo: Log free disk space in /bdir
  # Note: Cygwin 'prep' phase here.
  echo -n "Starting setup at ";date
  echo -n "Starting setup at " >>$bdir/event.log; date >>$bdir/event.log
  for line in $(grep setup: $dfile); do
    if test "${line:0:1}" == "#"; then continue; fi
    echo "${line#*:}" >/tmp/do$$
    ( cd $bdir; /bin/sh /tmp/do$$ 2>&1 | tee -a setup.log)
    rm /tmp/do$$
  done
  # ToDo: Log free disk space and time in /bdir
  echo -n "Finished setup at ";date
  echo -n "Finished setup at " >>$bdir/event.log; date >>$bdir/event.log
  #
  # Configure if required...
  #
  case $MSYSTEM in
  MSYS)
    udir="/usr"
    ;;
  MINGW*)
    udir="/usr/mingw"
    ;;
  *)
    udir="/new/$MSYSTEM"
    ;;
  esac
  export udir
  tdir="/new/$MSYSTEM/$pack"
  export tdir
  line=$(grep configure: $dfile)
  if test "$line" != ""; then
    cparm="${line#*:}"
    line=$(grep target-dir: $dfile)
    if test "$line" != ""; then
      udir="${line#*:}"
      while test "${udir:0:1}" == " "; do udir="${udir:1}"; done
    fi
    echo -n "Starting configure at ";date
    echo -n "Starting configure at " >>$bdir/event.log; date >>$bdir/event.log
    echo "$sdir/configure --prefix=$udir $cparm" >/tmp/do$$
    ( cd $bdir; /bin/sh /tmp/do$$ 2>&1 | tee configure.log)
    rm /tmp/do$$
    echo -n "Finished configure at ";date
    echo -n "Finished configure at " >>$bdir/event.log; date >>$bdir/event.log
  fi
  # ToDo: Log free disk space and time in /bdir
  #
  # do the build
  #
  echo -n "Starting build at ";date
  echo -n "Starting build at " >>$bdir/event.log; date >>$bdir/event.log
  ( cd $bdir; make 2>&1 -w $otbv | tee make-all.log)
  echo -n "Finished build at ";date
  echo -n "Finished build at " >>$bdir/event.log; date >>$bdir/event.log
  # ToDo: Log free disk space and time in /bdir
  #
  # do additional builds as required
  #
  # ToDo:
  # Add before and after make commands
  ##8
  for line in $(grep make: $dfile); do
    if test "${line:0:1}" == "#"; then continue; fi
    mtarg="${line#*:}"
    while test "${mtarg:0:1}" == " "; do mtarg="${mtarg:1}"; done
    #
    # Check for various target prerequisites.
    #
    # ToDo: Allow alternate packages, files and commands to be specifed
    prereqok=1
    for line in $(grep $mtarg-prereq-file: $dfile); do
      if test "${line:0:1}" == "#"; then continue; fi
      preq="${line#*:}"
      while test "${preq:0:1}" == " "; do preq="${preq:1}"; done
      if test ! -f $preq; then
        echo "Prerequisit file $preq is not available."
        prereqok=0
      fi
    done
    if test $prereqok != 1; then
      echo "Build target $mtarg will be skipped because a prerequisite"
      echo "    file is not available."
      continue
    fi
    for line in $(grep $mtarg-prereq-cmd: $dfile); do
      if test "${line:0:1}" == "#"; then continue; fi
      preq="${line#*:}"
      while test "${preq:0:1}" == " "; do preq="${preq:1}"; done
      if ! which $preq 1>/dev/nul; then
        echo "Prerequisit command $preq is not available."
        prereqok=0
      fi
    done
    if test $prereqok != 1; then
      echo "Build target $mtarg will be skipped because a prerequisite"
      echo "    command is not available."
      continue
    fi
    echo -n "Starting build $mtarg at ";date
    echo -n "Starting build $mtarg at " >>$bdir/event.log
    date >>$bdir/event.log
    ( cd $bdir; make 2>&1 -w $otbv $mtarg | tee make-$mtarg.log)
    echo -n "Finished build $mtarg at ";date
    echo -n "Finished build $mtarg at " >>$bdir/event.log
    date >>$bdir/event.log
  done
  # ToDo: Log free disk space and time in /bdir
  #
  # make install into a clean directory
  #
  echo -n "Starting build install at ";date
  echo -n "Starting build install at " >>$bdir/event.log; date >>$bdir/event.log
  rm -fr /new/$MSYSTEM/$pack
  line=$(grep install-target-variable: $dfile)
  if test "$line" != ""; then
    line="${line#*:}";
    while test "${line:0:1}" == " "; do line="${line:1}"; done
    while test "${line:${#line}-1:1}" == " "; do
      line="${line:0:${#line}-1}"
    done
  fi
  if test "$line" != ""; then
    line="$line=/new/$MSYSTEM/$pack"
  else
    line="PREFIX=/new/$MSYSTEM/$pack"
    line="$line prefix=/new/$MSYSTEM/$pack"
    line="$line DEST=/new/$MSYSTEM/$pack"
  fi
echo "Debug $LINENO:cd $bdir; make 2>&1 -w $otbv $line install | tee make-install.log"
  ( cd $bdir; make 2>&1 -w $otbv $line install | tee make-install.log)
  echo -n "Finished build install at ";date
  echo -n "Finished build install at " >>$bdir/event.log; date >>$bdir/event.log
  # ToDo: Log free disk space and time in /bdir
  #
  # Clean up
  #
  # Note: Cygwin 'fini' phase here.
  echo -n "Starting cleanup at ";date
  echo -n "Starting cleanup at " >>$bdir/event.log; date >>$bdir/event.log
  for line in $(grep cleanup: $dfile); do
    if test "${line:0:1}" == "#"; then continue; fi
    todo="${line#*:}"
    echo "$todo" >/tmp/do$$
    ( cd $bdir; /bin/sh /tmp/do$$ 2>&1 | tee -a cleanup.log)
    rm /tmp/do$$
  done
  echo -n "Finished cleanup at ";date
  echo -n "Finished cleanup at " >>$bdir/event.log; date >>$bdir/event.log
  # ToDo: Log free disk space and time in /bdir
  #
  # Set up the log directory
  #
  echo -n "Moving log and config files at ";date
  echo -n "Moving log and config files at " >>$bdir/event.log
  date >>$bdir/event.log
  mkdir -p $ldir
  cp -pv $dfile $ldir/
  ( cd $bdir; find . -type d -exec mkdir -pv $ldir/{} \;)
  ( cd $bdir; find . -name \*.log -exec cp -pv {} $ldir/{} \;)
  ( cd $bdir; find . ! -name \*.log -name config.\* -exec cp -pv {} \
      $ldir/{} \;)
  ( cd $bdir; find . ! -name \*.log -name Makefile\* -exec cp -pv {} \
      $ldir/{} \;)
  # ToDo: Log free disk space and time in /bdir
  rm -fr $bdir/*
  echo -n "Finished final cleanup at ";date
  echo -n "Finished final cleanup at " >>$ldir/event.log; date >>$ldir/event.log
  # ToDo: Log free disk space and time in /bdir
done
# mount:
#        /hdir => directory containing this script
#        /pdir => all working directories related to a package
#        /sdir => source package directory
#        /bdir => build work directory
#        /dst => installation kit destination directory
#        /ldir => /var/BuildLog/<pkg>
#
# Each package should have a detailed information file containing useful
#     information like where the .tar is stored, where and how to get
#     the .tar from the net, a list of URLs for the home page, bug list,
#     general comments and/or patch list, where the local patch files are
#     and if the package is required by other package builds.  Also:
#     a list of configure options, which build targets to invoke in addition
#     to <null> and install, and if the source tree should be copied to the
#     build tree. Strip?
#
# When the build completes, either successfully or unsuccessfully, the
#     log and configuration files get copied to /var/BuildLog/<pkg>/...
#
# Possible problems:
#   Cygwin packages -- unpack in 'setup' procedure.
#   PORT packages -- ?
IFS="$oldIFS"


#binutils-2.15.94-20050118-1.tar.gz
##gcc-ada-3.4.2-20040916-1.tar.gz
#gcc-core-3.4.2-20040916-1.tar.gz
#gcc-g++-3.4.2-20040916-1.tar.gz
##gcc-g77-3.4.2-20040916-1.tar.gz
##gcc-java-3.4.2-20040916-1.tar.gz
#gcc-objc-3.4.2-20040916-1.tar.gz
#gdb-20040521-1.tar.bz2
#gdb-6.3-1.tar.bz2
##gpc-20030209-gcc-2.95.3-6.i386-pc-mingw32-1.tar.gz
##gpc-20030209-gcc-3.2.2.i386-pc-mingw32-2.tar.gz
##gpc-mingw-gcc-2.95.3-6-depends.tar.gz
##mingw-runtime-3.7.tar.gz
#mingw-utils-0.3.tar.gz
#w32api-3.2.tar.gz

#msys-autoconf-2.59.tar.bz2
#msys-automake-1.8.2.tar.bz2
#msys-libtool-1.5.tar.bz2
msysDVLPR-1.0.0-alpha-1.tar.gz
#w32api-3.2.tar.gz

version:03.01.00-11
build-env:MSYS
source-dir:/usr/src/MSys/base
source-fetcher:SCVS
source-URL:-d:pserver:[hidden email]:/cvsroot/mingw
source-module:msys
source-ver:msys-3.1.0-11
source-date:2004-04-30 14:55
source-subdir:rt/src
setup:if test ! -f $sdir/winsup/testsuite/Makefile.in.orig; then patch -ub $sdir/winsup/testsuite/Makefile.in $hdir/Patches/msysRTwtMF.diff; fi
configure: --enable-newlib-mb
target-dir:/.
check-prereq-cmd:runtest
make:check
make:info
dvi-prereq-cmd:tex
make:dvi
install-target-variable:prefix

version:01.03.01
build-env:MSYS
source-dir:/usr/src/MSys/base
source-fetcher:SCVS
source-URL:-d:pserver:[hidden email]:/cvsroot/mingw
source-module:msys
source-ver:*
source-subdir:packages/termcap/1.3.1
setup:$mypkg/configure
setup:make -t
setup:find . -type d -exec rm -fr {} \; -o ! -name \*.log ! -name config.\* -exec rm {} \;
setup:if test ! -f config.1st.log; then mv config.log config.1st.log; fi
configure:
target-dir:/usr
make:info
install-target-variable:prefix
cleanup:cp libtermcap.a /lib/


patches.dat (442 bytes) Download Attachment
packages.dat (612 bytes) Download Attachment
Loading...