File lists of "builtin" packages

Back in the days when we used "Unleashed" to build puppies, there was a script that generated a PET package that had file-lists of all the packages built-in to the main SFS file.

It was pizzasgood who developed a tool named 'pet-be-gone' to read that PET package and "uninstall" packages. It doesn't really uninstall of course, as the main Puppy SFS is read-only, but it does hide the files.

Forum post on pet-be-gone:
http://www.murga-linux.com/puppy/viewtopic.php?t=17035

The reason that you would want to do this is for remastering the CD. For example, you could "uninstall" SeaMonkey, then install a different browser, then remaster the CD.

There is an ongoing interest in remastering our puppies, so I have brought back the file-lists of built-in packages. Woof now creates a PET, named '0builtin_files_<file prefix>-<version>.pet' -- for example '0builtin_files_lupu-502.pet'.

However, as the PET is only 50KB I decided to default to including it in the live-CD, that is, the main SFS file.

The file-lists are at /root/.packages/builtin_files, and we can once again have a tool like pet-be-gone to "uninstall" builtin packages.
Note that pizzasgood's original utility will need modification to work.


Posted on 27 May 2010, 14:32


Comments:

Posted on 27 May 2010, 19:13 by BarryK
File-lists
Note, if I recall rightly, the file-lists of inbuilt packages, back in the Unleashed days, was lists of files only, not directories.

Thus, pet-be-gone did not know what empty directories (after files are deleted), could be removed.

The file lists now also contain names of directories. The format now is like this:

/root/.packages/builtin_files/abiword:
/root

/root/.AbiSuite
AbiWord.Profile
/root/.AbiSuite/dictionary
/root/.AbiSuite/templates
normal.awt
/usr
/usr/bin
abiword
/usr/lib
/usr/lib/abiword-2.8
/usr/lib/abiword-2.8/plugins
/usr/share
/usr/share/abiword-2.6
/usr/share/abiword-2.8
/usr/share/abiword-2.8/mime-info
abiword.keys
/usr/share/abiword-2.8/strings
en-AU.strings
en-CA.strings
en-GB.strings
en-IE.strings
/usr/share/abiword-2.8/templates
normal.awt
normal.awt-en_AU
normal.awt-en_CA
normal.awt-en_GB
normal.awt-en_IE
normal.awt-en_NZ
normal.awt-en_ZA
/usr/share/abiword-2.8/ui
ap_UnixDialog_Annotation.xml
ap_UnixDialog_Break.xml
ap_UnixDialog_Field.xml
ap_UnixDialog_FormatFootnotes.xml
ap_UnixDialog_FormatFrame.xml
ap_UnixDialog_FormatTable.xml
ap_UnixDialog_FormatTOC.xml
ap_UnixDialog_Goto.xml
ap_UnixDialog_HdrFtr.xml
ap_UnixDialog_Insert_DateTime.xml
ap_UnixDialog_InsertTable.xml
ap_UnixDialog_Latex.xml
ap_UnixDialog_MailMerge.xml
ap_UnixDialog_MetaData.xml
ap_UnixDialog_New.xml
ap_UnixDialog_Options_ColorSel.xml
ap_UnixDialog_Options.xml
ap_UnixDialog_PageNumbers.xml
ap_UnixDialog_PageSetup.xml
ap_UnixDialog_Replace.xml
ap_UnixDialog_Spell.xml
ap_UnixDialog_Styles.xml
ap_UnixDialog_Stylist_modal.xml
ap_UnixDialog_Stylist.xml
ap_UnixDialog_Tab.xml
ap_UnixDialog_WordCount.xml
xap_UnixDlg_DocComparison.xml
xap_UnixDlg_Encoding.xml
xap_UnixDlg_History.xml
xap_UnixDlg_Image.xml
xap_UnixDlg_Language.xml
xap_UnixDlg_ListDocuments.xml
xap_UnixDlg_Password.xml
xap_UnixDlg_PluginManager.xml
xap_UnixDlg_WindowMore.xml
xap_UnixDlg_Zoom.xml
/usr/share/applications
Abiword-wordprocessor.desktop
/usr/share/doc
abiword.htm
/usr/share/icons
abiword_48.png




Posted on 29 May 2010, 24:09 by Pizzasgood
PET-Be-Gone
So regarding the above, if it sees an empty directory listed it should just go ahead and delete it? Should I maybe add a check so that it doesn't delete core things like /usr/local/bin if they happen to be made empty, or would that be desirable behavior?

Also, is /usr/local/apps/ still the standard location for ROX-Apps in Puppy? (I'm running CheesyRamHog right now or I'd check myself.) PET-Be-Gone was always installed at /root/my-roxapps/, but mainly just as a holdover from the days when /root was the only place where we could install things.


Posted on 30 May 2010, 8:10 by BarryK
Re pet-be-gone
Yeah, I guess if a directory becomes empty then delete it. In fact, you could first iterate through all the files and delete them, then iterate through all the directories -- "rm <dir> 2>/dev/null" can be applied and it will automatically fail if not empty.

I think these days, most developers are putting their apps into /usr/local/<my-application-dir>, with a symlink perhaps in /usr/bin.



Posted on 30 May 2010, 8:32 by martin
remover
A drag and drop "builtin packages remover":
http://murga-linux.com/puppy/viewtopic.php?p=422796#422796


Posted on 30 May 2010, 8:38 by BarryK
Re remover
Sorry, that should be "rmdir <dir> 2>/dev/null"



Posted on 30 May 2010, 8:43 by BarryK
Re remover
puppymartin,
Very good. Could you make a wrapper for it, say that runs from the menu, that opens the two windows automatically and pops up some instructions?



Posted on 2 Jun 2010, 12:08 by Pizzasgood
remover
Cool. Does that mean I don't need to dust off PET-Be-Gone after all? I'm willing to upgrade it to the new system, but I do have other projects I'd rather be focusing on right now. (Pizza isn't free, unfortunately. :|)


Posted on 14 Sep 2010, 20:57 by axiz
for 4.3.1?
But, where i find the file for built-in applications in 4.3.1?. I can't find it..