Changes in scripts/patch/ncurses-patch.sh [4648865:20a0aa0]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
scripts/patch/ncurses-patch.sh
-
Property mode
changed from
100755
to100644
r4648865 r20a0aa0 1 #!/bin/ bash2 # Create a Ncuruses Patch1 #!/bin/sh 2 # Jonathan Norman 3 3 4 # Get Version #5 # 4 # Ncurses branch update patch generator 5 6 6 VERSION=$1 7 7 … … 9 9 # 10 10 if [ "${VERSION}" = "" ]; then 11 echo "$0 - Ncurses_Version"12 echo "This will Create a Patch for Ncurses Ncurses_Version"11 echo "$0 [ncurses_version]" 12 echo "This will Create a Patch for ncurses ncurses_Version" 13 13 exit 255 14 14 fi 15 15 16 # Get Patch Names 17 # 18 cd ~/tmp 19 wget ftp://invisible-island.net/ncurses/${VERSION}/ --no-remove-listing 20 ROLLUP=$(cat index.html | grep bz2 | cut -f2 -d'>' | cut -f1 -d'<' | tail -n 1) 21 ROLLPATCH=$(echo ${ROLLUP} | cut -f3 -d-) 22 FILES=$(cat index.html | grep ${VERSION}-2 | grep patch.gz | cut -f2 -d'>' | cut -f1 -d'<') 23 rm -f .listing 24 rm -f index.html 16 TMP=~/tmp/ncurses-${VERSION} 17 PATCHDIR=${TMP}/patches 18 PATCHURL=ftp://invisible-island.net/ncurses/ 19 SERIES=$(echo ${VERSION} | sed -e 's/\.//g') 20 CLFS_PATCHS=http://patches.cross-lfs.org/dev/ 25 21 26 # Download Ncurses Source 27 # 28 cd ~/tmp 29 if ! [ -e ncurses-${VERSION}.tar.gz ]; then 30 wget ftp://invisible-island.net/ncurses/ncurses-${VERSION}.tar.gz 31 fi 22 # Figure out patch number 23 UPDATE_NUM=0 24 UPDATE_NUM=$(curl -ls http://patches.cross-lfs.org/dev/ | grep ncurses-${VERSION}-branch_update | cut -d . -f 3 | cut -d - -f 3-) 25 UPDATE_NUM=$(expr ${UPDATE_NUM} + 1) 32 26 33 # Set Patch Number 34 # 35 cd ~/tmp 36 wget http://svn.cross-lfs.org/svn/repos/patches/ncurses/ --no-remove-listing 37 for num in $(seq 1 99); do 38 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) 39 if [ "${PATCH_NUM}" = "0" -a "${num}" = "1" ]; then 40 PATCH_NUM=$(expr ${PATCH_NUM} + 1) 41 break 42 fi 43 if [ "${PATCH_NUM}" != "${num}" ]; then 44 PATCH_NUM=$(expr ${num}) 45 break 46 fi 47 done 48 rm -f index.html 49 50 # Cleanup Directory 51 # 52 cd ~/tmp 53 rm -rf ncurses-${VERSION} ncurses-${VERSION}.orig 54 tar xvf ncurses-${VERSION}.tar.gz 55 cp -ar ncurses-${VERSION} ncurses-${VERSION}.orig 56 57 # Download and Apply Rollup Patch 58 # 59 cd ~/tmp/ncurses-${VERSION} 60 CURRENTDIR=$(pwd -P) 61 mkdir ~/tmp/ncurses-${VERSION}-patches 62 cd ~/tmp/ncurses-${VERSION} 63 if [ "${ROLLUP}" != "" ]; then 64 echo "Getting Rollup ${ROLLUP} Patch..." 65 cd ~/tmp/ncurses-${VERSION}-patches 66 wget --quiet ftp://invisible-island.net/ncurses/${VERSION}/${ROLLUP} 67 cd ${CURRENTDIR} 68 echo "Applying Rollup ${ROLLUP} Patch..." 69 cp ~/tmp/ncurses-${VERSION}-patches/${ROLLUP} ${CURRENTDIR}/${ROLLUP} 70 bunzip2 ${ROLLUP} 71 ROLLUP2=$(echo ${ROLLUP} | sed -e 's/.bz2//g') 72 sh ${ROLLUP2} 73 fi 74 75 # Download and Apply Patches 76 # 77 install -d ~/tmp/ncurses-${VERSION}-patches 78 cd ~/tmp/ncurses-${VERSION} 79 CURRENTDIR=$(pwd -P) 80 for file in ${FILES}; do 81 if [ "${ROLLPATCH}" != "" ]; then 82 TEST=$(echo ${file} | grep -c ${ROLLPATCH}) 83 else 84 TEST=0 85 fi 86 if [ "${TEST}" = "0" ]; then 87 cd ~/tmp/ncurses-${VERSION}-patches 88 echo "Getting Patch ${file}..." 89 wget --quiet ftp://invisible-island.net/ncurses/${VERSION}/${file} 90 cd ${CURRENTDIR} 91 gunzip -c ~/tmp/ncurses-${VERSION}-patches/${file} | patch --dry-run -s -f -Np1 92 if [ "$?" = "0" ]; then 93 echo "Apply Patch ${file}..." 94 gunzip -c ~/tmp/ncurses-${VERSION}-patches/${file} | patch -Np1 95 LASTFILE=$(echo ${file} | cut -f2 -d. | cut -f2 -d-) 96 fi 97 fi 27 # Download patches 28 echo "Downloading patches for Ncurses ${VERSION}" 29 FILES=$(curl -sl ftp://invisible-island.net/ncurses/${VERSION}/ | grep patch | grep -v bz2 | grep -v asc) 30 mkdir -p $PATCHDIR 31 cd $PATCHDIR 32 for FILE in $FILES; do 33 curl -O -# $PATCHURL/$VERSION/$FILE 98 34 done 99 35 100 # Cleanup Directory 101 # 102 cd ~/tmp 36 37 echo "Downloading source for Ncurses $VERSION" 38 cd $TMP 39 curl -sO ftp://invisible-island.net/ncurses/ncurses-${VERSION}.tar.gz 40 tar -xvf ncurses-${VERSION}.tar.gz 41 cp -R ncurses-${VERSION} ncurses-${VERSION}.orig 42 43 echo -n "Generating Patch..." 103 44 cd ncurses-${VERSION} 104 for dir in $(find * -type d); do 105 cd ~/tmp/ncurses-${VERSION}/${dir} 106 for file in $(find . -name '*~'); do 107 rm -f ${file} 108 done 109 for file in $(find . -name '*.orig'); do 110 rm -f ${file} 111 done 45 46 gunzip -c $PATCHDIR/*.sh.gz | sh 47 for PATCH in $(ls $PATCHDIR | grep patch.gz); do 48 gunzip -c $PATCHDIR/$PATCH | patch -Np1 112 49 done 113 cd ~/tmp/ncurses-${VERSION}114 rm -f *~ *.orig115 50 116 # Create Patch 117 # 118 cd ~/tmp 119 echo "Submitted By: Jim Gifford (jim at cross-lfs dot org)" > ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 120 echo "Date: `date +%m-%d-%Y`" >> ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 121 echo "Initial Package Version: ${VERSION}" >> ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 122 echo "Origin: Upstream" >> ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 123 echo "Upstream Status: Applied" >> ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 124 echo "Description: This is a branch update for NCurses-${VERSION}, and should be" >> ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 125 echo " rechecked periodically. This patch covers up to ${VERSION}-${LASTFILE}." >> ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 126 echo "" >> ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 127 diff -Naur ncurses-${VERSION}.orig ncurses-${VERSION} >> ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch 128 echo "Created ~/patches/ncurses-${VERSION}-branch_update-${PATCH_NUM}.patch." 51 cd $TMP 129 52 130 # Cleanup Directory 131 # 132 cd ~/tmp 133 rm -rf ncurses-${VERSION} ncurses-${VERSION}.orig 53 DATE=$(ls $PATCHDIR | tail -n1 | cut -d- -f3 | cut -d. -f1); 54 55 # Create patch 56 echo "Submitted By: Jonathan Norman (jonathan at bluesquarelinux dot co dot uk)" > ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch 57 echo "Date: `date +%Y-%m-%d`" >> ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch 58 echo "Initial Package Version: ${VERSION}" >> ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch 59 echo "Origin: Upstream" >> ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch 60 echo "Upstream Status: Applied" >> ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch 61 echo "Description: Contains all upstream patches up to ${VERSION}-${DATE}" >> ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch 62 echo "" >> ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch 63 64 LC_ALL=C TZ=UTC0 diff -Naur ncurses-${VERSION}.orig ncurses-${VERSION} >> ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch 65 66 echo "Done" 67 echo "Cleaning up" 68 rm -rf ncurses-${VERSION} ncurses-${VERSION}.orig #ncurses-${VERSION}.tar.bz2 69 70 echo "Created: $PWD/ncurses-${VERSION}-branch_update-$UPDATE_NUM.patch" -
Property mode
changed from
Note:
See TracChangeset
for help on using the changeset viewer.