* Re: [gentoo-dev] emerge with interacitve use
@ 2003-04-29 18:34 Joshua Brindle
2003-04-29 18:53 ` Henti Smith
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Joshua Brindle @ 2003-04-29 18:34 UTC (permalink / raw
To: gentoo-dev, Kuleshov, Sergey
>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 !!)
>>
This solution doesn't scale well, it would be impossible to emerge system
and expect this to be sane, additionally the lack of sticky use vars means
you can have unexpected support/lack of support after upgrading..
and digging through ebuilds? have you ever looked at emerge -h?
tachyon root # emerge -vp vim
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] app-editors/vim-core-6.2_pre2 -gnome +gpm -gtk -gtk2 +ncurses +nls +perl +python -ruby +X
[ebuild N ] app-editors/vim-6.2_pre2 -gnome +gpm -gtk -gtk2 +ncurses +nls +perl +python -ruby +X
look, tells you exactly how your use flags are going to affect the build
USE="-X" emerge -vp vim and observe...
additionally, we now have this great program for managing the plethora of USE vars called 'ufed' (app-admin/ufed).. that way you don't forget which are enabled/disabled, you can look through them all and turn on/off the support you desire.. it's a nice program, well worth emerging..
Cheers
Joshua Brindle
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use 2003-04-29 18:34 [gentoo-dev] emerge with interacitve use Joshua Brindle @ 2003-04-29 18:53 ` Henti Smith 2003-04-29 19:12 ` Panard 2003-04-29 20:15 ` Vano D 2 siblings, 0 replies; 16+ messages in thread From: Henti Smith @ 2003-04-29 18:53 UTC (permalink / raw To: method; +Cc: gentoo-dev, sergey > This solution doesn't scale well, it would be impossible to emerge system > and expect this to be sane, additionally the lack of sticky use vars means > you can have unexpected support/lack of support after upgrading.. It's not impossible ... just highly time wasting ... ;P > and digging through ebuilds? have you ever looked at emerge -h? yes ... > tachyon root # emerge -vp vim > > These are the packages that I would merge, in order: > > Calculating dependencies ...done! > [ebuild N ] app-editors/vim-core-6.2_pre2 -gnome +gpm -gtk -gtk2 +ncurses +nls +perl +python -ruby +X > [ebuild N ] app-editors/vim-6.2_pre2 -gnome +gpm -gtk -gtk2 +ncurses +nls +perl +python -ruby +X some are lazy ... ;P I'd rather do that .. then ID the ones that Iw ant to interactivly merge .. merge them .. then emerge world ;P > look, tells you exactly how your use flags are going to affect the build > > USE="-X" emerge -vp vim and observe... I know this .. and do this currently ... I was making a comment .. and suggesting a way :) > additionally, we now have this great program for managing the plethora of USE vars called 'ufed' (app-admin/ufed).. that way you don't forget which are enabled/disabled, you can look through them all and turn on/off the support you desire.. it's a nice program, well worth emerging.. hmmm .. I'll def look into that :) thanks Henti -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use 2003-04-29 18:34 [gentoo-dev] emerge with interacitve use Joshua Brindle 2003-04-29 18:53 ` Henti Smith @ 2003-04-29 19:12 ` Panard 2003-04-29 20:12 ` Vano D 2003-04-29 20:15 ` Vano D 2 siblings, 1 reply; 16+ messages in thread From: Panard @ 2003-04-29 19:12 UTC (permalink / raw To: gentoo-dev | tachyon root # emerge -vp vim | | These are the packages that I would merge, in order: | | Calculating dependencies ...done! | [ebuild N ] app-editors/vim-core-6.2_pre2 -gnome +gpm -gtk -gtk2 | +ncurses +nls +perl +python -ruby +X [ebuild N ] | app-editors/vim-6.2_pre2 -gnome +gpm -gtk -gtk2 +ncurses +nls +perl | +python -ruby +X | | look, tells you exactly how your use flags are going to affect the build | | USE="-X" emerge -vp vim and observe... yes, but it's just a little feature do to this interactivly (you do this in only one command instead of two and more words... ;-) ) | additionally, we now have this great program for managing the plethora of | USE vars called 'ufed' (app-admin/ufed).. that way you don't forget which | are enabled/disabled, you can look through them all and turn on/off the | support you desire.. it's a nice program, well worth emerging.. yes, yes, but this for all packages, so if you want to turn off X just for an ebuild, you can't do this with ufed. It's juste a little feature to do custom use to an package, with a more way friendly than the -vp system Thanks, Panard -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use 2003-04-29 19:12 ` Panard @ 2003-04-29 20:12 ` Vano D [not found] ` <200304292236.07561.panard@inzenet.org> ` (2 more replies) 0 siblings, 3 replies; 16+ messages in thread From: Vano D @ 2003-04-29 20:12 UTC (permalink / raw To: gentoo-dev Hi Panard, How about adding a little functionality to the script so it keeps which USE vars the user chooses in a file like /var/db/pkg/app-editors/vim-6.1-r21/USECUSTOM (that would be for vim :)? I have checked the USE files but they all contain the complete $USE variable when the package was emerged. So maybe if you add the functionality so it adds a USECUSTOM file containing the USE vars the user has chosen interactively then you could have an option at the beginning of the interactive command asking: "Use previous USE flags for this package? (X gtk etc..) [Y/n]" If the user says Y, then you would extract the USE flags from USECUSTOM and use those. Also you could have a commandline option such as --usecustom or something like that, so if the user calls emerge-interactive with that flag it skips all questions and uses the previously kept USE flags. Of course this would only work if you only used emerge-interactive since emerge doesnt create any USECUSTOM files :) But I don't think this is a big problem. In any case if emerge-interactive doesn't find any CUSTOMFILE then it asks the users for USE flags just like now. This solves the scalibility problem and gives the user best of both worlds. What do you think? Regards. -- Vano D <gentoo-dev@europeansoftware.com> -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <200304292236.07561.panard@inzenet.org>]
* Re: [gentoo-dev] emerge with interacitve use [not found] ` <200304292236.07561.panard@inzenet.org> @ 2003-04-29 23:26 ` Vano D 0 siblings, 0 replies; 16+ messages in thread From: Vano D @ 2003-04-29 23:26 UTC (permalink / raw To: gentoo-dev On Tue, 2003-04-29 at 22:36, Panard wrote: > Le Mardi 29 Avril 2003 22:12, Vano D a écrit : > | Hi Panard, > | > | How about adding a little functionality to the script so it keeps which > | USE vars the user chooses in a file like > | /var/db/pkg/app-editors/vim-6.1-r21/USECUSTOM (that would be for vim :)? > | I have checked the USE files but they all contain the complete $USE > | variable when the package was emerged. So maybe if you add the > | functionality so it adds a USECUSTOM file containing the USE vars the > | user has chosen interactively then you could have an option at the > | beginning of the interactive command asking: > | > | "Use previous USE flags for this package? (X gtk etc..) [Y/n]" > | > | If the user says Y, then you would extract the USE flags from USECUSTOM > | and use those. ... > | This solves the scalibility problem and gives the user best of both > | worlds. What do you think? > > > Yes, I think that it's a really good functionnality to add! I will tried to > find a way to do this... (but some help will be welcome, I just discover > Python!) > > Thanks for your interest ! If I knew Python and had some time I would help. Although I will have both soon hopefully. I think great things can be achieved with extending Portage a little bit. So I think you did a great job with this. Also one other idea I had in mind which I would like to work on one day is the use of a database to keep all the /var portage information for different machines in a network and somehow extend Portage to interface with this database and use one central emerge command (probably with a wrapper script) to administer all these machines. For now it's all theory of course :) BTW just added a reply-to header. Regards. -- Vano D <gentoo-dev@europeansoftware.com> -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use 2003-04-29 20:12 ` Vano D [not found] ` <200304292236.07561.panard@inzenet.org> @ 2003-04-29 23:31 ` Panard 2003-04-30 0:31 ` Todd Berman 2003-04-30 0:39 ` Vano D 2003-04-30 0:18 ` [gentoo-dev] " Daniel Armyr 2 siblings, 2 replies; 16+ messages in thread From: Panard @ 2003-04-29 23:31 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2058 bytes --] Le Mardi 29 Avril 2003 22:12, Vano D a écrit : | Hi Panard, | | How about adding a little functionality to the script so it keeps which | USE vars the user chooses in a file like | /var/db/pkg/app-editors/vim-6.1-r21/USECUSTOM (that would be for vim :)? | I have checked the USE files but they all contain the complete $USE | variable when the package was emerged. So maybe if you add the | functionality so it adds a USECUSTOM file containing the USE vars the | user has chosen interactively then you could have an option at the | beginning of the interactive command asking: | | "Use previous USE flags for this package? (X gtk etc..) [Y/n]" | | If the user says Y, then you would extract the USE flags from USECUSTOM | and use those. | | Also you could have a commandline option such as --usecustom or | something like that, so if the user calls emerge-interactive with that | flag it skips all questions and uses the previously kept USE flags. | | Of course this would only work if you only used emerge-interactive | since emerge doesnt create any USECUSTOM files :) But I don't think this | is a big problem. In any case if emerge-interactive doesn't find any | CUSTOMFILE then it asks the users for USE flags just like now. | | This solves the scalibility problem and gives the user best of both | worlds. What do you think? | | Regards. Ok, I've apply theses changes (I join the emerge-interactive file) : -> there is a /var/db/pkg/CATEG/PKG/USECUSTOM : ask to use this file y or n : y : we load the values of the file n : we ask for the new values, when, (re-)create /var/db/pkg/CATEG/PKG/USECUSTOM -> no file we do exactly like if the user answer n to the previous question Please test this script (I made some merge and it was working) 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: 17988 bytes --] [-- Attachment #3: Type: text/plain, Size: 37 bytes --] -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use 2003-04-29 23:31 ` Panard @ 2003-04-30 0:31 ` Todd Berman 2003-04-30 0:39 ` Vano D 1 sibling, 0 replies; 16+ messages in thread From: Todd Berman @ 2003-04-30 0:31 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2155 bytes --] Please stop attaching things to emails coming to this list. Either post a url, or ask for people to reply privately to you so you can email it to them. Thanks --Todd On Tue, 2003-04-29 at 19:31, Panard wrote: > Le Mardi 29 Avril 2003 22:12, Vano D a écrit : > | Hi Panard, > | > | How about adding a little functionality to the script so it keeps which > | USE vars the user chooses in a file like > | /var/db/pkg/app-editors/vim-6.1-r21/USECUSTOM (that would be for vim :)? > | I have checked the USE files but they all contain the complete $USE > | variable when the package was emerged. So maybe if you add the > | functionality so it adds a USECUSTOM file containing the USE vars the > | user has chosen interactively then you could have an option at the > | beginning of the interactive command asking: > | > | "Use previous USE flags for this package? (X gtk etc..) [Y/n]" > | > | If the user says Y, then you would extract the USE flags from USECUSTOM > | and use those. > | > | Also you could have a commandline option such as --usecustom or > | something like that, so if the user calls emerge-interactive with that > | flag it skips all questions and uses the previously kept USE flags. > | > | Of course this would only work if you only used emerge-interactive > | since emerge doesnt create any USECUSTOM files :) But I don't think this > | is a big problem. In any case if emerge-interactive doesn't find any > | CUSTOMFILE then it asks the users for USE flags just like now. > | > | This solves the scalibility problem and gives the user best of both > | worlds. What do you think? > | > | Regards. > > > > Ok, I've apply theses changes (I join the emerge-interactive file) : > > -> there is a /var/db/pkg/CATEG/PKG/USECUSTOM : > ask to use this file y or n : > y : we load the values of the file > n : we ask for the new values, when, (re-)create > /var/db/pkg/CATEG/PKG/USECUSTOM > -> no file we do exactly like if the user answer n to the previous question > > > > Please test this script (I made some merge and it was working) > > Thanks, > > Panard [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use 2003-04-29 23:31 ` Panard 2003-04-30 0:31 ` Todd Berman @ 2003-04-30 0:39 ` Vano D 2003-04-30 19:50 ` [gentoo-dev] [update] " Panard 1 sibling, 1 reply; 16+ messages in thread From: Vano D @ 2003-04-30 0:39 UTC (permalink / raw To: gentoo-dev On Wed, 2003-04-30 at 01:31, Panard wrote: > Ok, I've apply theses changes (I join the emerge-interactive file) : > > -> there is a /var/db/pkg/CATEG/PKG/USECUSTOM : > ask to use this file y or n : > y : we load the values of the file > n : we ask for the new values, when, (re-)create > /var/db/pkg/CATEG/PKG/USECUSTOM > -> no file we do exactly like if the user answer n to the previous question > > > > Please test this script (I made some merge and it was working) Fantastic !!! It works just as advertised :) well done ! Maybe you should put this in a bug report so the maintaners notice it and get motivated to incorporate the changes into Portage. You can also supply them the diff, I think it would be easier for them but maybe some portage people around would know better than me. The only comment I can think of is that I would name this feature more like "per package (interactive) USE management" or something rather than just plain (-I) interactive. It has passed way beyond just interactivity for me :) BTW I don't know if you included any commandline options like "--usecustom" so it won't ask and use the USECUSTOM file all the time. This is good for when doing emerge -Up world or for scalability. Great great stuff !!! PD. There is just one bug I found when I do something like "emerge -Ip package" and set the flags it actually updates the USEFLAG file. Maybe you should tell it not to do anything when the user chooses --pretend. Also looks like you create the USECUSTOM file before the rest of portage starts donwloading/compiling/merging. Maybe you should also create the USECUSTOM flag right at the same moment when the rest of the /var/db files are created. This well keep consistency. Just to give you an example I ran emerge-interactive -Ip balsa and set the use flags, and now portage thinks I have it installed: [ebuild R ] net-mail/balsa-2.0.9-r1 That is because there is a "/var/db/pkg/net-mail/balsa-2.0.9-r1" with only USECUSTOM inside it. Anyhow GREAT job ! Regards. -- Vano D <gentoo-dev@europeansoftware.com> -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use 2003-04-29 20:12 ` Vano D [not found] ` <200304292236.07561.panard@inzenet.org> 2003-04-29 23:31 ` Panard @ 2003-04-30 0:18 ` Daniel Armyr 2 siblings, 0 replies; 16+ messages in thread From: Daniel Armyr @ 2003-04-30 0:18 UTC (permalink / raw Cc: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 | functionality so it adds a USECUSTOM file containing the USE vars the | user has chosen interactively then you could have an option at the | beginning of the interactive command asking: There is a bug submitted, mentioned a couple of days ago, that mentions this. No interactivity, but flags for individual programs. A patch was supplied. //Daniel Armyr - -- ========================================= 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+rxZKhxtTUWLs2lERAjQDAJ44+ySXKCeFfIaNxY0oH/tJeqGnJACfVUz+ 9NMmaZu0RDgglh4oBUcxDS0= =fCBl -----END PGP SIGNATURE----- -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use 2003-04-29 18:34 [gentoo-dev] emerge with interacitve use Joshua Brindle 2003-04-29 18:53 ` Henti Smith 2003-04-29 19:12 ` Panard @ 2003-04-29 20:15 ` Vano D 2 siblings, 0 replies; 16+ messages in thread From: Vano D @ 2003-04-29 20:15 UTC (permalink / raw To: gentoo-dev Hi Panard, Actually if you push it a bit further, then you can have a USECUSTOM editor working similar to ufed but with a "pull down menu" or something which selects a specific installed (or uninstalled) application and sets the USECUSTOM file (this wouldnt work for uninstalled ones ... but this is really usefull for installed files anyway). I think the interactive emerge with some of these ideas would be one hell of an improvement to Portage ! Regards. -- Vano D <gentoo-dev@europeansoftware.com> -- gentoo-dev@gentoo.org mailing list ^ permalink raw reply [flat|nested] 16+ messages in thread
* [gentoo-dev] emerge with interacitve use
@ 2003-04-29 17:03 Panard
2003-05-12 22:50 ` [gentoo-dev] [update] " Panard
0 siblings, 1 reply; 16+ 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] 16+ messages in thread
* Re: [gentoo-dev] [update] emerge with interacitve use 2003-04-29 17:03 Panard @ 2003-05-12 22:50 ` Panard 0 siblings, 0 replies; 16+ 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] 16+ messages in thread
end of thread, other threads:[~2003-05-12 22:57 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-04-29 18:34 [gentoo-dev] emerge with interacitve use Joshua Brindle 2003-04-29 18:53 ` Henti Smith 2003-04-29 19:12 ` Panard 2003-04-29 20:12 ` Vano D [not found] ` <200304292236.07561.panard@inzenet.org> 2003-04-29 23:26 ` Vano D 2003-04-29 23:31 ` Panard 2003-04-30 0:31 ` Todd Berman 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 2003-04-30 0:18 ` [gentoo-dev] " Daniel Armyr 2003-04-29 20:15 ` Vano D -- strict thread matches above, loose matches on Subject: below -- 2003-04-29 17:03 Panard 2003-05-12 22:50 ` [gentoo-dev] [update] " Panard
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox