public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] emerge with interacitve use
@ 2003-04-29 17:03 Panard
  2003-04-29 17:34 ` Tony Clark
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Panard @ 2003-04-29 17:03 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1107 bytes --]

Hello,

	After some experiencies with emerge, it could be great that to do an emerge 
with USE interactive :

$ emerge -I php
>>> ...
Use Java [Y/n]?
Use X[y/N] ?
....

I found, that there are too many errors due to USE vars that we forget  to 
disable or enable...

So I have taken my hands and my vim, and tried to do this, it gave a good 
result.

I join the script, its name is emerge-interactive, this is in fact the emerge 
script with my modifications (line  1840 to 1877)... place it in the 
directory
/usr/lib/portage/bin
then
ln -s /usr/lib/portage/bin/emerge-interactive /usr/bin


To use the interactive mide, use
$ emerge-interactive -I or --interactive ....

This is my first gentoo and linux contribution so I'm waiting for some 
feedback, impression, and sure critiques and amelioration (this is the first 
time I script in python, so be indulgent !!)

Thanks!

Panard


-- 
________________________________________________________
         panard@inzenet.org                http://www.inzenet.org

"Computers are like air-conditioners, they stop working properly when you open 
Windows."



[-- Attachment #2: emerge-interactive.bz2 --]
[-- Type: application/x-bzip2, Size: 17581 bytes --]

[-- Attachment #3: Type: text/plain, Size: 37 bytes --]

--
gentoo-dev@gentoo.org mailing list

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] emerge with interacitve use
  2003-04-29 17:34 ` Tony Clark
@ 2003-04-29 17:30   ` Henti Smith
  0 siblings, 0 replies; 15+ messages in thread
From: Henti Smith @ 2003-04-29 17:30 UTC (permalink / raw
  To: Tony Clark; +Cc: gentoo-dev

> > I found, that there are too many errors due to USE vars that we forget  to
> > disable or enable...

hmmm .. interresting .. 

> Having had my wrists slapped by seemat for having an interrative build process 
> I don't like your chances and to be quite honest unless there was someway to 
> control globally enable/disable interactive ebuilds I think I would find it 
> very painful very quickly.

why not link the interactive build options to -I ... so to have an interactive merge you do 

emerge -u vpopmail -I 

so I can tell the damn thing not to use mysql ;P 

and emerge -u qmail 

for non-interactive ? 

Henti

--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] emerge with interacitve use
  2003-04-29 17:03 [gentoo-dev] emerge with interacitve use Panard
@ 2003-04-29 17:34 ` Tony Clark
  2003-04-29 17:30   ` Henti Smith
  2003-04-29 20:03 ` Eric Noack
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Tony Clark @ 2003-04-29 17:34 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tuesday 29 April 2003 19.03, Panard wrote:
> Hello,
>
> 	After some experiencies with emerge, it could be great that to do an
> emerge with USE interactive :
>
> $ emerge -I php
>
> >>> ...
>
> Use Java [Y/n]?
> Use X[y/N] ?
> ....
>
> I found, that there are too many errors due to USE vars that we forget  to
> disable or enable...
>
> So I have taken my hands and my vim, and tried to do this, it gave a good
> result.

Having had my wrists slapped by seemat for having an interrative build process 
I don't like your chances and to be quite honest unless there was someway to 
control globally enable/disable interactive ebuilds I think I would find it 
very painful very quickly.

tony
- -- 
Contract ASIC and FPGA design.
Telephone +46 702 894 667
http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0x633E2623

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iQCVAwUBPq63i2kjRGZD9pCjAQLtvQP/dKCI/jdul/roUPUIVs9FMUeKRLH0+7Li
9G+OrJ5XBjP6Gj/Wyyj3oFCrmTqvIYFY7EpQxuwSzixqP+Agj8Bd4nxRfrIOSrLE
Igsda03dINcMMokkLbC1+7qxtwyb6A+MYPCNR37rctj9dPTd0edEdYbX47RqDOD/
p0XjJ0t932o=
=Ou53
-----END PGP SIGNATURE-----


