How to install AUR packages in ManjaroISO

From Manjaro Linux
Jump to: navigation, search


Warning: As of March 2015 manjaroiso is deprecated , Manjaro-tools is the way!


In order to use ManjaroISO you need to install it first. You can read how to do it at one of these links:


All examples on this Wiki page match thisand thistutorial.


1. Create a directory as your local repository

The first thing you should probably do is create a directory for your local repository. The local repository is called local-repo throughout this entire tutorial. This'll help keep things organized.

 mkdir -p ~/work/local-repo/


2. Edit yaourtrc file

your /etc/yaourtrc file contains this line of code:

#EXPORT=0           # Export to 1: EXPORTDIR or PKGDEST

change it to

EXPORT=1           # Export to 1: EXPORTDIR or PKGDEST

The easiest method to change this line of code is to use your default text editor:

sudo kwrite /etc/yaourtrc

Replace kwrite with your preferred text editor.

3. Set PKGDEST

Open a terminal and execute

export PKGDEST=/home/<username>/work/local-repo/

Replace <username> with your username. This command needs to be rerun every time you boot your system!

4. Compile packages from AUR using yaourt

Now, you can use

yaourt -S <package name>

to compile and install packages from the AUR to your local repository.

Every time you finished the installation of a package, it appears in your ~/work/local-repo/ folder. All dependencies from the AUR are also stored as files in your ~/work/local-repo/ folder.

Please note all AUR dependencies, because you will need their package names later.

Example:

You want to add the package pcmanfm-qt-git to your install-media. Therefore, you need to add it to your local repository first. You compile and install it using

yaourt -S pcmanfm-qt-git

You get told in the beginning of the installation process that pcmanfm-qt-git depends on these packages:

- libfm
- qt5-x11extras
- qt5-tools
- git
- cmake
- liblxqt-git (from AUR)
- lxmenu-data

The first 5 dependencies and the last are from manjaro repositories and you do not need to care about them. The liblxqt-git package is from the AUR and has the following dependencies:

- qt5-base
- qt5-x11extras 
- qt5-tools 
- git 
- cmake
- libqtxdg-git (from AUR)

The libqtxdg-git package only has dependencies on packages from the manjaro repositories.


When the installation of pcmanfm-qt-git has finished, you find 3 files in your local repository (~/work/local-repo/):

liblxqt-git-0.8.0.23.g079768e-1-x86_64.pkg.tar.xz  
libqtxdg-git-1.0.0.7.g0503cf7-1-x86_64.pkg.tar.xz  
pcmanfm-qt-git-0.8.0.4.g99987af-1-x86_64.pkg.tar.xz

5. Build a .db file

Use the command repo-add to build a database file. Run the following commands in a terminal:

cd ~/work/local-repo/
repo-add local-repo.db.tar.gz *.pkg.tar.*
sudo pacman -Syy

Every time you add packages to your local repositories, these commands need to be executed again.

Example:

After running those commands, your local repository looks like this:

local-repo.db.tar
local-repo.db
liblxqt-git-0.8.0.23.g079768e-1-x86_64.pkg.tar.xz  
libqtxdg-git-1.0.0.7.g0503cf7-1-x86_64.pkg.tar.xz  
pcmanfm-qt-git-0.8.0.4.g99987af-1-x86_64.pkg.tar.xz


6. Add local-repo to pacman.conf file

All you have to do now is add your local repository to ManjaroISO's pacman.conf file:


If you want to add your local-repo to all ManjaroISO profils, look in this folder

~/work/manjaroiso/configs/shared/

If you want to add your local repository to your ManjaroISO profile only, look in this folder

~/work/manjaroiso/configs/e17/

for one of these

pacman-i686.conf
pacman-x86_64.conf

files (depending which architecture the packages in your local repository are).


At the bottom of the pacman-i686.conf or pacman-x86_64.conf file, add:

[local-repo]
SigLevel = Never
Server = file:///home/<username>/work/local-repo/

Replace <username> with your username.

7. Add package names to ManjaroISO profile

Using the example mentioned in here, you can now add the AUR package names to the Packages-E17 file.

Attention: You need to add all dependency names before the package name (only for dependencies from the AUR).

Example:

You can now add pcmanfm-qt-git to your package list for your ManjaroISO profile. This means your ~/work/manjaroiso/configs/Packages-E17 file should look exactly like this:

### Manjaro Packages

## E17 Main Packages
enlightenment17
faenza-green-icon-theme
gksu
libgnomeui
lxdm
network-manager-applet
system-tools
xcursor-simpleandsoft
xcursor-vanilla-dmz-aa

## Applications
blueman
epdfview
midori
mplayer
gparted
#manjaro-installer
sylpheed
xchat
xnoise

## Packages for Sound and Audio
gstreamer0.10-bad-plugins
gstreamer0.10-ffmpeg
gstreamer0.10-ugly-plugins

## Package management
pacman-gui

## AUR packages
local-repo/libqtxdg-git
local-repo/liblxqt-git 
local-repo/pcmanfm-qt-git

The order of package installation is from top to bottom. Please note the exact order of the last 3 packages. pcmanfm-qt-git depends on liblxqt-git, which depends on libqtxdg-git (see chapter 4.1). Therefore, liblxqt-git needs to be the first package, which gets installed!

More

You can now build your installation-media.


Please remember to install yaourt , octopi , or pamac on your install-media, too. Only these Programs can update packages from the AUR.


If you plan to create 32bit and 64bit install-medias with ManjaroISO, you should also create 2 local repositories and add them to the corresponding pacman.conf files in ManjaroISO.

This means, pacman-i686.conf and pacman-x86_64.conf need to have different local repositories added (see chapter 6).