mate-desktop / mate-common Goto Github PK
View Code? Open in Web Editor NEWCommon scripts and macros to develop with MATE
Home Page: https://mate-desktop.org
License: GNU General Public License v3.0
Common scripts and macros to develop with MATE
Home Page: https://mate-desktop.org
License: GNU General Public License v3.0
This directory contains sample files that should be in pretty much every MATE application. ----------------------------------------------------------------------------- To make this work both for MATE Applications inside and outside the MATE repository tree I did the following: * There is an `INSIDE_MATE_COMMON' automake conditional which is defined in two places: - macros/aclocal-includes.m4 defines this to always be false. - mate-common/configure.in does not include anything from macros and defines this to be true. * We use this automake conditional in the macros/Makefile.am to install $(MACROS), autogen.sh, mate-common.m4 and a newly created mate-macros.dep in `$(datadir)/aclocal/mate'. Since aclocal doesn't look in subdirectories we can safely install them there even when compiling from the repository. Also, there is no need to make any change to any existing application in the MATE repository tree - really fine... * When we're outside the MATE repository tree, we simply need to tell aclocal that it should also look in `$(datadir)/aclocal/mate' and it will find all the macros. There is a `mate-skel' module in the repository that can be used as a starting point when writing a new MATE application that should be used outside the repository. February 4, 1999, Martin Baulig <[email protected]>
No warning about bashism in mate-autogen.
Debian's lintian tool complains about a bashism in mate-autogen
N:
I: mate-common: bash-term-in-posix-shell [usr/bin/mate-autogen:42] '`echo 'x\c''
N:
N: This script is marked as running under /bin/sh, but it seems to use a feature found in
N: bash but not in the SUSv3 or POSIX shell specification.
N:
N: Some examples are:
N:
N: - == in a test, it should use = instead - read without a variable in the argument -
N: function to define a function - source instead of . - . command args, passing arguments
N: to commands via source is not supported - {foo,bar} instead of foo bar - [[ test ]]
N: instead of [ test ] (requires a Korn shell) - type instead of which or command -v
N:
N: Visibility: info
N: Show-Always: no
N: Check: shell/non-posix/bash-centric
N:
N:
Build mate-common 1.26.0-1 from Debian (coming soon) and run Debian unstable's lintian 2.111.0 over the resulting package.
1.26
1.26.0-1
Debian
none
All scripts into a directory in the system PATH should be without extension.
http://lintian.debian.org/tags/script-with-language-extension.html
WARNING: this breaks all current autogen.sh in all MATE packages.
I didn't know where to report this so I report it here. The mate-note applet hides notes arbitrarily. It never used to do it before mate-note-1.4.0-0101.fc17.i686
In earlier versions of mate, a fork of gnome-doc-utils was used. This provided an autoconf macro would call mate-doc-common and then generated a configure option to toggle building the docs. Since mate-doc-utils was dropped, we've replaced that with an env variable in autogen.sh (which triggers a call in mate-autogen) and docs are only built in make distcheck. This is much less portable and makes building documentation infeasible for regular users. As such, I'd like to recommend that we recreate an autoconf macro to initialize documentation with mate-doc-common (see GTK_DOC_CHECK) and add configure options to toggle the building of the documentation (see --enable/disable-gtk-doc).
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/33026016-all-packages-handling-of-building-documentation?utm_campaign=plugin&utm_content=tracker%2F1554281&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1554281&utm_medium=issues&utm_source=github).appstream-glib 0.7 (currently in Ubuntu 17.10 Alpha) dropped the APPDATA_XML
macro. It's been deprecated for a few years. Please use APPSTREAM_XML
instead in macros/mate-autogen
The dropping of that macro might have been a mistake but you might as well fix this now anyway. See hughsie/appstream-glib#183
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
As stated, after entering the sudo password, I used to be able to get ~30s-1min of time to do other such things. But with mate(not gnome 2 standard) it's sudo for every single instance that I'm about to use anything that requires sudo. I'm part of the sudo group and this wasn't part of ubuntu 11.04(back when I tried that) with gnome 2 thus the linux mint team's/mate package is the one that's messed up
autoconf 1.12 warns about it, and it has always been configure.ac that should be used.
aclocal-1.12: warning: autoconf input should be named 'configure.ac', not 'configure.in'
attached links to 11 projects needed the patch
use git am /path/to/patch.patch
to apply
checked that the patches are correct with oneliner:
$ for a in *.patch; do cd $(basename $a .patch) && git reset --hard origin/master && git clean -f && patch < ../$a && ./autogen.sh && cd ..; done
and their configure passed
I wonder wether this package is really needed if I don't build from the git repositories of the other MATE packages, because in the release tarball autogen.sh doesn't need to be run. But for example the Arch Linux PKGBUILD for caja mentiones it as a make dependency (see https://github.com/mate-desktop/archlinux-packages/blob/master/caja/PKGBUILD).
Forwarding Debian bug 829920 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829920):
gnome-common did a cleanup upstream and deprecated quite a few macros
and variables.
The gnome-doc-utils build infrastructure was removed completely along
with the following macros:
GNOME_DOC_INIT [1]
GNOME_COMMON_INIT [2]
The following variables used in gnome-autogen.sh have been declared
deprecated [3]:
REQUIRED_GNOME_DOC_UTILS_VERSION
REQUIRED_DOC_COMMON_VERSION
USE_COMMON_DOC_BUILD
FORBIDDEN_M4MACROS
GNOME2_DIR
GNOME2_PATH
USE_GNOME2_MACROS
The following macros have also been declared deprecated:
GNOME_COMPILE_WARNINGS [4]
GNOME_CXX_WARNINGS [5]
Upstream has documentation at [6] with how you can fix your package and
why those particular changes were made.
According to codesearch.d.n your package mate-common uses one of the macros or
variables so might be affected, especially once you run autoreconf. Please
update your package accordingly and forward it to upstream if possible.
If you have further question, please don't hesitate to ask.
Regards,
Michael
[1] https://git.gnome.org/browse/gnome-common/commit/?id=6684e2fa5
[2] https://git.gnome.org/browse/gnome-common/commit/?id=1f60e9536
[3] https://git.gnome.org/browse/gnome-common/commit/?id=4c8d8ad93
[4] https://git.gnome.org/browse/gnome-common/commit/?id=b57bae0be
[5] https://git.gnome.org/browse/gnome-common/commit/?id=2bffd7e1u
[6] https://wiki.gnome.org/Projects/GnomeCommon/Migration
When I try to run autogen.sh in a mate-desktop working-copy with the latest version of mate-common installed, it fails with these errors:
./configure: line 13405: MATE_COMMON_INIT: command not found
./configure: line 13406: MATE_DEBUG_CHECK: command not found
./configure: line 13407: syntax error near unexpected token `maximum'
./configure: line 13407: `MATE_COMPILE_WARNINGS(maximum)'
If I go to my mate-common working-copy, revert to an older commit and then redo autogen.sh && make && sudo make install, the problem goes away and I can run autogen.sh in my mate-desktop working copy without any problems
jay@invincible:/usr/local/src/mate/mate-common$ git checkout 185a8813fec72f8c541192f59e93caca50e4ce68
(I'm not sure if that's actually the last good revision, I just chose it because it's the most recent one before friday)
Any attempt to configure a mate package other than mate-common (which can't use mate-autogen as it may not be installed yet) got this error after my latest round of Debian Unstable updates:
./autogen.sh: 80: shift: can't shift that many
Configuration stops at that point, changing the shell used by the script to bash (pretty sure dash is default) had no effect.
I was able to get past this for now by commenting lines 79-84, the entire loop containing "shift" used in version checking. I won't get a any notice of a missing/too old package this way (just build errors) but at least I can still build the MATE packages until either Debian finds a problem with one of their packages or a fix for this is found here, possibly by comparing to GNOME's version.
Somewhere between July 16 and July 28 Debian Unstable got an update that changed what is presumably shell behavior and breaks something in the usage of the shift command in /usr/bin/mate-autogen . The superficially similar gnome-autogen.sh did not seem to be affected, I was able to configure Nautilus without issue.
Sorry about the big gap between Debian updates, I don't have landline service at home and can only update packages from machines set up elsewhere or over public access wifi. I do not control the house and cannot set up any kind of utilities.
It does this under the following OSes, Debian 7, Linux Mint 15, LMDE, they all do this. With MATE, when using XDM, or LightDM they do it. Pressing power button then restarting does not restart. it just crashes I have no idea why this is happening but it is continually happening and doesn't seem to have gotten fixed at all and just is getting worse as time goes on.
Also when pressing "shut down" then pressing "cancel" doesn't cancel it. It just shuts down anyway. It also when doing this shut down, it first off seems to go back to the default MATE theme, and then it kills itself. I don't know why that is happening but it keeps on happening.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.