LINUX.ORG.RU

Gentoo: regen-world - need test

 , ,


2

3

Посидел я тут, подумал - пересоздать мир проще, чем разгребать мусор.
потому запилил regen-world.
сейчас в виде отдельного скрипта, который по окончании вернёт изначальный мир
если прервать, то нельзя повторно запускать до выполнения ручками

mv /var/lib/portage/world-backup /var/lib/portage/world
иначе ССЗБ и первоначальный мир пропал :3
мой мир стал в 176 строк и позволил снести порядка 20 пакетов
funeralismatic, xorik, shell-script...
для копипаста

★★★★
Ответ на: комментарий от feofan

А еще лучше, после успешного выполнения пусть создает какой-нибудь regen-complete и проверяет существование обоих файлов. Чтобы не было недоразумений, после проверки существования обоих файлов, если regen-complete существует - удалить и начать regen

feofan ★★★★★
()

Потестил. Очень долго считались зависимости. По результатам я удалил один пакет. В общем, мне не нужно.

feofan ★★★★★
()

По первому посту я так и не понял, что оно делает, и чем отличается от прошлого скрипта

xorik ★★★★★
()
Ответ на: комментарий от KendovNorok

он не удаляет, а пересоздаёт мир с нуля
в мир попадают только те пакеты, которых нет в зависимостях других установленных пакетов
все библиотеки идут лесом, т.к. либы сами по себе не нужны, ими пользуется только софт, а ебилды оных знают какие либы нужны
ах да - весь сет system так же не попадает в мир - ему там не место, пакеты из этого сета задаются в более другом месте

megabaks ★★★★
() автор топика
Последнее исправление: megabaks (всего исправлений: 1)
Ответ на: комментарий от feofan

надо считать не сколько удалил пакетов, а на сколько похудел мир
это куда более важно
кстати, time говорит о 2-х минутах - для всех установленных пакетов, а это 1100+, не так уж и долго

megabaks ★★★★
() автор топика
Последнее исправление: megabaks (всего исправлений: 1)
Ответ на: комментарий от megabaks

в мир попадают только те пакеты, которых нет в зависимостях других установленных пакетов

Скажем, есть прога и ты к ней поставил GUI. Тогда ведь в мир попадет только GUI и в случае его удаления, сама прога тоже будет под угрозой удаления.

KendovNorok
()
Ответ на: комментарий от KendovNorok

именно
только такое положение вещей не ко мне, а к философии мира
да и никто не мешает запилить пакет в мир, не пересобирая его и не открывая редактор

megabaks ★★★★
() автор топика
Ответ на: комментарий от xorik

не одно и то же
далеко не одно и то же

megabaks ★★★★
() автор топика
Ответ на: комментарий от xorik

Алгоритмически проще создать новый файл мира, чем чистить старый

daemonpnz ★★★★★
()

Проверил, отработал скрипт отлично, предложил разобраться только с пакетами

sys-apps/miscfiles-1.5-r1
app-shells/bash-completion-1.3
app-shells/gentoo-bashcomp-20101217-r1
Результат лучше, чем со скриптом world. Тут проблема в том, что bash-completion тянется gentoo-bashcomp, и наоборот, т.е. зависимость циклическая. В свою очередь, bash-completion тянет miscfiles. Ждем включения в portconf!

iVS ★★★★★
()
Ответ на: комментарий от megabaks
mkdir: cannot create directory ‘/var/lib/portconf/world’: No such file or directory
ls: cannot access /var/lib/portconf/world: No such file or directory
world backup: creating...
tar (child): /var/lib/portconf/world/world_13.03.24-15\:44.tar.bz2: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now                                       [ !! ]

Похоже, директорию нужно создавать через

mkdir -p

iVS ★★★★★
()
Ответ на: комментарий от iVS

И дифф твой что-то доверия не внушает:

