You are not logged in.
Hi all,
I'm quite an arch newbie, I'm trying to setup a live USB stick, with the help of archiso. My goal is to finally get an "audio oriented" system (with jack, ardour, qsampler, and so more...).
During the setup everything was working very well, until I tried to add some AUR packages to the install.
On the arch website, I found this tip, which gave me a great hope about this.
I'm not so familiar with Arch package management, but ok, I try to make a test : adding the "qsampler" AUR package. It needs "linuxsampler", "qt4", and "liblscp" as dependencies. "linuxsampler" and "qt4" are official packages, so I just have to add them to packages.both in the archiso working directory. "liblscp" is an AUR package (with no dependency); so there is 2 AUR packages to install : "liblscp", and "qsampler".
So I create a directory tree like described in the tip, download the two build packages from AUR, and for each of them I do (something) like described there :
# tar -xvf tarball_filename.tar.gz
# cd tarball_filename
# makepkg --asroot
# mv *.xz ..
# cd ..
# rm -r tarball_filename{,.tar.gz}And then:
# repo-add customrepo.db.tar.gz *.xz(I'm staying as root because it's red written to stay as root for the image creation. I think it's stupid, but people make stupid things when they are desesperate. Sorry I didn't take the time to test the code above again, it's only memory, but it was very similar)
I did the same for both architectures (i686 and x86_64), so that my custom repo looks like this:
~/liveusb/customrepo # ls -R
.:
i686 x86_64
./i686:
customrepo.db customrepo.db.tar.gz liblscp-0.5.6-1-x86_64.pkg.tar.xz qsampler-0.2.3-1-x86_64.pkg.tar.xz
./x86_64:
customrepo.db customrepo.db.tar.gz liblscp-0.5.6-1-x86_64.pkg.tar.xz qsampler-0.2.3-1-x86_64.pkg.tar.xzOops...
I just noticed I did wrong for i686 machines, but it doesn't matter for the moment, since I'm working on an x86_64 machine.
As explained in the tip, I add the following lines to pacman.conf (in the archiso working directory):
[customrepo]
SigLevel = Optional TrustAll
Server = file:///my/path/to/customrepo/$archFrom my point of view, at this point, the USB stick is ready to be updated:
~/liveusb # ./build.sh -vand then (with /dev/sdf as my usb stick device):
~/liveusb # dd if=out/archlinux-2014.10.01-dual.iso of=/dev/sdfBut when I boot on the USB stick, there's no trace of qsampler (linuxsampler, however, is present).
Since it happened, I'm feeling like a lost, lonely man, on a desert island... Thinking about the "why", the "how"..., the meaning of life..., of package management... all this stuff
I'm sure I did something wrong about the "custom repository", and the main reason is I don't deeply understand all the steps about this; that's why I'm looking for help ![]()
Any idea?
Many thanks
Last edited by yolenoyer (2014-10-02 09:16:57)
Offline
I've never used archiso - but you shouldn't run makepkg as root. You said something I couldn't quite understand about a comment in red in the wiki - the red warning box in the wiki in fact says quite explicitly to not run makepkg as root, and no where in that wiki is the --asroot flag recommended.
As for your repo files - they are all x86_64, even the ones under i686. (edit: nevermind, I see you noticed this already).
Again, I've never used archiso, but it looks like you added a custom 'file' repository - I suspect you still need to install from it, right? Have you tried to run `pacman -S qsampler` from within the booted iso? Also, does this need to be a static iso image - is there a reason not to just do a persistent usb install?
Last edited by Trilby (2014-10-01 23:22:21)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Thank you for the reply,
I think I did a more trivial mistake :
With archiso, the packages are automatically installed, from a package list file called "packages.both", and "packages.x86_64", "packages.i686" for architecture dependent packages. But they only use common repos by default. The "'qsampler" is not in official repos (that's why I choosed this one for my question).
So, ok, I setup a common repo (with some mistakes but it was working), BUT...
I just forgot to put the package name in the packages.both file...
So, now that I did it, I just have an error about the package architecture, which I think possible to fix, just by rebuilding the common repo in a correct manner:
~/liveusb # ./build -v
...
warning: vlc-2.1.5-3 is up to date -- reinstalling
warning: mplayer-37224-2 is up to date -- reinstalling
error: failed to prepare transaction (package architecture is not valid)
:: package qsampler-0.2.3-1-x86_64 does not have a valid architecture
==> ERROR: Failed to install packages to new rootAlso, does this need to be a static iso image - is there a reason not to just do a persistent usb install?
About the static iso image : the idea of building an iso image with all my personnal tools and config already installed on it is very pleasant to me, including the fact that you can burn it on a CD as well. The persistent acpect would be pleasant too, but in a secondary way.
While I'm writing this message I really understand a bit more about all of this, since yesterday... Sometimes, simply posting a message in forums helps you to understand your own problem, because you have to be clear and concise!
Thanks
Offline