From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 8 Nov 2017 16:44:06 +0300 (MSK) From: Ivan Zakharyaschev To: devel-newbies@lists.altlinux.org Message-ID: User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="1807885841-1429726903-1510144521=:1631" Content-ID: Cc: grenka@altlinux.org, bicorph@altlinux.org Subject: Re: [newbies] [#192410] DONE (try 2) fossil.git=2.3-alt1 X-BeenThere: devel-newbies@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: "devel@ where you _can_ ask" List-Id: "devel@ where you _can_ ask" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Nov 2017 13:44:07 -0000 Archived-At: List-Archive: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1807885841-1429726903-1510144521=:1631 Content-Type: text/plain; FORMAT=flowed; CHARSET=KOI8-R Content-Transfer-Encoding: 8BIT Content-ID: Здравствуйте! На тему https://lists.altlinux.org/pipermail/sisyphus-incominger/2017-November/474838.html есть такой совет будущему мейнтейнеру: стоит взглянуть на лог сборки, чтобы увидеть нет ли там чего, что не соответствует задуманному -- http://git.altlinux.org/tasks/archive/done/_187/192410/build/100/x86_64/log . Здесь обращает на себя внимание то, что в спеке мы потребовали компиляцию с -Werror (раз уж у нас действительно не осталось больше warnings), но на деле этот флаг не доехал до компилятора. Например: cc -I. -I./src -Ibld -DFOSSIL_DYNAMIC_BUILD=1 -g -O2 -DHAVE_AUTOCONFIG_H -D_HAVE_SQLITE_CONFIG_H -o bld/add.o -c bld/add_.c И вообще rpm-овские %optflags все не доехали. (Кстати, Андрей Савченко bicorph@ как раз днях устно высказывал предложение о том, как можно автоматически обнаруживать такие сборки и предупреждать мейнтейнеров. И мне это предложение нравится. Может быть, Андрей сделает соответствующий патч на rpm-build с соответствующим brp-скриптом.) А пока нет такой автоматической проверки стоит глазами посмотреть и разобраться, как %optflags передать компилятору. (Это будет полезно и для сборки на всяких более экзотических архитектурах и платформах, где они хотели бы передавать специфичные более удачные %optflags во всех пакетах.) С похожим случаем мне недавно помог (устно) разобраться ldv@. Как обычно %optflags попадаю в CFLAGS в make? Делается export CFLAGS=.... перед ./configure . См. значение макроса %configure, например: rpm --eval '%configure' . Оно их записывает в итоге в Makefile. В этом спеке %configure не используется. Можно выставить ему CFLAGS аналогично. Советую проверить, что будет. Будет не очень хорошо из-за -Werror. Это и объяснение, почему во многих других случаях может быть нехорошо от %def_enable Werror -- там, где используется %configure. (TODO для rpm-build: обрабытывать -Werror / %def_anable Werror по-другому, отдельно от остальных %optflags) Так давайте сделаем export CFLAGS='%optflags' перед вызовом make. Кажется, здесь Makefile написан так, что CFLAGS не имеет значения изначально, но используется в командах, так что воспримет значение из переменной окружения. Хотелось бы увидеть доделанный в смысле передачи %optflags компилятору пакет fossil от grenka@, чтобы считать эту тему пройденной. -- Best regards, Ivan --1807885841-1429726903-1510144521=:1631--