Launchpad Entry: https://launchpad.net/distros/ubuntu/+spec/automating-artwork
Created: Thu, 08 Jun 2006 12:07:36 +0200 by DanielHolbach
Contributors: DanielHolbach
Packages affected: ubuntu-artwork
Summary
A set of scripts will be written and/or changed to automate the artwork process, from cutting out the icons to building a test package and showing an overview of the changes that went in.
Please note: this spec can only be implemented by a Canonical employee. If you want to help out somewhere, it'd be better to pick another spec.
Rationale
Doing ubuntu-artwork updates is currently highly manual work and requires time and concentration. Most parts of it could be automated.
Use cases
- Icon designer Dave worked hard to improve a batch of icons and sends the master sheets to his Ubuntu contact. It only takes a little while until he can see all the icons in action.
- Package maintainer Daniel is close to a deadline and needs to update the artwork package. He does not need to do somersaults to get all the changes in.
Scope
The changes will involve
splitting of the ubuntu-artwork package,
- changes in the existing scripts for processing icons.
- some new scripts will have to be written to do additional tasks in updating the build system, for creating symlinks and visualizing changes from the old to the new artwork package.
Design
The first step will be to split human-icon-theme from ubuntu-artwork.
The implementation of the update functionality will run through two phases. The following table depicts which steps are MUST goals, which will be adressed and which steps are not crucial to be automated.
Step |
MUST goals |
run gimp on .psd files, remove informational layer, save as .png file |
NO |
run strip-icons on iconprio.csv |
YES |
run strip-icons on whitelist.csv as well and automatically uuencode, uudecode where needed |
NO |
generate symlinks as specified in the CSV files |
YES |
rename icons appropriately |
YES |
get last human-icon-theme package |
YES |
replace old icons with spec-renamed icons |
YES |
run update-Makefile.am on the icon directory |
YES |
add missing Makefiles, change other files in the build system |
YES |
respect icons which are stored in a blacklist (some are edited manually) |
YES |
pbuild it |
YES |
check the debdiff of the two packages to see missing files etc |
YES |
go through iterations of the above |
NO |
Implementation
Split ubuntu-artwork into:
human-icon-theme
human-wallpapers
human-splashscreens
human-theme
human-gdm-theme
This will make updates smaller and easier (as the individual build systems will be less complex as a whole). ubuntu-artwork will be merely a meta package and ship default files.
- Write a script which will
- make use of the existing scripts and call them in succession,
- pay attention to a blacklist to not overwrite icon which where specifically changed (smaller sizes, etc.),
- run the build process of the package in pbuilder,
- show the changes between the new and old package.
- Write a script, which reads the information contained in the iconprio CSV files and generate symlinks where specified.
- Enhance the script, which currently updates Makefiles to be able to add new Makefiles where needed and change configure.ac and index.theme appropriately.
BoF agenda and discussion
- Is modularization of icons also considered? I mean many icons are based on or variations of say folders or disks. So when the folder icon gets changed, do all the variations (folder-new, folder-home, ...) also have to be changed?
DanielHolbach: No, the spec concerns only the process of producing the ubuntu-artwork package from said icon master sheets.