Wiedza Wytyczne dotyczące tworzenia pakietów QPKG

Opis​


Zestaw QPKG Development Kit (QDK) służy do tworzenia plików/aplikacji QPKG dla urządzeń QNAP NAS. Plik QPKG ułatwia każdemu instalowanie i usuwanie pakietów. Daje też opiekunowi pakietu niemal pełną kontrolę nad sposobem instalacji pakietu na urządzeniu NAS. Głównym celem projektowym QDK jest ułatwienie opiekunowi pakietu tworzenia prostych plików QPKG, przy jednoczesnej obsłudze bardziej zaawansowanych pakietów.

QDK powstał jako prosta modyfikacja pierwszego oficjalnego wydania QPKG SDK, lecz obecnie go zastąpił. Zawiera wiele nowych funkcji, takich jak sprawdzanie architektury podczas instalacji, obsługa podpisów cyfrowych, różne algorytmy kompresji, kompleksowa opcja sprawdzania, czy inne wymagane pakiety QPKG lub pakiety Optware są zainstalowane (lub czy pakiety powodujące konflikty nie są zainstalowane), automatyczna instalacja wymaganych pakietów Optware oraz zaawansowany skrypt kompilacji.



Licencja​


QDK jest rozpowszechniany na warunkach Powszechnej Licencji Publicznej GNU, co czyni go całkowicie otwartym i dostępnym dla każdego.



Instalacja​


Pobierz i zainstaluj plik QPKG – automatycznie utworzy on ogólnosystemowy plik konfiguracyjny /etc/config/qdk.conf, a po włączeniu tej opcji tworzy również dowiązanie symboliczne dla qbuild w /usr/bin. Podręcznik referencyjny jest dołączony w osobnym pliku zip.

Dostępny jest również dokument (QDK Cookbook) zawierający rozwiązania różnych typowych sytuacji, z którymi można się zetknąć podczas używania QDK do tworzenia pakietów QPKG.



Dokumenty​





Pliki do pobrania​





Historia​


2.3.3

  • Naprawiono błąd powodujący wyświetlanie ikony wyłączonej aplikacji w App Center pomimo nieudanej instalacji.

2.3.2

  • Dodano obsługę systemu Ubuntu.
  • Naprawiono dziennik powiadomień.

2.3.1

  • Zmieniono poziom powiadomień w Centrum powiadomień.

2.3.0

  • Obsługa Centrum powiadomień od wersji QTS 4.3.5.

2.2.16

  • Dodano obsługę platformy ARM 64-bitowej.

2.2.15

  • Dodano sekcję "export QNAP_QPKG" w przykładowym skrypcie startowym. Służy ona do monitorowania procesów potomnych pakietu QPKG przez Monitor zasobów.
  • Dodano tworzenie pliku md5sum po zbudowaniu pakietu przez qbuild.
  • Dodano obsługę formatu PNG dla plików ikon.
  • Zmieniono kolejność dzienników instalacji.

2.2.14

  • Dodano wyświetlaną nazwę QNAP w pliku qpkg.cfg (nazwa QPKG wyświetlana w interfejsie WWW QTS).
  • Dodano obsługę ograniczenia maksymalnej wersji QTS.
  • Naprawiono błąd w przykładowym kodzie szablonu.

2.2.13

  • Dodano QTS HTTP Proxy oraz funkcję ustawiania Proxy_Path w pliku qpkg.cfg.
  • Dodano funkcję Timeout (w sekundach) dla włączania QPKG (pierwsza liczba całkowita) oraz Timeout dla wyłączania QPKG (druga liczba całkowita) w pliku qpkg.cfg (od wersji 4.1.0).
  • Dodano ustawienie Visible dla funkcji wyświetlania pakietu QPKG w menu głównym, jeśli posiada on interfejs WWW, w pliku qpkg.cfg.

2.2.12

  • Dodano sprawdzanie montowania woluminu systemowego QTS.

2.2.11

  • Zmodyfikowano dzienniki systemowe dotyczące pomyślnej instalacji.

2.2.10

  • Dodano dziennik instalacji do dzienników systemowych.

2.2.9

  • Dodano obsługę wyboru/migracji woluminu (wymaga QTS w wersji co najmniej 4.2.1).

2.2.8

  • Dodano obsługę ograniczenia minimalnej wersji QTS.
  • Dodano ścieżkę katalogu głównego apache dla QTS.

2.2.7

  • Polecenie qbuild może teraz używać numeru kompilacji.

2.2.6

  • Ulepszone rozpoznawanie różnych platform.

2.2.4

  • Nowa platforma – obsługa ciągów architektur arm_x31, ce53xx (TS-269H) oraz arm_x41 (TS-x31+).
  • Nowa opcja – "Web_SSL_Port" umożliwiająca dostęp do interfejsu WWW przez port SSL.
  • Poprawka błędu: obsługa wypakowywania pakietów QPKG zbudowanych przez poprzednie wersje QDK.
  • Dodano opcję QPKG_DESKTOP_APP="1".

2.0.1

  • Poprawka błędu: lista zainstalowanych plików nie była aktualizowana podczas używania 7-zip. Powodowało to, że aktualizacja pakietu zachowywała się jak nowa instalacja.