--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] emerge with interacitve use
  2003-04-29 17:03 [gentoo-dev] emerge with interacitve use Panard
  2003-04-29 17:34 ` Tony Clark
@ 2003-04-29 20:03 ` Eric Noack
  2003-04-29 20:27   ` Panard
  2003-04-29 20:49 ` Sergey Kuleshov
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Eric Noack @ 2003-04-29 20:03 UTC (permalink / raw
  To: gentoo-dev

cool idea, but how about printing the list of supported usevars,
and the list of USE's taken if -I would not have been specified 1st?


>emerge -I bla
>...
>bla supports: X, gnome, kde, java, mmx
>default USE: X, kde
>...
> X [Y,n]?
> gnome [y,N]?
>...

without the questioning if -p (--pretend) is used

what about if
emerge -u -I world
is specified, or more than one package is emerged at a time ?
ask for every ebuild seperately? or ask for all of them on start?
wouldbe better i think because you can go asleep for a 6 hours emerge kde, or
-u world if world includes openoffice or such...

what do you think?

Eric


--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] emerge with interacitve use
  2003-04-29 20:03 ` Eric Noack
@ 2003-04-29 20:27   ` Panard
  2003-05-01 16:18     ` Mark Bainter
  0 siblings, 1 reply; 15+ messages in thread
From: Panard @ 2003-04-29 20:27 UTC (permalink / raw
  To: gentoo-dev

Le Mardi 29 Avril 2003 22:03, Eric Noack a écrit :
| cool idea, but how about printing the list of supported usevars,
| and the list of USE's taken if -I would not have been specified 1st?
emerge -vp ? 


| what about if
| emerge -u -I world
| is specified, or more than one package is emerged at a time ?
| ask for every ebuild seperately? or ask for all of them on start?
| wouldbe better i think because you can go asleep for a 6 hours emerge kde,
| or -u world if world includes openoffice or such...

no It didn't work now with world or system keywords....


It should work with multiple packages, ebuild, tbz, and ask separatly for 
each... 

However, the list of packages is just the list that you give in arguments, it 
wouldn't ask for packages that an ebuild depend or rdepend (too many ask for 
one or two ebuild)... but if you think that is a good idea, perhaps it will 
be fine to work about this....

To test the interactivity, use -p option, interactivity will have the same 
behaviour...



I just hope that my poor english is quite understandable....



Thanks for your interest!


Panard


-- 
________________________________________________________
         panard@inzenet.org                http://www.inzenet.org

"Computers are like air-conditioners, they stop working properly when you open 
Windows."

--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] emerge with interacitve use
  2003-04-29 17:03 [gentoo-dev] emerge with interacitve use Panard
  2003-04-29 17:34 ` Tony Clark
  2003-04-29 20:03 ` Eric Noack
@ 2003-04-29 20:49 ` Sergey Kuleshov
  2003-04-29 21:31   ` Camille HUOT
  2003-05-01  8:59 ` Nick Jones
  2003-05-12 22:50 ` [gentoo-dev] [update] " Panard
  4 siblings, 1 reply; 15+ messages in thread
From: Sergey Kuleshov @ 2003-04-29 20:49 UTC (permalink / raw
  To: gentoo-dev

Hey, I really like this feature! It really helps (anyway it's better that 
looking in the .ebuild file and sort out what are the optional dependencies.)

The thing I did not get is why is it sometimes dispalying the Disabled ..... 
text ans sometimes not?

P.S. What about enchancing it with some ncurses interface to make it really 
intteractive?

On Tuesday 29 April 2003 17:03, Panard wrote:
> Hello,
>
> 	After some experiencies with emerge, it could be great that to do an
> emerge with USE interactive :
>
> $ emerge -I php
>
> >>> ...
>
> Use Java [Y/n]?
> Use X[y/N] ?
> ....
>
> I found, that there are too many errors due to USE vars that we forget  to
> disable or enable...
>
> So I have taken my hands and my vim, and tried to do this, it gave a good
> result.
>
> I join the script, its name is emerge-interactive, this is in fact the
> emerge script with my modifications (line  1840 to 1877)... place it in the
> directory
> /usr/lib/portage/bin
> then
> ln -s /usr/lib/portage/bin/emerge-interactive /usr/bin
>
>
> To use the interactive mide, use
> $ emerge-interactive -I or --interactive ....
>
> This is my first gentoo and linux contribution so I'm waiting for some
> feedback, impression, and sure critiques and amelioration (this is the
> first time I script in python, so be indulgent !!)
>
> Thanks!
>
> Panard

-- 
Sergey Kuleshov <sergey@til-design.com>
Studio Programer
Microsoft Certified Professional

--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] emerge with interacitve use
  2003-04-29 20:49 ` Sergey Kuleshov
