Simplify vflist_get_formatted()
[geeqie.git] / CHECKLIST.md
index a02f11e..04daa89 100644 (file)
@@ -1,31 +1,80 @@
-## A checklist to be used after Geeqie has been updated
+# Checklist for code updates and new releases of Geeqie
 
-Before compiling the sources, carry out the following actions when necessary:
+## Code Updates
 
-* Update ```org.geeqie.Geeqie.appdata.xml.in``` with the latest released version and date
-* If source files have been added or removed from ```.src/``` directory, resync ```./po/POTFILES.in```   
+### Before compiling the sources, carry out the following actions when necessary
+
+* Update `org.geeqie.Geeqie.appdata.xml.in` with the latest released version and date
+
+* If source files have been added or removed from `./src/` directory, resync `./po/POTFILES.in`
+
+```sh
+cd ./po
+./regen_potfiles.sh | patch -p0
 ```
-cd ./po  
-./regen_potfiles.sh | patch -p0  
+
+* Keep translations in sync with the code
+
+```sh
+cd ./build
+meson compile geeqie-pot
+meson compile geeqie-update-po
 ```
-* Keep translations in sync with the code  
+
+* Update the desktop template if menus have changed
+
+```sh
+./scripts/template-desktop.sh
 ```
-cd ./po  
-make update-po  
-```  
-* Update the the timezone database  
+
+### After compiling the sources, carry out the following actions when necessary
+
+* Update the man page and Command Line Options section in Help if the command line options have changed
+
+```sh
+./scripts/generate-man-page.sh
 ```
-./scripts/zonedetect/create_timezone_database
+
+* Update the keyboard shortcuts page in Help if any keyboard shortcuts have changed
+
+```sh
+./doc/create-shortcuts-xml.sh
 ```
 
-After compiling the sources, carry out the following actions when necessary:  
+* Commit the changes and push to the .repo
 
-* Generate a new AppImage (note that this should be run on a **20.04 system**)  
+* Update the web-page Help files if they have changed
+    * commit and push if necessary
+
+```sh
+./scripts/web-help.sh
 ```
-./scripts/generate-appimage.sh <location of GeeqieWeb/appimages folder>
+
+* Copy `org.geeqie.Geeqie.desktop` to `<location of local geeqie.github.io>/`
+* Copy `org.geeqie.Geeqie.appdata.xml` to `<location of local geeqie.github.io>/`
+* Push changes to `geeqie.github.io`
+
+## New release
+
+Carry out the above actions to ensure the master branch is up to date, and then the following actions for new version \<n.m\>.
+
+* Edit `org.geeqie.Geeqie.appdata.xml.in` - Change date and version
+* Edit `NEWS` - The usual information. Ensure the first line is of the form `Geeqie <n.m[.p]>`
+
+```sh
+./scripts/new-release.sh <-h for list of options>
 ```
-* Copy Help html files to ```<location of GeeqieWeb/help folder>```
-* Copy ```geeqie.desktop``` to ```<location of GeeqieWeb/ folder>```  
-* Copy ```org.geeqie.Geeqie.appdata.xml``` to ```<location of GeeqieWeb/ folder>```  
-* Upload to GeeqieWeb  
 
+* Go to `https://github.com/BestImageViewer/geeqie/releases` and click on `Draft a new release`.
+
+* Under `Release title` insert "Geeqie \<n.m\>"
+
+* Under `Choose a tag` select `v<n.m>`
+
+* In `Describe this release` copy-paste the relevant section of `NEWS`.
+
+* Upload the `/tmp/geeqie-<n.m>.tar.xz` and `/tmp/geeqie-<n.m>.tar.xz.asc` files created above
+
+* Click `Publish release`
+
+* Update the [Wikipedia entry](https://en.wikipedia.org/wiki/Geeqie)