В.д. Создание deb-пакета.

После окончания разработки хорошим тоном будет создать сайт программы и создать инсталлятор. Здесь мы рассмотрим создания deb-пакета программы eGolos для ОС Ubuntu (10.04 и 11.04).

Создадим

  1. Создал директорию eGolos-paket: mkdir eGolos-paket
  2. Теперь создадим в получившимся каталоге папку egolos-0.2 (в названии использован минус, так это требуется для успешной сборки проекта) и скопировал в нее исходные файлы: mkdir eGolos-paket/egolos-0.2 && cp golos/eGolos/* eGolos-paket/egolos-0.2
  3. Затем,»ручками» привел фаил eGolos.pro к виду:
    # -------------------------------------------------#
    Project created by QtCreator 2010-06-15T19:22:58
    # -------------------------------------------------
    TARGET = eGolos
    TEMPLATE = app
    VERSION = 0.2
    DEFINES += APP_VERSION="$$VERSION"
    SOURCES += main.cpp \
    golos.cpp
    HEADERS += golos.h
    FORMS += golos.ui
    OTHER_FILES += \
    G.png
    DESTDIR = build/target/
    OBJECTS_DIR = build/obj/
    MOC_DIR = build/moc/
    RCC_DIR = build/rcc/
    unix {
    PREFIX = /usr
    BINDIR = $$PREFIX/bin
    target.path = $$BINDIR
    #INSTALLS += target
    DATADIR = $$PREFIX/share
    PKGDATADIR = $$DATADIR/GolosLinux
    DEFINES += DATADIR=\\\"$$DATADIR\\\" \
    PKGDATADIR=\\\"$$PKGDATADIR\\\"
    icon.path = $$DATADIR/icons/apps
    icon.files += G.png
    INSTALLS += target \
    icon
    }
  4. Далее из каталога с исходным кодом удалил зачеркнутые файлы:
    egolos.h
    eGolos.pro
    golos.pro.user
    golos.pro.user.1.3
    golos.ui
    G.png
    main.cpp
    Makefile
    moc_golos.cpp
    ui_golos_.h
  5. Создаём в папке eGolos-paket архив каталога с исходным текстом, подготовленный в предыдущем пункте, с именем egolos_0.2.orig.tar.gz (в названии нижнее подчеркивание – это важно):cd eGolos-paket && tar czf ~/eGolos-paket/egolos_0.2.orig.tar.gz egolos-0.2
  6. sudo apt-get install dh-make
  7. Перейдя в директорию  egolos-0.2 требуется выполнить:
    dh_make -e goloslinux@gmail.com
    cd debian
    rm *.ex *.EX

    результатом стала папка debian с файлами:

    changelog
    control
    docs
    README.source
    compat
    copyright
    README.Debian
    rules
  8. Приведем фаил control к виду:
    Source: egolos
    Section: devel
    Priority: optional
    Maintainer: peter
    Build-Depends: debhelper (>= 7)
    Standards-Version: 3.8.3
    Homepage: http://golos.sourceforge.net/
    
    Package: еgolos
    Architecture: any
    Depends: ${shlibs:Depends}, ${misc:Depends}
    Description: Easy Qt GUI for TTS Festival
  9. Затем можно завести ключ для подписывания пакета, но можно и пропустить этот этап: Приложения-> Стандартные-> Пароли и ключи шифрования. В открывшемся окне в меню ключ->новый ключ выбираем ключ pgp. Заполняем поля полное имя и электронный адрес. После чего, чтобы понять какой получился ключ, выполнил
    $ gpg --list-keys
    /home/peter/.gnupg/pubring.gpg
    ------------------------------
    pub   2048R/B09B26DF 2010-09-20
    uid                  GrandPeter (key for Golos)
    sub   2048R/7555F127 2010-09-20
  10. Далее из каталога с папкой debian выполним команду, если был получен ключ :
    dpkg-buildpackage -kB09B26DF -rfakeroot

    и, если нет :

    dpkg-buildpackage -rfakeroot
  11. Финиш

Добавить комментарий