diff --git a/.gitignore b/.gitignore index e69de29..1910da7 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/go-rpm-macros-3.0.8.tar.gz +/go-rpm-macros-3.0.9.tar.gz diff --git a/README.md b/README.md new file mode 100644 index 0000000..b17ecfb --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# go-rpm-macros + +The go-rpm-macros package \ No newline at end of file diff --git a/go-rpm-macros.spec b/go-rpm-macros.spec new file mode 100644 index 0000000..970e920 --- /dev/null +++ b/go-rpm-macros.spec @@ -0,0 +1,179 @@ +%global forgeurl https://pagure.io/go-rpm-macros +Version: 3.0.9 +%forgemeta + +#https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/51 +%global _spectemplatedir %{_datadir}/rpmdevtools/fedora +%global _docdir_fmt %{name} + +# Master definition that will be written to macro files +%global golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x +%global gccgo_arches %{mips} +# Go sources can contain arch-specific files and our macros will package the +# correct files for each architecture. Therefore, move gopath to _libdir and +# make Go devel packages archful +%global gopath %{_datadir}/gocode + +ExclusiveArch: %{golang_arches} %{gccgo_arches} + +Name: go-rpm-macros +Release: 1%{?dist} +Summary: Build-stage rpm automation for Go packages + +License: GPLv3+ +URL: %{forgeurl} +Source: %{forgesource} + +Requires: go-srpm-macros = %{version}-%{release} +Requires: go-filesystem = %{version}-%{release} +Requires: golist + +%ifarch %{golang_arches} +Requires: golang +Provides: compiler(golang) +Provides: compiler(go-compiler) = 2 +Obsoletes: go-compilers-golang-compiler < %{version}-%{release} +%endif + +%ifarch %{gccgo_arches} +Requires: gcc-go +Provides: compiler(gcc-go) +Provides: compiler(go-compiler) = 1 +Obsoletes: go-compilers-gcc-go-compiler < %{version}-%{release} +%endif + +%description +This package provides build-stage rpm automation to simplify the creation of Go +language (golang) packages. + +It does not need to be included in the default build root: go-srpm-macros will +pull it in for Go packages only. + +%package -n go-srpm-macros +Summary: Source-stage rpm automation for Go packages +BuildArch: noarch +Requires: redhat-rpm-config + +%description -n go-srpm-macros +This package provides SRPM-stage rpm automation to simplify the creation of Go +language (golang) packages. + +It limits itself to the automation subset required to create Go SRPM packages +and needs to be included in the default build root. + +The rest of the automation is provided by the go-rpm-macros package, that +go-srpm-macros will pull in for Go packages only. + +%package -n go-filesystem +Summary: Directories used by Go packages +License: Public Domain + +%description -n go-filesystem +This package contains the basic directory layout used by Go packages. + +%package -n go-rpm-templates +Summary: RPM spec templates for Go packages +License: MIT +BuildArch: noarch +Requires: go-rpm-macros = %{version}-%{release} +#https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/51 +#Requires: redhat-rpm-templates + +%description -n go-rpm-templates +This package contains documented rpm spec templates showcasing how to use the +macros provided by go-rpm-macros to create Go packages. + +%prep +%forgesetup +%writevars -f rpm/macros.d/macros.go-srpm golang_arches gccgo_arches gopath +for template in templates/rpm/*\.spec ; do + target=$(echo "${template}" | sed "s|^\(.*\)\.spec$|\1-bare.spec|g") + grep -v '^#' "${template}" > "${target}" + touch -r "${template}" "${target}" +done + +%install +# Some of those probably do not work with gcc-go right now +# This is not intentional, but mips is not a primary Fedora architecture +# Patches and PRs are welcome + +install -m 0755 -vd %{buildroot}%{gopath}/src + +install -m 0755 -vd %{buildroot}%{_spectemplatedir} + +install -m 0644 -vp templates/rpm/*spec \ + %{buildroot}%{_spectemplatedir} + +install -m 0755 -vd %{buildroot}%{_bindir} +install -m 0755 bin/* %{buildroot}%{_bindir} + +install -m 0755 -vd %{buildroot}%{rpmmacrodir} +install -m 0644 -vp rpm/macros.d/macros.go-* \ + %{buildroot}%{rpmmacrodir} +install -m 0755 -vd %{buildroot}%{_rpmluadir}/fedora/srpm +install -m 0644 -vp rpm/lua/srpm/*lua \ + %{buildroot}%{_rpmluadir}/fedora/srpm +install -m 0755 -vd %{buildroot}%{_rpmluadir}/fedora/rpm +install -m 0644 -vp rpm/lua/rpm/*lua \ + %{buildroot}%{_rpmluadir}/fedora/rpm +install -m 0755 -vd %{buildroot}%{_rpmconfigdir}/fileattrs +install -m 0644 -vp rpm/fileattrs/*.attr \ + %{buildroot}%{_rpmconfigdir}/fileattrs/ +install -m 0755 -vp rpm/*\.{prov,deps} \ + %{buildroot}%{_rpmconfigdir}/ + +%ifarch %{golang_arches} +install -m 0644 -vp rpm/macros.d/macros.go-compilers-golang \ + %{buildroot}%{_rpmconfigdir}/macros.d/macros.go-compiler-golang +%endif + +%ifarch %{gccgo_arches} +install -m 0644 -vp rpm/macros.d/macros.go-compilers-gcc \ + %{buildroot}%{_rpmconfigdir}/macros.d/macros.go-compiler-gcc +%endif + +%files +%license LICENSE.txt +%doc README.md +%{_bindir}/* +%{_rpmconfigdir}/fileattrs/*.attr +%{_rpmconfigdir}/*.prov +%{_rpmconfigdir}/*.deps +%{_rpmconfigdir}/macros.d/macros.go-rpm* +%{_rpmconfigdir}/macros.d/macros.go-compiler* +%{_rpmluadir}/fedora/rpm/*.lua + +%files -n go-srpm-macros +%license LICENSE.txt +%doc README.md +%{_rpmconfigdir}/macros.d/macros.go-srpm +%{_rpmluadir}/fedora/srpm/*.lua + +%files -n go-filesystem +%dir %{gopath} +%dir %{gopath}/src + +%files -n go-rpm-templates +%license LICENSE-templates.txt +%doc README.md +# https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/51 +%dir %{dirname:%{_spectemplatedir}} +%dir %{_spectemplatedir} +%{_spectemplatedir}/*.spec + +%changelog +* Thu Aug 13 2020 Neal Gompa - 3.0.9-1 +- Update to 3.0.9 + +* Mon Jul 27 2020 Fedora Release Engineering - 3.0.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 3.0.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 3.0.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jun 05 2019 Nicolas Mailhot +- 3.0.8-3 +- initial Fedora import, for golist 0.10.0 and redhat-rpm-config 130 diff --git a/sources b/sources new file mode 100644 index 0000000..d9771d8 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (go-rpm-macros-3.0.9.tar.gz) = 6cb9fe5b69038e0917b11e9f2ae025c2d91860a37e76f57ea8f3786b3fb51e4ef8764eb12a8dc8a123b31ddb1100bd3dd67ed75457b2f44b15b8b65f0831912a