LINUX.ORG.RU

[gentoo] Есть ли оверлей без gtk3?

 


0

1

Довольно давно уже портеж пытается установить ненужное gtk 3, cопровождая это радостными надписями

# Alexandre Rostovtsev <tetromino@gentoo.org> (18 Oct 2011)
# Gtk+-3.2, friends, and dependencies; will be unmasked soon™
# (before rest of GNOME-3.2)
Надоел, не хочу я пока никакого gtk3, нехочу держать две версии по слотам.

Как же, ведь чудесная гента где юзер якобы сам себе хозяин.

Есть ли оверлей без этих ненужных новшеств?(и учитывая «before rest of GNOME-3.2» c тёплым ламповым gnome2 в будущем, а не поделием для телефонов)

Или заниматься самодеятельностью?

★★

ну сколько можно ныть?
пилят - пилят уже
во некоторых пакетах уже gtk3 опционально

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

Пока так и делаю.

Но это ручная работа и что дальше будет... По-хорошему надо делать свой оверлей, но может уже есть готовый?Вряд ли только у меня такие желания.

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

>Велком в наш фиговый мир.

Читал, но результата какого-то не обнаружил.

Значит не такого оверлея?

во некоторых пакетах уже gtk3 опционально

«В некоторых» - отлично, да.Почему изначально это не сделали юзом?

Что за, блджад, даже не убунта а винда - принудительная установка того что мне нафиг не нужно.

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

Потому что слишком много мейнтейнеров криворуких.
На днях обсуждали эту проблему в чате по slitaz - решили по последнего держать GTK2 у себя.

devl547 ★★★★★
()

Не ной а возьми и сделай. На то она и гента.

init_6 ★★★★★
()
Ответ на: комментарий от quantum-troll

>Смотри лучше в сторону source mage/lunar/arch.

Смотри лучше в сторону slackware

fixed

MaZy ★★★★★
()

Сначала сделайте.

# emerge --sync
затем сохраните этот патч в файл /tmp/usegtk3.patch
--- app-editors/gobby/gobby-0.4.94.ebuild	2011-04-30 13:50:35.000000000 +0400
+++ app-editors/gobby/gobby-0.4.94-r1.ebuild	2011-10-24 13:43:18.000000000 +0400
@@ -12,15 +12,16 @@
 LICENSE="GPL-2"
 SLOT="0.5"
 KEYWORDS="~amd64 ~x86"
-IUSE="avahi doc nls"
+IUSE="avahi doc nls gtk3 gtk"
 
 RDEPEND="dev-cpp/glibmm:2
 	dev-cpp/gtkmm:3.0
 	dev-libs/libsigc++:2
 	>=net-libs/libinfinity-0.4[gtk,avahi?]
