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