Стоит у меня Слакварь на винте, и ещё из одной я собрался liveCD делать (ибо основную сиcтему довёл до того, что она на CD не влезает, только на DVD). Решил воспользоваться документированной возможностью:
pkgtool --target_dir /mnt/hdd3/admin/cdrom_build/root
И ничего не произошло. Совсем. Полез в код, а там вроде как процессинг аргументов в if (arg) then (присваиваем значения) else основной блок кода. Т.е. без аргументов оно запускается, а с ними - только парсит, не запуская ничего?! Поправил:
--- pkgtool_orig/sbin/pkgtool 2011-03-07 18:14:54.000000000 +0000
+++ /sbin/pkgtool 2011-11-11 20:02:22.151645177 +0000
@@ -200,15 +200,16 @@
-source_dir | --source_dir)
SOURCE_DIR=$2 ; shift 2 ;;
-target_dir | --target_dir)
- TARGET_DIR=$2
- ADM_DIR=$TARGET_DIR/var/log
+ TARGET_DIR=$2
+ ADM_DIR=$TARGET_DIR/var/log
shift 2 ;;
-source_device | --source_device)
SOURCE_DEVICE=$2 ; shift 2 ;;
esac
done
-else # there were no arguments, so we'll get the needed information from the
+#else # there were no arguments, so we'll get the needed information from the
# user and then go on.
+fi
CMD_START="true"
rm -f $TMP/SeT*
while [ 0 ]; do
Там только пробелы лишние, их можно игнорировать. Вроде заработало?
У кого Слакварь - проверьте пожалуйста поведение оригинального pkgtool и патченного.