Updating builtin or system packages
Currently Pkg will ignore built-in packages.
We need a way for Pkg to update built-in packages.
On Ubuntu and Debian, system packages are updated like so:
apt-get update
apt-get upgrade
On Slackware:
# slackpkg update
# slackpkg install-new
# slackpkg upgrade-all
# slackpkg clean-system
TODO
So, on Puppy we should have:
pkg upgrade # update all system repos (download "doc" files, [convert if needed], install)
pkg update # update installed packages, including built-ins
Currently Pkg will ignore built-in packages. We need a way for Pkg to update built-in packages.
Solution
- allow updating and "removing" builtins:
- use custom code for removing package if it's a built-in
- see the
/usr/sbin/remove_builtin
script:- rm all files listed in
~/.packages/builtin/<pkgname>
- if it had a .desktop file, run fixmenus
- show extra message saying "built-ins" need a remaster to be properly removed
- rm all files listed in
Implementation
A pkg_uninstall_builtin()
function, based on /usr/sbin/remove_builtin
, called by pkg_uninstall()
:
If the package to remove is a built-in (can use is_builtin_pkg()
to check), then use the new func to remove it.
Edited by sc0ttj