Where am I at? I have installed 242 themes for Linux. the tool is called simply enough repairtheme a CLI based tool. My current result:
Note there is still a question mark on one theme and any question mark on the icon for example means the theme is still broken, so it is not perfect yet. What is repairtheme?
theemahn@JackHammer:/media/4TBRaid0/PASS2$ repairtheme
repairtheme , 07/18/2013
GNU repairtheme home page: <http://www.themelinux.com/>.
E-mail bug reports to: <[email protected]>.
Be sure to include the word repairtheme somewhere in the Subject: field.
repairtheme is a part of the tm-tools package. Many of the tools are heavy and
are not intended to be ran by the common user. The tools are geared for the
admininstrator. Please see man tmtools for more info.
Usage: repairtheme -<-COMMAND> [THEMENAME]
Mandatory arguments to long options are identical for short options.
possible commands...
-a --analyze pre-scan for error(s)
-f --fix fix theme error(s)
-h --help this help message
-d --deepscan scans and fixes multiple themes
-v --version dump version info
repairtheme --help [COMMAND] for further information.
theemahn@JackHammer:/media/4TBRaid0/PASS2$
I am using the tool in colaboration with repostorm to fix errors at the Debian level, however the tool will also fix your themes in your current O/S no matter if you run Ubuntu, Arch, Ultimate Edition etc. I am going to release the tool open source & provide the code openly. The tool is not advanced enough to be able to undo actions and why you do not have it today. I could see people using it to trash their Operating Systems, unknowingly. I do want to put things in check prior to me even allowing you to beta testing it.
I will post the source here when I feel it is not only smart enough to stop you from rooting your entire system, and provide the ability to undo you actions.
09/19/2013: Please do not use this as a production environment:
Theme was based off malys-deda, repairtheme has ran 2 passes on it and trashed the buttons. While that may seem extreme. It corrected in excess 1000 errors. The repairtheme app, while works true wonders in one department screws up in another. I am going to provide an example:theemahn@JackHammer:~/Pictures$ repairtheme --analyze malys-ex_1.1.1~precise_all.deb
Switches 1:malys-ex_1.1.1~precise_all.deb 2: 3:
Entered Package function at /home/theemahn/Pictures
malys-ex_1.1.1~precise_all.deb is a deb, extracting...
===============================================
repairtheme 1.7.3-2 is entering extraction mode.
Beginning extraction of malys-ex_1.1.1~precise_all.deb
======================================================
to malys-ex_1.1.1~precise_all/
Extracting Control files from malys-ex_1.1.1~precise_all.deb
Extracting data files from malys-ex_1.1.1~precise_all.deb
Extraction of deb(s) complete. No errors detected in extraction.
Execution Time: 0s
Clearing Known Engines from the control file.
ENTERED Function SCRAP dependency at /home/theemahn/Pictures
Location of control file to process malys-ex_1.1.1~precise_all/DEBIAN/control
DEBUG:
Exiting STRIP dependency function in /home/theemahn/Pictures
DEBUG:
Package: malys-ex
Version: 1.1.1~precise
Architecture: all
Maintainer: Umair Riaz <[email protected]>,
Installed-Size: 12484
Section: gnome
Priority: extra
Homepage: http://www.NoobsLab.com
Description: Malys-Uniblue Icons uploaded on NoobsLab.com PPA
Author Url - http://malysss.deviantart.com/#/d52lfkm
Checking for theme(s) in malys-ex_1.1.1~precise_all/
Icon or cursor theme(s) detected.
ENTERING IFS AT /home/theemahn/Pictures/malys-ex_1.1.1~precise_all/usr/share/icons
Scanning for validity of Malys-Ex Stage 1.
Backing up Malys-Ex theme to index.backup
Building Icon index for theme: Malys-Ex
Creating icon index.theme in '/home/theemahn/Pictures/malys-ex_1.1.1~precise_all/usr/share/icons/Malys-Ex'
Valid entries:
actions/scalable
actions/24
apps/scalable
categories/scalable
devices/scalable
emblems/scalable
mimetypes/scalable
places/scalable
status/scalable
status/24
stock/scalable
stock/24
actions/scalable
actions/24
apps/scalable
categories/scalable
devices/scalable
emblems/scalable
mimetypes/scalable
places/scalable
status/scalable
status/24
stock/scalable
stock/24
Stage 1 completed successfully.There is no need for stage 2.
Resulting theme index:
[Icon Theme]
Name=Malys-Ex
Comment=Malys-Ex Icon Theme
Example=inode-directory
Inherits=Tango,gnome
Example=x-directory-normal
Directories=actions/scalable,actions/24,apps/scalable,categories/scalable,devices/scalable,emblems/scalable,mimetypes/scalable,places/scalable,status/scalable,status/24,stock/scalable,stock/24
[actions/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[actions/24]
Size=24
Context=24
Type=Scalable
MaxSize=512
[apps/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[categories/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[devices/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[emblems/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[mimetypes/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[places/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[status/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[status/24]
Size=24
Context=24
Type=Scalable
MaxSize=512
[stock/scalable]
Size=Scalable
Context=scalable
Type=Scalable
MaxSize=512
[stock/24]
Size=24
Context=24
Type=Scalable
MaxSize=512
FOLDER:malys-ex_1.1.1~precise_all/ : ENTRANCE:malys-ex_1.1.1~precise_all | DEBIAN: malys-ex_1.1.1~precise_all.deb | CURRENTFOLDER: /home/theemahn/Pictures | PACKAGE: malys-ex_1.1.1~precise_all//malys-ex_1.1.1~precise_all.deb/usr/share/themes/
ENTERING IFS AT /home/theemahn/Pictures/malys-ex_1.1.1~precise_all
VERIFY THEME = malys-ex_1.1.1~precise_all
Nothing to further process. Exiting.
Execution Time: 0s
theemahn@JackHammer:~/Pictures$
Perfect right? The true test for the app will be ultimate-edition-themes a deb that is almost 400MB filled with 1,927,028,880 theme combinations.
Weed through this:
theemahn@JackHammer:~/Pictures$ repairtheme --analyze ultimate-edition-icons-dark-glass.0.0.2_all.deb
Switches 1:ultimate-edition-icons-dark-glass.0.0.2_all.deb 2: 3:
Entered Package function at /home/theemahn/Pictures
ultimate-edition-icons-dark-glass.0.0.2_all.deb is a deb, extracting...
===============================================
repairtheme 1.7.3-2 is entering extraction mode.
Beginning extraction of ultimate-edition-icons-dark-glass.0.0.2_all.deb
=======================================================================
to ultimate-edition-icons-dark-glass.0.0.2_all/
Extracting Control files from ultimate-edition-icons-dark-glass.0.0.2_all.deb
Extracting data files from ultimate-edition-icons-dark-glass.0.0.2_all.deb
Extraction of deb(s) complete. No errors detected in extraction.
Execution Time: 1s
Clearing Known Engines from the control file.
ENTERED Function SCRAP dependency at /home/theemahn/Pictures
Location of control file to process ultimate-edition-icons-dark-glass.0.0.2_all/DEBIAN/control
DEBUG: libc6(>=2.5-0ubuntu1)
Exiting STRIP dependency function in /home/theemahn/Pictures
DEBUG:
Package: ultimate-edition-icons-dark-glass
Priority: optional
Section: gnome
Architecture: all
Depends:libc6 (>= 2.5-0ubuntu1)
Version: 0.0.2
Maintainer: Ultimate Edition Team <[email protected]>
Homepage: http://themelinux.com/
Installed-Size: 133916
Description: Ultimate Edition Dark Glass Icons
Dark Glass icon set for Ultimate Edition
Checking for theme(s) in ultimate-edition-icons-dark-glass.0.0.2_all/
Icon or cursor theme(s) detected.
ENTERING IFS AT /home/theemahn/Pictures/ultimate-edition-icons-dark-glass.0.0.2_all/usr/share/icons
Source: ultimate Edition/ Destination: Ultimate Edition/
Scanning for validity of Ultimate Edition Stage 1.
Backing up Ultimate Edition theme to index.backup
Failure at stage 1 - directories via category?
Entering stage 2 at /home/theemahn/Pictures/ultimate-edition-icons-dark-glass.0.0.2_all/usr/share/icons/Ultimate Edition
Stage 2 failed. Cursor theme?
Scanning /home/theemahn/Pictures/ultimate-edition-icons-dark-glass.0.0.2_all/usr/share/icons/Ultimate Edition for Cursor(s). Feature not currently implemented.
Resulting theme index:
Directories=
FOLDER:ultimate-edition-icons-dark-glass.0.0.2_all/ : ENTRANCE:ultimate-edition-icons-dark-glass.0.0.2_all | DEBIAN: ultimate-edition-icons-dark-glass.0.0.2_all.deb | CURRENTFOLDER: /home/theemahn/Pictures | PACKAGE: ultimate-edition-icons-dark-glass.0.0.2_all//ultimate-edition-icons-dark-glass.0.0.2_all.deb/usr/share/themes/
ENTERING IFS AT /home/theemahn/Pictures/ultimate-edition-icons-dark-glass.0.0.2_all
VERIFY THEME = ultimate-edition-icons-dark-glass.0.0.2_all
Nothing to further process. Exiting.
Execution Time: 0s
theemahn@JackHammer:~/Pictures$
Alot of what you see above is for debugging, when I get ultimate-edition-themes to go through, I doubt there will ever be a need to restore. even though that is now implemented (Backing up Ultimate Edition theme to index.backup). Probably a 1000 different authors. A clean switch when you are satisfied perhaps. This app has taken so much of my time, I am begining to question it's release period.
theemahn@JackHammer:~/Videos$ repostorm --build ultimate-edition-repairtheme-1.7.3-2_all
repostorm 1.7.3 is beginning initial build.
First build or no previous errors.
============================================================
Beginning build of ultimate-edition-repairtheme-1.7.3-2_all
============================================================
Relaxing permissions of ultimate-edition-repairtheme-1.7.3-2_all
[sudo] password for theemahn:
Cleaning up any tmp or backup files.
Setting individual file permissions to 644.
Scanning /etc to build conffiles.
Scanning for executables in ultimate-edition-repairtheme-1.7.3-2_all Stage 1.
ultimate-edition-repairtheme-1.7.3-2_all/bin/repairtheme
Scanning for executables in ultimate-edition-repairtheme-1.7.3-2_all Stage 2.
Calculating Installed size & inserting into control file if necessary.
ultimate-edition-repairtheme-1.7.3-2_all is 100. Control file reporting: 100
Size indicated in control file is correct.
Calculating MD5SUMS in ultimate-edition-repairtheme-1.7.3-2_all
Setting ownership to root in ultimate-edition-repairtheme-1.7.3-2_all
Setting individual folder permissions to 755.
Setting permissions rights for control etc.
Building of ultimate-edition-repairtheme-1.7.3-2_all
dpkg-deb: building package `ultimate-edition-repairtheme' in `ultimate-edition-repairtheme-1.7.3-2_all.deb'.
Lintian resulting package ultimate-edition-repairtheme-1.7.3-2_all.deb.
We have built a totally perfect deb.
Recursively removing ultimate-edition-repairtheme-1.7.3-2_all since we have a perfect deb.
Moving ultimate-edition-repairtheme-1.7.3-2_all.deb to .debs/
_______________________________ SESSION RESULTS ________________________________
FILE ERRORS WARNINGS INFO
copy_agent-1.34.0538_amd64.deb 124 0 0
ultimate-edition-customizations-3.6.0_all.deb 0 10 0
________________________________________________________________________________
Error(s): 248 | Warning(s): 322 | Info: 0
Writing permanent logs.
theemahn@JackHammer:~/Videos$
Lets get things out in the open, I intend to fix everyones problems. I however intend to do it through software. I can not attend to a Billion ppl @ a time. Should I write software for that too?