Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:common_activities:slind:deb_producer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
etc:common_activities:slind:deb_producer [2007/11/27 00:19] kvmetc:common_activities:slind:deb_producer [2008/03/23 23:16] (current) zan
Line 1: Line 1:
-===== Плагин работы с .deb пакетами =====+===== Плагин генерации .deb пакетов =====
  
-Требования приведены в таблице.+<note>  
 +для тестирования плагина в cvs(projects/slind/eclipse/tst/) лежат исходные коды less. Чтобы вручную собрать deb-пакет достаточно((при условии, что установленны все необходимые для сборки пакеты)) выполнить debuild.  
 +</note> 
 + 
 + 
 +Требования к плагину приведены в таблице.
 ^Id    ^Описание ^P((приоритет: 1-maх,3-min)) ^Комментарий ^ ^Id    ^Описание ^P((приоритет: 1-maх,3-min)) ^Комментарий ^
 | REQ1   | Должен быть расширением стандартного проекта CDT                                          | 1 | | | REQ1   | Должен быть расширением стандартного проекта CDT                                          | 1 | |
 | REQ2   | Структура дерева файлов пакета должна определяться целью install в makefile               | 1 | | | REQ2   | Структура дерева файлов пакета должна определяться целью install в makefile               | 1 | |
 | REQ3   | Должен поддерживаться standard проект                                                     | 1 | | | REQ3   | Должен поддерживаться standard проект                                                     | 1 | |
-| REQ4   | Должен поддерживаться managed проект                                                      | 2 | | +| REQ4   <del>Должен поддерживаться managed проект</del>                                           | 2 | | 
-| REQ5   | Пользователь указывает местоположение файлов на целевой платформе вручную                 | 1 | |+| REQ5   <del>Пользователь указывает местоположение файлов на целевой платформе вручную</del>      | 1 | |
 | REQ6   | Файлы, входящие в пакет берутся из CDT- проекта или из его целей                          | 1 | | | REQ6   | Файлы, входящие в пакет берутся из CDT- проекта или из его целей                          | 1 | |
-| REQ7   | Должен быть предоставлен интерфейс описания пакетов (файл control)                        | | |+| REQ7   | Должен быть предоставлен интерфейс описания пакетов (файл control)                        | | |
 | REQ8   | Должна быть возможность редактирования скриптов установки / удаления  пакета              | 3 | | | REQ8   | Должна быть возможность редактирования скриптов установки / удаления  пакета              | 3 | |
 | REQ9   | Пользователь должен уметь изменять changelog                                              | 2 | | | REQ9   | Пользователь должен уметь изменять changelog                                              | 2 | |
 | REQ10  | Должна быть возможность генерации бинарного пакета для целевой платформы                  | 1 | | | REQ10  | Должна быть возможность генерации бинарного пакета для целевой платформы                  | 1 | |
 | REQ11  | Проект должен экспортироваться в deb-пакет выбором меню File/Export выбор debian package  | 1 | | | REQ11  | Проект должен экспортироваться в deb-пакет выбором меню File/Export выбор debian package  | 1 | |
 +| REQ12  | Должен быть предоставлен помощник создания каталога debian, генерирующий  файлы control, changelog, rules (для source-пакетов)| 1 |не использовать dh_make |
 +
 +
 +==== План работ ====
 +|Освоиться со сборкой source и binary пакетов|21.01|
 +|Экспорт (доработка)|23.01|
 +|Редактор control-файла|28.01|
 +|Помощник changelog|28.01|
 +|Генерация rules|6.02|
 +
  
 ==== Определения ==== ==== Определения ====
  
-  * **Standard makefile project** -- проект CDT в котором makefile пишется вручную, никогда не изменяется извне струдствами разработки.+  * **Standard makefile project** -- проект CDT в котором makefile пишется вручную, никогда не изменяется извне средствами разработки.
   * **Managed makefile project** -- проект CDT в котором makefile каждый раз генерируется заново при изменении проекта.   * **Managed makefile project** -- проект CDT в котором makefile каждый раз генерируется заново при изменении проекта.
 +  * **DebianNature** -- свойство проекта CDT, которое означает что проект содержит каталог debian и для него может быть сгенерирован deb-пакет.
 +
  
 ==== Реализация ==== ==== Реализация ====
Line 24: Line 41:
   * Разработка пакета (плагина) org.slind.ei.debproducer   * Разработка пакета (плагина) org.slind.ei.debproducer
   * Для standard-проектов пользователь вручную заполняет местоположение файлов внутри цели install   * Для standard-проектов пользователь вручную заполняет местоположение файлов внутри цели install
