Page 1 of 1

rpmbuild mate-utils error (1.20)

PostPosted: Feb 18th, '18, 19:06
by xlin
Code: Select all
rpmbuild -ba mate-utils
Provides: mate-utils-common = 1.20.0-1.mga6
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Obsoletes: mate-utils < 1.16.0
Processing files: mate-system-log-1.20.0-1.mga6.x86_64
Error: Empty %files file /root/rpmbuild/BUILD/mate-utils-1.20.0/mate-system-log.lang


Mageia6 x86_64

SPEC Mageia Cauldron
Spoiler:
Code: Select all
%define url_ver %(echo %{version}|cut -d. -f1,2)

%define major 6
%define libname %mklibname matedict %{major}
%define develname %mklibname -d matedict

%define _enable_debug_packages %{nil}
%define debug_package          %{nil}

Summary: MATE utility programs such as file search and calculator
Name: mate-utils
Version: 1.20.0
Release: %mkrel 1
Group: Graphical desktop/MATE
License: GPLv2+ and LGPLv2+
URL: http://mate-desktop.org
Source0: http://pub.mate-desktop.org/releases/%{url_ver}/%{name}-%{version}.tar.xz
Source1: mate-system-log.wrapper
Source2: org.mageia-mate-system-log.policy.in

BuildRequires: pkgconfig(glib-2.0) >= 2.36.0
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(libgtop-2.0) >= 2.12.0
BuildRequires: pkgconfig(libmatepanelapplet-4.0) >= 1.17.0
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(popt)
BuildRequires: pkgconfig(dri)
BuildRequires: yelp-tools
BuildRequires: intltool
BuildRequires: itstool
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libcanberra-gtk3)

Requires: mate-dictionary = %{version}-%{release}
Requires: mate-screenshot = %{version}-%{release}
Requires: mate-search-tool = %{version}-%{release}
Requires: mate-system-log = %{version}-%{release}
Requires: mate-disk-usage-analyzer = %{version}-%{release}
Requires: %{name}-common = %{version}-%{release}
Requires: polkit

%description
MATE Desktop utilities is a collection of small applications
all there to make your day just that little bit brighter
- System Log Viewer, Search Tool, Dictionary.

%package -n %{name}-common
Summary: Common files for %{name}
BuildArch: noarch
Obsoletes: %{name} < 1.16.0
Requires: mate-desktop-schemas

%description -n %{name}-common
MATE Desktop utilities is a collection of small applications
all there to make your day just that little bit brighter
- System Log Viewer, Search Tool, Dictionary.

This package provides common files for Mate Desktop utilities.

%package -n mate-system-log
Summary: A log file viewer for the MATE desktop
Requires: %{name}-common = %{version}-%{release}

%description -n mate-system-log
An application that lets you view various system log files.

%package -n mate-screenshot
Summary: A utility to take a screen-shot of the desktop
Requires: %{name}-common = %{version}-%{release}

%description -n mate-screenshot
An application that let you take a screen-shot of your desktop.

%package -n mate-dictionary
Summary: A dictionary for MATE Desktop
Requires: %{name}-common = %{version}-%{release}
Requires: %{libname} = %{version}-%{release}

%description -n mate-dictionary
A dictionary application for MATE Desktop.

%package -n mate-search-tool
Summary: A file searching tool for MATE Desktop
Requires: %{name}-common = %{version}-%{release}

%description -n mate-search-tool
An application to search for files on your computer.

%package -n mate-disk-usage-analyzer
Summary: A disk usage analyzing tool for MATE Desktop
Requires: %{name}-common = %{version}-%{release}

%description -n mate-disk-usage-analyzer
An application to help analyze disk usage.

%package -n %{libname}
Group: System/Libraries
Summary:MATE dictionary shared library
Obsoletes: %{_lib}matedict1.0_6 < 1.16.0

%description -n %{libname}
This is the shared library required by the MATE Dictionary.

%package -n %{develname}
Group: Development/C
Summary: MATE dictionary library development files
Requires: %{libname} = %{version}-%{release}
Provides: libmatedict-devel = %{version}-%{release}
Provides: %{name}-devel = %{version}-%{release}
Obsoletes: %{_lib}matedict1.0-devel < 1.16.0

