I've been working on the integration of the BLFS patches into the
patches project.  Right now I've created a script (below) that can run
on belgarath and identify patches in blfs and not in the patches project
download directory.

There are a couple of approaches I can take and one problem.

First the problem. The script below looks for blfs referenced patches in
the patches download directory.  This directory is not updated
immediately when changes are made to the patches svn repository.  This
makes the script identify files as missing that may be recently placed
in the repository and not yet in the download directory.  There are
several options to solve this problem:

1.  Extract the entire patches repository to /tmp and compare against
those files.

2.  Set up the patches svn system to automatically repopulate the
patches download directory upon each commit.

3.  Do nothing and only address problems that continue after 24 hours or
so after we are sure the patches download directory has been updated via
its normal cron refresh.
------
As far as integration approaches go, I can:

1.  Integrate this script with the normal twice daily blfs render.
2.  Run it as a separate cron job.
3.  Integrate it into the blfs Makefile for editors to run manually.
This will require local editing or a standard location for each editor's
patches project sandbox.

Any feedback will be appreciated.

  -- Bruce


------
#!/bin/bash

function die
{
  echo "Failure: $1 at line number $2"

  #Remove temp files
  cd /tmp
  rm -fr $XML_DIR

  exit 1
}

XML_DIR=`mktemp -d /tmp/blfsbookxml.XXXXXX` || exit 1
SVN="svn://svn.linuxfromscratch.org/BLFS/trunk"
BLFS_DIR=$XML_DIR/BLFS/
BOOK_DIR=$BLFS_DIR/BOOK
PATCHES_DIR=/home/httpd/www.linuxfromscratch.org/patches/downloads

DATE=$(date +%Y-%m-%d)

[ ! -d $XML_DIR ] && mkdir -p $XML_DIR

# Extract the book

cd $XML_DIR             || die "Could not cd to $XML_DIR" $LINENO
svn --quiet export  "$SVN" BLFS || die "svn export failed" $LINENO

# Check for missing patches
cd $BOOK_DIR            || die "Could not cd to $BOOK_DIR" $LINENO

xsltproc --xinclude --nonet --output blfs-patch-list \
   stylesheets/patcheslist.xsl index.xml

sed -e "s|^.*/||" blfs-patch-list > blfs-patches ||
   die "xsltproc to generate patch list failed" $LINENO
PATCHES=`sort blfs-patches`

for p in $PATCHES; do
  PATCH=`find $PATCHES_DIR -name $p`
  if [ -n "$PATCH" ]; then
    #echo "Found '$PATCH'"
    :
  else
    echo "Missing $p"
  fi
done

# Remove the temporary files
cd /tmp
rm -fr $XML_DIR    || die "Could not rm -fr $XML_DIR" $LINENO
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to