-  * Для managed-проектов пользватель может отредактировать переменные указывающие пути для установи файлов в целевой системе(bin,doc,lib,...) +  * <del>Для managed-проектов пользватель может отредактировать переменные указывающие пути для установи файлов в целевой системе(bin,doc,lib,...)</del>   
-  * Если в проекте нет каталога debian, (в котором в том числе лежит changelog), то он генерируется  dh_make и все файлы добавляются в проект  +  * Если в проекте нет каталога debian, (в котором в том числе лежит changelog), то он генерируется помощником, и все файлы добавляются в проект 
-  * Любой из шагов экспорта проекта в deb-пакет может завершиться ошибкой+
   * Сборка пакета происходит из специально подготовленного каталога при помощи dpkg   * Сборка пакета происходит из специально подготовленного каталога при помощи dpkg
   * Подготовка каталога, где будет запущен dpkg, происходит при помощи make install и копирования директории debian экспортируемого проекта   * Подготовка каталога, где будет запущен dpkg, происходит при помощи make install и копирования директории debian экспортируемого проекта
Line 34: Line 50:
 ==== Интерфейс пользователя ==== ==== Интерфейс пользователя ====
  
-  * Генерация каталога DEBIAN (File->New->DEBIAN) ((заполнение файла control)) +  * Генерация каталога DEBIAN (File->New->DEBIAN) ((заполнение файла control, rules для source-пакетов, генерация файла changelog)) 
-  * Редактор файла control +  * Редактор файла controlпо аналогии с редактором для plugin.xml. Должен предоставлять возможность заполнения стандартных полей control-файла и добавление специальных полей для пакетов slind 
-  * Экспорт пакета (File->Export->.deb package) ((здесь же -- редактирование changelog )+  * Дейсвия редактировани файла changelog: new item, new version, новая подверсия (non-maintainer
- +  * Экспорт пакета (File->Export->.deb package)
- +
  
  
Line 48: Line 62:
 [[.:deb_producer:gui | Мастер]] имеет следующие экраны: [[.:deb_producer:gui | Мастер]] имеет следующие экраны:
 ^наименование ^обязательный ^назначение ^  ^наименование ^обязательный ^назначение ^ 
-control                  | да  | описание зависимостей, архитектура, разработчикописание пакета, версия для пакетов проекта|+Package type                  | да  | выбор типа пакетауказание пути к директории debian от корня проекта| 
 +|Source description|source|Описание общей части| 
 +|Packages descrition|source|Описание бинарных пакетов
 +|Package description|binary|Описание бинарного пакета|
    
   * В полях мастера пользователь заполняет поля для файла control    * В полях мастера пользователь заполняет поля для файла control 
-  * Генерируются файлы директории DEBIAN+  * Генерируется директория debian, содержащая файлы control, changelog и rules((для source-пакетов))
   * Пользователь имеет возможность редактировать полученные файлы и добавлять необязательные файлы в созданный каталог   * Пользователь имеет возможность редактировать полученные файлы и добавлять необязательные файлы в созданный каталог
 === Экспорт .deb-пакета === === Экспорт .deb-пакета ===
Line 58: Line 75:
 Мастер имеет следующие экраны: Мастер имеет следующие экраны:
 ^наименование ^обязательный ^назначение ^  ^наименование ^обязательный ^назначение ^ 
-changelog                | да  | описание изменени (текстовый редактор текущего изменения), путь для сохранения|+export                | да  | путь для сохранения .deb|
  
-  * В мастере экспорта указывает целевую директорию, архитектуру, описание изменений 
   * словно по волшебству, в указанной директории появляется deb-пакет...   * словно по волшебству, в указанной директории появляется deb-пакет...
- 
  
 ==== Подробности ==== ==== Подробности ====
  
-  * [[.:deb_producer:automation   | Обзор deb-helper ]]+  * [[.:deb_producer:files_description   | Описание структуры файлов каталога DEBIAN]]
   * [[.:deb_producer:gui          | Интерфейс пользователя]]   * [[.:deb_producer:gui          | Интерфейс пользователя]]
- 
- 
-==== Общие вопросы ==== 
-  - Почему для SLIND выбран именно debian?  
  
 ==== Ссылки ==== ==== Ссылки ====
Line 77: Line 88:
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
- 
etc/common_activities/slind/deb_producer.1196111975.txt.gz · Last modified: 2008/01/03 02:32 (external edit)