Closed raveit65 closed 5 years ago
Sadly not if building fedora rpm :/
+ find /builddir/build/BUILDROOT/mate-settings-daemon-1.21.2-2.fc30.x86_64 -name '*.la' -exec rm -rf '{}' ';'
+ desktop-file-validate /builddir/build/BUILDROOT/mate-settings-daemon-1.21.2-2.fc30.x86_64/etc/xdg/autostart/mate-settings-daemon.desktop
/builddir/build/BUILDROOT/mate-settings-daemon-1.21.2-2.fc30.x86_64/etc/xdg/autostart/mate-settings-daemon.desktop: file does not exist
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.ULhMD8 (%install)
I need to investigate why the desktop file isn't build.
Hmm, It isn't a .desktop file anymore.
[rave@mother ~]$ ls /home/rave/fedora-rawhide-x86_64-mate-1.22/root/builddir/build/BUILDROOT/mate-settings-daemon-1.21.2-2.fc30.x86_64/etc/xdg/autostart
mate-settings-daemon.desktop.in
-desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+desktop_DATA = mate-settings-daemon.desktop
.....seems better and the .desktop file is under /etc/xdg/autostart in my rpm.
PR is updated.
Please do not merge! Here the m-s-d-daemon doesn't start in my f30 installation, I need to find out what's the problem caused.
Damned!
Exec=/usr/local/libexec/mate-settings-daemon
is very bad.
[root@mother rave]# cat /etc/xdg/autostart/mate-settings-daemon.desktop
[Desktop Entry]
Type=Application
Name=MATE Settings Daemon
.....
.....
Exec=/usr/local/libexec/mate-settings-daemon
OnlyShowIn=MATE;
X-MATE-Autostart-Phase=Initialization
X-MATE-Autostart-Notify=true
X-MATE-AutoRestart=true
Before compiling we have this content in mate-settings-daemon.desktop.in
[Desktop Entry]
Type=Application
_Name=MATE Settings Daemon
Exec=@LIBEXECDIR@/mate-settings-daemon
OnlyShowIn=MATE;
X-MATE-Autostart-Phase=Initialization
X-MATE-Autostart-Notify=true
X-MATE-AutoRestart=true
After ./autogen.sh --prefix=/usr && make
mate-settings-daemon.desktop looks like this.
[Desktop Entry]
Type=Application
Name=MATE Settings Daemon
...
...
Exec=@LIBEXECDIR@/mate-settings-daemon
OnlyShowIn=MATE;
X-MATE-Autostart-Phase=Initialization
X-MATE-Autostart-Notify=true
X-MATE-AutoRestart=true
And sudo make install
installs it with that content.
[root@mother rave]# cat /etc/xdg/autostart/mate-settings-daemon.desktop
[Desktop Entry]
Type=Application
Name=MATE Settings Daemon
...
...
Exec=@LIBEXECDIR@/mate-settings-daemon
OnlyShowIn=MATE;
X-MATE-Autostart-Phase=Initialization
X-MATE-Autostart-Notify=true
X-MATE-AutoRestart=true
So fixing debians distcheck problems in this way is really wrong.
I have no idea why the marco @LIBEXECDIR@
won't be change to real dir.
Ok, i moved commit for archlinux build to a single PR, because it isn't related to the debian problems here and can be merge.
In the original version, the line that exists in configure.ac would do this. Now, you can try to replace it with sed in Makefile.am.
Just rebased against master.
Now, you can try to replace it with sed in Makefile.am.
But libexec dir can be different in distros, or not? That's why a var is used.
Whether or not to use libexecdir depends on the distro. If the distro wants to use a directory other than $prefix/libexec/, we need to make --libexecdir available, so I will try to fix that.
My research shows that this is a bug in intltools that exists on the debian distro.
This is the result of running the following command in the make distcheck
build directory on debian.
root@0edaa746cf61:/rootdir/mate-settings-daemon-1.21.2/_build/sub/po# srcdir=../../../po /usr/bin/intltool-update -m
The following files contain translations and are currently not in use. Please
consider adding these to the POTFILES.in file, located in the po/ directory.
sub/data/mate-settings-daemon.desktop.in
If some of these files are left out on purpose then please add them to
POTFILES.skip instead of POTFILES.in. A file 'missing' containing this list
of left out files has been written in the current directory.
Please report to http://www.mate-desktop.org/
This is run on debian too, the difference is that using intltool-update-new
to run the result, everythins is ok, the intltool-update-new file comes from archlinux.
root@0edaa746cf61:/rootdir/mate-settings-daemon-1.21.2/_build/sub/po# srcdir=../../../po /rootdir/intltool-update-new -m
The following are the differences between them.
root@0edaa746cf61:/rootdir/mate-settings-daemon-1.21.2/_build/sub/po# diff -u /usr/bin/intltool-update /rootdir/intltool-update-new
--- /usr/bin/intltool-update 2017-12-22 03:23:13.000000000 +0000
+++ /rootdir/intltool-update-new 2019-02-11 16:27:10.199356541 +0000
@@ -620,6 +620,14 @@
my @result;
+ # If the builddir is a subdir of srcdir, the list of files found will be prefixed with
+ # an additional prefix (e.g. "_build/sub" for automake 1.15 make distcheck). Try to
+ # handle that, by removing those matches as well.
+ my $absbuilddir = Cwd::abs_path("..\/");
+ my $abssrcdir = Cwd::abs_path("$SRCDIR/..");
+ # Check if builddir is a subdir of srcdir
+ my ($abspath,$relpath) = split /\s*$abssrcdir\/\s*/, $absbuilddir, 2;
+
foreach (@buf_allfiles_sorted)
{
my $dummy = $_;
@@ -628,7 +636,10 @@
$srcdir =~ s#^../##;
$dummy =~ s#^$srcdir/../##;
$dummy =~ s#^$srcdir/##;
- $dummy =~ s#_build/##;
+ if ($relpath)
+ {
+ $dummy =~ s#^$relpath/##;
+ }
if (!exists($in2{$dummy}))
{
push @result, $dummy
There is a patch found here:
https://git.archlinux.org/svntogit/packages.git/tree/trunk/intltool_distcheck-fix.patch?h=packages/intltool
Ubuntu also has a path named no-guess-builddir.patch
in this tarballs:
http://archive.ubuntu.com/ubuntu/pool/universe/i/intltool/intltool_0.51.0-5ubuntu1.debian.tar.xz
Bug report on ubuntu is here: https://bugs.launchpad.net/intltool/+bug/1117944
So, we don't need to make any changes, we need debian to patch intltool.
Can someone in the @mate-desktop/debian-maintainers team do it?
@raveit65
Before debian fixes intltools, we have two choices:
I think using #262 is better.
I prefer solution 2. Or is it possible to disable distcheck for debian builds at travis for the moment? @ monta See https://github.com/mate-desktop/mate-settings-daemon/pull/259#issuecomment-462403038 Can you please file out a report add debian. Btw. debian should be patched.
It's been two years since I've sent the patch to Debian maintainers. https://bugs.debian.org/851868
See it for yourself. They don't want it because upstream is dead or something.
@raveit65
Or is it possible to disable distcheck for debian builds at travis for the moment?
Use the follow line in .travis.yml can do this.
after_scripts:
- if [ ${DISTRO_NAME} != "debian" ];then
- make distcheck
- fi