# Template file: the Version field and the %changelog below are generated by # `make gen-spec` from the git tag and git log. Do not build this file directly. %global goipath github.com/al-maisan/gmt-mail %global commit %(git rev-parse --short HEAD 2>/dev/null || echo unknown) Name: gmt-mail Version: 0.11.1 Release: 1%{?dist} Summary: Send personalized emails in bulk using templates License: GPL-3.0-or-later URL: https://%{goipath} Source0: https://%{goipath}/archive/v%{version}/gmt-mail-%{version}.tar.gz BuildRequires: golang >= 1.26 BuildRequires: git-core %description gmt-mail (Go Mailing Tool) sends personalized emails in bulk. It reads a list of recipients and mail metadata from a TOML configuration file, substitutes per-recipient variables into an email template, and sends the resulting messages via SMTP with mandatory TLS encryption. Features include per-recipient CC and attachment overrides, template variables for first name, last name, email address, and arbitrary custom fields, a dry-run mode for previewing emails before sending, and support for file attachments. %prep %autosetup -n gmt-mail-%{version} %build go build -mod=vendor -ldflags "-X main.appVersion=%{version} -X main.gitCommit=%{commit} -X main.buildDate=$(date -u +%%Y-%%m-%%d)" -o gmt-mail . %check go test -mod=vendor ./... %install install -Dpm 0755 gmt-mail %{buildroot}%{_bindir}/gmt-mail # [@] keeps gen-spec from substituting the man page placeholders here install -d %{buildroot}%{_mandir}/man1 sed -e 's/@VERSION[@]/%{version}/g' -e "s/@DATE[@]/$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%d)/g" \ gmt-mail.1 > %{buildroot}%{_mandir}/man1/gmt-mail.1 bash scripts/install-docs.sh %{buildroot}%{_docdir}/%{name} %files %license LICENSE %{_bindir}/gmt-mail %{_mandir}/man1/gmt-mail.1* %{_docdir}/%{name}/ %changelog * Mon Nov 02 2026 Muharem Hrnjadovic - 0.11.1-1 - docs/install.md: download example at v0.11.1 (#88) - COPR: build for aarch64; PPA: query past Launchpad's cache, reproducible orig (#87) * Mon Nov 02 2026 Muharem Hrnjadovic - 0.11.0-1 - docs/install.md: download example at v0.11.0 (#86) - README: slim it down; docs move to docs/ and ship in every package (#85) - Docs: verify a download; CONTRIBUTING.md with releasing; SECURITY.md (#83) - make doc-version: README download example at the release version, checked on release (#82) - Container image on ghcr.io, built from the signed release archives (#81) - Release .deb packages for amd64, arm64 and armhf; layout shared with the PPA (#80) - Release archive for linux/armv6 (32-bit Raspberry Pi) (#79) - Release guards: signed tag on GitHub and master, lint+test, pinned Go, checked signature (#78) - CI: lint, tests, packaging-script tests and build on every PR (#84) * Sat Oct 31 2026 Muharem Hrnjadovic - 0.10.0-1 - Homebrew tap: install docs and a release step that bumps the formula (#66) (#77) - README: lead with the problem, an example, a demo GIF and why gmt-mail (#64) (#76) - Add logo (#73) - Attach prebuilt binaries to GitHub releases (#65) (#72) - go install: version from build info; document go install (#67) (#71) - Rename to gmt-mail everywhere (module path, packaging, docs) (#70) * Sat Oct 31 2026 Muharem Hrnjadovic - 0.9.0-1 - Bump Go to 1.26 and golang.org/x/crypto to v0.58.0 (#61) (#62) - Fix correctness & security review findings (#50–#61) (#49) - copr: build for all supported Fedoras; man page carries the package version (#36) - ppa: don't re-publish an already-uploaded version (#35) - Run gh without ambient GITHUB_TOKEN in release/packaging targets (#34) * Mon Jul 06 2026 Muharem Hrnjadovic - 0.8.0-1 - Make gmt-mail.spec a template; stop version/changelog drift (#33) - Fix send-path robustness & CLI/config correctness bugs (#32) - ppa: derive version from git tag, not Makefile scrape (#24) - Derive VERSION from the git tag; drop the manual bump (#23) - Fix substitution/validation correctness bugs (#22) - Reject negative -retries and harden sendWithRetry against silent no-op (#18) - ppa: reuse published orig tarball on rebuilds - ppa: target Ubuntu 26.04 LTS (resolute) instead of 25.10 * Mon Jun 08 2026 Muharem Hrnjadovic - 0.6.2-1 - new release 0.6.2 - deps: update modules and Go toolchain to clear vulnerabilities (#16) - Decouple `build` from `lint` so `make build` needs only Go (#15) - updated documentation - compare against released tags only for changelogs - clarify make tag/release output messages * Tue Mar 24 2026 Muharem Hrnjadovic - 0.6.1-1 - sync spec version from Makefile, add vendor dep to ppa target - new release - make unresolved placeholders a hard error - use go-playground/validator for config validation, clean up overrides - code refactor - ranging over SplitSeq is more efficient - introduce BatchSender to reduce function arg counts - refactor SendAll into smaller functions, clean up output calls - make release is idempotent - impove srpm build process