
unset $(env | sed -n 's/=.*//p')
PATH=/bin:/usr/bin:/sbin/:/usr/sbin

declare -A FR_FLAGS
FR_FLAGS[EPEL5]=''

declare -A FR_SETTINGS 
FR_SETTINGS[resultdir]=""
FR_SETTINGS[verbose]="True"
FR_SETTINGS[no_report]=""
FR_SETTINGS[session_log]="/home/w0rm/.cache/fedora-review.log"
FR_SETTINGS[list_flags]=""
FR_SETTINGS[list_checks]=""
FR_SETTINGS[single]=""
FR_SETTINGS[rpm_spec]="True"
FR_SETTINGS[exclude]="CheckRpmlintInstalled,CheckApprovedLicense,CheckContainsLicenseText,CheckLicenseField,CheckLicenseUpstream,CheckReqPkgConfig,CheckBuildCompleted,CheckPackageInstalls,CheckNoNameConflict,CheckBuild,CheckBuildRequires"
FR_SETTINGS[configdir]=""
FR_SETTINGS[log_level]="10"
FR_SETTINGS[log]="<logging.RootLogger object at 0x7fa1a4de2a90>"
FR_SETTINGS[init_done]="True"
FR_SETTINGS[cache]=""
FR_SETTINGS[mock_config]="fedora-rawhide-x86_64"
FR_SETTINGS[version]=""
FR_SETTINGS[uniqueext]=""
FR_SETTINGS[flags]=""
FR_SETTINGS[bz_url]="https://bugzilla.redhat.com"
FR_SETTINGS[mock_options]="--no-cleanup-after --no-clean"
FR_SETTINGS[other_bz]=""
FR_SETTINGS[repo]=""
FR_SETTINGS[use_colors]="True"
FR_SETTINGS[bug]=""
FR_SETTINGS[prebuilt]="True"
FR_SETTINGS[name]="dom4j"
FR_SETTINGS[url]=""
FR_SETTINGS[checksum]="sha256"
FR_SETTINGS[nobuild]=""

export FR_REVIEWDIR='/data/temp/rhel-reviews/dom4j-1.6.1-12.fc19/dom4j'
export HOME=$FR_REVIEWDIR
cd $HOME

export FR_NAME='dom4j'
export FR_VERSION='1.6.1'
export FR_RELEASE='12.fc18'
export FR_GROUP='Development/Libraries'
export FR_LICENSE='BSD'
export FR_URL='http://www.dom4j.org/'

export Source2="http://repo1.maven.org/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.pom"
export Source0="dom4j-1.6.1-clean.tar.xz"
export Source1="dom4j_rundemo.sh"

export Patch0="dom4j-1.6.1-build_xml.patch"


