Include:Setup your system and account for building packages: Difference between revisions

From Alpine Linux
(various cleanup and markup tweaks)
(The abuild group is required)
Line 33: Line 33:


Most of the defaults can be left alone, unless you are developing for a custom platform, in which case the comments in the file should guide you. The one field to edit is PACKAGER, so that you can get credit (or blame) for packages you create.
Most of the defaults can be left alone, unless you are developing for a custom platform, in which case the comments in the file should guide you. The one field to edit is PACKAGER, so that you can get credit (or blame) for packages you create.
To use 'abuild -r' command to install dependency packages automatically.
{{Cmd|sudo addgroup <yourusername> abuild}}


We also need to prepare the location that the build process caches files when they are downloaded. By default this is {{Path|/var/cache/distfiles/}}. To create this directory and ensure that it is writeable, enter the following commands:
We also need to prepare the location that the build process caches files when they are downloaded. By default this is {{Path|/var/cache/distfiles/}}. To create this directory and ensure that it is writeable, enter the following commands:
Line 41: Line 44:
As an alternative to the second command, you can add yourself to the abuild group:
As an alternative to the second command, you can add yourself to the abuild group:


{{Cmd|sudo addgroup <yourusername> abuild
{{Cmd|sudo chgrp abuild /var/cache/distfiles
sudo chgrp abuild /var/cache/distfiles
sudo chmod g+w /var/cache/distfiles}}
sudo chmod g+w /var/cache/distfiles}}



Revision as of 16:06, 11 April 2016

The alpine-sdk is a metapackage that pulls in the most essential packages used to build new packages. Install those packages now:

apk add alpine-sdk

This would be a good time to create a normal user account for you to work in. (You weren't going to develop as root now, were you!) To create the user:

adduser <yourusername>

To make life easier later, it's a good idea to add this user to /etc/sudoers. Append the line

<yourusername>    ALL=(ALL) ALL

using the command:

visudo

Now logout of the root account, and login as <yourusername>. From here on everything can be done in a normal user account, and operations that require superuser privileges can be done with sudo.

The aports tree is in git so before we clone the it, let's configure git.

git config --global user.name "Your Full Name" git config --global user.email "your@email.address"

Read carefully Development using git to grasp basic Git operations and how to configure for sending email patches.

Now we can clone the aports tree.

git clone git://dev.alpinelinux.org/aports

Before we start creating or modifying APKBUILD files, we need to setup abuild for our system and user. Edit the file abuild.conf to your requirements:

sudo vi /etc/abuild.conf

Most of the defaults can be left alone, unless you are developing for a custom platform, in which case the comments in the file should guide you. The one field to edit is PACKAGER, so that you can get credit (or blame) for packages you create.

To use 'abuild -r' command to install dependency packages automatically.

sudo addgroup <yourusername> abuild

We also need to prepare the location that the build process caches files when they are downloaded. By default this is /var/cache/distfiles/. To create this directory and ensure that it is writeable, enter the following commands:

sudo mkdir -p /var/cache/distfiles sudo chmod a+w /var/cache/distfiles

As an alternative to the second command, you can add yourself to the abuild group:

sudo chgrp abuild /var/cache/distfiles sudo chmod g+w /var/cache/distfiles

Note: Remember to logout and login again for the group change to have effect.

The last step is to configure the security keys with the abuild-keygen script for abuild with the command:

abuild-keygen -a -i