Hello community, here is the log from the commit of package jpackage-utils for openSUSE:Factory checked in at 2012-01-27 15:17:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jpackage-utils (Old) and /work/SRC/openSUSE:Factory/.jpackage-utils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jpackage-utils", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/jpackage-utils/jpackage-utils.changes 2011-09-23 02:04:22.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.jpackage-utils.new/jpackage-utils.changes 2012-01-27 15:17:57.000000000 +0100 @@ -1,0 +2,21 @@ +Thu Jan 26 10:21:07 UTC 2012 - [email protected] + +- add jpackage-utils-jnidir-suse.patch + * SUSE don't have versioned java dir by default, so let's change + JAVAVER_LIBDIR to /usr/share/java is -%version one does not + exists instead of fail + +------------------------------------------------------------------- +Fri Jan 20 12:48:07 UTC 2012 - [email protected] + +- sync with Fedora + * add abs2rel.sh and abs2rel.lua + * add maven related tools from Fedora + * new macros like _mavenpomdir and _javajnidir + * preffer JRE over JDK in set_java_home + * fixed dependencies (removed uneeded Perl, added python for + maven_depmap.py) + * do not create directories for java 1.4.2, add 1.8.0 to be ready + for the future + +------------------------------------------------------------------- New: ---- abs2rel.lua abs2rel.sh javapackages-0.2.6.tar.xz jpackage-utils-jnidir-suse.patch jpackage-utils-jnidir.patch jpackage-utils-own-mavendirs.patch jpackage-utils-prefer-jre.patch jpackage-utils-set-classpath.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jpackage-utils.spec ++++++ --- /var/tmp/diff_new_pack.HzM14D/_old 2012-01-27 15:17:58.000000000 +0100 +++ /var/tmp/diff_new_pack.HzM14D/_new 2012-01-27 15:17:58.000000000 +0100 @@ -1,7 +1,7 @@ # -# spec file for package jpackage-utils (Version 1.7.5) +# spec file for package jpackage-utils # -# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,6 +19,8 @@ %define distver 1.7 %define section free +%global fj_version 0.2.6 + Name: jpackage-utils Version: 1.7.5 Release: 15 @@ -27,13 +29,31 @@ Url: http://www.jpackage.org/ Source0: %{name}-%{version}.tar.bz2 Source1: jpackage-utils-1.7.5-man-pages.tar.bz2 -Source2: README.SUSE +Source2: abs2rel.sh +Source3: abs2rel.lua +# fedora specific macros +Source8: https://fedorahosted.org/released/javapackages/javapackages-%{fj_version}.tar.xz Source1000: jpackage-utils-rpmlintrc -Patch0: %{name}-1.7.3-macros.patch +Source1001: README.SUSE +#PATCH-FIX-SUSE: skip all macros which are in aaa_base package +Patch0: jpackage-utils-1.7.3-macros.patch +Patch1: jpackage-utils-own-mavendirs.patch +Patch2: jpackage-utils-prefer-jre.patch +Patch3: jpackage-utils-set-classpath.patch +Patch4: jpackage-utils-jnidir.patch +#PATCH-FIX-SUSE: in set_jvm_dirs call set_javacmd explicitelly and change +#JAVAVER_LIBDIR to JAVA_LIBDIR if it does not exists +Patch1000: jpackage-utils-jnidir-suse.patch Group: Development/Languages/Java BuildRoot: %{_tmppath}/%{name}-%{version}-build -AutoReqProv: on -Requires: /bin/egrep, /bin/sed, /usr/bin/perl + +BuildRequires: xz + +Requires: awk +Requires: coreutils +Requires: grep +Requires: python +Requires: sed %description Utilities for the JPackage project <http://www.jpackage.org/>. @@ -41,9 +61,19 @@ %prep -%setup -q -b 1 +%setup -q -b 1 -a 8 + %patch0 -b .sav -cp %{SOURCE2} doc +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + +%patch1000 -p1 + +cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE8} . + +cp %{SOURCE1001} doc %build echo "JPackage release %{distver} (%{distribution}) for %{buildarch}" \ @@ -53,13 +83,15 @@ # Pull macros out of macros.jpackage and emulate them during install for # smooth bootstrapping experience. for dir in \ - jvmdatadir jvmsysconfdir \ - jvmcommonlibdir jvmcommondatadir jvmcommonsysconfdir \ + jvmdir jvmjardir jvmprivdir \ jvmlibdir jvmdatadir jvmsysconfdir \ jvmcommonlibdir jvmcommondatadir jvmcommonsysconfdir \ - mavendepmapdir; do - export _${dir}=$(rpm --eval $(%{__grep} -E "^%_${dir}\b" misc/macros.jpackage | %{__awk} '{ print $2 }')) + javadir jnidir javajnidir javadocdir mavenpomdir \ + mavendepmapdir mavendepmapfragdir; do + export _${dir}=$(rpm --eval $(%{__grep} -E "^%_${dir}\b" \ + misc/macros.jpackage | %{__awk} '{ print $2 }')) done + install -dm 755 ${RPM_BUILD_ROOT}%{_bindir} install -dm 755 ${RPM_BUILD_ROOT}%{_sysconfdir}/{java,rpm,init.d} install -dm 755 ${RPM_BUILD_ROOT}%{_jvmdir} @@ -72,17 +104,30 @@ install -dm 755 ${RPM_BUILD_ROOT}${_jvmcommondatadir} install -dm 755 ${RPM_BUILD_ROOT}${_jvmcommonsysconfdir} install -dm 755 ${RPM_BUILD_ROOT}%{_javadir} +install -dm 755 ${RPM_BUILD_ROOT}%{_javadir}-utils +install -dm 755 ${RPM_BUILD_ROOT}%{_javadir}-ext +install -dm 755 ${RPM_BUILD_ROOT}${_javadir}-{1.5.0,1.6.0,1.7.0,1.8.0} install -dm 755 ${RPM_BUILD_ROOT}%{_jnidir} -install -dm 755 ${RPM_BUILD_ROOT}%{_javadir}-{utils,ext,1.{4,5,6,7}.0,1.4.{1,2}} -install -dm 755 ${RPM_BUILD_ROOT}%{_jnidir}-{ext,1.{4,5,6,7}.0,1.4.{1,2}} +install -dm 755 ${RPM_BUILD_ROOT}%{_jnidir}-ext +install -dm 755 ${RPM_BUILD_ROOT}%{_jnidir}-{1.5.0,1.6.0,1.7.0,1.8.0} +install -dm 755 ${RPM_BUILD_ROOT}${_javajnidir} install -dm 755 ${RPM_BUILD_ROOT}%{_javadocdir} +install -dm 755 ${RPM_BUILD_ROOT}${_mavenpomdir} install -dm 755 ${RPM_BUILD_ROOT}${_mavendepmapdir} -install -dm 755 ${RPM_BUILD_ROOT}%{_sbindir} +install -dm 755 ${RPM_BUILD_ROOT}${_mavendepmapfragdir} + +install -dm 755 ${RPM_BUILD_ROOT}%{_bindir} install -pm 755 bin/* ${RPM_BUILD_ROOT}%{_bindir} install -pm 644 etc/font.properties ${RPM_BUILD_ROOT}%{_sysconfdir}/java + +# Install abs2rel scripts +install -pm 755 abs2rel.sh ${RPM_BUILD_ROOT}%{_javadir}-utils +install -pm 644 abs2rel.lua ${RPM_BUILD_ROOT}%{_javadir}-utils + # Create an initial (empty) depmap echo -e "<dependencies>\\n" > ${RPM_BUILD_ROOT}${_mavendepmapdir}/maven2-depmap.xml echo -e "</dependencies>\\n" >> ${RPM_BUILD_ROOT}${_mavendepmapdir}/maven2-depmap.xml + cat > etc/java.conf << EOF # System-wide Java configuration file -*- sh -*- # @@ -91,25 +136,56 @@ JAVA_LIBDIR=%{_javadir} # Location of arch-specific jar files on the system JNI_LIBDIR=%{_jnidir} +# Location for noarch jar files using arch-specifics jar files +JAVAJNI_LIBDIR=${_javajnidir} # Root of all JVM installations JVM_ROOT=%{_jvmdir} # You can define a system-wide JVM root here if you're not using the default one #JAVA_HOME=\$JVM_ROOT/java +# +# If you have the a base JRE package installed +# (e.g. java-1.6.0-openjdk): +#JAVA_HOME=\$JVM_ROOT/jre +# +# If you have the a devel JDK package installed +# (e.g. java-1.6.0-openjdk-devel): +#JAVA_HOME=\$JVM_ROOT/java + # Options to pass to the java interpreter JAVACMD_OPTS= EOF + install -pm 644 etc/java.conf ${RPM_BUILD_ROOT}%{_sysconfdir}/java install -pm 644 etc/jpackage-release ${RPM_BUILD_ROOT}%{_sysconfdir}/java install -pm 644 java-utils/* ${RPM_BUILD_ROOT}%{_javadir}-utils install -pm 644 misc/macros.jpackage ${RPM_BUILD_ROOT}%{_sysconfdir}/rpm + install -dm 0755 ${RPM_BUILD_ROOT}%{_mandir}/man{1,5,7} install -pm 644 man/*.1 ${RPM_BUILD_ROOT}%{_mandir}/man1 install -pm 644 man/*.5 ${RPM_BUILD_ROOT}%{_mandir}/man5 install -pm 644 man/*.7 ${RPM_BUILD_ROOT}%{_mandir}/man7 + install -dm 0755 ${RPM_BUILD_ROOT}%{_javadir}-utils/xml install -pm 644 xml/* ${RPM_BUILD_ROOT}%{_javadir}-utils/xml + +# imported fedora-specific extensions +pushd javapackages-%{fj_version} +# Add the provides script +install -m0755 -D depgenerators/maven.prov $RPM_BUILD_ROOT%{_rpmconfigdir}/maven.prov +install -m0755 -D depgenerators/osgi.prov $RPM_BUILD_ROOT%{_rpmconfigdir}/osgi.prov +install -m0755 -D depgenerators/osgi.req $RPM_BUILD_ROOT%{_rpmconfigdir}/osgi.req +# Add the maven poms file attribute entry (rpm >= 4.9.0) +install -m0644 -D depgenerators/fileattrs/maven.attr \ + $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/maven.attr +install -m0644 -D depgenerators/fileattrs/osgi.attr \ + $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/osgi.attr + +install -pm 644 macros.fjava ${RPM_BUILD_ROOT}%{_sysconfdir}/rpm +install -pm 644 scripts/maven_depmap.py ${RPM_BUILD_ROOT}${_javadir}-utils +popd + cat <<EOF > %{name}-%{version}.files -# %{_bindir}/* +%{_bindir}/* %{_mandir}/man1/* %{_mandir}/man5/* %{_mandir}/man7/* @@ -123,37 +199,26 @@ %dir ${_jvmcommonlibdir} %dir ${_jvmcommondatadir} %dir ${_jvmcommonsysconfdir} +%dir %{_javadir} %dir %{_javadir}-* %dir %{_jnidir} %dir %{_jnidir}-* %dir %{_javadocdir} -%{_javadir}-utils/* +%dir ${_mavenpomdir} %dir ${_mavendepmapdir} +%dir ${_mavendepmapfragdir} %{_javadir}-utils/* +%{_rpmconfigdir}/*.prov +%{_rpmconfigdir}/*.req +%dir %{_rpmconfigdir}/fileattrs +%{_rpmconfigdir}/fileattrs/*.attr %config %{_sysconfdir}/java/jpackage-release %config(noreplace) %{_sysconfdir}/java/java.conf %config(noreplace) %{_sysconfdir}/java/font.properties %config(noreplace) %{_sysconfdir}/rpm/macros.jpackage +%config(noreplace) %{_sysconfdir}/rpm/macros.fjava %config(noreplace) ${_mavendepmapdir}/maven2-depmap.xml EOF -cat > ${RPM_BUILD_ROOT}/%{_bindir}/rebuild-security-providers <<EOF -#!/bin/sh -# Rebuild the list of security providers classpath.security -cat %{_prefix}/lib/security/classpath.security \ - | grep -v "^security.provider." \ - > %{_prefix}/lib/security/classpath.security.bak -mv -f %{_prefix}/lib/security/classpath.security.bak \ - %{_prefix}/lib/security/classpath.security -providers=\$(ls %{_sysconfdir}/java/security/security.d | sort \ - | awk -F- '{ print \$2 }') -count=0 -for provider in \$providers -do - count=\$((count + 1)) - echo "security.provider."\$count"="\$provider \ - >> %{_prefix}/lib/security/classpath.security -done -EOF %files -f %{name}-%{version}.files %defattr(-,root,root,-) ++++++ abs2rel.lua ++++++ --[[ abs2rel for Lua split and split_path taken from "Split a string with a pattern, Take Two" http://lua-users.org/wiki/SplitJoin --]] function split(str, pat) local t = {} -- NOTE: use {n = 0} in Lua-5.0 local fpat = "(.-)" .. pat local last_end = 1 local s, e, cap = str:find(fpat, 1) while s do if s ~= 1 or cap ~= "" then table.insert(t,cap) end last_end = e+1 s, e, cap = str:find(fpat, last_end) end if last_end <= #str then cap = str:sub(last_end) table.insert(t, cap) end return t end function split_path(str) return split(str,'[\\/]+') end -- parts = split_path("/usr/local/bin") --> {'usr','local','bin'} function join(words, sep) local s = "" for i,v in ipairs(words) do s = s .. sep .. v end return string.sub (s, string.len(sep)+1) end function abs2rel (path, base) if path == base then return "." end local pathdirs = split_path (path) local basedirs = split_path (base) local i = 1 local rem_i = math.min(#pathdirs, #basedirs) -- remove common parts of both paths while (rem_i > 0) and (pathdirs[i] == basedirs[i]) do rem_i = rem_i - 1 table.remove(pathdirs, 1) table.remove(basedirs, 1) end -- now for each remaining basedirs, replace them with .. if #basedirs > 0 then for i, v in ipairs(basedirs) do basedirs[i] = ".." end end for i, v in ipairs(pathdirs) do basedirs[#basedirs+1] = v end return join(basedirs, "/") end ++++++ abs2rel.sh ++++++ #!/bin/sh (cd `dirname $0` && lua -l abs2rel -e "print(abs2rel(\"$1\", \"$2\"))") ++++++ jpackage-utils-1.7.3-macros.patch ++++++ --- /var/tmp/diff_new_pack.HzM14D/_old 2012-01-27 15:17:58.000000000 +0100 +++ /var/tmp/diff_new_pack.HzM14D/_new 2012-01-27 15:17:58.000000000 +0100 @@ -1,5 +1,7 @@ ---- misc/macros.jpackage -+++ misc/macros.jpackage +Index: misc/macros.jpackage +=================================================================== +--- misc/macros.jpackage.orig 2008-01-04 12:21:42.000000000 +0100 ++++ misc/macros.jpackage 2012-01-20 09:32:49.571276347 +0100 @@ -13,17 +13,20 @@ # # Root directory where all Java VMs/SDK/JREs are installed. @@ -86,7 +88,7 @@ #============================================================================== # -@@ -297,38 +306,42 @@ +@@ -302,38 +311,42 @@ # %4 jars (separated by ':') # %5 the name of script you wish to create # ++++++ jpackage-utils-jnidir-suse.patch ++++++ Index: jpackage-utils-1.7.5/java-utils/java-functions =================================================================== --- jpackage-utils-1.7.5.orig/java-utils/java-functions 2012-01-25 14:53:00.000000000 +0100 +++ jpackage-utils-1.7.5/java-utils/java-functions 2012-01-26 10:02:51.456368485 +0100 @@ -148,6 +148,7 @@ # Requires a correct $JAVA_LIBDIR, $JAVA_HOME and $JAVA_CMD set_jvm_dirs() { _set_java_home + set_javacmd # Jar repository provided by the JVM JVM_LIBDIR=$JVM_ROOT-exports/$(echo "$JAVA_HOME" |\ @@ -180,8 +181,7 @@ echo "$0: error: JVM_LIBDIR $JVM_LIBDIR does not exist or is not a directory" return 1 elif [ ! -d "$JAVAVER_LIBDIR" ]; then - echo "$0: error: JAVAVER_LIBDIR $JAVAVER_LIBDIR does not exist or is not a directory" - return 1 + JAVAVER_LIBDIR=$JAVA_LIBDIR elif [ ! -d "$JAVAVER_JNIDIR" ]; then echo "$0: error: JAVAVER_JNIDIR $JAVAVER_JNIDIR does not exist or is not a directory" return 1 ++++++ jpackage-utils-jnidir.patch ++++++ Index: jpackage-utils-1.7.5/java-utils/java-functions =================================================================== --- jpackage-utils-1.7.5.orig/java-utils/java-functions 2012-01-20 09:45:04.974447377 +0100 +++ jpackage-utils-1.7.5/java-utils/java-functions 2012-01-20 09:45:18.125897213 +0100 @@ -310,7 +310,8 @@ extension=$1 for jardir in "$JVM_LIBDIR" "$JAVAVER_JNIDIR" "$JAVAVER_LIBDIR" \ - "$JAVAAPP_LIBDIR" "$JNI_LIBDIR" "$JAVA_LIBDIR" ; do + "$JAVAAPP_LIBDIR" "$JNI_LIBDIR" "$JAVA_LIBDIR" \ + "$JAVAJNI_LIBDIR"; do if [ -d "$jardir" ] ; then if [ -r "$jardir/$extension.jar" ] ; then echo "$jardir/$extension.jar" Index: jpackage-utils-1.7.5/misc/macros.jpackage =================================================================== --- jpackage-utils-1.7.5.orig/misc/macros.jpackage 2012-01-20 09:44:36.339467903 +0100 +++ jpackage-utils-1.7.5/misc/macros.jpackage 2012-01-20 09:45:18.126897247 +0100 @@ -88,6 +88,12 @@ # already in /usr/lib/macros on SUSE: # %_jnidir %{_prefix}/lib/java +# +# Directory where architecture-independent that use +# architecture-dependent files are placed +# +%_javajnidir %{_datadir}/java-jni + # # Root directory where all javadoc is installed. Also already in RH macros. # ++++++ jpackage-utils-own-mavendirs.patch ++++++ Index: jpackage-utils-1.7.5/misc/macros.jpackage =================================================================== --- jpackage-utils-1.7.5.orig/misc/macros.jpackage 2012-01-20 09:44:35.294432157 +0100 +++ jpackage-utils-1.7.5/misc/macros.jpackage 2012-01-20 09:44:36.339467903 +0100 @@ -94,11 +94,14 @@ # already in /usr/lib/macros on SUSE: # %_javadocdir %{_datadir}/javadoc +# Directory for maven poms +%_mavenpomdir %{_datadir}/maven-poms + # # Directory for maven depmaps # -%_mavendepmapdir /etc/maven -%_mavendepmapfragdir /etc/maven/fragments +%_mavendepmapdir %{_sysconfdir}/maven +%_mavendepmapfragdir %{_datadir}/maven-fragments # # Current default JVM home. ++++++ jpackage-utils-prefer-jre.patch ++++++ Index: jpackage-utils-1.7.5/java-utils/java-functions =================================================================== --- jpackage-utils-1.7.5.orig/java-utils/java-functions 2012-01-20 09:39:48.000000000 +0100 +++ jpackage-utils-1.7.5/java-utils/java-functions 2012-01-20 09:39:58.979978080 +0100 @@ -24,11 +24,26 @@ [ ! -z "$_JAVA_HOME" -a -d "$_JAVA_HOME" ] && JAVA_HOME="$_JAVA_HOME" # Test default JRE/JVM roots if nothing is defined yet -[ -z "$JAVA_HOME" -a -d "$JVM_ROOT/java" ] && JAVA_HOME="$JVM_ROOT/java" -[ -z "$JAVA_HOME" -a -d "$JVM_ROOT/jre" ] && JAVA_HOME="$JVM_ROOT/jre" +_set_java_home() { + if [ -z "$JAVA_HOME" ] ; then + local _java_dirs="java" + case "$_prefer_jre" in + 1|[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]) _java_dirs="jre $_java_dirs" ;; + *) _java_dirs="$_java_dirs jre" ;; + esac + for d in $_java_dirs ; do + if [ -d "$JVM_ROOT/$d" ] ; then + JAVA_HOME="$JVM_ROOT/$d" + break + fi + done + fi +} # Set the java virtual machine set_jvm() { + _set_java_home + # use $JAVA_HOME if defined if [ -n "$JAVA_HOME" ] ; then return @@ -60,6 +75,8 @@ # Set the classpath # This requires a valid JAVA_HOME, JAVACMD, and JAVA_LIBDIR set_classpath() { + _set_java_home + # get local classpath first jars=$@ if [ -n "$ADDITIONAL_JARS" ] ; then @@ -130,6 +147,8 @@ # Set JVM-related directories # Requires a correct $JAVA_LIBDIR, $JAVA_HOME and $JAVA_CMD set_jvm_dirs() { + _set_java_home + # Jar repository provided by the JVM JVM_LIBDIR=$JVM_ROOT-exports/$(echo "$JAVA_HOME" |\ sed -n "s+$JVM_ROOT/\([-_[:alnum:].]*\)\(.*\)+\1+p") ++++++ jpackage-utils-set-classpath.patch ++++++ Index: jpackage-utils-1.7.5/java-utils/java-functions =================================================================== --- jpackage-utils-1.7.5.orig/java-utils/java-functions 2012-01-20 09:44:58.199215631 +0100 +++ jpackage-utils-1.7.5/java-utils/java-functions 2012-01-20 09:45:04.974447377 +0100 @@ -141,7 +141,7 @@ echo "arguments used: $@" fi # let's start - exec $JAVACMD $FLAGS -classpath $CLASSPATH $OPTIONS $MAIN_CLASS "$@" + exec "$JAVACMD" $FLAGS -classpath "$CLASSPATH" $OPTIONS "$MAIN_CLASS" "$@" } # Set JVM-related directories -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
