User Tools

Site Tools


stalin_repository

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
stalin_repository [2024/09/13 16:43] – [Концепция] uf4nstalin_repository [2024/09/16 19:46] (current) uf4n
Line 1: Line 1:
-====== Gulag - Репозиторий для сборки пакетов ПО без внешних зависимостей ======+====== VyatLUG - Репозиторий для сборки пакетов ПО без внешних зависимостей ======
  
 ===== Концепция ===== ===== Концепция =====
  
-Gulag - это репозиторий пакетов исходных кодов, подготовленных для сборки бинарных файлов со статической линковкой. Из каждого пакета, включённого в этот репозиторий, должны автоматически собираться бинарные deb и rpm пакеты. За данную задачу отвечает программа StaLin.  Оптимальный формат для пакетов исходного кода - предмет исследования, однако для начала это может быть обыкновенный тарбол.+VyatLUG - это репозиторий пакетов исходных кодов, подготовленных для сборки бинарных файлов со статической линковкой. Из каждого пакета, включённого в этот репозиторий, должны автоматически собираться бинарные deb и rpm пакеты. За данную задачу отвечает программа StaLin.  Оптимальный формат для пакетов исходного кода - предмет исследования, однако для начала это может быть обыкновенный тарбол.
  
 Самостоятельные программы должны быть написаны на языках Си и Си++, причём код библиотек должен быть включён в дерево исходного кода каждой программы, благодаря чему при сборке можно обойтись без cmake/autotools. Единственная допустимая run-time зависимость для любой программы в системе - ядро. Недопустимы программы на скриптовых языках,, а также на языках, с экосистемой, представляющую из себя комбаин для разрешения зависимостей между библиотеками разных версий, к тому же качающий их с серверов корпораций, желающих одного - подсадить разработчика на свою иглу. Гудбай, Python, Rust, Go и прочий маздай. Самостоятельные программы должны быть написаны на языках Си и Си++, причём код библиотек должен быть включён в дерево исходного кода каждой программы, благодаря чему при сборке можно обойтись без cmake/autotools. Единственная допустимая run-time зависимость для любой программы в системе - ядро. Недопустимы программы на скриптовых языках,, а также на языках, с экосистемой, представляющую из себя комбаин для разрешения зависимостей между библиотеками разных версий, к тому же качающий их с серверов корпораций, желающих одного - подсадить разработчика на свою иглу. Гудбай, Python, Rust, Go и прочий маздай.
Line 11: Line 11:
  
 Такой подход к сборке бинарних пакетов ПО позволит: Такой подход к сборке бинарних пакетов ПО позволит:
-  - Избежать ада зависимостей (dependency hell), который предполагает +1. Избежать ада зависимостей (dependency hell), который предполагает: 
-    необходимость разрешения длинных, циклических и конфликтующих зависимостей + 
-    необходимость обновлять те программы, в обновлении которых у пользователя нет объективной потребности. Например, из-за того, что старая версия программы стала несовместимой с новой версией разделяемой библиотеки, которая подтянулась в качестве зависимости при установке другой программы + a. необходимость разрешения длинных, циклических и конфликтующих зависимостей 
-  Легко переносить ПО на любую аппаратную платформу благодаря переносимости кода на Си/Си++ + 
-  Собирать ПО с максимальной возможной оптимизацией машинного кода, использую соответствующие параметры компилятора при сборке конечных бинарный deb или rpm пакетов. Гудбай, Генту - дистрибутив с пакетным менеджером, написанным на Python, который как пить дать перекомпилирует тебе половину пакетной базы перед установкой одной новой программы. + b. необходимость обновлять те программы, в обновлении которых у пользователя нет объективной потребности. Например, из-за того, что старая версия программы стала несовместимой с новой версией разделяемой библиотеки, которая подтянулась в качестве зависимости при установке другой программы 
-  Ликвидировать зоопарк дистрибутивов, использующих разные высокоуровневые пакетные менеджеры. + 
-  Предать забвению flatpak, snap etc.+2. Легко переносить ПО на любую аппаратную платформу благодаря переносимости кода на Си/Си++ 
 + 
 +3. Собирать ПО с максимальной возможной оптимизацией машинного кода, использую соответствующие параметры компилятора при сборке конечных бинарный deb или rpm пакетов. Гудбай, Генту - дистрибутив с пакетным менеджером, написанным на Python, который как пить дать перекомпилирует тебе половину пакетной базы перед установкой одной новой программы. 
 + 
 +4. Ликвидировать зоопарк дистрибутивов, использующих разные высокоуровневые пакетные менеджеры. 
 + 
 +5. Предать забвению flatpak, snap etc. 
 + 
 +===== Фронт работ ===== 
 +  * Посмотреть дистрибутив Stali от Suckless.org
stalin_repository.1726245832.txt.gz · Last modified: 2024/09/13 16:43 by uf4n