2.0

  • Nowa obsługa aktualizacji. Nowa wersja jest instalowana na starej, a następnie usuwane są przestarzałe pliki. Żadne inne pliki nie są usuwane.
  • Nowa obsługa aktualizacji oznacza, że QPKG_CONFIG_DIR nie ma już żadnego efektu i może zostać usunięty z pliku konfiguracyjnego QPKG.
  • Obsługa innych algorytmów kompresji. Obecnie QDK obsługuje gzip, bzip2 i 7-zip.
  • Obsługa określania wymagań dotyczących pakietów Optware (zarówno w QPKG_REQUIRE, jak i QPKG_CONFLICT).
  • Obsługa automatycznej instalacji wymaganych pakietów Optware podczas instalacji.
  • Obsługa dołączania pakietów Optware do pakietu QPKG i dostępu do nich jako części lokalnego repozytorium podczas instalacji.
  • Nowa funkcja wypakowywania archiwów danych może być używana w funkcjach specyficznych dla pakietu: extract_data ARCHIVE [DIRECTORY].
  • Obsługa bardziej szczegółowych komunikatów wyjściowych i debugowania podczas uruchamiania qbuild.
  • Możliwość używania znaku | w QPKG_REQUIRE do rozdzielania wymagań, z których tylko jedno musi być spełnione.
  • Dane w pakiecie QPKG zostały podzielone na kilka części: pliki kontrolne, pliki danych oraz wszelkie dodatkowe pliki danych. Zapewnia to lepszą wydajność i łatwiejszy dostęp do plików kontrolnych.
  • Obsługa podpisów cyfrowych, które można wykorzystać do sprawdzenia, czy pakiet nie został zmodyfikowany po jego utworzeniu przez twórcę pakietu.
  • Do formatu QPKG dodano nowy obszar QDK. Aktualnie używany wyłącznie do opcjonalnego podpisu cyfrowego.
  • Opcja zapytania umożliwiająca pobieranie informacji o pakiecie QPKG bez wypakowywania jego zawartości.
  • Zmieniono nazwy niektórych definicji. Stare definicje mogą być nadal używane, jednak wyświetlane jest ostrzeżenie, jeśli zostaną znalezione.
  • Naprawiono kilka drobnych błędów.

1.2.3

  • Naprawiono błąd, który mógł powodować uruchamianie funkcji czyszczącej po nieudanej instalacji w sytuacjach, gdy nie powinna być uruchamiana.
  • Przestarzałe pliki konfiguracyjne nie były usuwane z /etc/config/qpkg.conf.
  • Dodano funkcję pomocniczą, która może być używana do dodawania plików konfiguracyjnych w funkcjach specyficznych dla pakietu.

1.2.2

  • Nowe systemy 64-bitowe nie mogły instalować pakietów x86. Sprawdzanie architektury zostało zaktualizowane, aby uwzględniało również ciąg architektur x86_64.
  • Zmieniono lokalizację zapisywanych danych konfiguracyjnych podczas aktualizacji.

1.2.1

  • Obsługa zmiennych definiowanych w czasie wykonania w funkcjach usuwania (PKG_PRE_REMOVE, PKG_MAIN_REMOVE i PKG_POST_REMOVE).
  • Nowa funkcja specyficzna dla pakietu, pkg_init, która może być używana do inicjalizacji przed rozpoczęciem instalacji.

1.2

  • Nowa opcja --build-model służąca do dołączania do pliku QPKG sprawdzenia zgodności z danym modelem.
  • Nowa opcja --force-config służąca do ignorowania brakujących plików konfiguracyjnych określonych w QPKG_CONFIG.
  • Nowa opcja --no-compress służąca do rezygnacji z kompresji metaplików QPKG.
  • Zmieniono opcję --extract, aby umożliwić określenie miejsca, do którego mają być wypakowywane dane (domyślnie nadal jest to bieżący katalog).
  • Podczas tworzenia środowiska kompilacji za pomocą opcji --create-env dołączany jest szablonowy skrypt init.
  • Lista dostępnych definicji dołączona do plików szablonów qpkg.cfg i package_routines.
  • Nazwy i lokalizacje udziałów systemowych są dostępne w definicjach powłoki.
  • Dodatkowe pakiety źródłowe można dołączyć za pomocą QDK_EXTRA_SRC_FILE.
  • Funkcje aktualizacji w skryptach instalacyjnych zostały zastąpione ponowną instalacją, w której określone pliki konfiguracyjne są w razie potrzeby przywracane.
  • Pliki konfiguracyjne, które mają być przywracane podczas aktualizacji, można określić za pomocą QPKG_CONFIG.
  • Katalog z danymi konfiguracyjnymi, które mają być przywracane podczas aktualizacji, można określić za pomocą QPKG_CONFIG_DIR.
  • Dodano funkcję pomocniczą, która może zapisywać komunikaty ostrzegawcze do dziennika systemowego: warn_log.
  • Ikony QPKG dostarczone przez WatskeBart.
  • Zoptymalizowano funkcje w ogólnym skrypcie instalacyjnym w celu nieznacznego przyspieszenia instalacji (5–10 sekund) tworzonych pakietów.

1.0

  • Pierwsze wydanie



Podziękowania​


Szczególne podziękowania dla micke za QPKG Development Kit (QDK), który można śledzić w tym wątku.