Я хотел бы создать легко устанавливаемый пакет debian (файл .deb) для MediaWiki 1.25.1, поскольку я знаю из личного опыта, что для новичков в веб-программировании, таких как я, установка MediaWiki может показаться невыполнимой задачей.
Я прочитал несколько руководств о том, как создавать пакеты Debian, например, , этот для пользователей Ubuntu и , этот в Вики Debian , но поправьте меня, если я неправильно, но они, кажется, упоминают только пакеты, которые устанавливаются с помощью утилиты make
, в то время как MediaWiki, будучи Wiki-приложением, устанавливается (если вы можете даже назвать это установкой), создавая сервер Apache & MySQL база данных для вики и запуск скриптов установки. Но я знаю, что такой пакет debian можно создать, поскольку в репозиториях PPA (1.19) существует действительно старая версия MediaWiki, и это пакет debian.
Я знаю основную процедуру того, что должен делать любой такой пакет, а именно (вы должны заметить, что я получаю большую часть этого из своей собственной памяти плюс эта статья на mediwiki.org ]):
apache2
, mysql-server
, php5
, php5-mysql
и libapache2-mod-php5
. Возможно через sudo apt-get install apache2 mysql-server php5 php5-mysql libapache2-mod-php5
. imagemagick
, inkscape
, php5-cli
и phpmyadmin
, также через sudo apt-get install...
Было бы замечательно, если бы GUI мог появиться во время установки и подсказать пользователям, какой из этих дополнительных пакетов должен быть установлен. Такой интерфейс может также пройти через процесс установки пароля MySQL) /var/lib/mediawiki
/var/lib/mediawiki
и /var/www/html/mediawiki
(запустив sudo ln -s /var/lib/mediawiki /var/www/html/mediawiki
) mysql_secure_installation
Я просто не знаю, как создать пакет Debian, который бы делал это. В общем, мне нужна чья-то помощь, чтобы я мог сделать это, чтобы установка MediaWiki в Ubuntu могла быть немного упрощена для будущих пользователей.
Я создал каталог, /home/fusion809/Debian packaging/bzr
, поэтому я могу попробовать следовать этому руководству в архиве mediawiki-1.25.1.tar.gz
. Я перешел к здесь в руководстве, и созданный мной пакет debian (выполнив команду bzr builddeb...
в моем каталоге /home/fusion809/Debian packaging/bzr/mediawiki/debian
) имел размер всего 2,4 КБ (где tar-архив равен 23,7 МБ), и выдает сообщение об ошибке:
install-info: warning: no info dir entry in `/usr/share/info/lilypond/pictures/ross-beam-scan.jpg'
install-info: warning: no info dir entry in `/usr/share/info/lilypond/pictures/carter-brey.jpg'
install-info: warning: no info dir entry in `/usr/share/info/lilypond/pictures/darius-blasband.jpg'
install-info: warning: no info dir entry in `/usr/share/info/lilypond/pictures/orm-finnendahl.jpg'
install-info: warning: no info dir entry in `/usr/share/info/mime.info.gz'
при попытке установить его. Если вам интересно, как выглядит мой файл control
, вот он:
Source: mediawiki
Section: unknown
Priority: optional
Maintainer: Brenton Horne <brentonhorne77@gmail.com>
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.5
Homepage: <insert the upstream URL, if relevant>
#Vcs-Git: git://anonscm.debian.org/collab-maint/mediawiki.git
#Vcs-Browser: http://anonscm.debian.org/?p=collab-maint/mediawiki.git;a=summary
Package: mediawiki
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: MediaWiki, a free wiki application.
MediaWiki is a free and open-source wiki application written in PHP that is maintained by the Wikimedia Foundation. It depends on
Apache, MySQL and PHP.
мой файл rules
выглядит так:
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#DH_VERBOSE = 1
# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
# main packaging script based on dh7 syntax
%:
dh $@
# debmake generated override targets
# This is example for Cmake (See http://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- \
# -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)
Пакеты в Debian/Ubuntu не должны быть созданы с помощью make
. Технически, в debian/rules
, существуют только определенные цели, которые должны быть достигнуты. Следующее что я (и группа Debian Flightgear) использование для копирования файлов с независимого от дуги tarball (никакая включенная компиляция, просто копирующие файлы) в пакет.
%:
dh $@
override_dh_auto_install:
dh_installdirs -pflightgear-data-aircrafts-ec130 usr/share/games/flightgear/Aircraft/ec130
find -maxdepth 1 ! -name 'debian' -exec cp -r "{}" \
debian/flightgear-data-aircrafts-ec130/usr/share/games/flightgear/Aircraft/ec130 \;
# Fix some insane permissions
find $(CURDIR)/debian/flightgear-data-*/usr/share/games/flightgear \
-type f -exec chmod 644 {} \;
# Drop some silly Windows PE32 executable files
find $(CURDIR)/debian -type f -iname "*.mdl" -delete
# Drop empty directories
find $(CURDIR)/debian -type d -empty -delete
В основном, override_dh_auto_install
просто файлы копий формируют источник tarball в заключительный пакет, и удаляет некоторые ненужные файлы. Поскольку нет никакого файла "компиляции" в источнике tarball, некоторые из других целей ничего не делают.
можно следовать за чем-то вроде этого (наряду с использованием postinst
и prerm
сценарии) для автоматизации шагов, которые Вы упомянули. Обратите внимание, что установка дополнительных пакетов вошла бы debian/control
, или как Depends
, Recommends
, или Suggests
.
Я бы порекомендовал использовать uupdate
из devscripts
, чтобы получить хороший старт для вашего пакета deb.
Установите необходимые пакеты
$ sudo apt-get install build-essential devscripts
Загрузите старый пакет из официального репозитория и новый tar-ball из апстрима. (Я использую 14.04)
$ mkdir ~/Downloads/mediawiki
$ cd ~/Downloads/mediawiki
$ apt-get source mediawiki
$ wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.1.tar.gz
Запустите uupdate
, чтобы создать новую исходную папку из вышестоящего tar-шара и старого debian/control
$ cd mediawiki-1.19.14+dfsg # depends on your Ubuntu version
$ uupdate ../mediawiki-1.25.1.tar.gz 1.25.1
$ cd ../mediawiki-1.25.1
Теперь вы должны проверьте, нужно ли вам вносить изменения в debian/control
и т. д. файлы. Если все готово, вы можете собрать пакет deb и установить его
$ dpkg-buildpackage -us -uc
$ cd ..
$ sudo dpkg -i *.deb