## Modulemd.ComponentRpm Modulemd.ComponentRpm — An rpm component that goes into a module stream. |

## Stability Level

Stable, unless otherwise indicated

## Functions

ModulemdComponentRpm * | modulemd_component_rpm_new ()
void | modulemd_component_rpm_add_restricted_arch ()
void | modulemd_component_rpm_reset_arches ()
void | modulemd_component_rpm_clear_arches ()
GStrv | modulemd_component_rpm_get_arches_as_strv ()
void | modulemd_component_rpm_add_multilib_arch ()
void | modulemd_component_rpm_reset_multilib_arches ()
void | modulemd_component_rpm_clear_multilib_arches ()
GStrv | modulemd_component_rpm_get_multilib_arches_as_strv ()
void | modulemd_component_rpm_set_cache ()
const gchar * | modulemd_component_rpm_get_cache ()
void | modulemd_component_rpm_set_ref ()
const gchar * | modulemd_component_rpm_get_ref ()
void | modulemd_component_rpm_set_repository ()
const gchar * | modulemd_component_rpm_get_repository ()
void | modulemd_component_rpm_set_buildroot ()
gboolean | modulemd_component_rpm_get_buildroot ()
void | modulemd_component_rpm_set_srpm_buildroot ()
gboolean | modulemd_component_rpm_get_srpm_buildroot ()

## Properties

gboolean | buildroot | Read / Write
char * | cache | Read / Write
char * | ref | Read / Write
char * | repository | Read / Write
gboolean | srpm-buildroot | Read / Write

## Types and Values

#define | MODULEMD_TYPE_COMPONENT_RPM
| ModulemdComponentRpm

## Object Hierarchy

        GObject
        ╰── ModulemdComponent
            ╰── ModulemdComponentRpm

## Description

## Functions

### modulemd_component_rpm_new ()

    ModulemdComponentRpm *
    modulemd_component_rpm_new (const gchar *key);

#### Parameters

key | The key of this module component. Used when looking up components from a ModulemdModuleStream. | [not nullable]

#### Returns

A newly-allocated ModulemdComponentRpm object.

[transfer full]

Since: 2.0

### modulemd_component_rpm_add_restricted_arch ()

    void
    modulemd_component_rpm_add_restricted_arch
                                   (ModulemdComponentRpm *self,
                                    const gchar *arch);

Restrict the list of architectures on which this RPM will be available. It may be called any number of times to indicate support on additional architectures. Use `modulemd_component_rpm_clear_arches()` to return to "all architectures".

#### Parameters

self | This ModulemdComponentRpm object. |
arch | An architecture on which this package should be available. |

Since: 2.0

### modulemd_component_rpm_reset_arches ()

    void
    modulemd_component_rpm_reset_arches (ModulemdComponentRpm *self);

`modulemd_component_rpm_reset_arches` has been deprecated since version 2.9 and should not be used in newly-written code.

Use `modulemd_component_rpm_clear_arches()` instead.

Indicate that this RPM component is available on all arches.

#### Parameters

self | This ModulemdComponentRpm object. |

Since: 2.0

### modulemd_component_rpm_clear_arches ()

    void
    modulemd_component_rpm_clear_arches (ModulemdComponentRpm *self);

Indicate that this RPM component is available on all arches.

#### Parameters

self | This ModulemdComponentRpm object. |

Since: 2.9

### modulemd_component_rpm_get_arches_as_strv ()

    GStrv
    modulemd_component_rpm_get_arches_as_strv
                                   (ModulemdComponentRpm *self);

[rename-to modulemd_component_rpm_get_arches]

#### Parameters

self | This ModulemdComponentRpm object. |

#### Returns

A GStrv list of architectures on which this RPM should be available.

[transfer full]

Since: 2.0

### modulemd_component_rpm_add_multilib_arch ()

    void
    modulemd_component_rpm_add_multilib_arch
                                   (ModulemdComponentRpm *self,
                                    const gchar *arch);

Add an architecture on which this RPM will be multilib. It may be called any number of times. Use `modulemd_component_rpm_clear_multilib_arches()` to return to "no architectures".

#### Parameters

self | This ModulemdComponentRpm object. |
arch | An architecture on which this package should be multilib. |

Since: 2.0

### modulemd_component_rpm_reset_multilib_arches ()

    void
    modulemd_component_rpm_reset_multilib_arches
                                   (ModulemdComponentRpm *self);

`modulemd_component_rpm_reset_multilib_arches` has been deprecated since version 2.9 and should not be used in newly-written code.

Use `modulemd_component_rpm_clear_multilib_arches()` instead.

Indicate that this RPM component is multilib on no architectures.

#### Parameters

self | This ModulemdComponentRpm object. |

Since: 2.0

### modulemd_component_rpm_clear_multilib_arches ()

    void
    modulemd_component_rpm_clear_multilib_arches
                                   (ModulemdComponentRpm *self);

Indicate that this RPM component is multilib on no architectures.

#### Parameters

self | This ModulemdComponentRpm object. |

Since: 2.9

