====== die FreeBSD-Quelle aktualisieren ====== * [[https://cgit.freebsd.org/|FreeBSD Git repositories]] * [[https://cgit.freebsd.org/src/about/|index : src - about]] * [[https://cgit.freebsd.org/src/|index : src - summary]] * [[https://www.freebsd.org/releng/]] - Release Engineering - [[::FreeBSD:die FreeBSD-Quelle aktualisieren]] - [[::FreeBSD:das ganze FreeBSD-System bauen]] - [[::FreeBSD:nur den FreeBSD-Kernel bauen]] ===== ab FreeBSD 13 werden die Quellen mit GIT gesaugt ===== __Nachricht vom 13. April 2021: FreeBSD 13.0-RELEASE Now Available__ * [[https://www.freebsdfoundation.org/wp-content/uploads/2018/10/FreeBSD-and-Git.pdf|FreeBSD and Git]] * [[https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld|24.5. Updating FreeBSD from Source]] * [[http://de.gitready.com/advanced/2009/02/11/pull-with-rebase.html|git ready - Pull mit Rebase]] Vorbereitungen (dadurch erhalten Sie eine vollständige Kopie): # cd /usr/ports/devel/git && make clean && make config-recursive && make && make install && make clean # rm -fr /usr/src # mkdir /usr/src # cd /usr/src # git clone https://git.freebsd.org/src.git . Cloning into '.'... remote: Enumerating objects: 378484, done. remote: Counting objects: 100% (378484/378484), done. remote: Compressing objects: 100% (27038/27038), done. remote: Total 3961881 (delta 372734), reused 351446 (delta 351446), pack-reused 3583397 Receiving objects: 100% (3961881/3961881), 1.31 GiB | 5.75 MiB/s, done. Resolving deltas: 100% (3137057/3137057), done. Updating files: 100% (85358/85358), done. # git remote --v origin https://git.freebsd.org/src.git (fetch) origin https://git.freebsd.org/src.git (push) # git branch -a # git checkout releng/13.0 Updating files: 100% (9633/9633), done. Branch 'releng/13.0' set up to track remote branch 'releng/13.0' from 'origin'. Switched to a new branch 'releng/13.0' # sh /usr/src/sys/conf/newvers.sh -v TYPE="FreeBSD" REVISION="13.0" BRANCH="RELEASE" RELEASE="13.0-RELEASE" VERSION="FreeBSD 13.0-RELEASE" RELDATE="1300139" spätere Aktualisierungen (zu -RC1, -RC2, -RC3, -RC4, -RC5, -RELEASE und den Patch-Level ...) werden so durchgeführt: # cd /usr/src && git pull # sh /usr/src/sys/conf/newvers.sh -v ===== bis FreeBSD 12 wurden die Quellen mit SVN gesaugt ===== * [[https://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/makeworld.html|FreeBSD aus den Quellen aktualisieren]] * **[[https://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/makeworld.html#updating-src-obtaining-src|FreeBSD aus den Quellen aktualisieren]]** * [[https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/svn.html|Using Subversion]] * [[https://www.freebsd.org/doc/handbook/svn.html|Using Subversion]] * [[http://svnbook.red-bean.com/|Subversion Book]] * [[https://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.html|Subversion Primer]] * [[https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html|Configuring the FreeBSD Kernel - The Configuration File]] subversion installieren: > pkg install devel/subversion === checkout === für eine saubere Basis sorgen: # rm -fr /usr/src == mit SVN das erste mal saugen == globaler Entwicklungszweig (Der ändert sich ständig! Hier gibt es die aktuellsten Bug's...): # svn checkout svn://svn.freebsd.org/base/head /usr/src Entwicklungszweig der Version 9: # svn checkout svn://svn.freebsd.org/base/stable/9 /usr/src Version 9.0 RELEASE + Sicherheitsupdates: # svn checkout svn://svn.freebsd.org/base/release/9.0 /usr/src Version 9.0 RELEASE: # svn checkout svn://svn.freebsd.org/base/release/9.0.0 /usr/src === mit SVN aktuallisieren === # svn up /usr/src === SVN status === Status anzeigen: # svn status /usr/src ==== SVN-Beispiele für die Syntax ==== Version 12.1 RELEASE + Sicherheitsupdates: > svn checkout svn://svn.freebsd.org/base/releng/12.1 /usr/src Version 12.1 RELEASE: > svn checkout svn://svn.freebsd.org/base/releng/12.1.0 /usr/src ==== Mit RELEASE + Sicherheitsupdates für die aktuell installierte Version ==== die Quellen neu saugen: > svnlite checkout svn://svn.freebsd.org/base/releng/$(freebsd-version -u | awk -F'-' '{print $1}') /usr/src ... A /usr/src/Makefile.sys.inc A /usr/src/.arcconfig U /usr/src Checked out revision 366790. die Quellen aktuallisieren: > svnlite update /usr/src Updating '/usr/src': At revision 366792. ein alternativer Weg, um die Quellen zu aktuallisieren: > cd /usr/src > make update SVN_UPDATE=yes Änderungen der neuen Version einsehen: > less /usr/src/UPDATING