RFC: Patch to correct pulse-java.jar build

Andrew John Hughes gnu_andrew at member.fsf.org
Tue Sep 22 14:54:18 PDT 2009


2009/9/22  <jon.vanalten at redhat.com>:
> Thanks for the comments.
>
> ----- "Andrew John Hughes" <gnu_andrew at member.fsf.org> wrote:
>
>>
>> The definitions:
>>
> [snip]
>>
>> seem to end up writing to the source directory
>> (PULSE_JAVA_NATIVE_BUILDDIR =
>> $(abs_top_srcdir)/pulseaudio/build/native and PULSE_JAVA_CLASS_DIR =
>> $(abs_top_srcdir)/pulseaudio/build/cp).  That's incorrect and will
>> break make distcheck.  The build directories should be in
>> subdirectories of $(abs_top_builddir).  Making PULSE_JAVA_BUILDDIR =
>> $(abs_top_builddir)/pulseaudio would fix that.
>>
>
> Whoops, thanks for pointing that out.
> (fixed in both patches.)
>
>> The IcedTea7 patch also reintroduces conditionals on ICEDTEA_BOOT_DIR
>> and the corresponding duplicating javac/jar invocations..  Please
>> don't do this.  These were removed deliberately and will also be
>> removed from IcedTea6 once I port over
>> $(INITIAL_BOOTSTRAP_LINK_STAMP).  The new JAVAC definitions also drop
>> IT_JAVACFLAGS, completely reverting it to the IcedTea6 version.
>>
>
> Oh.  Hadn't realized this.  Far be it from me to undo others' work!  Thank goodness for reviews.  :-D
> (reverted relevant portions of icedtea7 patch)
>

Yeah, that's why we have them ;)
Looks good to me now, assuming it builds ok.

> The patch for icedtea6 also includes a couple of small edits to the EXTRA_DIST definitions that were breaking distcheck.  Does this look better Andrew?
>

Looks good; IcedTea7 has the same thing.

> Actually, distcheck is still broken in icedtea6 afaics even with these fixes,

It's never worked AFAIK, so don't worry too much about getting it
fixed with just one patch.

 but I haven't figured out how to fix.  To be specific, when it does
'rm -rf lib' a bunch of files in
lib/rt/net/sourceforge/jnlp/resources/ resist removal with Permission
denied errors.  This rm call is within the target
>
>  distcheck: && $(MAKE) $(AM_MAKEFLAGS) distcleancheck: distclean: distclean-am: distclean-local
>
> (ie it's in the distclean-local target, but that is the target chain leading to it.)  The resources directory for whatever reason (this is what I haven't figured out) has 555 permissions, although its parents all seem to have 775.  I've reproduced this twice on my F11 system.  Does anyone have any ideas why this might be?
>

This:

        cp -r $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources \
          lib/rt/net/sourceforge/jnlp/

is your culprit under rt-class-files.stamp.  You need something like this:

find lib/rt/net/sourceforge/jnlp -type f -exec chmod 640 '{}' ';' -o
-type d -exec chmod 750 '{}' ';'; \

make distcheck makes the source files read only specifically so writes
to the source directory can be detected.  So if you're copying stuff
from there, you need to give the copies writable permissions.
Unfortunately there doesn't seem to be a switch to cp that stops it
copying the permissions (I've tried --no-preserve=mode and
--no-preserve=all to no success).

> cheers,
>
> jon

Cheers,
-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8



More information about the distro-pkg-dev mailing list