%description -n %{develname}
Shared library required by the MATE Dictionary.

%prep
%autosetup

%build
%configure2_5x \
    --disable-static \
    --disable-schemas-compile \
    --enable-gdict-applet \
    --enable-ipv6=yes \
    --disable-schemas-compile \
    --with-x

%make_build

%install
%make_install

find %{buildroot} -name "*.la" -delete
cat <<EOF >%{buildroot}/mate-system-log.lang
mate-system-log.lang
EOF

# make mate-system-log use polkit:
mkdir -p %{buildroot}%{_libexecdir}
mv %{buildroot}%{_bindir}/mate-system-log %{buildroot}%{_libexecdir}
install -m 755 %{_sourcedir}/mate-system-log.wrapper %{buildroot}%{_bindir}/mate-system-log
install -m 644 -D %{_sourcedir}/org.mageia-mate-system-log.policy.in %{buildroot}%{_datadir}/polkit-1/actions/org.mageia.mate-system-log.policy

%find_lang %{name} --with-gnome
%find_lang mate-disk-usage-analyzer --with-gnome
%find_lang mate-dictionary --with-gnome
%find_lang mate-search-tool --with-gnome
%find_lang mate-system-log --with-gnome

%files

%files -n %{name}-common -f %{name}.lang
%license COPYING COPYING.libs
%doc NEWS README

#%files -n mate-system-log -f mate-system-log.lang
%files -n mate-system-log -f mate-system-log.lang
%{_bindir}/mate-system-log
%{_libexecdir}/mate-system-log
%{_datadir}/mate-utils/
%{_datadir}/polkit-1/actions/org.mageia.mate-system-log.policy
%{_datadir}/glib-2.0/schemas/org.mate.system-log.gschema.xml
%{_datadir}/applications/mate-system-log.desktop
%{_datadir}/icons/hicolor/*/apps/mate-system-log.png
%{_datadir}/icons/hicolor/scalable/apps/mate-system-log-symbolic.svg
%{_mandir}/man1/mate-system-log.1.*

%files -n mate-screenshot
%{_bindir}/mate-screenshot
%{_bindir}/mate-panel-screenshot
%{_datadir}/applications/mate-screenshot.desktop
%{_datadir}/mate-screenshot
%{_mandir}/man1/mate-screenshot.1.*
%{_mandir}/man1/mate-panel-screenshot.1.*
%{_datadir}/glib-2.0/schemas/org.mate.screenshot.gschema.xml
%{_datadir}/appdata/mate-screenshot.appdata.xml

%files -n mate-dictionary -f mate-dictionary.lang
%doc mate-dictionary/AUTHORS
%doc mate-dictionary/README
%{_bindir}/mate-dictionary
%{_datadir}/applications/mate-dictionary.desktop
%{_datadir}/mate-dict/
%{_datadir}/mate-dictionary/
%{_libexecdir}/mate-dictionary-applet
%{_mandir}/man1/mate-dictionary.1.*
%{_datadir}/glib-2.0/schemas/org.mate.dictionary.gschema.xml
%{_datadir}/mate-panel/applets/org.mate.DictionaryApplet.mate-panel-applet
%{_datadir}/dbus-1/services/org.mate.panel.applet.DictionaryAppletFactory.service
%{_datadir}/gtk-doc/html/mate-dict
%{_datadir}/appdata/mate-dictionary.appdata.xml

%files -n mate-search-tool -f mate-search-tool.lang
%{_bindir}/mate-search-tool
%{_datadir}/applications/mate-search-tool.desktop
%{_mandir}/man1/mate-search-tool.1.*
%{_datadir}/glib-2.0/schemas/org.mate.search-tool.gschema.xml
%{_datadir}/pixmaps/mate-search-tool/
%{_datadir}/appdata/mate-search-tool.appdata.xml

%files -n mate-disk-usage-analyzer -f mate-disk-usage-analyzer.lang
%doc baobab/AUTHORS
%doc baobab/README
%{_bindir}/mate-disk-usage-analyzer
%{_datadir}/applications/mate-disk-usage-analyzer.desktop
%{_datadir}/mate-disk-usage-analyzer
%{_mandir}/man1/mate-disk-usage-analyzer.1.*
%{_datadir}/glib-2.0/schemas/org.mate.disk-usage-analyzer.gschema.xml
%{_datadir}/icons/hicolor/*/apps/mate-disk-usage-analyzer.*
%{_datadir}/appdata/mate-disk-usage-analyzer.appdata.xml

