[devel] 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



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