Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Tue, Jul 06, 2004 at 02:08:55PM +0100, Max Bowsher wrote: >$ zcat /etc/setup/subversion.lst.gz >... >usr/bin/cygsvn_client-1-0.dll >usr/bin/cygsvn_delta-1-0.dll >usr/bin/cygsvn_diff-1-0.dll >usr/bin/cygsvn_fs-1-0.dll >usr/bin/cygsvn_ra-1-0.dll >usr/bin/cygsvn_ra_dav-1-0.dll >usr/bin/cygsvn_ra_local-1-0.dll >usr/bin/cygsvn_ra_svn-1-0.dll >usr/bin/cygsvn_repos-1-0.dll >usr/bin/cygsvn_subr-1-0.dll >usr/bin/cygsvn_wc-1-0.dll >usr/bin/svn.exe >usr/bin/svnadmin.exe >usr/bin/svndumpfilter.exe >usr/bin/svnlook.exe >usr/bin/svnserve.exe >usr/bin/svnversion.exe >... > >I propose to relocate all the above into a directory /usr/bin/subversion, Sorry, no. /usr/bin is a flat structure. It does not contain subdirectories. cgf
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
> Christopher Faylor writes: > Sorry, no. /usr/bin is a flat structure. It does not contain subdirectories. There are glui-examples ncurses-test-dll > cgf Ciao Volker
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Tue, 6 Jul 2004, Max Bowsher wrote: > $ zcat /etc/setup/subversion.lst.gz > ... > usr/bin/cygsvn_client-1-0.dll > usr/bin/cygsvn_delta-1-0.dll > usr/bin/cygsvn_diff-1-0.dll > usr/bin/cygsvn_fs-1-0.dll > usr/bin/cygsvn_ra-1-0.dll > usr/bin/cygsvn_ra_dav-1-0.dll > usr/bin/cygsvn_ra_local-1-0.dll > usr/bin/cygsvn_ra_svn-1-0.dll > usr/bin/cygsvn_repos-1-0.dll > usr/bin/cygsvn_subr-1-0.dll > usr/bin/cygsvn_wc-1-0.dll IMHO, these are the important ones... > usr/bin/svn.exe > usr/bin/svnadmin.exe > usr/bin/svndumpfilter.exe > usr/bin/svnlook.exe > usr/bin/svnserve.exe > usr/bin/svnversion.exe > ... ...and these are irrelevant. > I propose to relocate all the above into a directory /usr/bin/subversion, > and add symlinks to the executables in /usr/bin . Why not use /usr/share/subversion, or even /opt/subversion, for the DLLs? You can then compile the subversion executables to look for DLLs in the above directory. I don't see a need to move the executables themselves. > The reason is: > > Suppose I wish to use some python bindings, built against a different > version of the subversion libraries (installed in /usr/local), with the > Cygwin system python in /usr/bin. > > *Whatever* I set PATH to, the subversion libraries from /usr/bin will be > the ones loaded, because they are in the same directory as python.exe . True. I'm just not sure I like the subdirectories in /usr/bin. > By hiding these libraries in a subdirectory, and revealing the > executables via symlinks, I ensure that Python bindings will load > subversion libraries according to PATH, allowing users the flexibility > to install a different subversion version. > > I hereby request comments/review of this packaging change proposal. > Max. HTH, Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_[EMAIL PROTECTED] ZZZzz /,`.-'`'-. ;-;;,_[EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Dr. Volker Zell wrote: Christopher Faylor writes: > Sorry, no. /usr/bin is a flat structure. It does not contain subdirectories. There are glui-examples ncurses-test-dll I'll relocate ncurses-test-dll to /usr/lib/ncurses/test/ on the next release. (/usr/lib/ not /usr/share, because these are arch-specific binaries) -- Chuck
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Tue, Jul 06, 2004 at 03:58:53PM +0200, Dr. Volker Zell wrote: >> Christopher Faylor writes: > >> Sorry, no. /usr/bin is a flat structure. It does not contain subdirectories. > >There are > >glui-examples >ncurses-test-dll So, crossing the street when it says "Don't Walk" is ok since you saw somebody do it just the other day? cgf
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Tue, Jul 06, 2004 at 02:45:32PM -0400, Charles Wilson wrote: >Dr. Volker Zell wrote: >>>Christopher Faylor writes: >> >> >>> Sorry, no. /usr/bin is a flat structure. It does not contain >>subdirectories. >> >>There are >> >>glui-examples >>ncurses-test-dll > >I'll relocate ncurses-test-dll to /usr/lib/ncurses/test/ on the next >release. (/usr/lib/ not /usr/share, because these are arch-specific >binaries) Thanks, Chuck. cgf
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Tue, Jul 06, 2004 at 10:21:55AM -0400, Igor Pechtchanski wrote: >On Tue, 6 Jul 2004, Max Bowsher wrote: >>I propose to relocate all the above into a directory >>/usr/bin/subversion, and add symlinks to the executables in /usr/bin . > >Why not use /usr/share/subversion, or even /opt/subversion, for the >DLLs? You can then compile the subversion executables to look for DLLs >in the above directory. I don't see a need to move the executables >themselves. Architecture specific binaries should not be in /usr/share. cgf
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Tue, 6 Jul 2004, Christopher Faylor wrote: > On Tue, Jul 06, 2004 at 10:21:55AM -0400, Igor Pechtchanski wrote: > >On Tue, 6 Jul 2004, Max Bowsher wrote: > >>I propose to relocate all the above into a directory > >>/usr/bin/subversion, and add symlinks to the executables in /usr/bin . > > > >Why not use /usr/share/subversion, or even /opt/subversion, for the > >DLLs? You can then compile the subversion executables to look for DLLs > >in the above directory. I don't see a need to move the executables > >themselves. > > Architecture specific binaries should not be in /usr/share. > > cgf Yes, I was planning to reply to Chuck's message (which basically said the same thing). You're both right, the above should have said /usr/lib/subversion, not /usr/share/subversion. Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_[EMAIL PROTECTED] ZZZzz /,`.-'`'-. ;-;;,_[EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
> Christopher Faylor writes: > On Tue, Jul 06, 2004 at 02:45:32PM -0400, Charles Wilson wrote: >> Dr. Volker Zell wrote: Christopher Faylor writes: >>> >>> >>> > Sorry, no. /usr/bin is a flat structure. It does not contain >>> subdirectories. >>> >>> There are >>> >>> glui-examples >>> ncurses-test-dll >> >> I'll relocate ncurses-test-dll to /usr/lib/ncurses/test/ on the next >> release. (/usr/lib/ not /usr/share, because these are arch-specific >> binaries) > Thanks, Chuck. > cgf Finally, auf Deutsch würde man sagen, die Augen essen mit, gell Corinna ? Ciao Volker
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
> Christopher Faylor writes: > So, crossing the street when it says "Don't Walk" is ok since you saw > somebody do it just the other day? Well... > cgf vz
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Igor Pechtchanski wrote: > You can then compile the subversion executables to look for DLLs in the > above directory. Um, how? To the best of my knowledge the Windows dynamic loader does not have this level of sophistication. Max.
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Jul 7 14:42, Max Bowsher wrote: > Igor Pechtchanski wrote: > > You can then compile the subversion executables to look for DLLs in the > > above directory. > > Um, how? To the best of my knowledge the Windows dynamic loader does not have this > level of sophistication. That would probably require a wrapper script for each executable. I don't think it's worth that. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Co-Project Leader mailto:[EMAIL PROTECTED] Red Hat, Inc.
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Wed, 7 Jul 2004, Max Bowsher wrote: > Igor Pechtchanski wrote: > > You can then compile the subversion executables to look for DLLs in the > > above directory. > > Um, how? To the best of my knowledge the Windows dynamic loader does not > have this level of sophistication. > > Max. Well, by default it doesn't. However, using LoadLibraryEx and the LOAD_WITH_ALTERED_SEARCH_PATH flag, you can actually specify an exact path to the module. It might be more pain than it's worth, though, and I don't know of easier ways. Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_[EMAIL PROTECTED] ZZZzz /,`.-'`'-. ;-;;,_[EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Igor Pechtchanski wrote: > On Wed, 7 Jul 2004, Max Bowsher wrote: > >> Igor Pechtchanski wrote: >>> You can then compile the subversion executables to look for DLLs in the >>> above directory. >> >> Um, how? To the best of my knowledge the Windows dynamic loader does not >> have this level of sophistication. >> >> Max. > > Well, by default it doesn't. However, using LoadLibraryEx and the > LOAD_WITH_ALTERED_SEARCH_PATH flag, you can actually specify an exact path > to the module. It might be more pain than it's worth, though, and I don't > know of easier ways. Not so helpful if you aren't even using LoadLibrary. Max.
RE: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Max Bowsher wrote on Tuesday, July 06, 2004 3:09 PM: [snip] > The reason is: > > Suppose I wish to use some python bindings, built against a > different version of the subversion libraries (installed in > /usr/local), with the Cygwin system python in /usr/bin. > > *Whatever* I set PATH to, the subversion libraries from > /usr/bin will be the ones loaded, because they are in the > same directory as python.exe . > > By hiding these libraries in a subdirectory, and revealing > the executables via symlinks, I ensure that Python bindings > will load subversion libraries according to PATH, allowing > users the flexibility to install a different subversion version. Put /usr/local in front of your path, copy python.exe into your /usr/local and it will pick up your modified dll's. -- Jörg
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Christopher Faylor wrote: > On Tue, Jul 06, 2004 at 02:08:55PM +0100, Max Bowsher wrote: >> >> I propose to relocate all the above into a directory /usr/bin/subversion, > > Sorry, no. /usr/bin is a flat structure. It does not contain subdirectories. What is the reason for this? I feel this specific case would be a sensible exception to the rule. Max.
RE: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
In order to be more Unix-like, /usr/bin does not have subdirectories. Look at the structure of Linux. I'm going to remove Windows Services for Unix and just use both Cygwin and Visual studio. Try and look into /usr/bin on Linux and see what Chris is talking about. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Max Bowsher Sent: Saturday, July 10, 2004 6:18 PM To: [EMAIL PROTECTED] Subject: Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin Christopher Faylor wrote: > On Tue, Jul 06, 2004 at 02:08:55PM +0100, Max Bowsher wrote: >> >> I propose to relocate all the above into a directory /usr/bin/subversion, > > Sorry, no. /usr/bin is a flat structure. It does not contain subdirectories. What is the reason for this? I feel this specific case would be a sensible exception to the rule. Max.
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Robert McNulty Junior wrote: > In order to be more Unix-like, /usr/bin does not have subdirectories. > Look at the structure of Linux. I'm going to remove Windows Services for > Unix and just use both Cygwin and Visual studio. > Try and look into /usr/bin on Linux and see what Chris is talking about. I've not seen any statements that unix *cannot* have subdirs in /usr/bin. It generally doesn't, because to do so would defeat the mechanism of the PATH envvar. So, that really doesn't suggest that we shouldn't create subdirectories in /usr/bin where appropriate. I submit that it is appropriate in this case, because: * The problem I'm trying to solve requires that the cygsvn*.dll files not be in the same directory as python.exe * It is an established Cygwin standard that DLLs go in /usr/bin Therefore, a subdir in /usr/bin seems the best compromise of the above 2 points. Max. > -Original Message- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On > Behalf Of Max Bowsher > Sent: Saturday, July 10, 2004 6:18 PM > To: [EMAIL PROTECTED] > Subject: Re: [RFC] Change to subversion package: Move /usr/bin/* -> > /usr/bin/subversion/* and add symlinks in /usr/bin > > Christopher Faylor wrote: >> On Tue, Jul 06, 2004 at 02:08:55PM +0100, Max Bowsher wrote: >>> >>> I propose to relocate all the above into a directory /usr/bin/subversion, >> >> Sorry, no. /usr/bin is a flat structure. It does not contain >> subdirectories. > > What is the reason for this? I feel this specific case would be a sensible > exception to the rule. > > Max.
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Sun, Jul 11, 2004 at 12:18:23AM +0100, Max Bowsher wrote: >Christopher Faylor wrote: >> On Tue, Jul 06, 2004 at 02:08:55PM +0100, Max Bowsher wrote: >>> >>> I propose to relocate all the above into a directory /usr/bin/subversion, >> >>Sorry, no. /usr/bin is a flat structure. It does not contain >>subdirectories. > >What is the reason for this? I feel this specific case would be a >sensible exception to the rule. Did you read the rest of this thread? Just mimic how other packages on linux do it. There is no need to invent a new way of doing this when there are already standard ways in existence. If you are using symlinks anyway, there is no reason why you need to create a directory in /usr/bin. cgf
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Christopher Faylor wrote: > On Sun, Jul 11, 2004 at 12:18:23AM +0100, Max Bowsher wrote: >> Christopher Faylor wrote: >>> On Tue, Jul 06, 2004 at 02:08:55PM +0100, Max Bowsher wrote: I propose to relocate all the above into a directory /usr/bin/subversion, >>> >>> Sorry, no. /usr/bin is a flat structure. It does not contain >>> subdirectories. >> >> What is the reason for this? I feel this specific case would be a >> sensible exception to the rule. > > Did you read the rest of this thread? Just mimic how other packages > on linux do it. There is no need to invent a new way of doing this > when there are already standard ways in existence. > > If you are using symlinks anyway, there is no reason why you need > to create a directory in /usr/bin. I did read the rest of the thread - I presume the /usr/lib suggestion is what you are referring to. My reluctance to do that is because the standard place to look for DLLs and programs on Cygwin is /usr/bin. I don't understand why, because they need to be in a subdirectory, they should transfer to the less obvious /usr/lib tree. Also, there are no packages on linux doing this that I can compare with, as linux doesn't have to resort to workarounds to avoid a deficient runtime linker. I could put them in /usr/lib - but I would really like to understand why people don't want them in /usr/bin - so far the only reason that has been revealed to me is "linux doesn't do that", but as I have said, linux is never in this situation, so that's not a very satisfying reason. Max.
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Mon, Jul 12, 2004 at 12:02:59AM +0100, Max Bowsher wrote: >Christopher Faylor wrote: >> On Sun, Jul 11, 2004 at 12:18:23AM +0100, Max Bowsher wrote: >>> Christopher Faylor wrote: On Tue, Jul 06, 2004 at 02:08:55PM +0100, Max Bowsher wrote: > > I propose to relocate all the above into a directory >/usr/bin/subversion, Sorry, no. /usr/bin is a flat structure. It does not contain subdirectories. >>> >>> What is the reason for this? I feel this specific case would be a >>> sensible exception to the rule. >> >> Did you read the rest of this thread? Just mimic how other packages >> on linux do it. There is no need to invent a new way of doing this >> when there are already standard ways in existence. >> >> If you are using symlinks anyway, there is no reason why you need >> to create a directory in /usr/bin. > >I did read the rest of the thread - I presume the /usr/lib suggestion is >what you are referring to. > >My reluctance to do that is because the standard place to look for DLLs and >programs on Cygwin is /usr/bin. I don't understand why, because they need to >be in a subdirectory, they should transfer to the less obvious /usr/lib >tree. The FHS dictates no subdirectories in /usr/bin and I think it's a good rule. Program specific subdirectories belong in /usr/lib. >Also, there are no packages on linux doing this that I can compare >with, as linux doesn't have to resort to workarounds to avoid a >deficient runtime linker. There are certainly a number of packages with symbolic links to /usr/lib, however. >I could put them in /usr/lib - but I would really like to understand why >people don't want them in /usr/bin - so far the only reason that has been >revealed to me is "linux doesn't do that", but as I have said, linux is >never in this situation, so that's not a very satisfying reason. Why didn't rpm just put its binaries in /usr/bin/rpm? Why didn't qt put them in /usr/bin/qt? Regardless of the reason, they put their packages in /usr/lib. So should you. cgf
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Christopher Faylor wrote: > On Mon, Jul 12, 2004 at 12:02:59AM +0100, Max Bowsher wrote: >> My reluctance to do that is because the standard place to look for DLLs and >> programs on Cygwin is /usr/bin. I don't understand why, because they need to >> be in a subdirectory, they should transfer to the less obvious /usr/lib >> tree. > > The FHS dictates no subdirectories in /usr/bin and I think it's a good > rule. Program specific subdirectories belong in /usr/lib. ... > Why didn't rpm just put its binaries in /usr/bin/rpm? Why didn't qt put > them in /usr/bin/qt? Regardless of the reason, they put their packages > in /usr/lib. So should you. OK, I'll use /usr/lib. Though the FHS actually permits subdirs of /usr/bin, even defining the meaning of one subdir, /usr/bin/mh http://www.pathname.com/fhs/pub/fhs-2.3.html#USRBINMOSTUSERCOMMANDS Max.
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
On Mon, Jul 12, 2004 at 11:32:30AM +0100, Max Bowsher wrote: >Christopher Faylor wrote: >> On Mon, Jul 12, 2004 at 12:02:59AM +0100, Max Bowsher wrote: >>> My reluctance to do that is because the standard place to look for DLLs >and >>> programs on Cygwin is /usr/bin. I don't understand why, because they need >to >>> be in a subdirectory, they should transfer to the less obvious /usr/lib >>> tree. >> >> The FHS dictates no subdirectories in /usr/bin and I think it's a good >> rule. Program specific subdirectories belong in /usr/lib. > >... > >> Why didn't rpm just put its binaries in /usr/bin/rpm? Why didn't qt put >> them in /usr/bin/qt? Regardless of the reason, they put their packages >> in /usr/lib. So should you. > >OK, I'll use /usr/lib. > >Though the FHS actually permits subdirs of /usr/bin, even defining the >meaning of one subdir, /usr/bin/mh > >http://www.pathname.com/fhs/pub/fhs-2.3.html#USRBINMOSTUSERCOMMANDS Hmm. I couldn't get through to pathname.com last night and relied on a secondary reference which stated in no uncertain terms that subdirectories should not be created. You just can't trust the internet... cgf
Re: [RFC] Change to subversion package: Move /usr/bin/* -> /usr/bin/subversion/* and add symlinks in /usr/bin
Op Mon, 12 Jul 2004 11:32:30 +0100 schreef Max Bowsher in <[EMAIL PROTECTED]>: : Christopher Faylor wrote: [...] : > The FHS dictates no subdirectories in /usr/bin and I think it's a good : > rule. Program specific subdirectories belong in /usr/lib. : : ... : : > Why didn't rpm just put its binaries in /usr/bin/rpm? Why didn't qt put : > them in /usr/bin/qt? Regardless of the reason, they put their packages : > in /usr/lib. So should you. : : OK, I'll use /usr/lib. : : Though the FHS actually permits subdirs of /usr/bin, even defining the : meaning of one subdir, /usr/bin/mh ...as an option, and it may also be a symlink ("The following directories, or symbolic links to directories, must be in /usr/bin, if the corresponding subsystem is installed") : http://www.pathname.com/fhs/pub/fhs-2.3.html#USRBINMOSTUSERCOMMANDS It /does/ require: "/usr/bin/X11 must be a symlink to /usr/X11R6/bin if the latter exists". The latter *does* exist. The former _does not_. [Heads up X11-maintainer? (Same is true for /usr/lib/X11 -> /usr/X11R6/lib/X11 and /usr/include/X11 -> /usr/X11R6/include/X11 http://www.pathname.com/fhs/pub/fhs-2.3.html#USRX11R6XWINDOWSYSTEMVERSION11REL> )] However, in http://www.pathname.com/fhs/pub/fhs-2.3.html#REQUIREMENTS2 it clearly states: "There must be no subdirectories in /bin." It does not forbid symlinks to dirs AFAICS... L8r, Buzz. -- ) | | ---/ ---/ Yes, this | This message consists of true | I do not -- | | // really is | and false bits entirely.| mail for ) | | //a 72 by 4 +---+ any1 but -- \--| /--- /--- .sigfile. | |perl -pe "s.u(z)\1.as."| me. 4^re