Skip to content

Submit a new Perl module to openSUSE

Tina Müller (tinita) edited this page Jun 27, 2022 · 4 revisions

How to submit a new Perl module to openSUSE

First, the module needs to be submitted to devel:languages:perl.

From there, it can be submitted to openSUSE:Factory.

All CPAN modules are automatically updated and built in one of the CPAN-A, CPAN-B, ... projects you can find here: Subprojects of devel:languages:perl.

Submit to devel:languages:perl

Let's take CPAN-Y, for example. Suppose you want to submit perl-YAML-PP-Ref.

Branch

If you have an account and are logged in, you should see a "Branch package" link. Click that and just go with the default options and click on "Branch". It will create a project under your home:username directory.

Metadata

Fill out the meta data. Under the package name, there is an "Edit" button.

Title

Fill in the module abstract, that you usually find under the NAME header on metacpan. YAML::PP::Ref

NAME
YAML::PP::Ref - Generated Reference Parser backend for YAML::PP

"Generated Reference Parser backend for YAML::PP"

URL

https://metacpan.org/pod/YAML::PP::Ref

Description

Copy the description from the metacpan page, but cut it if it gets too long. Ideally it should be the first 3 paragraphs.

Click "Update".

Changelog

Add a changelog entry. For a new module this can just contain "Initial submission".

For that, set up osc on your machine and checkout the package you just created via branching:

% osc checkout home:user:branches:...
% cd home:user:branches:...
% osc vc

This will open an editor and prefill the changelog header with the date and your email. Add the text and save. It will create a .changes file that you can now add:

% osc add perl-YAML-PP-Ref.changes
% osc commit

The changes file should appear in the Web Interface now.

Submit

If all builds are green, it's ready to submit to devel:languages:perl.

In the navigation, click on "Submit Package".

  • Target project: devel:languages:perl
  • Target package: perl-YAML-PP-Ref
  • Reason for submitting

Unsuccessful build

If one of the build says "Unresolvable", you need to submit the mentioned dependencies first.

If the build says "Failed", look into the log and check if there is already an upstream issue about the failure, or if the module would need additional manual dependencies added, like C libraries, for example.