Line 7: |
Line 7: |
| VERSION=$VER.1 | | VERSION=$VER.1 |
| VERPREV=$VER.0 | | VERPREV=$VER.0 |
| + | TESTING= |
| + | # where is PREV could be "" "testing or "obsolete" |
| + | FROM= |
| + | # where we put new one could be "" "testing or "obsolete" |
| + | TO= |
| + | |
| + | go back |
| + | * [[Build_an_Official_ISO#Create release specific folder and link (or rename the folder)]] |
| + | * [[Build_an_Official_ISO#Build & Release SME Server 10]] |
| | | |
| ===Introduction=== | | ===Introduction=== |
Line 20: |
Line 29: |
| {{Warning box| build of iso on cluster should be done on builder7 with releases user }} | | {{Warning box| build of iso on cluster should be done on builder7 with releases user }} |
| | | |
− | ====Folder structure, both local and buildsys==== | + | ====Local Only: Requirements==== |
− | | + | ====='''Local Only''': mock requirement===== |
− | This document presumes that
| |
− | ~/smeserver/builds_bin is builds_bin from CVS
| |
− | ~/smeserver/cdrom.image is cdrom.image from CVS
| |
− | ~/anaconda-po contains '''the anaconda translations'''
| |
− | ~/smeserver/releases '''contains a local smeserver mirror'''
| |
− | ~/smeserver/rpms is rpms folder from CVS
| |
− | | |
− | if absent then :
| |
− | cd ~
| |
− | mkdir -p smeserver/builds_bin smeserver/cdrom.image smeserver/cdrom.image
| |
− | ln -s smeserver/builds_bin builds_bin
| |
− | ln -s smeserver/cdrom.image cdrom.image
| |
− | mkdir -p anaconda-po
| |
− | | |
− | | |
− | then update content or populate
| |
− | cd smeserver
| |
− | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P builds_bin
| |
− | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P cdrom.image
| |
− | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P rpms
| |
− | cd ~
| |
− | | |
− | ===='''Local Only''': mock requirement==== | |
| on centos 7 | | on centos 7 |
| yum install python-decoratortools | | yum install python-decoratortools |
| | | |
− | ===='''Local Only''': mock plugin : iso_prepare==== | + | ====='''Local Only''': mock plugin : iso_prepare===== |
| You have to install a new plugin for mock : Iso_prepare<br /> | | You have to install a new plugin for mock : Iso_prepare<br /> |
| | | |
Line 54: |
Line 40: |
| sudo wget https://bugs.contribs.org/attachment.cgi?id=6286 -O /usr/lib/python3.6/site-packages/mockbuild/plugins/iso_prepare.py | | sudo wget https://bugs.contribs.org/attachment.cgi?id=6286 -O /usr/lib/python3.6/site-packages/mockbuild/plugins/iso_prepare.py |
| | | |
− | ===='''Local Only''': update_repos==== | + | ====='''Local Only''': update_repos===== |
| The script update_repos relies on RPM2 which can be found as a RPM. | | The script update_repos relies on RPM2 which can be found as a RPM. |
| yum install perl-RPM2 repoview --enablerepo=epel | | yum install perl-RPM2 repoview --enablerepo=epel |
Line 60: |
Line 46: |
| {{Note box|Note that update_repos copies packages from smeupdates-testing to stage but not from smetest, so packages freshly built won't be included into the new ISO until they are manually moved from smetest to smeupdates-testing}} | | {{Note box|Note that update_repos copies packages from smeupdates-testing to stage but not from smetest, so packages freshly built won't be included into the new ISO until they are manually moved from smetest to smeupdates-testing}} |
| The buildsys has two main folders that are relevant for building an ISO. | | The buildsys has two main folders that are relevant for building an ISO. |
− | repo => '/build/smeserver/repo/ ', eg '/build/smeserver/repo/testing/9/' | + | repo => '/build/smeserver/repo/ ', eg '/build/smeserver/repo/testing/10/' |
− | stage => '/build/smeserver/stage/', eg '/build/smeserver/stage/9/' | + | stage => '/build/smeserver/stage/', eg '/build/smeserver/stage/10/' |
| | | |
| * '''repo''' is the folder that replicates to the mirrors. Be careful of all changes here. | | * '''repo''' is the folder that replicates to the mirrors. Be careful of all changes here. |
Line 68: |
Line 54: |
| It also needs all GPG keys for every package that it sees, it can take a while to find them all. | | It also needs all GPG keys for every package that it sees, it can take a while to find them all. |
| | | |
− | ===='''Local Only''': Create the repo folder and the binary program folder==== | + | ====='''Local Only''': Create the repo folder and the binary program folder===== |
− | '''Local Only'''
| |
| mkdir -p /build/smeserver/repo | | mkdir -p /build/smeserver/repo |
| mkdir -p /build/smeserver/stage/bin | | mkdir -p /build/smeserver/stage/bin |
Line 80: |
Line 65: |
| /bin/cp ~/smeserver/builds_bin/* /build/smeserver/stage/bin | | /bin/cp ~/smeserver/builds_bin/* /build/smeserver/stage/bin |
| | | |
− | ===='''Local Only''': Mock Special Settings==== | + | ====='''Local Only''': Mock Special Settings===== |
| * hard-coded UID of release account | | * hard-coded UID of release account |
| | | |
Line 100: |
Line 85: |
| sudo vim /etc/mock/smeserver-10-x86_64-iso.cfg | | sudo vim /etc/mock/smeserver-10-x86_64-iso.cfg |
| | | |
− | ===='''Local Only''': Patch a Mock Plugin==== | + | ====='''Local Only''': Patch a Mock Plugin===== |
| {{Note box|this does not seems to be needed anymore on a CentOS 7 builder using python3.6 as per 2020/06/11}} | | {{Note box|this does not seems to be needed anymore on a CentOS 7 builder using python3.6 as per 2020/06/11}} |
| There is also an update to /usr/lib/python2.6/site-packages/mockbuild/mounts.py that needs to happen so loop devices get mounted correctly. Check '''/var/lib/mock/smeserver-VERSION-ARCH/result/root.log''' after '''mock -r smeserver-VERSION-ARCH-iso --init (eg mock -r smeserver-8-i386-iso --init)'''. The mounting of the /dev/loopX should pass (return code 0). If it fails (return code 32) then the patch below is needed on your build host. see http://bugs.contribs.org/show_bug.cgi?id=7675#c61 | | There is also an update to /usr/lib/python2.6/site-packages/mockbuild/mounts.py that needs to happen so loop devices get mounted correctly. Check '''/var/lib/mock/smeserver-VERSION-ARCH/result/root.log''' after '''mock -r smeserver-VERSION-ARCH-iso --init (eg mock -r smeserver-8-i386-iso --init)'''. The mounting of the /dev/loopX should pass (return code 0). If it fails (return code 32) then the patch below is needed on your build host. see http://bugs.contribs.org/show_bug.cgi?id=7675#c61 |
Line 151: |
Line 136: |
| then do | | then do |
| sudo patch -N /usr/lib/python2.6/site-packages/mockbuild/plugins/mount.py < mount.py.20150626.daniel.berteaud.patch | | sudo patch -N /usr/lib/python2.6/site-packages/mockbuild/plugins/mount.py < mount.py.20150626.daniel.berteaud.patch |
| + | |
| + | ====CVS Folder structure, both local and buildsys==== |
| + | |
| + | as releases user do |
| + | |
| + | This document presumes that |
| + | ~/smeserver/builds_bin is builds_bin from CVS |
| + | ~/smeserver/cdrom.image is cdrom.image from CVS |
| + | ~/anaconda-po contains '''the anaconda translations''' |
| + | ~/smeserver/releases '''contains a local smeserver mirror''' |
| + | ~/smeserver/rpms is rpms folder from CVS |
| + | |
| + | if absent then : |
| + | cd ~ |
| + | mkdir -p smeserver/builds_bin smeserver/cdrom.image smeserver/cdrom.image |
| + | ln -s smeserver/builds_bin builds_bin |
| + | ln -s smeserver/cdrom.image cdrom.image |
| + | mkdir -p anaconda-po |
| + | |
| + | then update content or populate |
| + | cd smeserver |
| + | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P builds_bin |
| + | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P cdrom.image |
| + | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P rpms |
| + | cd ~ |
| + | |
| | | |
| ===Preparation of a new Major Release=== | | ===Preparation of a new Major Release=== |
Line 162: |
Line 173: |
| prepa | | prepa |
| | | |
− | </syntaxhighlight>then you want to harvest the pathc we already have. For SME10: | + | </syntaxhighlight>then you want to harvest the patch we already have. For SME10: |
| # 100-anaconda-koozali-product.patch | | # 100-anaconda-koozali-product.patch |
| # 101-anaconda-koozali-add-koozali-install-class.patch | | # 101-anaconda-koozali-add-koozali-install-class.patch |
Line 240: |
Line 251: |
| find ./ -name CVS -prune -o -print | xargs cvs add | | find ./ -name CVS -prune -o -print | xargs cvs add |
| cvs commit -m 'new cdrom.image version for sme10' | | cvs commit -m 'new cdrom.image version for sme10' |
− |
| |
| | | |
| alternatively to only update content | | alternatively to only update content |
| cd ~/cdrom.image | | cd ~/cdrom.image |
| cvs update -dPA | | cvs update -dPA |
| + | |
| + | |
| | | |
| ===Preparation for a new ISO release=== | | ===Preparation for a new ISO release=== |
Line 306: |
Line 318: |
| | | |
| you can also fast the operation by doing the following if you only need on sme version: | | you can also fast the operation by doing the following if you only need on sme version: |
− | mkdir ~/anaconda-po/sme10 | + | mkdir -p ~/anaconda-po/sme10 |
| wget --mirror --no-parent -w 1 -A.mo -P ~/anaconda-po/sme10 https://translate.koozali.org/anaconda/sme10/ | | wget --mirror --no-parent -w 1 -A.mo -P ~/anaconda-po/sme10 https://translate.koozali.org/anaconda/sme10/ |
| | | |
Line 323: |
Line 335: |
| {{Note box|Be careful to bump the version, the release and the displayversion macro, eg | | {{Note box|Be careful to bump the version, the release and the displayversion macro, eg |
| | | |
− | %define version 9.2 | + | %define version 10.1 |
| %define release 0.rc2 | | %define release 0.rc2 |
| %define displayversion %{version}rc2 | | %define displayversion %{version}rc2 |
Line 329: |
Line 341: |
| or with final release: | | or with final release: |
| | | |
− | %define version 9.2 | + | %define version 10.1 |
| %define release 1 | | %define release 1 |
| %define displayversion %{version} | | %define displayversion %{version} |
Line 371: |
Line 383: |
| | | |
| Also bump the '''Version''' ! | | Also bump the '''Version''' ! |
| + | |
| + | |
| | | |
| ===Prepare SME Server 10=== | | ===Prepare SME Server 10=== |
Line 380: |
Line 394: |
| ====Create release specific folder and link (or rename the folder)==== | | ====Create release specific folder and link (or rename the folder)==== |
| The build_installer and build_ISO expect to be run from a directory that points to the head of the stage (ex. /build/stage/8). This is usually a symlink to 8.1 or 8.1beta1. The script fully expands the symlink and pulls off the last element to figure out what version we are going to build. | | The build_installer and build_ISO expect to be run from a directory that points to the head of the stage (ex. /build/stage/8). This is usually a symlink to 8.1 or 8.1beta1. The script fully expands the symlink and pulls off the last element to figure out what version we are going to build. |
− | VER=10
| |
− | VERSION=$VER.0.alpha5
| |
− | VERPREV=$VER.0.alpha4
| |
| | | |
| + | get the version string [[Build_an_Official_ISO#Versions]] |
| + | |
| + | {{Note box|Note: images and isolinux do not need to be created as they are removed anyway in build_installer(from SME9, need to check)}} |
| mkdir -p /build/smeserver/stage/$VERSION/{SRPMS,x86_64} | | mkdir -p /build/smeserver/stage/$VERSION/{SRPMS,x86_64} |
| mkdir -p /build/smeserver/stage/$VERSION/x86_64/{Packages,EFI,images,isolinux,LiveOS,repodata,repoview,updates} | | mkdir -p /build/smeserver/stage/$VERSION/x86_64/{Packages,EFI,images,isolinux,LiveOS,repodata,repoview,updates} |
| mkdir -p /build/smeserver/stage/$VERSION/x86_64/Packages/base | | mkdir -p /build/smeserver/stage/$VERSION/x86_64/Packages/base |
| mkdir -p /build/smeserver/stage/$VERSION/x86_64/images/pxeboot | | mkdir -p /build/smeserver/stage/$VERSION/x86_64/images/pxeboot |
| + | mkdir -p /build/smeserver/stage/$VERSION/x86_64/updates/{po,textw,iw,storage/devicelibs} |
| cd /build/smeserver/stage/ | | cd /build/smeserver/stage/ |
| rm -f $VER | | rm -f $VER |
Line 395: |
Line 410: |
| wget <nowiki>http://mirror.centos.org/centos/7/os/x86_64/LiveOS/squashfs.img</nowiki> | | wget <nowiki>http://mirror.centos.org/centos/7/os/x86_64/LiveOS/squashfs.img</nowiki> |
| Get CentOS last images content | | Get CentOS last images content |
− | cd /build/smeserver/stage/$VERSION/x86_64/Packages/images | + | cd /build/smeserver/stage/$VERSION/x86_64/images |
| wget <nowiki>http://mirror.centos.org/centos/7/os/x86_64/images/boot.iso</nowiki> <nowiki>http://mirror.centos.org/centos/7/os/x86_64/images/efiboot.img</nowiki> | | wget <nowiki>http://mirror.centos.org/centos/7/os/x86_64/images/boot.iso</nowiki> <nowiki>http://mirror.centos.org/centos/7/os/x86_64/images/efiboot.img</nowiki> |
| cd /build/smeserver/stage/$VERSION/x86_64/images/pxeboot | | cd /build/smeserver/stage/$VERSION/x86_64/images/pxeboot |
| wget <nowiki>http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/initrd.img</nowiki> <nowiki>http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/vmlinuz</nowiki> | | wget <nowiki>http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/initrd.img</nowiki> <nowiki>http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/vmlinuz</nowiki> |
| + | |
| Prepare to build the product.img | | Prepare to build the product.img |
− | | + | rsync -arv /build/smeserver/repo/$FROM/$VERPREV/smeos/x86_64/product /build/smeserver/stage/$VERSION/x86_64/ |
− | cd /build/smeserver/stage/extra/images/$VER/product/
| |
− | | |
− | make any needed modification in the product image. at least update the release version
| |
− | vim .buildstamp
| |
− | vim run/install/product/pyanaconda/installclasses/custom.py
| |
− | vim run/install/product/pyanaconda/installclasses/koozali.py
| |
− | vim usr/lib64/python2.7/site-packages/pyanaconda/installclasses/centos.py
| |
− | vim usr/lib64/python2.7/site-packages/pyanaconda/installclasses/koozali.py
| |
− | | |
− | build new product.img and copy it to stage
| |
− | find . | cpio -c -o | gzip -9cv > ../product.img; cd ..
| |
− | mkdir -p /build/smeserver/stage/$VER/x86_64/images/
| |
− | cp product.img /build/smeserver/stage/$VER/x86_64/images/
| |
| | | |
| + | Populate isolinux dir: |
| rsync -arv /mirrors/centos/7/os/x86_64/isolinux/* /build/smeserver/stage/$VERSION/x86_64/isolinux/ | | rsync -arv /mirrors/centos/7/os/x86_64/isolinux/* /build/smeserver/stage/$VERSION/x86_64/isolinux/ |
− | mkdir /build/smeserver/stage/extra/isolinux/ | + | could also be from previous iso |
| + | rsync -arv /build/smeserver/stage/$VERPREV/x86_64/isolinux/* /build/smeserver/stage/$VERSION/x86_64/isolinux/ |
| + | Populate EFI |
| + | rsync -arv /mirrors/centos/7/os/x86_64/EFI /build/smeserver/stage/$VERSION/x86_64/ |
| + | could also be from previous iso |
| + | rsync -arv /build/smeserver/stage/$VERPREV/x86_64/EFI /build/smeserver/stage/$VERSION/x86_64/ |
| | | |
| ====Create cdrom content==== | | ====Create cdrom content==== |
− |
| |
− | '''WIP: From there on with SME 10, we are simply copying EFI, LiveOS, isolinux, images folders from CentOS or previous version.'''
| |
− |
| |
− | '''this has to be done before building product.img and put it in images. Also you will have to update the isolinux.cfg content.'''
| |
− |
| |
| When starting from fresh rsync can copy cdrom.image content, it also generates the folder tree. | | When starting from fresh rsync can copy cdrom.image content, it also generates the folder tree. |
| {{Warning box|'''Before doing this, you should use an account with CVS write access to bump the version or alter the following files: | | {{Warning box|'''Before doing this, you should use an account with CVS write access to bump the version or alter the following files: |
| #Packages/base/comp.xml | | #Packages/base/comp.xml |
| #isolinux{boot.msg, help.txt,isolinux.cfg} | | #isolinux{boot.msg, help.txt,isolinux.cfg} |
| + | #netinstall/isolinux/isolinux.cfg |
| + | #product/.buildstamp |
| #updates/README.txt'''}} | | #updates/README.txt'''}} |
− | {{Warning box|'''Note that this would remove everything else out of the target directory, eg translations.'''}}
| |
− | Also note that the isolinux content goes into a temporary directory, /build/smeserver/stage/extra/isolinux/
| |
− | cd ~/smeserver
| |
− | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P cdrom.image
| |
| | | |
− | rsync -av --delete --delete-excluded --exclude 'CVS/' --exclude 'isolinux/' ~/smeserver/cdrom.image/sme10/ /build/smeserver/stage/$VER/x86_64/
| + | ==== Refresh cdrom content==== |
− | rsync -av --delete --delete-excluded --exclude 'CVS/' ~/smeserver/cdrom.image/sme10/isolinux/ /build/smeserver/stage/extra/isolinux/$VER/
| |
− | | |
− | ====OR Refresh cdrom content==== | |
| If only refreshing the files, then remove the delete. | | If only refreshing the files, then remove the delete. |
| cd ~/smeserver | | cd ~/smeserver |
| cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P cdrom.image | | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P cdrom.image |
| | | |
− | rsync -av --exclude 'CVS/' --exclude 'isolinux/' ~/smeserver/cdrom.image/sme10/ /build/smeserver/stage/$VER/x86_64/ | + | rsync -arv --exclude 'CVS/' ~/smeserver/cdrom.image/sme$VER/ /build/smeserver/stage/$VER/x86_64/ |
− | rsync -av --exclude 'CVS/' ~/smeserver/cdrom.image/sme10/isolinux/ /build/smeserver/stage/extra/isolinux/$VER/ | + | cd /build/smeserver/stage/extra/images/$VER/product/ |
| | | |
− | ====Create the remaining folders==== | + | ====Copy anaconda translations==== |
− | {{Note box|Note: images and isolinux do not need to be created as they are removed anyway in build_installer}}
| + | Anaconda translations need copying to /updates/po from ~/anaconda-po |
| + | see [[Build_an_Official_ISO#Anaconda translations]] to get updated strings |
| + | cp -R ~/anaconda-po/translate.koozali.org/anaconda/sme$VER/* /build/smeserver/stage/$VER/x86_64/updates/po/ |
| | | |
− | * x86_64
| + | ====Copy anaconda content to create product.img==== |
− | cd /build/smeserver/stage/10/x86_64
| + | See ~/smeserver/cdrom.image/sme$VER/updates/README.txt for details of what to copy. The patched anaconda files from ~/smeserver/rpms/anaconda/sme$VER will go to updates directory. The exact directory depends on the anaconda version, eg ~/smeserver/rpms/anaconda/sme$VER/anaconda-21.48.22.56 |
− | mkdir -p /build/smeserver/stage/10/x86_64/repodata/
| |
− | mkdir -p /build/smeserver/stage/10/x86_64/updates/po
| |
− | mkdir -p /build/smeserver/stage/10/x86_64/updates/textw
| |
− | mkdir -p /build/smeserver/stage/10/x86_64/updates/iw | |
− | mkdir -p /build/smeserver/stage/10/x86_64/updates/storage/devicelibs
| |
| | | |
− | * other directories
| + | if first time running cvs (here example as anonymous, but can use your login): |
− | mkdir -p /build/smeserver/stage/iso/$VER/{x86_64,source}
| |
| | | |
− | ====Copy anaconda translations====
| + | mkdir -p ~/smeserver |
− | Anaconda translations need copying to /updates/po from ~/anaconda-po
| + | pushd ~/smeserver |
− | cp -R ~/anaconda-po/translate.koozali.org/anaconda/sme10/* /build/smeserver/stage/10/x86_64/updates/po/ | + | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P rpms/anaconda |
| + | popd |
| | | |
− | ====Copy anaconda content====
| + | then you can simply |
− | See ~/smeserver/cdrom.image/sme10/updates/README.txt for details of what to copy. The patched anaconda files from ~/smeserver/rpms/anaconda/sme10 will go to updates directory. The exact directory depends on the anaconda version, eg ~/smeserver/rpms/anaconda/sme10/anaconda-21.48.22.56
| |
| | | |
− | The following needs to be done on builder 7
| + | pushd ~/smeserver/rpms/anaconda/sme10/ |
− | cd ~/smeserver/rpms/anaconda/sme10/ | |
| cvs update -dPA | | cvs update -dPA |
| make prep | | make prep |
− | cd ~/smeserver/rpms/anaconda/sme10/anaconda-21.48.22.56 | + | popd |
| + | pushd /build/smeserver/stage/$VERSION/x86_64/product/ |
| + | cp ~/smeserver/rpms/anaconda/sme10/anaconda-21.48.22.159/pyanaconda/installclasses/koozali.py run/install/product/pyanaconda/installclasses/ |
| + | cp ~/smeserver/rpms/anaconda/sme10/anaconda-21.48.22.159/pyanaconda/installclasses/koozali.py usr/lib64/python2.7/site-packages/pyanaconda/installclasses/ |
| + | cp ~/smeserver/rpms/anaconda/sme10/anaconda-21.48.22.159/pyanaconda/installclasses/centos.py usr/lib64/python2.7/site-packages/pyanaconda/installclasses/ |
| + | cp ~/smeserver/rpms/anaconda/sme10/anaconda-21.48.22.159/pyanaconda/installclasses/fedora.py usr/lib64/python2.7/site-packages/pyanaconda/installclasses/ |
| + | popd |
| | | |
− | '''this does not work and need to be updated.'''
| + | For testing purpose you can do this, but BUILD SCRIPT DOES IT ! build new product.img and copy it to stage, if you want but it should be done by the build.ISO script |
| | | |
− | cp -R storage /build/smeserver/stage/10/x86_64/updates/ | + | #find . | cpio -c -o | gzip -9cv > ../product.img; cd .. |
− | cp -R textw/*.py /build/smeserver/stage/10/x86_64/updates/textw
| + | #mkdir -p /build/smeserver/stage/$VER/x86_64/images/ |
− | cp -R iw/*.py /build/smeserver/stage/10/x86_64/updates/iw | + | #cp product.img /build/smeserver/stage/$VER/x86_64/images/ |
− | cp *.py /build/smeserver/stage/10/x86_64/updates | |
− | cp lang-table /build/smeserver/stage/10/x86_64/updates
| |
| | | |
| ===='''Local Only''': Hack: Permission Fixup==== | | ===='''Local Only''': Hack: Permission Fixup==== |
| This is only needed on local server if permissions are incorrect. It should not be needed.<br /> | | This is only needed on local server if permissions are incorrect. It should not be needed.<br /> |
− |
| |
− | '''Local Only'''
| |
| sudo chmod -R a+w /build/smeserver/stage | | sudo chmod -R a+w /build/smeserver/stage |
| | | |
| ===='''Local Only''': Create stage content==== | | ===='''Local Only''': Create stage content==== |
− | {{Note box|Note: This step occurs every hours on the buildsys.}} | + | {{Note box|Note: This step occurs every hours on the buildsys as cron task.}} |
− | '''Local Only'''
| |
| /build/smeserver/stage/bin/update_repos | | /build/smeserver/stage/bin/update_repos |
| + | |
| | | |
| | | |
Line 495: |
Line 491: |
| ===Build & Release SME Server 10=== | | ===Build & Release SME Server 10=== |
| | | |
− | VER=10
| + | get the version string [[Build_an_Official_ISO#Versions]] |
− | VERSION=$VER.0.alpha5
| |
− | VERPREV=$VER.0.alpha4
| |
| | | |
| You can find logs of the related scripts build_ISO and build_installer<br /> | | You can find logs of the related scripts build_ISO and build_installer<br /> |
Line 508: |
Line 502: |
| ====Build SME Server 10 64 bit ISO==== | | ====Build SME Server 10 64 bit ISO==== |
| as releases on builder7 | | as releases on builder7 |
− | rm -f /build/smeserver/stage/$VER/x86_64/SME
| |
| mock -r smeserver-$VER-x86_64-iso --init | | mock -r smeserver-$VER-x86_64-iso --init |
| # not to do #mock -r smeserver-$VER-x86_64-iso --mount --cwd /build/smeserver/stage/$VER --unpriv --chroot /build/smeserver/stage/bin/build_installer | | # not to do #mock -r smeserver-$VER-x86_64-iso --mount --cwd /build/smeserver/stage/$VER --unpriv --chroot /build/smeserver/stage/bin/build_installer |
| mock -r smeserver-$VER-x86_64-iso --mount --cwd /build/smeserver/stage/$VER --unpriv --chroot /build/smeserver/stage/bin/build_ISO | | mock -r smeserver-$VER-x86_64-iso --mount --cwd /build/smeserver/stage/$VER --unpriv --chroot /build/smeserver/stage/bin/build_ISO |
− | pushd /build/smeserver/stage/$VER/x86_64/
| + | |
− | ln -s Packages SME
| |
− | popd
| |
| =====local only===== | | =====local only===== |
− | rm -f /build/smeserver/stage/$VER/x86_64/SME
| |
| mock -r smeserver-$VER-x86_64-iso --init | | mock -r smeserver-$VER-x86_64-iso --init |
| #not to do #mock -r smeserver-$VER-x86_64-iso --mount --cwd /build/smeserver/stage/$VER --unpriv --chroot /build/smeserver/stage/bin/build_installer | | #not to do #mock -r smeserver-$VER-x86_64-iso --mount --cwd /build/smeserver/stage/$VER --unpriv --chroot /build/smeserver/stage/bin/build_installer |
| sudo chmod -R a+w /build/smeserver/stage | | sudo chmod -R a+w /build/smeserver/stage |
| mock -r smeserver-$VER-x86_64-iso --mount --cwd /build/smeserver/stage/$VER --unpriv --chroot /build/smeserver/stage/bin/build_ISO | | mock -r smeserver-$VER-x86_64-iso --mount --cwd /build/smeserver/stage/$VER --unpriv --chroot /build/smeserver/stage/bin/build_ISO |
− | pushd /build/smeserver/stage/$VER/x86_64/
| + | |
− | ln -s Packages SME
| + | |
− | popd
| |
| | | |
| ===Where are My F... ISO=== | | ===Where are My F... ISO=== |
Line 529: |
Line 518: |
| source x86_64 | | source x86_64 |
| | | |
− | ===Developer Access Needed=== | + | ===Developer Access Needed to release ISO=== |
| From this point a developer access to the buildsys and the main repo is Needed, sorry guys. Has to be done from buildsrv | | From this point a developer access to the buildsys and the main repo is Needed, sorry guys. Has to be done from buildsrv |
| | | |
− | ====SME10====
| + | get the version string [[Build_an_Official_ISO#Versions]] |
− | | |
− | VER=10
| |
− | VERSION=$VER.0.alpha5
| |
− | VERPREV=$VER.0.alpha4
| |
| | | |
| =====Prepare directory structure for SME10 release===== | | =====Prepare directory structure for SME10 release===== |
| SME 10.x test releases will go to /build/smeserver/repo/testing/10. Check that the link points to the correct testing release. Note when uploading Jigdos the ‘10’ link will not be pointing to the new directory. | | SME 10.x test releases will go to /build/smeserver/repo/testing/10. Check that the link points to the correct testing release. Note when uploading Jigdos the ‘10’ link will not be pointing to the new directory. |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/iso/source/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/iso/source/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/iso/x86_64/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/iso/x86_64/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smeos/x86_64/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/smeos/x86_64/ |
| | | |
| =====Copy SME Server 10 64 bit Jigdo to mirror===== | | =====Copy SME Server 10 64 bit Jigdo to mirror===== |
− | /bin/cp -a /build/smeserver/stage/iso/$VER/x86_64/smeserver-$VERSION-x86_64.jigdo /build/smeserver/repo/testing/$VERSION/iso/x86_64/ | + | /bin/cp -a /build/smeserver/stage/iso/$VER/x86_64/smeserver-$VERSION-x86_64.jigdo /build/smeserver/repo/$TO/$VERSION/iso/x86_64/ |
− | /bin/cp -a /build/smeserver/stage/iso/$VER/x86_64/smeserver-$VERSION-x86_64.template /build/smeserver/repo/testing/$VERSION/iso/x86_64/ | + | /bin/cp -a /build/smeserver/stage/iso/$VER/x86_64/smeserver-$VERSION-x86_64.template /build/smeserver/repo/$TO/$VERSION/iso/x86_64/ |
− | rsync -a --delete /build/smeserver/stage/$VER/x86_64/ /build/smeserver/repo/testing/$VERSION/smeos/x86_64/ | + | rsync -a --delete /build/smeserver/stage/$VER/x86_64/ /build/smeserver/repo/$TO/$VERSION/smeos/x86_64/ |
− | | |
| | | |
| =====Copy SME Server 10 SRPMS Jigdo to mirror===== | | =====Copy SME Server 10 SRPMS Jigdo to mirror===== |
− | /bin/cp -a /build/smeserver/stage/iso/$VER/source/smeserver-$VERSION-SRPMS.jigdo /build/smeserver/repo/testing/$VERSION/iso/source/ | + | /bin/cp -a /build/smeserver/stage/iso/$VER/source/smeserver-$VERSION-SRPMS.jigdo /build/smeserver/repo/$TO/$VERSION/iso/source/ |
− | /bin/cp -a /build/smeserver/stage/iso/$VER/source/smeserver-$VERSION-SRPMS.template /build/smeserver/repo/testing/$VERSION/iso/source/ | + | /bin/cp -a /build/smeserver/stage/iso/$VER/source/smeserver-$VERSION-SRPMS.template /build/smeserver/repo/$TO/$VERSION/iso/source/ |
− | rsync -a --delete /build/smeserver/stage/$VER/SRPMS/ /build/smeserver/repo/testing/$VERSION/smeos/SRPMS | + | rsync -a --delete /build/smeserver/stage/$VER/SRPMS/ /build/smeserver/repo/$TO/$VERSION/smeos/SRPMS |
| | | |
| =====Copy SME Server 10 ISOs to mirror===== | | =====Copy SME Server 10 ISOs to mirror===== |
− | rsync -a --delete /build/smeserver/stage/iso/$VER/ /build/smeserver/repo/testing/$VERSION/iso | + | rsync -a --delete /build/smeserver/stage/iso/$VER/ /build/smeserver/repo/$TO/$VERSION/iso |
| | | |
| | | |
| =====Hard links===== | | =====Hard links===== |
| As an example how to create the hard links: | | As an example how to create the hard links: |
− | cp -lr /build/smeserver/repo/testing/$VERPREV/smeos/* /build/smeserver/repo/testing/$VERSION/smeos/ | + | cp -lr /build/smeserver/repo/testing/$VERPREV/smeos/* /build/smeserver/repo/$TO/$VERSION/smeos/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smeaddons/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/smeaddons/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smecontribs/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/smecontribs/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smedev/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/smedev/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smeextras/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/smeextras/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smetest/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/smetest/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smeupdates/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/smeupdates/ |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smeupdates-testing/ | + | mkdir -p /build/smeserver/repo/$TO/$VERSION/smeupdates-testing/ |
− | cp -lr /build/smeserver/repo/testing/$VERPREV/smecontribs/* /build/smeserver/repo/testing/$VERSION/smecontribs/ | + | cp -lr /build/smeserver/repo/$FROM/$VERPREV/smecontribs/* /build/smeserver/repo/$TO/$VERSION/smecontribs/ |
− | cp -lr /build/smeserver/repo/testing/$VERPREV/smedev/* /build/smeserver/repo/testing/$VERSION/smedev/ | + | cp -lr /build/smeserver/repo/$FROM/$VERPREV/smedev/* /build/smeserver/repo/$TO/$VERSION/smedev/ |
− | cp -lr /build/smeserver/repo/testing/$VERPREV/smeextras/* /build/smeserver/repo/testing/$VERSION/smeextras/ | + | cp -lr /build/smeserver/repo/$FROM/$VERPREV/smeextras/* /build/smeserver/repo/$TO/$VERSION/smeextras/ |
− | cp -lr /build/smeserver/repo/testing/$VERPREV/smetest/* /build/smeserver/repo/testing/$VERSION/smetest/ | + | cp -lr /build/smeserver/repo/$FROM/$VERPREV/smetest/* /build/smeserver/repo/$TO/$VERSION/smetest/ |
− | cp -lr /build/smeserver/repo/testing/$VERPREV/smeupdates/* /build/smeserver/repo/testing/$VERSION/smeupdates/ | + | cp -lr /build/smeserver/repo/$FROM/$VERPREV/smeupdates/* /build/smeserver/repo/$TO/$VERSION/smeupdates/ |
− | cp -lr /build/smeserver/repo/testing/$VERPREV/smeupdates-testing/* /build/smeserver/repo/testing/$VERSION/smeupdates-testing/ | + | cp -lr /build/smeserver/repo/$FROM/$VERPREV/smeupdates-testing/* /build/smeserver/repo/$TO/$VERSION/smeupdates-testing/ |
− | cp -lr /build/smeserver/repo/testing/$VERPREV/smeaddons/* /build/smeserver/repo/testing/$VERSION/smeaddons/ | + | cp -lr /build/smeserver/repo/$FROM/$VERPREV/smeaddons/* /build/smeserver/repo/$TO/$VERSION/smeaddons/ |
| | | |
| =====Switch main version link===== | | =====Switch main version link===== |
| and finally | | and finally |
| | | |
− | rm -f /build/smeserver/repo/testing/$VER | + | rm -f /build/smeserver/$TO/testing/$VER |
− | pushd /build/smeserver/repo/testing/ | + | pushd /build/smeserver/$TO/testing/ |
| ln -s $VERSION $VER | | ln -s $VERSION $VER |
| popd | | popd |