@ 2003-04-29 21:31   ` Camille HUOT
  0 siblings, 0 replies; 15+ messages in thread
From: Camille HUOT @ 2003-04-29 21:31 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1919 bytes --]

Very nice.

I think with a user interface like ufed it could be merged to the
true emerge.

Thanks for the contribution

On Tue, 29 Apr 2003 20:49:55 +0000
Sergey Kuleshov <sergey@til-design.com> wrote:

> Hey, I really like this feature! It really helps (anyway it's better
> that looking in the .ebuild file and sort out what are the optional
> dependencies.)
> 
> The thing I did not get is why is it sometimes dispalying the Disabled
> ..... text ans sometimes not?
> 
> P.S. What about enchancing it with some ncurses interface to make it
> really intteractive?
>
> On Tuesday 29 April 2003 17:03, Panard wrote:
> > Hello,
> >
> > 	After some experiencies with emerge, it could be great that to
> > 	do an
> > emerge with USE interactive :
> >
> > $ emerge -I php
> >
> > >>> ...
> >
> > Use Java [Y/n]?
> > Use X[y/N] ?
> > ....
> >
> > I found, that there are too many errors due to USE vars that we
> > forget  to disable or enable...
> >
> > So I have taken my hands and my vim, and tried to do this, it gave a
> > good result.
> >
> > I join the script, its name is emerge-interactive, this is in fact
> > the emerge script with my modifications (line  1840 to 1877)...
> > place it in the directory
> > /usr/lib/portage/bin
> > then
> > ln -s /usr/lib/portage/bin/emerge-interactive /usr/bin
> >
> >
> > To use the interactive mide, use
> > $ emerge-interactive -I or --interactive ....
> >
> > This is my first gentoo and linux contribution so I'm waiting for
> > some feedback, impression, and sure critiques and amelioration (this
> > is the first time I script in python, so be indulgent !!)
> >
> > Thanks!
> >
> > Panard
> 
> -- 
> Sergey Kuleshov <sergey@til-design.com>
> Studio Programer
> Microsoft Certified Professional
> 
> --
> gentoo-dev@gentoo.org mailing list
> 


-- 
Camille HUOT - <cam@cameuh.net>
cam on #gentoofr at irc.freenode.net
public key available at http://www.cameuh.net/infos/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev]  [update] emerge with interacitve use
  2003-04-30  0:39   ` Vano D
@ 2003-04-30 19:50     ` Panard
  2003-04-30 22:52       ` Panard
  0 siblings, 1 reply; 15+ messages in thread
