#26 inspector: print buildrequires into requires as well
Merged 7 years ago by ignatenkobrain. Opened 7 years ago by ignatenkobrain.

file modified
+19
@@ -48,11 +48,21 @@ 

  

  BuildRequires:  rust

  BuildRequires:  cargo

+ {% if md.requires|length > 0 %}

+ # [dependencies]

+ {% for req in md.requires|sort(attribute="name") %}

+ BuildRequires:  {{ req }}

+ {% endfor %}

+ {% endif %}

+ {% if md.build_requires|length > 0 %}

+ # [build-dependencies]

  {% for req in md.build_requires|sort(attribute="name") %}

  BuildRequires:  {{ req }}

  {% endfor %}

+ {% endif %}

  {% if md.test_requires|length > 0 %}

  %if %{with check}

+ # [dev-dependencies]

  {% for req in md.test_requires|sort(attribute="name") %}

  BuildRequires:  {{ req }}

  {% endfor %}
@@ -70,10 +80,19 @@ 

  {% for prv in md.provides %}

  Provides:       {{ prv }}

  {% endfor %}

+ {% if md.requires|length > 0 %}

+ # [dependencies]

  {% for req in md.requires|sort(attribute="name") %}

  Requires:       {{ req }}

  {% endfor %}

  {% endif %}

+ {% if md.build_requires|length > 0 %}

+ # [build-dependencies]

+ {% for req in md.build_requires|sort(attribute="name") %}

+ Requires:       {{ req }}

+ {% endfor %}

+ {% endif %}

+ {% endif %}

  

  %description {{ name_devel }}

  {% if md.description is none %}

file modified
+3 -4
@@ -1,4 +1,5 @@ 

  import argparse

+ import itertools

  import sys

  

  from . import Metadata
@@ -33,10 +34,8 @@ 

              print("\n".join(set(tgt.kind for tgt in md.targets)))

          if args.provides:

              print_deps(md.provides)

-         if args.requires:

-             print_deps(md.requires)

-         if args.build_requires:

-             print_deps(md.build_requires)

+         if args.requires or args.build_requires:

+             print_deps(list(itertools.chain(md.requires, md.build_requires)))

          if args.test_requires:

              print_deps(md.test_requires)

  

file modified
+9 -29
@@ -130,10 +130,10 @@ 

          self.description = None

          self.version = None

          self._targets = []

-         self._provides = []

-         self._requires = []

-         self._build_requires = []

-         self._test_requires = []

+         self.provides = []

+         self.requires = []

+         self.build_requires = []

+         self.test_requires = []

  

      @classmethod

      def from_json(cls, metadata):
@@ -148,20 +148,20 @@ 

          version = "={}".format(self.version)

  

          # Targets

-         self._targets = [Target(tgt["kind"][0], tgt["name"]) for tgt in md["targets"]]

+         self.targets = [Target(tgt["kind"][0], tgt["name"]) for tgt in md["targets"]]

  

          # Provides

          provides = Dependency(self.name, version, features=md["features"], provides=True)

-         self._provides = str(provides).split(" and ")

+         self.provides = str(provides).split(" and ")

  

          # Dependencies

          for dep in md["dependencies"]:

              if dep["kind"] is None:

-                 requires = self._requires

+                 requires = self.requires

              elif dep["kind"] == "build":

-                 requires = self._build_requires

+                 requires = self.build_requires

              elif dep["kind"] == "dev":

-                 requires = self._test_requires

+                 requires = self.test_requires

              else:

                  raise ValueError("Unknown kind: {!r}, please report bug.".format(dep["kind"]))

              requires.append(Dependency(dep["name"], dep["req"], features=dep["features"]))
@@ -176,23 +176,3 @@ 

                                              "--manifest-path={}".format(path)],

                                             universal_newlines=do_decode)

          return cls.from_json(json.loads(metadata))

- 

-     @property

-     def targets(self):

-         return self._targets[:]

- 

-     @property

-     def provides(self):

-         return self._provides[:]

- 

-     @property

-     def requires(self):

-         return self._requires[:]

- 

-     @property

-     def build_requires(self):

-         return self._requires + self._build_requires

- 

-     @property

-     def test_requires(self):

-         return self._test_requires[:]

Those are not completely build-time since we ship source code. We
do need those dependencies to do builds afterwards.

Also use private members to not copy lists.

Signed-off-by: Igor Gnatenko ignatenkobrain@fedoraproject.org

Once this bug will be fixed, I will need to rebuild:

  • ripgrep
  • rustfmt
  • openssl-sys
  • libz-sys
  • libssh2-sys
  • tempfile

Weird that I didn't encounter it earlier...

rebased

7 years ago

Pull-Request has been merged by ignatenkobrain

7 years ago