Bug 29584 - libshell требует для сборки себя же
Summary: libshell требует для сборки себя же
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libshell (show other bugs)
Version: unstable
Hardware: all Linux
: P3 minor
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2013-11-14 19:02 MSK by solo
Modified: 2015-02-24 15:56 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description solo 2013-11-14 19:02:54 MSK
Начиная от версии 0.1.7, libshell требует для сборки себя же. При отсутствии libshell в системе (сборочном chroot) наблюдаю следующее:

...
+ make install DESTDIR=/builddir/build/BUILDROOT/libshell-0.2.0-1.el6.altell1.noarch DESTDIR=/builddir/build/BUILDROOT/libshell-0.2.0-1.el6.altell1.noarch install install-single
install -d -m755 /builddir/build/BUILDROOT/libshell-0.2.0-1.el6.altell1.noarch/bin
cp -a shell-args shell-cmdline shell-config shell-error shell-getopt shell-ini-config shell-ip-address shell-mail-address shell-process shell-quote shell-regexp shell-run shell-signal shell-source shell-string shell-unittest shell-var shell-version /builddir/build/BUILDROOT/libshell-0.2.0-1.el6.altell1.noarch/bin/
install -d -m755 /builddir/build/BUILDROOT/libshell-0.2.0-1.el6.altell1.noarch/usr/share/man/man3
for i in docs/libshell.man docs/shell-error.man; do \
		d="${i%.man}.3"; d="${d##*/}"; \
		install -m644 $i /builddir/build/BUILDROOT/libshell-0.2.0-1.el6.altell1.noarch/usr/share/man/man3/$d; \
	done
install -d -m755 /builddir/build/BUILDROOT/libshell-0.2.0-1.el6.altell1.noarch/usr/share/libshell
/builddir/build/BUILD/libshell-0.2.0/gen-deps.sh shell-args shell-cmdline shell-config shell-error shell-getopt shell-ini-config shell-ip-address shell-mail-address shell-process shell-quote shell-regexp shell-run shell-signal shell-source shell-string shell-unittest shell-var shell-version > /builddir/build/BUILDROOT/libshell-0.2.0-1.el6.altell1.noarch/usr/share/libshell/DEPS
./shell-quote: line 9: .: shell-version: file not found
make: *** [install] Error 1

Причина: Скрипты gen-deps.sh и gen-syms.sh используют shell-quote, расположенный в каталоге сборки:

...
. ./shell-quote

А shell-quote, пытается задействовать нужные скрипты через PATH:

...
. shell-version
. shell-error
. shell-string

Что вызывает ошибку, если их там нет.

Предлагаю при вызове сборочных скриптов (gen-*.sh) дополнять PATH каталогом, из которого скрипты инсталлируются (см. http://git.altlinux.org/people/solo/packages/?p=libshell.git;a=commitdiff;h=b8818d5cae1e3d9a16dc85689605eabecc55f83f).
Comment 1 Alexey Gladkov 2013-11-15 15:51:44 MSK
Хм ... Согласен, но только мне кажется, что правильнее PATH="$(CURDIR):$(PATH)"
Comment 2 Alexey Gladkov 2013-11-15 15:53:43 MSK
Исправите или мне закоммитить ?
Comment 3 solo 2013-11-15 16:19:15 MSK
(В ответ на комментарий №2)
> Исправите или мне закоммитить ?

Патч готов сделать сейчас. Если нужно NMU -- то только ночью.
Comment 5 Alexey Gladkov 2013-11-15 16:54:01 MSK
Забрал. Спасибо. Скоро выложу.
Comment 6 Repository Robot 2015-02-24 15:56:12 MSK
libshell-0.3.0-alt1 -> sisyphus:

* Tue Feb 24 2015 Alexey Gladkov <legion@altlinux> 0.3.0-alt1
- New version (0.3.0).
- Fix bootstrap (ALT#29584).
- shell-ini-config changes:
  + Add ini_config_is_set() function.
  + Take care about lines without values (ALT#30713).
- shell-unittest changes:
  + Add TESTCASES variable to list individual testcases (ALT#27059).
  + Add TESTTRACE variable to run testcase in debug mode (ALT#27059).