Howto create a gitea repo and build an rpm

From SME Server
Jump to navigationJump to search

This page is to help with the creation and use of a git repo (hosted on the projects gitea server).

An "empty" repo can be created using a template which presets all the necessary directories and files.

Then the repo can be populated with files, code, etc and then a single call to `make mockbuild` will generate a local rpm which can then be installed in a test SMEServer for testing and validation.

After this the repo can be entered into the SMEServer build system and therefore built automatically when required (or updated). This is WIP and TBA.

Creating the Repo on the gitea Server

  1. login to the gitea server https://gitea.koozali.org
  2. Top right hand corner - "+" then repository
  3. Select the owner name or organisation
  4. Fill in name of Repo (typically smeserver-?????)
  5. Fill in description
  6. Select Template from Template field (currently only one - others will appear!!)
  7. Tick all the optional boxes for "Template Items" only the "Git Contents" might be necessary.
  8. Press submit

You should end up with a repo that looks like this:

Screenshot from 2023-06-02 19-10-15.png

  1. Clone the repo onto your local server.
git clone https://src.koozali.org/smecontribs/smeserver-<whatever>.git
  1. Either, patch the remaining issues using the git-post-create-repo.sh script from the smedev/smeserver-gitutils repo
  2. OR do the following yourself:
    1. Rename the spec file accordingly
    2. Edit the change log in the spec file with the relevant date and bugzilla number
    3. Add in the external Wiki and Bugzilla link to the repo through the settings (on the gitea website)

At this point the repo should build to a valid (but mainly empty!) rpm. Try it with

make mockbuild

Then add in your content and the rebuild, test, etc.

As you edit your repo, then remember to follow the git sequence of:

git pull (to make sure it's at the latest in the repo)
git add -A (or the individual file name(s))
git status (to check you are only saving what you want)
git commit -m "Comment as you will" 
git push (upload it)

Note: In order for the repo to build an rpm sucessfully the smedev/common repo/directory needs to be either on the same directory level or the ones above (up to 2 levels up I think)