Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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.
- Start the container.
mkdir ~/nginx-build cd ~/nginx-build docker run --name=nginx-build -dit -v $PWD:/root/data rtcamp/nginx-build bash
Copy the GPG keys(both public and private) to
~/nginx-buildand if you don't have one, you can check here, how to create one.
Enter the container.
docker exec -it nginx-build bash
- Import the your GPG keys.
cd /root/data/ gpg --import public.key gpg --import --allow-secret-key-import private.key
- Clone the repo.
git clone https://github.com/EasyEngine/nginx-build cd nginx-build
- Set your name as the Package Maintainer.
- Run the script with the latest stable release and your email id.
bash ppa.sh nginx 1.10.3 email@example.com
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 <firstname.lastname@example.org> Sat, 04 Feb 2017 03:05:53 +0530
This revision number of the build in bold has to be changed to build it successfully.
This will download the latest Nginx source, the modules from their respective Github links, modify the changelog and create the whole directory structure at
Go to the nginx directory (check the latest version)
- 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.
- 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.
- Remove the current files from the nginx repo.
cd home:rtCamp:EasyEngine/nginx osc rm *
- The files that need to be uploaded will be generated in the
~/PPA/nginxdirectory. Only the files you already see here will be necessary.
Copy the files from
rsync -avzP --exclude="modules" --exclude="nginx-1.10.3" ~/PPA/nginx ~/home:rtCamp:EasyEngine/nginx/
- Add the new files to the repo.
osc add *
- Commit and push the changes.
osc ci -m “Revision message describing any changes”
- Pat yourself on the back for a job well done. :)