понедельник, 29 ноября 2010 г.

Обновление REPO 20101129

Очередное пополение в lisp-репизотрии для Ubuntu и Debian. Какие-то библиотеки обновились, какие-то появились:

  • alexandria;
  • cffi;
  • trivial-features;
  • bordeaux-threads;
  • fiveam;
  • arnesi;
  • trivial-garbage.

Большинство из них собиралось для удовлетворения зависимостей к iolib. Обновление было произведено на последние релизные версии. В связи с этим вопрос - у этих библиотечек что-нибудь требуется ну очень свежее?

среда, 17 ноября 2010 г.

SBCL 1.0.44

Пока я спал, вышла новая версия SBCL. Я даже как-то умудрился пропустить одну. Но это не помешало собрать последнюю. :)

Обновление SBCL 1.0.44 в lisp-репизотрии для Ubuntu и Debian.

четверг, 28 октября 2010 г.

CLISP 2.49

Холодным осенним вечером делать было нечего, поэтому собрал свежую версию CLISP'а и выложил его в lisp-репизотрии для Ubuntu и Debian. В силу некоторых особенностей модуль clisp-module-berkley-db для 32-битной системы собран с зависимостью на libdb4.6, а для 64-битной системы - на libdb4.8. В остальном отличий нет. В отличие от оригинального пакета Debian, собран без зависимости и без использования CLC (Common Lisp Controller), согласно идеологии репозитория, поэтому для кого это критично - нужно будет задуматься. А в целом, свежачок. :)

пятница, 22 октября 2010 г.

Пингующий скрипт

Стандартная задача "маршрутизации" для бедных. Дано: два провайдера и выход в интернет. Один из каналов считается основным, второй резервным. И необходимо переключать маршрут с одного провайдера на другого, перестраивая таблицу маршрутизации. При этом не имеется ни автономной системы, ни, тем более, анонсирования маршрутов со стороны провайдера. Выходом является создание пингующего скрипта, который проверяет доступность внешнего ресурса, и на основании этих данных принимает какое-либо решение. Прямо напрашивается программирование. Ну я то знаю, что нет ничего удобнее для программирования, чем lisp. Итог - дебиан-пакет reserve-channel, который находится в lisp-репизотрии для Ubuntu и Debian. Сами исходные тексты можно посмотреть тут. Задача обобщена для n каналов, где n больше 1, поэтому есть возможность развёртывания системы для каналов больше двух. Ну и, напоследок, пример конфигурационного файла:

(:config
(:channel
(:interface "eth2")
(:gateway "192.168.2.1")
(:routed t)
(:purpose :main))
(:channel
(:interface "eth1")
(:gateway "192.168.0.200")
(:routed t)
(:purpose :reserve))
(:test-host (:hostname "google.ru"))
(:test-host (:hostname "ya.ru")))

среда, 15 сентября 2010 г.

lisp-getent - получение пользователей и групп в системе

Может, кому ещё понадобится. Данная библиотечка позволяет получить список пользователей и групп в системе, список пользователей группы, а также вести поиск по имени или идентификатору в каталогах пользователя или группы. Работает через external-program, что не все, наверное, поймут, но работает. Имеет ограничение на работу в unix-системах, в которых существует команда getent. Традиционно лежит в lisp-репизотрии для Ubuntu и Debian.

вторник, 7 сентября 2010 г.

Обновление REPO 20100907

Обновления в lisp-репизотрии для Ubuntu и Debian. Оказалось, что у пакета ironclad прописана зависимость на CommonLispController, а у пакета slime используются сценарии post-inst и pre-rm с его участием. Непорядок. Что и было, собственно, исправлено. Заодно обновлён slime на снапшот от 20100907.

воскресенье, 5 сентября 2010 г.