Mriyam Tamuli edited this page Jan 23, 2018 · 12 revisions

The Process

WARNING: Before starting go through the links on the reference page.

NOTE: This guide is for building the current version of nginx i.e. 1.10.3. You might need to change the commands according to the the current version of the build.

  1. Start the container.
mkdir ~/nginx-build
cd ~/nginx-build
docker run --name=nginx-build -dit -v $PWD:/root/data rtcamp/nginx-build bash
  1. Copy the GPG keys(both public and private) to ~/nginx-build and if you don't have one, you can check here, how to create one.

  2. Enter the container.

docker exec -it nginx-build bash
  1. Import the your GPG keys.
cd /root/data/
gpg --import public.key
gpg --import --allow-secret-key-import private.key
  1. Clone the repo.
git clone https://github.com/EasyEngine/nginx-build
cd nginx-build
  1. Set your name as the Package Maintainer.
export DEBFULLNAME="rtCamp"
  1. Run the script with the latest stable release and your email id.
bash ppa.sh nginx 1.10.3 easyengine@example.com
  1. At the end of the script’s run, you will find the CHANGELOG open in vim.

    nginx (1.10.3-2ppa~stable) stable; urgency=high
    
    * Update version to 1.10.3
    
    -- rtCamp <easyengine@example.com>  Sat, 04 Feb 2017 03:05:53 +0530
    

    This revision number of the build in bold has to be changed to build it successfully.
    (1.10.3-2ppa~stable)
    This will download the latest Nginx source, the modules from their respective Github links, modify the changelog and create the whole directory structure at ~/PPA/nginx

  2. Go to the nginx directory (check the latest version)

cd ~/PPA/nginx/nginx-1.10.3
  1. Start the packaging with the GPG keys that you have exported. If in doubt about GPGKEY, you can check this page.
debuild -S -sa -k88649AAD

This is the key ID for rtCamp's GPG key. You will be asked for a password. Get the password for the GPG key.

  1. Checkout the repository. If you don't have a repository, go to Opensuse Build Service, and create one
cd ~
osc co home:rtCamp:EasyEngine

Warning: The repository name is case sensitive.

  1. Remove the current files from the nginx repo.
cd home:rtCamp:EasyEngine/nginx
osc rm *
  1. The files that need to be uploaded will be generated in the ~/PPA/nginx directory. Only the files you already see here will be necessary.
    Copy the files from ~/PPA/nginx to ~/home:rtCamp:EasyEngine.
rsync -avzP --exclude="modules" --exclude="nginx-1.10.3" ~/PPA/nginx ~/home:rtCamp:EasyEngine/nginx/
  1. Add the new files to the repo.
osc add *
  1. Commit and push the changes.
osc ci -m “Revision message describing any changes”
  1. Pat yourself on the back for a job well done. :)
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.