That’s a lot to get my head round, but I think I understand, at least I hope I’m on the right track.
It looks as though this line is responsible replacing userdata
if it is not found.
What it should be doing is that, AND then even if a folder exists, copy over the problem files in userdata\etc
.
That part of the function would therefore look something like this:
2.0.0|2.1.0|2.2.0-snapshot)
# Initialize empty host volumes
if [ -z "$(ls -A "${APPDIR}/userdata")" ]; then
# Copy userdata dir for version 2.0.0
echo "No userdata found... initializing."
cp -av "${APPDIR}/userdata.dist/." "${APPDIR}/userdata/"
else
# userdata was found, but version specific files need replacing...
cp -avu "${APPDIR}/userdata.dist/etc/all.policy" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/startup.properties" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/config.properties" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/distribution.info" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/jre.properties" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/org.apache.karaf.*" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/org.ops4j.pax.url.mvn.cfg" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/profile.cfg" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/branding.properties" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/branding-ssh.properties" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/custom.properties" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/version.properties" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/custom.system.properties" "${APPDIR}/userdata/etc/"
cp -avu "${APPDIR}/userdata.dist/etc/system.properties" "${APPDIR}/userdata/etc/"
fi
if [ -z "$(ls -A "${APPDIR}/conf")" ]; then
# Copy userdata dir for version 2.0.0
echo "No configuration found... initializing."
cp -av "${APPDIR}/conf.dist/." "${APPDIR}/conf/"
fi
;;