Last active
January 25, 2019 14:15
-
-
Save w495/9661178 to your computer and use it in GitHub Desktop.
Простой пример spec файла для сборки rpm-пакета.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Name: xadv-sql | |
## | |
## Номер версии (значительные изменения) | |
## Версия должна начинаться с единицы. | |
## | |
Version: 1.0 | |
## | |
## Номер сборки (незначительные изменения) | |
## | |
Release: 0.1 | |
## | |
## Краткое описание | |
## | |
Summary: Аdvertisement test database for advertisement test server. | |
Summary(ru): Тестовая рекламная база данных для рекламного сервера сервер. | |
## | |
## Лицензия | |
## | |
License: TvZavr Ltd. | |
## | |
## Лицензия | |
## | |
URL: http://recl.tvzavr.ru | |
## | |
## Группа приложений | |
## Список возможных (допустимых) групп: | |
## Archiving/Backup | |
## Archiving/Cd burning | |
## Archiving/Compression | |
## Archiving/Other | |
## Books/Computer books | |
## Books/Faqs | |
## Books/Howtos | |
## Books/Literature | |
## Books/Other | |
## Communications | |
## Databases | |
## Development/C | |
## Development/C++ | |
## Development/Databases | |
## Development/Debug | |
## Development/GNOME and GTK+ | |
## Development/Java | |
## Development/KDE and Qt | |
## Development/Kernel | |
## Development/Other | |
## Development/Perl | |
## Development/PHP | |
## Development/Python | |
## Development/Ruby | |
## Development/X11 | |
## Editors | |
## Education | |
## Emulators | |
## File tools | |
## Games/Adventure | |
## Games/Arcade | |
## Games/Boards | |
## Games/Cards | |
## Games/Other | |
## Games/Puzzles | |
## Games/Sports | |
## Games/Strategy | |
## Graphical desktop/Enlightenment | |
## Graphical desktop/FVWM based | |
## Graphical desktop/GNOME | |
## Graphical desktop/Icewm | |
## Graphical desktop/KDE | |
## Graphical desktop/Other | |
## Graphical desktop/Sawfish | |
## Graphical desktop/WindowMaker | |
## Graphical desktop/Xfce | |
## Graphics | |
## Monitoring | |
## Networking/Chat | |
## Networking/File transfer | |
## Networking/IRC | |
## Networking/Instant messaging | |
## Networking/Mail | |
## Networking/News | |
## Networking/Other | |
## Networking/Remote access | |
## Networking/WWW | |
## Office | |
## Publishing | |
## Sciences/Astronomy | |
## Sciences/Biology | |
## Sciences/Chemistry | |
## Sciences/Computer science | |
## Sciences/Geosciences | |
## Sciences/Mathematics | |
## Sciences/Other | |
## Sciences/Physics | |
## Shells | |
## Sound | |
## System/Base | |
## System/Cluster | |
## System/Configuration/Boot and Init | |
## System/Configuration/Hardware | |
## System/Configuration/Networking | |
## System/Configuration/Other | |
## System/Configuration/Packaging | |
## System/Configuration/Printing | |
## System/Fonts/Console | |
## System/Fonts/True type | |
## System/Fonts/Type1 | |
## System/Fonts/X11 bitmap | |
## System/Internationalization | |
## System/Kernel and hardware | |
## System/Libraries | |
## System/Printing | |
## System/Servers | |
## System/X11 | |
## Terminals | |
## Text tools | |
## Toys | |
## Video | |
## | |
Group: Databases | |
## | |
## Архив с исходными кодами. | |
## Может быть более одного. | |
## | |
Source0: xadv-sql-1.0.tar.gz | |
## | |
## Архитектура | |
## | |
BuildArch: noarch | |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | |
## | |
## Зависимости | |
## | |
Requires: mysql | |
Requires: mysql-server | |
## | |
## Определим свои переменные. | |
## | |
%define dbname "xadv_adback" | |
## | |
## Подробное описание пакета | |
## | |
%description | |
Sets the initial database development | |
administrative part of the advertising system. | |
## | |
## Подробное описание пакета на русском | |
## | |
%description -l ru | |
Устанавливает начальную базу данных для разработки | |
административной части рекламной системы. | |
## | |
## Подготовка пакета к сборке. | |
## В этой секции полагается размещать подготовку | |
## исходников с сборке, применение патчей и т.п. | |
## | |
%prep | |
## | |
## Распаковка исходников Source0 | |
## | |
%setup -q | |
%build | |
## | |
## Установка файлов в окружении сборки. | |
## | |
%install | |
rm -rf %{buildroot} | |
install -d %{buildroot}%{_datadir}/%{name} | |
install xcreate.sql %{buildroot}%{_datadir}/%{name} | |
install xinsert.sql %{buildroot}%{_datadir}/%{name} | |
install xtest.sql %{buildroot}%{_datadir}/%{name} | |
## | |
## Файлы, входящие в RPM-пакет. В этой секции | |
## желательно определить макросом %defattr(-,root,root) | |
## атрибуты по умолчанию | |
## (владелец root, группа root, доп. атрибутов нет.) | |
## При создании списка файлов | |
## можно использовать шаблоны с символами '*' и '?', | |
## но делать это следует осмотрительно, | |
## так как указание списка файлов как /* приведет | |
## к включению лишних файлов в пакет. | |
## Специально можно пометить конфигурационные файлы | |
## (%config), что приведет к специальному | |
## обращению с ними, например при обновлении пакета, документацию (%doc) | |
## и пустые директории, принадлежащие пакету (%dir). | |
## | |
%files | |
%defattr(-,root,root,-) | |
%dir %{_datadir}/%{name} | |
%{_datadir}/%{name}/xcreate.sql | |
%{_datadir}/%{name}/xinsert.sql | |
%{_datadir}/%{name}/xtest.sql | |
## | |
## Очистка временного окружения сборки и | |
## обычно ничего кроме двух указанных команд не содержит. | |
## | |
## | |
%clean | |
rm -rf %{buildroot} | |
## | |
## Постинсталляционный скрипт. | |
## | |
%post | |
info () { | |
echo -e "\033[1m info: \033[0m $@ "; | |
} | |
ok () { | |
echo -e "\033[1m done: \033[0m \033[32m $@ \033[0m"; | |
} | |
error () { | |
echo -e "\033[1m ERROR:\033[0m \033[31m $@\033[0m"; exit 1; | |
} | |
info "service mysqld restart;" | |
service mysqld restart \ | |
&& ok "service mysqld restart;" \ | |
|| error "service mysqld restart;" | |
info "creating database;" | |
mysql -u root -e "create database if not exists %{dbname}" \ | |
&& ok "creating database;" \ | |
|| error "creating database;" | |
info "apply %{_datadir}/%{name}/xcreate.sql;" | |
mysql -u root %{dbname} < %{_datadir}/%{name}/xcreate.sql \ | |
&& ok "apply %{_datadir}/%{name}/xcreate.sql;" \ | |
|| error "apply %{_datadir}/%{name}/xcreate.sql;" | |
info "apply %{_datadir}/%{name}/xinsert.sql;" | |
mysql -u root %{dbname} < %{_datadir}/%{name}/xinsert.sql \ | |
&& ok "apply %{_datadir}/%{name}/xinsert.sql;" \ | |
|| error "apply %{_datadir}/%{name}/xinsert.sql;" | |
info "apply %{_datadir}/%{name}/xtest.sql;" | |
mysql -u root %{dbname} < %{_datadir}/%{name}/xtest.sql \ | |
&& ok "apply %{_datadir}/%{name}/xtest.sql;" \ | |
|| error "apply %{_datadir}/%{name}/xtest.sql;" | |
## | |
## История пишется записями с фиксированным форматом даты, | |
## имени и адреса электронной почты. | |
## Формат дальнейших заметок произволен. | |
## | |
%changelog | |
* Thu Mar 20 2014 Ilya w-495 Nikitin <[email protected]> - 1.0 | |
- Initial build | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment