Как я minitube из исходников обновлял

В статье Как смотреть youtube без браузера я писал о программе minitube и о том как установить ее из репозитория. Но в хранилище пакетов для Ubuntu сейчас актуальная версия 0.9. Хотя на сайте уже присутствует информация о версии 1.0. Ниже описание как я обновил minitube до версии 1.0 скомпилировав его из исходников. Уточняю, что версия minitube 0.9 уже установлена.

Скачал исходные файлы программы minitube версии 1.0. Исходные файлы как правило упакованы и сжаты и имеют расширение tar.gz. Зашел в папку куда был закачан архив minitube-1.0.tar.gz и распаковал его:

1
2
3
4
5
6
7
8
9
$ tar -xzvf minitube-1.0.tar.gz
minitube/
minitube/src/
minitube/src/youtubestreamreader.h
...
...
minitube/CHANGES
minitube/AUTHORS
minitube/.gitignore

Перешел в каталог minitube который создается в том же каталоге где лежал архив. Смотрю какие в нем есть файлы и каталоги:

1
2
3
4
5
6
$ cd ./minitube
$ ls
AUTHORS  data        LICENSE.LGPL      minitube.icns  resources.qrc
build    images      locale            minitube.ico   src
CHANGES  Info.plist  Makefile          minitube.pro   TODO
COPYING  INSTALL     minitube.desktop  minitube.rc

Интересует файл INSTALL. Открываю его, командой less:

1
$ less INSTALL

и внимательно читаю содержимое, где написано, что для компиляции Minitube нам понадобится установленный пакет QT версии не ниже 4.5. Далее вижу подсказку, что для операционных систем Debian, Ubuntu достаточно выполнить команду sudo apt-get install build-essential qt4-dev-tools libphonon-dev. Выполняю:

1
sudo apt-get install build-essential qt4-dev-tools libphonon-dev

Пакеты по объему большие - было скачано примерно 107 Мб, что заняло около 15-20 минут вместе с установкой. После завершения инсталляции пакетов, читаю дальше файл INSTALL, в котором написано, что далее необходимо выполнить команды qmake, а затем make. После завершения компиляции проверяю каталог ./build/target/ в котором должны находится скомпилированные файлы:

1
2
3
4
$ ls -l ./build/target/
итого 500
drwxr-xr-x 2 igor igor   4096 2010-05-19 12:40 locale
-rwxr-xr-x 1 igor igor 504538 2010-05-19 12:43 minitube

Пробую запустить скомпилированный minitube:

1
./build/target/minitube

Запускается и работает! :) Теперь осталось заменить файлы установленной версии 0.9 на скомпилированную версию 1.0. Смотрю где расположены файлы minitube:

1
2
3
$ whereis minitube
minitube: /usr/bin/minitube /usr/share/minitube
          /usr/share/man/man1/minitube.1.gz

Как и ожидалось исполняемый файл находится в каталоге /usr/bin/, а в каталоге /usr/share/minitube находится каталог locale:

1
2
3
$ ls -l /usr/share/minitube/
итого 1
drwxr-xr-x 2 root root 672 2010-06-03 13:25 locale

Заменяю исходные файлы (предварительно их сохранив, на всякий случай):

1
2
$ sudo cp ./build/target/locale/* /usr/share/minitube/locale/
$ sudo cp ./build/target/minitube /usr/bin/

Пробую запустить minitube из меню Gnome: Приложения - Аудио и видео. Запускается и работает. Версия 1.0.

Статьи и новости схожей тематики:

Комментариев: 5

  1. sergkarpenko:

    удобно пользоваться checkinstall, потом легко удалить пакет в случае чего

    Ответить

    Igorka Reply:

    С checkinstall я “игрался” как раз на этой неделе :) http://igorka.com.ua/2010-06-03/primer-razresheniya-zavisimostej-paketov-v-ubuntu/ О ней может позже кратко упомяну, а может и здесь допишу. Просто была мысль дописать как создать deb-пакет, но решил пока не писать.

    Ответить

  2. Igorka:

    Можно и checkinstall использовать. Команда позволяет сделать deb-пакет (и не только), который можно затем установить через apt-get install. В Ubuntu 9.10 пакет chekinstall по умолчанию не установлен. Поэтому нужно предварительно установить: sudo apt-get install checkinstall
    Если будете пользоваться, то помните, что программа по умолчанию не просто создает пакеты, а и сразу устанавливает их. Чтобы создать пакет, но не устанавливать его можно файле /etc/checkinstallrc изменить самую последнюю строчку на INSTALL=0:

    1
    2
    # Install the package or just create it?
    INSTALL=0

    Ответить

  3. sergkarpenko:

    по моему chekinstall по умолчанию нигде не установлен :)

    Ответить

  4. sergkarpenko:

    да и насколько я знаю, собранный при помощи chekinstall, не рекомендуется к распространению, а предназначен для локальной установки, “правильную” подготовку и сборку пакета можно смотреть, к примеру, тут - http://www.debian.org/doc/manuals/maint-guide/index.ru.html

    Ответить

Оставьте свой отзыв