Bootstrap Maven as non-modular packages

Resolves: rhbz#1951482
This commit is contained in:
Mikolaj Izdebski 2021-06-08 20:17:56 +02:00
parent f675489463
commit 185a41e3cf
2 changed files with 75 additions and 140 deletions

2
.gitignore vendored
View File

@ -12,7 +12,9 @@
/wagon-2.10-source-release.zip
/wagon-3.0.0-source-release.zip
/wagon-3.1.0-source-release.zip
/wagon-3.3.2-source-release.zip
/wagon-3.3.3-source-release.zip
/wagon-3.3.4-source-release.zip
/wagon-3.4.0-source-release.zip
/wagon-3.4.1-source-release.zip
/wagon-3.4.2-source-release.zip

View File

@ -1,52 +1,47 @@
%bcond_with scm
%bcond_with ssh
# Workaround for rhbz#1969370: __bootstrap macro is not defined in
# CentOS Stream, See https://bugzilla.redhat.com/1969370
%global __bootstrap ~bootstrap
%bcond_without bootstrap
Name: maven-wagon
Epoch: 0
Version: 3.4.2
Release: 2%{?dist}
Release: 4%{?dist}
Summary: Tools to manage artifacts and deployment
License: ASL 2.0
URL: https://maven.apache.org/wagon
Source0: https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/%{version}/wagon-%{version}-source-release.zip
BuildArch: noarch
BuildRequires: maven-local
Source0: https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon/%{version}/wagon-%{version}-source-release.zip
BuildRequires: maven-local-openjdk8
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap
%else
BuildRequires: mvn(commons-io:commons-io)
BuildRequires: mvn(commons-net:commons-net)
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
BuildRequires: mvn(org.apache.httpcomponents:httpcore)
BuildRequires: mvn(org.apache.maven:maven-parent:pom:)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
BuildRequires: mvn(org.codehaus.plexus:plexus-component-metadata)
BuildRequires: mvn(org.codehaus.plexus:plexus-utils)
BuildRequires: mvn(org.jsoup:jsoup)
BuildRequires: mvn(org.slf4j:jcl-over-slf4j)
BuildRequires: mvn(org.slf4j:slf4j-api)
%if %{with ssh}
BuildRequires: mvn(com.jcraft:jsch)
BuildRequires: mvn(com.jcraft:jsch.agentproxy.connector-factory)
BuildRequires: mvn(com.jcraft:jsch.agentproxy.jsch)
%endif
%if %{with scm}
BuildRequires: mvn(org.apache.maven.scm:maven-scm-api)
BuildRequires: mvn(org.apache.maven.scm:maven-scm-manager-plexus)
%endif
Provides: maven-wagon-file = %{version}-%{release}
Provides: maven-wagon-http = %{version}-%{release}
Provides: maven-wagon-http-shared = %{version}-%{release}
Provides: maven-wagon-provider-api = %{version}-%{release}
Provides: maven-wagon-providers = %{version}-%{release}
Obsoletes: %{name}-manual < %{epoch}:%{version}-%{release}
Obsoletes: %{name}-provider-test < %{epoch}:%{version}-%{release}
%if %{without scm}
Obsoletes: %{name}-scm < %{epoch}:%{version}-%{release}
%endif
%if %{without ssh}
Obsoletes: %{name}-ssh < %{epoch}:%{version}-%{release}
%endif
Obsoletes: maven-wagon-file < 3.4.2-2
Obsoletes: maven-wagon-http < 3.4.2-2
Obsoletes: maven-wagon-http-shared < 3.4.2-2
Obsoletes: maven-wagon-provider-api < 3.4.2-2
Obsoletes: maven-wagon-providers < 3.4.2-2
Obsoletes: maven-wagon-ftp < 3.4.2-2
Obsoletes: maven-wagon-http-lightweight < 3.4.2-2
%description
Maven Wagon is a transport abstraction that is used in Maven's
@ -59,83 +54,7 @@ following providers:
* WebDAV
* SCM (in progress)
%package provider-api
Summary: provider-api module for %{name}
Obsoletes: %{name} < 2.6-4
Obsoletes: %{name}-webdav-jackrabbit < 2.9-2
%description provider-api
provider-api module for %{name}.
%package providers
Summary: providers module for %{name}
%description providers
providers module for %{name}
%package file
Summary: file module for %{name}
%description file
file module for %{name}.
%package ftp
Summary: ftp module for %{name}
%description ftp
ftp module for %{name}.
%package http
Summary: http module for %{name}
%description http
http module for %{name}.
%package http-shared
Summary: http-shared module for %{name}
%description http-shared
http-shared module for %{name}.
%package http-lightweight
Summary: http-lightweight module for %{name}
%description http-lightweight
http-lightweight module for %{name}.
%if %{with scm}
%package scm
Summary: scm module for %{name}
%description scm
scm module for %{name}.
%endif
%if %{with ssh}
%package ssh-external
Summary: ssh-external module for %{name}
%description ssh-external
ssh-external module for %{name}.
%package ssh-common
Summary: ssh-common module for %{name}
%description ssh-common
ssh-common module for %{name}.
%package ssh
Summary: ssh module for %{name}
%description ssh
ssh module for %{name}.
%endif
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
Javadoc for %{name}.
%{?javadoc_package}
%prep
%setup -q -n wagon-%{version}
@ -146,63 +65,49 @@ Javadoc for %{name}.
# disable tests, missing dependencies
%pom_disable_module wagon-tcks
%pom_disable_module wagon-ssh-common-test wagon-providers/pom.xml
%pom_disable_module wagon-ssh-common-test wagon-providers
%pom_disable_module wagon-provider-test
%pom_remove_dep :wagon-provider-test
%pom_remove_dep :wagon-provider-test wagon-providers
# missing dependencies
%pom_disable_module wagon-webdav-jackrabbit wagon-providers
%if %{without scm}
%pom_disable_module wagon-ftp wagon-providers
%pom_disable_module wagon-http-lightweight wagon-providers
%pom_disable_module wagon-scm wagon-providers
%endif
%if %{without ssh}
%pom_disable_module wagon-ssh wagon-providers
%pom_disable_module wagon-ssh-common wagon-providers
%pom_disable_module wagon-ssh-external wagon-providers
%endif
%pom_disable_module wagon-webdav-jackrabbit wagon-providers
%pom_remove_plugin :maven-shade-plugin wagon-providers/wagon-http
%build
%mvn_file ":wagon-{*}" %{name}/@1
%mvn_package ":wagon"
%build
# tests are disabled because of missing dependencies
%mvn_build -f -s
%mvn_build -f
# Maven requires Wagon HTTP with classifier "shaded"
%mvn_alias :wagon-http :::shaded:
%install
%mvn_install
%files -f .mfiles
%doc LICENSE NOTICE DEPENDENCIES
%files provider-api -f .mfiles-wagon-provider-api
%dir %{_javadir}/%{name}
%files providers -f .mfiles-wagon-providers
%files file -f .mfiles-wagon-file
%files ftp -f .mfiles-wagon-ftp
%files http -f .mfiles-wagon-http
%files http-shared -f .mfiles-wagon-http-shared
%files http-lightweight -f .mfiles-wagon-http-lightweight
%if %{with scm}
%files scm -f .mfiles-wagon-scm
%endif
%if %{with ssh}
%files ssh-external -f .mfiles-wagon-ssh-external
%files ssh-common -f .mfiles-wagon-ssh-common
%files ssh -f .mfiles-wagon-ssh
%endif
%files javadoc -f .mfiles-javadoc
%doc LICENSE NOTICE DEPENDENCIES
%license LICENSE NOTICE
%doc DEPENDENCIES
%changelog
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0:3.4.2-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.2-4
- Bootstrap Maven for CentOS Stream 9
* Tue Jun 01 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.2-3
- Obsolete removed subpackages
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.2-2
- Bootstrap build
- Non-bootstrap build
* Tue Feb 02 2021 Fabio Valentini <decathorpe@gmail.com> - 0:3.4.2-1
- Update to version 3.4.2.
@ -210,6 +115,12 @@ Javadoc for %{name}.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0:3.4.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Dec 4 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.2-1
- Update to upstream version 3.4.2
* Fri Sep 11 2020 Marian Koncek <mkoncek@redhat.com> - 3.4.1-1
- Update to upstream version 3.4.1
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:3.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
@ -225,6 +136,15 @@ Javadoc for %{name}.
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0:3.3.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jan 25 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.3.4-2
- Build with OpenJDK 8
* Thu Nov 21 2019 Marian Koncek <mkoncek@redhat.com> - 3.3.4-1
- Update to upstream version 3.3.4
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.3.3-2
- Mass rebuild for javapackages-tools 201902
* Sat Sep 14 2019 Miro Hrončok <mhroncok@redhat.com> - 0:3.3.3-4
- Obsolete maven-wagon-ssh properly (#1752165)
@ -234,9 +154,23 @@ Javadoc for %{name}.
* Fri Jul 12 2019 Fabio Valentini <decathorpe@gmail.com> - 0:3.3.3-2
- Disable SCM leaf subpackage to fix FTBFS on 32bit architectures.
* Wed Jul 10 2019 Marian Koncek <mkoncek@redhat.com> - 3.3.3-1
- Update to upstream version 3.3.3
- Remove dependency on maven-shade-plugin
* Fri Jun 28 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.3.2-3
- Disable ftp and http-lightweight providers
* Thu Jun 27 2019 Fabio Valentini <decathorpe@gmail.com> - 0:3.3.3-1
- Update to version 3.3.3.
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.3.2-2
- Mass rebuild for javapackages-tools 201901
* Wed Feb 27 2019 Marian Koncek <mkoncek@redhat.com> - 0:3.3.2-1
- Update to upstream version 3.3.2
- Fixes: RHBZ #1674068
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:3.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
@ -436,4 +370,3 @@ Javadoc for %{name}.
* Mon Nov 07 2005 Ralph Apel <r.apel at r-apel.de> - 0:1.0-0.a5.1jpp
- First JPackage build