Pisi Linux Compiling with Docker Step by Step

You will help to build packages for Pisi Linux? You can with Docker is it simple and easy to do this.

What is Docker?

Docker allows you to package an application with all of its dependencies into a standardized unit for software development.

Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.


Containers running on a single machine all share the same operating system kernel so they start instantly and make more efficient use of RAM. Images are constructed from layered filesystems so they can share common files, making disk usage and image downloads much more efficient.


Docker containers are based on open standards allowing containers to run on all major Linux distributions and Microsoft operating systems with support for every infrastructure.


Containers isolate applications from each other and the underlying infrastructure while providing an added layer of protection for the application.

For more information about Docker go to this page: What is Docker


Docker work with Pisi Linux Step by Step

Fork the Main and Core repositories to your GitHub page.

Edit and clone that you made fork before, like;

git clone git@github.com:user_name/main.git

according to your user name.

git config –global user.name “……”

git config –global user.email “……”

After, create a new folder named pisi-2.0 on to /home/user_name/ directory.

Move Main and Core folders into pisi-2.0 folder that you have cloned, even clone here directly.
After, enter the Core folder and enter these commands;

git remote add upstream git@github.com:pisilinux/core.git

After, enter the Main folder and enter these commands;

git remote add upstream git@github.com:pisilinux/main.git

After that, pick up the changes on the Pisi Linux repository with these commands on both two folders;

git pull upstream master

And you can send it to your fork with these commands;

git push origin master


Open the Konsole

sudo service docker start

After this command, open a new Konsole page.

sudo docker pull ertugerata/pisi-chroot-farm

sudo docker run -v /home/user_name/pisi-2.0:/git -v /home/user_name/pisi-2.0/build:/root -v /var/cache/pisi/archives:/var/cache/pisi/archives -v /var/cache/pisi/packages:/var/cache/pisi/packages -itd ertugerata/pisi-chroot-farm bash

sudo docker ps

After this command, with caring container_name or whatever, paying attention to it,

sudo docker attach container_name

service dbus start

pisi ur

pisi up -dvsy

and we’re ready to compile.

Compile the package named kpat in pisi-2.0 folder:

pisi bi /git/main/desktop/kde/games/kpat/pspec.xml -d –ignore-safety

The packages that we compiled, to figure out runtime dependencies;

We install the packages we made shortly before,

pisi it kpat……pisi –ignore-safety

checkelf -s -x kpat*.pisi

according to report, we will edit runtime deps.


ATTENTION: When your packages’ jobs done, before the proceeding the new package, to clear dependencies that we installed afterward,

pisi hs -t 78

while exiting:

opening a new console window,

sudo docker stop container-id

container-id is in the console window we used,

When it stopped, you can delete it following commands.

sudo docker rm container-id

Now we are ready to send Pull-Request.

ATTENTION: For next docker usage, you can just use “LET’S COME UP TO LINKING THE DOCKER” step.


The original Docker introducing is written from Team Member suvari  in Turkish Language you found it at the Pisi Linux GitHub


The English Translation is written from Team Member xelorium, many thanks for Translation.