Hotfixes source

Hi, after getting Nuxeo Platform LTS 2019 source code, I try to build it but i get a security problem with access to the hofixes. I undertstand that now we need to be a customer to get precompiled hotfixes but is there a way to get the hotfixes source and build them ourselves without being a customer. If so, where can we get them? Thanks.

0 votes

2 answers

1485 views

ANSWER



Like Thierry said, you can only do a full build. I just did that on tag “release-10.10-HF53” today. But it took me all day to make it work, because there are some issues and updates to the code have to be done. Briefly:

  • missing dependency for a Nuxeo version of richfaces (-> add to module)
  • Nuxeos maven repo now only supporting https (->update all pom.xml)
  • github not allowing git: anymore (-> update all bower.json)
  • I had issues with gulp when building some of the addons, so I just left the addons that are necessary for the minimum build.

Also you need a couple of dependencies. Mostly maven, python2 (!!), bower, grunt and gulp (<4.0)

After the build you are left with a zipped Nuxeo distribution which you can use with your nuxeo.conf. Or - guessing here - you could update the jars in your old installation with the new ones.

This is the script I came up with today

edit:

Be aware different hotfix versions, need other modules. I updated the script to work with HF59. Couldn't make it work for HF60 yet thou.

#!/bin/bash
# dependencies: mvn, bower, grunt, gulp
set -e

###############
## get sources
###############

# specify the tag to clone
VERSION=10.10-HF59
TAG=release-$VERSION
REPO=https://github.com/nuxeo/nuxeo

git clone --depth 1 --branch $TAG $REPO nuxeo-$VERSION

cd nuxeo-$VERSION/

# get addons
python2 clone.py

# get needed dependency richfaces and add module to pom
git clone --depth 1 --branch 4.5.12.Final-NX1 https://github.com/nuxeo/richfaces-4.5
sed -i '/<module>nuxeo-common<\/module>/i\\t<module>richfaces-4.5<\/module>' pom.xml

# fix old http maven repo to https
find ./ -name pom.xml -exec sed -i 's/http:\/\/maven.nuxeo.org/https:\/\/maven.nuxeo.org/g' {} \;

# fix bower problems using old git: protocol -> https://github.com
find ./ -name bower.json -exec sed -i 's/git:\/\/github.com/https:\/\/github.com/g' {} \;

## update addons/pom.xml
# remove all modules from pom.xml
sed -i '/<modules>/,/<\/modules>/{//!d}' addons/pom.xml # removes all lines between <modules> and </modules>

# add needed addons
sed -i '/<\/modules>/i\\t<module>nuxeo-binary-metadata<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-connect-tools<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-platform-pdf-utils<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-shell<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-apidoc-server<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-dmk-adaptor<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-platform-lang-ext<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-platform-suggestbox<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-platform-document-routing<\/module>' addons/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-chemistry<\/module>' addons/pom.xml

## update nuxeo-distribution modules
# remove all modules from pom.xml
sed -i '/<modules>/,/<\/modules>/{//!d}' nuxeo-distribution/pom.xml

# add needed distribution modules
sed -i '/<\/modules>/i\\t<module>nuxeo-startup-wizard<\/module>' nuxeo-distribution/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-launcher<\/module>' nuxeo-distribution/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-nxr-server<\/module>' nuxeo-distribution/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-nxr-jsf-ui<\/module>' nuxeo-distribution/pom.xml
sed -i '/<\/modules>/i\\t<module>nuxeo-server-tomcat<\/module>' nuxeo-distribution/pom.xml

##########
# compile
##########
mvn clean install -DskipTests=true -Paddons,distrib | tee ../nuxeo_build-$VERSION.log

#################
# get tomcat zip
#################
cp nuxeo-distribution/nuxeo-server-tomcat/target/nuxeo-server-tomcat-$VERSION.zip ../
1 votes



Thank you Konrad for the useful info. Finally, most of my problem was with npm issues. And like you did, I had to retire some modules that I was not allowed to access.
11/05/2021


You can still do a full build of the 10.10 branch of Nuxeo, it should work even if you are not a customer (unless you had a problem with the NPM registry during your build ..)

1 votes



Actually my problem is with the Maven repository access, to the hotfixes (maven.nuxeo.org/nexus/content/repositories/hotfix-snapshots) : Not authorized… So accordingly to the your answer, I might not have the right repository set. What would be the good configuration for the npm registry?
11/02/2021