export FR_PREP='cd '\''/home/w0rm/rpmbuild/BUILD'\''
rm -rf '\''dom4j-1.6.1'\''
/usr/bin/tar -xf /home/w0rm/rpmbuild/SOURCES/dom4j-1.6.1-clean.tar.xz
cd '\''dom4j-1.6.1'\''
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
# replace run.sh
cp -p /home/w0rm/rpmbuild/SOURCES/dom4j_rundemo.sh run.sh
# fix for deleted jars
mv build.xml build.xml.orig
sed -e '\''/unjar/d'\'' -e '\''s|,cookbook/\*\*,|,|'\'' build.xml.orig > build.xml'
export FR_BUILD='pushd lib
ln -sf $(build-classpath xpp2)
ln -sf $(build-classpath relaxngDatatype)
ln -sf $(build-classpath jaxme/jaxmeapi)
ln -sf $(build-classpath msv-xsdlib)
ln -sf $(build-classpath msv-msv)
ln -sf $(build-classpath jaxen)
ln -sf $(build-classpath bea-stax-api)
#pushd test
#ln -sf $(build-classpath bea-stax-ri)
#ln -sf $(build-classpath junitperf)
#ln -sf $(build-classpath junit)
#popd
ln -sf $(build-classpath xpp3)
pushd tools
ln -sf $(build-classpath jaxme/jaxmexs)
ln -sf $(build-classpath xalan-j2)
ln -sf $(build-classpath jaxme/jaxmejs)
ln -sf $(build-classpath jtidy)
ln -sf $(build-classpath isorelax)
ln -sf $(build-classpath jaxme/jaxme2)
ln -sf $(build-classpath xerces-j2)
popd
popd
# FIXME: test needs to be fixed
ant all samples # test'
export FR_INSTALL='# jars
mkdir -p $RPM_BUILD_ROOT/usr/share/java
cp -p build/dom4j.jar \
$RPM_BUILD_ROOT/usr/share/java/dom4j.jar
# javadoc
mkdir -p $RPM_BUILD_ROOT/usr/share/javadoc/dom4j
pushd build/doc/javadoc
for f in `find -name \*.html -o -name \*.css`; do
sed -i '\''s/\r//g'\'' $f;
done
popd
cp -pr build/doc/javadoc/* $RPM_BUILD_ROOT/usr/share/javadoc/dom4j
# manual
mkdir -p $RPM_BUILD_ROOT/usr/share/doc/dom4j-1.6.1
rm -rf docs/apidocs docs/clover
pushd docs
for f in `find -name \*.html -o -name \*.css -o -name \*.java`; do
sed -i '\''s/\r//g'\'' $f;
done
popd
cp -pr docs/* $RPM_BUILD_ROOT/usr/share/doc/dom4j-1.6.1
tr -d \\r <LICENSE.txt >tmp.file; mv tmp.file LICENSE.txt
cp -p LICENSE.txt $RPM_BUILD_ROOT/usr/share/doc/dom4j-1.6.1
# demo
mkdir -p $RPM_BUILD_ROOT/usr/share/dom4j-1.6.1/classes/org/dom4j
cp -pr xml $RPM_BUILD_ROOT/usr/share/dom4j-1.6.1
mkdir -p $RPM_BUILD_ROOT/usr/share/dom4j-1.6.1/src
cp -pr src/samples $RPM_BUILD_ROOT/usr/share/dom4j-1.6.1/src
cp -pr build/classes/org/dom4j/samples $RPM_BUILD_ROOT/usr/share/dom4j-1.6.1/classes/org/dom4j
install -m 755 run.sh $RPM_BUILD_ROOT/usr/share/dom4j-1.6.1
# POM and depmap
install -d -m 755 $RPM_BUILD_ROOT/usr/share/maven-poms
install -p -m 644 /home/w0rm/rpmbuild/SOURCES/dom4j-1.6.1.pom $RPM_BUILD_ROOT/usr/share/maven-poms/JPP-dom4j.pom
set -e
# default values
_pompart="JPP-dom4j.pom"
_jarpart="dom4j.jar"
_filelist=".mfiles"
install -dm 755 $RPM_BUILD_ROOT//usr/share/maven-fragments
for _dir in /usr/lib64/java /usr/share/java-jni /usr/share/java; do
if [ -f /home/w0rm/rpmbuild/BUILDROOT/dom4j-1.6.1-12.fc18.x86_64/$_dir/$_jarpart ]; then
_jpath="/home/w0rm/rpmbuild/BUILDROOT/dom4j-1.6.1-12.fc18.x86_64/$_dir/$_jarpart"
fi
done
python -m /usr/share/java-utils/maven_depmap   \
\
/home/w0rm/rpmbuild/BUILDROOT/dom4j-1.6.1-12.fc18.x86_64/usr/share/maven-fragments/dom4j \
/home/w0rm/rpmbuild/BUILDROOT/dom4j-1.6.1-12.fc18.x86_64/usr/share/maven-poms/$_pompart \
"${_jpath}" \
>> ${_filelist}
# this part only works for jars for now (now war/other compat support)
if [[ "" != "" ]];then
mv /home/w0rm/rpmbuild/BUILDROOT/dom4j-1.6.1-12.fc18.x86_64/usr/share/maven-poms/$_pompart \
/home/w0rm/rpmbuild/BUILDROOT/dom4j-1.6.1-12.fc18.x86_64/usr/share/maven-poms/${_pompart/.pom/-1.6.1.pom}
if [ -f "${_jpath}" ]; then
mv ${_jpath} ${_jpath/.jar/-1.6.1.jar}
fi
for ver in $(echo  | tr '\'','\'' '\''\n'\'');do
ln -s ${_pompart/.pom/-1.6.1.pom} \
/home/w0rm/rpmbuild/BUILDROOT/dom4j-1.6.1-12.fc18.x86_64//usr/share/maven-poms/${_pompart/.pom/-$ver.pom}
echo /usr/share/maven-poms/${_pompart/.pom/-$ver.pom} >>${_filelist}
# we can have pom-only artifacts
if [ -f "${_jpath/.jar/-1.6.1.jar}" ];then
ln -s `basename ${_jpath/.jar/-1.6.1.jar}` \
${_jpath/.jar/-$ver.jar}
echo ${_jpath/.jar/-$ver.jar} >>${_filelist}
fi
done
fi
sed -i '\''s:/home/w0rm/rpmbuild/BUILDROOT/dom4j-1.6.1-12.fc18.x86_64::'\'' ${_filelist}
sort -u -o ${_filelist} ${_filelist}'

declare -A FR_FILES
FR_FILES[dom4j]='%dir /usr/share/doc/dom4j-1.6.1
%doc /usr/share/doc/dom4j-1.6.1/LICENSE.txt
/usr/share/java/dom4j.jar
/usr/share/maven-poms/JPP-dom4j.pom
/usr/share/maven-fragments/dom4j'
FR_FILES[dom4j-demo]='%attr(0755,root,root) /usr/share/dom4j-1.6.1/run.sh
/usr/share/dom4j-1.6.1'
FR_FILES[dom4j-manual]='%doc /usr/share/doc/dom4j-1.6.1'
FR_FILES[dom4j-javadoc]='/usr/share/javadoc/*'

declare -A FR_DESCRIPTION


export FR_FILES FR_DESCRIPTION

export FR_PASS=80
export FR_FAIL=81
export FR_PENDING=82
export FR_NOT_APPLICABLE=83


function get_used_rpms()
# returns (stdout) list of used rpms if found, else returns 1
{
    cd $FR_REVIEWDIR
    if test  "${FR_SETTINGS[prebuilt]}" = True
    then
        files=( $(ls ../*.rpm 2>/dev/null | grep -v .src.rpm) )                || files=( '@@' )
    else
        files=( $(ls results/*.rpm 2>/dev/null | grep -v .src.rpm) )                || files=( '@@' )
    fi
    test -e ${files[0]} || return 1
    echo "${files[@]}"
    cd $OLDPWD
}

function unpack_rpms()
# Unpack all non-src rpms in results into rpms-unpacked, one dir per rpm.
{
    [ -d rpms-unpacked ] && return 0
    rpms=( $( get_used_rpms ) ) || return 1
    mkdir rpms-unpacked
    cd rpms-unpacked
    retval=0
    for rpm_path in ${rpms[@]};  do
        rpm=$( basename $rpm_path)
        mkdir $rpm
        cd $rpm
        rpm2cpio ../../$rpm_path | cpio -id &>/dev/null
        cd ..
    done
    cd ..
}

function unpack_sources()
# Unpack sources in upstream into upstream-unpacked
# Ignores (reuses) already unpacked items.
{
    sources=( $(cd upstream; ls) ) || sources=(  )
    if [[ ${#sources[@]} -eq 0 || ! -e "upstream/${sources[0]}" ]]; then
       return $FR_NOT_APPLICABLE
    fi
    for source in "${sources[@]}"; do
        mkdir upstream-unpacked/$source 2>/dev/null || continue
        rpmdev-extract -qfC  upstream-unpacked/$source upstream/$source ||            cp upstream/$source upstream-unpacked/$source
    done
}

function attach()
# Usage: attach <sorting hint> <header>
# Reads attachment from stdin
{
    startdir=$(pwd)
    cd $FR_REVIEWDIR
    for (( i = 0; i < 10; i++ )); do
        test -e $FR_REVIEWDIR/.attachments/*$i || break
    done
    if [ $i -eq 10 ]; then
        echo "More than 10 attachments! Giving up" >&2
        exit 1
    fi
    sort_hint=$1
    shift
    title=${*//\/ }
    file="$sort_hint;${title/;/:};$i"
    cat > .attachments/"$file"
    cd $startdir
}

