mirror of
https://git.fsfe.org/FSFE/fsfe-local-build.git
synced 2026-04-18 10:23:05 +02:00
rename file; better reporting; changed variables
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
config.cfg
|
||||
lighttpd-fsfe.conf
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
/home/max/Dokumente/Selfcoded/build-single.sh
|
||||
91
fsfe-preview.sh
Executable file
91
fsfe-preview.sh
Executable file
@@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
ROOT=$(dirname "$(readlink -f "$0")")
|
||||
if [ ! -e "$ROOT"/config.cfg ]; then echo "Missing config.cfg file. Edit and rename config.cfg.sample"; exit 1; fi
|
||||
source "$ROOT"/config.cfg
|
||||
|
||||
# XMLLINT test
|
||||
# Alles in args, selbst erkennen ob build
|
||||
# Webserver und Path nur anzeigen bei XHTML
|
||||
# CONFIG file
|
||||
|
||||
|
||||
if [ "$1" = "" ]; then
|
||||
self=$(basename $0)
|
||||
echo "No parameters or variables given!"
|
||||
echo
|
||||
echo "Usage: "
|
||||
echo
|
||||
echo "$self file.en.xhtml"
|
||||
echo " -- build single XHTML file from your source to the local web directory"
|
||||
echo " the destination will be on the same relative level of the selected XHTML file"
|
||||
echo " If not a XHTML file, it will be copied to the web directory"
|
||||
echo
|
||||
echo "$self --copy picture.png look/style.css"
|
||||
echo " -- Just copies several files to the local web directory without even trying to build them"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$1" = "--copy" ]; then
|
||||
numargs=$(($# - 1))
|
||||
echo "[INFO] Starting a plain mass copy with $numargs files..."
|
||||
for ((i=1; i <= $numargs; i++)); do
|
||||
SRC_full=$(realpath $2)
|
||||
DST_full=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_out|")
|
||||
echo "[INFO] Copying $SRC_full to $DST_full..."
|
||||
cp -R $SRC_full $DST_full
|
||||
shift
|
||||
done
|
||||
echo "[SUCCESS] Copying finished. Files should be visible via the local webserver now."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
SRC_rel=$1 # e.g. index.en.xhtml
|
||||
SRC_full=$(realpath $SRC_rel) # Full path to source file
|
||||
|
||||
# CHECK whether the source file is located in LOC_trunk
|
||||
if [ ! $(echo $SRC_full | grep "$LOC_trunk") ]; then
|
||||
echo "[ERROR] Given source file is not part of \$LOC_trunk (currently set to \"$LOC_trunk\"). Please only build files which reside in or below this directory. Aborting now."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# TEST if a DEV SVN directory is used. If yes, copy clean file to this Dir
|
||||
if [ "$LOC_trunk_dev" != "" ]; then
|
||||
SRC_full_dev=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_trunk_dev|")
|
||||
echo "[INFO] A \"dirty\" Development SVN directory ($LOC_trunk_dev) is being used. Copy file from clean SVN directory ($LOC_trunk) to Development directory..."
|
||||
cp $SRC_full $SRC_full_dev # copy file from clean SVN to dev/dirty SVN
|
||||
SRC_full=$SRC_full_dev
|
||||
LOC_trunk=$LOC_trunk_dev
|
||||
fi
|
||||
|
||||
echo "[INFO] Using file $SRC_full as source..."
|
||||
|
||||
### TRANSFORM XHTML file path
|
||||
DST_full=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_out|") # replace SVN directory by build/HTTP destination
|
||||
|
||||
### BUILD/COPY FILE depending on file extension
|
||||
ftype=${SRC_full##*.} # get extension of file
|
||||
ftype=$(echo "$ftype" | tr '[:upper:]' '[:lower:]')
|
||||
ftype_build="xhtml" # file types which have to be built
|
||||
if [[ "$ftype" == @($ftype_build) ]]; then # file type of source has to be built
|
||||
DST_full=$(echo $DST_full | sed -E "s/$ftype_build/html/") # Replace xhtml by html
|
||||
echo "[INFO] XHTML file detected. Going to build into $DST_full ..."
|
||||
$LOC_trunk/build/build_main.sh process_file $SRC_full > $DST_full
|
||||
else # if not built, just move it
|
||||
echo "[INFO] File type ($ftype) is detected as not to be built. Just copying it to $DST_full ..."
|
||||
cp $SRC_full $DST_full
|
||||
fi
|
||||
|
||||
|
||||
### START WEBSERVER if necessary
|
||||
if [ ! $(pgrep lighttpd) ]; then
|
||||
echo "[INFO] Starting webserver"
|
||||
/usr/sbin/lighttpd -f $HTTPDST_conf
|
||||
else
|
||||
echo "[INFO] Webserver already seems to be running."
|
||||
fi
|
||||
|
||||
### SHOW RESULTS
|
||||
echo
|
||||
DST_rel=$(echo $DST_full | sed "s|$LOC_out||") # relative path
|
||||
echo "[SUCCESS] Finished. File can be viewed at http://localhost:5080$DST_rel"
|
||||
@@ -5,7 +5,7 @@ $HTTP["remoteip"] !~ "127.0.0.1" {
|
||||
|
||||
# change port and document-root accordingly
|
||||
server.port = 5080
|
||||
server.document-root = "/home/max/subversion/fsfe/local-build/fsfe.org"
|
||||
server.document-root = "/home/USER/subversion/fsfe/local-build/fsfe.org"
|
||||
server.errorlog = "/dev/stdout"
|
||||
server.dir-listing = "enable"
|
||||
dir-listing.encoding = "utf-8"
|
||||
Reference in New Issue
Block a user