public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: warnera6 <warnera6@egr.msu.edu>
To: gentoo-portage-dev@lists.gentoo.org
Subject: Re: [gentoo-portage-dev] the refactoring of emerge, continued... (was PATCH: refactor emerge spinner (#102073))
Date: Fri, 12 Aug 2005 17:48:45 -0400	[thread overview]
Message-ID: <42FD193D.8010200@egr.msu.edu> (raw)
In-Reply-To: <42FD0D42.3020500@gmail.com>

Zac Medico wrote:
> Alec Warner wrote:
> 
>>
>>   I have emerge rewritten ( somewhere ) for HEAD once all of Brian's
>> config/domain/crazy stuff goes in, unless someone wants to unlease
>> modular emerge now, in which case I can pull the code out of the cobwebs
>> of my ${HOME} and work on it again.
>>
>> Basically the code allowed you to have a folder for modules that emerge
>> would detect at run-time, and load the proper ones depending on user
>> specification.  The bonus to this was that some tools would be merged
>> into emerge instead of being seperate, which many users got upset about.
>> "emerge --rebuild" = revdep-rebuild -X for example.  The main problem
>> with this is basically the same as above; emerge serves about 12
>> different functions with crappy code everywhere, I managed to replicate
>> about half the functionality by just copying and pasting important code
>> everywhere, but most of it still needs to be completely rewritten (
>> *stabs depgraph* ).  I was going to wait for the new API to be done ( no
>> use rewriting emerge twice, IMHO ), but if you want it done now it
>> wouldn't be a big deal.
> 
> 
> Hmm, interesting.  I can see how building other tools into the emerge 
> interface would be useful if it allows more code to be shared somehow 
> (and less duplication).  Are there other reasons for combining other 
> tools into the same interface?
> 
> My main concern about "rewritten" code is that, depending on the nature 
> of the code being rewritten, it may be likely to introduce unwanted 
> changes or regressions.  Of course, thats why I put so much emphasis on 
> careful refactoring/reorganizing of existing code that is known to work 
> in the desired way.
> 
> I don't see a reason to keep messy code around for long periods of time 
> when it can be so quickly reorganized.  Why wait?  Messy code only makes 
> more difficult the job of maintaining and improving the code.
> 
> Zac

It was my understanding that large patches to portage were not to 
receive great consideration due to just that, regressions and bugs.  Why 
break something that is proven?  I will agree that emerge is a huge 
piece, I've torn it apart more than once.  However it currently does the 
job, so I don't see a point in rewriting it unless there is : a) an 
immediate benefit for users, and b) some sort of way to gaurantee a 
problem free update.

I don't see a), they get prettier code to look at, but I wouldn't want 
people writing code against emerge.
b) is hard to do, even if it's just function and variable re-organizing, 
  it's 2000 lines of code that has a lot of interaction and there are 
going to be bugs.

I just don't see the worth of it.  Why rewrite the front-end when the 
backend isn't done?

Not to mention you can upgrade the code here, and then upgrade it again 
to the new portage API in 2.1, since I would guess many calls are being 
refactored and rewritten to be object oriented.

In the end nothing I say really matters, if you want to do the 
refactoring I certainly can't stop you, I just don't think it's worth it 
to rewrite at this time ;)
-- 
gentoo-portage-dev@gentoo.org mailing list



  reply	other threads:[~2005-08-12 21:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-11  5:08 [gentoo-portage-dev] PATCH: refactor emerge spinner (#102073) Zac Medico
2005-08-11 12:14 ` Alec Warner
2005-08-11 14:06 ` Jason Stubbs
2005-08-12  5:19   ` [gentoo-portage-dev] the refactoring of emerge, continued... (was PATCH: refactor emerge spinner (#102073)) Zac Medico
2005-08-12 12:36     ` Alec Warner
2005-08-12 20:57       ` Zac Medico
2005-08-12 21:48         ` warnera6 [this message]
2005-08-12 22:10           ` Marius Mauch
2005-08-12 22:12             ` warnera6
2005-08-12 22:49           ` Zac Medico
2005-08-13  1:06             ` Jason Stubbs
2005-08-13 17:34     ` Zac Medico
2005-08-13 22:25       ` Zac Medico

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42FD193D.8010200@egr.msu.edu \
    --to=warnera6@egr.msu.edu \
    --cc=gentoo-portage-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox