---
name: "Debian::ThemeConverters"
section: "3pm"
platform: "linux"
package: "theme-converters"
version: "1.9"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/Debian::ThemeConverters"
---

# Debian::ThemeConverters(3pm)

Perl library for the theme convertor scripts

## NAME

Debian::ThemeConvertors - Perl library for the theme convertor scripts

## SYNOPSIS

```
    use Debian::ThemeConvertors;
```

```
    Debian::ThemeConvertors::main \&theme_specific_sub;
```

```
    sub theme_specific_sub {
      my($themepkgfilename, $destdir) = @_;
      ...
      Debian::ThemeConvertors::makedeb($dpkgfile, $tmpdir,
                                       { Name => ...
                                         Version => ...
                                         Maintainer => ...
                                       }
    }
```

## DESCRIPTION

This library contains the guts of the theme convertor scripts. The script calls *Debian::ThemeConvertors::main* with a reference to a subroutine for the specific script. *main()* parses the command line, and calls the given sub for each theme mentioned on the command line, passing in the theme filename and the destination directory.

The script's sub is then responsible for producing a directory structure for the resultant Debian package, and determining what the binary package's control fields should be. These are then sent to *Debian::ThemeConvertors::makedeb* and a .deb package is made. *main()* will then install the packages if the user so requested.

Various functions are provided in the library to help with conversion and provide consistency. The *printv()*, *printi()*, *printw()* and *printe()* are for printing verbose, informational, warning and error messages respectively. *wchdir()* will change working directory, and *croak* if this fails. *direntries()* will return a list of entries in a directory. *debwalk()* will recursively walk a directory tree, returning a list of entries found.

## CAVEATS

This library was made when I ripped out the common elements of **gtkthemetodeb** and **wmakerthemetodeb** to stop version skew. It is not well-designed, and certainly not well-documented. Sorry.

## EXAMPLES

See the wmakerthemetodeb and gtkthemetodeb scripts.

## SEE ALSO

[*wmakerthemetodeb*(1)](/wmakerthemetodeb/1.md), [*gtkthemetodeb*(1)](/gtkthemetodeb/1.md)

## AUTHOR

Steve Haslam \<araqnid@debian.org\>
