При генерации инсталяционного образа, список RPM файлов , которые копируются в каталог "out/ALTLinux/RPMS.main" при последовательных сборках и постоянной конфигурации разное... Изучив немного скрипты сепаратора, нашел, что список этих файлов читается из tmp/main.packages, но во время чтения списка данный файл меньше, его окончательного размера. Пример: Непосредственно перед чтением списка: -rw-r--r-- 1 root root 4096 Jan 31 17:54 /home/hasher/_hasher/tmp/main.packages Реальный размер, измеренный после окончания процеса сборки: -rw-r--r-- 1 root root 16506 Jan 31 17:54 /home/hasher/_hasher/tmp/main.packages Вот... :) Иногда этот файл вообще нулевой длины... Иногда такое творится с /home/hasher/_hasher/tmp/base.packages" Для исправления ситуации как вариант можно добавить вызов "sync" перед чтением списка пакетов из файла "$TMPDIR/$IDENT.packages". /usr/share/separator/functions ... [skip] copypackages() { local WORKDIR APTBOX IDENT INSTALLDIR APTBOX TMPDIR INSTALLDIRS i OUTDIR WORKDIR=$1 IDENT=$2 INSTALLDIR=$3 INSTALLDIRS=$4 OUTDIR=$5 APTBOX="$WORKDIR/aptbox" TMPDIR="$WORKDIR/tmp" [ -z "$IDENT" ] && IDENT="packages" [ -d "$APTBOX" ] || Fatal "Please, create $APTBOX first" [ -d "$INSTALLDIR" ] || mkdir -p "$INSTALLDIR" Info "removing old packages ($IDENT) ..." rm -f $INSTALLDIR/*0 Info "copying new packages ($IDENT) ..." sync; # ^^^^ while read i do packagestatus "$INSTALLDIRS" `basename $i` $OUTDIR || continue if ! curl $i -qs -o $INSTALLDIR/`basename $i`; then echo "Copy package $i to $INSTALLDIR/`basename $i` failed !!!" exit 1 fi echo -n "." done < $TMPDIR/$IDENT.packages echo "" } Steps to Reproduce: 1.Add line $(ls -l $TMPDIR/$IDENT.packages >> /tmp/separator.bug) after part of code in the file /usr/share/separator/functions ... [skip] copypackages() { local WORKDIR APTBOX IDENT INSTALLDIR APTBOX TMPDIR INSTALLDIRS i OUTDIR WORKDIR=$1 IDENT=$2 INSTALLDIR=$3 INSTALLDIRS=$4 OUTDIR=$5 APTBOX="$WORKDIR/aptbox" TMPDIR="$WORKDIR/tmp" [ -z "$IDENT" ] && IDENT="packages" [ -d "$APTBOX" ] || Fatal "Please, create $APTBOX first" [ -d "$INSTALLDIR" ] || mkdir -p "$INSTALLDIR" Info "removing old packages ($IDENT) ..." rm -f $INSTALLDIR/*0 Info "copying new packages ($IDENT) ..." -> Here <- 2. Build installer image 3. Look to the file /tmp/separator.bug and compare included data with a data about the same file ("$TMPDIR/$IDENT.packages" or "tmp/main.packages") in a current time. Actual Results: Data in the file /tmp/separator.bug and a data about the same file ("$TMPDIR/$IDENT.packages" or "tmp/main.packages") in a current time is different. Expected Results: Data in the file /tmp/separator.bug and a data about the same file ("$TMPDIR/$IDENT.packages" or "tmp/main.packages") in a current time is a same.
apparently wontfix; use spt/mkimage