[Opensim-dev] Package manager

James Hughes jamesh at bluewallgroup.com
Mon Dec 29 00:01:49 UTC 2014


Here is a page about it on the wiki:
http://opensimulator.org/wiki/Feature_Proposals/PluginManager.

-BlueWall

On Sun, 2014-12-28 at 13:31 -0800, Diva Canto wrote:
> Can you point me to documentation/code for what you did with Robust?
> 
> 
> On 12/28/2014 12:45 PM, James Hughes wrote:
> > Mono-Addins does 100% of what we need to manage (subscribe to) remote
> > repositories and install plugins hosted in them.
> >
> > -BlueWall
> >
> > On Sun, 2014-12-28 at 08:43 -0800, Diva Canto wrote:
> >> On 12/27/2014 6:56 PM, Mister Blue wrote:
> >>
> >>> Is there a way to incorporate the NuGet package manager
> >>> (https://nuget.codeplex.com/).
> >> I looked at Nuget. Nuget is a package manager for VS applications. It
> >> does a lot of things that we don't need, and it doesn't do anything
> >> that we need to do. Essentially, Nuget takes your VS project, and adds
> >> additional dlls in the bin folders and additional lines in .csproj. It
> >> does more .Net things like keeping track of which .Net framework
> >> version the packages are for. It seems very much tied to Visual
> >> Studio, and mono support seems weak. From their FAQ: "Keep in mind
> >> that the focus of NuGet is to let you modify your projects and add
> >> references to Visual Studio projects." [1]
> >>
> >> This is not exactly what we need. We have our own runtime plugin
> >> loading mechanism, region modules. What we need is a package manager
> >> for region modules. Region modules have specific needs, such as having
> >> their own configuration files and their own runtime dependencies. And
> >> they don't have many of the needs that static link-time packages do:
> >> usually region modules don't depend on other region modules, they tend
> >> to be self-contained packages. (although dependencies are possible)
> >> And obviously, they aren't listed explicitly as dependencies of
> >> OpenSim.Region.
> >>
> >> There's a console interface to Nuget that seems to be more inline with
> >> what we need:
> >> http://blog.davidebbo.com/2011/01/installing-nuget-packages-directly-from.html
> >> This seems to be a niche use of Nuget, though, and it doesn't do the
> >> most critical part of what we need, which is to automate the dll load
> >> path and the .ini path. If we use Nuget with this interface, it serves
> >> solely to upload/download packages to/from a central repository, which
> >> I'm not sure where it is, and we'd have to fix the paths by some other
> >> means.
> >>
> >> Nuget is designed to help people incorporate 3rd party libraries into
> >> their own VS projects, which is the kind of activity that we do when
> >> we develop for OpenSim (in Windows). But that's not what we are
> >> talking about here. We need something that helps non-developers
> >> incorporate 3rd party custom plugins into a specific application,
> >> OpenSim. There is no compilation/static link steps at the user's site;
> >> there's just dropping in additional dlls and configuration files
> >> somewhere.
> >>
> >> The question is where those files should be dropped, and how they are
> >> picked up by OpenSim. Dumping everything in bin (which is what Nuget
> >> does) doesn't sound like a good idea and, in fact, we already have the
> >> basics in place to host 3rd party plugins under addon-modules. I think
> >> we should proceed on that route.
> >>
> >> So if someone is interested in figuring out how to hack around Nuget
> >> to make it work well for OpenSim region modules, go ahead. I am not
> >> going to explore that option any further, as what I saw doesn't seem
> >> seem a good fit with what we need. My sense is that in the beginning
> >> Nuget (called Nu) seemed in line with Linux-like package managers, and
> >> at some point it made a sharp turn to become an extension of Visual
> >> Studio.
> >>
> >> (It would also be weird to host OpenSim region modules -- a
> >> specific .Net application's plugins -- in the generic Nuget Gallery.
> >> Region modules aren't useful for anything but OpenSim.)
> >>
> >> [1] http://docs.nuget.org/docs/start-here/nuget-faq
> >>
> >>> On Sat, Dec 27, 2014 at 5:37 PM, Diva Canto <diva at metaverseink.com>
> >>> wrote:
> >>>          On 12/27/2014 3:33 PM, Diva Canto wrote:
> >>>                  Unfortunately, .Net doesn't seem to understand wild
> >>>                  cards in the <probing> element, so the installation
> >>>                  procedure will need to edit this <probing> element
> >>>                  and add the new directory explicitly to the
> >>>                  privatePath, with semi-colon in between, which is
> >>>                  not very nice. But that's Windows philosophy, I
> >>>                  guess...
> >>>          
> >>>          We could do this too, and scan everything under
> >>>          addon-modules/*/bin until we find a match. This would have
> >>>          to be done in OpenSim.
> >>>          
> >>>          http://stackoverflow.com/questions/1561806/looking-for-net-assembly-in-a-different-place
> >>>          
> >>>          
> >>>          _______________________________________________
> >>>          Opensim-dev mailing list
> >>>          Opensim-dev at opensimulator.org
> >>>          http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
> >>>          
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Opensim-dev mailing list
> >>> Opensim-dev at opensimulator.org
> >>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
> >> _______________________________________________
> >> Opensim-dev mailing list
> >> Opensim-dev at opensimulator.org
> >> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
> >
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at opensimulator.org
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
> >
> >
> 
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




More information about the Opensim-dev mailing list