# Tips and tasks when updating LittleCMS sources to a newer version.

Download and unzip latest release from https://sourceforge.net/projects/lcms/files/
Replace files in src/java.desktop/share/native/liblcms with files from unzipped src and include folders
Replace is important because the lcms sources here are just the subset needed by JDK.
This is deliberate, so when updating be sure to import only the same files.
If a file has been removed from upstream you will notice it during the copy.
It should then be removed from the JDK sources.
If a new file is needed then the build will fail. Manually copy that in.

Some re-editing of these updated files will be needed.
Use "expand" and "sed" to remove tabs and trailing white space from the imported files.
Re-apply the GPL headers used by the JDK. If done correctly these should then not
show up in the PR diff.

Update src/java.desktop/share/legal/lcms.md per the current license/copyrights/attributions etc.

Build on all platforms.
If there are compiler warnings causing build failures, update the disabled warnings in
make/modules/java.desktop/lib/Awt2dLibraries.gmk
Run all automated client tests on all platforms.
Also run J2Ddemo and pay particular attention to the "color" tab.
Visually verify the color transforms against the same with the current/previous JDK