Line 1: |
Line 1: |
| {{Level|Developer}} | | {{Level|Developer}} |
| | | |
− | {{WIP box|}} | + | {{WIP box|unnilennium}} |
| | | |
| ===Introduction=== | | ===Introduction=== |
Line 81: |
Line 81: |
| * hard-coded UID of release account | | * hard-coded UID of release account |
| | | |
− | verify that in all '''/etc/mock/smeserver-{i386,x86_64}-iso.cfg''' you have '''config_opts['chrootuid'] = os.getuid()''' | + | verify that in all '''/etc/mock/smeserver-10-{i386,x86_64}-iso.cfg''' you have '''config_opts['chrootuid'] = os.getuid()''' |
| - config_opts['chrootuid'] = 10020 | | - config_opts['chrootuid'] = 10020 |
| + config_opts['chrootuid'] = os.getuid() | | + config_opts['chrootuid'] = os.getuid() |
Line 96: |
Line 96: |
| config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/build', '/build' )) | | config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/build', '/build' )) |
| Eg: | | Eg: |
− | sudo vim /etc/mock/smeserver-9-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==== |
Line 254: |
Line 254: |
| cd ~/smeserver/cdrom.image | | cd ~/smeserver/cdrom.image |
| cvs update -dPA | | cvs update -dPA |
− | cd sme9/ | + | cd sme10/ |
| then copy the new version, as instance you could do this: | | then copy the new version, as instance you could do this: |
| cp ~/ReleaseNotes.txt README.txt | | cp ~/ReleaseNotes.txt README.txt |
| | | |
| then commit: | | then commit: |
− | cvs commit -m "Release 9.2" README.txt | + | cvs commit -m "Release 10.1" README.txt |
| | | |
| ====The Smeserver version name==== | | ====The Smeserver version name==== |
Line 295: |
Line 295: |
| | | |
| ====Server-Manager translations==== | | ====Server-Manager translations==== |
− | Check translations from https://translate.koozali.org/patches/ if the filesize is >0 then need to patch smeserver-locale (to sme8 & sme9) and produce new rpms that will must be pushed to smeupdate-testing | + | Check translations from https://translate.koozali.org/patches/ if the filesize is >0 then need to patch smeserver-locale (to sme10) and produce new rpms that will must be pushed to smeupdate-testing |
| | | |
| ====Anaconda translations==== | | ====Anaconda translations==== |
Line 304: |
Line 304: |
| | | |
| 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/sme9 | + | mkdir ~/anaconda-po/sme10 |
− | wget --mirror --no-parent -w 1 -A.mo -P ~/anaconda-po/sme9 https://translate.koozali.org/anaconda/sme9/ | + | wget --mirror --no-parent -w 1 -A.mo -P ~/anaconda-po/sme10 https://translate.koozali.org/anaconda/sme10/ |
| | | |
| ====Check if installer needs re-building==== | | ====Check if installer needs re-building==== |
Line 335: |
Line 335: |
| | | |
| ====Bump version in the splash screen==== | | ====Bump version in the splash screen==== |
− | We need to update the title of the splsh screen. For this, we have to update the title line in cdrom.images/sme9/isolinux/isolinux.cfg, eg | + | We need to update the title of the splsh screen. For this, we have to update the title line in cdrom.images/sme10/isolinux/isolinux.cfg, eg |
| | | |
− | menu title Welcome to SME Server 9.2 RC2 | + | menu title Welcome to SME Server 10.1 RC1 |
| | | |
| | | |
Line 343: |
Line 343: |
| cd ~/smeserver/cdrom.image | | cd ~/smeserver/cdrom.image |
| cvs update -dPA | | cvs update -dPA |
− | cd sme9/isolinux/ | + | cd sme10/isolinux/ |
| vim isolinux.cfg | | vim isolinux.cfg |
| | | |
| then edit, and finish with: | | then edit, and finish with: |
− | cvs commit -m "Release 9.2" isolinux.cfg | + | cvs commit -m "Release 10.1" isolinux.cfg |
| | | |
| ====Remove the 'Beta warning' in Anaconda==== | | ====Remove the 'Beta warning' in Anaconda==== |
Line 369: |
Line 369: |
| | | |
| Also bump the '''Version''' ! | | Also bump the '''Version''' ! |
− |
| |
− | =====For SME9=====
| |
− |
| |
− | The Iso gets a 'beta' tag with warnings during the install process. How remove the beta tag, '''add --final in the /build/smeserver/stage/bin/build_installer'''
| |
− |
| |
− | # add --final when we have final product
| |
− | PYTHONPATH=/usr/lib/anaconda/ sudo /usr/lib/anaconda-runtime/buildinstall \
| |
− | --product "$distname" \
| |
− | --version "${distvers/[^0-9.]*/}" \
| |
− | --release "$distname" \
| |
− | --brand "centos" \
| |
− | '''--final \'''
| |
− | --bugurl http://bugs.contribs.org/ \
| |
− | --output $(pwd)/$distarch/ \
| |
− | /build/smeserver/repo/$distrel/smeextras/$distarch/ \
| |
− | $(pwd)/$distarch/
| |
− | /bin/sed -i -e "s|packagedir =.*|packagedir = Packages|" $(pwd)/$distarch/.treeinfo
| |
| | | |
| ===Prepare SME Server 10=== | | ===Prepare SME Server 10=== |
Line 494: |
Line 477: |
| cp *.py /build/smeserver/stage/10/x86_64/updates | | cp *.py /build/smeserver/stage/10/x86_64/updates |
| cp lang-table /build/smeserver/stage/10/x86_64/updates | | cp lang-table /build/smeserver/stage/10/x86_64/updates |
− |
| |
− | ===='''Local Only''': Hack: Permission Fixup====
| |
− | 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
| |
− |
| |
− | ===='''Local Only''': Create stage content====
| |
− | {{Note box|Note: This step occurs every hours on the buildsys.}}
| |
− | '''Local Only'''
| |
− | /build/smeserver/stage/bin/update_repos
| |
− |
| |
− | ===Prepare SME Server 9===
| |
− |
| |
− | ===='''Local Only''': Update local mirror as seen by the chroot====
| |
− | '''Local Only'''
| |
− | rsync -av --delete --progress ~/smeserver/releases/9/ /build/smeserver/repo/9
| |
− |
| |
− | ====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.
| |
− |
| |
− | mkdir -p /build/smeserver/stage/9.2/{SRPMS,i386,x86_64}
| |
− | cd /build/smeserver/stage/
| |
− | rm -f 9
| |
− | ln -s 9.2 9
| |
− |
| |
− | '''Local Only'''
| |
− | mkdir -p /build/smeserver/stage/extra/isolinux/
| |
− |
| |
− | ====Create cdrom content====
| |
− | When starting from fresh rsync can copy cdrom.image content, it also generates the folder tree.
| |
− | {{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 -a --delete --delete-excluded --exclude 'CVS/' --exclude 'isolinux/' ~/cdrom.image/sme9/ /build/smeserver/stage/9/x86_64/
| |
− | rsync -a --delete --delete-excluded --exclude 'CVS/' --exclude 'isolinux/' ~/cdrom.image/sme9/ /build/smeserver/stage/9/i386/
| |
− | rsync -a --delete --delete-excluded --exclude 'CVS/' ~/cdrom.image/sme9/isolinux/ /build/smeserver/stage/extra/isolinux/9/
| |
− |
| |
− | ====OR Refresh cdrom content====
| |
− | If only refreshing the files, then remove the delete.
| |
− | cd ~/smeserver
| |
− | cvs -z3 -d:pserver:anonymous@shell.koozali.org:/cvs/smeserver co -P cdrom.image
| |
− |
| |
− | rsync -a --exclude 'CVS/' --exclude 'isolinux/' ~/cdrom.image/sme9/ /build/smeserver/stage/9/x86_64/
| |
− | rsync -a --exclude 'CVS/' --exclude 'isolinux/' ~/cdrom.image/sme9/ /build/smeserver/stage/9/i386/
| |
− | rsync -a --exclude 'CVS/' ~/cdrom.image/sme9/isolinux/ /build/smeserver/stage/extra/isolinux/9/
| |
− |
| |
− | ====Create the remaining folders====
| |
− | {{Note box|Note: images and isolinux do not need to be created as they are removed anyway in build_installer}}
| |
− |
| |
− | * i386
| |
− | cd /build/smeserver/stage/9/i386
| |
− | ln -s Packages/ SME
| |
− | mkdir -p /build/smeserver/stage/9/i386/repodata/
| |
− | mkdir -p /build/smeserver/stage/9/i386/updates/po
| |
− | mkdir -p /build/smeserver/stage/9/i386/updates/textw
| |
− | mkdir -p /build/smeserver/stage/9/i386/updates/iw
| |
− | mkdir -p /build/smeserver/stage/9/i386/updates/storage/devicelibs
| |
− |
| |
− | * x86_64
| |
− | cd /build/smeserver/stage/9/x86_64
| |
− | ln -s Packages/ SME
| |
− | mkdir -p /build/smeserver/stage/9/x86_64/repodata/
| |
− | mkdir -p /build/smeserver/stage/9/x86_64/updates/po
| |
− | mkdir -p /build/smeserver/stage/9/x86_64/updates/textw
| |
− | mkdir -p /build/smeserver/stage/9/x86_64/updates/iw
| |
− | mkdir -p /build/smeserver/stage/9/x86_64/updates/storage/devicelibs
| |
− |
| |
− | * other directories
| |
− | mkdir -p /build/smeserver/stage/iso/9/i386
| |
− | mkdir -p /build/smeserver/stage/iso/9/x86_64
| |
− | mkdir -p /build/smeserver/stage/iso/9/source
| |
− |
| |
− | ====Copy anaconda translations====
| |
− | Anaconda translations need copying to /updates/po from ~/anaconda-po
| |
− | cp -R ~/anaconda-po/translate.koozali.org/anaconda/sme9/* /build/smeserver/stage/9/i386/updates/po/
| |
− | cp -R ~/anaconda-po/translate.koozali.org/anaconda/sme9/* /build/smeserver/stage/9/x86_64/updates/po/
| |
− |
| |
− | ====Copy anaconda content====
| |
− | See ~/cdrom.image/sme9/updates/README.txt for details of what to copy. The patched anaconda files from ~/smeserver/rpms/anaconda/sme9 will go to updates directory. The exact directory depends on the anaconda version, eg ~/smeserver/rpms/anaconda/sme9/anaconda-13.21.254
| |
− | cd ~/smeserver/rpms/anaconda/sme9/
| |
− | make prep
| |
− | cd ~/smeserver/rpms/anaconda/sme9/anaconda-13.21.254
| |
− | cp -R storage /build/smeserver/stage/9/i386/updates/
| |
− | cp -R textw/*.py /build/smeserver/stage/9/i386/updates/textw
| |
− | cp -R iw/*.py /build/smeserver/stage/9/i386/updates/iw
| |
− | cp *.py /build/smeserver/stage/9/i386/updates
| |
− | cp lang-table /build/smeserver/stage/9/i386/updates
| |
− |
| |
− | cp -R storage /build/smeserver/stage/9/x86_64/updates/
| |
− | cp -R textw/*.py /build/smeserver/stage/9/x86_64/updates/textw
| |
− | cp -R iw/*.py /build/smeserver/stage/9/x86_64/updates/iw
| |
− | cp *.py /build/smeserver/stage/9/x86_64/updates
| |
− | cp lang-table /build/smeserver/stage/9/x86_64/updates
| |
| | | |
| ===='''Local Only''': Hack: Permission Fixup==== | | ===='''Local Only''': Hack: Permission Fixup==== |
Line 617: |
Line 503: |
| and after if you have no errors | | and after if you have no errors |
| /build/smeserver/stage/$VER/build_ISO.x86_64 | | /build/smeserver/stage/$VER/build_ISO.x86_64 |
− |
| |
| | | |
| ====Build SME Server 10 64 bit ISO==== | | ====Build SME Server 10 64 bit ISO==== |
| + | as releases on builder7 |
| rm -f /build/smeserver/stage/$VER/x86_64/SME | | 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 |
Line 636: |
Line 522: |
| ln -s Packages SME | | ln -s Packages SME |
| popd | | popd |
− |
| |
− | ===Build & Release SME Server 9===
| |
− | You can find logs of the related scripts build_ISO and build_installer<br />
| |
− |
| |
− | If something goes wrong, please verify first
| |
− | /build/smeserver/stage/9/build_installer.i386
| |
− | or
| |
− | /build/smeserver/stage/9/build_installer.x86_64
| |
− | and after if you have no errors
| |
− | /build/smeserver/stage/9/build_ISO.i386
| |
− | or
| |
− | /build/smeserver/stage/9/build_ISO.x86_64
| |
− | ====Build SME Server 9 32 bit ISO====
| |
− | as releases on builder7
| |
− |
| |
− | rm -f /build/smeserver/stage/9/i386/SME
| |
− | /usr/bin/mock -r smeserver-9-i386-iso --init
| |
− | /usr/bin/mock -r smeserver-9-i386-iso --mount --cwd /build/smeserver/stage/9 --unpriv --chroot /build/smeserver/stage/bin/build_installer
| |
− | /usr/bin/mock -r smeserver-9-i386-iso --mount --cwd /build/smeserver/stage/9 --unpriv --chroot /build/smeserver/stage/bin/build_ISO
| |
− | pushd /build/smeserver/stage/9/i386/
| |
− | ln -s Packages SME
| |
− | popd
| |
− | =====local only=====
| |
− | rm -f /build/smeserver/stage/9/i386/SME
| |
− | mock -r smeserver-9-i386-iso --init
| |
− | mock -r smeserver-9-i386-iso --mount --cwd /build/smeserver/stage/9 --unpriv --chroot /build/smeserver/stage/bin/build_installer
| |
− | sudo chmod -R a+w /build/smeserver/stage
| |
− | mock -r smeserver-9-i386-iso --mount --cwd /build/smeserver/stage/9 --unpriv --chroot /build/smeserver/stage/bin/build_ISO
| |
− | pushd /build/smeserver/stage/9/i386/
| |
− | ln -s Packages SME
| |
− | popd
| |
− |
| |
− | ====Build SME Server 9 64 bit ISO====
| |
− | rm -f /build/smeserver/stage/9/x86_64/SME
| |
− | /usr/bin/mock -r smeserver-9-x86_64-iso --init
| |
− | /usr/bin/mock -r smeserver-9-x86_64-iso --mount --cwd /build/smeserver/stage/9 --unpriv --chroot /build/smeserver/stage/bin/build_installer
| |
− | /usr/bin/mock -r smeserver-9-x86_64-iso --mount --cwd /build/smeserver/stage/9 --unpriv --chroot /build/smeserver/stage/bin/build_ISO
| |
− | pushd /build/smeserver/stage/9/x86_64/
| |
− | ln -s Packages SME
| |
− | popd
| |
− | =====local only=====
| |
− | rm -f /build/smeserver/stage/9/x86_64/SME
| |
− | mock -r smeserver-9-x86_64-iso --init
| |
− | mock -r smeserver-9-x86_64-iso --mount --cwd /build/smeserver/stage/9 --unpriv --chroot /build/smeserver/stage/bin/build_installer
| |
− | sudo chmod -R a+w /build/smeserver/stage
| |
− | mock -r smeserver-9-x86_64-iso --mount --cwd /build/smeserver/stage/9 --unpriv --chroot /build/smeserver/stage/bin/build_ISO
| |
− | pushd /build/smeserver/stage/9/x86_64/
| |
− | ln -s Packages SME
| |
− | popd
| |
− |
| |
− |
| |
| | | |
| ===Where are My F... ISO=== | | ===Where are My F... ISO=== |
− | ls /build/smeserver/stage/iso/8/
| |
− | i386 source x86_64
| |
− | and
| |
− | ls /build/smeserver/stage/iso/9/
| |
− | i386 source x86_64
| |
− | or
| |
| ls /build/smeserver/stage/iso/10/ | | ls /build/smeserver/stage/iso/10/ |
| source x86_64 | | source x86_64 |
Line 753: |
Line 582: |
| ln -s $VERSION $VER | | ln -s $VERSION $VER |
| popd | | popd |
− |
| |
− | ====SME9====
| |
− | =====Prepare directory structure for SME9 release=====
| |
− | VER=9
| |
− | VERSION=$VER.2
| |
− | VERPREV=$VER.2.rc2
| |
− | VERFINAL=$VER.2
| |
− | VERACT=`echo "$VERFINAL - .1"|bc`
| |
− |
| |
− | SME 9.x test releases will go to /build/smeserver/repo/testing/9. Check that the link points to the correct testing release. Note when uploading Jigdos the ‘9’ link will not be pointing to the new directory.
| |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/iso/i386/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/iso/source/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/iso/x86_64/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smeos/x86_64/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERSION/smeos/i386/
| |
− |
| |
− | cd /build/smeserver/repo/testing/
| |
− | unlink /build/smeserver/repo/testing/$VER
| |
− | ln -s $VERSION /build/smeserver/repo/testing/$VER
| |
− |
| |
− | =====Copy SME Server 9 64 bit Jigdo to mirror=====
| |
− | /bin/cp -a /build/smeserver/stage/iso/9/x86_64/smeserver-$VERSION-x86_64.jigdo /build/smeserver/repo/testing/$VERSION/iso/x86_64/
| |
− | /bin/cp -a /build/smeserver/stage/iso/9/x86_64/smeserver-$VERSION-x86_64.template /build/smeserver/repo/testing/$VERSION/iso/x86_64/
| |
− | rsync -a --delete /build/smeserver/stage/9/x86_64/ /build/smeserver/repo/testing/$VERSION/smeos/x86_64/
| |
− |
| |
− | =====Copy SME Server 9 32 bit Jigdo to mirror=====
| |
− | /bin/cp -a /build/smeserver/stage/iso/9/i386/smeserver-$VERSION-i386.jigdo /build/smeserver/repo/testing/$VERSION/iso/i386/
| |
− | /bin/cp -a /build/smeserver/stage/iso/9/i386/smeserver-$VERSION-i386.template /build/smeserver/repo/testing/$VERSION/iso/i386/
| |
− | rsync -a --delete /build/smeserver/stage/9/i386/ /build/smeserver/repo/testing/$VERSION/smeos/i386
| |
− |
| |
− | =====Copy SME Server 9 SRPMS Jigdo to mirror=====
| |
− | /bin/cp -a /build/smeserver/stage/iso/9/source/smeserver-$VERSION-SRPMS.jigdo /build/smeserver/repo/testing/$VERSION/iso/source/
| |
− | /bin/cp -a /build/smeserver/stage/iso/9/source/smeserver-$VERSION-SRPMS.template /build/smeserver/repo/testing/$VERSION/iso/source/
| |
− | rsync -a --delete /build/smeserver/stage/9/SRPMS/ /build/smeserver/repo/testing/$VERSION/smeos/SRPMS
| |
− |
| |
− | =====Copy SME Server 9 ISOs to mirror=====
| |
− | rsync -a --delete /build/smeserver/stage/iso/9/ /build/smeserver/repo/testing/$VERSION/iso
| |
− |
| |
− |
| |
− | =====Hard links=====
| |
− | As an example how to create the hard links:
| |
− | cp -lr /build/smeserver/repo/testing/$VERSION/smeos/* /build/smeserver/repo/testing/$VERFINAL/smeos/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERFINAL/smeaddons/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERFINAL/smecontribs/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERFINAL/smedev/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERFINAL/smeextras/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERFINAL/smetest/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERFINAL/smeupdates/
| |
− | mkdir -p /build/smeserver/repo/testing/$VERFINAL/smeupdates-testing/
| |
− |
| |
− | cp -lr /build/smeserver/repo/testing/$VERSION/smecontribs/* /build/smeserver/repo/testing/$VERFINAL/smecontribs/
| |
− | cp -lr /build/smeserver/repo/testing/$VERSION/smedev/* /build/smeserver/repo/testing/$VERFINAL/smedev/
| |
− | cp -lr /build/smeserver/repo/testing/$VERSION/smeextras/* /build/smeserver/repo/testing/$VERFINAL/smeextras/
| |
− | cp -lr /build/smeserver/repo/testing/$VERSION/smetest/* /build/smeserver/repo/testing/$VERFINAL/smetest/
| |
− | cp -lr /build/smeserver/repo/testing/$VERSION/smeupdates/* /build/smeserver/repo/testing/$VERFINAL/smeupdates/
| |
− | cp -lr /build/smeserver/repo/testing/$VERSION/smeupdates-testing/* /build/smeserver/repo/testing/$VERFINAL/smeupdates-testing/
| |
− | cp -lr /build/smeserver/repo/testing/$VERSION/smeaddons/* /build/smeserver/repo/testing/$VERFINAL/smeaddons/
| |
− |
| |
− | alternatively the second part could be starting 9.1 $VERFINAL as an example from 9.0 $VERACT
| |
− | cp -lr /build/smeserver/repo/$VERACT/smecontribs/* /build/smeserver/repo/testing/$VERFINAL/smecontribs/
| |
− | cp -lr /build/smeserver/repo/$VERACT/smedev/* /build/smeserver/repo/testing/$VERFINAL/smedev/
| |
− | cp -lr /build/smeserver/repo/$VERACT/smeextras/* /build/smeserver/repo/testing/$VERFINAL/smeextras/
| |
− | cp -lr /build/smeserver/repo/$VERACT/smetest/* /build/smeserver/repo/testing/$VERFINAL/smetest/
| |
− | cp -lr /build/smeserver/repo/$VERACT/smeupdates/* /build/smeserver/repo/testing/$VERFINAL/smeupdates/
| |
− | cp -lr /build/smeserver/repo/$VERACT/smeupdates-testing/* /build/smeserver/repo/testing/$VERFINAL/smeupdates-testing/
| |
− | cp -lr /build/smeserver/repo/$VERACT/smeaddons/* /build/smeserver/repo/testing/$VERFINAL/smeaddons/
| |
| | | |
| then you can mv from testing to main folder | | then you can mv from testing to main folder |