[arch-general] makepkgchroot
I'm attempting to set up a clean chroot to build packages in. I've followed the instructions on the wiki page https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroo.... I've read all the posts on the forum, than man pages, and the mailing lists (I may have missed something) and haven't found any answer to my problem; Steps to recreate: 1. sudo mkarchroot ~/chroot/root base base-devel sudo -- success 2. edit pacman.conf, makepkg.conf, and mirrorlist in the chroot directory 3. sudo mkarchroot -u ~/chroot/root -- success 4. a) [myra@gandalf ../repos/core-x86_64]:sudo makechrootpkg -c -r ~/chroot creating clean working copy...done /usr/sbin/makechrootpkg: line 194: /home/myra/chroot/myra/etc/makepkg.conf: No such file or directory /usr/sbin/makechrootpkg: line 199: /home/myra/chroot/myra/etc/makepkg.conf: No such file or directory sed: can't read /home/myra/chroot/myra/etc/makepkg.conf: No such file or directory /usr/sbin/makechrootpkg: line 204: /home/myra/chroot/myra/etc/makepkg.conf: No such file or directory sed: can't read /home/myra/chroot/myra/etc/makepkg.conf: No such file or directory /usr/sbin/makechrootpkg: line 209: /home/myra/chroot/myra/etc/makepkg.conf: No such file or directory grep: /home/myra/chroot/myra/etc/makepkg.conf: No such file or directory /usr/sbin/makechrootpkg: line 244: /home/myra/chroot/myra/etc/sudoers.d/nobody-pacman: No such file or directory chmod: cannot access `/home/myra/chroot/myra/etc/sudoers.d/nobody-pacman': No such file or directory error: '/home/myra/chroot/myra' does not appear to be a Arch chroot please build the image using mkarchroot Build failed, check /home/myra/chroot/myra/build b) [myra@gandalf ../repos/core-x86_64]:sudo makechrootpkg -r ~/chroot/root Missing chroot dir root directory. Try using: mkarchroot /home/myra/chroot/root/root base base-devel sudo usage makechrootpkg [options] -r <chrootdir> [--] [makepkg args] Run this script in a PKGBUILD dir to build a package inside a clean chroot. All unrecognized arguments passed to this script will be passed to makepkg. The chroot dir consists of the following directories: <chrootdir>/{root, copy} but only "root" is required by default. The working copy will be created as needed The chroot "root" directory must be created via the following command: mkarchroot <chrootdir>/root base base-devel sudo Default makepkg args: -s --noconfirm Flags: -h This help -c Clean the chroot before building -u Update the working copy of the chroot before building This is useful for rebuilds without dirtying the pristine chroot -d Add the package to a local db at /repo after building -r <dir> The chroot dir to use -I <pkg> Install a package into the working copy of the chroot -l <copy> The directory to use as the working copy of the chroot Useful for maintaining multiple copies. Default: myra Using [myra@gandalf ../repos/core-x86_64]:sudo makechrootpkg -r ~/chroot/myra gets the same results as b). I don't think anything is wrong with makechrootpkg. I'm sure it's something simple and I'm probably just brickheaded and can't sort out what I'm doing wrong. If someone has a two by four to hit me with and straighten out my thinking please don't hesitate. Myra -- Life's fun when your sick and psychotic!
On 06/17/2011 08:38 PM, Myra Nelson wrote:
I'm attempting to set up a clean chroot to build packages in. I've followed the instructions on the wiki page https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroo....
I've read all the posts on the forum, than man pages, and the mailing lists (I may have missed something) and haven't found any answer to my problem;
Steps to recreate:
<wipe everything> quick todo. simple way sudo extra-x86-64-build or sudo extra-i686-build does the clean chroots in /var/tmp and it does two things 1) if chroot doesn't exists it will create and start compiling 2) if chroot exists, clean the chroot and start compilation. the schemas for chroots are like this: /path/to/chroot/root - the clean one /path/to/chroot/$usr - the one that is used for compilation and gets clean now, if you want to modify mirrorlist from chroot take in consideration that is taken from system /etc/pacman.d/mirrorlist first mirror. now depending of what you want to modify in makepkg.conf some variables can be read and exported inside chroot from ~/.makepkg.conf like MAKEFLAGS, PACKAGER. for pacman.conf you should edit /path/to/chroot/root/etc/pacman.conf to use makechrootpkg use makechrootpkg -rc /path/to/chroot without specify anything else and mkarchroot wants a /path/to/chroot/root as parameter -- Ionuț
On Fri, Jun 17, 2011 at 12:53, Ionut Biru <ibiru@archlinux.org> wrote:
On 06/17/2011 08:38 PM, Myra Nelson wrote:
I'm attempting to set up a clean chroot to build packages in. I've followed the instructions on the wiki page
https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroo....
I've read all the posts on the forum, than man pages, and the mailing lists (I may have missed something) and haven't found any answer to my problem;
Steps to recreate:
<wipe everything>
quick todo. simple way
sudo extra-x86-64-build or sudo extra-i686-build
does the clean chroots in /var/tmp and it does two things 1) if chroot doesn't exists it will create and start compiling 2) if chroot exists, clean the chroot and start compilation.
the schemas for chroots are like this: /path/to/chroot/root - the clean one /path/to/chroot/$usr - the one that is used for compilation and gets clean
now, if you want to modify mirrorlist from chroot take in consideration that is taken from system /etc/pacman.d/mirrorlist first mirror.
now depending of what you want to modify in makepkg.conf some variables can be read and exported inside chroot from ~/.makepkg.conf like MAKEFLAGS, PACKAGER.
for pacman.conf you should edit /path/to/chroot/root/etc/pacman.conf
to use makechrootpkg use makechrootpkg -rc /path/to/chroot without specify anything else and mkarchroot wants a /path/to/chroot/root as parameter
-- Ionuț
I'll give this a try later. Thanks for the suggestion. Myra -- Life's fun when your sick and psychotic!
On Fri, Jun 17, 2011 at 13:12, Myra Nelson <myra.nelson@hughes.net> wrote:
On Fri, Jun 17, 2011 at 12:53, Ionut Biru <ibiru@archlinux.org> wrote:
On 06/17/2011 08:38 PM, Myra Nelson wrote:
I'm attempting to set up a clean chroot to build packages in. I've followed the instructions on the wiki page
https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroo....
I've read all the posts on the forum, than man pages, and the mailing lists (I may have missed something) and haven't found any answer to my problem;
Steps to recreate:
<wipe everything>
quick todo. simple way
sudo extra-x86-64-build or sudo extra-i686-build
does the clean chroots in /var/tmp and it does two things 1) if chroot doesn't exists it will create and start compiling 2) if chroot exists, clean the chroot and start compilation.
the schemas for chroots are like this: /path/to/chroot/root - the clean one /path/to/chroot/$usr - the one that is used for compilation and gets clean
now, if you want to modify mirrorlist from chroot take in consideration that is taken from system /etc/pacman.d/mirrorlist first mirror.
now depending of what you want to modify in makepkg.conf some variables can be read and exported inside chroot from ~/.makepkg.conf like MAKEFLAGS, PACKAGER.
for pacman.conf you should edit /path/to/chroot/root/etc/pacman.conf
to use makechrootpkg use makechrootpkg -rc /path/to/chroot without specify anything else and mkarchroot wants a /path/to/chroot/root as parameter
-- Ionuț
I'll give this a try later. Thanks for the suggestion.
Myra
-- Life's fun when your sick and psychotic!
Ionut: Thank you very much. This is much more elegant. I appreciate the assistance. Myra -- Life's fun when your sick and psychotic!
participants (2)
-
Ionut Biru
-
Myra Nelson