-	x11-libs/gtk+:3
-	dev-cpp/libxmlpp:2.6
-	x11-libs/gtksourceview:3.0"
+	gtk? ( x11-libs/gtksourceview:2.0 )
+	gtk3? ( x11-libs/gtk+:3 \
+			x11-libs/gtksourceview:3.0 )
+	dev-cpp/libxmlpp:2.6"
 DEPEND="${RDEPEND}
 	dev-util/pkgconfig
 	doc? (
@@ -31,7 +32,7 @@
 
 src_configure() {
 	econf $(use_enable nls) \
-		--with-gtk3
+		  $(use_with gtk3)
 }
 
 src_install() {
--- lxde-base/lxpolkit/lxpolkit-0.1.0-r1.ebuild	2011-10-19 01:26:23.000000000 +0400
+++ lxde-base/lxpolkit/lxpolkit-0.1.0-r2.ebuild	2011-10-24 14:27:23.000000000 +0400
@@ -11,10 +11,11 @@
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE=""
+IUSE="gtk gtk3"
 
 RDEPEND=">=sys-auth/polkit-0.102
-	x11-libs/gtk+:3
+	gtk? ( >=x11-libs/gtk+-2.12.2:2 ) 
+	gtk3? ( x11-libs/gtk+:3 )
 	!gnome-extra/polkit-gnome"
 DEPEND="${RDEPEND}
 	>=dev-util/intltool-0.40.0
@@ -27,4 +28,4 @@
 	echo 'AutostartCondition=GNOME3 if-session gnome-fallback' >> ${f}
 }
 
-src_configure() { econf --enable-gtk3; }
+src_configure() { econf $(use_enable gtk3) ; }
--- media-sound/audacious/audacious-3.0.3-r1.ebuild	2011-09-24 16:20:34.000000000 +0400
+++ media-sound/audacious/audacious-3.0.3-r2.ebuild	2011-10-24 13:24:46.000000000 +0400
@@ -14,7 +14,7 @@
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux"
-IUSE="altivec chardet nls session sse2"
+IUSE="altivec chardet nls session sse2 gtk3 gtk"
 
 RDEPEND=">=dev-libs/dbus-glib-0.60
 	>=dev-libs/glib-2.16
@@ -23,7 +23,8 @@
 	dev-libs/libxml2
 	>=x11-libs/cairo-1.2.6
 	>=x11-libs/pango-1.8.0
-	x11-libs/gtk+:3
+	gtk? ( >=x11-libs/gtk+-2.20.0:2 ) 
+	gtk3? ( x11-libs/gtk+:3 )
 	session? ( x11-libs/libSM )"
 
 DEPEND="${RDEPEND}
@@ -42,7 +43,7 @@
 	# Use of GTK+2 causes plugin build failures, bug #384185
 	econf \
 		--enable-dbus \
-		--enable-gtk3 \
+		$(use_enable gtk3) \
 		$(use_enable altivec) \
 		$(use_enable chardet) \
 		$(use_enable nls) \
--- media-video/gnome-mplayer/gnome-mplayer-1.0.4.ebuild	2011-10-23 16:31:19.000000000 +0400
+++ media-video/gnome-mplayer/gnome-mplayer-1.0.4-r1.ebuild	2011-10-24 14:18:32.000000000 +0400
@@ -12,10 +12,9 @@
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~alpha amd64 ~ppc ~ppc64 x86 ~x86-fbsd"
-IUSE="alsa dbus gnome ipod libnotify musicbrainz pulseaudio"
+IUSE="alsa dbus gnome ipod libnotify musicbrainz pulseaudio gtk gtk3"
 
 COMMON_DEPEND=">=dev-libs/glib-2.26:2
-	x11-libs/gtk+:3
 	x11-libs/libX11
 	x11-libs/libXScrnSaver
 	alsa? ( media-libs/alsa-lib )
@@ -25,7 +24,10 @@
 	libnotify? ( x11-libs/libnotify )
 	musicbrainz? ( net-misc/curl
 		>=media-libs/musicbrainz-3 )
-	pulseaudio? ( >=media-sound/pulseaudio-0.9.14 )"
+	pulseaudio? ( >=media-sound/pulseaudio-0.9.14 )
+	gtk? ( >=x11-libs/gtk+-2.22.0:2 ) 
+	gtk3? ( x11-libs/gtk+:3 )"
+
 RDEPEND="${COMMON_DEPEND}
 	|| ( >=media-video/mplayer-1.0_rc4_p20100101[ass] media-video/mplayer2[ass] )
 	gnome-base/dconf
@@ -37,13 +39,13 @@
 DOCS="ChangeLog README DOCS/keyboard_shortcuts.txt DOCS/tech/dbus.txt DOCS/tech/plugin-interaction.txt"
 
 src_prepare() {
-	epatch "${FILESDIR}"/${P}-noalsa.patch
+	use gtk3 && epatch "${FILESDIR}"/${P}-noalsa.patch
 }
 
 src_configure() {
 	# FIXME: The only reason why --without-gpm-new-method is passed is lack of testing.
 	econf \
-		--enable-gtk3 \
+		$(use_enable gtk3) \
 		$(use_enable gnome nautilus) \
 		--disable-gseal \
 		--without-gconf \

затем сохраните этот скрипт и дайте ему право на исполнение:

#!/bin/sh
PORTDIR="/usr/portage"
LOCAL_OVERLAY="/tmp/local/portage"
FILES="/lxde-base/lxpolkit/lxpolkit-0.1.0-r1.ebuild@/lxde-base/lxpolkit/lxpolkit-0.1.0-r2.ebuild \
/media-video/gnome-mplayer/gnome-mplayer-1.0.4.ebuild@/media-video/gnome-mplayer/gnome-mplayer-1.0.4-r1.ebuild \
/media-sound/audacious/audacious-3.0.3-r1.ebuild@/media-sound/audacious/audacious-3.0.3-r2.ebuild \
/app-editors/gobby/gobby-0.4.94.ebuild@/app-editors/gobby/gobby-0.4.94-r1.ebuild \
/media-video/gnome-mplayer/files/gnome-mplayer-1.0.4-noalsa.patch@/media-video/gnome-mplayer/files/gnome-mplayer-1.0.4-noalsa.patch"

[ -e ${LOCAL_OVERLAY} ] || ( mkdir ${LOCAL_OVERLAY} ; echo PORTDIR_OVERLAY="${LOCAL_OVERLAY}" >> /etc/make.conf )
for filename in ${FILES}
do 
  mkdir -p $LOCAL_OVERLAY`dirname ${filename/@*/}`
  cp $PORTDIR${filename/@*/} $LOCAL_OVERLAY${filename/*@/}   
done

cd $LOCAL_OVERLAY

patch -p0 < /tmp/usegtk3.patch

for filename in ${FILES}
do 
  cd $LOCAL_OVERLAY`dirname ${filename/@*/}`  
  ebuild `basename ${filename/*@/}` digest
  cd $LOCAL_OVERLAY  
done

И выполните:

# chmod +x script.sh
# ./script.sh

Скрипт скопирует в локальный оверлэй ebuild`ы, для в которых использование gtk3 будет вынесено в флаг gtk3, затем пропишет его в /etc/make.conf

PORTDIR_OVERLAY="/usr/local/portage"
внесёт изменения в ebuild`ы и сделает для ebuild`ов digest.

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

Он и не должен быть портируемым, и по сути это не костыль, я прошелся с помощью find и grep и нашёл ebuild`ы, где упоминаются опции сборки "--with-gtk3 или --enable-gtk3", исключая те ebuild`ы, в которых собираемое приложение в данные момент может быть собрано только с gtk3, к примеру =app-cdr/brasero-3.0.0, в его исходниках нет поддержки gtk2, и таких ebuild`ов, которые требуют только gtk3 большинство из найденных, так же помимо прочего искалось вхождение просто gtk3.

Из найденных ebuild`ов только 4 могут быть собраны как с gtk2 так и с gtk3, в них я добавил флаг gtk и gtk3 и указал зависимости.

Предложенный мной скрипт накладывает patch на существующие версии ebuid`ов, добавляя в них флаг gtk и gtk3 ни о какой универсальности не может быть и речи, думаю это понятно почему.

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

Да забыл подправить в скрипте,

смените
LOCAL_OVERLAY="/tmp/local/portage"
на
LOCAL_OVERLAY="/usr/local/portage"

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

ну вот - костыль же
проще ебилды скопипастить и пробежаться sed-ом

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

Ну во первых прежде чем что-то говорить стоит проверить свою правоту, выполните

# ebuild gobby-0.4.94.ebuild prepare
# ebuild lxpolkit-0.1.0-r1.ebuild prepare
# ebuild gnome-mplayer-1.0.4.ebuild prepare
# ebuild audacious-3.0.3-r1.ebuild prepare
затем
# cd /var/tmp/portage/*/*/work/
# ./configure --help | grep gtk
И если вы здесь найдетё опцию с gtk2 или просто gtk, а не только с gtk3 тогда ваше высказывание будет обосновано.

А по поводу sed - напишите команду, которая автоматом изменит нужные ebuild`ы, мне проще патч выложить чем разбираться в проблемах.

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

>А по поводу sed - напишите команду, которая автоматом изменит нужные ebuild`ы
так где нечего менять, сед ничего менять и не будет
удивлён?

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

да при чём здесь это, я имею ввиду, что в скриптах configure тех версий пакетов, для которых я изменил ebuild`ы нет ни опции "--with-gtk/--enable-gtk" ни опции "--with-gtk2/--enable-gtk2", есть только опция "--with-gtk3/--enable-gtk3", если она активирована то для сборки используется библиотека gtk3+, если не активирована - то используется библиотека gtk2+, ясно или не очень ?

Выполните предложенные мной действия и сами проверьте что есть а чего нет.

Не надо ставить своё мнение в абсолют., потом стыдно становится.

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

так
повторю для особо догадливых простые истины
если ты изменишь --with-gtk3 на --with-gtk2
то даже если такой опции нет,то пакет соберётся с гтк2!
открою большой секрет - скрипт просто забьёт на неизвестную опцию
и повторю ещё одну истину - не спорь со мной!
и учи матчасть!
достали недогентушнеги!

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

>опции просто "--with-gtk=???" тоже нет
грепни дерево и больше не позорься, неуч!

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

я всё сделал за тебя - угощайся

[ megabaks@desktop ] ~ $ grep -RH "gtk=" /usr/portage/*/*/*.ebuild
/usr/portage/app-arch/file-roller/file-roller-2.32.2.ebuild:		--with-gtk=2.0
/usr/portage/app-cdr/brasero/brasero-2.32.1.ebuild:		--with-gtk=2.0
/usr/portage/app-cdr/brasero/brasero-2.32.1-r1.ebuild:		--with-gtk=2.0
/usr/portage/app-crypt/seahorse/seahorse-3.0.2.ebuild:		--with-gtk=3.0
/usr/portage/app-emacs/emacs-daemon/emacs-daemon-0.18.ebuild:	has_gtk=$(${EMACS} ${EMACSFLAGS} --eval "(princ (featurep 'gtk))")
/usr/portage/app-text/evince/evince-2.32.0-r2.ebuild:		--with-gtk=2.0
/usr/portage/app-text/evince/evince-2.32.0-r3.ebuild:		--with-gtk=2.0
/usr/portage/dev-libs/libindicator/libindicator-0.3.22.ebuild:		--with-gtk=2
/usr/portage/dev-vcs/gitg/gitg-0.1.0.ebuild:		--with-gtk=2.0"
/usr/portage/gnome-base/gconf/gconf-2.32.3.ebuild:		--with-gtk=2.0
/usr/portage/gnome-base/gconf/gconf-2.32.4.ebuild:		--with-gtk=2.0
/usr/portage/gnome-base/gnome-keyring/gnome-keyring-2.32.1.ebuild:		--with-gtk=2.0"
/usr/portage/gnome-base/gnome-keyring/gnome-keyring-2.32.1-r1.ebuild:		--with-gtk=2.0"
/usr/portage/gnome-base/gnome-keyring/gnome-keyring-3.0.3-r200.ebuild:		--with-gtk=2.0"
/usr/portage/gnome-base/gnome-keyring/gnome-keyring-3.0.3-r300.ebuild:		--with-gtk=3.0"
/usr/portage/gnome-base/gnome-session/gnome-session-2.32.1-r2.ebuild:		--with-gtk=2.0
/usr/portage/gnome-base/gnome-session/gnome-session-2.32.1-r3.ebuild:		--with-gtk=2.0
/usr/portage/gnome-base/librsvg/librsvg-2.34.0.ebuild:		--with-gtk=2.0"
/usr/portage/gnome-base/librsvg/librsvg-2.34.1.ebuild:		--with-gtk=2.0"
/usr/portage/gnome-base/librsvg/librsvg-2.34.1-r1.ebuild:	use gtk && ! use gtk3 && G2CONF+=" --with-gtk=2.0"
/usr/portage/gnome-base/librsvg/librsvg-2.34.1-r1.ebuild:	use gtk && use gtk3 && G2CONF+=" --with-gtk=both"
/usr/portage/gnome-base/librsvg/librsvg-2.34.1-r1.ebuild:	! use gtk && use gtk3 && G2CONF+=" --with-gtk=3.0 --enable-gtk-theme"
/usr/portage/gnome-extra/gcalctool/gcalctool-5.32.2.ebuild:		--with-gtk=2.0"
/usr/portage/gnome-extra/gcalctool/gcalctool-6.0.2.ebuild:		--with-gtk=3.0"
/usr/portage/gnome-extra/gconf-editor/gconf-editor-2.32.0.ebuild:		--with-gtk=2.0"
/usr/portage/gnome-extra/gnome-games/gnome-games-3.0.2.ebuild:		--with-gtk=3.0
/usr/portage/gnome-extra/gnome-web-photo/gnome-web-photo-0.10.1.ebuild:	G2CONF="${G2CONF} --with-gtk=2.0"
/usr/portage/gnome-extra/gnome-web-photo/gnome-web-photo-0.10.2.ebuild:	G2CONF="${G2CONF} --with-gtk=2.0"
/usr/portage/gnome-extra/gucharmap/gucharmap-2.32.1.ebuild:		--with-gtk=2.0
/usr/portage/gnome-extra/gucharmap/gucharmap-3.0.1-r200.ebuild:		--with-gtk=2.0
/usr/portage/gnome-extra/gucharmap/gucharmap-3.0.1-r300.ebuild:		--with-gtk=3.0
/usr/portage/gnome-extra/zenity/zenity-2.32.1.ebuild:		--with-gtk=2.0
/usr/portage/media-sound/sound-juicer/sound-juicer-2.32.0.ebuild:		--with-gtk=2.0
/usr/portage/media-sound/sound-juicer/sound-juicer-2.32.0-r1.ebuild:		--with-gtk=2.0
/usr/portage/net-analyzer/gnome-nettool/gnome-nettool-2.32.0.ebuild:		--with-gtk=2.0
/usr/portage/net-libs/gtk-vnc/gtk-vnc-0.4.2-r2.ebuild:		--with-gtk=2.0 \
/usr/portage/net-libs/gtk-vnc/gtk-vnc-0.4.3.ebuild:		--with-gtk=2.0 \
/usr/portage/net-libs/gtk-vnc/gtk-vnc-0.4.3-r1.ebuild:		--with-gtk=2.0
/usr/portage/net-libs/gtk-vnc/gtk-vnc-0.4.3-r1.ebuild:			--with-gtk=3.0
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.4.2-r200.ebuild:		--with-gtk=2.0
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.4.2-r300.ebuild:		--with-gtk=3.0
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.4.3-r200.ebuild:		--with-gtk=2.0
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.4.3-r300.ebuild:		--with-gtk=3.0
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.6.1-r200.ebuild:		--with-gtk=2.0
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.6.1-r300.ebuild:		--with-gtk=3.0
/usr/portage/net-misc/mico/mico-2.3.13-r4.ebuild:	myconf --with-gtk=$(  use gtk      && echo "${EPREFIX}"/usr)
/usr/portage/net-misc/mico/mico-2.3.13-r5.ebuild:	myconf --with-gtk=$(  use gtk      && echo "${EPREFIX}"/usr)
/usr/portage/net-misc/mico/mico-9999.ebuild:	myconf --with-gtk=$(  use gtk      && echo "${EPREFIX}"/usr)
/usr/portage/net-misc/spice-gtk/spice-gtk-0.6-r1.ebuild:	local gtk="2.0"
/usr/portage/net-misc/spice-gtk/spice-gtk-0.6-r1.ebuild:	use gtk3 && gtk="3.0"
/usr/portage/net-misc/spice-gtk/spice-gtk-0.6-r1.ebuild:		--with-gtk="${gtk}"
/usr/portage/net-misc/spice-gtk/spice-gtk-0.7.ebuild:	local gtk="2.0"
/usr/portage/net-misc/spice-gtk/spice-gtk-0.7.ebuild:	use gtk3 && gtk="3.0"
/usr/portage/net-misc/spice-gtk/spice-gtk-0.7.ebuild:		--with-gtk="${gtk}" \
/usr/portage/sci-physics/lightspeed/lightspeed-1.2a-r1.ebuild:		--with-gtk=2 \
/usr/portage/x11-libs/vte/vte-0.28.1-r200.ebuild:		--with-gtk=2.0"
/usr/portage/x11-libs/vte/vte-0.28.1-r300.ebuild:		--with-gtk=3.0"
/usr/portage/x11-libs/vte/vte-0.28.2-r200.ebuild:		--with-gtk=2.0"
/usr/portage/x11-libs/vte/vte-0.28.2-r300.ebuild:		--with-gtk=3.0"
/usr/portage/x11-terms/evilvte/evilvte-0.4.9.ebuild:	./configure --prefix=/usr --with-gtk=3.0 || die
/usr/portage/x11-terms/evilvte/evilvte-0.5.0_pre1.ebuild:	./configure --prefix=/usr --with-gtk=3.0 || die
/usr/portage/x11-terms/gnome-terminal/gnome-terminal-3.0.1.ebuild:	G2CONF="${G2CONF} --with-gtk=3.0"
/usr/portage/x11-wm/metacity/metacity-2.30.3.ebuild:		--with-gtk=2.0
/usr/portage/x11-wm/metacity/metacity-2.34.0.ebuild:		--with-gtk=2.0
[ megabaks@desktop ] ~ $
ещё вопросы будут?
а то что предложил ты - это только тебе нужный локальный велосипед, причём с бОльшим кол-вом телодвижений, нежели вариант с /etc/portage/env

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

> и повторю - не надо со мной спорить!

если бы я с тобой когда-то не поспорил, ты бы до сих пор утвержадл бы, что в генте нельзя отличить пакет-цель от пакета-зависимости, любитель матчасти ты наш.

anonymous
()

[off] Чо поделать, вроде сорс-бэйсд, но ебыдлописатели не рассчитывают на выпиливание из системы всяких perl и тп, их нет в профиле и в зависимостях ебыдлов, но без них каждый второй пакет не собирается, и тп. [/off]

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

Так, ну и к чему «ТЫ», раз так хочешь, ты мне это написал, я не учёл, что может быть "--with-gtk=3.0/2.0", поправить ebuild`ы и сгенерировать path можно и в этом случае, при чём здесь велосипед, ты понял или нет, что я поправил ebuild`ы для ТС и приложил patch и скрипт, что бы он мог сам получить подправленные ebuild`ы с добавлением USE флаглов gtk3 и gtk, да я не учёл, что использование gtk3 как основного фрэймворка может задаваться как "--with-gtk=3.0" или для gtk2 как "--with-gtk=2.0", признаю свою оплошность. Но вилосипеда здесь не вижу, если у тебя есть готовый скрипт на sed или perl -pi «s///» то прошу его здесь приложить.

Да возможно я в чём то ошибся, но кричать что ты всё делаешь «правильно» не стоит, лучше бы сразу указал на ошибку с примером и указал бы свой скрипит на sed.

Надеюсь ты понял почему я выложил патч и скрипт для его применения.

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

велосипед потому что:
твой вариант:
1. патч
2.скрипт
3.локальный оверлей
4.ebuild....manifest
5.прописывание оверлея
6.при апдейтах придётся проводить бамп версий

мой:
1. один раз запилить функцию src_configure в /etc/portage/env/${CATEGORY}/${PN}
разницу видишь?

запилить скрипт с sed-om...но тогда придётся опять же лепить локальный оверлей и прогонять manifest по всем ебилдам

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

>и указал бы свой скрипит на sed.
самое просто решение от меня есть в треде из второго поста на примере gnome-mplayer

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

Объясни подробнее, с примерами. Про /etc/portage/env я еще не читал и не разбирался, всегда правил ebuild и вносил его в локальный оверлэй. Да если есть примерно с sed`ом более - менее универсальный если не трудно приложи, будет интересно посмотреть.

И еще раз говорю я приложил патч, что бы ТС сам смог получить изменённые ebuild`Ы, не правя их вручную.

самое просто решение от меня есть в треде из второго поста на примере gnome-mplayer

Пардон, не вижу, можно ссылку, видимо сказывается позднее время.

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

Да если есть примерно с sed`ом более - менее универсальный если не трудно приложи, будет интересно посмотреть.

внимание! бидлокод

#!/bin/bash

N_GTK3="$(for i in `grep -RH -e "with-gtk3" -e "enable-gtk3" -e "with-gtk=3" -e "with gtk3" -e "with gtk=3" -e "enable gtk3" -e "enable gtk=3" /usr/portage/*/*/*.ebuild | cut -d\: -f1 | uniq`;do grep -RH IUSE $i | grep gtk3 &>/dev/null || echo $i;done)"

OVERLAY="overlay-gtk3"

for x in ${N_GTK3};do
mkdir -p "${OVERLAY}"/"$(echo ${x} | cut -d\/ -f4,5)"
cp -R "$(echo ${x} | cut -d\/ -f-5)" "${OVERLAY}/$(echo ${x} | cut -d\/ -f4)"

#sed -e 's/IUSE="/IUSE="gtk3 /g' -i "${OVERLAY}/$(echo ${x} | cut -d\/ -f4,5,6)"

sed -e 's/-gtk3/-gtk2/g' \
	-e 's/gtk=3/gtk=2/g' \
		-i `find "${OVERLAY}/$(echo ${x} | cut -d\/ -f4,5)" -type f -name "*.ebuild"`

ebuild "${OVERLAY}/$(echo ${x} | cut -d\/ -f4,5,6)" manifest
done
это без юзов (много гемора) и так же необходимо будет убрать всякие третье-гномовые ошмётки - для них сабж бесполезен
ну пилить это можно бесконечно
повторю - овер /etc/portage/env на порядки проще и быстрей

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

это что? о_О
ты так ничего внятного и не объяснил
и таки вопрос открыт - при обновлении, если пакет не в мире, то не фат что он обновится
прохходили - знаем
так что помолчи уж
ах да - не прячься

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

в мане коротко есть - в этих файлах можно задать свои переменные и функции
в итоге можно перепилить практически весь ебилд
только вот с inherit не баловался
а остальное запросто

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

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

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

Ну блин, устроили срач.

/etc/portage/env на порядки проще и быстрей

Проще, быстрей - но это не обшепринятое и не универсальное решение.К локальному оверлею у меня несколько машин подключено.А если делать вобще публичный(чтоб через лайман, по понятиям) оверлей?(хотя я таким заниматься видно не буду, походу это никому не нужно.Да и может в дереве наконец головой думать станут)

В общем ясно всё, оверлея нет.Плохо.Посмотрел live Gnome3 - песец, этим пользоваться нельзя, fallback же - кастрированный gnome2, шаг назад.

Ненавижу гномодевлоперов.

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

там таки думают
считалочка

#!/bin/bash

H_GTK3="$(for i in `grep -RH -e "with-gtk3" -e "enable-gtk3" -e "with-gtk=3" -e "with gtk3" -e "with gtk=3" -e "enable gtk3" -e "enable gtk=3" /usr/portage/*/*/*.ebuild | cut -d\: -f1 | uniq`;do grep -RH IUSE $i | grep gtk3 &>/dev/null && echo $i;done)"
N_GTK3="$(for i in `grep -RH -e "with-gtk3" -e "enable-gtk3" -e "with-gtk=3" -e "with gtk3" -e "with gtk=3" -e "enable gtk3" -e "enable gtk=3" /usr/portage/*/*/*.ebuild | cut -d\: -f1 | uniq`;do grep -RH IUSE $i | grep gtk3 &>/dev/null || echo $i;done)"

echo WITH USE:
echo $H_GTK3 | tr " " "\n"
echo $H_GTK3 | tr " " "\n" | wc -l
echo
echo WITHOUT USE:
echo $N_GTK3 | tr " " "\n"
echo $N_GTK3 | tr " " "\n" | wc -l
выхлоп
WITH USE:
/usr/portage/app-i18n/ibus/ibus-1.3.99.20110817.ebuild
/usr/portage/app-i18n/ibus/ibus-1.3.9-r2.ebuild
/usr/portage/app-i18n/ibus/ibus-1.4.0.ebuild
/usr/portage/app-i18n/uim/uim-1.7.0.ebuild
/usr/portage/app-i18n/uim/uim-1.7.1.ebuild
/usr/portage/gnome-base/librsvg/librsvg-2.34.1-r1.ebuild
/usr/portage/lxde-base/lxdm/lxdm-0.4.1-r1.ebuild
/usr/portage/lxde-base/lxdm/lxdm-0.4.1-r2.ebuild
/usr/portage/media-libs/libcanberra/libcanberra-0.28-r3.ebuild
/usr/portage/media-libs/libcanberra/libcanberra-0.28-r5.ebuild
/usr/portage/media-sound/mp3splt-gtk/mp3splt-gtk-0.7.0.930.ebuild
/usr/portage/media-sound/pavucontrol/pavucontrol-1.0.ebuild
/usr/portage/net-dns/avahi/avahi-0.6.30-r1.ebuild
/usr/portage/net-libs/gtk-vnc/gtk-vnc-0.4.3-r1.ebuild
/usr/portage/www-client/uget/uget-1.8.0.ebuild
/usr/portage/www-client/uget/uget-9999.ebuild
16

WITHOUT USE:
/usr/portage/app-crypt/seahorse/seahorse-3.0.2.ebuild
/usr/portage/app-editors/gobby/gobby-0.4.94.ebuild
/usr/portage/gnome-base/gnome-keyring/gnome-keyring-3.0.3-r300.ebuild
/usr/portage/gnome-extra/gcalctool/gcalctool-6.0.2.ebuild
/usr/portage/gnome-extra/gnome-games/gnome-games-3.0.2.ebuild
/usr/portage/gnome-extra/gucharmap/gucharmap-3.0.1-r300.ebuild
/usr/portage/lxde-base/lxpolkit/lxpolkit-0.1.0-r1.ebuild
/usr/portage/media-sound/audacious/audacious-3.0.3-r1.ebuild
/usr/portage/media-video/gnome-mplayer/gnome-mplayer-1.0.4.ebuild
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.4.2-r300.ebuild
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.4.3-r300.ebuild
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.6.1-r200.ebuild
/usr/portage/net-libs/webkit-gtk/webkit-gtk-1.6.1-r300.ebuild
/usr/portage/x11-libs/vte/vte-0.28.1-r300.ebuild
/usr/portage/x11-libs/vte/vte-0.28.2-r300.ebuild
/usr/portage/x11-terms/evilvte/evilvte-0.4.9.ebuild
/usr/portage/x11-terms/evilvte/evilvte-0.5.0_pre1.ebuild
/usr/portage/x11-terms/gnome-terminal/gnome-terminal-3.0.1.ebuild
18

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

гномо-пакеты >=3 можно, естессно, выкинуть - они под гтк3-онли заточены

megabaks ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.