In Cydia -> Manage -> Packages there is an entry for 'Serious SBSettings HD' that claims to have filesystem content in the Themes directory. No such content exists, probably the result of me deleting non-essential files... the only themes are 'Default' and my own (and I've changed some of the files in 'Default'). But when I tried to delete the package using Cydia, it somewhat unhelpfully offered to delete every single SBSettings-related file from my phone, so I left it alone.

Is there a way to remove this entry from the list of installed packages without actually deleting anything?

(Deleting com.modmyi.serioussbsettingshd.list removed the list of filesystem content from the entry in Cydia's, but the entry itself remains.)

I've read the man pages and it's not clear to me how purge deals with dependencies, especially reverse dependencies... i.e. removing every package that claims it needs the one I am trying to kill (or for which the package I am trying to kill claims a reverse dependency), even though the package does not currently exist and those other packages run fine (because the dependency is bogus). Which is the same problem I'm having with Cydia.

(This reminds me of when I first installed linux as a noob. I'd try to install a program that sounded cool without realizing it needed whichever of KDE/Gnome wasn't on my machine, and apt would gleefully whack a hundred programs to switch to the other window manager in order to accommodate my request.)

I don't want/need ANY packages to be actually deleted... I just need Cydia to stop listing packages that don't exist because they were deleted via an alternate mechanism.

You can remove the package entry from /var/lib/dpkg/status (and hopefully also remove information from /var/lib/dpkg/info). The next time you run Cydia, it will detect the missing dependency, and force-queue it for installation. If you additionally modify the entry for SBSettings to no longer depend on that theme, the next time you run Cydia it will notice that a normative field of the package control information is different in the version on the server, and it will provide the replacement copy on the server as an upgrade.

As for whether these package "still exist": packages are not just a collection of files; they represent something more akin to an installed concept... many packages are actually entirely empty, but installing them makes modifications to other things, or simply pulls in dependencies. As a great example: if you delete all the files that Substrate installed on your device and reboot, depending on what jailbreak you are using (as of Substrate 0.9.399x this isn't quite true anymore for most jailbreaks) you will learn a hard lesson that Substrate is in fact still "installed", but now broken sufficiently that your device will no longer boot.

(Oh, and rather than messing with /var/lib/dpkg/status, if you are insisting on removing that package and leaving your device in the horribly inconsistent state of broken dependencies, you can just use dpkg -r --force-depends. Again, however: the result will just be that attempting to use APT causes irritating error messages and the result will be either APT or Cydia or dpkg eventually insisting you fix the error.)

Deleting Serious SBSettings, although not likely, could mess up your device. Why? Because SBSettings depends on it and deleting a dependecy is the worst thing you could do (boot loops, respring loops, etc can occur).

I other words, I reccomend you DO NOT uninstall that package, even if it's a theme for SBSettings. Consider that it's also a dependecy.

I uninstalled it months ago. (Or, rather, simply deleted the files, not knowing that the theme had its own separate entry on the list of installed packages.) And my device has run fine ever since, with no problems, no boot loops, no respring loops, nothing.

And it isn't having any problems right now. I just noticed that this entry and a couple others are still in the list of installed packages in Cydia. Those entries are clearly meaningless; the files they point to do not exist and the apps that supposedly 'depend' on them work fine without them. So I want to remove them, partly just to keep things clean and orderly, but MORE so I can learn the how's and why's of package dependencies on the iPhone.

Consider that it's also a dependecy
SBSettings depends on it and deleting a dependecy is the worst thing you could do

But it isn't a dependency, in the normal usage of that term. It is marked as one, presumably so people who were installing the package for the first time would have some theme choices, but the fact that SBSettings has run fine through many changes on this device without glitching at all proves that SBSettings is not really dependent on the package, and that it was written well enough to not scuttle the ship just because a few (optional, unused) pngs turn up missing.

I created my own themes and deleted all other themes aside from my own and Default (just in case). Everything works fine. But I still want to know where information about installed packages is kept, so I can remove these items - which, again, do NOT exist and haven't for months without causing any problems - and so I can learn how packages dependencies are handled on my phone.

You can remove the package entry from /var/lib/dpkg/status (and hopefully also remove information from /var/lib/dpkg/info). The next time you run Cydia, it will detect the missing dependency, and force-queue it for installation. If you additionally modify the entry for SBSettings to no longer depend on that theme, the next time you run Cydia it will notice that a normative field of the package control information is different in the version on the server, and it will provide the replacement copy on the server as an upgrade. You can quibble with whether BigBoss should have marked that as a dependency or not, but honestly it seems entirely silly to me that you are trying to free up a megabyte of disk space by deleting the files for that theme: you should spend your time doing something more constructive.

Thanks for the info Saurik... that's exactly what I needed to know, or at least moves me in the right direction.

it seems entirely silly to me that you are trying to free up a megabyte of disk space by deleting the files for that theme.

I freed up that megabyte of disk files - which consisted solely of png files, in a package that pulls from the Default theme anything it can't find in the selected theme - months ago, and they aren't even the real issue here.

you should spend your time doing something more constructive.

And this thread has been an attempt to do just that: to learn how all of these new tools on my phone (i.e. Cydia and everything I have installed using it) work.

It's not about the disk space, or even about this theme, it's about knowledge. It's not even critical right now, everything works fine. But - I'm sure you will understand this - learning how things work can be a goal in itself... and if, someday, some other package causes problems (for me or for anyone else) via the same mechanism, what I learn today will help me then.