From: Panard @ 2003-04-30 19:50 UTC (permalink / raw
  To: gentoo-dev

Hello,

	the interactive system work now with --update and world or system (this is a 
big evolution)

For the storage of the USECUSTOM, I didn't have any idea to do this after the 
package has been merge, so I've pu this file in /var/tmp/portage/...... 
waiting for a better solution.

When we upgrade un package, the script will search for a USECUSTOM file from 
the previous versions.

Now there is two important point :
- find a solution for storage of USECUSTOM file
- make a diff between a USECUSTOM from old package to new USE vars (I will 
work on it tomorow)

these is the link to downlode the new version:
http://data.inzenet.org/gentoo/emerge-interactive.bz2


This script must be hard tested !

Thanks

Panard

-- 
________________________________________________________
         panard@inzenet.org                http://www.inzenet.org

"Computers are like air-conditioners, they stop working properly when you open 
Windows."

--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev]  [update] emerge with interacitve use
  2003-04-30 19:50     ` [gentoo-dev] [update] " Panard
@ 2003-04-30 22:52       ` Panard
  2003-05-01  0:22         ` Daniel Armyr
  0 siblings, 1 reply; 15+ messages in thread
From: Panard @ 2003-04-30 22:52 UTC (permalink / raw
  To: gentoo-dev

Hi,

	I've kill some bugs...

these is the link to downlode the new version:
http://data.inzenet.org/gentoo/emerge-interactive.bz2


-- 
________________________________________________________
         panard@inzenet.org                http://www.inzenet.org

"Computers are like air-conditioners, they stop working properly when you open 
Windows."

--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev]  [update] emerge with interacitve use
  2003-04-30 22:52       ` Panard
@ 2003-05-01  0:22         ` Daniel Armyr
  2003-05-01 12:50           ` Panard
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Armyr @ 2003-05-01  0:22 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Could you supply a diff? I would like to see your changes.
//Daniel Armyr

Panard wrote:
| Hi,
|
| 	I've kill some bugs...
|
| these is the link to downlode the new version:
| http://data.inzenet.org/gentoo/emerge-interactive.bz2
|
|

- --
=========================================
daniel.armyr@home.se     f00-dar@f.kth.se

C118 KEVII Hall
1A Kent Ridge Rd S.119224
Singapore                 PGP@pgp.mit.edu
=========================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE+sGiphxtTUWLs2lERAqMwAJ9H76pvW8ycdpVr8PNw5hsxy08sbQCfb27C
sEUAyHHiSiH2B91pCfF6SV0=
=Y0cG
-----END PGP SIGNATURE-----


--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] emerge with interacitve use
  2003-04-29 17:03 [gentoo-dev] emerge with interacitve use Panard
                   ` (2 preceding siblings ...)
  2003-04-29 20:49 ` Sergey Kuleshov
@ 2003-05-01  8:59 ` Nick Jones
  2003-05-12 22:50 ` [gentoo-dev] [update] " Panard
  4 siblings, 0 replies; 15+ messages in thread
From: Nick Jones @ 2003-05-01  8:59 UTC (permalink / raw
  To: Panard; +Cc: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2137 bytes --]

> After some experiencies with emerge, it could be great that to
> do an emerge with USE interactive:
> 
> $ emerge -I php
> >>> ...
> Use Java [Y/n]?
> Use X[y/N] ?
> ....

This is an interesting idea, but can cause a lot of problems... It
has potential after 2.1 is released, but I don't recommend doing
things this way right now.

If you merge applications without a specific flag for a dependent
package, and then merge a package with that specific flag, it may
very well assume that the support you requested is there.  Little
errors may creep up on you. While this should be fairly harmless,
it might be a little annoying.

Portage will gain a lot more support for SLOTS, USE, and keywords
in the 2.1 series. It'll actually allow dependence based on a USE
setting and the child's build settings. It will remember them for
future emerges on a per-package basis as well.

> I join the script, its name is emerge-interactive, this is in
> fact the emerge script with my modifications (line 1840 to 1877)

If you make modifications to portage, I'd really appreciate it if
you would post patches on bugs.gentoo.org. It'll give me a chance
to look the changes over and give feedback as well as consider it
for integration into portage. (diff -u, greatly prefered)

> This is my first gentoo and linux contribution so I'm waiting for
> some feedback, impression, and sure critiques and amelioration
> (this is the first time I script in python, so be indulgent !!)

This one in particular I'd rather see as a front-end instead of a
direct integration like this. Sticky flags (which will show up in
2.1) will feed from the command line and will have a lot of rules
regarding how use flags are set for a session.  This method steps
around portage's ability to determine Sticky (persistant, limited
flags set for specific packages) flags. It might end up causing a
lot of rebuilding due to global use flag changes.

If you continue with integrating it, just make sure you follow the
code changes that are coming up this summer, and perhaps it might
be adopted in one form or another.

