From df0bb06910f6fccadc065ba2a4c9f2a6811d6036 Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Nov 21 2017 04:56:03 +0000 Subject: [PATCH 1/8] Group tag is optional now See https://fedoraproject.org/wiki/Packaging:Guidelines#Group_tag --- diff --git a/spec-templates/spectemplate-fonts-multi.spec b/spec-templates/spectemplate-fonts-multi.spec index bf43333..861c344 100644 --- a/spec-templates/spectemplate-fonts-multi.spec +++ b/spec-templates/spectemplate-fonts-multi.spec @@ -12,7 +12,6 @@ Version: <④> Release: 1%{?dist} Summary: -Group: User Interface/X License: URL: Source0: diff --git a/spec-templates/spectemplate-fonts-partial-multi.spec b/spec-templates/spectemplate-fonts-partial-multi.spec index f21b103..5c71ec7 100644 --- a/spec-templates/spectemplate-fonts-partial-multi.spec +++ b/spec-templates/spectemplate-fonts-partial-multi.spec @@ -16,7 +16,6 @@ BuildRequires: fontpackages-devel %package fonts-common Summary: Common files of -Group: User Interface/X BuildArch: noarch Requires: fontpackages-filesystem @@ -29,7 +28,6 @@ This package consists of files used by other %{name} font packages. # Repeat for every font family ③ %package -fonts Summary: -Group: User Interface/X BuildArch: noarch Requires: %{name}-fonts-common = %{version}-%{release} diff --git a/spec-templates/spectemplate-fonts-partial-simple.spec b/spec-templates/spectemplate-fonts-partial-simple.spec index 6081199..79fe5b4 100644 --- a/spec-templates/spectemplate-fonts-partial-simple.spec +++ b/spec-templates/spectemplate-fonts-partial-simple.spec @@ -11,7 +11,6 @@ BuildRequires: fontpackages-devel %package -fonts Summary: -Group: User Interface/X BuildArch: noarch Requires: fontpackages-filesystem diff --git a/spec-templates/spectemplate-fonts-simple.spec b/spec-templates/spectemplate-fonts-simple.spec index b74a100..1e22232 100644 --- a/spec-templates/spectemplate-fonts-simple.spec +++ b/spec-templates/spectemplate-fonts-simple.spec @@ -8,7 +8,6 @@ Version: <③> Release: 1%{?dist} Summary: -Group: User Interface/X License: URL: Source0: From d3c6bbc8b5effb54f0ae059276a4503acd4875ee Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Nov 21 2017 04:56:47 +0000 Subject: [PATCH 2/8] buildroot will automatically be cleaned before commands in %install called. https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag --- diff --git a/spec-templates/spectemplate-fonts-multi.spec b/spec-templates/spectemplate-fonts-multi.spec index 861c344..d28213b 100644 --- a/spec-templates/spectemplate-fonts-multi.spec +++ b/spec-templates/spectemplate-fonts-multi.spec @@ -54,8 +54,6 @@ Requires: %{name}-common = %{version}-%{release} %install -rm -fr %{buildroot} - install -m 0755 -d %{buildroot}%{_fontdir} install -m 0644 -p *.ttf %{buildroot}%{_fontdir} diff --git a/spec-templates/spectemplate-fonts-partial-multi.spec b/spec-templates/spectemplate-fonts-partial-multi.spec index 5c71ec7..060b319 100644 --- a/spec-templates/spectemplate-fonts-partial-multi.spec +++ b/spec-templates/spectemplate-fonts-partial-multi.spec @@ -43,7 +43,6 @@ Requires: %{name}-fonts-common = %{version}-%{release} # … %install -rm -fr %{buildroot} # … diff --git a/spec-templates/spectemplate-fonts-partial-simple.spec b/spec-templates/spectemplate-fonts-partial-simple.spec index 79fe5b4..55e07a4 100644 --- a/spec-templates/spectemplate-fonts-partial-simple.spec +++ b/spec-templates/spectemplate-fonts-partial-simple.spec @@ -25,7 +25,6 @@ Requires: fontpackages-filesystem # … %install -rm -fr %{buildroot} # … diff --git a/spec-templates/spectemplate-fonts-simple.spec b/spec-templates/spectemplate-fonts-simple.spec index 1e22232..3b81c97 100644 --- a/spec-templates/spectemplate-fonts-simple.spec +++ b/spec-templates/spectemplate-fonts-simple.spec @@ -28,8 +28,6 @@ Requires: fontpackages-filesystem %install -rm -fr %{buildroot} - install -m 0755 -d %{buildroot}%{_fontdir} install -m 0644 -p *.ttf %{buildroot}%{_fontdir} From b423f0a6ca161a0972ec3e58e2d35fd6d85c5031 Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Nov 21 2017 04:57:14 +0000 Subject: [PATCH 3/8] The %clean section is not required now. See https://fedoraproject.org/wiki/Packaging:Guidelines#.25clean --- diff --git a/spec-templates/spectemplate-fonts-multi.spec b/spec-templates/spectemplate-fonts-multi.spec index d28213b..9bd8bd7 100644 --- a/spec-templates/spectemplate-fonts-multi.spec +++ b/spec-templates/spectemplate-fonts-multi.spec @@ -72,10 +72,6 @@ for fconf in %{fontconf}-.conf \ done -%clean -rm -fr %{buildroot} - - %files common %defattr(0644,root,root,0755) %doc diff --git a/spec-templates/spectemplate-fonts-simple.spec b/spec-templates/spectemplate-fonts-simple.spec index 3b81c97..0e77cf1 100644 --- a/spec-templates/spectemplate-fonts-simple.spec +++ b/spec-templates/spectemplate-fonts-simple.spec @@ -40,10 +40,6 @@ ln -s %{_fontconfig_templatedir}/%{fontconf} \ %{buildroot}%{_fontconfig_confdir}/%{fontconf} -%clean -rm -fr %{buildroot} - - %_font_pkg -f %{fontconf} *.ttf %doc From da208f180bc4bcae7227be142e4e15434b42ddf0 Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Nov 21 2017 04:57:38 +0000 Subject: [PATCH 4/8] In the past (pre rpm 4.4), it was necessary to have a %defattr section at the beginning of each %files section, but this is now the default and no longer necessary to explicitly include --- diff --git a/spec-templates/spectemplate-fonts-multi.spec b/spec-templates/spectemplate-fonts-multi.spec index 9bd8bd7..7b04dd7 100644 --- a/spec-templates/spectemplate-fonts-multi.spec +++ b/spec-templates/spectemplate-fonts-multi.spec @@ -73,7 +73,6 @@ done %files common -%defattr(0644,root,root,0755) %doc diff --git a/spec-templates/spectemplate-fonts-partial-multi.spec b/spec-templates/spectemplate-fonts-partial-multi.spec index 060b319..ecb6f86 100644 --- a/spec-templates/spectemplate-fonts-partial-multi.spec +++ b/spec-templates/spectemplate-fonts-partial-multi.spec @@ -66,7 +66,6 @@ done # … %files common -%defattr(0644,root,root,0755) %doc # … From a75dbb6a59060e5fcdbe632ed70a8210e0cc624a Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Nov 21 2017 04:58:05 +0000 Subject: [PATCH 5/8] defattr is no longer necessary to explicitly included in spec files --- diff --git a/rpm/macros.fonts b/rpm/macros.fonts index 7ae71dc..dc316bc 100644 --- a/rpm/macros.fonts +++ b/rpm/macros.fonts @@ -87,8 +87,6 @@ fi\ \ \ %files -n %{spn} \ -%defattr(0644,root,root,0755) \ -\ %dir %{_fontdir} \ %{lua: \ for arg=1,rpm.expand("%#") do \ From 288041ef0b7ce6e67a4fec25eff5ca42ad4529cd Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Nov 21 2017 05:54:56 +0000 Subject: [PATCH 6/8] Use %license tag for adding the license file --- diff --git a/spec-templates/spectemplate-fonts-multi.spec b/spec-templates/spectemplate-fonts-multi.spec index 7b04dd7..c3958c4 100644 --- a/spec-templates/spectemplate-fonts-multi.spec +++ b/spec-templates/spectemplate-fonts-multi.spec @@ -73,7 +73,8 @@ done %files common -%doc +%license add-license-file-here +%doc add-docs-here %changelog diff --git a/spec-templates/spectemplate-fonts-partial-multi.spec b/spec-templates/spectemplate-fonts-partial-multi.spec index ecb6f86..1a033b0 100644 --- a/spec-templates/spectemplate-fonts-partial-multi.spec +++ b/spec-templates/spectemplate-fonts-partial-multi.spec @@ -39,6 +39,7 @@ Requires: %{name}-fonts-common = %{version}-%{release} %_font_pkg -n -f %{fontconf}-.conf *.ttf %doc +%license add-license-file-here # … @@ -67,6 +68,7 @@ done %files common %doc +%license add-license-file-here # … diff --git a/spec-templates/spectemplate-fonts-partial-simple.spec b/spec-templates/spectemplate-fonts-partial-simple.spec index 55e07a4..b97f90c 100644 --- a/spec-templates/spectemplate-fonts-partial-simple.spec +++ b/spec-templates/spectemplate-fonts-partial-simple.spec @@ -21,6 +21,7 @@ Requires: fontpackages-filesystem %_font_pkg -n -f %{fontconf} *.ttf %doc +%license add-license-file-here # … diff --git a/spec-templates/spectemplate-fonts-simple.spec b/spec-templates/spectemplate-fonts-simple.spec index 0e77cf1..44f77a6 100644 --- a/spec-templates/spectemplate-fonts-simple.spec +++ b/spec-templates/spectemplate-fonts-simple.spec @@ -42,7 +42,8 @@ ln -s %{_fontconfig_templatedir}/%{fontconf} \ %_font_pkg -f %{fontconf} *.ttf -%doc +%license add-license-file-here +%doc add-docs-here %changelog From 3d6a0d8f0c3250f315d0578bb5cf0caa8b83a819 Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Nov 21 2017 06:03:52 +0000 Subject: [PATCH 7/8] Change %setup to %autosetup as per https://fedoraproject.org/wiki/Packaging:Guidelines#.25autosetup --- diff --git a/spec-templates/spectemplate-fonts-multi.spec b/spec-templates/spectemplate-fonts-multi.spec index c3958c4..2a3b935 100644 --- a/spec-templates/spectemplate-fonts-multi.spec +++ b/spec-templates/spectemplate-fonts-multi.spec @@ -47,7 +47,7 @@ Requires: %{name}-common = %{version}-%{release} %prep -%setup -q +%autosetup %build diff --git a/spec-templates/spectemplate-fonts-simple.spec b/spec-templates/spectemplate-fonts-simple.spec index 44f77a6..75568ad 100644 --- a/spec-templates/spectemplate-fonts-simple.spec +++ b/spec-templates/spectemplate-fonts-simple.spec @@ -21,7 +21,7 @@ Requires: fontpackages-filesystem %prep -%setup -q +%autosetup %build From 2df871d9ce6907c91504b78f7636fb652e21acbd Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Nov 22 2017 04:37:19 +0000 Subject: [PATCH 8/8] Update specfile template for adding AppStream metainfo files as per https://fedoraproject.org/wiki/Packaging:AppData --- diff --git a/spec-templates/spectemplate-fonts-multi.spec b/spec-templates/spectemplate-fonts-multi.spec index 2a3b935..57544f6 100644 --- a/spec-templates/spectemplate-fonts-multi.spec +++ b/spec-templates/spectemplate-fonts-multi.spec @@ -15,10 +15,12 @@ Summary: License: URL: Source0: -Source1: %{name}-fontconfig.conf +Source1: %{name}--fontconfig.conf +Source2: %{fontname}-.metainfo.xml BuildArch: noarch BuildRequires: fontpackages-devel +BuildRequires: libappstream-glib %description %common_desc @@ -34,17 +36,17 @@ Requires: fontpackages-filesystem This package consists of files used by other %{name} packages. # Repeat for every font family ➅ -%package -n %{fontname}--fonts +%package -n %{fontname}--fonts Summary: Requires: %{name}-common = %{version}-%{release} -%description -n %{fontname}--fonts +%description -n %{fontname}--fonts %common_desc - - -%_font_pkg -n -f %{fontconf}-.conf *.ttf + +%_font_pkg -n -f %{fontconf}-.conf *.ttf +%{_datadir}/metainfo/%{fontname}-.metainfo.xml %prep %autosetup @@ -71,6 +73,14 @@ for fconf in %{fontconf}-.conf \ %{buildroot}%{_fontconfig_confdir}/$fconf done +# Add AppStream metadata file, Repeat for every font family +install -Dm 0644 -p %{SOURCEX} \ + %{buildroot}%{_datadir}/metainfo/%{fontname}-.metainfo.xml + +%check +# Repeat for every font family +appstream-util validate-relax --nonet \ + %{buildroot}%{_datadir}/metainfo/%{fontname}-.metainfo.xml %files common %license add-license-file-here diff --git a/spec-templates/spectemplate-fonts-partial-multi.spec b/spec-templates/spectemplate-fonts-partial-multi.spec index 1a033b0..a8bf817 100644 --- a/spec-templates/spectemplate-fonts-partial-multi.spec +++ b/spec-templates/spectemplate-fonts-partial-multi.spec @@ -5,10 +5,12 @@ %global common_font_desc \ -Source1: %{name}--fontconfig.conf +Source1: %{name}--fontconfig.conf +Source2: %{fontname}-.metainfo.xml # … BuildRequires: fontpackages-devel +BuildRequires: libappstream-glib %description %common_font_desc @@ -26,20 +28,21 @@ This package consists of files used by other %{name} font packages. # Repeat for every font family ③ -%package -fonts +%package -fonts Summary: BuildArch: noarch Requires: %{name}-fonts-common = %{version}-%{release} -%description -n %{fontname}--fonts +%description -n %{fontname}--fonts %common_font_desc - + -%_font_pkg -n -f %{fontconf}-.conf *.ttf +%_font_pkg -n -f %{fontconf}-.conf *.ttf %doc %license add-license-file-here +%{_datadir}/metainfo/%{fontname}-.metainfo.xml # … @@ -64,6 +67,17 @@ for fconf in %{fontconf}-.conf \ %{buildroot}%{_fontconfig_confdir}/$fconf done +# Add AppStream metadata file, Repeat for every font family +install -Dm 0644 -p %{SOURCEX} \ + %{buildroot}%{_datadir}/metainfo/%{fontname}-.metainfo.xml + +# … + +%check +# Repeat for every font family +appstream-util validate-relax --nonet \ + %{buildroot}%{_datadir}/metainfo/%{fontname}-.metainfo.xml + # … %files common diff --git a/spec-templates/spectemplate-fonts-partial-simple.spec b/spec-templates/spectemplate-fonts-partial-simple.spec index b97f90c..f3ff1d6 100644 --- a/spec-templates/spectemplate-fonts-partial-simple.spec +++ b/spec-templates/spectemplate-fonts-partial-simple.spec @@ -3,9 +3,11 @@ # … Source1: %{name}--fontconfig.conf +Source2: %{fontname}.metainfo.xml # … BuildRequires: fontpackages-devel +BuildRequires: libappstream-glib # … @@ -22,6 +24,7 @@ Requires: fontpackages-filesystem %doc %license add-license-file-here +%{_datadir}/metainfo/%{fontname}.metainfo.xml # … @@ -40,6 +43,14 @@ install -m 0644 -p %{SOURCE1} \ ln -s %{_fontconfig_templatedir}/%{fontconf} \ %{buildroot}%{_fontconfig_confdir}/%{fontconf} +# Add AppStream metadata file +install -Dm 0644 -p %{SOURCE2} \ + %{buildroot}%{_datadir}/metainfo/%{fontname}.metainfo.xml + +%check +appstream-util validate-relax --nonet \ + %{buildroot}%{_datadir}/metainfo/%{fontname}.metainfo.xml + # … diff --git a/spec-templates/spectemplate-fonts-simple.spec b/spec-templates/spectemplate-fonts-simple.spec index 75568ad..2e33029 100644 --- a/spec-templates/spectemplate-fonts-simple.spec +++ b/spec-templates/spectemplate-fonts-simple.spec @@ -12,9 +12,12 @@ License: URL: Source0: Source1: %{name}-fontconfig.conf +Source2: %{fontname}.metainfo.xml BuildArch: noarch BuildRequires: fontpackages-devel +BuildRequires: libappstream-glib + Requires: fontpackages-filesystem %description @@ -39,12 +42,19 @@ install -m 0644 -p %{SOURCE1} \ ln -s %{_fontconfig_templatedir}/%{fontconf} \ %{buildroot}%{_fontconfig_confdir}/%{fontconf} +# Add AppStream metadata file +install -Dm 0644 -p %{SOURCE2} \ + %{buildroot}%{_datadir}/appdata/%{fontname}.metainfo.xml + +%check +appstream-util validate-relax --nonet \ + %{buildroot}%{_datadir}/metainfo/%{fontname}.metainfo.xml %_font_pkg -f %{fontconf} *.ttf %license add-license-file-here %doc add-docs-here - +%{_datadir}/metainfo/%{fontname}.metainfo.xml %changelog