KCP Guide
KaOS-Community-Packages offers users the ability to submit working PKGBUILDs and supporting files in one central location, so all KaOS users can benefit with easy building of packages missing in the official repositories. Instead of writing all new scripts for this, Github is used as frontend. This gives a very powerful and secure interface, with good search functions, complete history for anything submitted and easy cooperation for anyone willing to maintain submitted packages.
Applying for Membership
First you need to have a Github account, this is completely independent from KaOS. Any account you already have there is usable. To apply for a new account just fill in the form at Github. Once you have that, request your membership by filling in this form:
As soon as your name is added, you will have access to the organization page.
Installing git
For this, you will need to have git installed: As always, make sure the system is fully up-to-date before installing any:
Next:
Submitting a Package
Only submit packages that were adjusted for KaOS or you created yourself for KaOS. Blindly copying any existing PKGBUILD and submitting it to KCP is not the reason it was created for. If you can find working PKGBUILDs elsewhere, use them.
Once you have build and TESTED your package locally, it is time to upload to KCP. Before doing so run the validity checker:
in the same directory where your PKGBUILD resides, fix any parts that show as non-compliant with KCP.
If you are familiar with git, then most these instructions will not be needed for you, and you might have your own preferred git work-flow, but for this guide, we’ll use the Github web-interface as much as possible.
Go to your main work page, and select “new repository”. Fill in the repository name, by using the Package name, give a short description of your package, it will help users searching for certain type of packages, without having to know the actual package name.
Select “Initialize this repository with a README”.
Once you selected Create Repository
, the next page will give you an overview of this.
Now it is time to get this repository as a local git entry. To do so, you need to clone it, here we’ll use the https method, since it will just use your github user-name and password, no need to setup a SSH key. Copy the HTTPS address to the clipboard.
Next open your favorite terminal, and cd to the directory where you would like to create this, in this example we’ll use ~/work
:
Now lets clone, using the copied entry on your clipbaord:
Open Dolphin in split view mode and navigate to the newly created folder in your ~/work
directory on the left side. On the right side open the directory where the files you have for your package are located, we’ll use ~/build/package_name
for this example. Copy the files (PKGBUILD, and any other files you needed to build your package, like .install, .desktop and/or patches) to the left (~/work/package_name
).
Back in the terminal, these changes will be seen right away. Presume you still are in ~/work, so lets cd to package_name
in ~/work
:
now run:
This will return the list of packages you just copied. Now commit these changes to Github:
and any other file like:
and/or:
and/or:
Write a short and clear message what and why you are committing:
And push your commit:
This will ask for your username and PAT on Github, once pushed, all files will be visible in the repository page on Github.
Formatting standards for KCP
To get to a reasonable standard in submitting, maintaining and contributing packages to KCP, use the following guidelines to get to a uniform way of providing PKGBUILD files, readme info and common courtesy in KCP.
- Only submit packages that were adjusted for KaOS or you created yourself for KaOS
- Do not use names of maintainers or contributors in PKGBUILD, anyone can contribute, keep the header clean from this
- Every package, application, support package or needed library has its own Github repository
- KaOS has no i686, reflect that in
arch=('x86_64')
line - Avoid code with
if
for x86_64 and i686 sources/md5sum, just use the x86_64 version - Discuss in the issue section what you want to contribute or change to an existing package
- Use the star button to vote for a package, packages with some votes will be moved to the KaOS repositories
- Provide relative links in the
Readme
to packages needed for your applications, which are not in the repositories, but need to be build from KCP also. And show the URL for the package.
Example for readme.md code, providing relative links:
Using kcp helper package or Octopi
Since May 2014 building, searching or getting the needed files from KaOS Community Packages has been simplified with the addition of the package kcp. It comes pre-installed on any system that is installed with an ISO from June 2014 or later. If not installed yet, get it with:
Select all for the base-devel group.
To use kcp searches:
build and install:
to get only the needed files to build the package yourself with makepkg:
The kcp helper package is build into Octopi, see this instructional video how to use:
Hands on with Octopi, part 3 - KCP
Remember though simplifying this did not change any to the fact that you are the one building, installing and maintaining packages not supported by KaOS. These are all build from files submitted by other users, make sure to check the correctness of any such package, check for updates, and rebuild when changes in the KaOS repositories demands a rebuild of your package(s).