Changes

Jump to navigation Jump to search
Line 10: Line 10:  
==== Prerequisites ====
 
==== Prerequisites ====
 
{{warning box|If you plan to build for sme10, you must use an el7 version of centos minimal. It is also workable on a Fedora25}}
 
{{warning box|If you plan to build for sme10, you must use an el7 version of centos minimal. It is also workable on a Fedora25}}
=====Installation Centos6 minimal=====
+
====Installation CentOS6 / CentOS7 minimal====
 
* It is recommended that you use the latest CentOS 6 (64bit) version as a base http://mirror.centos.org/centos/6/isos/x86_64/ this has been verified to build for SME 7, 8 & 9 and for i386 &x86_64
 
* It is recommended that you use the latest CentOS 6 (64bit) version as a base http://mirror.centos.org/centos/6/isos/x86_64/ this has been verified to build for SME 7, 8 & 9 and for i386 &x86_64
 
Just install a minimal el6 installation. You can use either the DVD, the minimal CD install, a net install with PXE, it's up to you. Of course if you prefer you can use a system with a Xorg-server installed (eg: gnome, kde, xfce...)  
 
Just install a minimal el6 installation. You can use either the DVD, the minimal CD install, a net install with PXE, it's up to you. Of course if you prefer you can use a system with a Xorg-server installed (eg: gnome, kde, xfce...)  
Line 56: Line 56:  
   [root@buildcos9 ~]# reboot
 
   [root@buildcos9 ~]# reboot
   −
*Disable SELinux
+
*Disable SELinux SME9
 
It will be easier to see what's going on (and turn off selinux at kernel level, just to be sure)
 
It will be easier to see what's going on (and turn off selinux at kernel level, just to be sure)
 
  [root@buildcos9 ~]# sed -i -e 's/rhgb quiet/selinux=0/g' /boot/grub/grub.conf
 
  [root@buildcos9 ~]# sed -i -e 's/rhgb quiet/selinux=0/g' /boot/grub/grub.conf
 
  [root@buildcos9 ~]# sed -i -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
 
  [root@buildcos9 ~]# sed -i -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
 +
 +
*SME10
 +
in /etc/selinux/config set */SELINUX=disabled
    
* Remove selinux-policy-targeted and authconfig -they conflict with some e-smith/smeserver packages
 
* Remove selinux-policy-targeted and authconfig -they conflict with some e-smith/smeserver packages
 
  [root@buildcos9 ~]# yum remove selinux-policy-targeted authconfig
 
  [root@buildcos9 ~]# yum remove selinux-policy-targeted authconfig
      
* Apply all available updates.
 
* Apply all available updates.
Line 72: Line 74:  
* You need to have EPEL repository configured as EPELs version of mock will be used
 
* You need to have EPEL repository configured as EPELs version of mock will be used
 
<syntaxhighlight lang="Bash">
 
<syntaxhighlight lang="Bash">
 +
 
# Enable EPEL for Centos 6
 
# Enable EPEL for Centos 6
 
rpm -Uvh http://fr2.rpmfind.net/linux/epel/6/i386/epel-release-6-8.noarch.rpm
 
rpm -Uvh http://fr2.rpmfind.net/linux/epel/6/i386/epel-release-6-8.noarch.rpm
 
</syntaxhighlight>
 
</syntaxhighlight>
# Enable EPEL for Centos 7
+
 
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
+
# Enable EPEL and sclo repo for Centos 7
 +
rpm -ivh <nowiki>https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm</nowiki>
 
or (works 29Dec19 - bjr)
 
or (works 29Dec19 - bjr)
 +
 
  yum install -y epel-release
 
  yum install -y epel-release
 +
 +
rpm -ivh <nowiki>http://mirror.centos.org/altarch/7/extras/aarch64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm</nowiki>
 +
 +
yum install centos-release-scl-rh
 +
 
* You need to create a new user, for mock will not accept user root for building packages
 
* You need to create a new user, for mock will not accept user root for building packages
<div class="mw-collapsible mw-collapsed" data-collapsetext="Collapse" data-expandtext="More on creating a sudo user">
+
<div class="mw-collapsible mw-collapsed" data-expandtext="More on creating a sudo user" data-collapsetext="Collapse">
    
<syntaxhighlight lang="Bash">
 
<syntaxhighlight lang="Bash">
Line 221: Line 231:  
     SME Contribs - holding the source code for contribs (add-ons) for SME Server  
 
     SME Contribs - holding the source code for contribs (add-ons) for SME Server  
   −
Both repositories are organized by the package name under which they appear in the software installer in the server-manager (or yum).  please see [[CVS|CVS page]] for more specific informations}}
+
Both repositories are organized by the package name under which they appear in the software installer in the server-manager (or yum).  please see [[CVS|CVS page]] for more specific information}}
    
If this works, it is worth grabbing either CVS for one module, or the whole CVS tree using this : http://wiki.contribs.org/Simple_Package_Modification
 
If this works, it is worth grabbing either CVS for one module, or the whole CVS tree using this : http://wiki.contribs.org/Simple_Package_Modification
 
* Setup CVS to use ssh by creating /etc/profile.d/smebuild.sh with the following content
 
* Setup CVS to use ssh by creating /etc/profile.d/smebuild.sh with the following content
[chris@buildcos9 profile.d]$ sudo touch smebuild.sh
+
 
[chris@buildcos9 profile.d]$ nano smebuild.sh
   
  [chris@buildcos9 profile.d]$ sudo nano smebuild.sh
 
  [chris@buildcos9 profile.d]$ sudo nano smebuild.sh
[chris@buildcos9 profile.d]$ cat smebuild.sh
+
 
 +
Paste this:
    
  # Developer environment
 
  # Developer environment
Line 448: Line 458:  
===== Finalising in CVS and buildsys =====
 
===== Finalising in CVS and buildsys =====
 
* Add the patch file to cvs:
 
* Add the patch file to cvs:
  [chris@buildcos9 sme9]$ cvs add packagename-1.2.3-your_changes-description
+
  [chris@buildcos9 sme9]$ cvs add packagename-1.2.3-your_changes-description.patch
 
  cvs add: scheduling file `packagename-1.2.3-your_changes-description' for addition
 
  cvs add: scheduling file `packagename-1.2.3-your_changes-description' for addition
 
  cvs add: use 'cvs commit' to add this file permanently
 
  cvs add: use 'cvs commit' to add this file permanently

Navigation menu