This is a recipe for conversion of current mvn-rpmbuild spec file into xmvn style spec file.
In this recipe we'll show how to convert Maven projects using following keywords:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | %global base_name csv %global short_name commons-%{base_name} Name: apache-%{short_name} Version: 1.0 Release: 0.3.svn1071189%{?dist} Summary: Utilities to assist with handling of CSV files License: ASL 2.0 Group: Development/Libraries URL: http://commons.apache.org/sandbox/%{base_name} # svn export -r 1071189 http://svn.apache.org/repos/asf/commons/sandbox/csv/trunk/ apache-commons-csv-1.0 # tar caf apache-commons-csv-1.0.tar.xz apache-commons-csv-1.0 Source0: %{name}-%{version}.tar.xz BuildArch: noarch BuildRequires: java-devel >= 1:1.6.0 BuildRequires: jpackage-utils BuildRequires: junit4 BuildRequires: maven BuildRequires: maven-surefire-provider-junit4 BuildRequires: apache-commons-parent Requires: java >= 1:1.6.0 Requires: jpackage-utils Requires(post): jpackage-utils Requires(postun): jpackage-utils %description Commons CSV was started to unify a common and simple interface for reading and writing CSV files under an ASL license. %package javadoc Summary: API documentation for %{name} Group: Documentation Requires: jpackage-utils %description javadoc This package contains the API documentation for %{name}. %prep %setup -q sed -i 's/\r//' *.txt sed -i 's:commons-sandbox-parent:commons-parent:' pom.xml %build mvn-rpmbuild install javadoc:javadoc %install # jars install -d -m 755 %{buildroot}%{_javadir} install -p -m 644 target/%{short_name}-%{version}-SNAPSHOT.jar %{buildroot}%{_javadir}/%{name}.jar ln -sf %{name}.jar %{buildroot}%{_javadir}/%{short_name}.jar # pom install -d -m 755 %{buildroot}%{_mavenpomdir} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{short_name}.pom %add_to_maven_depmap org.apache.commons %{short_name} %{version} JPP %{short_name} # following line is only for backwards compatibility. New packages # see artifact aliases in notable differences # should use proper groupid org.apache.commons # see artifact aliases in notable differences %add_to_maven_depmap %{short_name} %{short_name} %{version} JPP %{short_name} # see artifact aliases in notable differences # javadoc install -d -m 755 %{buildroot}%{_javadocdir}/%{name} cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name} %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root,-) %doc LICENSE.txt NOTICE.txt %{_javadir}/*.jar %{_mavenpomdir}/JPP-%{short_name}.pom %{_mavendepmapfragdir}/* %files javadoc %defattr(-,root,root,-) %doc LICENSE.txt NOTICE.txt %doc %{_javadocdir}/%{name} %changelog * Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.3.svn1071189 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.2.svn1071189 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Thu Feb 17 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.0-0.1.svn1071189 - Initial version of the package |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | %global base_name csv %global short_name commons-%{base_name} Name: apache-%{short_name} Version: 1.0 Release: 0.4.svn1071189%{?dist} Summary: Utilities to assist with handling of CSV files License: ASL 2.0 Group: Development/Libraries URL: http://commons.apache.org/sandbox/%{base_name} # svn export -r 1071189 http://svn.apache.org/repos/asf/commons/sandbox/csv/trunk/ apache-commons-csv-1.0 # tar caf apache-commons-csv-1.0.tar.xz apache-commons-csv-1.0 Source0: %{name}-%{version}.tar.xz BuildArch: noarch BuildRequires: xmvn >= 0.2.1 BuildRequires: java-devel >= 1:1.6.0 BuildRequires: jpackage-utils BuildRequires: junit4 BuildRequires: maven-surefire-provider-junit4 BuildRequires: apache-commons-parent %description Commons CSV was started to unify a common and simple interface for reading and writing CSV files under an ASL license. %package javadoc Summary: API documentation for %{name} Group: Documentation Requires: jpackage-utils %description javadoc This package contains the API documentation for %{name}. %prep %setup -q sed -i 's/\r//' *.txt sed -i 's:commons-sandbox-parent:commons-parent:' pom.xml %build %mvn_file : %{short_name} %{name} %mvn_alias : %{short_name}:%{short_name} # see artifact aliases in notable differences %mvn_build %install %mvn_install %files -f .mfiles %doc LICENSE.txt NOTICE.txt %files javadoc -f .mfiles-javadoc %doc LICENSE.txt NOTICE.txt %changelog * Tue Jan 15 2013 Michal Srb <msrb@redhat.com> - 1.0-0.4.svn1071189 - Build with xmvn - Spec file cleanup * Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.3.svn1071189 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-0.2.svn1071189 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Thu Feb 17 2011 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1.0-0.1.svn1071189 - Initial version of the package |
apache-commons-csv requires:
apache-commons-csv-javadoc requires:
apache-commons-csv requires:
apache-commons-csv-javadoc requires:
%add_to_maven_depmap
macro or %add_maven_depmap
with argument -a
. With XMvn aliases are generated using %mvn_alias
macro, which is defined and documented in /etc/rpm/macros.xmvn
file.