Committed as r711744.
-Mark.
In message <[EMAIL PROTECTED]>, Oliver Deakin writes:
>
> Looks good to me. +1 to that fix.
>
> Regards,
> Oliver
>
> Mark Hindess wrote:
> > The correct fix is:
> >
> > Index: build.xml
> > ===================================================================
> > --- build.xml (revision 711662)
> > +++ build.xml (working copy)
> > @@ -319,6 +319,7 @@
> > <chmod file="${target.dir}/hdk/jdk/jre/bin/keytool*" perm="ugo+x"
> />
> > <chmod file="${target.dir}/hdk/jdk/jre/bin/policytool*" perm="ugo+
> x" />
> > <chmod file="${target.dir}/hdk/jdk/jre/bin/unpack200*" perm="ugo+x
> " />
> > + <chmod file="${target.dir}/hdk/jdk/jre/bin/pack200*" perm="ugo+x"
> />
> > </target>
> >
> > <target name="assemble-jdk">
> >
> > Please can someone second this commit?
> >
> > Regards,
> > Mark.
> >
> > In message <[EMAIL PROTECTED]>, "
> Sian
> > January" writes:
> >
> >> Hi Chunrong,
> >>
> >> I've downloaded the hdk snapshot (Windows32) from
> >> http://people.apache.org/builds/harmony/snapshots/r710036/ and both
> >> the pack200 executables work for me. Which platform are you seeing
> >> problems on?
> >>
> >> Thanks,
> >>
> >> Sian
> >>
> >>
> >> 2008/11/5 chunrong lai <[EMAIL PROTECTED]>:
> >>
> >>> I see after a HDK building there are four pack200.
> >>>
> >>> ./working_jdktools/deploy/jdk/bin/pack200
> >>> ./working_jdktools/deploy/jdk/jre/bin/pack200
> >>> ./target/hdk/jdk/bin/pack200
> >>> ./target/hdk/jdk/jre/bin/pack200
> >>>
> >>> While the first three are executable but the fourth is not yet. I think t
> ha
> >>>
> >> t
> >>
> >>> it is what we run by default.
> >>> So we need to further enhanced the scripts to make it executable.
> >>>
> >>> + <echo message="Run jdk/jre/bin/pack200 in ${hy.tests.reports}"/>
> >>> + <exec failonerror="true"
> >>> + executable="${test.jre.home}/bin/pack200${exe.suffix}"
> >>> + dir="${hy.tests.reports}">
> >>> + <arg line="" />
> >>> + </exec>
> >>>
> >>>
> >>>
> >>>
> >>> On Wed, Oct 22, 2008 at 6:28 PM, <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>> Author: sjanuary
> >>>> Date: Wed Oct 22 03:28:30 2008
> >>>> New Revision: 707024
> >>>>
> >>>> URL: http://svn.apache.org/viewvc?rev=707024&view=rev
> >>>> Log:
> >>>> Pack200 - add "pack200" executable
> >>>>
> >>>> Added:
> >>>>
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/src/main/java/org/apac
> he
> >>>>
> >> /harmony/jretools/pack200/
> >>
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/src/main/java/org/apac
> he
> >>>>
> >> /harmony/jretools/pack200/Main.java
> >>
> >>>> (with props)
> >>>> Modified:
> >>>> harmony/enhanced/jdktools/trunk/modules/jdktools/META-INF/MANIFEST.MF
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/META-INF/MANIFEST.MF
> >>>> harmony/enhanced/jdktools/trunk/modules/samsa/build.xml
> >>>>
> >>>> Modified:
> >>>> harmony/enhanced/jdktools/trunk/modules/jdktools/META-INF/MANIFEST.MF
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/jdk
> to
> >>>>
> >> ols/META-INF/MANIFEST.MF?rev=707024&r1=707023&r2=707024&view=diff
> >>
> >>>> ========================================================================
> ==
> >>>>
> >> ====
> >>
> >>>> --- harmony/enhanced/jdktools/trunk/modules/jdktools/META-INF/MANIFEST.M
> F
> >>>> (original)
> >>>> +++ harmony/enhanced/jdktools/trunk/modules/jdktools/META-INF/MANIFEST.M
> F
> >>>> Wed Oct 22 03:28:30 2008
> >>>> @@ -40,6 +40,7 @@
> >>>> org.apache.harmony.tools.jarsigner,
> >>>> org.apache.harmony.tools.keytool,
> >>>> org.apache.harmony.tools.unpack200,
> >>>> + org.apache.harmony.tools.pack200,
> >>>> com.sun.tools.javac,
> >>>> com.sun.tools.jdi,
> >>>> com.sun.tools.jdi.connect,
> >>>>
> >>>> Modified:
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/META-INF/MANIFEST.MF
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/jre
> to
> >>>>
> >> ols/META-INF/MANIFEST.MF?rev=707024&r1=707023&r2=707024&view=diff
> >>
> >>>> ========================================================================
> ==
> >>>>
> >> ====
> >>
> >>>> --- harmony/enhanced/jdktools/trunk/modules/jretools/META-INF/MANIFEST.M
> F
> >>>> (original)
> >>>> +++ harmony/enhanced/jdktools/trunk/modules/jretools/META-INF/MANIFEST.M
> F
> >>>> Wed Oct 22 03:28:30 2008
> >>>> @@ -36,4 +36,5 @@
> >>>> org.apache.harmony.security.x509;version="1.0.0"
> >>>> Export-Package: org.apache.harmony.jretools.keytool,
> >>>> org.apache.harmony.jretools.unpack200,
> >>>> + org.apache.harmony.jretools.pack200,
> >>>> org.apache.harmony.jretools.policytool
> >>>>
> >>>> Added:
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/src/main/java/org/apach
> e/
> >>>>
> >> harmony/jretools/pack200/Main.java
> >>
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/jre
> to
> >>>>
> >> ols/src/main/java/org/apache/harmony/jretools/pack200/Main.java?rev=707024
> &vi
> >> ew=auto
> >>
> >>>> ========================================================================
> ==
> >>>>
> >> ====
> >>
> >>>> ---
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/src/main/java/org/apach
> e/
> >>>>
> >> harmony/jretools/pack200/Main.java
> >>
> >>>> (added)
> >>>> +++
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/src/main/java/org/apach
> e/
> >>>>
> >> harmony/jretools/pack200/Main.java
> >>
> >>>> Wed Oct 22 03:28:30 2008
> >>>> @@ -0,0 +1,124 @@
> >>>> +/*
> >>>> + * Licensed to the Apache Software Foundation (ASF) under one or more
> >>>> + * contributor license agreements. See the NOTICE file distributed wi
> th
> >>>> + * this work for additional information regarding copyright ownership.
> >>>> + * The ASF licenses this file to You under the Apache License, Version
> >>>> 2.0
> >>>> + * (the "License"); you may not use this file except in compliance wit
> h
> >>>> + * the License. You may obtain a copy of the License at
> >>>> + *
> >>>> + * http://www.apache.org/licenses/LICENSE-2.0
> >>>> + *
> >>>> + * Unless required by applicable law or agreed to in writing, software
> >>>> + * distributed under the License is distributed on an "AS IS" BASIS,
> >>>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> >>>> implied.
> >>>> + * See the License for the specific language governing permissions and
> >>>> + * limitations under the License.
> >>>> + */
> >>>> +package org.apache.harmony.jretools.pack200;
> >>>> +
> >>>> +import java.io.BufferedOutputStream;
> >>>> +import java.io.FileInputStream;
> >>>> +import java.io.FileOutputStream;
> >>>> +import java.io.OutputStream;
> >>>> +import java.util.jar.JarInputStream;
> >>>> +
> >>>> +import org.apache.harmony.pack200.Archive;
> >>>> +
> >>>> +public class Main {
> >>>> +
> >>>> + public static void main(String args[]) throws Exception {
> >>>> +
> >>>> + String inputFileName = null;
> >>>> + String outputFileName = null;
> >>>> + boolean verbose = false;
> >>>> + boolean quiet = false;
> >>>> + String logFileName = null;
> >>>> + boolean gzip = true;
> >>>> +
> >>>> + for (int i = 0; i < args.length; i++) {
> >>>> + if (args[i].equals("--help") || args[i].equals("-help")
> >>>> + || args[i].equals("-h") || args[i].equals("-?")) {
> >>>> + printHelp();
> >>>> + return;
> >>>> + } else if(args[i].equals("-g") || args[i].equals("--no-gzip
> ")
> >>>>
> >> )
> >>
> >>>> {
> >>>> + gzip = false;
> >>>> + } else if(args[i].equals("--gzip")) {
> >>>> + gzip = true;
> >>>> + } else if(args[i].equals("-v") ||
> >>>> args[i].equals("--verbose")) {
> >>>> + verbose = true;
> >>>> + quiet = false;
> >>>> + } else if(args[i].equals("-q") || args[i].equals("--quiet")
> )
> >>>>
> >> {
> >>
> >>>> + quiet = true;
> >>>> + verbose = false;
> >>>> + } else if(args[i].startsWith("-l")) {
> >>>> + logFileName = args[i].substring(2);
> >>>> + } else if(args[i].equals("-V") || args[i].equals("--version
> ")
> >>>>
> >> )
> >>
> >>>> {
> >>>> + printVersion();
> >>>> + return;
> >>>> + } else {
> >>>> + outputFileName = args[i];
> >>>> + if(args.length > i + 1) {
> >>>> + inputFileName = args[i+1];
> >>>> + }
> >>>> + break;
> >>>> + }
> >>>> + }
> >>>> + if(inputFileName == null || outputFileName == null) {
> >>>> + printUsage();
> >>>> + return;
> >>>> + }
> >>>> + JarInputStream inputStream = new JarInputStream(new
> >>>> FileInputStream(inputFileName));
> >>>> + OutputStream outputStream = new BufferedOutputStream(new
> >>>> FileOutputStream(outputFileName));
> >>>> + Archive archive = new Archive(inputStream, outputStream, gzip);
> >>>> + archive.pack();
> >>>> + }
> >>>> +
> >>>> + private static void printUsage() {
> >>>> + System.out.println("Usage: pack200 [-opt... | --option=value].
> ..
> >>>> x.pack[.gz] y.jar");
> >>>> + System.out.println("(For more information, run pack200 --help)"
> );
> >>>> + }
> >>>> +
> >>>> + private static void printHelp() {
> >>>> + // TODO: Support all the options
> >>>> + System.out.println("Usage: pack200 [-opt... | --option=value].
> ..
> >>>> x.pack[.gz] y.jar");
> >>>> + System.out.println();
> >>>> + System.out.println("Packing Options");
> >>>> + System.out.println(" -g, --no-gzip output a
> >>>> plain *.pack file with no zipping");
> >>>> + System.out.println(" --gzip (default)
> >>>> post-process the pack output with gzip");
> >>>> +// System.out.println(" -G, --strip-debug remove
> >>>> debugging attributes while packing");
> >>>> +// System.out.println(" -O, --no-keep-file-order do not
> >>>> transmit file ordering information");
> >>>> +// System.out.println(" --keep-file-order (defaul
> t)
> >>>> preserve input file ordering");
> >>>> +// System.out.println(" -S{N}, --segment-limit={N} output
> >>>> segment limit (default N=1Mb)");
> >>>> +// System.out.println(" -E{N}, --effort={N} packing
> >>>> effort (default N=5)");
> >>>> +// System.out.println(" -H{h}, --deflate-hint={h} transmi
> t
> >>>> deflate hint: true, false, or keep (default)");
> >>>> +// System.out.println(" -m{V}, --modification-time={V} transmi
> t
> >>>> modtimes: latest or keep (default)");
> >>>> +// System.out.println(" -P{F}, --pass-file={F} transmi
> t
> >>>> the given input element(s) uncompressed");
> >>>> +// System.out.println(" -U{a}, --unknown-attribute={a} unknown
> >>>> attribute action: error, strip, or pass (default)");
> >>>> +// System.out.println(" -C{N}={L}, --class-attribute={N}={L}
> >>>> (user-defined attribute)");
> >>>> +// System.out.println(" -F{N}={L}, --field-attribute={N}={L}
> >>>> (user-defined attribute)");
> >>>> +// System.out.println(" -M{N}={L}, --method-attribute={N}={L}
> >>>> (user-defined attribute)");
> >>>> +// System.out.println(" -D{N}={L}, --code-attribute={N}={L}
> >>>> (user-defined attribute)");
> >>>> +// System.out.println(" -f{F}, --config-file={F} read fi
> le
> >>>> F for Pack200.Packer properties");
> >>>> +// System.out.println(" -v, --verbose increas
> e
> >>>> program verbosity");
> >>>> +// System.out.println(" -q, --quiet set
> >>>> verbosity to lowest level");
> >>>> +// System.out.println(" -l{F}, --log-file={F} output
> to
> >>>> the given log file, or '-' for System.out");
> >>>> + System.out.println(" -?, -h, --help print thi
> s
> >>>> message");
> >>>> + System.out.println(" -V, --version print
> >>>> program version");
> >>>> +// System.out.println(" -J{X} pass
> >>>> option X to underlying Java VM");
> >>>> +// System.out.println("");
> >>>> +// System.out.println("Notes:");
> >>>> +// System.out.println(" The -P, -C, -F, -M, and -D options
> >>>> accumulate.");
> >>>> +// System.out.println(" Example attribute definition: -C
> >>>> SourceFile=RUH .");
> >>>> +// System.out.println(" Config. file properties are defined by
> th
> >>>>
> >> e
> >>
> >>>> Pack200 API.");
> >>>> +// System.out.println(" For meaning of -S, -E, -H-, -m, -U valu
> es
> >>>>
> >> ,
> >>
> >>>> see Pack200 API.");
> >>>> +// System.out.println(" Layout definitions (like RUH) are defin
> ed
> >>>> by JSR 200.");
> >>>> +// System.out.println("");
> >>>> +// System.out.println("Repacking mode updates the JAR file with
> a
> >>>> pack/unpack cycle:");
> >>>> +// System.out.println(" pack200 [-r|--repack] [-opt |
> >>>> --option=value]... [repackedy.jar] y.jar");
> >>>> + }
> >>>> +
> >>>> + private static void printVersion() {
> >>>> + System.out.println("Apache Harmony pack200 version 0.0"); // T
> OD
> >>>>
> >> O
> >>
> >>>> - version number
> >>>> + }
> >>>> +
> >>>> +}
> >>>>
> >>>> Propchange:
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/src/main/java/org/apach
> e/
> >>>>
> >> harmony/jretools/pack200/Main.java
> >>
> >>>> ------------------------------------------------------------------------
> --
> >>>>
> >> ----
> >>
> >>>> svn:eol-style = native
> >>>>
> >>>> Propchange:
> >>>> harmony/enhanced/jdktools/trunk/modules/jretools/src/main/java/org/apach
> e/
> >>>>
> >> harmony/jretools/pack200/Main.java
> >>
> >>>> ------------------------------------------------------------------------
> --
> >>>>
> >> ----
> >>
> >>>> svn:mime-type = text/plain
> >>>>
> >>>> Modified: harmony/enhanced/jdktools/trunk/modules/samsa/build.xml
> >>>> URL:
> >>>> http://svn.apache.org/viewvc/harmony/enhanced/jdktools/trunk/modules/sam
> sa
> >>>>
> >> /build.xml?rev=707024&r1=707023&r2=707024&view=diff
> >>
> >>>> ========================================================================
> ==
> >>>>
> >> ====
> >>
> >>>> --- harmony/enhanced/jdktools/trunk/modules/samsa/build.xml (original)
> >>>> +++ harmony/enhanced/jdktools/trunk/modules/samsa/build.xml Wed Oct 22
> >>>> 03:28:30 2008
> >>>> @@ -84,7 +84,10 @@
> >>>> <copy file="${hy.samsa.exe}"
> >>>> tofile="${jretools.deploy.dir}/bin/unpack200${exe.suffix}" />
> >>>> <chmod file="${jretools.deploy.dir}/bin/unpack200${exe.suffix}"
> >>>> perm="ugo+x" />
> >>>>
> >>>> - <copy file="${hy.samsa.exe}"
> >>>> tofile="${jretools.deploy.dir}/bin/policytool${exe.suffix}" />
> >>>> + <copy file="${hy.samsa.exe}"
> >>>> tofile="${jretools.deploy.dir}/bin/pack200${exe.suffix}" />
> >>>> + <chmod file="${jretools.deploy.dir}/bin/pack200${exe.suffix}"
> >>>> perm="ugo+x" />
> >>>> +
> >>>> + <copy file="${hy.samsa.exe}"
> >>>> tofile="${jretools.deploy.dir}/bin/policytool${exe.suffix}" />
> >>>> <chmod file="${jretools.deploy.dir}/bin/policytool${exe.suffix}"
> >>>> perm="ugo+x" />
> >>>>
> >>>> </target>
> >>>> @@ -114,7 +117,8 @@
> >>>> <copy file="${hy.samsa.progdb}"
> >>>> tofile="${jdktools.deploy.dir}/bin/javap${progdb.suffix}" />
> >>>> <copy file="${hy.samsa.progdb}"
> >>>> tofile="${jdktools.deploy.dir}/bin/jarsigner${progdb.suffix}" />
> >>>> <copy file="${hy.samsa.progdb}"
> >>>> tofile="${jretools.deploy.dir}/bin/unpack200${progdb.suffix}" />
> >>>> - <copy file="${hy.samsa.progdb}"
> >>>> tofile="${jretools.deploy.dir}/bin/keytool${progdb.suffix}" />
> >>>> + <copy file="${hy.samsa.progdb}"
> >>>> tofile="${jretools.deploy.dir}/bin/pack200${progdb.suffix}" />
> >>>> + <copy file="${hy.samsa.progdb}"
> >>>> tofile="${jretools.deploy.dir}/bin/keytool${progdb.suffix}" />
> >>>> <copy file="${hy.samsa.progdb}"
> >>>> tofile="${jretools.deploy.dir}/bin/policytool${progdb.suffix}" />
> >>>>
> >>>> </target>
> >>>> @@ -192,6 +196,14 @@
> >>>> <arg line="" />
> >>>> </exec>
> >>>>
> >>>> + <echo message="Run jdk/jre/bin/pack200 in ${hy.tests.reports}"/
> >
> >>>> + <exec failonerror="true"
> >>>> + executable="${test.jre.home}/bin/pack200${exe.suffix}"
> >>>> + dir="${hy.tests.reports}">
> >>>> + <arg line="" />
> >>>> + </exec>
> >>>> +
> >>>> +
> >>>> </target>
> >>>>
> >>>> <!-- Clean natives -->
> >>>>
> >>>>
> >>>>
> >>>>
> >>
> >> --
> >> Unless stated otherwise above:
> >> IBM United Kingdom Limited - Registered in England and Wales with number 7
> 415
> >> 98.
> >> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
> >>
> >>
> >
> >
> >
> >
>
> --
> Oliver Deakin
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 7415
> 98.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
>