[devel] hasher config

Денис Назаров nenderus на altlinux.org
Вс Мар 28 14:39:23 MSK 2021


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


Не так удобно, как переменные конечно

>
>
>>
>>
>
>
> _______________________________________________
> 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/d71f73a1/attachment.bin>


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