Re: А почему ‘bash’ не зависит от ‘libreadline’?
Список архитектур идентичен. Вы куда-то не туда по части libreadline6 смотрите, вот: https://packages.debian.org/sid/libreadline6 On 02/02/15 08:47, yuri.nefe...@gmail.com wrote: Сравните список архитектур для bash [1] и readline [2]. Ю. 1 https://packages.debian.org/sid/bash 2 https://packages.debian.org/squeeze/lib64readline6 https://packages.debian.org/sid/lib32readline6 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/54d01f8b.8080...@gmail.com
Re: А почему ‘bash’ не зависит от ‘libreadline’?
> > А сделано это для того, чтобы не остаться без шела при повреждении файловой > > системы или сломе динамической линковки. > Для этого bash-static есть. более того, шелл по умолчанию dash же. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20150202114925.469eb...@ulf.tvoe.tv
Re: А почему ‘bash’ не зависит от ‘libreadline’?
2 февраля 2015 г., 6:48 пользователь Никита Егоров написал: > А сделано это для того, чтобы не остаться без шела при повреждении файловой > системы или сломе динамической линковки. Странные вещи вы говорите. Как-будто при повреждении фс или сломе динамической линковки динамическая зависимость от ncurses или tinfo никак при этом не проявится, а вот readline бы проявился. -- With best regards Max Dmitrichenko
Re: А почему ‘bash’ не зависит от ‘libreadline’?
On Mon, 2 Feb 2015, Никита Егоров wrote: 02 февр. 2015 г. 3:46 пользователь "Dmitry Alexandrov" <321...@gmail.com> написал: Спасибо. А может быть, вы еще и знаете, зачем так сделано? Обычно же в поставках типа Дебиана, вроде бы не принято библиотеки с собой таскать. Или нет? А сделано это для того, чтобы не остаться без шела при повреждении файловой системы или сломе динамической линковки. Для этого bash-static есть. Скорее всего «по историческим причинам» или/и для платформ, где readline не входит в стандартный набор. Сравните список архитектур для bash [1] и readline [2]. Ю. 1 https://packages.debian.org/sid/bash 2 https://packages.debian.org/squeeze/lib64readline6 https://packages.debian.org/sid/lib32readline6
Re: А почему ‘bash’ не зависит от ‘libreadline’?
Evgeny Zubok writes: > Можно предположить, что могли захотеть избежать библиотек из /usr/lib, > но тогда статическая линковка с libreadline6 должна вопрос разрешить. Упс, libreadline тоже в /lib лежит, а не в /usr/lib. Ошибся. тогда вообще не вижу причин. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/87wq409afi@tochka.ru
Re: А почему ‘bash’ не зависит от ‘libreadline’?
Никита Егоров writes: > А сделано это для того, чтобы не остаться без шела при повреждении > файловой системы или сломе динамической линковки. Но ведь можно и статически слинковаться с libreadline6. Сейчас так и есть: встроенный readline статически слинкован. А если сломается динамическая линковка, то как bash будет линковаться с библиотеками из /lib: libc, libtinfo5, а теперь еще и libncurces5? bash с ними не статически слинкован. Можно предположить, что могли захотеть избежать библиотек из /usr/lib, но тогда статическая линковка с libreadline6 должна вопрос разрешить. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/871tm8ap6m@tochka.ru
Re: А почему ‘bash’ не зависит от ‘libreadline’?
Dmitry Alexandrov <321...@gmail.com> writes: > Спасибо. > > А может быть, вы еще и знаете, зачем так сделано? Обычно же в > поставках типа Дебиана, вроде бы не принято библиотеки с собой > таскать. Или нет? А понятия не имею. Сейчас в jessie вроде bash-4.3. Библиотека readline6 версии 6.3. Из release notes bash можно узнать следующее: Changes have been made to the Readline library being released at the same time as bash-4.3, readline-6.3, so that Bash can be linked against an already-installed Readline library rather than the private version in lib/readline. Only readline-6.2 and later versions are able to provide all of the symbols that bash-4.3 requires; earlier versions of the Readline library _will_not_work_correctly_. В bash есть опция конфигурации --with-installed-readline. Сейчас она в debian/rules принудительно выключена: # built with installed libreadline? with_installed_rl = no Судя по дебиановскому changelog, выключена опция давно: bash (2.05b-2-11) unstable; urgency=medium * Tighten automake build dependency (closes: #215350). * Add dependency line for bashdb (closes: #215634). * /etc/skel/.bashrc: set xterm's title as we do for PS1 (closes: #176734). * Remove build dependency on readline (closes: #215165). * Update to bash_completion 20031007 (v1.630). -- Matthias Klose Tue, 14 Oct 2003 20:37:23 +0200 Почему же не включили сборку с libreadline6 сейчас, не знаю. Можно написать на почту сопровождающему Matthias Klose и спросить. Заодно и нам рассказать. Иногда бывает, что сопровождающие так загружены, что пока их не пнешь, не просигналишь, они не поправят. Или даже лучше завести баг в раздел wishlist, где привести кусок из release notes bash-4.3, и попросить собрать с внешней readline. Но в то же время надо и потестировать, потому что вот, например: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=370103 Сопровождающий взял и отклонил, а почему, совершенно не понимаю из диалога. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/878ugh9be7@tochka.ru
Re: А почему ‘bash’ не зависит от ‘libreadline’?
А сделано это для того, чтобы не остаться без шела при повреждении файловой системы или сломе динамической линковки. 02 февр. 2015 г. 3:46 пользователь "Dmitry Alexandrov" <321...@gmail.com> написал: > Спасибо. > > А может быть, вы еще и знаете, зачем так сделано? Обычно же в поставках > типа Дебиана, вроде бы не принято библиотеки с собой таскать. Или нет? > > On 01/02/15 05:38, Evgeny Zubok wrote: > >> Dmitry Alexandrov <321...@gmail.com> writes: >> >> Добрых суток уважаемой рассылке. >>> >>> Наткнулся только что на тот факт, что ‘bash’ как пакет не имеет в >>> зависимостях libreadline6 (и 5 тоже) [A]. Будучи убежденным, что GNU >>> Bash, GNU readline все-таки использует, о чем сообщается даже ман [B], >>> я удивился. >>> >> >> У bash свой readline, он его с собой тащит. >> >> $ apt-get source bash >> $ cd bash-4.2+dfsg >> $ tar --xz -xf bash-4.2dfsg.tar.xz >> $ ls bash-4.2/lib/readline/ >> >> ansi_stdlib.h histfile.cmisc.c rlprivate.h terminal.c >> bind.c histlib.h nls.c rlshell.h text.c >> callback.c history.c parens.c rlstdc.h tilde.c >> ChangeLog history.h posixdir.h rltty.c tilde.h >> chardefs.h histsearch.c posixjmp.h rltty.h undo.c >> compat.cinput.c posixselect.h rltypedefs.h util.c >> complete.c isearch.c posixstat.hrlwinsize.h vi_keymap.c >> COPYING keymaps.c readline.c savestring.c vi_mode.c >> display.c keymaps.h readline.h search.c xfree.c >> emacs_keymap.c kill.cREADME shell.c xmalloc.c >> examples/ macro.c rlconf.h signals.c xmalloc.h >> funmap.cMakefile.in rldefs.h STANDALONE >> histexpand.cmbutil.c rlmbutil.h tcap.h >> >> >> > > -- > To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: https://lists.debian.org/54cec8c8.6070...@gmail.com > >
Re: А почему ‘bash’ не зависит от ‘libreadline’?
Спасибо. А может быть, вы еще и знаете, зачем так сделано? Обычно же в поставках типа Дебиана, вроде бы не принято библиотеки с собой таскать. Или нет? On 01/02/15 05:38, Evgeny Zubok wrote: Dmitry Alexandrov <321...@gmail.com> writes: Добрых суток уважаемой рассылке. Наткнулся только что на тот факт, что ‘bash’ как пакет не имеет в зависимостях libreadline6 (и 5 тоже) [A]. Будучи убежденным, что GNU Bash, GNU readline все-таки использует, о чем сообщается даже ман [B], я удивился. У bash свой readline, он его с собой тащит. $ apt-get source bash $ cd bash-4.2+dfsg $ tar --xz -xf bash-4.2dfsg.tar.xz $ ls bash-4.2/lib/readline/ ansi_stdlib.h histfile.cmisc.c rlprivate.h terminal.c bind.c histlib.h nls.c rlshell.h text.c callback.c history.c parens.c rlstdc.h tilde.c ChangeLog history.h posixdir.h rltty.c tilde.h chardefs.h histsearch.c posixjmp.h rltty.h undo.c compat.cinput.c posixselect.h rltypedefs.h util.c complete.c isearch.c posixstat.hrlwinsize.h vi_keymap.c COPYING keymaps.c readline.c savestring.c vi_mode.c display.c keymaps.h readline.h search.c xfree.c emacs_keymap.c kill.cREADME shell.c xmalloc.c examples/ macro.c rlconf.h signals.c xmalloc.h funmap.cMakefile.in rldefs.h STANDALONE histexpand.cmbutil.c rlmbutil.h tcap.h -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/54cec8c8.6070...@gmail.com
Re: А почему ‘bash’ не зависит от ‘libreadline’?
Dmitry Alexandrov <321...@gmail.com> writes: > Добрых суток уважаемой рассылке. > > Наткнулся только что на тот факт, что ‘bash’ как пакет не имеет в > зависимостях libreadline6 (и 5 тоже) [A]. Будучи убежденным, что GNU > Bash, GNU readline все-таки использует, о чем сообщается даже ман [B], > я удивился. У bash свой readline, он его с собой тащит. $ apt-get source bash $ cd bash-4.2+dfsg $ tar --xz -xf bash-4.2dfsg.tar.xz $ ls bash-4.2/lib/readline/ ansi_stdlib.h histfile.cmisc.c rlprivate.h terminal.c bind.c histlib.h nls.c rlshell.h text.c callback.c history.c parens.c rlstdc.h tilde.c ChangeLog history.h posixdir.h rltty.c tilde.h chardefs.h histsearch.c posixjmp.h rltty.h undo.c compat.cinput.c posixselect.h rltypedefs.h util.c complete.c isearch.c posixstat.hrlwinsize.h vi_keymap.c COPYING keymaps.c readline.c savestring.c vi_mode.c display.c keymaps.h readline.h search.c xfree.c emacs_keymap.c kill.cREADME shell.c xmalloc.c examples/ macro.c rlconf.h signals.c xmalloc.h funmap.cMakefile.in rldefs.h STANDALONE histexpand.cmbutil.c rlmbutil.h tcap.h -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/87pp9ubbkv@tochka.ru
А почему ‘bash’ не зависит от ‘libreadline’?
Добрых суток уважаемой рассылке. Наткнулся только что на тот факт, что ‘bash’ как пакет не имеет в зависимостях libreadline6 (и 5 тоже) [A]. Будучи убежденным, что GNU Bash, GNU readline все-таки использует, о чем сообщается даже ман [B], я удивился. Взглянув же на вывод зависимостей фактических: $ ldd /bin/bash linux-vdso.so.1 (0x73375000) libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x7f368453a000) libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x7f368431) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7f368410b000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f3683d62000) /lib64/ld-linux-x86-64.so.2 (0x7f3684792000) я удивился еще больше — Баш и фактически не связан с libreadline. Возможно, ncurses слинкован с readline? Но нет¹: $ ldd /lib/x86_64-linux-gnu/libncurses.so.5 linux-vdso.so.1 (0x7fff8dbff000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f5938db2000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7f5938bae000) libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x7f5938983000) /lib64/ld-linux-x86-64.so.2 (0x7f59393b3000) Чего я не понимаю, господа? --- ¹ Обратное, к слову, было бы странно, ибо readline — под GNU GPL, а ncurses — один из немногих пакетов GNU на условиях лицензии X11. --- Приложение A --- $ apt-rdepends bash bash Depends: base-files (>= 2.1.12) Depends: debianutils (>= 2.15) PreDepends: dash (>= 0.5.5.1-2.2) PreDepends: libc6 (>= 2.15) PreDepends: libncurses5 (>= 5.5-5~) PreDepends: libtinfo5 base-files PreDepends: awk awk debianutils Depends: sensible-utils PreDepends: libc6 (>= 2.15) sensible-utils libc6 Depends: libgcc1 libgcc1 Depends: gcc-4.9-base (= 4.9.1-19) Depends: libc6 (>= 2.14) PreDepends: multiarch-support gcc-4.9-base multiarch-support Depends: libc6 (>= 2.3.6-2) dash Depends: debianutils (>= 2.15) Depends: dpkg (>= 1.15.0) PreDepends: libc6 (>= 2.14) dpkg PreDepends: libbz2-1.0 PreDepends: libc6 (>= 2.14) PreDepends: liblzma5 (>= 5.1.1alpha+20120614) PreDepends: libselinux1 (>= 2.3) PreDepends: tar (>= 1.23) PreDepends: zlib1g (>= 1:1.1.4) libbz2-1.0 Depends: libc6 (>= 2.4) PreDepends: multiarch-support liblzma5 Depends: libc6 (>= 2.14) PreDepends: multiarch-support libselinux1 Depends: libc6 (>= 2.14) Depends: libpcre3 (>= 8.10) PreDepends: multiarch-support libpcre3 Depends: libc6 (>= 2.14) PreDepends: multiarch-support tar PreDepends: libacl1 (>= 2.2.51-8) PreDepends: libc6 (>= 2.17) PreDepends: libselinux1 (>= 1.32) libacl1 Depends: libattr1 (>= 1:2.4.46-8) Depends: libc6 (>= 2.14) PreDepends: multiarch-support libattr1 Depends: libc6 (>= 2.4) PreDepends: multiarch-support zlib1g Depends: libc6 (>= 2.14) PreDepends: multiarch-support libncurses5 Depends: libc6 (>= 2.15) Depends: libtinfo5 (= 5.9+20140913-1+b1) PreDepends: libtinfo5 (>= 5.9-3) PreDepends: multiarch-support libtinfo5 Depends: libc6 (>= 2.15) PreDepends: multiarch-support --- Приложение B. Выдержка из bash(1) --- READLINE This is the library that handles reading input when using an interactive shell, unless the --noediting option is given at shell invocation. Line editing is also used when using the -e option to the read builtin. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/54cd7e4b.9060...@gmail.com