From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=ALL_TRUSTED,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RP_MATCHES_RCVD autolearn=unavailable autolearn_force=no version=3.4.1 Date: Mon, 16 Dec 2019 03:46:13 +0300 From: "Alexey V. Vissarionov" To: ALT Linux Team development discussions Message-ID: <20191216004612.GB28473@altlinux.org> References: <20191213020817.4365b4e0da164f3d4919adbd@altlinux.org> <20191213080247.GA10074@altlinux.org> <20191213211843.4a0228834c2c2b22c7921cbe@altlinux.org> <20191215180645.68677a8a@wagner.wagner.home> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20191215180645.68677a8a@wagner.wagner.home> Subject: Re: [devel] =?koi8-r?b?cnBtOiDOxcvP0tLFy9TO2cUgzcHL0s/T2Q==?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Dec 2019 00:46:17 -0000 Archived-At: List-Archive: List-Post: On 2019-12-15 18:06:45 +0300, Victor Wagner wrote: >> Прорезюмирую результат обсуждения IRL: значения этих и многих >> других макросов нужно брать из rpmbuild. Из rpm их лучше в >> дальнейшем удалить во избежание недоразумений. > Тут есть одна тонкость - нету у юзера на production сервере > rpmbuild. И не должно быть. Ибо средства разработки это > толстенная дыра в безопасности. И не нужны они там. > А у меня проблема возникла именно из задачи - "прописать юзеру > в /etc/apt/sources.list.d правильный репозиторий, не полагаясь > на то, что юзер знает, какая у него архитектура и версия платформы". В смысле, репу добавить? А откуда в sources.list.d/ новый файл попадет? По уму - из пакета. Но тогда при сборке этого пакета вся необходимая информация уже доступна. > Поэтому нужен способ точно определить архитектуру установленной > системы. Именно системы, а не ядра, так как никто не обещал в > нашу эпоху контейнеров, что они совпадают. Дык `uname -m` внутри контейнера вполне говорит i686 - даже когда хост x86_64 (у меня других уже давно нет). > Правда, видимо, лучше это делать не посредством rpm, поскольку > вызов rpm изнутри %post скрипта вообще говоря недопустим. rpm -q или rpm --eval можно. Пруф: Name: checkpostrpm Version: 20191216 Release: alt1 BuildArch: noarch Summary: try to run rpm in the postinstall script Group: System/Base License: WTFPL Source: %name-%version.tar.xz %description %summary %post rpm -q glibc rpm --eval %%_arch %files Собственно, для решения объявленной задачи здесь достаточно чуть переписать %post (создавать файлы на ходу прямо там) и добавить в секцию %files строчку наподобие %ghost %config(noreplace) %_sysconfdir/apt/sources.list.d/%name.list > Либо тогда надо передеелывать логкику работы apt, чтобы там, > как и в Debian, не требовалось явно указывать архитектуру в > URL-ках. Если я правильно понимаю, вышеприведенного примера вполне достаточно. > Вот у yum или zypper, например я могу в url-ке на репозиторийй > написать $releasever и $basearch и он мне сам подставит то, что > надо. Ну да, удобно... впрочем, они и появились попозже. -- Alexey V. Vissarionov gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net