On 12/02/09 11:42, Markus Heidelberg wrote:
> Tony Mechelynck, 12.02.2009:
>> On 11/02/09 03:35, Markus Heidelberg wrote:
>>> But why this "extra" and the distinction between Unix and non-Unix at all?
>>>
>>> Markus
>> Because if you are on a Unix-like OS, you can get a functional Vim by
>> omitting everything that's not for Unix, including downloading the
>> extra.tar.gz archive. Currently the source is divided among 3 archives:
>>
>> ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
>> ftp://ftp.vim.org/pub/vim/extra/vim-7.2.extra.tar.gz
>> ftp://ftp.vim.org/pub/vim/extra/vim-7.2.lang.tar.gz
>>
>> All three together contain exactly one copy of every 7.2.0 source file,
>> and that's what I recommend downloading regardless of platform, if you
>> want to download Vim and keep it up via ftp (as I do). But IIUC you can
>> omit the extra archive on Unix (if, maybe, you don't use out-of-the-way
>> rarely-used features) (and the lang archive if you want only a strictly
>> en-US version). In that case, "extra" patches would be for files you
>> haven't downloaded. IIUC that's what the RedHat developers do, and
>> that's why the Vim builds they distribute show a number of "missing"
>> numbers in the "Included patches" line of their :version output.
>
> I know how to handle the separate "extra" and "lang" packages and that you
> should be able to omit them, it's done so in Buildroot.
>
> But my question was, why they exist in the first place instead of creating a
> single package. It makes it more complicated and error-prone and leads to
> strange workaround patches with "non-extra part for x.y.z" or "extra part for
> x.y.z) in the subject. Look at patch 7.1.283, this should be a non-extra part,
> but there is a change in a line with win_socket_id. In Buildroot this patch is
> not used, although it's a non-extra patch, because it has two failed hunks.
>
> You cannot totally distinguish between Unix and non-Unix when they both share
> the source code base. It can always happen, that a non-extra patch depends on
> an extra patch due of the context. I haven't seen any project, which
> unnecessarily adds this extra level of complexity.
>
> Markus
Remember that Vim was created when most users didn't have high-speed DSL
connections. One reason to have several moderately big archives rather
than one huge one could have been to limit connection costs by not
downloading parts you wouldn't need anyway.
I think Bram takes care to avoid having Unix patches depend on "extra"
ones; if a single change affects both Unix modules (such as gui_x11.c)
and non_unix ones (such as gui_w48.c) there will be two patches,
probably with successive numbers, one for the "Unix" modules and one for
"extra".
The fact that non-Unix users still have to download (some) Unix (or,
rather, Unix-but-not-only) modules such as main.c could be due to (I
speculate) the fact that Vim (or maybe Vi) comes from the Unix (or
Unix-like) world and moved from there to "colonize" other worlds like
Windows, Mac, etc. I think there are "customized" archives for Windows
etc. which might not contain the "Unix-only" modules like os_unix.c,
gui_x11.c, etc.
There are other projects with similar if not identical levels of
complexity. It may be less true now that they use Mercurial (where IIUC
you have to clone a repository in full, not parts of it), but while they
used CVS, the Mozilla source was one such, where you would download only
core, mailnews and Thunderbird-UI source if you wanted to build
Thunderbird; only core, browser and Firefox-UI source if you wanted to
build Firefox; and all of core, mailnews, browser, chat, and suite-UI
source if you wanted to build SeaMonkey. You might in addition download
l10n source for your language if you wanted any version other than
en-US. Of course you would do none of these if you were content with
precompiled binaries, just like with Vim for Windows, you don't have to
bother with the source if Steve Hall's distributions (hosted by the
Cream project) are good enough for you.
Best regards,
Tony.
--
"Here's something to think about: How come you never see a headline like
`Psychic Wins Lottery'?"
-- Jay Leno
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---