Howto create an SMEServer contrib or core git repo

From SME Server
Jump to navigationJump to search

Introduction

We use gitea on https://src.koozali.org If you haven't got a user then ask on the rocket chat for one or email admin@koozali.org.

On the gitea we have 3 organisations which are bit like directories in which the git repos are kept. The organisations are:

  1. smeserver - for core packages
  2. smecontribs - for contrib packages
  3. smedev - for useful packages and repositories of scripts etc that are not part of the actual distribution .

In the smedev organisation there are two template git repositories which can be use as a basis for creating an empy repo to go in smeserver or smecontribs organisation.

Templates are called:

  1. Template-for-SMEServer-Core-Package
  2. Template-for-SMEServer-Contribs-Package

In smedev there is a repo called smeserver-gitutils. The contents are scripts which due useful things to the gitea system. Look at the readme for more information. Copy them all into a ~/bin directory (and set the PATH if necessary).

The procedure

The Create repo page in gitea. Note the Template name selected and the ticks in all the options at the bottom.

When you do a create repositories in gitea, it will offer you these templates in the Template control on the form (see screenshot above)

Contents of the repo after the create is done, showing files brought across from the template. The spec file will need to be renamed by the next step.

After you tell it to create the repo, the template contents will be copied across and the package (repo) name will be loaded into some of the file though the use of a meta character mechanism.

Final contents after the git-post-create-repo.sh is run.


After the repo is created, there are a few things that cannot be pulled from the template. so run:

git-post-create-repo.sh <packagename> <organisation>
The tag is created from the contents of the REL:EASE and VERSION in the spec file.

Create a tag before testing your empty repo by koji building it or mockbuilding it, then run:

git-retag.sh <packagename> <organisation>