%files -n %{libname}
%_libdir/libmatedict.so.%{major}*

%files -n %{develname}
%{_libdir}/libmatedict.so
%{_libdir}/pkgconfig/mate-dict*.pc
%{_includedir}/mate-dict

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 18th, '18, 20:08
by doktor5000
xlin wrote:Error: Empty %files file /root/rpmbuild/BUILD/mate-utils-1.20.0/mate-system-log.lang[/code]

Code: Select all
%make_install
[...]
cat <<EOF >%{buildroot}/mate-system-log.lang
mate-system-log.lang
EOF

%find_lang mate-system-log --with-gnome

[...]

#%files -n mate-system-log -f mate-system-log.lang
%files -n mate-system-log -f mate-system-log.lang



Well, what the error says. You specify a file which should contain the %files list for the subpackage mate-system-log but that list is empty.
Either no localisation files where built or they have not been picked up by %find_lang mate-system-log --with-gnome

Apart from that, if you want to comment out macros, you have to remove the % sign from the macro as well.
The spec is not parsed as a shell script, hence only putting a # before a macro will still result in its evaluation by the spec parser.

Code: Select all
#%files -n mate-system-log -f mate-system-log.lang
%files -n mate-system-log -f mate-system-log.lang

should be
Code: Select all
%files -n mate-system-log

with your current issue.

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 18th, '18, 20:09
by doktor5000
Apart from that, there is no need to create that empty file in the first place. See http://svnweb.mageia.org/packages/cauld ... arkup#l133

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 18th, '18, 21:12
by xlin
So I spec from there and took it. He swears on an empty file. Did not understand what to do in order to assemble the package?

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 19th, '18, 02:08
by katnatek
In the current version i don't find the .lang file in the list of files for mate-system-log
A (bad?) suggestion delete that file in the install section and remove from the file section

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 19th, '18, 17:46
by xlin
How?

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 19th, '18, 18:03
by doktor5000
Using any text editor ? Not sure what your actual problem is currently, did you read my post with the explanation?

katnatek wrote:In the current version i don't find the .lang file in the list of files for mate-system-log
A (bad?) suggestion delete that file in the install section and remove from the file section


The .lang files contains part of the %files section, it itself is not part of the list of files below %files, see my explanation before.
And your suggestion is not bad, this is exactly what I tried to explain previously.

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 19th, '18, 19:59
by katnatek
@doctor5000
Could be a issue with the macro %find_lang?
In my backport of brasero
i must add
Code: Select all
%{_datadir}/help/*/brasero/*.page
%{_datadir}/help/*/brasero/*/*.png


To get the package to build

In the files for mate-system-log i see
Code: Select all
/usr/share/help/*/mate-system-log/{legal.xml,index.docbook}
/usr/share/help/*/mate-system-log/figures/syslog_window.png


What i think is the kind of information that must be present in the .lang files

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 19th, '18, 20:16
by katnatek
In fedora's spec they add --all-name option

Code: Select all
%find_lang %{name} --with-gnome --all-name
%find_lang mate-disk-usage-analyzer --with-gnome --all-name
%find_lang mate-dictionary --with-gnome --all-name
%find_lang mate-search-tool --with-gnome --all-name
%find_lang mate-system-log --with-gnome --all-name

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 19th, '18, 23:24
by doktor5000
katnatek wrote:@doctor5000 Could be a issue with the macro %find_lang?

Sure could be, but how should I know what's in the buildroot of the OP for that package when the build errors out?

Re: rpmbuild mate-utils error (1.20)

PostPosted: Feb 20th, '18, 06:43
by katnatek
@xlin for mageia 6 they use
Code: Select all
%find_lang %{name} --with-gnome --with-help
%find_lang mate-disk-usage-analyzer --with-gnome --with-help
%find_lang mate-dictionary --with-gnome --with-help
%find_lang mate-search-tool --with-gnome --with-help
%find_lang mate-system-log --with-gnome --with-help


try with that