Difference between revisions of "Howto interact with gitea and koji to do an rpm build for SME11"

From SME Server
Jump to navigationJump to search
Line 10: Line 10:
  
 
Configure it according to your own preferences (lots of advice available on the web). Some more specific advice for SME11 building is [[Setting up RPM Building for SME Server on rocky 8|here]] .
 
Configure it according to your own preferences (lots of advice available on the web). Some more specific advice for SME11 building is [[Setting up RPM Building for SME Server on rocky 8|here]] .
 +
 +
Here is the relevant directory structure:
 +
 +
├── GITFiles
 +
│   ├── smecontribs
 +
│   │   ├── common
 +
│   │   └── smeserver-mailstats
 +
│   ├── smeserver
 +
│   │   ├── anaconda
 +
│   │   ├── bglibs
 +
│   │   ├── buffer
 +
│   │   ├── buildsys-macros
 +
│   │   ├── checkpassword-pam
 +
│   │   ├── clamav
 +
│   │   ├── common
 +
....
 +
│   │   ├── smeserver-lib-compspec
 +
│   │   ├── smeserver-locale
 +
│   │   ├── smeserver-LPRng
 +
│   │   ├── smeserver-manager
 +
│   │   ├── smeserver-manager-jsquery
 +
│   │   ├── smeserver-manager-locale
 +
│   │   ├── smeserver-mock
 +
│   │   ├── smeserver-mysql
 +
│   │   ├── smeserver-ntp
 +
│   │   ├── smeserver-nutUPS
 +
│   │   ├── smeserver-oidentd
 +
│   │   ├── smeserver-openssh
 +
│   │   ├── smeserver-packetfilter
 +
│   │   ├── smeserver-php
 +
│   │   ├── smeserver-pop3
 +
....
 +
│   │   ├── xlhtml
 +
│   │   └── zsync
 +
 +
"GITfiles" can be anything you want "rpms" was the previous standard.
 +
 +
Note the need for the common directory under each of the organisations
  
 
=Gitea=
 
=Gitea=

Revision as of 16:03, 27 August 2024

Introduction

Unlike SME10 and earlier, SME11 is being developed using cutting edge 21st century tools. This means that the (open) source code and associated file are stored in GIT repositories, surfaced through a Gitea server which provides a web based User Interface as well as an API. Rpm and ISO builds are done using the Koji tool chain which has been developed for the Fedora distribution, but has become well used for other Open Source projects.

The intention is to mirror the Gitea sources to Github so that anyone can examine and propose changes. This is still a work in progress https://github.com/smeserver . You can skip the stuff about CVS unless you want access the old SME10 code.

Setting up your build system

SME11 is based on Rocky 8, so the build system is best based on rocky 8 as well. It could be an SME11 system, but as we are still putting that together, the best choice for now is a minimal Rocky 8 system. This can be installed in a VM under ProxMox, VirtualBox or similar.

Suggest at least 4gb RAM and 50-100gb of Hard Disk.

Configure it according to your own preferences (lots of advice available on the web). Some more specific advice for SME11 building is here .

Here is the relevant directory structure:

├── GITFiles │   ├── smecontribs │   │   ├── common │   │   └── smeserver-mailstats │   ├── smeserver │   │   ├── anaconda │   │   ├── bglibs │   │   ├── buffer │   │   ├── buildsys-macros │   │   ├── checkpassword-pam │   │   ├── clamav │   │   ├── common .... │   │   ├── smeserver-lib-compspec │   │   ├── smeserver-locale │   │   ├── smeserver-LPRng │   │   ├── smeserver-manager │   │   ├── smeserver-manager-jsquery │   │   ├── smeserver-manager-locale │   │   ├── smeserver-mock │   │   ├── smeserver-mysql │   │   ├── smeserver-ntp │   │   ├── smeserver-nutUPS │   │   ├── smeserver-oidentd │   │   ├── smeserver-openssh │   │   ├── smeserver-packetfilter │   │   ├── smeserver-php │   │   ├── smeserver-pop3 .... │   │   ├── xlhtml │   │   └── zsync

"GITfiles" can be anything you want "rpms" was the previous standard.

Note the need for the common directory under each of the organisations

Gitea

The Gitea server is available here.If you are serious about developing systems for SMEServer, then you will need a user. There is a central authorisation system, and you can be entered into it by a request to contact@koozali.org

There are two relevant organisations on the gitea server smeserver and smecontribs. One if the core components and one for the contribs.

Koji

Editing the Source Code

Local rpm build

Saving the Source code to Gitea

Tagging and starting a build

Monitoring your build