thelema / odb

Oasis-db downloader and installer
Do What The F*ck You Want To Public License
33 stars 7 forks source link

Support user defined actions #76

Closed UnixJunkie closed 12 years ago

UnixJunkie commented 12 years ago

users can add the config keyword in a package line description in order to override the defaults

thelema commented 12 years ago

I've pushed a replacement parser with cleaner support for ={ ... } as values. If you could help me test this, I'd appreciate it.

E.

On 07/20/2012 06:04 AM, Francois Berenger wrote:

users can add the config keyword in a package line description in order to override the defaults

You can merge this Pull Request by running:

git pull https://github.com/HappyCrow/odb support_user_defined_actions

Or you can view, comment on it, or merge it online at:

https://github.com/thelema/odb/pull/76

-- Commit Summary --

  • added usr_config_key
  • added contains function for strings
  • can handle config={[some comands]} in the package line description
  • added replace_all for lists and use it
  • added an example of using the config key

-- File Changes --

M odb.ml (48) M packages (7)

-- Patch Links --

https://github.com/thelema/odb/pull/76.patch https://github.com/thelema/odb/pull/76.diff


Reply to this email directly or view it on GitHub: https://github.com/thelema/odb/pull/76

UnixJunkie commented 12 years ago

OK, I'll test very soon.

UnixJunkie commented 12 years ago

Hello,

The command used to configure with my annot package test example is: {./configure --prefix=~/ocamlbrew/ocaml-3.12.1 instead of ./configure --prefix=~/ocamlbrew/ocaml-3.12.1

So, the leading '{' was not removed from the config key value.

I don't know so much where this happens in the code.

Here is the packages file line to test: annot git=git://github.com/avsm/ocaml-annot.git config={./configure --prefix=~/ocamlbrew/ocaml-3.12.1}

./odb.ml --debug annot # to try install \rm $(which annot) # to uninstall the package

Regards, F.

thelema commented 12 years ago

On 07/22/2012 09:11 PM, Francois Berenger wrote:

Hello,

The command used to configure with my annot package test example is: {./configure --prefix=~/ocamlbrew/ocaml-3.12.1 instead of ./configure --prefix=~/ocamlbrew/ocaml-3.12.1

So, the leading '{' was not removed from the config key value.

yup, thanks for testing this - it's just an off-by-one error in the {} code.

I don't know so much where this happens in the code.

All of the property-list parsing is handled in PL.of_string.

Here is the packages file line to test: annot git=git://github.com/avsm/ocaml-annot.git config={./configure --prefix=~/ocamlbrew/ocaml-3.12.1}

./odb.ml --debug annot # to try install \rm $(which annot) # to uninstall the package

This works for me now. Except that I don't have an ~/ocamlbrew/ocaml-3.12.1 folder to install into. Thus the need for fixing the package instead of trying to adjust odb to handle this.

E.

UnixJunkie commented 12 years ago

Works for me too now, thanks.

annot can stay in the hall of shame broken packages file as it needs some user setup (where to install) as you noted.