Compare commits

..

21 commits

Author SHA1 Message Date
Igor Gnatenko
812b35f9b5 Unsupported 2019-02-13 10:59:03 +01:00
Petr Písař
6e2da39506 Fix v2 modulemd syntax 2018-04-06 11:54:18 +02:00
Petr Písař
165a7ce0ba Migrate to modulemd v2 and expand to all platforms 2018-03-14 16:21:06 +01:00
Jitka Plesnikova
50ea890f27 Fix typo in macro 2018-02-20 15:16:49 +01:00
Petr Písař
f28a58c634 Transitive module build-requires are honored now 2018-01-17 09:32:54 +01:00
Petr Písař
dbfc944b2a Platform provides groff and systemtap 2018-01-17 09:30:42 +01:00
Petr Písař
bf05c52a33 Remove duplicated perl-Time-HiRes entries 2017-11-10 14:38:06 +01:00
Jitka Plesnikova
b8d06950db Disable optional tests for perl-Test-Simple 2017-10-27 10:35:18 +02:00
Petr Písař
8004b84999 Rebuild with perl-5.26.1 2017-10-02 13:16:48 +02:00
Petr Šabata
ac6377fca6 Fake-rebuild to work around MBS issues, take two
Signed-off-by: Petr Šabata <contyk@redhat.com>
2017-09-19 09:48:13 +02:00
Petr Šabata
ce8b610331 Fake-rebuild to work around MBS issues
Signed-off-by: Petr Šabata <contyk@redhat.com>
2017-09-18 10:52:58 +02:00
Petr Písař
f2f23e0d98 Formalize profile descriptions 2017-08-22 10:56:40 +02:00
Petr Písař
518f19c712 Work around: Build-require host explicitly 2017-08-18 15:19:18 +02:00
Petr Písař
2d4bd031a0 Fix a typo 2017-08-17 10:06:19 +02:00
Petr Písař
724eaf28e9 Define API 2017-08-17 10:06:07 +02:00
Petr Písař
cbf31d49bf Upgrade to Perl 5.26 based on Fedora Rawhide 2017-08-15 16:42:16 +02:00
Nils Philippsen
c3ee474343 update references 2017-08-01 13:55:23 +02:00
Nils Philippsen
0d53ab6aa5 Merge remote-tracking branch 'github/master' 2017-08-01 13:55:02 +02:00
Petr Písař
e8da129f0b Dummy commit for MBS 2017-07-28 10:09:37 +02:00
Petr Písař
2168f141c3 Fix profile's RPM list definitions
Each profile is a list of packages.
2017-07-27 11:56:03 +02:00
Petr Písař
81cc84d0aa Define profiles
perl-core package pulls in all required packages transitively.
2017-06-06 14:04:38 +02:00
16 changed files with 1 additions and 676 deletions

4
.gitignore vendored
View file

@ -1,4 +0,0 @@
.idea
tests/*.pyc
.idea
tests/localrepo*

View file

@ -1,14 +0,0 @@
FROM baseruntime/baseruntime:latest
COPY repos/* /etc/yum.repos.d/
COPY tests/scripts/* /tmp/
RUN sed -i 's|/jkaluza/|/ralph/|g' /etc/yum.repos.d/build.repo && \
rpm -e --justdb --nodeps systemd-libs && \
microdnf --nodocs --enablerepo perl install perl perl-devel && \
microdnf clean all
EXPOSE 8080
CMD /bin/bash

View file

@ -1,14 +0,0 @@
IMAGE_NAME = perl
MODULEMDURL=file://perl.yaml
default: run
build:
docker build --tag=$(IMAGE_NAME) .
run: build
docker run -d $(IMAGE_NAME)
test: build
cd tests; MODULE=docker MODULEMD=$(MODULEMDURL) URL="docker=$(IMAGE_NAME)" make all

View file

@ -1,19 +0,0 @@
# perl module
[**Package DB** (owner)](https://admin.fedoraproject.org/pkgdb/package/modules/perl/) |
[**F26 modulemd** (source)](http://pkgs.fedoraproject.org/cgit/modules/perl.git/tree/perl.yaml?h=f26) |
[**PDC** (result)](https://pdc.fedoraproject.org/rest_api/v1/unreleasedvariants/?active=True&variant_name=perl)
Module containing important perl packages.
## Current state
| State | Description |
|-------|-------------|
| ✓ YES | **Build passes** in the infra (all build deps are ok) |
| ✓ YES | **Installs** on the Base Runtime (all runtime deps are ok) |
| ✓ YES | **No bootstrap** - uses only proper modules |
| ✓ YES | General **tests are in dist-git** |
| ✓ YES | General **tests pass** |
| ✗ NO | Meets the **Fedora Module Packaging Guidelines** |

1
dead.package Normal file
View file

@ -0,0 +1 @@
Unsupported

376
perl.yaml
View file

@ -1,376 +0,0 @@
document: modulemd
version: 1
data:
summary: Practical Extraction and Report Language
description: >
Perl is a high-level programming language with roots in C, sed, awk
and shell scripting. Perl is good at handling processes and files, and
is especially good at handling text. Perl's hallmarks are practicality
and efficiency. While it is used to do a lot of different things,
Perl's most common applications are system administration utilities
and web programming.
This module has disabled SysteTap and groff support.
license:
module: [ MIT ]
dependencies:
buildrequires:
base-runtime: f26
perl-bootstrap: f26
requires:
base-runtime: f26
references:
community: https://docs.pagure.org/modularity/
documentation: https://github.com/modularity-modules/perl
tracker: https://github.com/modularity-modules/perl/issues
profiles:
# Interpreter and all Perl modules bundled within upstream Perl
default:
rpms:
- perl-core
# Only the interpreter as standalone executable
minimal:
rpms:
- perl
filter:
rpms:
# This is provided by MBR, we do not need any different content
# there, not providing it will preserve MBR's NEVRA and that's
# good for dependend modules.
- perl-srpm-macros
components:
rpms:
# We need to build all (as in perl-bootstrap) RPM packages again
# because only those built from this module definition will get
# into the module compose.
# This perl-srpm-macros build must have higher NEVRA than a build
# from perl-bootstrap and must be built first.
perl-srpm-macros:
rationale: Control generating source packages.
ref: 2d2cd8711bd8ec5059308d85ca2fcc1fbbcf0aa2
buildorder: -1
# Then we can rebuild in a random order because we have all binary
# packages available from perl-bootstrap.
perl:
rationale: The Perl interpreter.
ref: f26
perl-Algorithm-Diff:
rationale: A run-time dependency.
ref: f26
perl-Archive-Tar:
rationale: Core Perl API.
ref: f26
perl-Archive-Zip:
rationale: A run-time dependency.
ref: f26
perl-autodie:
rationale: Core Perl API.
ref: f26
perl-B-Debug:
rationale: Core Perl API.
ref: f26
perl-bignum:
rationale: Core Perl API.
ref: f26
perl-Carp:
rationale: Core Perl API.
ref: f26
perl-Compress-Bzip2:
rationale: A run-time dependency.
ref: f26
perl-Compress-Raw-Bzip2:
rationale: Core Perl API.
ref: f26
perl-Compress-Raw-Zlib:
rationale: Core Perl API.
ref: f26
perl-Config-Perl-V:
rationale: Core Perl API.
ref: f26
perl-constant:
rationale: Core Perl API.
ref: f26
perl-CPAN:
rationale: Core Perl API.
ref: f26
perl-CPAN-Meta:
rationale: Core Perl API.
ref: f26
perl-CPAN-Meta-Requirements:
rationale: Core Perl API.
ref: f26
perl-CPAN-Meta-YAML:
rationale: Core Perl API.
ref: f26
perl-Data-Dumper:
rationale: Core Perl API.
ref: f26
perl-Data-OptList:
rationale: A run-time dependency.
ref: f26
perl-Data-Section:
rationale: A run-time dependency.
ref: f26
perl-DB_File:
rationale: Core Perl API.
ref: f26
perl-Devel-PPPort:
rationale: Core Perl API.
ref: f26
perl-Devel-Size:
rationale: A run-time dependency.
ref: f26
perl-Digest:
rationale: Core Perl API.
ref: f26
perl-Digest-MD5:
rationale: Core Perl API.
ref: f26
perl-Digest-SHA:
rationale: Core Perl API.
ref: f26
perl-Encode:
rationale: Core Perl API.
ref: f26
perl-Env:
rationale: Core Perl API.
ref: f26
perl-experimental:
rationale: Core Perl API.
ref: f26
perl-Exporter:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-CBuilder:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-Install:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-MakeMaker:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-Manifest:
rationale: Core Perl API.
ref: f26
perl-ExtUtils-ParseXS:
rationale: Core Perl API.
ref: f26
perl-Fedora-VSP:
rationale: RPM dependency generator.
ref: f26
perl-File-Fetch:
rationale: Core Perl API.
ref: f26
perl-File-HomeDir:
rationale: A run-time dependency.
ref: f26
perl-File-Path:
rationale: Core Perl API.
ref: f26
perl-File-Temp:
rationale: Core Perl API.
ref: f26
perl-File-Which:
rationale: A run-time dependency.
ref: f26
perl-Filter:
rationale: Core Perl API.
ref: f26
perl-Filter-Simple:
rationale: Core Perl API.
ref: f26
perl-generators:
rationale: RPM dependency generator.
ref: f26
perl-Getopt-Long:
rationale: Core Perl API.
ref: f26
perl-HTTP-Tiny:
rationale: Core Perl API.
ref: f26
perl-inc-latest:
rationale: A run-time dependency.
ref: f26
perl-IO-Compress:
rationale: Core Perl API.
ref: f26
perl-IO-Socket-IP:
rationale: Core Perl API.
ref: f26
perl-IPC-Cmd:
rationale: Core Perl API.
ref: f26
perl-IPC-System-Simple:
rationale: A run-time dependency.
ref: f26
perl-IPC-SysV:
rationale: Core Perl API.
ref: f26
perl-JSON-PP:
rationale: Core Perl API.
ref: f26
perl-libnet:
rationale: Core Perl API.
ref: f26
perl-local-lib:
rationale: A run-time dependency.
ref: f26
perl-Locale-Codes:
rationale: Core Perl API.
ref: f26
perl-Locale-Maketext:
rationale: Core Perl API.
ref: f26
perl-Math-BigInt:
rationale: Core Perl API.
ref: f26
perl-Math-BigInt-FastCalc:
rationale: Core Perl API.
ref: f26
perl-Math-BigRat:
rationale: Core Perl API.
ref: f26
perl-MIME-Base64:
rationale: Core Perl API.
ref: f26
perl-Module-Build:
rationale: A run-time dependency.
ref: f26
perl-Module-CoreList:
rationale: Core Perl API.
ref: f26
perl-Module-Load:
rationale: Core Perl API.
ref: f26
perl-Module-Load-Conditional:
rationale: Core Perl API.
ref: f26
perl-Module-Metadata:
rationale: Core Perl API.
ref: f26
perl-MRO-Compat:
rationale: A run-time dependency.
ref: f26
perl-Package-Generator:
rationale: A run-time dependency.
ref: f26
perl-Params-Check:
rationale: Core Perl API.
ref: f26
perl-Params-Util:
rationale: A run-time dependency.
ref: f26
perl-parent:
rationale: Core Perl API.
ref: f26
perl-PathTools:
rationale: Core Perl API.
ref: f26
perl-Perl-OSType:
rationale: Core Perl API.
ref: f26
perl-perlfaq:
rationale: Core Perl API.
ref: f26
perl-PerlIO-via-QuotedPrint:
rationale: Core Perl API.
ref: f26
perl-Pod-Checker:
rationale: Core Perl API.
ref: f26
perl-Pod-Escapes:
rationale: Core Perl API.
ref: f26
perl-Pod-Parser:
rationale: Core Perl API.
ref: f26
perl-Pod-Perldoc:
rationale: Core Perl API.
ref: f26
perl-Pod-Simple:
rationale: Core Perl API.
ref: f26
perl-Pod-Usage:
rationale: Core Perl API.
ref: f26
perl-podlators:
rationale: Core Perl API.
ref: f26
perl-Scalar-List-Utils:
rationale: Core Perl API.
ref: f26
perl-Socket:
rationale: Core Perl API.
ref: f26
perl-Software-License:
rationale: A run-time dependency.
ref: f26
perl-Storable:
rationale: Core Perl API.
ref: f26
perl-Sub-Exporter:
rationale: A run-time dependency.
ref: f26
perl-Sub-Install:
rationale: A run-time dependency.
ref: f26
perl-Sys-Syslog:
rationale: Core Perl API.
ref: f26
perl-Term-ANSIColor:
rationale: Core Perl API.
ref: f26
perl-Term-Cap:
rationale: Core Perl API.
ref: f26
perl-Test-Harness:
rationale: Core Perl API.
ref: f26
perl-Test-Simple:
rationale: Core Perl API.
ref: f26
perl-Text-Balanced:
rationale: Core Perl API.
ref: f26
perl-Text-Diff:
rationale: A run-time dependency.
ref: f26
perl-Text-Glob:
rationale: A run-time dependency.
ref: f26
perl-Text-ParseWords:
rationale: Core Perl API.
ref: f26
perl-Text-Tabs+Wrap:
rationale: Core Perl API.
ref: f26
perl-Text-Template:
rationale: A run-time dependency.
ref: f26
perl-Thread-Queue:
rationale: Core Perl API.
ref: f26
perl-threads:
rationale: Core Perl API.
ref: f26
perl-threads-shared:
rationale: Core Perl API.
ref: f26
perl-Time-HiRes:
rationale: Core Perl API.
ref: f26
perl-Time-Local:
rationale: Core Perl API.
ref: f26
perl-Unicode-Collate:
rationale: Core Perl API.
ref: f26
perl-Unicode-Normalize:
rationale: Core Perl API.
ref: f26
perl-URI:
rationale: A run-time dependency.
ref: f26
perl-version:
rationale: Core Perl API.
ref: f26

View file

@ -1,4 +0,0 @@
[fedora]
name=fedora
baseurl=https://mirrors.nic.cz/fedora/linux/development/26/Everything/x86_64/os/
enabled=0

View file

@ -1,4 +0,0 @@
[perl]
name=perl
baseurl=https://kojipkgs.fedoraproject.org/repos/module-9ac9f492d4852dfd-build/latest/x86_64/
enabled=0

View file

View file

@ -1,6 +0,0 @@
MODULE_LINT=/usr/share/moduleframework/tools/modulelint.py
CMD=python -m avocado run --filter-by-tags=-WIP $(MODULE_LINT) *.py
#
all:
$(CMD)

View file

@ -1,13 +0,0 @@
document: modularity-testing
version: 1
name: perl
modulemd-url: https://src.fedoraproject.org/cgit/modules/perl.git/plain/perl.yaml
service:
port: 8080
module:
docker:
start: "docker run -it"
container: perl
rpm:
repos:
- http://mirror.vutbr.cz/fedora/releases/26/Everything/x86_64/os/

View file

@ -1,57 +0,0 @@
#
# This Modularity Testing Framework helps you to write tests for modules
# Copyright (C) 2017 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# he Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Authors: Rado Pitonak <rpitonak@redhat.com>
#
from avocado import main
from avocado.core import exceptions
from moduleframework import module_framework
class CpanCheck(module_framework.AvocadoTest):
"""
:avocado: enable
"""
def testInstallPerlModule(self):
"""
Installing Perl module using cpan [http://www.cpan.org/]
"""
self.start()
self.run("microdnf --nodocs --enablerepo fedora install -y cpan cpanminus")
self.run("cpanm install --force Error")
self.run("perl -e \"use Error\"")
def testInstallCModule(self):
"""
Installing Perl module written in C language, using cpan [http://www.cpan.org/]
Another packages need to be install here - gcc, rpm-devel to build module.
"""
self.start()
self.run("microdnf --nodocs --enablerepo fedora install -y cpan cpanminus")
self.run("microdnf --nodocs --enablerepo fedora install -y gcc rpm-devel")
self.run("cpanm install --force RPM2")
self.run("perl -e \"use RPM2\"")
if __name__ == '__main__':
main()

View file

@ -1,44 +0,0 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# This Modularity Testing Framework helps you to write tests for modules
# Copyright (C) 2017 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# he Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Authors: Rado Pitonak <rpitonak@redhat.com>
#
from avocado import main
from avocado.core import exceptions
from moduleframework import module_framework
class NetworkingCheck(module_framework.AvocadoTest):
"""
:avocado: enable
"""
def testHTTPRequest(self):
"""
Test networking with `HTTP::Tiny` perl module
Testing script is included in `scripts` folder
"""
self.start()
self.run("perl /tmp/http.pl")
if __name__ == '__main__':
main()

View file

@ -1,56 +0,0 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# This Modularity Testing Framework helps you to write tests for modules
# Copyright (C) 2017 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# he Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Authors: Jan Scotka <jscotka@redhat.com>
#
from avocado import main
from moduleframework import module_framework
class ExampleRpmValidation(module_framework.AvocadoTest):
"""
:avocado: enable
"""
fhs_base_paths = [
'/bin',
'/boot',
'/dev',
'/etc',
'/home',
'/lib',
'/lib64',
'/media',
'/mnt',
'/opt',
'/proc',
'/root',
'/run',
'/sbin',
'/sys',
'/srv',
'/tmp',
'/usr/bin'
]
def testPaths(self):
self.start()
for directory in self.fhs_base_paths:
self.run("test -d %s" % directory)

View file

@ -1,60 +0,0 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# This Modularity Testing Framework helps you to write tests for modules
# Copyright (C) 2017 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# he Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Authors: Rado Pitonak <rpitonak@redhat.com>
#
from avocado import main
from avocado.core import exceptions
from moduleframework import module_framework
class SanityCheck(module_framework.AvocadoTest):
"""
:avocado: enable
"""
def test1(self):
"""
Simple sanity test
"""
self.start()
self.run("ls / | grep bin")
def test2PerlVersion(self):
"""
Check if perl is installed in correct version
"""
perl_version = "5.24"
self.start()
self.run("perl -v | grep " + perl_version)
def testPerlScript(self):
"""
Executing simple perl script
"""
test_string = "Running test script\n"
self.start()
self.assertIn("{}".format(test_string), self.run('perl -e " print \'{}\'"'.format(test_string)).stdout)
if __name__ == '__main__':
main()

View file

@ -1,5 +0,0 @@
use HTTP::Tiny;
my $response = HTTP::Tiny->new->get('http://example.com/');
die "Failed!\n" unless $response->{success};