Add git repository to /src if applicable.
This commit is contained in:
parent
d85a0b70cc
commit
3648fce015
25
Makefile
25
Makefile
|
@ -43,6 +43,17 @@ SORTIX_RELEASE_DIR?=release
|
||||||
SORTIX_REPOSITORY_DIR?=repository
|
SORTIX_REPOSITORY_DIR?=repository
|
||||||
SORTIX_ISO_COMPRESSION?=xz
|
SORTIX_ISO_COMPRESSION?=xz
|
||||||
|
|
||||||
|
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?=
|
||||||
|
SORTIX_INCLUDE_SOURCE_GIT_CLONE_OPTIONS?=--single-branch
|
||||||
|
SORTIX_INCLUDE_SOURCE_GIT_BRANCHES?=master
|
||||||
|
ifneq ($(and $(shell which git 2>/dev/null),$(SORTIX_INCLUDE_SOURCE_GIT_REPO)),)
|
||||||
|
SORTIX_INCLUDE_SOURCE?=git
|
||||||
|
else
|
||||||
|
SORTIX_INCLUDE_SOURCE?=yes
|
||||||
|
endif
|
||||||
|
|
||||||
include build-aux/dirs.mak
|
include build-aux/dirs.mak
|
||||||
|
|
||||||
BUILD_NAME:=sortix-$(VERSION)-$(MACHINE)
|
BUILD_NAME:=sortix-$(VERSION)-$(MACHINE)
|
||||||
|
@ -189,6 +200,19 @@ sysroot-system: sysroot-fsh sysroot-base-headers
|
||||||
|
|
||||||
.PHONY: sysroot-source
|
.PHONY: sysroot-source
|
||||||
sysroot-source: sysroot-fsh
|
sysroot-source: sysroot-fsh
|
||||||
|
ifeq ($(SORTIX_INCLUDE_SOURCE),git)
|
||||||
|
rm -rf "$(SYSROOT)/src"
|
||||||
|
git clone --no-hardlinks $(SORTIX_INCLUDE_SOURCE_GIT_CLONE_OPTIONS) -- $(SORTIX_INCLUDE_SOURCE_GIT_REPO) "$(SYSROOT)/src"
|
||||||
|
-cd "$(SYSROOT)/src" && for BRANCH in $(SORTIX_INCLUDE_SOURCE_GIT_BRANCHES); do \
|
||||||
|
git fetch origin $$BRANCH && \
|
||||||
|
git branch -f $$BRANCH FETCH_HEAD ; \
|
||||||
|
done
|
||||||
|
ifneq ($(SORTIX_INCLUDE_SOURCE_GIT_ORIGIN),)
|
||||||
|
cd "$(SYSROOT)/src" && git remote set-url origin $(SORTIX_INCLUDE_SOURCE_GIT_ORIGIN)
|
||||||
|
else
|
||||||
|
-cd "$(SYSROOT)/src" && git remote rm origin
|
||||||
|
endif
|
||||||
|
else ifneq ($(SORTIX_INCLUDE_SOURCE),no)
|
||||||
cp .gitignore -t "$(SYSROOT)/src"
|
cp .gitignore -t "$(SYSROOT)/src"
|
||||||
cp COPYING-GPL -t "$(SYSROOT)/src"
|
cp COPYING-GPL -t "$(SYSROOT)/src"
|
||||||
cp COPYING-LGPL -t "$(SYSROOT)/src"
|
cp COPYING-LGPL -t "$(SYSROOT)/src"
|
||||||
|
@ -196,6 +220,7 @@ sysroot-source: sysroot-fsh
|
||||||
cp README -t "$(SYSROOT)/src"
|
cp README -t "$(SYSROOT)/src"
|
||||||
cp -RT build-aux "$(SYSROOT)/src/build-aux"
|
cp -RT build-aux "$(SYSROOT)/src/build-aux"
|
||||||
(for D in $(MODULES); do (cp -R $$D -t "$(SYSROOT)/src" && $(MAKE) -C "$(SYSROOT)/src/$$D" clean) || exit $$?; done)
|
(for D in $(MODULES); do (cp -R $$D -t "$(SYSROOT)/src" && $(MAKE) -C "$(SYSROOT)/src/$$D" clean) || exit $$?; done)
|
||||||
|
endif
|
||||||
(cd "$(SYSROOT)" && find .) | sed 's/\.//' | \
|
(cd "$(SYSROOT)" && find .) | sed 's/\.//' | \
|
||||||
grep -E '^/src(/.*)?$$' | \
|
grep -E '^/src(/.*)?$$' | \
|
||||||
LC_ALL=C sort > "$(SYSROOT)/tix/manifest/src"
|
LC_ALL=C sort > "$(SYSROOT)/tix/manifest/src"
|
||||||
|
|
|
@ -8,8 +8,10 @@
|
||||||
.Pa /src
|
.Pa /src
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
Releases come with the system source code in
|
Releases come with the system source code in
|
||||||
.Pa /src .
|
.Pa /src
|
||||||
It can be modified, compiled and installed on the current system.
|
as a
|
||||||
|
.Xr git 1
|
||||||
|
repository. It can be modified, compiled and installed on the current system.
|
||||||
The source code is built with a
|
The source code is built with a
|
||||||
.Xr make 1
|
.Xr make 1
|
||||||
build system. The source code can be located in any location, if so, simply
|
build system. The source code can be located in any location, if so, simply
|
||||||
|
@ -138,6 +140,19 @@ Specifies compiler optimization options that gets added to
|
||||||
.Ev CFLAGS
|
.Ev CFLAGS
|
||||||
and
|
and
|
||||||
.Ev CXXFLAGS .
|
.Ev CXXFLAGS .
|
||||||
|
.It Ev SORTIX_INCLUDE_SOURCE
|
||||||
|
Specifies whether the source code is included in the sysroot. This must be one
|
||||||
|
of
|
||||||
|
.Sy no, yes
|
||||||
|
or
|
||||||
|
.Sy git
|
||||||
|
and defaults to
|
||||||
|
.Sy git
|
||||||
|
if
|
||||||
|
.Xr git 1
|
||||||
|
is installed and
|
||||||
|
.Sy yes
|
||||||
|
otherwise.
|
||||||
.It Ev SORTIX_ISO_COMPRESSION
|
.It Ev SORTIX_ISO_COMPRESSION
|
||||||
Specifies the compression algorithm used in iso files. This must be one of
|
Specifies the compression algorithm used in iso files. This must be one of
|
||||||
.Sy none , gzip
|
.Sy none , gzip
|
||||||
|
@ -251,6 +266,30 @@ as not all ports can be built natively yet.
|
||||||
.Pp
|
.Pp
|
||||||
The ports system is described in detail in
|
The ports system is described in detail in
|
||||||
.Xr porting-guide 7 .
|
.Xr porting-guide 7 .
|
||||||
|
.Ss Patches
|
||||||
|
The source code is managed as a
|
||||||
|
.Xr git 1
|
||||||
|
repository and you can make your own changes and commit them. A good approach
|
||||||
|
is to set up your own local development branch and work there:
|
||||||
|
.Bd -literal
|
||||||
|
git checkout -b local
|
||||||
|
git add utils/hello.c
|
||||||
|
git commit -m 'Add hello(1).'
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
You can then easily prepare your a set of patches for upstream submission:
|
||||||
|
.Bd -literal
|
||||||
|
git format-patch master..local
|
||||||
|
.Ed
|
||||||
|
.Pp
|
||||||
|
This will create a series of .patch files containing your changes. Review them
|
||||||
|
and rewrite git history as needed until they are of submittable quality. You can
|
||||||
|
then submit them for review at the official website.
|
||||||
|
.Pp
|
||||||
|
To transfer files out of the operating system, you can either mount the local
|
||||||
|
root filesystem from another operating system with networking, or you transmit
|
||||||
|
the patches over the serial connection as described in
|
||||||
|
.Xr serial-transfer 7 .
|
||||||
.Ss Releases
|
.Ss Releases
|
||||||
CD-ROM release of the operating system can be built with the
|
CD-ROM release of the operating system can be built with the
|
||||||
.Sy iso
|
.Sy iso
|
||||||
|
@ -272,7 +311,9 @@ target and prepare a
|
||||||
directory with a directory structure and miscellaneous files suitable for a
|
directory with a directory structure and miscellaneous files suitable for a
|
||||||
formal online release.
|
formal online release.
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
|
.Xr git 1 ,
|
||||||
.Xr make 1 ,
|
.Xr make 1 ,
|
||||||
.Xr cross-development 7 ,
|
.Xr cross-development 7 ,
|
||||||
.Xr porting-guide 7 ,
|
.Xr porting-guide 7 ,
|
||||||
|
.Xr serial-transfer 7 ,
|
||||||
.Xr update-initrd 8
|
.Xr update-initrd 8
|
||||||
|
|
|
@ -83,7 +83,9 @@ file lists all currently installed ports.
|
||||||
.Ss Source Code
|
.Ss Source Code
|
||||||
Releases come full with the system source code in
|
Releases come full with the system source code in
|
||||||
.Pa /src
|
.Pa /src
|
||||||
along with the tools to build it and develop it. The build
|
as a
|
||||||
|
.Xr git 1
|
||||||
|
repository along with the tools to build it and develop it. The build
|
||||||
process is covered in
|
process is covered in
|
||||||
.Xr development 7 .
|
.Xr development 7 .
|
||||||
.Ss Mounting
|
.Ss Mounting
|
||||||
|
|
Loading…
Reference in New Issue