Changes for /var/lib/portage/world:
###############################################
5       :-app-cdr/k3b: 
6       :-app-editors/emacs: 
24      :-app-shells/bash-completion: 
26      :-app-text/aspell: 
30      :-app-text/texlive-core: 
32      :-dev-python/pygments: 
34      :-dev-tex/minted: 
35      :-dev-tex/pgf: 
36      :-dev-tex/texmfind: 
37      :-dev-tex/xcolor: 
32      :+dev-tex/minted: 
41      :+kde-base/kmail: 
54      :-media-fonts/corefonts: 
72      :-sys-apps/pciutils: 
73      :-sys-apps/portage: 
75      :-sys-boot/grub:2: 
66      :+sys-boot/grub: 
79      :-sys-kernel/gentoo-sources: 
80      :-sys-power/acpid: 
84      :-www-client/chromium: 
85      :-www-client/firefox: 
94      :-x11-base/xorg-server: 
###############################################

iVS ★★★★★
()
Последнее исправление: iVS (всего исправлений: 1)
Ответ на: комментарий от iVS
desktop portconf # equery d pgf
 * These packages depend on pgf:
desktop portconf # equery d texmfind
 * These packages depend on texmfind:
desktop portconf # equery d gentoo-sources
 * These packages depend on gentoo-sources:
virtual/linux-sources-0 (sys-kernel/gentoo-sources)
desktop portconf #

В последнем случае, наличие виртуального пакета не гарантирует, что это будет именно gentoo-sources.

iVS ★★★★★
()
Ответ на: комментарий от iVS

да, забыл что бекапной диры может и не быть

megabaks ★★★★
() автор топика
Ответ на: комментарий от iVS
Changes for /var/lib/portage/world:
###############################################
37	:-dev-java/oracle-jre-bin: 
39	:-dev-libs/beecrypt: 
79	:-media-libs/alsa-oss: 
80	:-media-libs/openexr: 
86	:-media-plugins/gst-plugins-x: 
107	:-net-libs/ldns: 
127	:-sys-devel/bc: 
146	:-sys-libs/libstdc++-v3: 
168	:-x11-libs/libXvMC: 
169	:-x11-libs/libsexy: 
170	:-x11-libs/pangox-compat: 
177	:+x11-themes/emerald-themes: 
192	:-x11-wm/emerald: 
###############################################
Apply changes? [Yes/No] 
diff -Nau world-fixed /var/lib/portage/world | grep -e "^-[a-z]" -e "^+[a-z]"
-dev-java/oracle-jre-bin
-dev-libs/beecrypt
-media-libs/alsa-oss
-media-libs/openexr
-media-plugins/gst-plugins-x
-net-libs/ldns
-sys-devel/bc
-sys-libs/libstdc++-v3
-x11-libs/libXvMC
-x11-libs/libsexy
-x11-libs/pangox-compat
+x11-themes/emerald-themes
-x11-wm/emerald

что не так?

megabaks ★★★★
() автор топика
Ответ на: комментарий от megabaks

это ты к чему?

К тому, что pgf и texmfind не имеют зависимостей, и не должны удаляться. А дифф показывал, что их следует удалить.

Разобрался: скрипт выдает разные результаты, если я соглашаюсь или не соглашаюсь на «Would you like save some packages?»

Сравни:

emerge -pc: check...


sys-apps/miscfiles-1.5-r1
app-shells/bash-completion-1.3
app-shells/gentoo-bashcomp-20101217-r1

Would you like save some packages? [Yes/No] y
1) sys-apps/miscfiles-1.5-r1
2) app-shells/bash-completion-1.3
3) app-shells/gentoo-bashcomp-20101217-r1
Choose package which you want save: 2
More? [Yes/No] n
>>> Recording app-shells/bash-completion in "world" favorites file...
>>> Jobs: 0 of 0 complete                           Load avg: 0.83, 0.49, 0.33
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

emerge -pc: recheck...



Changes for /var/lib/portage/world:
###############################################
5       :-app-cdr/k3b: 
6       :-app-editors/emacs: 
26      :-app-text/aspell: 
30      :-app-text/texlive-core: 
32      :-dev-python/pygments: 
37      :-dev-tex/xcolor: 
42      :+kde-base/kmail: 
54      :-media-fonts/corefonts: 
72      :-sys-apps/pciutils: 
73      :-sys-apps/portage: 
75      :-sys-boot/grub:2: 
67      :+sys-boot/grub: 
79      :-sys-kernel/gentoo-sources: 
80      :-sys-power/acpid: 
84      :-www-client/chromium: 
85      :-www-client/firefox: 
74      :+virtual/perl-Version-Requirements: 
94      :-x11-base/xorg-server: 
###############################################
И это:
emerge -pc: check...


