How to create Smeserver RPM using the gitea repository

From SME Server
Jump to navigationJump to search

Introduction

It is quite straightforward to create an RPM specific to SMEServer by using a template from the gitea repository https://src.koozali.org to create the repository and then clone the repo locally and update it as required, then build the rpm locally using mock and then commit your changes back to the gitea host.

Detailed Instructions

  1. Parameters to Gitea create new repo
    Create a new repository as follows:
    1. Fill in name (typically smeserver-<specific name>
    2. Add a description (this will be used on the readme.MD)
    3. Choose the template offered
    4. Tick all the options at the bottom
    5. Submit the form
  2. Return to your build system
  3. Clone the new repo
  4. Run the "git-post-create-repo.sh <organisation> repo-name". This will rename the spec file and fill in the bugzilla and wiki entries readme.MD and the repo data relating to the Wiki and Bugzilla..
  5. Add in files / directories etc required under the "root" directory.
  6. Edit the spec file.
  7. run "make mockbuild" to create the rpm locally
  8. Test the rpm.
  9. Repeat from (7) until it does what you want.
  10. then use "git add ." and "git commit -m '<commital description>' to update the git repo.
  11. That's it!

Import into CVS

In the interim before we move completely to the gitea repo, then you should be able to take the src rpm and import it into CVS.

I did this successfully, but not until a lot of fiddling - the next time I have to do it, I may be able to define the necessary steps.

It involves the helper script /usr/bin/importNew which is part of the smeserver-mock package.

However it requires the presence of the "common" directory and "CVSROOT" in the correct place - in Parallel with ~/smecontribs/rpm. They can be checked out of CVS.

I am not clear if it requires to be run on the koozali infastructure build server or can be run on your own build server (with ssh access to the buildserver). Hopefully the latter.

I also note that calls to the CVS while on the infra build server only work if the connection is made locally, eg

cvs -z3 -d /cvs/smecontribs co -P common
Final confirmation of package added

Add into Bugzilla

  1. Log into Bugzilla
  2. Click on Administration on the top of the page (if you do not have this, then you do not have enough permissions to do the job).
  3. Click on Products
  4. Click on Which ever "products of..." is the one you want.
  5. Choose the next area
  6. Click on "Edit Components"
  7. Then "Add"
  8. Add in details of new package and submit.