[devel] lua 5.1 and stuff

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Июн 11 16:52:32 MSD 2006


On Thu, Jun 01, 2006 at 03:57:56AM +0400, Dmitry V. Levin wrote:
> On Wed, May 17, 2006 at 03:56:11AM +0400, Alexey Tourbin wrote:
> [...]
> > В новой версии Lua изменились как ABI, так и API.
> > Однако совместимость на уровне скриптов осталась хорошая.

Совместимость на уровне скриптов также нарушена.  Синтаксис
for k,v in table

нужно заменить на 
for k,v in pairs(table)

или на 
for k,v in ipairs(table)

Впрочем, этот синтаксис был deprecated in lua-5.0.  Это связано с тем,
что "таблица" в lua по смыслу может быть как массивом (с целыми
индексами), так и хешем (со строковыми/произвольными индексами).
Вообще это мне кажется недоработкой (или даже blunder) собственно языка,
но что тут сделаешь? -- things that done cannot be undone.

Почему blunder? -- советую поковыряться в strataugs и найти там пару
нетривиальных ошибок в скриптах.

> > Я по-хитрому собрал lua-5.1.  А именно, есть пакеты
> > liblua5.1
> > liblua5-devel
> > liblua5-devel-static
> > lua5
> > 
> > То есть пакет с библиотекой был назван таким образом, чтобы не
> > конфликтовать с предыдущим библиотечным пакетом.  То есть в системе
> > могут быть два библиотечных пакета (старый liblua5 и новый liblua5.1)
> > хотя собрать старый пакет в репозитории из исходников уже будет нельзя.
> > Эта полумера направлена на то, чтобы апту не снесло крышу при
> > обновлении.
> 
> Это смахивает на жульничество.  По новым правилам, которые я намереваюсь

Просто от пакетов liblua5/liblua5.1 зависят, с одной стороны, libapt, а,
с другой стороны, kdelibs.  По моему убеждению, apt должен обновляться
независимо от kdelibs.  Поэтому был выбран компромиссный вариант, при
котором обновление apt возможно без обновления kdelibs.  В этом варианте
новый apt будет зависеть от liblua5.1, а старый kdelibs -- от liblua5.
После полного dist-upgrade'а liblua5 предлагается снести из хост-системы.

То есть я и не намеревался оставлять liblua5 в репозатарии.  Но этот
пакет останется в хост-системе, потому что это может быть необходимо для
промежуточного обновления.

Такое решение не кажется мне чрезмерно жуликоватым.

Как снести ненужные библиотеки, которые остаются в хост-системе, я
сейчас напишу об этом в sisyphus.

> руками incominger'а воплотить в жизнь, новый lua5 полностью заместит
> старый, в результате чего пакета liblua5-5.0.2-alt5.1 в репозитории не
> останется, и появится куч(к)а unmet'ов.

Давно пора.  Делается это просто.  Сначала надо составить список всех
src.rpm пакетов, имеющихся в репозатирии.  Пакеты с исходниками первичны!
Потом нужно составить таблицу всех собранных пакетов и соответствующих
им src.rpm пакетов.

$ rpm -q --qf '%{NAME}\t%{SOURCERPM}\n' lua5
lua5    lua5-5.1-alt1.src.rpm
$

Собранные пакеты, которые не удается сопоставить с src.rpm пакетами,
подлежат немедленному удалению из репозитария.  Делается это с помощью
join -v.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060611/35126922/attachment-0001.bin>


Подробная информация о списке рассылки Devel