mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-23 22:42:14 +08:00
50836740d2
There was some consistency issues in URLs to LFS. For example, in systemd revision the URL to LFS "General Network Configuration" points to the sysv book, this can be really troubling to new readers. Instead of fixing them one by one, merge conditional XML developed by Pierre from LFS.
58 lines
1.7 KiB
Bash
Executable File
58 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ "$1" = sysv ]; then
|
|
SYSV="INCLUDE"
|
|
SYSTEMD="IGNORE "
|
|
elif [ "$1" = systemd ]; then
|
|
SYSV="IGNORE "
|
|
SYSTEMD="INCLUDE"
|
|
else
|
|
echo You must provide either \"sysv\" or \"systemd\" as argument
|
|
exit 1
|
|
fi
|
|
|
|
echo "<!ENTITY % sysv \"$SYSV\">" > conditional.ent
|
|
echo "<!ENTITY % systemd \"$SYSTEMD\">" >> conditional.ent
|
|
|
|
if ! git status > /dev/null; then
|
|
# Either it's not a git repository, or git is unavaliable.
|
|
# Just workaround.
|
|
echo "<!ENTITY year \"????\">" > version.ent
|
|
echo "<!ENTITY version \"unknown\">" >> version.ent
|
|
echo "<!ENTITY releasedate \"unknown\">" >> version.ent
|
|
echo "<!ENTITY pubdate \"unknown\">" >> version.ent
|
|
exit 0
|
|
fi
|
|
|
|
export LC_ALL=en_US.utf8
|
|
export TZ=US/Pacific
|
|
|
|
commit_date=$(git show -s --format=format:"%cd" --date=local)
|
|
short_date=$(date --date "$commit_date" "+%Y-%m-%d")
|
|
|
|
year=$(date --date "$commit_date" "+%Y")
|
|
month=$(date --date "$commit_date" "+%B")
|
|
day_digit=$(date --date "$commit_date" "+%d")
|
|
day=$(echo $day_digit | sed 's/^0//')
|
|
|
|
case $day in
|
|
"1" | "21" | "31" ) suffix="st";;
|
|
"2" | "22" ) suffix="nd";;
|
|
"3" | "23" ) suffix="rd";;
|
|
* ) suffix="th";;
|
|
esac
|
|
|
|
full_date="$month $day$suffix, $year"
|
|
|
|
sha="$(git describe --abbrev=1)"
|
|
version=$(echo "$sha" | sed 's/-g[^-]*$//')
|
|
|
|
if [ "$(git diff HEAD | wc -l)" != "0" ]; then
|
|
version="$version+"
|
|
fi
|
|
|
|
echo "<!ENTITY year \"$year\">" > version.ent
|
|
echo "<!ENTITY version \"$version\">" >> version.ent
|
|
echo "<!ENTITY releasedate \"$full_date\">" >> version.ent
|
|
echo "<!ENTITY pubdate \"$short_date\">" >> version.ent
|