Files
cross-lfs/scripts/patch/perl-patch.sh
2014-01-31 13:13:58 -06:00

91 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Create a Perl Patch
# Get Version #
#
VERSION=$1
# Check Input
#
if [ "${VERSION}" = "" ]; then
echo "$0 - Perl_Version"
echo "This will Create a Patch for Perl Perl_Version"
exit 255
fi
# Download Perl Source
#
cd /usr/src
if ! [ -e perl-${VERSION}.tar.bz2 ]; then
wget http://www.cpan.org/src/perl-${VERSION}.tar.bz2
fi
# Set Patch Number
#
cd /usr/src
wget http://svn.cross-lfs.org/svn/repos/patches/perl/ --no-remove-listing
for num in $(seq 1 99); do
PATCH_NUM=$(cat index.html | grep "${VERSION}" | grep branch_update-${num}.patch | cut -f2 -d'"' | cut -f1 -d'"'| cut -f4 -d- | cut -f1 -d. | tail -n 1)
if [ "${PATCH_NUM}" = "0" -a "${num}" = "1" ]; then
PATCH_NUM=$(expr ${PATCH_NUM} + 1)
break
fi
if [ "${PATCH_NUM}" != "${num}" ]; then
PATCH_NUM=$(expr ${num})
break
fi
done
rm -f index.html
# Cleanup Directory
#
rm -rf perl-${VERSION} perl-${VERSION}.orig
tar xvf perl-${VERSION}.tar.bz2
mv perl-${VERSION} perl-${VERSION}.orig
CURRENTDIR=$(pwd -P)
# Get Current Updates from GIT
#
cd /usr/src
mkdir perl.git
cd perl.git
git clone git://perl5.git.perl.org/perl.git
# Cleanup
#
cd /usr/src/perl-${VERSION}
REMOVE=".patch AUTHORS Changes*"
for file in $REMOVE; do
cd /usr/src/perl-${VERSION}
rm -f ${file}
cd /usr/src/perl-${VERSION}.orig
rm -f ${file}
done
cd ..
# Remove Directories
#
cd /usr/src/perl-${VERSION}
REMOVE="os2 vms win32"
for dir in $REMOVE; do
cd /usr/src/perl-${VERSION}
rm -rf ${dir}
cd /usr/src/perl-${VERSION}.orig
rm -rf ${dir}
done
cd ..
# Create Patch
#
cd /usr/src
echo "Submitted By: Jim Gifford (jim at cross-lfs dot org)" > perl-${VERSION}-branch_update-x.patch
echo "Date: `date +%m-%d-%Y`" >> perl-${VERSION}-branch_update-x.patch
echo "Initial Package Version: ${VERSION}" >> perl-${VERSION}-branch_update-x.patch
echo "Origin: Upstream" >> perl-${VERSION}-branch_update-x.patch
echo "Upstream Status: Applied" >> perl-${VERSION}-branch_update-x.patch
echo "Description: This is a branch update for perl-${VERSION}, and should be" >> perl-${VERSION}-branch_update-x.patch
echo " rechecked periodically." >> perl-${VERSION}-branch_update-x.patch
echo "" >> perl-${VERSION}-branch_update-x.patch
diff -Naur perl-${VERSION}.orig perl-${VERSION} >> perl-${VERSION}-branch_update-x.patch
echo "Created /usr/src/perl-${VERSION}-branch_update-x.patch."