AutomatingArtwork

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

  1. 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.

  2. 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.
  3. Write a script, which reads the information contained in the iconprio CSV files and generate symlinks where specified.
  4. 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.


CategorySpec

Spec/AutomatingArtwork (last edited 2008-08-06 16:31:38 by localhost)