* [gentoo-dev] emerge with interacitve use
@ 2003-04-29 17:03 Panard
2003-04-29 17:34 ` Tony Clark
` (3 more replies)
0 siblings, 4 replies; 24+ 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] 24+ 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; 24+ 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] 24+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use
2003-04-29 17:03 Panard
@ 2003-04-29 17:34 ` Tony Clark
2003-04-29 17:30 ` Henti Smith
2003-04-29 20:03 ` Eric Noack
` (2 subsequent siblings)
3 siblings, 1 reply; 24+ 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] 24+ messages in thread
* 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use
2003-04-29 17:03 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
2003-05-01 8:59 ` Nick Jones
3 siblings, 1 reply; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use
2003-04-29 17:03 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
3 siblings, 1 reply; 24+ 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] 24+ 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; 24+ 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] 24+ messages in thread
* 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ messages in thread
* Re: [gentoo-dev] emerge with interacitve use
2003-04-29 17:03 Panard
` (2 preceding siblings ...)
2003-04-29 20:49 ` Sergey Kuleshov
@ 2003-05-01 8:59 ` Nick Jones
3 siblings, 0 replies; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ 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; 24+ 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] 24+ messages in thread
end of thread, other threads:[~2003-05-05 12:14 UTC | newest]
Thread overview: 24+ 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-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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox