Add source code and additional files to releases.
This commit is contained in:
parent
cb67d87b9f
commit
5b586bb65f
2 changed files with 52 additions and 4 deletions
51
Makefile
51
Makefile
|
@ -57,6 +57,12 @@ SORTIX_ISO_COMPRESSION?=xz
|
|||
|
||||
SORTIX_PORTS_MIRROR?=https://pub.sortix.org/mirror
|
||||
|
||||
# TODO: Update development(7).
|
||||
|
||||
SORTIX_RELEASE_ADDITIONAL?=
|
||||
SORTIX_RELEASE_MANHTML?=yes
|
||||
SORTIX_RELEASE_SOURCE?=yes
|
||||
|
||||
SORTIX_INCLUDE_SOURCE_GIT_REPO?=$(shell test -d .git && echo "file://`pwd`")
|
||||
SORTIX_INCLUDE_SOURCE_GIT_REPO:=$(SORTIX_INCLUDE_SOURCE_GIT_REPO)
|
||||
SORTIX_INCLUDE_SOURCE_GIT_ORIGIN?=https://sortix.org/sortix.git
|
||||
|
@ -270,7 +276,9 @@ else ifneq ($(SORTIX_INCLUDE_SOURCE),no)
|
|||
cp README -t "$(SYSROOT)/src"
|
||||
cp -RT build-aux "$(SYSROOT)/src/build-aux"
|
||||
cp -RT share "$(SYSROOT)/src/share"
|
||||
(for D in $(MODULES); do (cp -R $$D -t "$(SYSROOT)/src" && $(MAKE) -C "$(SYSROOT)/src/$$D" clean) || exit $$?; done)
|
||||
cp -RT ports "$(SYSROOT)/src/ports"
|
||||
(for D in $(MODULES); do cp -R $$D -t "$(SYSROOT)/src" || exit $$?; done)
|
||||
$(MAKE) -C "$(SYSROOT)/src" distclean
|
||||
endif
|
||||
(cd "$(SYSROOT)" && find .) | sed 's/\.//' | \
|
||||
grep -E '^/src(/.*)?$$' | \
|
||||
|
@ -435,7 +443,7 @@ everything-all-archs:
|
|||
.PHONY: release-all-archs
|
||||
release-all-archs:
|
||||
$(MAKE) clean clean-sysroot
|
||||
$(MAKE) release HOST=i686-sortix
|
||||
$(MAKE) release-arch HOST=i686-sortix
|
||||
$(MAKE) clean clean-sysroot
|
||||
$(MAKE) release HOST=x86_64-sortix
|
||||
|
||||
|
@ -633,16 +641,42 @@ release-man: $(SORTIX_RELEASE_DIR)/$(RELEASE)/man/ports.list
|
|||
|
||||
.PHONY: release-man-html
|
||||
release-man-html: release-man
|
||||
ifeq ($(SORTIX_RELEASE_MANHTML),yes)
|
||||
RELEASE="$(RELEASE)" build-aux/manhtml.sh $(SORTIX_RELEASE_DIR)/$(RELEASE)/man
|
||||
endif
|
||||
|
||||
.PHONY: release-readme
|
||||
release-readme: $(SORTIX_RELEASE_DIR)/$(RELEASE)/README
|
||||
|
||||
.PHONY: release-additional
|
||||
release-additional:
|
||||
ifneq ($(SORTIX_RELEASE_ADDITIONAL),)
|
||||
cp -RT $(SORTIX_RELEASE_ADDITIONAL) $(SORTIX_RELEASE_DIR)/$(RELEASE)
|
||||
endif
|
||||
|
||||
.PHONY: release-arch
|
||||
release-arch: release-builds release-readme release-repository
|
||||
release-arch: release-builds release-repository
|
||||
|
||||
# Depend on sysroot-ports because sysroot-ports would race with mirror and the
|
||||
# build must be offline if the local mirror is already populated.
|
||||
.PHONY: release-source
|
||||
ifeq ($(SORTIX_RELEASE_SOURCE),yes)
|
||||
release-source: sysroot-source sysroot-ports
|
||||
rm -rf $(SORTIX_RELEASE_DIR)/$(RELEASE)/source
|
||||
mkdir -p $(SORTIX_RELEASE_DIR)/$(RELEASE)/source
|
||||
cp -RT "$(SYSROOT)/src" $(SORTIX_RELEASE_DIR)/$(RELEASE)/source/sortix-$(RELEASE)
|
||||
rm -rf $(SORTIX_RELEASE_DIR)/$(RELEASE)/source/sortix-$(RELEASE)/.git
|
||||
cd $(SORTIX_RELEASE_DIR)/$(RELEASE)/source && tar -f sortix-$(RELEASE).tar.xz -cJ sortix-$(RELEASE)
|
||||
mv $(SORTIX_RELEASE_DIR)/$(RELEASE)/source/sortix-$(RELEASE) $(SORTIX_RELEASE_DIR)/$(RELEASE)/source/sortix-$(RELEASE)-full
|
||||
SORTIX_PORTS_MIRROR=`realpath $(SORTIX_MIRROR_DIR)` $(MAKE) -C $(SORTIX_RELEASE_DIR)/$(RELEASE)/source/sortix-$(RELEASE)-full mirror
|
||||
cd $(SORTIX_RELEASE_DIR)/$(RELEASE)/source && tar -f sortix-$(RELEASE)-full.tar.xz -cJ sortix-$(RELEASE)-full
|
||||
rm -rf $(SORTIX_RELEASE_DIR)/$(RELEASE)/source/sortix-$(RELEASE)-full
|
||||
else
|
||||
release-source:
|
||||
endif
|
||||
|
||||
.PHONY: release-shared
|
||||
release-shared: release-man release-man-html release-readme release-scripts
|
||||
release-shared: release-man release-man-html release-readme release-scripts release-additional release-source
|
||||
|
||||
.PHONY: release
|
||||
release: release-arch release-shared
|
||||
|
@ -665,6 +699,7 @@ else
|
|||
$(MAKE) verify-build HOST=i686-sortix
|
||||
$(MAKE) verify-build HOST=x86_64-sortix
|
||||
endif
|
||||
$(MAKE) verify-sysroot-source
|
||||
$(MAKE) verify-headers
|
||||
@echo ok
|
||||
|
||||
|
@ -681,6 +716,14 @@ verify-build-tools:
|
|||
$(MAKE) clean-build-tools
|
||||
$(MAKE) OPTLEVEL='-O2 -g -Werror -Werror=strict-prototypes' build-tools
|
||||
|
||||
verify-sysroot-source:
|
||||
$(MAKE) clean-sysroot
|
||||
$(MAKE) sysroot-source SORTIX_INCLUDE_SOURCE=yes
|
||||
git ls-files | sort > "$(SYSROOT)/src.want"
|
||||
(cd "$(SYSROOT)/src" && find '!' -type d | sort | sed -E 's,^\./,,') > "$(SYSROOT)/src.got"
|
||||
diff -u "$(SYSROOT)/src.want" "$(SYSROOT)/src.got"
|
||||
rm -f "$(SYSROOT)/src.want" "$(SYSROOT)/src.got"
|
||||
|
||||
verify-build:
|
||||
$(MAKE) mostlyclean
|
||||
$(MAKE) OPTLEVEL='-O2 -g -Werror -Werror=strict-prototypes' PACKAGES=''
|
||||
|
|
|
@ -152,6 +152,8 @@ the build tools compile
|
|||
.Sy ( verify-build-tools ) ,
|
||||
that everything compiles without warnings on all architectures
|
||||
.Sy ( verify-build ) ,
|
||||
the sysroot-source target includes all the sources
|
||||
.Sy ( verify-sysroot-source ) ,
|
||||
and the system headers works in all supported configurations
|
||||
.Sy ( verify-headers ) .
|
||||
.It Sy release
|
||||
|
@ -258,6 +260,9 @@ and defaults to
|
|||
Upstream releases of ports are downloaded from this mirror, defaulting to the
|
||||
official mirror, and falling back to the upstream release site if the mirror
|
||||
failed.
|
||||
.It Ev SORTIX_RELEASE_ADDITIONAL
|
||||
Optionally can be set to a directory that contains addition files that are
|
||||
copied into the release directory.
|
||||
.El
|
||||
.Ss Components
|
||||
The operating systems components, such as libc and the kernel, each have their
|
||||
|
|
Loading…
Reference in a new issue