fix gitignore
This commit is contained in:
parent
9e6c267fb1
commit
1bc49a6adc
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
release
|
||||
./release-*
|
||||
.vagrant
|
||||
Vagrantfile
|
||||
ssh-config
|
||||
|
13
LICENSE
Normal file
13
LICENSE
Normal file
@ -0,0 +1,13 @@
|
||||
Copyright (c) 2023 Samuel 'sk4nz' AUBERTIN sk4nz@sk4.nz
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
62
src/release/Makefile
Normal file
62
src/release/Makefile
Normal file
@ -0,0 +1,62 @@
|
||||
TAG?= master
|
||||
BUILD_TARGET?= GENERIC
|
||||
RELEASE_FILES= *.EFI BUILDINFO INSTALL.* *.tgz bsd* *.iso cdboot *.img pxeboot
|
||||
|
||||
include build.mk
|
||||
|
||||
.SILENT:
|
||||
.PHONY: RELEASE KERNEL BASE
|
||||
|
||||
all:
|
||||
echo +++ Starting BUILD_CONF=$(BUILD_CONF) TAG=$(TAG)
|
||||
exec $(MAKE) RELEASE
|
||||
|
||||
KERNEL: dl-sources
|
||||
echo - Updating git index
|
||||
git config --global --add safe.directory /usr/src
|
||||
git config --global --add safe.directory /usr/xenocara
|
||||
cd /usr/src; git update-index --really-refresh
|
||||
cd /usr/xenocara; git update-index --really-refresh
|
||||
echo - Checkout branch $(TAG)
|
||||
cd /usr/src; git checkout -q --no-progress $(TAG) || git checkout -q --no-progress master
|
||||
cd /usr/xenocara; git checkout -q --no-progress $(TAG) || git checkout -q --no-progress master
|
||||
exec $(MAKE) do-kernel
|
||||
|
||||
RELEASE: BASE KERNEL $(RELEASE_PATH)/install$(OPENBSD_SYS_VERSION).iso $(RELEASE_PATH)/site$(OPENBSD_SYS_VERSION).tgz
|
||||
echo - Signing Release
|
||||
cd $(RELEASE_PATH); \
|
||||
cksum -a sha256 $(RELEASE_FILES) | sort > $(RELEASE_PATH)/SHA256
|
||||
[ -e "$(SIGNIFY_PRIVKEY)" ] \
|
||||
&& signify -S -s $(SIGNIFY_PRIVKEY) -e -m $(RELEASE_PATH)/SHA256 -x $(RELEASE_PATH)/SHA256.sig \
|
||||
|| echo $(SIGNIFY_PRIVKEY) missing in the $(TAG) branch, skipping.
|
||||
-cd $(RELEASE_PATH) && ls -nT > index.txt && cat BUILDINFO index.txt
|
||||
|
||||
BASE: KERNEL dl-sources
|
||||
umask 007; exec $(MAKE) do-base
|
||||
|
||||
$(RELEASE_PATH)/base$(OPENBSD_SYS_VERSION).tgz:
|
||||
exec $(MAKE) do-release
|
||||
|
||||
$(XRELEASE_PATH)/xbase$(OPENBSD_SYS_VERSION).tgz:
|
||||
exec $(MAKE) do-x
|
||||
|
||||
$(RELEASE_PATH)/install$(OPENBSD_SYS_VERSION).iso: $(RELEASE_PATH)/base$(OPENBSD_SYS_VERSION).tgz $(XRELEASE_PATH)/xbase$(OPENBSD_SYS_VERSION).tgz
|
||||
exec $(MAKE) do-iso
|
||||
|
||||
$(RELEASE_PATH)/site$(OPENBSD_SYS_VERSION).tgz:
|
||||
echo - Creating site$(OPENBSD_SYS_VERSION).tgz
|
||||
mkdir -p $(SITE_PATH)
|
||||
printf 'echo install.site\
|
||||
\nsysctl kern.version > /root/kernel\
|
||||
printf '\#!/bin/ksh\
|
||||
sed -iorig -e "s/ffs rw,/ffs rw,softdep,/" /etc/fstab\
|
||||
\n'swap /tmp mfs rw,nodev,nosuid,-s=64m 0 0' >> /etc/fstab\
|
||||
\n'rcctl set ntpd flags -s\
|
||||
\necho "kern.timecounter.hardware=tsc" >> /etc/sysctl.conf\
|
||||
\nrcctl disable sndiod\
|
||||
\necho 'kern.allowdt=1' >> /etc/sysctl.conf\
|
||||
\nsysctl kern.allowdt=1\
|
||||
\necho "http://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl\n'\
|
||||
> $(SITE_PATH)/install.site
|
||||
cd $(SITE_PATH) && tar -zcf $(RELEASE_PATH)/site$(OPENBSD_SYS_VERSION).tgz install.site
|
||||
cd $(RELEASE_PATH) && grep site$(OPENBSD_SYS_VERSION) SHA256 || sha256 site$(OPENBSD_SYS_VERSION).tgz >> SHA256
|
163
src/release/build.mk
Normal file
163
src/release/build.mk
Normal file
@ -0,0 +1,163 @@
|
||||
#TODO : refactor so there is no phony targets anymore
|
||||
|
||||
TAG?= master
|
||||
BUILD_TARGET?= GENERIC
|
||||
BUILD_PATH= /home/build
|
||||
BUILD_CONF?= $(BUILD_TARGET).MP
|
||||
BUILD_LOG?= /var/log/$(TAG)_build.log
|
||||
DEST_PATH_BASE= /dest
|
||||
DEST_PATH?= $(DEST_PATH_BASE)/$(TAG)
|
||||
XDEST_PATH?= $(DEST_PATH_BASE)/X$(TAG)
|
||||
#WWW_PATH= /var/www/htdocs
|
||||
#WWW_RELEASE_PATH?= $(WWW_PATH)/$(TAG)
|
||||
RELEASE_PATH?= $(BUILD_PATH)/$(TAG)
|
||||
XRELEASE_PATH?= $(BUILD_PATH)/$(TAG)
|
||||
MKOPTIONS= -j$$((sysctl -n hw.ncpuonline 2> /dev/null && sysctl -n hw.ncpufound 2> /dev/null && sysctl -n hw.ncpu 2> /dev/null) | head -n 1)
|
||||
SITE_PATH?= $(BUILD_PATH)/site_$(BUILD_TARGET)
|
||||
|
||||
SIGNIFY_PRIVKEY= /usr/src/etc/signify/openbsd-$(OPENBSD_SYS_VERSION)-base.sec
|
||||
|
||||
MFS_SIZE=8192M
|
||||
MFS_OBJ=/usr/obj
|
||||
MFS_XOBJ=/usr/xobj
|
||||
|
||||
LOGS= >> $(BUILD_LOG) 2>> $(BUILD_LOG).error
|
||||
|
||||
.PHONY: do-kernel do-x do-base do-release do-iso dl-sources
|
||||
|
||||
do-x:
|
||||
echo + Building XRELEASE - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
-mkdir -p $(MFS_XOBJ) && \
|
||||
mount -t mfs -o rw,noatime,-s=$(MFS_SIZE) swap $(MFS_XOBJ) && \
|
||||
echo MFS $(MFS_XOBJ) && \
|
||||
chown build:wobj $(MFS_XOBJ) && chmod 770 $(MFS_XOBJ)
|
||||
echo - Boostraping Xenocara && \
|
||||
cd /usr/xenocara && make bootstrap >> $(BUILD_LOG)
|
||||
echo - Preparing Xenocara objects && \
|
||||
cd /usr/xenocara && make obj $(LOGS)
|
||||
echo - Compiling Xenocara && \
|
||||
cd /usr/xenocara && make $(MKOPTIONS) build $(LOGS)
|
||||
mkdir -p $(XDEST_PATH) $(XRELEASE_PATH)
|
||||
echo - Building Xenocara release && \
|
||||
export DESTDIR=$(XDEST_PATH) RELEASEDIR=$(XRELEASE_PATH); \
|
||||
cd /usr/xenocara && \
|
||||
make release $(LOGS) && \
|
||||
make checkdist >> $(BUILD_LOG); \
|
||||
unset RELEASEDIR DESTDIR
|
||||
echo + XRELEASE built - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
|
||||
do-iso:
|
||||
echo + Building ISO - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
-export RELDIR=$(RELEASE_PATH) RELXDIR=$(XRELEASE_PATH); \
|
||||
cd /usr/src/distrib/$(MACHINE)/iso && \
|
||||
make $(MKOPTIONS) $(LOGS) && \
|
||||
make install $(LOGS); \
|
||||
unset RELDIR RELXDIR
|
||||
echo + ISO built - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
|
||||
do-release:
|
||||
echo + Building RELEASE - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
mkdir -p $(DEST_PATH) && chown -R build:wsrc $(DEST_PATH_BASE) && chmod -R 700 $(DEST_PATH_BASE)
|
||||
#mkdir -p $(WWW_RELEASE_PATH) && chown build:daemon $(WWW_RELEASE_PATH)
|
||||
#stat $(RELEASE_PATH) > /dev/null 2>&1 || (ln -s $(WWW_RELEASE_PATH)/ $(RELEASE_PATH) && chown build $(RELEASE_PATH))
|
||||
mkdir -p $(RELEASE_PATH) && chown build $(RELEASE_PATH)
|
||||
#@grep minimagma /etc/disktab 2>&1 > /dev/null | echo -e '\nminimagma:dt=rdroot:se#512:nt#1:ns#128:nc#150:pa#19136:oa#64:ba#17492:fa#1024:ta=4.2BSD:pc#19200:oc#0:' >> /etc/disktab
|
||||
#@grep rdrootc /etc/disktab 2>&1 > /dev/null | echo -e '\nrdrootc|ramdiskroot|RAM-disk root FS image:dt=rdroot:se#512:nt#2:ns#330:nc#16:pa#10560:oa#0:ta=4.2BSD:ba#4096:fa#512:pb#0:ob#0:tb=swap:pc#10560:oc#0:\n' >> /etc/disktab
|
||||
echo - Compiling $(BUILD_CONF) release \
|
||||
&& export DESTDIR=$(DEST_PATH) RELEASEDIR=$(RELEASE_PATH) \
|
||||
&& cd /usr/src/etc \
|
||||
&& make $(MKOPTIONS) release $(LOGS)
|
||||
echo - Creating $(BUILD_CONF) distribution sets \
|
||||
&& cd /usr/src/distrib/sets \
|
||||
&& make $(LOGS)
|
||||
echo - Checking files \
|
||||
&& export DESTDIR=$(DEST_PATH) RELEASEDIR=$(RELEASE_PATH) \
|
||||
&& cd /usr/src/distrib/sets \
|
||||
&& sh checkflist $(LOGS) || true
|
||||
echo + RELEASE built - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
|
||||
do-base:
|
||||
echo + Building BASE - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
.ifdef GLOBAL_AUTOCONF_CACHE
|
||||
install -c -o build -g wobj -m 664 /dev/null \
|
||||
$(GLOBAL_AUTOCONF_CACHE)
|
||||
.endif
|
||||
if [[ `id -u` -ne 0 ]]; then \
|
||||
echo $@ must be called by root >&2; \
|
||||
false; \
|
||||
fi
|
||||
-mkdir -p $(MFS_OBJ) && \
|
||||
mount -t mfs -o rw,noatime,-s=$(MFS_SIZE) swap $(MFS_OBJ) && \
|
||||
chown build:wobj $(MFS_OBJ) && chmod 770 $(MFS_OBJ)
|
||||
cd /usr/src; make obj $(LOGS)
|
||||
cd /usr/src/share/mk && \
|
||||
exec $(MAKE) $(MKOPTIONS) install $(LOGS)
|
||||
#cd /usr/src && \
|
||||
exec $(MAKE) $(MKOPTIONS) cleandir $(LOGS)
|
||||
echo - Building /usr/src/include && \
|
||||
cd /usr/src && \
|
||||
exec $(MAKE) $(MKOPTIONS) includes $(LOGS)
|
||||
echo - Building /usr/src/lib && \
|
||||
cd /usr/src/lib && \
|
||||
su build -c 'exec $(MAKE) $(MKOPTIONS)' $(LOGS) \
|
||||
&& NOMAN=1 exec $(MAKE) $(MKOPTIONS) install $(LOGS)
|
||||
echo - Building /usr/src/gnu/lib && \
|
||||
cd /usr/src/gnu/lib && \
|
||||
su build -c 'exec $(MAKE) $(MKOPTIONS)' $(LOGS) \
|
||||
&& NOMAN=1 exec $(MAKE) $(MKOPTIONS) install $(LOGS)
|
||||
/sbin/ldconfig -R
|
||||
echo - Building /usr/src && \
|
||||
cd /usr/src && \
|
||||
su build -c 'exec $(MAKE) $(MKOPTIONS)' $(LOGS) && \
|
||||
exec $(MAKE) $(MKOPTIONS) install $(LOGS)
|
||||
echo - Building distribution sets && \
|
||||
cd /usr/src && \
|
||||
/bin/sh /usr/src/distrib/sets/makeetcset \
|
||||
/usr/src $(MAKE) $(MKOPTIONS) $(LOGS)
|
||||
echo + BASE built - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
|
||||
/usr/xenocara:
|
||||
echo - Cloning xenocara
|
||||
cd /usr/; git clone https://github.com/openbsd/xenocara $@ >> $(BUILD_LOG) 2>&1
|
||||
chown -R build:wsrc $@
|
||||
|
||||
/usr/src/Makefile:
|
||||
echo - Cloning sources
|
||||
git clone https://github.com/openbsd/src /usr/src >> $(BUILD_LOG) 2>&1
|
||||
|
||||
/usr/ports:
|
||||
echo - Cloning ports
|
||||
cd /usr/; git clone https://github.com/openbsd/ports $@ >> $(BUILD_LOG) 2>&1
|
||||
chown -R build:wsrc $@
|
||||
|
||||
/etc/mk.conf:
|
||||
printf 'PIPE=\t-pipe\
|
||||
\nGLOBAL_AUTOCONF_CACHE=\t/dest/autoconf_cache\
|
||||
\nNOPROFILE=\tyes\
|
||||
\nUSE_CCACHE=\tyes\
|
||||
\nCCACHE_ENV="CCACHE_PREFIX=/usr/local/bin/distccwrapper CCACHE_MAXSIZE=10G CCACHE_DIR=$(DEST_PATH_BASE)/ccache"\
|
||||
\nSKIPDIR+=\tregress\
|
||||
\n#SKIPDIR+=\tgames\n' > $@
|
||||
|
||||
dl-sources: /usr/src/Makefile /etc/mk.conf /usr/xenocara $(DEST_PATH_BASE)/ccache
|
||||
echo - Source downloaded
|
||||
chown -R build:wsrc /usr/src
|
||||
|
||||
$(DEST_PATH_BASE)/ccache:
|
||||
mkdir -p $(DEST_PATH_BASE)/ccache
|
||||
chown -R build:wsrc $(DEST_PATH_BASE)/ccache
|
||||
|
||||
do-kernel: /usr/src/sys/arch/$(MACHINE)/conf/$(BUILD_CONF)
|
||||
echo + Building $(BUILD_CONF) KERNEL - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
#cd /usr/src/sys/arch/$(MACHINE); make clean >> $(BUILD_LOG)
|
||||
cd /usr/src/sys/arch/$(MACHINE)/conf ; config $(BUILD_CONF) >> $(BUILD_LOG)
|
||||
-@cd /usr/src/sys/arch/$(MACHINE)/compile/$(BUILD_CONF); make obj >> $(BUILD_LOG)
|
||||
cd /usr/src/sys/arch/$(MACHINE)/compile/$(BUILD_CONF); make config >> $(BUILD_LOG)
|
||||
echo - Compiling $(BUILD_CONF) kernel && \
|
||||
cd /usr/src/sys/arch/$(MACHINE)/compile/$(BUILD_CONF); \
|
||||
make $(MKOPTIONS) $(LOGS)
|
||||
#echo - Installing $(BUILD_CONF) kernel && \
|
||||
cd /usr/src/sys/arch/$(MACHINE)/compile/$(BUILD_CONF); \
|
||||
make $(MKOPTIONS) install $(LOGS)
|
||||
echo + $(BUILD_CONF) KERNEL built - $$(date +"%Y-%m-%dT%H:%M:%S%z")
|
||||
|
Loading…
Reference in New Issue
Block a user