#!/bin/bash # # недоработана add_patch() # ###################################################################### SPRM_dir=~/.updates/rawhide-SRPMS SPRM_dir=~/downloads/.updates/rawhide\' SPRM_dir=~/incoming SPRM_dir=. package=exim version=4.14 release=1.rh8x SRPM_file=$package-$version-$release.src.rpm SPEC_file=$package.spec SRC_file=$package-$version.tar.bz2 SRC_dir=$package-$version release_suffix=".corvax" patch_KRB5INC_name=krb5inc patch_KRB5INC_full_name=$package-$version-$patch_KRB5INC_name.patch tmp_dir=/tmp/$package SPEC_dir=/usr/src/redhat/SPECS SOURCES_dir=/usr/src/redhat/SOURCES ###################################################################### add_patch() { patch_name=$1 perl -pi -e "(\$last_patch) = /^Patch(\d+):/ if (/^Patch\d+:/); if (/^\%if \%\{redhat8\}/) {\$last_patch++;print(\"Patch\$last_patch: $patch_name\n\");} print(\"\%patch\$last_patch -p1\n\n\") if (/^patch -s -p1\$/);" $SPEC_dir/$SPEC_file } cur_dir=`pwd` rpm -i $SPRM_dir/$SRPM_file if [ -d $tmp_dir ]; then rm -rf $tmp_dir/* else mkdir $tmp_dir fi cd $tmp_dir perl -pi -e "s/(\%define release.+)([\r\n]*)\$/\$1$release_suffix\$2/" $SPEC_dir/$SPEC_file tar -xjf $SOURCES_dir/$SRC_file ##### echo TLS_INCLUDE=-I/usr/kerberos/include>>$SRC_dir/src/EDITME mv $SRC_dir $SRC_dir-$patch_KRB5INC_name tar -xjf $SOURCES_dir/$SRC_file diff -u -r -N $SRC_dir $SRC_dir-$patch_KRB5INC_name > $SOURCES_dir/$patch_KRB5INC_full_name add_patch $patch_KRB5INC_full_name ##### cd $cur_dir #rpm -ba $SPEC_dir/$SPEC_file #rm -rf $tmp_dir