--NJ


[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev]  [update] emerge with interacitve use
  2003-05-01  0:22         ` Daniel Armyr
@ 2003-05-01 12:50           ` Panard
  2003-05-05 12:18             ` Panard
  0 siblings, 1 reply; 15+ messages in thread
From: Panard @ 2003-05-01 12:50 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 341 bytes --]

Le Jeudi 1 Mai 2003 02:22, Daniel Armyr a écrit :
| Could you supply a diff? I would like to see your changes.



-- 
________________________________________________________
         panard@inzenet.org                http://www.inzenet.org

"Computers are like air-conditioners, they stop working properly when you open 
Windows."

[-- Attachment #2: emerge-interactive.patch --]
[-- Type: text/x-diff, Size: 6511 bytes --]

--- emerge	2003-05-01 14:47:56.000000000 +0200
+++ emerge-interactive	2003-05-01 02:32:10.000000000 +0200
@@ -23,13 +23,13 @@
 "--changelog",    "--columns",
 "--debug",        "--deep",
 "--emptytree",    "--fetchonly",
-"--help",         "--noconfmem",
+"--help",         "--interactive",    "--noconfmem",
 "--nodeps",       "--noreplace",
 "--nospinner",    "--oneshot",
 "--onlydeps",     "--pretend",
 "--quiet",        "--resume",
 "--searchdesc",   "--selective",
-"--update",       "--upgradeonly",
+"--update",       "--upgradeonly",    "--usecustom",
 "--usepkg",       "--usepkgonly",
 "--verbose",      "--version"
 ]
@@ -41,7 +41,7 @@
 "e":"--emptytree",
 "f":"--fetchonly",
 "h":"--help",
-"i":"--inject",
+"i":"--inject",    "I":"--interactive",
 "k":"--usepkg",    "K":"--usepkgonly",
 "l":"--changelog",
 "n":"--noreplace",
@@ -1095,6 +1095,8 @@
 			myroot=x[1]
 			#the last argument in the portage.doebuild() tells doebuild to *not* do dep checking
 			#(emerge is already handling that)
+
+									
 			y=portage.portdb.findname(x[2])
 			if not "--pretend" in myopts:
 				print ">>> emerge ("+str(mergecount)+" of "+str(len(mymergelist))+")",x[2],"to",x[1]
@@ -1820,6 +1822,171 @@
 			print darkgreen("emerge: It seems we have nothing to resume...")
 			sys.exit(0)
 
+		if myaction not in ["system","world"]:
+			if not myfiles:
+				print "emerge: please tell me what to do."
+				help()
+				sys.exit(1)
+				#we don't have any files to process; skip this step and exit
+			
+		# INTERACTIVE MODE
+		if "--interactive" in myopts:
+			print ">>> Per packages interactive USE management"
+			mydepgraph = depgraph (myaction,myopts)
+			if myaction not in ["system","world"]:
+				ret,files = mydepgraph.select_files (myfiles)
+			else:
+				if not mydepgraph.xcreate(myaction):
+					print "!!! Depgraph creation failed."
+					sys.exit(1)
+			
+			mygraph = mydepgraph.digraph.copy()
+			retlist = mygraph.dict.keys()
+			
+			files = []
+			for i in retlist:
+				i = string.split (i)
+				if i[1] == "blocks":
+					print "!!! Error: Conflict problem..."
+					sys.exit(1)
+				if i[3] == "merge":
+					if myaction not in ["system","world"]:
+						for j in mygraph.dict.keys():
+							try:
+								files.index(string.split(j,' '))
+							except:
+								files.append(string.split(j,' '))
+					else:
+						try:
+							files.index(i)
+						except:
+							files.append(i)
+			for x in files:
+				t=portage.portdb.xmatch("bestmatch-visible",x[2])
+				if t != '':
+					x=t
+				print ">>> Interactive mode for "+green(x[2])
+
+				useruse=[]
+				explode = string.split (x[2],"/")
+				mycat=explode[0]
+				mypkg=explode[1]
+
+				if "--update" not in myopts:
+					whichpkg = mypkg
+					whichcat = mycat
+				else:
+					# we take the old package USECUSTOM
+					myoldbest=portage.best(portage.db[x[1]]["vartree"].dbapi.match(portage.pkgsplit(x[2])[0]))
+					myoldbest = string.split (myoldbest,'/')
+					whichcat = myoldbest[0]
+					whichpkg = myoldbest[1]
+					
+				mydblink = portage.dblink (whichcat,whichpkg,'/var/tmp/portage')
+				
+				
+				usecustom = mydblink.getelements("USECUSTOM")
+				do_ask=1
+				if usecustom != [] and "--usecustom" not in myopts:
+					to_print = "Use previous USE flags for this package? ("
+					for u in usecustom:
+						if u != "":
+							if u[0] == '-':
+								to_print = to_print+blue(u)
+							else:
+								to_print = to_print+green("+"+u)
+							to_print = to_print+" "
+					choice = raw_input (to_print+") [Y/n] ").lower ()
+					if choice != '':
+						if choice[0] == 'y':
+							do_ask=0
+						elif choice[0] != 'n':
+							print red("Bad input -- assume no")
+					else:
+						do_ask=0
+				elif usecustom == [] and "--usecustom" in myopts:
+					do_ask = 1
+				elif usecustom != [] and "--usecustom" in myopts:
+					do_ask = 0
+
+					
+				if do_ask == 0:
+					for u in usecustom:
+						if u != "":
+							if u[0] == '-':
+								try:
+									portage.usesplit.remove(u[1:])
+								except:
+									""
+							else:
+								try:
+									portage.usesplit.remove("-"+u)
+								except:
+									""
+							try:
+								portage.usesplit.remove(u)
+							except:
+								""
+							portage.usesplit.append(u)
+							
+
+				if do_ask == 1:
+					for ebuild_iuse in string.split(portage.portdb.aux_get(x[2],["IUSE"])[0], " "):
+						if ebuild_iuse != "":
+							to_print = "Use "+ebuild_iuse+"? ["
+							try:
+								if (portage.usesplit.index(ebuild_iuse) >= 0) :
+									default='y'
+									to_print = to_print+"Y/n"
+							except ValueError:
+								if ebuild_iuse != "":
+									default='n'
+									to_print = to_print+"y/N"
+							to_print = to_print+"]"
+
+							choice = raw_input (to_print+" ").lower ()
+							if choice == '':
+								state=default
+							else:
+								choice = choice[0]
+								if choice != default:
+									if choice == 'y':
+										print green('Enabled '+ebuild_iuse)
+										state='y'
+									elif choice == 'n':
+										print blue('Disabled '+ebuild_iuse)
+										state='n'
+									else:
+										print red('Bad input -- reverting to default... ('+default+')')
+										state=default
+								else:
+									state=default
+								
+
+							# we remove the ebuild from usesplit (it will be append, with his value next)
+							try:
+								portage.usesplit.remove(ebuild_iuse)
+							except:
+								""
+							try:
+								portage.usesplit.remove('-'+ebuild_iuse)
+							except:
+								""
+							if state == 'n':
+								ebuild_iuse = '-'+ebuild_iuse
+								
+							portage.usesplit.append(ebuild_iuse)
+							useruse.append(ebuild_iuse)
+	
+					# save use settings to USECUSTOM
+					print ">>> Save USE settings"
+					mydblink=portage.dblink(mycat,mypkg,"/var/tmp/portage")
+					mydblink.setelements(useruse,"USECUSTOM")
+			
+				portage.settings.configlist[-1]["USE"]=string.join(portage.usesplit," ")
+
+				print
+				
 		mydepgraph=depgraph(myaction,myopts)
 		if myaction in ["system","world"]:
 			print "Calculating",myaction,"dependencies  ",
@@ -1827,12 +1994,7 @@
 				print "!!! Depgraph creation failed."
 				sys.exit(1)
 			print "\b\b ...done!"
-		else:
-			if not myfiles:
-				print "emerge: please tell me what to do."
-				help()
-				sys.exit(1)
-				#we don't have any files to process; skip this step and exit
+		if myaction not in ["system","world"]:	
 			print "Calculating dependencies  ",
 			retval,favorites=mydepgraph.select_files(myfiles)
 			if not retval:


[-- Attachment #3: Type: text/plain, Size: 37 bytes --]

--
gentoo-dev@gentoo.org mailing list

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] emerge with interacitve use
  2003-04-29 20:27   ` Panard
