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 # see compatibility symlinks in notable differences # 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 # should use proper groupid org.apache.commons %add_to_maven_depmap %{short_name} %{short_name} %{version} JPP %{short_name} # 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} # see compatibility symlinks in notable differences %mvn_alias : %{short_name}:%{short_name} %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:
%install
section and then listed
in %files
section. With XMvn packages can create symlinks using
%mvn_file
macro call. The first argument specifies artifact(s) for
which symlinks are to be created, second argument specifies main
artifact file name, third (fourth, fifth, and so on) argument
specifies symlink to be created.