# Bramka: Własny pakiet do systemu Linux

**URL:** <https://ai-speaker.discourse.group/t/bramka-wlasny-pakiet-do-systemu-linux/69>\
**Category:** faq\
**Created:** [18 Grudzień 2019 09:35 UTC](https://ai-speaker.discourse.group/t/bramka-wlasny-pakiet-do-systemu-linux/69 "2019-12-18T09:35:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Autor:** ![Celina](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/celina/32/27_2.png) [@Celina](https://ai-speaker.discourse.group/u/Celina)\
**Data wpisu:** [18 Grudzień 2019 09:35 UTC](https://ai-speaker.discourse.group/t/bramka-wlasny-pakiet-do-systemu-linux/69/1 "2019-12-18T09:35:47Z")

</div>

## Środowisko Linux-a, które mamy na urządzeniu

Na urządzeniu dostarczamy emulator terminala i zestaw programów działających w konsoli (binarki skompilowane pod architekturę procesora na urządzeniu z uwzględnieniem prefiksu środowiska).  
Nasz system współdzieli jądro Linuksa z systemem Android. Dzięki temu mamy multimedia z Androida oraz interfejs tekstowy do shell-a i repozytorium pakietów APT z dodatkowymi binarkami na jednym urządzeniu w tym samym czasie.  
Jest to kompletne środowisko Linuxa, ale z jedną główną różnicą w stosunku do tradycyjnych dystrybucji — nasze środowisko jest z prefiksem.  
Środowisko z prefiksem (prefixed environment) oznacza, że struktura katalogów jest nieco inna niż w klasycznych dystrybucjach — np. w Ubuntu mamy /bin a w AIS-linux mamy $PREFIX /bin, gdzie $PREFIX w naszym przypadku odnosi się do /data/data/pl.sviete.dom/files/usr.

 ![1faq_linux_package_compilation_1](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/278f3459defbeeea7026fe95e645cfc179beee74.png)

## Kompilacja pakietu

Prefiks robi różnicę w instalacji i kompilacji pakietów. Tworząc naszą dystrybucję wzorowaliśmy się na Termux - którego jesteśmy forkiem.  
Kompilacja pakietów jest taka sama jak w Termux

[https://wiki.termux.com/wiki/Main\_Page](https://wiki.termux.com/wiki/Main_Page)

wykonujemy ją w kontenerze Dokera

> **[sviete/AIS-linux-packages](https://github.com/sviete/AIS-linux-packages)**
>
> :penguin: Linux environment - packages repository. - sviete/AIS-linux-packages

a następnie umieszczamy pakiet w repozytorium

> **[sviete/DOM-APT-REPO](https://github.com/sviete/DOM-APT-REPO)**
>
> :package: Linux apt repository for "Asystent domowy". Publish and serve cross-compiled packages created using the \[AIS-LINUX-PACKAGES\] - sviete/DOM-APT-REPO

 ![2faq_linux_package_compilation_2](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/1X/9cac409cd395add77d56dcee7c0103f9f5f434d7.png)

### Dodanie skompilowanego pakietu do repozytorimu AIS-linux

Jeżeli chciałbyś, żeby Twoja binarka była dostępna w naszym repozytorium AIS-linux (by mogła być instalowana przy pomocy menadżera pakietów apt), to preferowana droga, to wykonanie **pull request do Termux**

> **[termux/termux-packages](https://github.com/termux/termux-packages)**
>
> Android terminal and Linux environment - packages repository. - termux/termux-packages

w ten sposób Twój komponent zostanie sprawdzony i przetestowany przez setki programistów oraz tysiące użytkowników, a następnie trafi oficjalnie do Asystenta domowego wraz w najnowszą wersją pakietów z Termux.
