How do I maintain a patched version of a package for unprivileged installation?
I use some common software packages frequently enough that I found it worthwhile to modify their code a bit to work more smoothly for my peculiar needs. However, I was not able to get my changes accepted upstream.
To make things organized and transparent, I'd like to keep my changes separate from the released (upstream) version of each package. I know this is done all the time with standard packaging tools, but I need to install these on my various user accounts. Some of these accounts are on shared systems where I either don't have root access, or where I don't want to force other users to adopt my version of a piece of software. Most distro packaging tools don't support installing a package into a user's home directory - my stuff goes in ~/.local/bin
for example. So I'm looking at combining something like Quilt to apply my patches, with some custom install scripts to do the upstream downloading and local installation.
All in all I think it's not too complicated, but before I start I wanted to see what others have done.
A related question, What is the recommended way to maintain local patches to debian packages? is asking about distribution-specific packages with global (privileged) installation. Also relevant, but more general, is How to manage open source project patches which can't push to upstream?.
package-management git version-control quilt
add a comment |
I use some common software packages frequently enough that I found it worthwhile to modify their code a bit to work more smoothly for my peculiar needs. However, I was not able to get my changes accepted upstream.
To make things organized and transparent, I'd like to keep my changes separate from the released (upstream) version of each package. I know this is done all the time with standard packaging tools, but I need to install these on my various user accounts. Some of these accounts are on shared systems where I either don't have root access, or where I don't want to force other users to adopt my version of a piece of software. Most distro packaging tools don't support installing a package into a user's home directory - my stuff goes in ~/.local/bin
for example. So I'm looking at combining something like Quilt to apply my patches, with some custom install scripts to do the upstream downloading and local installation.
All in all I think it's not too complicated, but before I start I wanted to see what others have done.
A related question, What is the recommended way to maintain local patches to debian packages? is asking about distribution-specific packages with global (privileged) installation. Also relevant, but more general, is How to manage open source project patches which can't push to upstream?.
package-management git version-control quilt
There's a 101 different ways of doing this, and the best way is going to be unique to your environment. As a result, I think this is gonna be a "primarily opinion based" type question.
– Stephen Harris
Mar 19 at 0:51
@StephenHarris: I tried to restrict it a little by asking "what others have done or agreed upon", although as the two similar questions I linked were not labeled "opinion-based", I had not anticipated that my question would be closed for that reason.
– Metamorphic
Mar 19 at 0:55
I'm a bit afraid there might not be one single "accepted" way of doing that, and the ways/tools favoured might well be up to the preferences of the individuals in question.
– ilkkachu
2 days ago
1
I've opened a Meta question to discuss whether this is actually opinion-based. As for this question, if for example @Stephen thinks there are "101 different ways of doing this", perhaps he could link to a description of one of them. That would be a kind way of rewarding others who took time to read and write this question. Obviously, I came here after Googling unsuccessfully, and I'm hoping to get advice from experts like yourselves.
– Metamorphic
19 hours ago
add a comment |
I use some common software packages frequently enough that I found it worthwhile to modify their code a bit to work more smoothly for my peculiar needs. However, I was not able to get my changes accepted upstream.
To make things organized and transparent, I'd like to keep my changes separate from the released (upstream) version of each package. I know this is done all the time with standard packaging tools, but I need to install these on my various user accounts. Some of these accounts are on shared systems where I either don't have root access, or where I don't want to force other users to adopt my version of a piece of software. Most distro packaging tools don't support installing a package into a user's home directory - my stuff goes in ~/.local/bin
for example. So I'm looking at combining something like Quilt to apply my patches, with some custom install scripts to do the upstream downloading and local installation.
All in all I think it's not too complicated, but before I start I wanted to see what others have done.
A related question, What is the recommended way to maintain local patches to debian packages? is asking about distribution-specific packages with global (privileged) installation. Also relevant, but more general, is How to manage open source project patches which can't push to upstream?.
package-management git version-control quilt
I use some common software packages frequently enough that I found it worthwhile to modify their code a bit to work more smoothly for my peculiar needs. However, I was not able to get my changes accepted upstream.
To make things organized and transparent, I'd like to keep my changes separate from the released (upstream) version of each package. I know this is done all the time with standard packaging tools, but I need to install these on my various user accounts. Some of these accounts are on shared systems where I either don't have root access, or where I don't want to force other users to adopt my version of a piece of software. Most distro packaging tools don't support installing a package into a user's home directory - my stuff goes in ~/.local/bin
for example. So I'm looking at combining something like Quilt to apply my patches, with some custom install scripts to do the upstream downloading and local installation.
All in all I think it's not too complicated, but before I start I wanted to see what others have done.
A related question, What is the recommended way to maintain local patches to debian packages? is asking about distribution-specific packages with global (privileged) installation. Also relevant, but more general, is How to manage open source project patches which can't push to upstream?.
package-management git version-control quilt
package-management git version-control quilt
edited 13 hours ago
Metamorphic
asked Mar 19 at 0:09
MetamorphicMetamorphic
371112
371112
There's a 101 different ways of doing this, and the best way is going to be unique to your environment. As a result, I think this is gonna be a "primarily opinion based" type question.
– Stephen Harris
Mar 19 at 0:51
@StephenHarris: I tried to restrict it a little by asking "what others have done or agreed upon", although as the two similar questions I linked were not labeled "opinion-based", I had not anticipated that my question would be closed for that reason.
– Metamorphic
Mar 19 at 0:55
I'm a bit afraid there might not be one single "accepted" way of doing that, and the ways/tools favoured might well be up to the preferences of the individuals in question.
– ilkkachu
2 days ago
1
I've opened a Meta question to discuss whether this is actually opinion-based. As for this question, if for example @Stephen thinks there are "101 different ways of doing this", perhaps he could link to a description of one of them. That would be a kind way of rewarding others who took time to read and write this question. Obviously, I came here after Googling unsuccessfully, and I'm hoping to get advice from experts like yourselves.
– Metamorphic
19 hours ago
add a comment |
There's a 101 different ways of doing this, and the best way is going to be unique to your environment. As a result, I think this is gonna be a "primarily opinion based" type question.
– Stephen Harris
Mar 19 at 0:51
@StephenHarris: I tried to restrict it a little by asking "what others have done or agreed upon", although as the two similar questions I linked were not labeled "opinion-based", I had not anticipated that my question would be closed for that reason.
– Metamorphic
Mar 19 at 0:55
I'm a bit afraid there might not be one single "accepted" way of doing that, and the ways/tools favoured might well be up to the preferences of the individuals in question.
– ilkkachu
2 days ago
1
I've opened a Meta question to discuss whether this is actually opinion-based. As for this question, if for example @Stephen thinks there are "101 different ways of doing this", perhaps he could link to a description of one of them. That would be a kind way of rewarding others who took time to read and write this question. Obviously, I came here after Googling unsuccessfully, and I'm hoping to get advice from experts like yourselves.
– Metamorphic
19 hours ago
There's a 101 different ways of doing this, and the best way is going to be unique to your environment. As a result, I think this is gonna be a "primarily opinion based" type question.
– Stephen Harris
Mar 19 at 0:51
There's a 101 different ways of doing this, and the best way is going to be unique to your environment. As a result, I think this is gonna be a "primarily opinion based" type question.
– Stephen Harris
Mar 19 at 0:51
@StephenHarris: I tried to restrict it a little by asking "what others have done or agreed upon", although as the two similar questions I linked were not labeled "opinion-based", I had not anticipated that my question would be closed for that reason.
– Metamorphic
Mar 19 at 0:55
@StephenHarris: I tried to restrict it a little by asking "what others have done or agreed upon", although as the two similar questions I linked were not labeled "opinion-based", I had not anticipated that my question would be closed for that reason.
– Metamorphic
Mar 19 at 0:55
I'm a bit afraid there might not be one single "accepted" way of doing that, and the ways/tools favoured might well be up to the preferences of the individuals in question.
– ilkkachu
2 days ago
I'm a bit afraid there might not be one single "accepted" way of doing that, and the ways/tools favoured might well be up to the preferences of the individuals in question.
– ilkkachu
2 days ago
1
1
I've opened a Meta question to discuss whether this is actually opinion-based. As for this question, if for example @Stephen thinks there are "101 different ways of doing this", perhaps he could link to a description of one of them. That would be a kind way of rewarding others who took time to read and write this question. Obviously, I came here after Googling unsuccessfully, and I'm hoping to get advice from experts like yourselves.
– Metamorphic
19 hours ago
I've opened a Meta question to discuss whether this is actually opinion-based. As for this question, if for example @Stephen thinks there are "101 different ways of doing this", perhaps he could link to a description of one of them. That would be a kind way of rewarding others who took time to read and write this question. Obviously, I came here after Googling unsuccessfully, and I'm hoping to get advice from experts like yourselves.
– Metamorphic
19 hours ago
add a comment |
0
active
oldest
votes
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%2f507078%2fhow-do-i-maintain-a-patched-version-of-a-package-for-unprivileged-installation%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f507078%2fhow-do-i-maintain-a-patched-version-of-a-package-for-unprivileged-installation%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
There's a 101 different ways of doing this, and the best way is going to be unique to your environment. As a result, I think this is gonna be a "primarily opinion based" type question.
– Stephen Harris
Mar 19 at 0:51
@StephenHarris: I tried to restrict it a little by asking "what others have done or agreed upon", although as the two similar questions I linked were not labeled "opinion-based", I had not anticipated that my question would be closed for that reason.
– Metamorphic
Mar 19 at 0:55
I'm a bit afraid there might not be one single "accepted" way of doing that, and the ways/tools favoured might well be up to the preferences of the individuals in question.
– ilkkachu
2 days ago
1
I've opened a Meta question to discuss whether this is actually opinion-based. As for this question, if for example @Stephen thinks there are "101 different ways of doing this", perhaps he could link to a description of one of them. That would be a kind way of rewarding others who took time to read and write this question. Obviously, I came here after Googling unsuccessfully, and I'm hoping to get advice from experts like yourselves.
– Metamorphic
19 hours ago