diff options
author | Xi Ruoyao <xry111@xry111.site> | 2023-09-13 14:08:06 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2023-09-13 14:10:38 +0800 |
commit | c858ba4e17a445591520ddcea8b288b8e3d6db42 (patch) | |
tree | bff7bbb44640cbe51c61d8f4a390ae650527a958 | |
parent | a9dc9724ae2a954405dd4dbc6a1593f1b469c3dd (diff) |
build: Add "make dist"
For creating a tarball without .git directory easier. The tarball will
include version.ent and LFS-RELEASE files so the book rendered from it
won't show "unknown" for all dates.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 11 | ||||
-rwxr-xr-x | git-version.sh | 7 |
3 files changed, 18 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore index f2a347215..9595dd32f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ lfs-bootscripts-*.tar.xz +lfs-*.tar.xz conditional.ent version.ent appendices/*.script @@ -209,5 +209,14 @@ dump-commands: validate all: book nochunks pdf dump-commands -.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version +dist: + $(Q)DIST=/tmp/LFS-RELEASE ./git-version.sh $(REV) + $(Q)rm -f lfs-$$(</tmp/LFS-RELEASE).tar.xz + $(Q)tar cJf lfs-$$(</tmp/LFS-RELEASE).tar.xz \ + $(shell git ls-tree HEAD . --name-only) version.ent \ + -C /tmp LFS-RELEASE \ + --transform "s,^,lfs-$$(</tmp/LFS-RELEASE)/," + $(Q)echo "Generated XML tarball lfs-$$(</tmp/LFS-RELEASE).tar.xz" + +.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version dist diff --git a/git-version.sh b/git-version.sh index 7a430fec3..4a3c6d1e4 100755 --- a/git-version.sh +++ b/git-version.sh @@ -17,6 +17,11 @@ 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. + + if [ -e LFS-RELEASE ]; then + exit 0 + fi + echo "<![ %sysv; [" > version.ent echo "<!ENTITY version \"unknown\">" >> version.ent echo "]]>" >> version.ent @@ -65,3 +70,5 @@ echo "<!ENTITY version \"$versiond\">" >> version.ent echo "]]>" >> version.ent echo "<!ENTITY releasedate \"$full_date\">" >> version.ent echo "<!ENTITY copyrightdate \"1999-$year\">" >> version.ent + +[ -z "$DIST" ] || echo $version > "$DIST" |