Packaging/ChangesFile

From openSUSE

Along with a .spec file, sources, and patches, many SUSE package working directories contain a file with the suffix ".changes". A .changes file's name will have the same base as a .spec file. For example, if your spec is named "foo.spec", then the .changes file should be named "foo.changes".

In general, it's better to leave the %changelog section of a .spec file empty—but do create it—and to use a .changes file instead. This way, it's safe to perform a global find-and-replace in your .spec file knowing that you'll never "rewrite history".

Here's a short explanation of the .changes file format.


Each changelog entry starts with 67 dashes ('-'):

-------------------------------------------------------------------

The next line should contain the output of "LANG=en_US.UTF-8 date", followed by a space, followed by a dash, followed by a space, and finally followed by your email address:

Thu Oct 25 14:05:30 CDT 2007 - maw@suse.de

The rest of the entry is freeform, but it's typical to use an outline-like format.

- Add gnome-hello-gconf.patch, which fixes schema installation
- Install that fake gconf schema
  + Use all the cool rpm macros to make it work
  + They really are cool
- Since we patch a an autofoo file, run autoreconf.

Here's another entry:

-------------------------------------------------------------------
Thu Oct 25 12:42:22 CDT 2007 - maw@suse.de

- Initial package.


The interpolation and merging of .changes files is performed by /usr/lib/build/changelog2spec.