NethServer 7 kickstart

Install CentOS 7 on a development (virtual) machine.

Latest CentOS version is 7.2.1511.

Some related links:

Install mock and YUM configuration for NethServer 7:

 # yum localinstall -y \
    http://packages.nethserver.org/nethserver/7.2.1511/base/x86_64/Packages/nethserver-release-7-0.1.11.g66e6835.ns7.noarch.rpm \
    http://packages.nethserver.org/nethserver/7.2.1511/base/x86_64/Packages/nethserver-mock-1.2.1-1.3.g3f77c3f.ns7.noarch.rpm

Run the installation on CentOS command:

 # nethserver-install

Log-in on your development machine as a normal user, member of the mock group:

useradd filippo
usermod -a -G mock filippo
passwd filippo

Add the following environment settings to ~/.bashrc:

snippet.bash
export dist=ns7 
export mockcfg=nethserver-7-x86_64

Then logout and login again, to have the environment updated or execute:

 $ . ~/.bashrc

The initial work on NethServer 7 is an opportunity to test a GitHub-based workflow. This initiative has been decided on this thread con community.nethserver.org.

Fork a repository from NethServer on GitHub. For instance, nethserver-directory.

After a logout and login as a normal user, clone locally your freshly forked repository:

git config --global credential.helper cache
git clone https://github.com:filippo/nethserver-directory.git

Enter the nethserver-directory dir, review the specfile looking for common issues and try to build the RPM.

 $ cd nethserver-directory
 $ make-rpms nethserver-directory.spec

If everything is OK, you obtain two (or more) RPMs in the current directory:

 $ ls -1 *.rpm
nethserver-directory-2.2.0-1.1.ga90636c.ns7.noarch.rpm
nethserver-directory-2.2.0-1.1.ga90636c.ns7.src.rpm

Switch to the root account and try to install the “noarch” RPM.

 # yum localinstall ~davidep/nethserver-directory/nethserver-directory-2.2.0-1.1.ga90636c.ns7.noarch.rpm

As usual, if an error occurs during the RPM build or installation, check if the problem has been reported:

If you're sure the problem has never been found, file a new issue on
https://github.com/NethServer/dev/issues/new

  • Build errors are usually written to build.log file, in your current working directory. Search for relevant error messages inside build.log.
  • Installation/Dependency errors are written to standard output
[TODO add example]

If you found the solution for a bug, share it! First of all, check if the git repository has a v7 pacakge:

 $ cd nethserver-directory
 $ git branch
* master

If the v7 branch has not been created yet, simply ignore the next step. Otherwise checkout it:

 $ git branch
* master
  v7
 $ git checkout v7

Then you're ready to write down the bug solution. Commit, push to your fork repository then create a pull request for the v7 branch (not master). Remeber to add a reference to the issue in the pull request title, or body. For instance

The bug was caused by this and that

Refs NethServer/dev#5000

This is the list of packages. All have v7 branch.

  • nethserver-adagios
  • nethserver-antivirus
  • nethserver-avahi
  • nethserver-backup-config
  • nethserver-backup-data
  • nethserver-base
  • nethserver-cgp
  • nethserver-c-icap
  • nethserver-collectd
  • nethserver-collectd-web
  • nethserver-createiso !!
  • nethserver-cups
  • nethserver-ddclient
  • nethserver-devtools !!
  • nethserver-directory
  • nethserver-dnsmasq
  • nethserver-duc
  • nethserver-ejabberd
  • nethserver-faxweb2
  • nethserver-fetchmail
  • nethserver-firewall-base
  • nethserver-hosts
  • nethserver-httpd
  • nethserver-httpd-admin
  • nethserver-hylafax
  • nethserver-iaxmodem
  • nethserver-ibays
  • nethserver-ipsec
  • nethserver-lang
  • nethserver-lib
  • nethserver-libvirt
  • nethserver-lightsquid
  • nethserver-lsm
  • nethserver-mail-common
  • nethserver-mail-dev
  • nethserver-mail-filter
  • nethserver-mail-server !!
  • nethserver-memcached
  • nethserver-mock
  • nethserver-mysql
  • nethserver-nethforge-release
  • nethserver-net-snmp
  • nethserver-ntopng
  • nethserver-ntp
  • nethserver-nut !!
  • nethserver-ocsinventory
  • nethserver-openssh
  • nethserver-openvpn
  • nethserver-owncloud !!
  • nethserver-p3scan
  • nethserver-password
  • nethserver-phonehome
  • nethserver-php
  • nethserver-postgresql
  • nethserver-pulledpork
  • nethserver-redis
  • nethserver-release
  • nethserver-restore-data
  • nethserver-roundcubemail
  • nethserver-samba
  • nethserver-samba-audit !!
  • nethserver-smartd
  • nethserver-snort
  • nethserver-sogo !!
  • nethserver-sogo-thunderbird
  • nethserver-squid
  • nethserver-squidclamav !!
  • nethserver-squidguard
  • nethserver-tomcat
  • nethserver-ui-examples
  • nethserver-unbound
  • nethserver-unixODBC
  • nethserver-vpn !!
  • nethserver-vsftpd
  • nethserver-webtop4
  • nethserver-webvirtmgr
  • nethserver-wordpress
  • nethserver-xinetd
  • nethserver-yum

Legend:

  • !! merging master into v7 raises a conflict

Packages are publised to

http://packages.nethserver.org/nethserver/7.2.1511/base/x86_64/Packages/?C=M;O=D

The list is ordered from the most recent to the oldest.

When editing the .spec file

When running make-rpms, mock complains of localtime and prints the following line:

IOError: [Errno 21] Is a directory: '/etc/localtime'

To fix this issue, run:

rm -f /etc/localtime
ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime