Can slackpkg blacklist just a single program?
I've modified a single program: kcheckpass, in the kde-workspace package. I don't want to blacklist the whole package, but I don't want my modified program to get clobbered on the next upgrade. Is there a way to blacklist a single component within a package?
|
no, if you want to handle this via slackpkg you have to blacklist the package: slackpkg won't handle anything about the content of the packages, it uses the pkgtools utilities (installpkg, upgradepkg, etc.) for installing/upgrading.
alternatively, you can make the file immutable with chattr Code:
chattr -i /usr/lib$LIBDIRSUFFIX/kde4/libexec/kcheckpass |
Or, could I simple `chmod a-w /usr/lib$LIBDIRSUFFIX/kde4/libexec/kcheckpass`, rather than using chattr? I've used chattr, but not much and when I need to ultimate modify such a file I always forget that months/years ago I chattr'ed it.
|
You can still remove a file that has the write permission removed. Try it yourself.
Code:
touch test |
Good point! Thanks.
|
Quote:
Code:
chattr +i filename |
the 'common' way to solve this is to put the program on a place that is before /usr/bin in you $PATH,
that is usually /usr/local/bin, which is there for such and similar reasons. than it doesn't matter if the original binary becomes overwritten by an update. and you can easily switch both versions, if this is ever needed. putting things to /usr/local/ will also allow you to package and manage your software via the available pkg tools |
Quote:
|
Quote:
LATER ... Although a great idea, it doesn't work in this case. Apparently the system calling program, kscreenlocker_greet, looks for kcheckpass explicitly in the /usr/lib64/kde4/libexec directory. I had to move it back to get it to work. |
All times are GMT -5. The time now is 08:30 AM. |