Make spec file OS-version-specific












0















The subpackage "yum-plugin-post-transaction-action" from yum-utils appeared with RHEL6.



Now I have an heterogeneous infrastructure, and I needed this yum plugin for RHEL/Centos 5. So I made a spec file, built the RPM, tested it, it works. But I want to make sure no one builds it for RHEL6 or 7 on the packaging machine by mistake one day, and overriding the vendor-provided one.



I have first thought to look for RPM specific tags like excludeOS but they're too wide. We are using mock, but I didn't find a way to configure it for this purpose.



All I did for now is to make the built RPM depend on centos-release-5 which seems very dirty and doesn't prevent build, only install...










share|improve this question

























  • You'll want to look at a Build-Requires entry. That's the only way I can think of to get where you want to go.

    – John
    Dec 4 '15 at 15:37











  • That might be a problem since I'm building everything using mock from a CentOS 7 system, but that may be the only solution =/

    – mveroone
    Dec 4 '15 at 15:40
















0















The subpackage "yum-plugin-post-transaction-action" from yum-utils appeared with RHEL6.



Now I have an heterogeneous infrastructure, and I needed this yum plugin for RHEL/Centos 5. So I made a spec file, built the RPM, tested it, it works. But I want to make sure no one builds it for RHEL6 or 7 on the packaging machine by mistake one day, and overriding the vendor-provided one.



I have first thought to look for RPM specific tags like excludeOS but they're too wide. We are using mock, but I didn't find a way to configure it for this purpose.



All I did for now is to make the built RPM depend on centos-release-5 which seems very dirty and doesn't prevent build, only install...










share|improve this question

























  • You'll want to look at a Build-Requires entry. That's the only way I can think of to get where you want to go.

    – John
    Dec 4 '15 at 15:37











  • That might be a problem since I'm building everything using mock from a CentOS 7 system, but that may be the only solution =/

    – mveroone
    Dec 4 '15 at 15:40














0












0








0








The subpackage "yum-plugin-post-transaction-action" from yum-utils appeared with RHEL6.



Now I have an heterogeneous infrastructure, and I needed this yum plugin for RHEL/Centos 5. So I made a spec file, built the RPM, tested it, it works. But I want to make sure no one builds it for RHEL6 or 7 on the packaging machine by mistake one day, and overriding the vendor-provided one.



I have first thought to look for RPM specific tags like excludeOS but they're too wide. We are using mock, but I didn't find a way to configure it for this purpose.



All I did for now is to make the built RPM depend on centos-release-5 which seems very dirty and doesn't prevent build, only install...










share|improve this question
















The subpackage "yum-plugin-post-transaction-action" from yum-utils appeared with RHEL6.



Now I have an heterogeneous infrastructure, and I needed this yum plugin for RHEL/Centos 5. So I made a spec file, built the RPM, tested it, it works. But I want to make sure no one builds it for RHEL6 or 7 on the packaging machine by mistake one day, and overriding the vendor-provided one.



I have first thought to look for RPM specific tags like excludeOS but they're too wide. We are using mock, but I didn't find a way to configure it for this purpose.



All I did for now is to make the built RPM depend on centos-release-5 which seems very dirty and doesn't prevent build, only install...







centos rpm rpmbuild






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 32 mins ago









Rui F Ribeiro

40.1k1479135




40.1k1479135










asked Dec 4 '15 at 15:30









mveroonemveroone

731410




731410













  • You'll want to look at a Build-Requires entry. That's the only way I can think of to get where you want to go.

    – John
    Dec 4 '15 at 15:37











  • That might be a problem since I'm building everything using mock from a CentOS 7 system, but that may be the only solution =/

    – mveroone
    Dec 4 '15 at 15:40



















  • You'll want to look at a Build-Requires entry. That's the only way I can think of to get where you want to go.

    – John
    Dec 4 '15 at 15:37











  • That might be a problem since I'm building everything using mock from a CentOS 7 system, but that may be the only solution =/

    – mveroone
    Dec 4 '15 at 15:40

















You'll want to look at a Build-Requires entry. That's the only way I can think of to get where you want to go.

– John
Dec 4 '15 at 15:37





You'll want to look at a Build-Requires entry. That's the only way I can think of to get where you want to go.

– John
Dec 4 '15 at 15:37













That might be a problem since I'm building everything using mock from a CentOS 7 system, but that may be the only solution =/

– mveroone
Dec 4 '15 at 15:40





That might be a problem since I'm building everything using mock from a CentOS 7 system, but that may be the only solution =/

– mveroone
Dec 4 '15 at 15:40










1 Answer
1






active

oldest

votes


















1














%build
%if 0%{rhel} > 5
echo "This package should be build only for RHEL5"
exit 1
%endif





share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "106"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f247380%2fmake-spec-file-os-version-specific%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    %build
    %if 0%{rhel} > 5
    echo "This package should be build only for RHEL5"
    exit 1
    %endif





    share|improve this answer




























      1














      %build
      %if 0%{rhel} > 5
      echo "This package should be build only for RHEL5"
      exit 1
      %endif





      share|improve this answer


























        1












        1








        1







        %build
        %if 0%{rhel} > 5
        echo "This package should be build only for RHEL5"
        exit 1
        %endif





        share|improve this answer













        %build
        %if 0%{rhel} > 5
        echo "This package should be build only for RHEL5"
        exit 1
        %endif






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 5 '15 at 1:06









        msuchymsuchy

        85655




        85655






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Unix & Linux Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f247380%2fmake-spec-file-os-version-specific%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Loup dans la culture

            How to solve the problem of ntp “Unable to contact time server” from KDE?

            ASUS Zenbook UX433/UX333 — Configure Touchpad-embedded numpad on Linux