Orbit - Package Manager - Specification/ideas

jdrewsen jdrewsen at nospam.com
Wed Jul 13 13:20:36 PDT 2011


Den 13-07-2011 21:19, Jacob Carlborg skrev:
> I've written a more formal specification of my ideas for a package
> manager for D.
>
> https://github.com/jacob-carlborg/orbit/wiki/Orbit-Package-Manager-for-D
>
> Note that I am exploring the possibility of using D as the language for
> all the files mentioned in the link above.
>
> The current status is that building packages and installing them works,
> but quite limited. No dependency tracking or central repository so far.
>
> Please comment and suggest.

Nice work!

Orb - tool section:

Describe what the "use" command does. I guess it simply adds a required 
orb to the Orbfile in the current directory?

Orbfile section:

The "orb" command that accepts git/hg/svn repositories should also allow 
for a tag/commit parameter I think.

The "orb" commands second parameter could also be a list of serveral 
repositories to try in order for fallback.

I guess a user configuration file in ~/.orb could contain "source" 
commands as well.

Orb package section:

I think the versioning scheme should be set in stone actually. Most 
other packaging systems does that. It makes your life much easier.

Central repository section:

Please let us settle for one format for the metadata.xxx file. My vote 
is for json or yaml. XML is too verbose for my taste. I also think that 
it should be compressed e.g. metadata.json.bzip since it will quickly 
grow quite large and the packaging system has to be fast.

Maybe add the build revision on /orb/<package>-<version>_<build>
since it is quite common reupload the same package version with at 
simple build fix.

Additionally the architecture should be added to the name:
/orb/<package>-<version>_<build>-<arch>
Now it is just like how debian files look like :)

Maybe put the file in an arch subdir
/orb/<arch>/<package>-<version>_<build>

I'm really in favor of doing this in D instead of ruby though.

/Jonas






More information about the Digitalmars-d mailing list