Намедни создавал тред с опросом «каким вы хотите видеть свой дистрибутив».
Arch мой первый линукс (не считая одной недели на Debian), философия, удобство и низкий порог вхождения которого всем устраивают, с одним лишь «но», - освоившись в системе и покопавшись, увидел в ней много лишних зависимостей, от которых хочется избавиться. Вернее, изначально хочу иметь «ванильную» систему, со всеми пакетами «как есть», с минимумом необходимых для их работы зависимостей.
Поэтому задался целью каждый день пересобирать по одному-два пакета).. Делая софт «ванильным» и отрубая зависимости, без которых программа будет и так выполнять свои функции, для которох она и писалась. У меня простой десктоп, список софта: http://pastebin.com/kEx42LQX и поэтому на это не уйдет так много времени... Почитал про CRUX, ближнего родственника Arch и восхитился их билдами, - для сравнения CRUX firefox (ничего лишнего асолютно - пруф, все только для того, чтобы запустился и работал firefox) и Arch firefox (с кучей всего, но это и понятно - для того, «чтобы у всех все работало»). Можно было бы поставить CRUX и на этом успокоиться, но Arch продвинутее.
Пересборку начал с необходимых декстоп-приложений, уже написав билды для:
~/Desktop/PKGBUILDs# ls
fetchmail/ firefox/ irssi/ msmtp/ mutt/ ncmpcpp/ procmail/ wine/ wine_gecko/
Собственно, о чем это я. Призываю всех желающих помочь с написанием PKGBUILD'ов, кто разделяет мой взгляд на систему).. Следуя этим правилам:
- Никаких зависимостей, без которых программа работает и так. Например, даже если mpd (Music Player Daemon) без библиотек (зависимостей) не сможет играть музыку вообще - отлично, именно такой PKGBUILD и пишу. Лишь в комментариях в билде можно добавить название библиотек, для поддержки какого аудио-формата они нужны. Важна 100% ванильность, и предоставив пользователю PKGBUILD, он сам добавит что ему нужно.
- Сборка программ в PKGBUILD'е без дополнительных опций: ./configure && make && make DESTDIR=$pkgdir install
- CRUX-way
- ./configure --prefix='/usr' --sysconfdir='/etc' --mandir='/usr/man' --disable-nls
- в конце сборки удалить документацию, лицензии: rm --force --recursive $pkgdir/usr/share/{doc,info,licenses}
Сам арч (пакеты типа initscripts) и ядро я трогать не собираюсь, этим занимаются люди куда умнее меня. Цель не ответиться, не сделать еще один bolgenos, а написать минималистичные PKGBUILD'ы дав пользователю выбирать зависимости, а также сделать систему небольшой, без лишних файлов, которыми юзер не пользуется (удаление доков которые есть в сети, лицензий).
Когда билдов станет ощутимое количество, что ими можно будет полностью заменить систему - выложу все на паблик.