[devel] hasher config
Денис Назаров
nenderus на altlinux.org
Вс Мар 28 23:01:09 MSK 2021
28.03.2021 14:39, Денис Назаров пишет:
> 28.03.2021 13:47, Денис Назаров пишет:
>> 28.03.2021 12:40, Leonid Krivoshein пишет:
>>> Добрый день!
>>>
>>>
>>> 28.03.2021 10:54, Денис Назаров пишет:
>>>> Добрый день!
>>>>
>>>>
>>>> Можно ли при сборке передавать hasher'у какой конфиг использовать
>>>> (вместо стандартного ~/.hasher/config)?
>>>>
>>>>
>>>> Сейчас у меня для разных веток свои конфиги sisyphus-config,
>>>> p9-config и я просто в ~/.hasher/ создаю симлинк с именем config на
>>>> нужный. Может как-то можно избежать этого, передавая параметр?
>>>
>>> Да, при локальной сборке через gear-hsh после "--" можно передавать
>>> опции hasher, например --apt-config=$HOME/.hasher/p9-config , нечто
>>> похожее на сборочнице реализовано через ssh build -b p9 ...
>>
>> Так похоже слишком много вручную параметров надо передавать, а если
>> архитекрутра ещё и qemu требует.
>>
>> А так у меня такие конфиги:
>>
>>
>> cat ~/.hasher/sisyphus-config
>> USER=nenderus
>> TARGET=x86_64
>>
>> for arg in "$@"; do
>> PARAM=`echo $arg | awk -F= '{print $1}'`
>> VALUE=`echo $arg | awk -F= '{print $2}'`
>> if [ $PARAM = '--target' ]; then
>> TARGET=$VALUE
>> fi
>> done
>>
>> if [ `uname -m` = i686 ]; then
>> TARGET=i586
>> fi
>>
>> case $TARGET in
>> x86_64 | i586)
>> ;;
>> aarch64 | ppc64le)
>> qemu_arch=$TARGET
>> ;;
>> armh)
>> qemu_arch=arm
>> ;;
>> *)
>> TARGET=x86_64
>> ;;
>> esac
>>
>> mkdir -p /tmp/.private/$USER/hasher-sisyphus-$TARGET
>> workdir="/tmp/.private/$USER/hasher-sisyphus-$TARGET"
>> def_target=$TARGET
>> apt_config="$HOME/.hasher/sisyphus-$TARGET-apt.conf"
>> def_repo=$HOME/hasher-sisyphus/repo
>> packager="`rpm --eval %packager`"
>> mount=/dev/pts,/proc
>>
>>
>> cat ~/.hasher/p9-config
>> USER=nenderus
>> TARGET=x86_64
>>
>> for arg in "$@"; do
>> PARAM=`echo $arg | awk -F= '{print $1}'`
>> VALUE=`echo $arg | awk -F= '{print $2}'`
>> if [ $PARAM = '--target' ]; then
>> TARGET=$VALUE
>> fi
>> done
>>
>> if [ `uname -m` = i686 ]; then
>> TARGET=i586
>> fi
>>
>> case $TARGET in
>> x86_64 | i586)
>> ;;
>> aarch64 | ppc64le)
>> qemu_arch=$TARGET
>> ;;
>> armh)
>> qemu_arch=arm
>> ;;
>> *)
>> TARGET=x86_64
>> ;;
>> esac
>>
>> mkdir -p /tmp/.private/$USER/hasher-p9-$TARGET
>> workdir="/tmp/.private/$USER/hasher-p9-$TARGET"
>> def_target=$TARGET
>> apt_config="$HOME/.hasher/p9-$TARGET-apt.conf"
>> def_repo=$HOME/hasher-p9/repo
>> packager="`rpm --eval %packager`"
>> mount=/dev/pts,/proc
>>
>>
>> И я просто делаю gear-hsh -v (для x86_64) или gear-hsh --target=%ARCH
>> -v (для другой архитектуры), но приходится менять симлинк
>> ~/.hasher/config указывающий на конфиг нужной ветки.
>
> Придумал такую штуку:
>
>
> cat ~/.hasher/config
> TARGET=x86_64
>
> for arg in "$@"; do
> PARAM=`echo $arg | awk -F= '{print $1}'`
> VALUE=`echo $arg | awk -F= '{print $2}'`
> if [ $PARAM = '--target' ]; then
> TARGET=$VALUE
> fi
> done
>
> if [ `uname -m` = i686 ]; then
> TARGET=i586
> fi
>
> case $TARGET in
> x86_64 | i586)
> ;;
> aarch64 | ppc64le)
> qemu_arch=$TARGET
> ;;
> armh)
> qemu_arch=arm
> ;;
> *)
> TARGET=x86_64
> ;;
> esac
>
> if [ -z $BRANCH ]; then
> BRANCH=sisyphus
> fi
>
> case $BRANCH in
> sisyphus | p9)
> ;;
> *)
> BRANCH=sisyphus
> ;;
> esac
>
> mkdir -p /tmp/.private/$USER/hasher-$BRANCH-$TARGET
> workdir="/tmp/.private/$USER/hasher-$BRANCH-$TARGET"
> def_target=$TARGET
> apt_config="$HOME/.hasher/$BRANCH-$TARGET-apt.conf"
> def_repo=$HOME/hasher-$BRANCH/repo
> packager="`rpm --eval %packager`"
> mount=/dev/pts,/proc
>
>
> И тогда получается по-умолчанию сизиф, а если надо p9, то:
>
>
> BRANCH=p9 gear-hsh --target=%ARCH -v
>
>
> Не так удобно, как переменные конечно
Придумал в общем такой конфиг (может кому пригодится):
cat ~/.hasher/config
TARGET=x86_64
BRANCH=sisyphus
for arg in "$@"; do
shift
PARAM=`echo $arg | awk -F= '{print $1}'`
VALUE=`echo $arg | awk -F= '{print $2}'`
if [ $PARAM = '--target' ]; then
TARGET=$VALUE
fi
if [ $PARAM = '--branch' ]; then
BRANCH=$VALUE
continue
fi
set -- "$@" "$arg"
done
if [ `uname -m` = i686 ]; then
TARGET=i586
fi
case $TARGET in
x86_64 | i586)
;;
aarch64 | ppc64le)
qemu_arch=$TARGET
;;
armh)
qemu_arch=arm
;;
*)
TARGET=x86_64
;;
esac
case $BRANCH in
sisyphus | p9)
;;
*)
BRANCH=sisyphus
;;
esac
mkdir -p /tmp/.private/$USER/hasher-$BRANCH-$TARGET
workdir="/tmp/.private/$USER/hasher-$BRANCH-$TARGET"
def_target=$TARGET
apt_config="$HOME/.hasher/$BRANCH-$TARGET-apt.conf"
def_repo=$HOME/hasher-$BRANCH/repo
packager="`rpm --eval %packager`"
mount=/dev/pts,/proc
И можно указывать через параметр --branch:
gear-hsh --branch=p9 -v
>
>>
>>
>>>
>>>
>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel на lists.altlinux.org
>> https://lists.altlinux.org/mailman/listinfo/devel
>
>
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : OpenPGP_signature
Тип : application/pgp-signature
Размер : 203 байтов
Описание: OpenPGP digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20210328/f08ea07f/attachment.bin>
Подробная информация о списке рассылки Devel