sys-apps/miscfiles-1.5-r1
app-shells/bash-completion-1.3
app-shells/gentoo-bashcomp-20101217-r1

Would you like save some packages? [Yes/No] n

emerge -pc: recheck...


sys-apps/miscfiles-1.5-r1
app-shells/bash-completion-1.3
app-shells/gentoo-bashcomp-20101217-r1

Would you like save some packages? [Yes/No] n

Changes for /var/lib/portage/world:
###############################################
5       :-app-cdr/k3b: 
6       :-app-editors/emacs: 
24      :-app-shells/bash-completion: 
26      :-app-text/aspell: 
30      :-app-text/texlive-core: 
32      :-dev-python/pygments: 
34      :-dev-tex/minted: 
35      :-dev-tex/pgf: 
36      :-dev-tex/texmfind: 
37      :-dev-tex/xcolor: 
32      :+dev-tex/minted: 
41      :+kde-base/kmail: 
54      :-media-fonts/corefonts: 
72      :-sys-apps/pciutils: 
73      :-sys-apps/portage: 
75      :-sys-boot/grub:2: 
66      :+sys-boot/grub: 
79      :-sys-kernel/gentoo-sources: 
80      :-sys-power/acpid: 
84      :-www-client/chromium: 
85      :-www-client/firefox: 
94      :-x11-base/xorg-server: 
###############################################
Во втором случае строки
34      :-dev-tex/minted: 
35      :-dev-tex/pgf: 
36      :-dev-tex/texmfind: 
явно лишние.

iVS ★★★★★
()
Ответ на: комментарий от iVS

ага, только я только что сделал пару необходимых коммитов
пересинкайте/обновите версию

megabaks ★★★★
() автор топика
Ответ на: комментарий от megabaks

все библиотеки идут лесом, т.к. либы сами по себе не нужны,

отличная логика, комрад. Если у меня лежит софт в ~/devel, над которым я в данный момент работаю, и которому нужна определённая либа, получается тыдыдын.

anonymous
()
Ответ на: комментарий от anonymous

в случае чего ты можешь создать сет и включить его в мир
/Кэп
это более грамотный ход для основной системы

megabaks ★★★★
() автор топика
Ответ на: комментарий от anonymous

Ну какбы есть два пути(если уж ты так хочешь использовать эту чистилку) - виртуальный пакет, тянующий нужные либы или сет, как уже посоветовал megabaks

Учитывая ориентированность на десктопы НЕ-разработчиков - такая идея программы вполне логичная.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)

Килобакс, этот алгоритм же будет сжирать вручную_запиленные/системе_ненужные пакеты (например, gcc:4.6 будет удален emerge -c, так как стоит из :4.7) это каждый раз кидать нужное заново? или ты будешь пилить конфиг с сиключениями и для этого?

пока не тестил, но потещу обязательно.

funeralismatic ★★★
()
Ответ на: комментарий от shell-script

просто чуть перепилил бекапилку для профиля в /etc
ну и т.к. сейчас хочу откат сделать 1 функцией с разными параметрами, лишние различия не совсем хороши

megabaks ★★★★
() автор топика
Ответ на: комментарий от megabaks

затем, что у меня почти после каждого обновления что-то нужно добавить (особенно слоты), ибо юзаю emerge -c, мне хлам не нужен, но и нужное удалять мне не нужно.

запили конфиг с исключениями (или сеты юзать штоле?).

funeralismatic ★★★
()
Ответ на: комментарий от AlexCones

так уже в portconf влилось
там ща ещё кое-что добавилось: возьму бабла и пивасика, слабаю топик

megabaks ★★★★
() автор топика
Ответ на: комментарий от megabaks

Не поверишь, перед тем как отправить тебе файлик world добавил в него пару строчек и теперь всё шикарно. Первоначальный вариант с которым были косяки http://ompldr.org/iaHZvNQ

Тебе по идее тогда и мой make.conf был нужен, есесно у тебя счас будут косяки с пересборкой. К тому же у меня подключены оверлеи, которых у тебя нет.

Вывод с беспроблемным world http://pastebin.com/3LSzn0vR Результат world со 162 сократился до 131

Вывод с косячным world http://pastebin.com/fKx1Qq0Y

daemonpnz ★★★★★
()
Последнее исправление: daemonpnz (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.