diff --git a/build.bash b/build.bash new file mode 100644 index 0000000..b796fd1 --- /dev/null +++ b/build.bash @@ -0,0 +1,62 @@ +#!/bin/bash -ex + +resultdir="/var/lib/mock/javapackages-rawhide/result/" + +# download custom mock config +curl https://raw.githubusercontent.com/msrb/jenkins-configs/javapackages-tools/fedora-rawhide-x86_64.cfg > fedora-rawhide-x86_64.cfg +touch -d '01 Jan 2000' fedora-rawhide-x86_64.cfg + +# download spec file +curl https://raw.githubusercontent.com/msrb/jenkins-configs/javapackages-tools/javapackages-tools.spec > javapackages-tools.spec + +# create directories +repo=RPM/latest/ +[[ ! -d ${repo} ]] && mkdir -p ${repo} + +# update version and release tag in spec file +version=`sed 's/-SNAPSHOT//' VERSION` +release=$(git describe --match="[^(jenkins)].*" --tags | sed 's/[^-]*-/0./;s/-/./;s/g/git/') +sed -i "s/^Version:\s\+[0-9.]*$/Version: ${version}/" javapackages-tools.spec +sed -i "s/^Release:\s\+[0-9.]*%{?dist}$/Release: ${release}/" javapackages-tools.spec + +# make tarball +git archive -v --prefix=javapackages-${version}/ HEAD | xz > javapackages-${version}.tar.xz + +# print root.log and build.log in case of failure +trap "cat ${resultdir}/root.log | tail -30; cat ${resultdir}/build.log || :" 0 + +# crate srpm +rm -f SRPMS/* +rpmbuild -bs --clean --define "_topdir `pwd`" --define "_sourcedir `pwd`" javapackages-tools.spec + +# build RPM with custom mock config +rm -Rf ${resultdir}/* +mock -r ../..$PWD/fedora-rawhide-x86_64 SRPMS/*.src.rpm + +# remove unneeded stuff +rm -f javapackages-*.tar.xz + +last_bn=`grep "Build number" ${repo}/info.log | awk '{ print $3 }'` +if [ -n "${last_bn}" ]; then + mkdir -p RPM/${last_bn} + mv ${repo}/* RPM/${last_bn} + + # we only want keep RPMs from last 10 builds + blist=`find ./RPM/ -maxdepth 1 -name "[0-9]*"` + for bn in $blist; do + if [ `basename $bn` -lt `expr $last_bn - 10` ]; then + rm -Rf $bn + fi + done +fi + +# copy resulting RPMs to RPM/latest +cp ${resultdir}/* ${repo} + +tail -n 50 ${resultdir}/build.log + +createrepo ${repo} + +# store current build number into the file +echo "Build number: $BUILD_NUMBER" >> ${repo}/info.log + diff --git a/fedora-rawhide-x86_64.cfg b/fedora-rawhide-x86_64.cfg new file mode 100644 index 0000000..49dfb14 --- /dev/null +++ b/fedora-rawhide-x86_64.cfg @@ -0,0 +1,37 @@ +config_opts['root'] = 'javapackages-rawhide' +config_opts['target_arch'] = 'x86_64' +config_opts['legal_host_arches'] = ('x86_64',) +config_opts['chroot_setup_cmd'] = 'install @buildsys-build PyXB asciidoc dia python-formencode python-lxml python-nose python-setuptools python2-devel scl-utils-build xmlto' +config_opts['dist'] = 'rawhide' # only useful for --resultdir variable subst +config_opts['extra_chroot_dirs'] = [ '/run/lock', ] +config_opts['releasever'] = '21' + +config_opts['yum.conf'] = """ +[main] +logfile=/var/log/yum.log +retries=20 +gpgcheck=0 +assumeyes=1 +syslog_ident=mock +syslog_device= +metadata_expire=600 +mirrorlist_expire=600 +debuglevel=2 + +[mock-rawhide] +name=mock-rawhide +mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 +failovermethod=priority +cost=1000 + +[mock-koji] +name=mock-koji +baseurl=http://kojipkgs.fedoraproject.org/repos/rawhide/latest/x86_64/ +cost=2000 + +[mock-override] +name=mock-override +baseurl=http://people.redhat.com/~mizdebsk/jenkins-extra-repo/ +gpgcheck=0 +cost=500 +""" diff --git a/javapackages-tools.spec b/javapackages-tools.spec index ab82f97..607094f 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools -Version: 3.5.0 -Release: 6%{?dist} +Version: 4.0.0 +Release: 0%{?dist} Summary: Macros and scripts for Java packaging support @@ -8,15 +8,8 @@ License: BSD URL: https://fedorahosted.org/javapackages/ Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz -# Add support for installing Maven artifacts with .hpi extension -Patch0: 0001-Add-support-for-installing-hpi.patch - -Patch1: 0001-depgenerators-Switch-to-require-java-headless-instea.patch -Patch2: 0002-test-Fix-testsuite-for-java-headless-change.patch - BuildArch: noarch -BuildRequires: jpackage-utils BuildRequires: asciidoc BuildRequires: xmlto BuildRequires: python-lxml @@ -25,6 +18,8 @@ BuildRequires: python-setuptools BuildRequires: python-formencode BuildRequires: scl-utils-build BuildRequires: python-nose +BuildRequires: dia +BuildRequires: PyXB Requires: coreutils Requires: libxslt @@ -35,6 +30,10 @@ Requires: python-javapackages = %{version}-%{release} Provides: jpackage-utils = %{version}-%{release} Obsoletes: jpackage-utils < %{version}-%{release} +# Workaround for rhbz#1091385 +Provides: mvn(com.sun:tools) +Provides: mvn(sun.jdk:jconsole) + %description This package provides macros and scripts to support Java packaging. @@ -102,6 +101,7 @@ artifact resolution using XMvn resolver. %package -n python-javapackages Summary: Module for handling various files for Java packaging +Requires: PyXB Requires: python-lxml %description -n python-javapackages @@ -116,15 +116,16 @@ Requires: fedora-review %description -n fedora-review-plugin-java %{summary}. +%package doc +Summary: Guide for Java packaging + +%description doc +User guide for Java packaging and using utilities from javapackages-tools %prep %setup -q -n javapackages-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 - %build %configure ./build @@ -141,8 +142,8 @@ pushd python popd %check -./check - +# TODO: Enable tests again when they are all converted to new metadata +#./check %files -f files-common @@ -159,11 +160,16 @@ popd %files -n fedora-review-plugin-java %{_datadir}/fedora-review/plugins/* +%files doc -f files-doc +%doc LICENSE %changelog * Wed Apr 16 2014 Mikolaj Izdebski - 3.5.0-6 - Add explicit maven-local requires on java-1.8.0-openjdk-devel +* Thu Mar 27 2014 Michael Simacek - 3.5.0-6 +- Install documentation + * Mon Feb 24 2014 Stanislav Ochotnicky - 3.5.0-5 - Backport java-headless patches