<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>147857</bug_id>
          
          <creation_ts>2006-09-16 14:37 0000</creation_ts>
          <short_desc>nvi, vim and gvim should not block</short_desc>
          <delta_ts>2006-10-25 23:07:14 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Ebuilds</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P1</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>148191</dependson>
    
    <dependson>152620</dependson>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>t4y68ds02@sneakemail.com</reporter>
          <assigned_to>vim@gentoo.org</assigned_to>
          <cc>art-gt@broomstick.com</cc>
    
    <cc>truedfx@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>t4y68ds02@sneakemail.com</who>
            <bug_when>2006-09-16 14:37:24 0000</bug_when>
            <thetext>We have the eselect system for selecting among various version of things. All of the various vis should install under a unique name and should link to vi, ex etc via the eselect system.

Let&apos;s get some of the gentoo choice back into the vi portion.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2006-09-19 00:37:59 0000</bug_when>
            <thetext>*** Bug 148139 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-09-19 07:07:05 0000</bug_when>
            <thetext>So, an eselect module for this purpose has already been written, but so far it hasn&apos;t been included in the standard eselect distribution. I&apos;m asking eselect folks to do that now. Once that gets done, I&apos;ll make the appropriate changes in nvi, vim.eclass, elvis, vile, and xvile.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-09-20 08:25:41 0000</bug_when>
            <thetext>Okay, as an update, app-editors/vim-7.0.109 and app-editors/gvim-7.0.109 now use the app-admin/eselect-vi package to configure the /usr/bin/vi symlink, and elvis, vile, and xvile will shortly. All that app-editors/nvi needs to do is add the lines:

  einfo &quot;Setting /usr/bin/vi symlink&quot;
  eselect vi set &quot;${PN}&quot;

in their ebuild&apos;s pkg_postinst() phase, and add the lines:

  einfo &quot;Updating /usr/bin/vi symlink&quot;
  eselect vi update

