[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