= Ontwikkelen aan SYN-3 = Alle Syn-3 software bevind zich in 1 GIT tree. (git is een opensource versie beheer systeem dat gebruikt word voor vele grote opensource projecten) Deze tree bevat een groot aantal scripts om het meeste automatisch doen. Deze pagina legt je uit hoe je aan de tree komt en hoe deze is ingedeeld. Ook zitten alle binaries in deze tree, als mede de source-code en scripts om de binairies zelf te compilen. == Vereisten == Theoretisch kan Syn-3 op alle Linux omgevingen gebouwd worden, omdat pakketjes altijd in een buildroot gecompiled worden. We gebruiken momenteel Slackware, Gentoo, Syn-3 en Ubuntu omgevingen om te bouwen en dit gaat prima. Je bent in elk geval het volgende nodig: * root account * rsync * git * Meer dan 10 gig diskspace * 4gig vrij op je /tmp, het liefst met tmpfs. tmpfs+grote swapfile is veeel sneller dan een gewoon filesystem! = Voorbereiding = == SYN-3 ontwikkel tree ophalen == Om de ontwikkel tree op te halen is het nodig om de gehele SYN-3 git repository te "clonen", als volgt: {{{ psy@ws1 ~ % git clone http://open.syn3.nl/syn3/git/default opensyn3 Cloning into 'opensyn3'... remote: Counting objects: 10526, done. remote: Compressing objects: 100% (7482/7482), done. Receiving objects: 1% (141/10526), 5.47 MiB | 1.81 MiB/s ... }}} Dit duurt een hele tijd (de tree is rond de 5 Gb momenteel) Hierna vind je in opensyn3 de gehele tree. == Slackware package manager installeren == Deze package manager is nodig om de buildroot te kunnen opbouwen als pakketjes gaat compilen. Deze installeer je als volgt: {{{ psy@ws1 ~ % sudo bash root@ws1:~# cd / root@ws1:/# tar -xzf /home/psy/opensyn3/npl/slackware/pkgtools-10.0.0-i486-1.tgz }}} === tar 1.13 installeren === Omdat we momenteel nog een oudere pkgtools gebruiken is het nodig dat je tar 1.13 op je host-systeem installeert. (dit is een slackware package management eigenaardigheid) Dit kan als volgt: {{{ psy@ws1 ~ % sudo cp opensyn3/npl/slackware/tar-1.13 /bin }}} = Werken met git versie beheer = Om de wijzigingen van andere developers binnen te halen doe je af en toe een git pull: {{{ psy@ws1 ~/opensyn3 % git pull Already up-to-date. }}} Het is handig om dit regelmatig te doen, en hierna de status te controleren Er zijn vele andere commandos om bijvoorbeeld je wijzigingen op te slaan of naar DatuX te versturen. Om te leren hoe git werkt verwijzen we je naar: https://git-scm.com/book/en/v2 = Vervolg stappen = * Voor meer info zie over de indeling van de source tree zie SynTree. * Voor meer info over Syn-3 packets bouwen zie: SynPackaging