[sisyphus] Emacs и его пакеты
Alex Ott
=?iso-8859-1?q?ottalex_=CE=C1_narod=2Eru?=
Вт Ноя 25 15:55:00 MSK 2003
Привет всем - вот что у меня родилось в процессе размышлений:
Целью данного документа является решение проблем, которые существуют
при текущей схеме организации пакетов для Emacs, а также для
уменьшения зависимости других пакетов от emacs. Названия пакетов могут
изменяться, это предварительный документ.
1. В настоящее время существует следующая схема:
1.1. имеется пакет emacs-common, который содержит в себе документацию,
скомпилированные файлы на emacs-lisp, а также различные утилиты
из поставки gnu emacs. этот пакет вытаскивает за собой emacs-nox
или emacs-X11.
1.2. имеется два пакета - emacs-nox & emacs-X11, которые предоставляют
разные версии самого gnu emacs. требуют emacsen-startscripts и emacs-common
1.3. пакет emacsen-startscripts зависит предоставляет сервис по
загрузке файлов из /etc/emacs/site-start.d/, что позволяет иметь
общие настройки для разных пользователей емакс, ну и кроме того,
позволяет конкретному пользователю управлять загрузкой пакетов
индивидуально. требует emacsen (???)
1.4. Специальные пакеты для Emacs - обычно они требуют наличия
emacsen-startscripts и emacs-common
1.5. Пакеты не относящиеся к Emacs, но в поставке которых идут режимы,
специфические для данного пакета. Для правильной загрузки этих
режимов необходимо наличие emacsen-startscripts, что влечет за
собой вытягивание emacs-common && (emacs-X11 || emacs-nox), что
не есть хорошо для многих наших пользователей.
2. Что предлагается:
2.1. Сделать emacsen-startscripts базовым пакетом (может переименовать
его в emacs-base), который будет предоставлять хранилище для
стартовых скриптов и отдельных режимов emacs (поставляемых
пакетами описаными в пункте 1.5).
2.2. сохранить emacs-common, сделав его зависимым от
emacsen-startscripts (emacs-base).
2.3. emacs-nox & emacs-X11 также сохраняются
2.4. Специальные пакеты для Emacs будут зависеть только от
emacs-common.
3. Планы по будущему развитию:
3.1. Распилить gnu emacs на более мелкие кусочки, для уменьшения
размера дистрибутива.
3.2. Убрать явные зависимости emacs-common от speedbar, gnus, cc-mode
и т.п. - реализовать что-то подобное подходу в xemacs, когда
поставляется небольшое ядро системы. Основной аргумент за такой
подход - устаревание частей дистрибутива gnu emacs - например
выход новой версии gnus, cc-mode, speedbar, которые имеют больше
возможностей. Это позволит независимо обновлять разные части
пакетов, а также запаковывать в дистрибутивы только нужные пакеты
- например, дистрибутив ориентированный на программистов,
обработку текста и т.п.
3.3. Сохранить оригинальные части пакетов из поставки gnu emacs, для
тех, кто хочет пользоваться только стандартными компонентами
(хотя я таких людей не знаю).
3.4. Организация нормальных пакетов для GNU Emacs - но это тема для emacs-devel
Подробная информация о списке рассылки Sisyphus