Files
2026-03-23 01:15:59 +03:00
..
2026-03-23 01:15:59 +03:00
2026-03-23 01:15:59 +03:00
2026-03-23 01:15:59 +03:00
2026-03-23 01:15:59 +03:00
2026-03-23 01:15:59 +03:00
2026-03-23 01:15:59 +03:00
2026-03-23 01:15:59 +03:00

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Как собрать Debian пакет nginx-mod-rewrite

## Программа для сборки пакета

Для сборки Debian/Ubuntu пакетов используется инструмент **`dpkg-buildpackage`**.

```bash
cd /home/alexey/projects/workspace-zed/test1/packages/deb
dpkg-buildpackage -us -uc
```

Альтернативные команды:
- `debbuild` или `debuild` - обёртки для dpkg-buildpackage
- `fakeroot debian/rules binary` - ручной запуск сборки (для опытных пользователей)

## Зависимости для сборки

Перед сборкой установите необходимые пакеты:

```bash
sudo apt install debhelper-compat dh-autoreconf nginx build-essential
```

## Процесс сборки

1. `dpkg-buildpackage` запускает debian/rules правила
2. `dh` (debhelper) автоматически выполняет стандартные этапы: configure, build, install
3. Ваш скрипт package_preparer.sh скачивает исходный код nginx и компилирует модуль
4. Скрипты postinst/postrm обрабатывают установку/удаление в системе

## Результат

После успешной сборки будет создан `.deb` файл:
- `nginx-mod-rewrite_0.1-1_amd64.deb` - пакет для установки

## Установка пакета

```bash
sudo dpkg -i nginx-mod-rewrite_0.1-1_amd64.deb
```

## Структура файлов в Debian пакете

| Путь | Описание |
|------|----------|
| `debian/control` | Метаданные пакета (имя, версия, зависимости) |
| `debian/changelog` | История изменений пакета |
| `debian/rules` | Скрипт сборки (makefile-like) |
| `debian/copyright` | Информация об авторских правах и лицензии |
| `debian/postinst` | Пост-скрипт установки (reload nginx после инсталляции) |
| `debian/postrm` | Пост-скрипт удаления (очистка конфига nginx) |
| `debian/triggers` | Триггеры для динамического обновления nginx модулей |
| `modules/mod_rewrite/*` | Исходный код модуля rewrite |

## Отличия от RPM spec

| RPM (`nginx-mod-rewrite.spec`) | Debian (`debian/`) |
|-------------------------------|-------------------|
| `%define`, `%description` | `debian/control` |
| `%prep`, `%build`, `%install` | `debian/rules + dh` |
| `%post`, `%preinst` | `debian/postinst`, `debian/preinst` |
| rpmbuild | dpkg-buildpackage |

## Запуск сборки

```bash
cd /home/alexey/projects/workspace-zed/test1/packages/deb
dpkg-buildpackage -us -uc -A  # Не подписываем, не используем чужие ключи, только архитектура