@ 2003-05-01 16:18     ` Mark Bainter
  0 siblings, 0 replies; 15+ messages in thread
From: Mark Bainter @ 2003-05-01 16:18 UTC (permalink / raw
  To: gentoo-dev

Panard [panard@inzenet.org] wrote:
> However, the list of packages is just the list that you give in arguments, it 
> wouldn't ask for packages that an ebuild depend or rdepend (too many ask for 
> one or two ebuild)... but if you think that is a good idea, perhaps it will 
> be fine to work about this....

Hrm...this is interesting.  I have a possible suggestion.  

Why not have an optional flag to start a curses interface.
In the curses interface, it lists all the ebuilds that'll be
built for the typed command, and you select the ones you want
to modify, and make the appropriate changes.

Once you've made some changes you can hit an update button to have
it recheck dependencies to make sure everything is consistant given
the new use flags.

Repeat until you're happy, then okay the build process and the rest
continues unattended.

I (personally) think this should be optional, as for single ebuilds
and such it'd be really annoying to have to work with a curses interface
versus the Y/n.  But for larger ebuilds like say world or system, it
would be much cleaner, and likely less problematic.


--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev]  [update] emerge with interacitve use
  2003-05-01 12:50           ` Panard
@ 2003-05-05 12:18             ` Panard
  0 siblings, 0 replies; 15+ messages in thread
From: Panard @ 2003-05-05 12:18 UTC (permalink / raw
  To: gentoo-dev

Hi,

Ok, I've correct some bugs, and do the USE flags diff between a new and an old 
version.

look at this link for patch and script:

http://data.inzenet.org/gentoo

thanks,

Panard

-- 
________________________________________________________
         panard@inzenet.org                http://www.inzenet.org

"Computers are like air-conditioners, they stop working properly when you open 
Windows."

--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [gentoo-dev] [update] emerge with interacitve use
  2003-04-29 17:03 [gentoo-dev] emerge with interacitve use Panard
                   ` (3 preceding siblings ...)
  2003-05-01  8:59 ` Nick Jones
@ 2003-05-12 22:50 ` Panard
  4 siblings, 0 replies; 15+ messages in thread
