Commit graph

119 commits

Author SHA1 Message Date
Igor Gnatenko
c946648932 generate BuildRequires/BuildConflicts
Closes: https://pagure.io/fedora-rust/rust2rpm/issue/8
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-02-03 10:05:26 +01:00
Igor Gnatenko
a101585005 fix syntax error
Traceback (most recent call last):
  File "/home/brain/Projects/upstream/rust2rpm/cargodeps.py", line 140, in <module>
    md = Metadata(f)
  File "/home/brain/Projects/upstream/rust2rpm/cargodeps.py", line 43, in __init__
    self._parse_metadata(json.loads(metadata))
  File "/home/brain/Projects/upstream/rust2rpm/cargodeps.py", line 92, in _parse_metadata
    self._provides = [Dependency(name, version)]
NameError: name 'name' is not defined

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-02-03 09:42:57 +01:00
Igor Gnatenko
e2f321d603 expose name/version from metadata class
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-31 22:41:45 +01:00
Igor Gnatenko
4ff91cb101 refactor metadata parser to class
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-31 22:38:54 +01:00
Igor Gnatenko
99f6926156 don't try to group requires/conflicts
We can't reliably get mappings between requires and conflicts, so
just split the out to not confuse people.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-31 00:54:56 +01:00
Igor Gnatenko
f33bf0ddec initial implementation of rust2rpm
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-31 00:44:25 +01:00
Igor Gnatenko
cd9f892d51 rename cargo-deps.py to cargodeps.py
To allow importing from outside. import cargo-deps doesn't really work.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 23:21:21 +01:00
Igor Gnatenko
1ac75bb703 move arguments parsing under __name__ == __main__ condition
This way we will be able to import this from some place and use other
functions.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 23:16:26 +01:00
Igor Gnatenko
194ee2ce13 add tests for requires and conflicts
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:58 +01:00
Igor Gnatenko
cdec51f22f add couple of tests for Provides
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:57 +01:00
Igor Gnatenko
8a7fbbd245 use name/feature syntax
It's much more common with what cargo people to.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:57 +01:00
Igor Gnatenko
83823845a2 take features into account for Requires/Conflicts
Before:
crate(nom) >= 2.0.0

After:
crate(nom)(verbose-errors) >= 2.0.0
crate(nom)(regexp_macros) >= 2.0.0

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:57 +01:00
Igor Gnatenko
eea2ef7496 print provides for each feature
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:56 +01:00
Igor Gnatenko
62bb483451 don't skip optional requirements
As for now we don't have way to say that it's mandatory if people want
to install featue which lib provides.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:53 +01:00
Igor Gnatenko
f273d7d8f3 skip build/test dependencies to show up in conflicts/requries
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:50 +01:00
Igor Gnatenko
867252db23 add Requires/Conflicts generator
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:45 +01:00
Igor Gnatenko
ec362dd2cb add Provides generator
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:41 +01:00
Igor Gnatenko
7c6e1269bf initial trivial macro
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:23 +01:00
Igor Gnatenko
181bd3c689 add MIT license text
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-01-30 18:46:00 +01:00