### modulemd_component_rpm_get_multilib_arches_as_strv ()

    GStrv
    modulemd_component_rpm_get_multilib_arches_as_strv
                                   (ModulemdComponentRpm *self);

[rename-to modulemd_component_rpm_get_multilib_arches]

#### Parameters

self | This ModulemdComponentRpm object. |

#### Returns

A GStrv list of architectures on which multilib should be available.

[transfer full]

Since: 2.0

### modulemd_component_rpm_set_cache ()

    void
    modulemd_component_rpm_set_cache (ModulemdComponentRpm *self,
                                      const gchar *cache);

#### Parameters

self | This ModulemdComponentRpm object. |
cache | The lookaside cache URL. | [in][nullable]

Since: 2.0

### modulemd_component_rpm_get_cache ()

    const gchar *
    modulemd_component_rpm_get_cache (ModulemdComponentRpm *self);

#### Parameters

self | This ModulemdComponentRpm object. |

#### Returns

The lookaside cache URL.

[transfer none]

Since: 2.0

### modulemd_component_rpm_set_ref ()

    void
    modulemd_component_rpm_set_ref (ModulemdComponentRpm *self,
                                    const gchar *ref);

#### Parameters

self | This ModulemdComponentRpm object. |
ref | The commit ID in the SCM repository. | [in][nullable]

Since: 2.0

### modulemd_component_rpm_get_ref ()

    const gchar *
    modulemd_component_rpm_get_ref (ModulemdComponentRpm *self);

#### Parameters

self | This ModulemdComponentRpm object. |

#### Returns

The commit ID in the SCM repository.

[transfer none]

Since: 2.0

### modulemd_component_rpm_set_repository ()

    void
    modulemd_component_rpm_set_repository (ModulemdComponentRpm *self,
                                           const gchar *repository);

#### Parameters

self | This ModulemdComponentRpm object. |
repository | The URI of the SCM repository. | [in][nullable]

Since: 2.0

### modulemd_component_rpm_get_repository ()

    const gchar *
    modulemd_component_rpm_get_repository (ModulemdComponentRpm *self);

#### Parameters

self | This ModulemdComponentRpm object. |

#### Returns

The URI of the SCM repository.

[transfer none]

Since: 2.0

### modulemd_component_rpm_set_buildroot ()

    void
    modulemd_component_rpm_set_buildroot (ModulemdComponentRpm *self,
                                          gboolean buildroot);

#### Parameters

self | This ModulemdComponentRpm object. |
buildroot | The “buildroot” flag to set for `self` . | [in]

Since: 2.7

### modulemd_component_rpm_get_buildroot ()

    gboolean
    modulemd_component_rpm_get_buildroot (ModulemdComponentRpm *self);

#### Parameters

self | This ModulemdComponentRpm object. |

#### Returns

The “buildroot” flag.

Since: 2.7

### modulemd_component_rpm_set_srpm_buildroot ()

    void
    modulemd_component_rpm_set_srpm_buildroot
                                   (ModulemdComponentRpm *self,
                                    gboolean srpm_buildroot);

#### Parameters

self | This ModulemdComponentRpm object. |
srpm_buildroot | The “srpm_buildroot” flag to set for `self` . | [in]

Since: 2.7

### modulemd_component_rpm_get_srpm_buildroot ()

    gboolean
    modulemd_component_rpm_get_srpm_buildroot
                                   (ModulemdComponentRpm *self);

#### Parameters

self | This ModulemdComponentRpm object. |

#### Returns

The “srpm_buildroot” flag.

Since: 2.7

## Types and Values

### MODULEMD_TYPE_COMPONENT_RPM

    #define MODULEMD_TYPE_COMPONENT_RPM (modulemd_component_rpm_get_type ())

### ModulemdComponentRpm

    typedef struct _ModulemdComponentRpm ModulemdComponentRpm;

## Property Details

### The `“buildroot”` property

      “buildroot”                gboolean

Whether the packages listed in this module's buildroot profile will be installed into the buildroot of any component built in subsequent buildorder/buildafter batches.

Owner: ModulemdComponentRpm

Flags: Read / Write

Default value: FALSE

### The `“cache”` property

      “cache”                    char *

The lookaside cache URL.

Owner: ModulemdComponentRpm

Flags: Read / Write

Default value: "__UNSET_COMPONENT_RPM__"

### The `“ref”` property

      “ref”                      char *

The commit ID in the SCM repository.

Owner: ModulemdComponentRpm

Flags: Read / Write

Default value: "__UNSET_COMPONENT_RPM__"

### The `“repository”` property

      “repository”               char *

The URI of the SCM repository.

Owner: ModulemdComponentRpm

Flags: Read / Write

Default value: "__UNSET_COMPONENT_RPM__"

### The `“srpm-buildroot”` property

      “srpm-buildroot”           gboolean

Whether the packages listed in this module's srpm-buildroot profile will be installed into the buildroot when performing the buildSRPMfromSCM step in subsequent buildorder/buildafter batches.

Owner: ModulemdComponentRpm

Flags: Read / Write

Default value: FALSE