in their ebuild&apos;s pkg_postrm() phase. This should be with a rev bump, and that revision should be package.masked for the time being.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-09-20 11:21:42 0000</bug_when>
            <thetext>(In reply to comment #3)
&gt; All that app-editors/nvi needs to do is

in addition to what you wrote, it would need to depend on eselect-vi. There is a problem with that: eselect-vi depends on &gt;=eselect-1.0.6, which is not in the tree. I&apos;ll update nvi as soon as I&apos;m able to test eselect-vi, thanks for the good work. :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-09-20 11:40:46 0000</bug_when>
            <thetext>Oh, yeah, forgot the DEPEND... Yeah, you can actually just add the 1.0.6 version to /etc/portage/profile/package.provided for now and run it with 1.0.5... it works fine. The 1.0.6 is just so that there&apos;s no possible chance of a collision between the two packages (vi.eselect is split from the old eselect package, although it wasn&apos;t ever installed with eselect, just distributed with it).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-09-20 12:19:50 0000</bug_when>
            <thetext>(In reply to comment #5)
&gt; Oh, yeah, forgot the DEPEND...

It should be RDEPEND, not DEPEND. (This appears to be wrong in vim, and some of the other ebuilds using eselect-vi don&apos;t have it as a dependency at all.)

&gt; Yeah, you can actually just add the 1.0.6
&gt; version to /etc/portage/profile/package.provided for now and run it with
&gt; 1.0.5... it works fine. The 1.0.6 is just so that there&apos;s no possible chance of
&gt; a collision between the two packages (vi.eselect is split from the old eselect
&gt; package, although it wasn&apos;t ever installed with eselect, just distributed with
&gt; it).

Thanks for the info. nvi -r4 will be in the tree later tonight, hardmasked, assuming I don&apos;t run into any problems.

One other note, would you (anyone) remove vim&apos;s block on nvi?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-09-20 13:01:27 0000</bug_when>
            <thetext>nvi-1.81.5-r4 added. One last request: before eselect-vi gets unmasked, could it be updated to also make /usr/bin/ex and /usr/bin/view symlinks, and possibly any other relevant ones?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-09-20 16:37:24 0000</bug_when>
            <thetext>(In reply to comment #6)
&gt; It should be RDEPEND, not DEPEND.

It should be DEPEND, since this is run during the ebuild, and not afterwards.

&gt; (This appears to be wrong in vim, and some of the other ebuilds using
&gt; eselect-vi don&apos;t have it as a dependency at all.)

I added the DEPEND to the ebuilds I had forgotten it in earlier.

&gt; One other note, would you (anyone) remove vim&apos;s block on nvi?

Removing them now, should be fixed in CVS in a bit.

(In reply to comment #7)
&gt; before eselect-vi gets unmasked, could it be updated to also make
&gt; /usr/bin/ex and /usr/bin/view symlinks, and possibly any other
&gt; relevant ones?

Sure, I was already thinking about that. Besides vi, ex, and view, can you or anyone else think of any other standard symlinks it should provide?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-09-20 22:23:37 0000</bug_when>
            <thetext>(In reply to comment #8)
&gt; (In reply to comment #6)
&gt; &gt; It should be RDEPEND, not DEPEND.
&gt; 
&gt; It should be DEPEND, since this is run during the ebuild, and not afterwards.

That&apos;s not really relevant. It should not be in DEPEND because it is unnecessary for emerge --buildpkgonly, and it has to be in RDEPEND since it is required for emerge --usepkgonly.

&gt; &gt; before eselect-vi gets unmasked, could it be updated to also make
&gt; &gt; /usr/bin/ex and /usr/bin/view symlinks, and possibly any other
&gt; &gt; relevant ones?
&gt; 
&gt; Sure, I was already thinking about that. Besides vi, ex, and view, can you or
&gt; anyone else think of any other standard symlinks it should provide?

For nvi, those three are the only ones.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>art-gt@broomstick.com</who>
            <bug_when>2006-09-21 06:16:25 0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; 
&gt; &gt; Sure, I was already thinking about that. Besides vi, ex, and view, can you or
&gt; &gt; anyone else think of any other standard symlinks it should provide?
&gt; 
&gt; For nvi, those three are the only ones.

No, there should also be a &quot;nex&quot;.  (However, nex should probably be there no matter what, and not be set by eselect.  Currently, it&apos;s missing.)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-09-21 08:28:39 0000</bug_when>
            <thetext>&gt; &gt; For nvi, those three are the only ones.
&gt; 
&gt; No, there should also be a &quot;nex&quot;.  (However, nex should probably be there no
&gt; matter what, and not be set by eselect.  Currently, it&apos;s missing.)

I&apos;m not so sure it&apos;s necessary, since you can just as well run &apos;nvi -e&apos;, and scripts shouldn&apos;t be using /usr/bin/nex anyway (they should use ex), but I don&apos;t have a problem with it either. I&apos;ll restore creation of that, as well as nview.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-09-24 13:05:51 0000</bug_when>
            <thetext>As an update, now in CVS is eselect-vi-1.1, which provides symlinks for ex and view, as well as symlinks for the vi, ex, and view man pages. The vim.eclass has been updated to handle this properly.

Everything is still masked for now (still waiting on eselect-1.0.6).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-09-25 14:38:52 0000</bug_when>
            <thetext>Created an attachment (id=98067)
vi.eselect.patch

eselect-vi-1.1 has serious problems. Please apply this patch. eselect-vi tries to create /usr/bin/vi twice and always complains that it already exists the second time. Backslashes are missing. remove_symlinks returns no meaningful exit code (it returns whether /usr/share/man/man1/view.1.gz existed already, regardless of anything else), its return status should not be checked.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-10-02 15:24:02 0000</bug_when>
            <thetext>Oops, thanks for pointing that out. I&apos;ve fixed it in eselect&apos;s svn, and I&apos;ll
push out 0.1.1 later tonight.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-10-04 22:27:27 0000</bug_when>
            <thetext>So, app-admin/eselect-1.0.6 is in the tree now. Lets test all this out some more, but I think it&apos;s nearly ready for unmasking. How about you, Harald?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>truedfx@gentoo.org</who>
            <bug_when>2006-10-04 22:50:29 0000</bug_when>
            <thetext>Well, there&apos;s still the issue that

# rm /usr/share/man/man1/view.1.gz
# eselect vi set nvi

won&apos;t work properly (as mentioned before), when the expected behaviour (at least, expected by me) is to simply recreate the symlink.

Other than that, though, I have no problems with unmasking it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-10-05 22:01:29 0000</bug_when>
            <thetext>Hmm, I&apos;ll poke that some more a little later today. Also, it&apos;s come to my attention that man pages aren&apos;t always installed gzipped by all versions of portage, they may be bzipped, or have no compression at all. So, I&apos;ve gotta do a little bit better handling there, too. I&apos;ll take a look at it on Saturday.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-10-19 21:21:48 0000</bug_when>
            <thetext>Hi, sorry, I&apos;ve been kinda swamped with my new job. I&apos;m almost done poking and prodding eselect-vi and sending out a new version. I should have time this Saturday to do that. All I have left is to handle more intelligently making the man page symlinks, since sometimes man pages are installed bzip2&apos;d, other times gzip&apos;d, and others without any compression at all.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-10-21 22:44:45 0000</bug_when>
            <thetext>Okay, all that is done and tested. As soon as others here can test app-admin/eselect-vi-1.1.3 and confirm I didn&apos;t do anything stupid, I&apos;ll unmask everything. (It should hit your local distfiles/rsync mirrors in a few hours).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-10-23 19:32:43 0000</bug_when>
            <thetext>And, it&apos;s unmasked! Enjoy!
If anything else wrong happens with the new eselect-vi, please reopen this bug. I&apos;ll re-mask it if necessary.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-10-23 22:34:28 0000</bug_when>
            <thetext>Sorry, reopening this until bug #152620 is closed.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pioto@gentoo.org</who>
            <bug_when>2006-10-25 23:07:14 0000</bug_when>
            <thetext>Okay, now it&apos;s /really/ fixed. Thanks for your patience.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98067</attachid>
            <date>2006-09-25 14:38 0000</date>
            <desc>vi.eselect.patch</desc>
            <filename>vi.eselect.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIHZpLmVzZWxlY3QKKysrIHZpLmVzZWxlY3QKQEAgLTQ2LDE1ICs0NiwxNSBAQAogCQkJZGll
ICJDb3VsZG4ndCBzZXQgJHt0YXJnZXR9IC91c3IvYmluL3ZpIHN5bWxpbmsiCiAJCWxuIC1zICIk
e1JPT1R9L3Vzci9iaW4vJHt0YXJnZXR9IiAiJHtST09UfS91c3IvYmluL2V4IiB8fCBcCiAJCQlk
aWUgIkNvdWxkbid0IHNldCAke3RhcmdldH0gL3Vzci9iaW4vZXggc3ltbGluayIKLQkJbG4gLXMg
IiR7Uk9PVH0vdXNyL2Jpbi8ke3RhcmdldH0iICIke1JPT1R9L3Vzci9iaW4vdmkiIHx8IFwKLQkJ
CWRpZSAiQ291bGRuJ3Qgc2V0ICR7dGFyZ2V0fSAvdXNyL2Jpbi92aSBzeW1saW5rIgorCQlsbiAt
cyAiJHtST09UfS91c3IvYmluLyR7dGFyZ2V0fSIgIiR7Uk9PVH0vdXNyL2Jpbi92aWV3IiB8fCBc
CisJCQlkaWUgIkNvdWxkbid0IHNldCAke3RhcmdldH0gL3Vzci9iaW4vdmlldyBzeW1saW5rIgog
CQlsbiAtcyAiJHtST09UfS91c3Ivc2hhcmUvbWFuL21hbjEvJHt0YXJnZXR9LjEuZ3oiIFwKIAkJ
CSIke1JPT1R9L3Vzci9zaGFyZS9tYW4vbWFuMS92aS4xLmd6IiB8fCBcCiAJCQlkaWUgIkNvdWxk
bid0IHNldCAke3RhcmdldH0gL3Vzci9zaGFyZS9tYW4vbWFuMS92aS4xLmd6IHN5bWxpbmsiCi0J
CWxuIC1zICIke1JPT1R9L3Vzci9zaGFyZS9tYW4vbWFuMS8ke3RhcmdldH0uMS5neiIKKwkJbG4g
LXMgIiR7Uk9PVH0vdXNyL3NoYXJlL21hbi9tYW4xLyR7dGFyZ2V0fS4xLmd6IiBcCiAJCQkiJHtS
T09UfS91c3Ivc2hhcmUvbWFuL21hbjEvZXguMS5neiIgfHwgXAogCQkJZGllICJDb3VsZG4ndCBz
ZXQgJHt0YXJnZXR9IC91c3Ivc2hhcmUvbWFuL21hbjEvZXguMS5neiBzeW1saW5rIgotCQlsbiAt
cyAiJHtST09UfS91c3Ivc2hhcmUvbWFuL21hbjEvJHt0YXJnZXR9LjEuZ3oiCisJCWxuIC1zICIk
e1JPT1R9L3Vzci9zaGFyZS9tYW4vbWFuMS8ke3RhcmdldH0uMS5neiIgXAogCQkJIiR7Uk9PVH0v
dXNyL3NoYXJlL21hbi9tYW4xL3ZpZXcuMS5neiIgfHwgXAogCQkJZGllICJDb3VsZG4ndCBzZXQg
JHt0YXJnZXR9IC91c3Ivc2hhcmUvbWFuL21hbjEvdmlldy4xLmd6IHN5bWxpbmsiCiAJZWxzZQpA
QCAtMTI2LDkgKzEyNiw4IEBACiAJCWRpZSAtcSAiVG9vIG1hbnkgcGFyYW1ldGVycyIKIAogCWVs
aWYgW1sgLUwgIiR7Uk9PVH0vdXNyL2Jpbi92aSIgXV0gOyB0aGVuCi0JCWlmICEgcmVtb3ZlX3N5
bWxpbmtzIDsgdGhlbgotCQkJZGllIC1xICJDYW4ndCByZW1vdmUgZXhpc3RpbmcgcHJvdmlkZXIi
CisJCXJlbW92ZV9zeW1saW5rcwotCQllbGlmICEgc2V0X3N5bWxpbmtzICIkezF9IiA7IHRoZW4K
KwkJaWYgISBzZXRfc3ltbGlua3MgIiR7MX0iIDsgdGhlbgogCQkJZGllIC1xICJDYW4ndCBzZXQg
bmV3IHByb3ZpZGVyIgogCQlmaQogCkBAIC0xNTYsNyArMTU1LDcgQEAKIAogCWlmIFtbIC1MICIk
e1JPT1R9L3Vzci9iaW4vdmkiIF1dIDsgdGhlbgogCQlbWyAkezF9ID09ICItLWlmLXVuc2V0IiBd
XSAmJiByZXR1cm4KLQkJcmVtb3ZlX3N5bWxpbmtzIHx8IGRpZSAtcSAiQ2FuJ3QgcmVtb3ZlIGV4
aXN0aW5nIGxpbmsiCisJCXJlbW92ZV9zeW1saW5rcwogCWZpCiAJaWYgW1sgLWUgIiR7Uk9PVH0v
dXNyL2Jpbi92aSIgXV0gOyB0aGVuCiAJCWRpZSAtcSAiQ2FuJ3Qgc2V0IGEgbmV3IHByb3ZpZGVy
Igo=
</data>        

          </attachment>
    </bug>

</bugzilla>