269 lines
8.8 KiB
Text
269 lines
8.8 KiB
Text
Release checklist for Tux Paint
|
|
|
|
Last updated 2025-02-16
|
|
Bill Kendrick <bill@newbreedsoftware.com>
|
|
|
|
During development
|
|
------------------
|
|
|
|
Make sure any new options are documented in the "OPTIONS" docs
|
|
(now maintained in the "tuxpaint-docs" repository; see below),
|
|
the manpage (see below), and listed in the shell completion file
|
|
(src/tuxpaint-completion.bash), the "tuxpaint --help" output,
|
|
and the "Command-Line Options" section of the "OPTIONS" docs,
|
|
as appropriate. Generally, new options should be exposed by
|
|
"Tux Paint Config." (in the "tuxpaint-config" repository),
|
|
and documented in its README, as well.
|
|
|
|
Make sure new features are recorded in "docs/CHANGES.txt", the
|
|
"What's New" section at the top of the current version's "README"
|
|
docs (now maintained in the "tuxpaint-docs" repository), and
|
|
in Tux Paint's appdata file (which is generated, with translated
|
|
text from PO files, based on "org.tuxpaint.Tuxpaint.appdata.xml.in").
|
|
|
|
When appropriate, they can be added to the "Features" page of
|
|
the website (maintained in the "tuxpaint-website" repository).
|
|
|
|
|
|
Preparing
|
|
---------
|
|
|
|
Do these things _prior_ to cutting a release -- that is, prior to
|
|
tagging in the source code repository, running "make release" to roll
|
|
a .tar.gz source tarball, and making the tarball available for download.
|
|
|
|
* Update version # and release dates
|
|
|
|
Places to make sure version # and release date gets updated,
|
|
|
|
* Makefile
|
|
|
|
* Build description files:
|
|
* tuxpaint.spec (Linux RPM package)
|
|
* win32/resources.rc (Windows mingw/msys build)
|
|
|
|
* Changelog
|
|
* docs/CHANGES.txt
|
|
|
|
* Metainfo file: (add entry for new version's changes)
|
|
* src/org.tuxpaint.Tuxpaint.appdata.xml.in
|
|
|
|
* Other Documentation
|
|
|
|
NOTE: As of Tux Paint 0.9.26, most of the documentation
|
|
is now maintained in a separate source-code repository,
|
|
"tuxpaint-docs". Updates should be made there, and
|
|
then copied over to the "tuxpaint" repository.
|
|
|
|
No matter what else might need to happen, these always need updating
|
|
ahead of a new release:
|
|
|
|
* Update version number in doc-src/include.php
|
|
* Update What's New section in doc-src/README/README-whatsnew.php
|
|
(things worth mentioning in the press release on the website)
|
|
|
|
There, run "make" to generate the HTML (and some other) files based
|
|
on the PHP sources. Then run "./copy-html-to-tuxpaint.sh" to copy
|
|
the resulting files to the directory containing a checkout of the
|
|
"tuxpaint" repo.
|
|
|
|
Here, be sure to run "make" in "docs/", to produce plaintext
|
|
alternatives of the docs that are available as HTML.
|
|
e.g. (for English):
|
|
|
|
* docs/en/html/ADVANCED-STAMPS-HOWTO.html
|
|
* docs/en/html/ENVARS.html
|
|
* docs/en/html/EXTENDING.html
|
|
* docs/en/html/FAQ.html
|
|
* docs/en/html/INSTALL.html
|
|
* docs/en/html/OPTIONS.html
|
|
* docs/en/html/PNG.html
|
|
* docs/en/html/README.html
|
|
* docs/en/html/SIGNALS.html
|
|
* docs/en/html/SVG.html
|
|
|
|
And also run "make" in "magic/magic-docs/", to produce plaintext
|
|
alternatives for the various magic tools.
|
|
|
|
* Manual page (manpage)
|
|
|
|
NOTE: Also maintained in "tuxpaint-docs" now; see above.
|
|
|
|
* man/tuxpaint.1
|
|
|
|
* Rebuild 'tuxpaint.desktop' by running "update-po.sh" in "src/po/"
|
|
|
|
* Rebuild "data/brushes/*.txt" by running "createtxt.sh" in "brushes-po/"
|
|
|
|
* Don't forget to commit the changes! (git add ... / git commit / git push)
|
|
|
|
|
|
Time to release:
|
|
----------------
|
|
|
|
* Tag & roll a release tarball (example here was from 0.9.25):
|
|
|
|
$ git pull
|
|
$ make clean
|
|
$ git tag tuxpaint-0_9_25-2020-12-27
|
|
$ git push origin tuxpaint-0_9_25-2020-12-27 # or --tags
|
|
$ make release
|
|
|
|
* About release candidates (beta versions):
|
|
|
|
Prior to a final release, we typically make
|
|
"release candidates" (rc) for the purpose of both
|
|
(a) having port maintainers exercise their build development,
|
|
and report back any problems -- once mended, additional "rc"s
|
|
can be rolled; and (b) providing beta builds for end-users
|
|
to try out (with the understanding that things may be
|
|
unstable).
|
|
|
|
Set the `VER_VERSION` in the Makefile to denote the release
|
|
candidate (e.g., "0.9.34-rc1"). Commit, and follow the steps
|
|
above for making a release. Use a tag includes mentions the
|
|
release candidate, e.g. "tuxpaint-0_9_34-rc1-2024-10-16".
|
|
|
|
* Upload each project's ".tar.gz" file from their "build/" subdirs
|
|
to ftp.tuxpaint.org.
|
|
|
|
* Place them in the appropriate subdirectories (source/, config/,
|
|
and stamps/) under "unix/x/tuxpaint/".
|
|
|
|
* Copy "docs/CHANGES.txt" from each project onto the FTP site
|
|
(Tux Paint's goes in the toplevel, the others go in config/ and
|
|
stamps/).
|
|
|
|
* Create a new PAD file (e.g. `pads/tuxpaint-0.9.25.xml`) on the
|
|
FTP site.
|
|
|
|
* Replace the "pads/tuxpaint-LATEST.xml" symlink on the FTP site with
|
|
a new one that points to the new PAD file.
|
|
|
|
* At SourceForge, go to "Files" and use "Add Folder" under each project
|
|
to create new release file subdirectories. (e.g., "0.9.25" under
|
|
https://sourceforge.net/projects/tuxpaint/files/tuxpaint/)
|
|
[Or, you can just use `mkdir` command in the `sftp` client, below.]
|
|
|
|
* Upload the files! Either from local copies, via a web browser,
|
|
or by SCP, Rsync, or SFTP (see
|
|
https://sourceforge.net/p/forge/documentation/Release%20Files%20for%20Download/#scp)
|
|
|
|
e.g.:
|
|
|
|
$ sftp wkendrick@frs.sourceforge.net
|
|
sftp> cd /home/frs/project/tuxpaint/
|
|
|
|
sftp> cd tuxpaint/0.9.25/
|
|
sftp> lcd source
|
|
sftp> put tuxpaint-0.9.25.tar.gz
|
|
|
|
sftp> cd ../..
|
|
sftp> lcd ..
|
|
|
|
[repeat for tuxpaint-config and tuxpaint-stamps]
|
|
|
|
* Copy latest release's documentation to the tuxpaint.org website.
|
|
|
|
* Create a new milestone, representing the new version,
|
|
at Tux Paint's SourceForge project's bug tracker
|
|
(https://sourceforge.net/p/tuxpaint/bugs/milestones)
|
|
|
|
+ Set it as the default.
|
|
+ Consider closing earlier milestone(s).
|
|
|
|
Website updates
|
|
---------------
|
|
* Link to the downloads on the various pages under
|
|
https://tuxpaint.org/download/
|
|
+ If a release candidate, post to the "beta" pages and
|
|
link to them, and activate the main
|
|
https://tuxpaint.org/beta/ page, too
|
|
+ If a final release, shut off the "beta" pages, if any
|
|
are active
|
|
+ For some 3rd party software repositories
|
|
(e.g. Flathub for Linux Flatpak, Haiku Depot, etc.),
|
|
you will need to pay attention to when the new release
|
|
lands, over the coming days/weeks.
|
|
|
|
* List new features on https://tuxpaint.org/features/
|
|
|
|
* Add any new requirements to https://tuxpaint.org/requirements/
|
|
|
|
* Create a press release under https://tuxpaint.org/latest/
|
|
|
|
* Copy the docs from the release (README, FAQ, etc.) onto the
|
|
website so users can find it online at https://tuxpaint.org/docs/
|
|
(use the `sync_docs.sh` script)
|
|
|
|
Announcements
|
|
-------------
|
|
* Tux Paint website
|
|
- Site: https://tuxpaint.org/
|
|
|
|
* Tux Paint project social media accounts
|
|
(currently, managed by Bill Kendrick)
|
|
|
|
+ BlueSky - https://bsky.app/profile/tuxpaint.bsky.social
|
|
+ Cara - https://cara.app/tuxpaint
|
|
+ Facebook - https://www.facebook.com/TuxPaint
|
|
+ Instagram - https://www.instagram.com/tuxpaintdevs/
|
|
+ Mastodon - https://floss.social/@tuxpaint
|
|
+ Reddit - https://www.reddit.com/user/TuxPaintDevs
|
|
+ Threads - https://www.threads.net/@tuxpaintdevs
|
|
+ TikTok - https://www.tiktok.com/@tuxpaintdevs
|
|
+ Tumblr - https://www.tumblr.com/blog/tuxpaint
|
|
+ X (née Twitter) - https://x.com/TuxPaintTweets
|
|
+ YouTubr - https://www.youtube.com/@TuxPaintOfficial
|
|
|
|
* News sites & magazines
|
|
|
|
+ Linux Today
|
|
- Site: https://www.linuxtoday.com/
|
|
- Twitter: https://twitter.com/linuxtoday
|
|
- Submissions: https://www.linuxtoday.com/contribute-to-linuxtoday/
|
|
|
|
+ 9to5Linux
|
|
- Site: https://9to5linux.com/
|
|
- Twitter: https://twitter.com/9to5linux
|
|
- Submissions: https://9to5linux.com/contact-us
|
|
|
|
+ Fossbytes
|
|
- Site: https://fossbytes.com/
|
|
- Twitter: https://twitter.com/Fossbytes14
|
|
- Submissions: enquiry@fossbytes.com
|
|
|
|
+ EdTech K12 Magazine
|
|
- Site: https://edtechmagazine.com/k12/
|
|
- Twitter: https://twitter.com/EdTech_K12
|
|
- Submissions: https://edtechmagazine.com/k12/contact-us (?)
|
|
|
|
* Software databases
|
|
|
|
+ MacUpdate
|
|
- Site: https://www.macupdate.com/
|
|
- Submissions: [currently managed by Bill K.]
|
|
|
|
+ Softonic
|
|
- Site: https://en.softonic.com/
|
|
- Entries:
|
|
+ https://tux-paint.en.softonic.com/windows
|
|
+ https://tux-paint.en.softonic.com/mac
|
|
+ https://tux-paint.en.softonic.com/android
|
|
- Submissions: https://hello.softonic.com/faqs/
|
|
(links to a Google Form under "Softonic Developer Hub shutdown")
|
|
|
|
* Linux repositories
|
|
|
|
+ Fedora -- process TBD
|
|
+ openSUSE -- process TBD
|
|
+ Debian -- process TBD
|
|
+ Ubuntu -- process TBD
|
|
+ Slackware -- process TBD
|
|
+ ...others?
|
|
|
|
* Paid promotions
|
|
|
|
+ Facebook boost
|
|
+ Newswire.com
|
|
|