ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Денис Назаров" <nenderus@altlinux.org>
To: devel@lists.altlinux.org
Subject: Re: [devel] hasher config
Date: Sun, 28 Mar 2021 23:01:09 +0300
Message-ID: <cfe0ff6b-b24a-6099-566f-9c7edbd46771@altlinux.org> (raw)
In-Reply-To: <47270849-66d8-bf72-3976-e936ed416319@altlinux.org>


[-- Attachment #1.1: Type: text/plain, Size: 5416 bytes --]

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



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 203 bytes --]

      reply	other threads:[~2021-03-28 20:01 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-28  7:54 Денис Назаров
2021-03-28  9:40 ` Leonid Krivoshein
2021-03-28 10:47   ` Денис Назаров
2021-03-28 11:20     ` Leonid Krivoshein
2021-03-28 11:25     ` Yuri Sedunov
2021-03-28 11:39     ` Денис Назаров
2021-03-28 20:01       ` Денис Назаров [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cfe0ff6b-b24a-6099-566f-9c7edbd46771@altlinux.org \
    --to=nenderus@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git