Make spec file OS-version-specific
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
add a comment |
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
You'll want to look at aBuild-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
add a comment |
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
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
centos rpm rpmbuild
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 aBuild-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
add a comment |
You'll want to look at aBuild-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
add a comment |
1 Answer
1
active
oldest
votes
%build
%if 0%{rhel} > 5
echo "This package should be build only for RHEL5"
exit 1
%endif
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
%build
%if 0%{rhel} > 5
echo "This package should be build only for RHEL5"
exit 1
%endif
add a comment |
%build
%if 0%{rhel} > 5
echo "This package should be build only for RHEL5"
exit 1
%endif
add a comment |
%build
%if 0%{rhel} > 5
echo "This package should be build only for RHEL5"
exit 1
%endif
%build
%if 0%{rhel} > 5
echo "This package should be build only for RHEL5"
exit 1
%endif
answered Dec 5 '15 at 1:06
msuchymsuchy
85655
85655
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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