Differences between revisions 1 and 20 (spanning 19 versions)
Revision 1 as of 2009-09-24 10:38:19
Size: 1906
Editor: eSyr
Comment:
Revision 20 as of 2009-11-18 14:30:27
Size: 4142
Editor: FrBrGeorge
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
  * Спецкурс проходит по средам в 18:00 в аудитории П-12. Первое занятие — 30 сентября   * Спецкурс проходит по средам в 18:00 в аудитории П-12. Первая лекция — 30 сентября
Line 8: Line 8:
   <<Include(/CoursePlan, "План курса", 2, from="==$")>>
Line 9: Line 11:
== План курса ==
 * Теоретическая часть вопроса: процесс подготовки дистрибутива, жизненный цикла хранилища пакетов, что такое пакет, что такое packging policy, что нужно для сборки пакета и внесения его в хранилище
 * Обзор имеющихся технологий сборки пакетов, применяющихся в различных хранилищах: Сизиф, хранилища дистрибутивов Debian, Fedora, возможно, Arch, Gentoo, SuSE.
 * Руководство по сборке пакетов в Сизиф
== Конспекты и планы лекций ==
 1.#0 [[/Conspects/00|Организационное собрание, посвящённое выборе темы лекций]] ([[http://esyr.org/lections/audio/uneex_2009_winter/uneex_09_09_23.ogg|аудиозапись]])
 1. [[/01|Дистрибутив ОС на основе свободного ПО: принципы формирования]] ([[/Conspects/01|конспект]]) ([[http://esyr.org/lections/audio/uneex_2009_winter/uneex_09_09_30.ogg|аудиозапись]])
 1. [[/02|Пакет как составная часть дистрибутива: требования и особенности; понятие сборки пакета]] ([[/Conspects/02|конспект]]) ([[http://esyr.org/lections/audio/uneex_2009_winter/uneex_09_10_07_beginning.ogg|аудиозапись 0]], [[http://esyr.org/lections/audio/uneex_2009_winter/uneex_09_10_07.ogg|аудиозапись 1]])
 1. [[/03|Сборка пакета из исходных текстов; upstream, spec]] ([[/Conspects/03|конспект]]) ([[http://esyr.org/lections/audio/uneex_2009_winter/uneex_09_10_14.ogg|аудиозапись]])
 1. [[/04|Сопровождающий (maintainer) пакета]] ([[/Conspects/04|конспект]]) ([[http://esyr.org/lections/audio/uneex_2009_winter/uneex_09_10_21.ogg|аудиозапись]])
 1. [[/05|Изолированная среда сборки (введение)]] ([[/Conspects/05|конспект]])
 1. Лекция Александра Герасёва о пакетах в GNU Debian
----
 1. {*}
   1. Работа с upstream
     1. Tarballs
     1. VCS, ревизии и теги
   1. Составление спецификаций
     1. Что должно быть в spec-файле, правила оформления
     1. Борьба с версиями
     1. Борьба с путями
     1. Борьба со сборочными зависимостями
     1. Макросы
 1. {*}
   1. Исправление upstream (заплатки)
   1. Тестирование
 1. {*}
   1. Помещение в хранилище
   1. Обратная связь с upstream и сообщения об ошибках
 1. Эффективные инструменты сопровождения пакетов:
   1. Адаптация к системам разработки в upstream (autotools, *make и т. п.)
   1. Адаптация к различным ЯП
   1. Поиск зависимостей и сборочных зависимостей
   1. Умолчания (триггеры, обязательные действия, пути)
   1. Хранение исходных текстов и заплаток
   1. Совместная модификация пакета
   1. Автоматическая сборка
   1. git.alt + gear как решение некоторых трудностей сопровождения
 1. Полный цикл сборки пакета из upstream
Line 14: Line 47:
== Конспекты лекций ==
 1.#0 [[/Conspects/01|Организационное собрание, посвящённое выборе темы лекций]]

##== Предложения по темам к рассмотрению на лекциях ==
##== Материалы ==
##== Ссылки ==
== Материалы ==
 * [[attachment:uneex_autumn_2009_ad2_v2.pdf|Объявление о спецкурсе]]

Информация о курсе

  • Лектор: Георгий Владимирович Курячий

  • В течение курса возможно проведение практических занятий по сборке пакетов
  • В конце курса будет экзамен
  • Спецкурс проходит по средам в 18:00 в аудитории П-12. Первая лекция — 30 сентября
  • Лицам, не имеющим пропуск на факультет ВМК МГУ, рекомендуется на первую лекцию принести одну матовую фотографию 3×4 и паспортные данные для оформления пропуска.

План курса

«

Возьми консервную банку, в нужных местах пробей дырочки, продень проволоку, загни концы... Теперь приделай к этому ручку, и аппарат готов!»

© Даниил Хармс

  • Место пакета в дистрибутиве
    • Дистрибутив ОС на основе свободного ПО: принципы формирования.
    • Хранилище пакетов: назначение и жизненный цикл; изготовление дистрибутивов из хранилища
    • Пакет как составная часть дистрибутива: требования и особенности; понятие сборки пакета.
    • Сборка пакета из исходных текстов; upstream, spec
  • Сопровождение пакета в составе хранилища
    • социальная составляющая, роль сообщества и личности сопровождающего
    • помещение стороннего ПО в хранилище: от upsrteam до binary package
    • packaging policy: цели и задачи
    • почему хранилище — не дистрибутив: хранилище как инструмент разработки и сизифов труд

  • Технологии, облегчающие сопровождение пакета (сопровождающему и сообществу)
    • Частью даются ознакомительно, так как в будущем семестре планируется прочесть курс на схожую тему
    • инструменты разработчика и их использование в процессе сопровождения
    • изолированная сборка; автоматизация изолированной сборки
    • входное тестирование пакета и контроль собираемости хранилища
  • Сборка пакета в хранилище свободного ПО Sisyphus, пошагово

Конспекты и планы лекций

  1. Организационное собрание, посвящённое выборе темы лекций (аудиозапись)

  2. Дистрибутив ОС на основе свободного ПО: принципы формирования (конспект) (аудиозапись)

  3. Пакет как составная часть дистрибутива: требования и особенности; понятие сборки пакета (конспект) (аудиозапись 0, аудиозапись 1)

  4. Сборка пакета из исходных текстов; upstream, spec (конспект) (аудиозапись)

  5. Сопровождающий (maintainer) пакета (конспект) (аудиозапись)

  6. Изолированная среда сборки (введение) (конспект)

  7. Лекция Александра Герасёва о пакетах в GNU Debian


  1. {*}

    1. Работа с upstream
      1. Tarballs
      2. VCS, ревизии и теги
    2. Составление спецификаций
      1. Что должно быть в spec-файле, правила оформления
      2. Борьба с версиями
      3. Борьба с путями
      4. Борьба со сборочными зависимостями
      5. Макросы
  2. {*}

    1. Исправление upstream (заплатки)
    2. Тестирование
  3. {*}

    1. Помещение в хранилище
    2. Обратная связь с upstream и сообщения об ошибках
  4. Эффективные инструменты сопровождения пакетов:
    1. Адаптация к системам разработки в upstream (autotools, *make и т. п.)
    2. Адаптация к различным ЯП
    3. Поиск зависимостей и сборочных зависимостей
    4. Умолчания (триггеры, обязательные действия, пути)
    5. Хранение исходных текстов и заплаток
    6. Совместная модификация пакета
    7. Автоматическая сборка
    8. git.alt + gear как решение некоторых трудностей сопровождения
  5. Полный цикл сборки пакета из upstream

Материалы


CategoryUneex CategoryLectures CategorySpecCourse CategoryCmc

LecturesCMC/PackageMaintaining2009 (last edited 2010-02-01 22:34:54 by eSyr)