zepete: (Default)
[personal profile] zepete
Репозиторий openwrt состоит из трех составляющих:
-файла пакета с расширением ipk;
-вспомогательный текстовый файл "Packages" содержащем сведения для проверки подлинности пакетов, который нужен для получения файла "Packages.gz";
-Packages.gz, являющегося упакованным файлом  Packages, собственно, который и требуется для opkg.

1. Файл с раширением ".ipk".
Это архив, упакованный linux утилитой ar. В windows его можно просмотреть при помощи 7zip, а в linux помогает mc. Имя файла состоит из трех частей разделенных подчеркиванием: "<имя пакета для opkg install/remove>_<версия>_<платформа>.ipk".
Файл содержит три файла.
1. Файл длиной 4 байта и именем "debian-binary", содержащий "2.0";
2. Архив "data.tar.gz", содержащий файловую систему, которая будет распакована в корневую папку;
3. Архив "control.tar.gz", содержащий файл "control" (описывает пакет) и sh программы: "preinst" (запускается перед установкой пакета, соответствует содержимому секуции/переменной Package/<имя пакета>/preinst), "postinst" (запускается после установки пакета, соответствует содержимому секуции/переменной Package/<имя пакета>/postinst), "prerm" (запускается перед удалением пакета, соответствует содержимому секуции/переменной Package/<имя пакета>/prerm), "postrm" (запускается после удаления пакета, соответствует содержимому секуции/переменной Package/<имя пакета>/postrm). Некоторые из этих программ могут отсутствовать, но файл control обязателен. Отменяется установка/удаление пакета возвращением не нулевого значения из скрипта preinst/prerm.
Поэтому установочные скрипты можно проверить до установки пакета, просто просмотрев содержимое архива control.tar.gz.

2. Файл Packages.
Содержит такие строки для каждого пакета.

Version: 1-1
Depends: libc
Provides:
Source: package/packagename
Section: 1
Status: unknown ok not-installed
Essential: no
Priority: optional
Maintainer: zepete
Architecture: ar71xx
Installed-Size: 816
Filename: packagename_1-1_ar71xx.ipk
Size: 2353
MD5Sum: 7d6363d5aa63e2a016c1e9a56a40dd1d
Description:  description of package packagename

При обновлении пакета обязательно менять в нем поля MD5Sum, Size и Filename (если менялась версия). MD5Sum вычисляется при помощи WinMD5free.
После чего упаковать этот файл в Packages.gz тем же самым 7zip.

Profile

zepete: (Default)
zepete

January 2026

S M T W T F S
    1 23
4 56 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 14th, 2026 09:06 am
Powered by Dreamwidth Studios