# 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.10.0 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 install -Dpm 0644 .env.example %{buildroot}%{_docdir}/%{name}/.env.example install -Dpm 0644 README.md %{buildroot}%{_docdir}/%{name}/README.md install -Dpm 0644 -t %{buildroot}%{_docdir}/%{name}/assets assets/logo.svg assets/logo-dark.svg %files %license LICENSE %{_bindir}/gmt-mail %{_mandir}/man1/gmt-mail.1* %{_docdir}/%{name}/ %changelog * 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