[devel] double chroot

Денис Смирнов =?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Вт Ноя 7 23:31:43 MSK 2006


On Tue, Nov 07, 2006 at 12:25:36PM +0300, Alex V. Myltsev wrote:

AVM> * инструменты (mksquashfs, genromfs, mkisofs и прочие необходимые
AVM>   для сборки вещи) нельзя выполнять в чруте, потому что мы их туда не
AVM>   устанавливаем (они не нужны на получающемся образе, их может не
AVM>   быть в исходном репозитарии).
AVM> * инструменты нельзя выполнять в хост-системе, потому что тогда
AVM>   потеряется информация, которую хранит fakeroot.

Какой кошмар. Пример скрипта который без этого всего обходится в аттаче.
Все что требуется -- _библиотеки_, которые требует этот пакет (в
большинстве случаев речь всего лишь о glibc).

-- 
С уважением, Денис

http://freesource.info
----------------------------------------------------------------------------
Настоящие программисты делают так: COPY CON PROGRAM. EXE.
----------- следующая часть -----------
#!/bin/bash
#=============================================================================#
#                  Make cpios image from fakeroot directory                   #
#=============================================================================#
# Requires:
#	hasher by Dmitry V. Levin (ldv)
#   	cpio
#=============================================================================#
# (C) Denis Smirnov <mithraen на freesource.info                     12.06.2006  #
#=============================================================================#
set +e

WORKDIR=`realpath $1`
touch "$2"
RESULT=`realpath $2`
chroot="$WORKDIR/chroot/"

T=`mktemp`
echo -en '/etc\0/etc/group\0/etc/passwd\0' > $T

cp -a `which cpio` $chroot/.host/

echo "Creating $RESULT" | csed '/.*/ p green' >&2
hsh-run "$WORKDIR" --rooter --save-fakeroot -- /.host/find / \
	-mindepth 1 \
	-name .in -prune -o \
	-name .out -prune -o \
	-name .host -prune -o \
	-name .fakedata -prune -o \
	-name .altlinux.img -prune -o \
	-wholename /usr/lib*/*fakeroot* -prune -o \
	-print0 \
	| grep -vz ^/etc$ \
	| grep -vz ^/etc/passwd$ \
	| grep -vz ^/etc/group$ \
	>> $T \
	2> /dev/null

hsh-run "$WORKDIR"  --rooter --save-fakeroot -- /.host/cpio \
	-0 -c --create --quiet > "$RESULT" < $T

rm -f $T

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20061107/7c824afe/attachment-0001.bin>


Подробная информация о списке рассылки Devel