From: Panard @ 2003-05-12 22:50 UTC (permalink / raw
  To: gentoo-dev

Hi!

I've made the update of the interactivity for the new portage,

http://data.inzenet.org/gentoo

Thanks,

Panard

-- 
________________________________________________________
         panard@inzenet.org                http://www.inzenet.org

"Computers are like air-conditioners, they stop working properly when you open 
Windows."

--
gentoo-dev@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2003-05-12 22:57 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-04-29 17:03 [gentoo-dev] emerge with interacitve use Panard
2003-04-29 17:34 ` Tony Clark
2003-04-29 17:30   ` Henti Smith
2003-04-29 20:03 ` Eric Noack
2003-04-29 20:27   ` Panard
2003-05-01 16:18     ` Mark Bainter
2003-04-29 20:49 ` Sergey Kuleshov
2003-04-29 21:31   ` Camille HUOT
2003-05-01  8:59 ` Nick Jones
2003-05-12 22:50 ` [gentoo-dev] [update] " Panard
  -- strict thread matches above, loose matches on Subject: below --
2003-04-29 18:34 [gentoo-dev] " Joshua Brindle
2003-04-29 23:31 ` Panard
2003-04-30  0:39   ` Vano D
2003-04-30 19:50     ` [gentoo-dev] [update] " Panard
2003-04-30 22:52       ` Panard
2003-05-01  0:22         ` Daniel Armyr
2003-05-01 12:50           ` Panard
2003-05-05 12:18             ` Panard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox