Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

How to add a new package to RHSCL perl516 for RHEL

April 11, 2014
Jitka Plesnikova
Related topics:
Linux
Related products:
Red Hat Enterprise Linux

Share:

    The Red Hat Software Collection (RHSCL) perl516 contains only a part of the packages which are packaged in RHEL or Fedora. It is not hard to add a new package to RHSCL. The following steps show how to convert a conventional spec file into a Software Collection spec file. The SCL spec file can then be used in both the conventional package and the Software Collection. We will use perl-Pod-Perldoc is used for an example.

    Before you start, spec2scl rpm has to be installed.

    Run the following command to convert rpm specfile to be SCL ready:

    spec2scl perl-Pod-Perldoc.spec < perl-Pod-Perldoc.spec.scl

    Then the list of dependencies have to be checked:

      • Remove %{scl_prefix} from all non-perl BuildRequires/Requires.
    @@ -20,3 +20,3 @@
    # Pod::Perldoc::ToMan executes roff
    -BuildRequires: %{?scl_prefix}groff-base
    +BuildRequires: groff-base
    BuildRequires: %{?scl_prefix}perl(Carp)
    @@ -56,3 +56,3 @@
    # Pod::Perldoc::ToMan executes roff
    -Requires: %{?scl_prefix}groff-base
    +Requires: groff-base
    Requires: %{?scl_prefix}perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
      • Use conditions if required is provided by different packages on RHEL 6 or 7 Beta.
    @@ -20,3 +20,7 @@
    # Pod::Perldoc::ToMan executes roff
    +%if 0%{?rhel} && 0%{?rhel} < 7
    +BuildRequires: groff
    +%else
    BuildRequires: groff-base
    +%endif
    BuildRequires: %{?scl_prefix}perl(Carp)
    @@ -56,3 +60,7 @@
    # Pod::Perldoc::ToMan executes roff
    +%if 0%{?rhel} && 0%{?rhel} < 7
    +Requires: groff
    +%else
    Requires: groff-base
    +%endif
    Requires: %{?scl_prefix}perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
      • Update getting of value for Requirement: perl(MODULE_COMPAT_<version>).
    @@ -65,3 +65,3 @@
    %endif
    -Requires: %{?scl_prefix}perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
    +Requires: %{?scl_prefix}perl(:MODULE_COMPAT_%(%{?scl:scl enable %{scl} '}eval "`perl -V:version`"; echo $version%{?scl:'}))
    Requires: %{?scl_prefix}perl(Encode)
      • If there are any filters of Provides or Requires valid for rpm >= 4.9, then also add a filter which works for rpm < 4.9 to be able to build properly for rpm on RHEL 6.
    @@ -82,6 +82,11 @@
    # Remove underspecified dependencies
    %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\(Pod::Man|Pod::Simple::XMLOutStream|Pod::Simple::RTF\)\s*$
    
    +%if ( 0%{?rhel} && 0%{?rhel} < 7 )
    +%filter_from_requires /perl((Pod::Man|Pod::Simple::XMLOutStream|Pod::Simple::RTF))s*$/d
    +%filter_setup
    +%endif
    +
    %description
    perldoc looks up a piece of documentation in .pod format that is embedded
    in the perl installation tree or in a perl script, and displays it via

    NOTE:

      • The macro

    %{perl_default_filter}

      • works for both RHEL6 and 7 Beta.

         

      • Increase Release and update the Changelog.
    @@ -6,5 +6,5 @@
    # let's overwrite the module from perl.srpm
    Version: %(echo '%{cpan_version}' | sed 's/_/./')
    -Release: 1%{?dist}
    +Release: 2%{?dist}
    Summary: Look up Perl documentation in Pod format
    License: GPL+ or Artistic
    @@ -125,4 +125,7 @@
    
    %changelog
    +* Thu Mar 27 2014 Jitka Plesnikova &lt;jplesnik@redhat.com&gt; - 3.21-2
    +- Initial import to SCL
    +
    * Mon Jan 06 2014 Petr Pisar &lt;ppisar@redhat.com&gt; - 3.21-1
    - 3.21 bump

    All spec files used in this post are placed here.

    Now, if you find RHSCL is missing your build-requires and run-requires, you should be able to build a new rpm.

    More information about RHSCL can be found at Software Collections Guide.

    Last updated: November 2, 2023

    Recent Posts

    • Storage considerations for OpenShift Virtualization

    • Upgrade from OpenShift Service Mesh 2.6 to 3.0 with Kiali

    • EE Builder with Ansible Automation Platform on OpenShift

    • How to debug confidential containers securely

    • Announcing self-service access to Red Hat Enterprise Linux for Business Developers

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue