#18 several WARNING: lines due to possible error in build_java.pl
Closed: fixed 5 years ago Opened 5 years ago by emaldonado.

Recived WARNING: lines when doing subsequent builds.

First I set my environment:
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0_openjdk
export USE_64=1

With everything I do
script -c 'make clean all' typescript.build
then
grep WARNING: typescript.build
Shows nothing

Then I do it gain
script -c 'make clean all' typescript.build

Check for warnings:
$ grep WARNING: typescript.build
WARNING: Duplicate name in Manifest: Name.
WARNING: Duplicate name in Manifest: Specification-Title.
WARNING: Duplicate name in Manifest: Specification-Version.
WARNING: Duplicate name in Manifest: Specification-Vendor.
WARNING: Duplicate name in Manifest: Implementation-Title.
WARNING: Duplicate name in Manifest: Implementation-Version.
WARNING: Duplicate name in Manifest: Implementation-Vendor.

Let's look at the genreated file:
$ cat ../dist/MANIFEST.MF
Manifest-Version: 1.0

Name: org/mozilla/jss/
Specification-Title: Network Security Services for Java (JSS)
Specification-Version: 4.5
Specification-Vendor: Mozilla Foundation
Implementation-Title: org.mozilla.jss
Implementation-Version: 4.5
Implementation-Vendor: Mozilla Foundation
Manifest-Version: 1.0

Name: org/mozilla/jss/
Specification-Title: Network Security Services for Java (JSS)
Specification-Version: 4.5
Specification-Vendor: Mozilla Foundation
Implementation-Title: org.mozilla.jss
Implementation-Version: 4.5
Implementation-Vendor: Mozilla Foundation

The info appears twice as the warning indicated.
If you do it again you'll see three times.

I examined the system install jss4.jar and MANIFEST.MF is fine.
Perhaps because when jss is built via jss.spec it's done from scratch.
When doing development when you often reeat your steps seeing the WARNING: lines is a bit annoying.

Hiee is an excerpt of the section off build_java.pl where this is done.
# generate MANIFEST.MF file in dist dir
.....
$append = 0;

ensure_dir_exists($dist_dir);

.....
$append = 0;

ensure_dir_exists($dist_dir);

if ($append) {
    open(MYOUTFILE, ">$manifest_file");  #open for write, overwrite
} else {
    open(MYOUTFILE, ">>$manifest_file"); #open for write, append
}

It looks backwards to me. I think it should instead be:

if ($append) {
    open(MYOUTFILE, ">>$manifest_file"); #open for write, append
} else {
    open(MYOUTFILE, ">$manifest_file");  #open for write, overwrite
}

which I tested and solves it.
This the proposed patch.

fixAppendVsOverrideLogic.path


This is low priority and can easily be deferred to a future release.

Low priority but a rather easy fix so I made a pull request.
See https://github.com/dogtagpki/jss/pull/22

This is fixed by jss pr#22. The relevant commit is e68ba5.

Metadata Update from @cipherboy:
- Custom field component adjusted to None
- Custom field feature adjusted to None
- Custom field origin adjusted to None
- Custom field proposedmilestone adjusted to None
- Custom field proposedpriority adjusted to None
- Custom field reviewer adjusted to None
- Custom field type adjusted to None
- Custom field version adjusted to None

5 years ago

Metadata Update from @cipherboy:
- Issue assigned to cipherboy

5 years ago

Metadata Update from @cipherboy:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

5 years ago

Login to comment on this ticket.

Metadata
Attachments 1