From 5c1e07fec97e34a94331b6b47e25c98f2b2e4cce Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Mon, 22 Sep 2014 21:54:58 +0200 Subject: [PATCH] Imported Upstream version 1.1.2 --- AUTHORS | 21 +- Makefile.in | 333 +-- NEWS | 31 + NEWS.html | 124 +- README | 12 +- aclocal.m4 | 3148 ++++--------------------- config.h.in | 45 +- configure | 1653 +++++-------- configure.ac | 35 +- doc/Makefile.in | 121 +- doc/faq.html | 85 +- doc/faq.txt | 28 +- icons/hicolor/14x14/Makefile.in | 120 +- icons/hicolor/16x16/Makefile.in | 120 +- icons/hicolor/22x22/Makefile.in | 120 +- icons/hicolor/24x24/Makefile.in | 120 +- icons/hicolor/32x32/Makefile.in | 120 +- icons/hicolor/48x48/Makefile.in | 120 +- icons/hicolor/64x64/Makefile.in | 120 +- icons/hicolor/scalable/Makefile.in | 120 +- icons/ubuntu-mono-dark/apps/22/Makefile.in | 120 +- icons/ubuntu-mono-dark/status/22/Makefile.in | 120 +- icons/ubuntu-mono-light/status/22/Makefile.in | 120 +- m4/gettext.m4 | 417 ++++ m4/iconv.m4 | 101 + m4/lib-ld.m4 | 110 + m4/lib-link.m4 | 644 +++++ m4/lib-prefix.m4 | 185 ++ m4/nls.m4 | 31 + m4/po.m4 | 428 ++++ m4/progtest.m4 | 92 + po/LINGUAS | 1 + po/POTFILES.in | 2 +- po/de.gmo | Bin 11455 -> 10944 bytes po/de.po | 554 +++-- po/es.gmo | Bin 11375 -> 10909 bytes po/es.po | 558 +++-- po/fr.gmo | Bin 11795 -> 11233 bytes po/fr.po | 551 +++-- po/hr.gmo | Bin 0 -> 13725 bytes po/hr.po | 786 ++++++ po/hu.gmo | Bin 13010 -> 12447 bytes po/hu.po | 560 +++-- po/it.gmo | Bin 11713 -> 11239 bytes po/it.po | 561 +++-- po/lv.gmo | Bin 11429 -> 10667 bytes po/lv.po | 551 +++-- po/nl.gmo | Bin 11397 -> 10681 bytes po/nl.po | 552 +++-- po/psensor.pot | 474 ++-- po/pt_BR.gmo | Bin 7976 -> 8114 bytes po/pt_BR.po | 535 +++-- po/ru.gmo | Bin 11998 -> 11487 bytes po/ru.po | 538 +++-- po/sl.gmo | Bin 487 -> 649 bytes po/sl.po | 485 ++-- po/sr.gmo | Bin 1642 -> 1700 bytes po/sr.po | 490 ++-- po/sv.gmo | Bin 12256 -> 11397 bytes po/sv.po | 544 +++-- po/tr.gmo | Bin 12288 -> 11682 bytes po/tr.po | 558 +++-- po/uk.gmo | Bin 8767 -> 8293 bytes po/uk.po | 530 +++-- po/zh_CN.gmo | Bin 10066 -> 9389 bytes po/zh_CN.po | 538 +++-- src/Makefile.am | 10 +- src/Makefile.in | 363 +-- src/cfg.c | 130 +- src/cfg.h | 28 + src/description.txt | 45 + src/glade/Makefile.in | 119 +- src/glade/psensor-pref.glade | 632 ++++- src/glade/psensor.glade | 70 +- src/glade/sensor-edit.glade | 894 ++++--- src/graph.c | 435 +++- src/graph.h | 13 +- src/lib/Makefile.am | 14 +- src/lib/Makefile.in | 255 +- src/lib/amd.c | 36 +- src/lib/amd.h | 12 +- src/lib/bool.h | 2 + src/lib/cpu.c | 112 - src/lib/cpu.h | 34 - src/lib/hdd.h | 10 +- src/lib/hdd_atasmart.c | 64 +- src/lib/hdd_hddtemp.c | 116 +- src/lib/lmsensor.c | 130 +- src/lib/lmsensor.h | 12 +- src/lib/nvidia.c | 349 ++- src/lib/nvidia.h | 14 +- src/lib/pgtop2.c | 146 ++ src/lib/pgtop2.h | 31 + src/lib/pio.c | 1 + src/lib/plog.c | 8 +- src/lib/psensor.c | 176 +- src/lib/psensor.h | 52 +- src/lib/psensor_json.h | 2 +- src/lib/ptime.c | 18 +- src/lib/pudisks2.c | 216 ++ src/lib/pudisks2.h | 27 + src/lib/slog.c | 17 +- src/lib/temperature.c | 4 + src/lib/temperature.h | 1 + src/main.c | 134 +- src/psensor.1 | 6 +- src/psensor.gschema.xml | 60 +- src/pxdg.c | 11 +- src/server/Makefile.in | 238 +- src/server/psensor-server.1 | 2 +- src/server/server.c | 33 +- src/ui.c | 11 +- src/ui_appindicator.c | 6 +- src/ui_graph.c | 11 + src/ui_notify.c | 6 +- src/ui_pref.c | 96 +- src/ui_sensorlist.c | 125 +- src/ui_sensorpref.c | 27 +- src/ui_status.c | 2 +- test-driver | 139 ++ tests/Makefile.am | 4 +- tests/Makefile.in | 755 ++++-- tests/checkpatch.pl | 2229 ++++++++++++++--- tests/test_psensor_type_to_unit_str.c | 2 +- www/Makefile.in | 120 +- 125 files changed, 16673 insertions(+), 10274 deletions(-) create mode 100644 m4/gettext.m4 create mode 100644 m4/iconv.m4 create mode 100644 m4/lib-ld.m4 create mode 100644 m4/lib-link.m4 create mode 100644 m4/lib-prefix.m4 create mode 100644 m4/nls.m4 create mode 100644 m4/po.m4 create mode 100644 m4/progtest.m4 create mode 100644 po/hr.gmo create mode 100644 po/hr.po create mode 100644 src/description.txt delete mode 100644 src/lib/cpu.c delete mode 100644 src/lib/cpu.h create mode 100644 src/lib/pgtop2.c create mode 100644 src/lib/pgtop2.h create mode 100644 src/lib/pudisks2.c create mode 100644 src/lib/pudisks2.h create mode 100755 test-driver diff --git a/AUTHORS b/AUTHORS index 8695c29..54c9ec6 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,6 +1,17 @@ -Authors of psensor. +Authors of psensor: -jeanfi@gmail.com all files. -linux.dabao@gmail.com,royclarck po/zh_CN.po -thgreasi@gmail.com src/lib/amd.h src/lib/amd.h -Christoph Buchner (bilderbuchi) icons/ubuntu-mono-light/status/22/*svg icons/ubuntu-mono-dark/status/22/*svg \ No newline at end of file +jeanfi@gmail.com all files. +MestreLion,thgreasi@gmail.com,jeanfi@gmail.com src/lib/amd.h src/lib/amd.h +Christoph Buchner(bilderbuchi) icons/ubuntu-mono-light/status/22/*svg icons/ubuntu-mono-dark/status/22/*svg + +Include files from other open source softwares: + +jqPlot: +Chris Leonello www/jqplot.dateAxisRenderer.js +Chris Leonello,Ash Searle www/jqplot.js + +jQuery: +jQuery Foundation www/jquery.js + +Linux Kernel: +Dave Jones,Joel Schopp,Andy Whitcroft tests/checkpatch.pl \ No newline at end of file diff --git a/Makefile.in b/Makefile.in index 76f0766..e387bb1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,14 +79,18 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . -DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \ - $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \ - AUTHORS COPYING ChangeLog INSTALL NEWS ar-lib compile \ - config.guess config.rpath config.sub depcomp install-sh \ - missing +DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ + $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ + $(srcdir)/config.h.in ABOUT-NLS $(dist_doc_DATA) COPYING \ + ar-lib compile config.guess config.rpath config.sub depcomp \ + install-sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -68,15 +99,28 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -113,11 +157,33 @@ am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(docdir)" DATA = $(desktop_DATA) $(dist_doc_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) @@ -128,6 +194,7 @@ am__remove_distdir = \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi +am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ @@ -155,12 +222,14 @@ am__relativize = \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best +DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -186,7 +255,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -218,6 +286,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -243,7 +313,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -258,7 +327,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -380,8 +448,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then rm -f stamp-h1; else :; fi - @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -437,22 +505,25 @@ uninstall-dist_docDATA: dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -467,57 +538,12 @@ $(RECURSIVE_TARGETS): $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ @@ -533,12 +559,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -550,15 +571,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -567,9 +584,31 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) @@ -637,40 +676,42 @@ distdir: $(DISTFILES) || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__remove_distdir) + $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) + $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-tarZ: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) + $(am__post_remove_distdir) dist-shar: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) + $(am__post_remove_distdir) -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another @@ -681,8 +722,6 @@ distcheck: dist GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ @@ -694,18 +733,19 @@ distcheck: dist *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod u+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + && ../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ @@ -728,7 +768,7 @@ distcheck: dist && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 - $(am__remove_distdir) + $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' @@ -865,13 +905,12 @@ ps-am: uninstall-am: uninstall-desktopDATA uninstall-dist_docDATA -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ - ctags-recursive install-am install-strip tags-recursive +.MAKE: $(am__recursive_targets) all install-am install-strip -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ - dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ + dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ @@ -882,7 +921,7 @@ uninstall-am: uninstall-desktopDATA uninstall-dist_docDATA install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-desktopDATA uninstall-dist_docDATA diff --git a/NEWS b/NEWS index 182b4d5..b918701 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,37 @@ Psensor NEWS ============ +v1.1.2 +------ + +* Fixed missing description in psensor manpage. +* All mouse buttons can be used to raise color settings in the list of + sensors. +* All mouse buttons can be used to popup menu in the list of sensors. +* List of sensors UI defined in glade file instead of code. +* Fixed graph enabled setting not saved when toggle in the list of + sensors. +* Added NVidia GPU graphics, memory, PCIe and video usage. +* Fixed message when the configuration file is missing. +* Added NVidia fan support. +* Added 'Hide' menu item in the contextual menu of the list of + sensors. +* Added free memory support. +* Added alarm support of sensors expressed as percent. +* Smoother curves (using Bezier algo). +* Added translator credits in the about dialog. +* Added Croatian translation from LP (gogo). +* Merged all translations from LP. +* Included the full list of contributors from LP, available throw the + about dialog. +* Support of disk temperature using udisks2. +* Fixed small UI layout/padding issues. +* Splitted sensor preferences using a tab panel. +* New preferences to enable/disable each sensor provider. +* psensor: removed option +--use-libatasmart+. +* Changed default color for the curves (copied from the default + colors of the gtk color chooser widget). + v1.1.1 ------ diff --git a/NEWS.html b/NEWS.html index d801d1c..48e7c55 100644 --- a/NEWS.html +++ b/NEWS.html @@ -381,6 +381,128 @@ asciidoc.install();
+

v1.1.2

+
+
    +
  • +

    +Fixed missing description in psensor manpage. +

    +
  • +
  • +

    +All mouse buttons can be used to raise color settings in the list of + sensors. +

    +
  • +
  • +

    +All mouse buttons can be used to popup menu in the list of sensors. +

    +
  • +
  • +

    +List of sensors UI defined in glade file instead of code. +

    +
  • +
  • +

    +Fixed graph enabled setting not saved when toggle in the list of + sensors. +

    +
  • +
  • +

    +Added NVidia GPU graphics, memory, PCIe and video usage. +

    +
  • +
  • +

    +Fixed message when the configuration file is missing. +

    +
  • +
  • +

    +Added NVidia fan support. +

    +
  • +
  • +

    +Added Hide menu item in the contextual menu of the list of + sensors. +

    +
  • +
  • +

    +Added free memory support. +

    +
  • +
  • +

    +Added alarm support of sensors expressed as percent. +

    +
  • +
  • +

    +Smoother curves (using Bezier algo). +

    +
  • +
  • +

    +Added translator credits in the about dialog. +

    +
  • +
  • +

    +Added Croatian translation from LP (gogo). +

    +
  • +
  • +

    +Merged all translations from LP. +

    +
  • +
  • +

    +Included the full list of contributors from LP, available throw the + about dialog. +

    +
  • +
  • +

    +Support of disk temperature using udisks2. +

    +
  • +
  • +

    +Fixed small UI layout/padding issues. +

    +
  • +
  • +

    +Splitted sensor preferences using a tab panel. +

    +
  • +
  • +

    +New preferences to enable/disable each sensor provider. +

    +
  • +
  • +

    +psensor: removed option --use-libatasmart. +

    +
  • +
  • +

    +Changed default color for the curves (copied from the default + colors of the gtk color chooser widget). +

    +
  • +
+
+
+

v1.1.1

    @@ -2729,7 +2851,7 @@ Fixed BR1: crash when no temperature sensor is available

    diff --git a/README b/README index 00d93ab..c1d3c70 100644 --- a/README +++ b/README @@ -11,10 +11,12 @@ It draws realtime charts and raises alerts about: * the temperature of the motherboard and CPU sensors (using lm-sensors). * the temperature of the NVidia GPUs (using XNVCtrl). - * the temperature of the Hard Disk Drives (using hddtemp or libatasmart). - * the rotation speed of the fans (using lm-sensors). + * the temperature of ATI GPUs (using ATI ADL SDK). + * the temperature of the Hard Disk Drives (using hddtemp, libatasmart + or udisks2). + * the rotation speed of the fans. * the temperature of a remote computer. - * the cpu load. + * the CPU load. Alerts are using Desktop Notification and a specific GTK+ status icon. @@ -125,6 +127,7 @@ The compilation of +psensor+ requires: * library unity (>=v3.4.2, optional) * library gtop2 (optional, required for CPU usage) * library atasmart (optional, for disk monitoring) + * library udisk2 (optional, for disk monitoring) The specific requirements for +psensor-server+: @@ -141,8 +144,7 @@ Compilation and Installation Steps 5. Start the sensor detection script: +sensors-detect+ and follows the instructions. Reboot or activate the kernel modules which have been found. -6. To monitor HDDs, the +hddtemp+ daemon must be installed and running. -7. Run: +psensor+ +6. Run: +psensor+ ATI/AMD GPU Support ~~~~~~~~~~~~~~~~~~~ diff --git a/aclocal.m4 b/aclocal.m4 index 0805dc4..53bcd7b 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,8 +1,7 @@ -# generated automatically by aclocal 1.11.6 -*- Autoconf -*- +# generated automatically by aclocal 1.14.1 -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, -# Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,415 +11,14 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# gettext.m4 serial 66 (gettext-0.18.2) -dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2006, 2008-2010. - -dnl Macro to add for using GNU gettext. - -dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. -dnl If INTLSYMBOL is 'use-libtool', then a libtool library -dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, -dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. -dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext -dnl implementations (in libc or libintl) without the ngettext() function -dnl will be ignored. If NEEDSYMBOL is specified and is -dnl 'need-formatstring-macros', then GNU gettext implementations that don't -dnl support the ISO C 99 formatstring macros will be ignored. -dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value '$(top_builddir)/intl/' is used. -dnl -dnl The result of the configuration is one of three cases: -dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled -dnl and used. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 2) GNU gettext has been found in the system's C library. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 3) No internationalization, always use English msgid. -dnl Catalog format: none -dnl Catalog extension: none -dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. -dnl The use of .gmo is historical (it was needed to avoid overwriting the -dnl GNU format catalogs when building on a platform with an X/Open gettext), -dnl but we keep it in order not to force irrelevant filename changes on the -dnl maintainers. -dnl -AC_DEFUN([AM_GNU_GETTEXT], -[ - dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , - [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) - ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], - [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) - ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , - [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT -])])])]) - define([gt_included_intl], - ifelse([$1], [external], - ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), - [yes])) - define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) - gt_NEEDS_INIT - AM_GNU_GETTEXT_NEED([$2]) - - AC_REQUIRE([AM_PO_SUBDIRS])dnl - ifelse(gt_included_intl, yes, [ - AC_REQUIRE([AM_INTL_SUBDIR])dnl - ]) - - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Sometimes libintl requires libiconv, so first search for libiconv. - dnl Ideally we would do this search only after the - dnl if test "$USE_NLS" = "yes"; then - dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT - dnl the configure script would need to contain the same shell code - dnl again, outside any 'if'. There are two solutions: - dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. - dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. - dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not - dnl documented, we avoid it. - ifelse(gt_included_intl, yes, , [ - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - ]) - - dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. - gt_INTL_MACOSX - - dnl Set USE_NLS. - AC_REQUIRE([AM_NLS]) - - ifelse(gt_included_intl, yes, [ - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - ]) - LIBINTL= - LTLIBINTL= - POSUB= - - dnl Add a version number to the cache macros. - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - ifelse(gt_included_intl, yes, [ - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH([included-gettext], - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - ]) - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we have - dnl to fall back to GNU NLS library. - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], - [AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings - ]])], - [eval "$gt_func_gnugettext_libc=yes"], - [eval "$gt_func_gnugettext_libc=no"])]) - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl Sometimes libintl requires libiconv, so first search for libiconv. - ifelse(gt_included_intl, yes, , [ - AM_ICONV_LINK - ]) - dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL - dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) - dnl because that would add "-liconv" to LIBINTL and LTLIBINTL - dnl even if libiconv doesn't exist. - AC_LIB_LINKFLAGS_BODY([intl]) - AC_CACHE_CHECK([for GNU gettext in libintl], - [$gt_func_gnugettext_libintl], - [gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - dnl Now see whether libintl exists and does not depend on libiconv. - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ]])], - [eval "$gt_func_gnugettext_libintl=yes"], - [eval "$gt_func_gnugettext_libintl=no"]) - dnl Now see whether libintl exists and depends on libiconv. - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ]])], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - ]) - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS"]) - fi - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - dnl Reset the values set by searching for libintl. - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - ifelse(gt_included_intl, yes, [ - if test "$gt_use_preinstalled_gnugettext" != "yes"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on included GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - CATOBJEXT= - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions to use GNU gettext tools. - CATOBJEXT=.gmo - fi - ]) - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Some extra flags are needed during linking. - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_DEFINE([ENABLE_NLS], [1], - [Define to 1 if translation of program messages to the user's native language - is requested.]) - else - USE_NLS=no - fi - fi - - AC_MSG_CHECKING([whether to use NLS]) - AC_MSG_RESULT([$USE_NLS]) - if test "$USE_NLS" = "yes"; then - AC_MSG_CHECKING([where the gettext function comes from]) - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - AC_MSG_RESULT([$gt_source]) - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - AC_MSG_CHECKING([how to link with libintl]) - AC_MSG_RESULT([$LIBINTL]) - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) - fi - - dnl For backward compatibility. Some packages may be using this. - AC_DEFINE([HAVE_GETTEXT], [1], - [Define if the GNU gettext() function is already present or preinstalled.]) - AC_DEFINE([HAVE_DCGETTEXT], [1], - [Define if the GNU dcgettext() function is already present or preinstalled.]) - fi - - dnl We need to process the po/ directory. - POSUB=po - fi - - ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi - - dnl Make all variables we use known to autoconf. - AC_SUBST([BUILD_INCLUDED_LIBINTL]) - AC_SUBST([USE_INCLUDED_LIBINTL]) - AC_SUBST([CATOBJEXT]) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST([DATADIRNAME]) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST([INSTOBJEXT]) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST([GENCAT]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - AC_SUBST([INTLOBJS]) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) - ]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLLIBS="$LIBINTL" - AC_SUBST([INTLLIBS]) - - dnl Make all documented variables known to autoconf. - AC_SUBST([LIBINTL]) - AC_SUBST([LTLIBINTL]) - AC_SUBST([POSUB]) -]) - - -dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. -m4_define([gt_NEEDS_INIT], -[ - m4_divert_text([DEFAULTS], [gt_needs=]) - m4_define([gt_NEEDS_INIT], []) -]) - - -dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) -AC_DEFUN([AM_GNU_GETTEXT_NEED], -[ - m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) -]) - - -dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) dnl GLIB_GSETTINGS dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether @@ -506,1488 +104,6 @@ m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) -# iconv.m4 serial 18 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2007-2013 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -[ - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([iconv]) -]) - -AC_DEFUN([AM_ICONV_LINK], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - - dnl Add $INCICONV to CPPFLAGS before performing the following checks, - dnl because if the user has installed libiconv and not disabled its use - dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. - am_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - - AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], - [am_cv_func_iconv=yes]) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], - [am_cv_lib_iconv=yes] - [am_cv_func_iconv=yes]) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ - dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, - dnl Solaris 10. - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ -#include -#include -int main () -{ - int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\263"; - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - const char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; - return result; -}]])], - [am_cv_func_iconv_works=yes], - [am_cv_func_iconv_works=no], - [ -changequote(,)dnl - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac -changequote([,])dnl - ]) - LIBS="$am_save_LIBS" - ]) - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - AC_DEFINE([HAVE_ICONV], [1], - [Define if you have the iconv() function and it works.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST([LIBICONV]) - AC_SUBST([LTLIBICONV]) -]) - -dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to -dnl avoid warnings like -dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". -dnl This is tricky because of the way 'aclocal' is implemented: -dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. -dnl Otherwise aclocal's initial scan pass would miss the macro definition. -dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. -dnl Otherwise aclocal would emit many "Use of uninitialized value $1" -dnl warnings. -m4_define([gl_iconv_AC_DEFUN], - m4_version_prereq([2.64], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [m4_ifdef([gl_00GNULIB], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [[AC_DEFUN( - [$1], [$2])]])])) -gl_iconv_AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL([am_cv_proto_iconv], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - ]], - [[]])], - [am_cv_proto_iconv_arg1=""], - [am_cv_proto_iconv_arg1="const"]) - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([ - $am_cv_proto_iconv]) - AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], - [Define as const if the declaration of iconv() needs const.]) - dnl Also substitute ICONV_CONST in the gnulib generated . - m4_ifdef([gl_ICONV_H_DEFAULTS], - [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) - if test -n "$am_cv_proto_iconv_arg1"; then - ICONV_CONST="const" - fi - ]) - fi -]) - -# intlmacosx.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Checks for special options needed on Mac OS X. -dnl Defines INTL_MACOSX_LIBS. -AC_DEFUN([gt_INTL_MACOSX], -[ - dnl Check for API introduced in Mac OS X 10.2. - AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - [gt_cv_func_CFPreferencesCopyAppValue], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[CFPreferencesCopyAppValue(NULL, NULL)]])], - [gt_cv_func_CFPreferencesCopyAppValue=yes], - [gt_cv_func_CFPreferencesCopyAppValue=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], - [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) - fi - dnl Check for API introduced in Mac OS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[CFLocaleCopyCurrent();]])], - [gt_cv_func_CFLocaleCopyCurrent=yes], - [gt_cv_func_CFLocaleCopyCurrent=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], - [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - AC_SUBST([INTL_MACOSX_LIBS]) -]) - -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2013 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Subroutines of libtool.m4, -dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid -dnl collision with libtool.m4. - -dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 /dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 = 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE([rpath], - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_FROMPACKAGE(name, package) -dnl declares that libname comes from the given package. The configure file -dnl will then not have a --with-libname-prefix option but a -dnl --with-package-prefix option. Several libraries can come from the same -dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar -dnl macro call that searches for libname. -AC_DEFUN([AC_LIB_FROMPACKAGE], -[ - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - define([acl_frompackage_]NAME, [$2]) - popdef([NAME]) - pushdef([PACK],[$2]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) - popdef([PACKUP]) - popdef([PACK]) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been - dnl computed. So it has to be reset here. - HAVE_LIB[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi - popdef([P_A_C_K]) - popdef([PACKLIBS]) - popdef([PACKUP]) - popdef([PACK]) - popdef([NAME]) -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) - -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2013 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". - dnl On Solaris systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or - dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. - AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl . - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" -]) - -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, -dnl Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE([nls], - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT([$USE_NLS]) - AC_SUBST([USE_NLS]) -]) - # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # @@ -2148,571 +264,22 @@ else fi[]dnl ])# PKG_CHECK_MODULES -# po.m4 serial 21 (gettext-0.18.3) -dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.60]) - -dnl Checks for all prerequisites of the po subdirectory. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AC_PROG_MKDIR_P])dnl - AC_REQUIRE([AC_PROG_SED])dnl - AC_REQUIRE([AM_NLS])dnl - - dnl Release version of the gettext macros. This is used to ensure that - dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) - - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - - dnl Search for GNU msgfmt in the PATH. - dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. - dnl The second test excludes FreeBSD msgfmt. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) - - dnl Test whether it is GNU msgfmt >= 0.15. -changequote(,)dnl - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([MSGFMT_015]) -changequote(,)dnl - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([GMSGFMT_015]) - - dnl Search for GNU xgettext 0.12 or newer in the PATH. - dnl The first test excludes Solaris xgettext and early GNU xgettext versions. - dnl The second test excludes FreeBSD xgettext. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - - dnl Test whether it is GNU xgettext >= 0.15. -changequote(,)dnl - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac -changequote([,])dnl - AC_SUBST([XGETTEXT_015]) - - dnl Search for GNU msgmerge 0.11 or newer in the PATH. - AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, - [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) - - dnl Installation directories. - dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we - dnl have to define it here, so that it can be used in po/Makefile. - test -n "$localedir" || localedir='${datadir}/locale' - AC_SUBST([localedir]) - - dnl Support for AM_XGETTEXT_OPTION. - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) - - AC_CONFIG_COMMANDS([po-directories], [[ - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - gt_tab=`printf '\t'` - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done]], - [# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - -dnl Postprocesses a Makefile in a directory containing PO files. -AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], -[ - # When this code is run, in config.status, two variables have already been - # set: - # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, - # - LINGUAS is the value of the environment variable LINGUAS at configure - # time. - -changequote(,)dnl - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - # Find a way to echo strings without interpreting backslash. - if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='echo' - else - if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='printf %s\n' - else - echo_func () { - cat < "$ac_file.tmp" - tab=`printf '\t'` - if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - cat >> "$ac_file.tmp" < /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` - cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. - -AC_PREREQ([2.50]) - -# Search path for a program which passes the given test. - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST], -[ -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL([ac_cv_path_$1], -[case "[$]$1" in - [[\\/]]* | ?:[[\\/]]*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in ifelse([$5], , $PATH, [$5]); do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$][$1]) -else - AC_MSG_RESULT([no]) -fi -AC_SUBST([$1])dnl -]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' +[am__api_version='1.14' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.6], [], +m4_if([$1], [1.14.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -2728,19 +295,17 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.6])dnl +[AM_AUTOMAKE_VERSION([1.14.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011 Free Software Foundation, Inc. +# Copyright (C) 2011-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_PROG_AR([ACT-IF-FAIL]) # ------------------------- # Try to determine the archiver interface, and trigger the ar-lib wrapper @@ -2755,7 +320,8 @@ AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) : ${AR=ar} AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], - [am_cv_ar_interface=ar + [AC_LANG_PUSH([C]) + am_cv_ar_interface=ar AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([am_ar_try]) @@ -2772,7 +338,7 @@ AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], fi rm -f conftest.lib libconftest.a ]) - ]) + AC_LANG_POP([C])]) case $am_cv_ar_interface in ar) @@ -2796,17 +362,15 @@ AC_SUBST([AR])dnl # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and @@ -2825,7 +389,7 @@ AC_SUBST([AR])dnl # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you +# harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, @@ -2851,22 +415,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 9 - # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl @@ -2885,16 +446,14 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, -# 2010, 2011 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 12 -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing @@ -2904,7 +463,7 @@ fi])]) # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was @@ -2917,12 +476,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], @@ -2930,8 +490,8 @@ AC_CACHE_CHECK([dependency style of $depcc], # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're @@ -2971,16 +531,16 @@ AC_CACHE_CHECK([dependency style of $depcc], : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -2989,8 +549,8 @@ AC_CACHE_CHECK([dependency style of $depcc], test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else @@ -2998,7 +558,7 @@ AC_CACHE_CHECK([dependency style of $depcc], fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -3046,7 +606,7 @@ AM_CONDITIONAL([am__fastdep$1], [ # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl @@ -3056,9 +616,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' @@ -3073,20 +637,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files + # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in @@ -3099,7 +661,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -3111,21 +673,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue + test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` @@ -3143,7 +703,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will +# is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], @@ -3153,18 +713,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 16 - # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -3177,7 +740,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl +[AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl @@ -3206,31 +769,40 @@ AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl @@ -3241,34 +813,78 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. @@ -3290,15 +906,12 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, -# Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. @@ -3312,16 +925,14 @@ if test x"${install_sh}" != xset; then install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi -AC_SUBST(install_sh)]) +AC_SUBST([install_sh])]) -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], @@ -3337,14 +948,12 @@ AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 - # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. @@ -3362,7 +971,7 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -3387,52 +996,14 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_PROG_CC_C_O -# -------------- -# Like AC_PROG_CC_C_O, but changed for automake. -AC_DEFUN([AM_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC_C_O])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -dnl Make sure AC_PROG_CC is never called again, or it will override our -dnl setting of CC. -m4_define([AC_PROG_CC], - [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) -]) - # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 6 - # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], @@ -3440,11 +1011,10 @@ AC_DEFUN([AM_MISSING_PROG], $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) - # AM_MISSING_HAS_RUN # ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl @@ -3457,29 +1027,32 @@ if test x"${MISSING+set}" != xset; then esac fi # Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " else am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) + AC_MSG_WARN(['missing' script is too old or missing]) fi ]) -# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, -# Inc. +# Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 - # AM_PROG_MKDIR_P # --------------- -# Check for `mkdir -p'. +# Check for 'mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl FIXME we are no longer going to remove this! adjust warning +dnl FIXME message accordingly. +AC_DIAGNOSE([obsolete], +[$0: this macro is deprecated, and will soon be removed. +You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead, +and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.]) dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. @@ -3496,15 +1069,12 @@ esac # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 - # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], @@ -3514,7 +1084,7 @@ AC_DEFUN([_AM_MANGLE_OPTION], # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ @@ -3528,24 +1098,82 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Check to make sure that the build environment is sane. -*- Autoconf -*- +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -3556,32 +1184,40 @@ case `pwd` in esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$[2]" = conftest.file ) then @@ -3591,46 +1227,118 @@ else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -AC_MSG_RESULT(yes)]) +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. +# Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 1 +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- -# One issue with vendor `install' (even GNU) is that you can't +# One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize +# always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. +# Copyright (C) 2006-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 3 - # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. @@ -3644,18 +1352,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. +# Copyright (C) 2004-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory @@ -3665,77 +1371,123 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar +# AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. + +# We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/gettext.m4]) +m4_include([m4/iconv.m4]) +m4_include([m4/lib-ld.m4]) +m4_include([m4/lib-link.m4]) +m4_include([m4/lib-prefix.m4]) +m4_include([m4/nls.m4]) +m4_include([m4/po.m4]) +m4_include([m4/progtest.m4]) diff --git a/config.h.in b/config.h.in index 12de3cd..8d62e31 100644 --- a/config.h.in +++ b/config.h.in @@ -16,11 +16,11 @@ /* Use libatasmart */ #undef HAVE_ATASMART -/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the +/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT -/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in +/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE @@ -34,13 +34,10 @@ /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - /* Use GTOP */ #undef HAVE_GTOP -/* Define if you have the iconv() function and it works. */ +/* Define if you have the iconv() function. */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ @@ -67,12 +64,8 @@ /* Define to 1 if you have the `sensors' library (-lsensors). */ #undef HAVE_LIBSENSORS -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC - -/* Define to 1 if you have the `memmove' function. */ -#undef HAVE_MEMMOVE +/* Use libudisks */ +#undef HAVE_LIBUDISKS2 /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H @@ -86,10 +79,6 @@ /* NVidia support enabled */ #undef HAVE_NVIDIA -/* Define to 1 if your system has a GNU libc compatible `realloc' function, - and to 0 otherwise. */ -#undef HAVE_REALLOC - /* Remote monitoring enabled */ #undef HAVE_REMOTE_SUPPORT @@ -99,9 +88,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SENSORS_SENSORS_H -/* Define to 1 if you have the `socket' function. */ -#undef HAVE_SOCKET - /* Define to 1 if you have the header file. */ #undef HAVE_STDBOOL_H @@ -111,18 +97,12 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H -/* Define to 1 if you have the `strtol' function. */ -#undef HAVE_STRTOL - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H @@ -135,9 +115,6 @@ /* Use Unity */ #undef HAVE_UNITY -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - /* Name of package */ #undef PACKAGE @@ -175,15 +152,3 @@ /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES - -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc - -/* Define to rpl_realloc if the replacement function should be used. */ -#undef realloc - -/* Define to `unsigned int' if does not define. */ -#undef size_t - -/* Define to `int' if does not define. */ -#undef ssize_t diff --git a/configure b/configure index e5adf4f..98bd186 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for psensor 1.1.1. +# Generated by GNU Autoconf 2.69 for psensor 1.1.2. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='psensor' PACKAGE_TARNAME='psensor' -PACKAGE_VERSION='1.1.1' -PACKAGE_STRING='psensor 1.1.1' +PACKAGE_VERSION='1.1.2' +PACKAGE_STRING='psensor 1.1.2' PACKAGE_BUGREPORT='jeanfi@gmail.com' PACKAGE_URL='http://wpitchoune.net/psensor' @@ -626,6 +626,7 @@ gt_needs= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS +LIBOBJS CPPCHECK_FALSE CPPCHECK_TRUE HAVE_CPPCHECK @@ -673,6 +674,10 @@ ATASMART_FALSE ATASMART_TRUE ATASMART_LIBS ATASMART_CFLAGS +LIBUDISKS2_FALSE +LIBUDISKS2_TRUE +LIBUDISKS2_LIBS +LIBUDISKS2_CFLAGS GTK_FALSE GTK_TRUE GTK_LIBS @@ -709,7 +714,6 @@ build_os build_vendor build_cpu build -XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT @@ -717,10 +721,7 @@ GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT -GETTEXT_MACRO_VERSION USE_NLS -SED -LIBOBJS EGREP GREP CPP @@ -745,6 +746,10 @@ CPPFLAGS LDFLAGS CFLAGS CC +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V am__untar am__tar AMTAR @@ -809,6 +814,7 @@ SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking +enable_silent_rules enable_dependency_tracking enable_largefile with_x @@ -840,6 +846,8 @@ XEXT_CFLAGS XEXT_LIBS GTK_CFLAGS GTK_LIBS +LIBUDISKS2_CFLAGS +LIBUDISKS2_LIBS ATASMART_CFLAGS ATASMART_LIBS LIBNOTIFY_CFLAGS @@ -1396,7 +1404,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures psensor 1.1.1 to adapt to many kinds of systems. +\`configure' configures psensor 1.1.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1470,7 +1478,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of psensor 1.1.1:";; + short | recursive ) echo "Configuration of psensor 1.1.2:";; esac cat <<\_ACEOF @@ -1478,8 +1486,12 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build --disable-largefile omit support for large files --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths @@ -1490,7 +1502,7 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-x use the X Window System - --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib @@ -1519,6 +1531,10 @@ Some influential environment variables: XEXT_LIBS linker flags for XEXT, overriding pkg-config GTK_CFLAGS C compiler flags for GTK, overriding pkg-config GTK_LIBS linker flags for GTK, overriding pkg-config + LIBUDISKS2_CFLAGS + C compiler flags for LIBUDISKS2, overriding pkg-config + LIBUDISKS2_LIBS + linker flags for LIBUDISKS2, overriding pkg-config ATASMART_CFLAGS C compiler flags for ATASMART, overriding pkg-config ATASMART_LIBS @@ -1612,7 +1628,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -psensor configure 1.1.1 +psensor configure 1.1.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1910,132 +1926,11 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by psensor $as_me 1.1.1, which was +It was created by psensor $as_me 1.1.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2385,7 +2280,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -am__api_version='1.11' +am__api_version='1.14' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do @@ -2511,9 +2406,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -2524,32 +2416,40 @@ case `pwd` in esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$2" = conftest.file ) then @@ -2561,6 +2461,16 @@ Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. @@ -2583,12 +2493,12 @@ if test x"${MISSING+set}" != xset; then esac fi # Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then @@ -2600,10 +2510,10 @@ if test x"${install_sh}" != xset; then esac fi -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. +# will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. @@ -2742,12 +2652,6 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -2830,6 +2734,45 @@ else fi rmdir .tst 2>/dev/null +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." @@ -2852,7 +2795,7 @@ fi # Define the identity of the package. PACKAGE='psensor' - VERSION='1.1.1' + VERSION='1.1.2' cat >>confdefs.h <<_ACEOF @@ -2880,12 +2823,22 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' @@ -2893,6 +2846,48 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + ac_config_headers="$ac_config_headers config.h" @@ -3689,6 +3684,65 @@ ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -3708,7 +3762,7 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -3764,8 +3818,8 @@ else # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're @@ -3800,16 +3854,16 @@ else : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -3818,8 +3872,8 @@ else test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else @@ -3827,7 +3881,7 @@ else fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -3881,131 +3935,6 @@ else fi -if test "x$CC" != xcc; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 -$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 -$as_echo_n "checking whether cc understands -c and -o together... " >&6; } -fi -set dummy $CC; ac_cc=`$as_echo "$2" | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -rm -f conftest2.* -if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.$ac_ext >&5' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' - rm -f conftest2.* - if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi - fi -else - eval ac_cv_prog_cc_${ac_cc}_c_o=no -fi -rm -f core conftest* - -fi -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h - -fi - -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi - @@ -4410,7 +4339,13 @@ $as_echo_n "checking the archiver ($AR) interface... " >&6; } if ${am_cv_ar_interface+:} false; then : $as_echo_n "(cached) " >&6 else - am_cv_ar_interface=ar + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + am_cv_ar_interface=ar cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int some_variable = 0; @@ -4441,6 +4376,11 @@ if ac_fn_c_try_compile "$LINENO"; then : fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 @@ -5067,248 +5007,14 @@ fi done - -# Checks for typedefs, structures, and compiler characteristics. -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" -if test "x$ac_cv_type_ssize_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define ssize_t int -_ACEOF - -fi - - -# Checks for library functions. -for ac_header in stdlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if ${ac_cv_func_malloc_0_nonnull+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_malloc_0_nonnull=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include -#else -char *malloc (); -#endif - -int -main () -{ -return ! malloc (0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_malloc_0_nonnull=yes -else - ac_cv_func_malloc_0_nonnull=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then : - -$as_echo "#define HAVE_MALLOC 1" >>confdefs.h - -else - $as_echo "#define HAVE_MALLOC 0" >>confdefs.h - - case " $LIBOBJS " in - *" malloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS malloc.$ac_objext" - ;; -esac - - -$as_echo "#define malloc rpl_malloc" >>confdefs.h - -fi - - -for ac_header in stdlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_STDLIB_H 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 -$as_echo_n "checking for GNU libc compatible realloc... " >&6; } -if ${ac_cv_func_realloc_0_nonnull+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_realloc_0_nonnull=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include -#else -char *realloc (); -#endif - -int -main () -{ -return ! realloc (0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_realloc_0_nonnull=yes -else - ac_cv_func_realloc_0_nonnull=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } -if test $ac_cv_func_realloc_0_nonnull = yes; then : - -$as_echo "#define HAVE_REALLOC 1" >>confdefs.h - -else - $as_echo "#define HAVE_REALLOC 0" >>confdefs.h - - case " $LIBOBJS " in - *" realloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS realloc.$ac_objext" - ;; -esac - - -$as_echo "#define realloc rpl_realloc" >>confdefs.h - -fi - - -for ac_func in gettimeofday memmove socket strdup strtol -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed + + + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 @@ -5326,22 +5032,20 @@ $as_echo "$USE_NLS" >&6; } - GETTEXT_MACRO_VERSION=0.18 - - # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, @@ -5456,14 +5160,15 @@ fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, @@ -5533,14 +5238,15 @@ fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, @@ -5601,9 +5307,6 @@ fi test -n "$localedir" || localedir='${datadir}/locale' - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - - ac_config_commands="$ac_config_commands po-directories" @@ -5695,7 +5398,6 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes @@ -5706,21 +5408,21 @@ fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi - ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 +$as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -5730,12 +5432,12 @@ $as_echo_n "checking for ld used by $CC... " >&6; } esac case $ac_prog in # Accept absolute paths. - [\\/]* | ?:[\\/]*) + [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; @@ -5759,26 +5461,23 @@ if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do - IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. + # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 &1 < /dev/null` in *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; + test "$with_gnu_ld" != no && break ;; *) - test "$with_gnu_ld" != yes && break - ;; + test "$with_gnu_ld" != yes && break ;; esac fi done - IFS="$acl_save_ifs" + IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi @@ -5798,14 +5497,12 @@ $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else - # I'd rather use --version here, but apparently some GNU lds only accept -v. + # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 @@ -5831,14 +5528,12 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : @@ -5848,71 +5543,23 @@ fi - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + acl_libdirstem=lib + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; esac fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - - - + done + IFS="$acl_save_IFS" + fi @@ -5957,10 +5604,6 @@ if test "${with_libiconv_prefix+set}" = set; then : else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi fi fi @@ -5969,8 +5612,6 @@ fi LIBICONV= LTLIBICONV= INCICONV= - LIBICONV_PREFIX= - HAVE_LIBICONV= rpathdirs= ltrpathdirs= names_already_handled= @@ -5988,7 +5629,7 @@ fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then @@ -6004,50 +5645,27 @@ fi found_la= found_so= found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" + if test -n "$shlibext" \ + && { test -f "$additional_libdir/lib$name.$shlibext" \ + || { test "$shlibext" = dll \ + && test -f "$additional_libdir/lib$name.dll.a"; }; }; then + found_dir="$additional_libdir" + if test -f "$additional_libdir/lib$name.$shlibext"; then + found_so="$additional_libdir/lib$name.$shlibext" else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi + found_so="$additional_libdir/lib$name.dll.a" fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi fi fi fi @@ -6065,42 +5683,26 @@ fi case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" + if test -n "$shlibext" \ + && { test -f "$dir/lib$name.$shlibext" \ + || { test "$shlibext" = dll \ + && test -f "$dir/lib$name.dll.a"; }; }; then + found_dir="$dir" + if test -f "$dir/lib$name.$shlibext"; then + found_so="$dir/lib$name.$shlibext" else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi + found_so="$dir/lib$name.dll.a" fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi fi fi ;; @@ -6113,9 +5715,7 @@ fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= @@ -6128,10 +5728,10 @@ fi if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi - if test "$acl_hardcode_direct" = yes; then + if test "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do @@ -6163,7 +5763,7 @@ fi if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi - if test "$acl_hardcode_minus_L" != no; then + if test "$hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" @@ -6182,16 +5782,6 @@ fi case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi additional_includedir="$basedir/include" ;; esac @@ -6240,11 +5830,9 @@ fi case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; @@ -6344,21 +5932,21 @@ fi done done if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then + if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" + eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" + eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done @@ -6394,12 +5982,6 @@ fi - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : @@ -6495,12 +6077,12 @@ $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h if test $gt_api_version -ge 3; then - gt_revision_test_code=' + gt_revision_test_code='[ #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -' +]' else gt_revision_test_code= fi @@ -6517,19 +6099,15 @@ if eval \${$gt_func_gnugettext_libc+:} false; then : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; - int main () { - bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings - ; return 0; } @@ -6587,16 +6165,14 @@ else am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include #include - int main () { iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); ; return 0; } @@ -6611,16 +6187,14 @@ rm -f core conftest.err conftest.$ac_objext \ LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include #include - int main () { iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); ; return 0; } @@ -6638,148 +6212,6 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 -$as_echo_n "checking for working iconv... " >&6; } -if ${am_cv_func_iconv_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - if test "$cross_compiling" = yes; then : - - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -int main () -{ - int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\263"; - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - const char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; - return result; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_iconv_works=yes -else - am_cv_func_iconv_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - LIBS="$am_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 -$as_echo "$am_cv_func_iconv_works" >&6; } - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h @@ -6801,10 +6233,6 @@ $as_echo "$LIBICONV" >&6; } - - - - use_additional=yes acl_save_prefix="$prefix" @@ -6841,10 +6269,6 @@ if test "${with_libintl_prefix+set}" = set; then : else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi fi fi @@ -6853,8 +6277,6 @@ fi LIBINTL= LTLIBINTL= INCINTL= - LIBINTL_PREFIX= - HAVE_LIBINTL= rpathdirs= ltrpathdirs= names_already_handled= @@ -6872,7 +6294,7 @@ fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then @@ -6888,50 +6310,27 @@ fi found_la= found_so= found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" + if test -n "$shlibext" \ + && { test -f "$additional_libdir/lib$name.$shlibext" \ + || { test "$shlibext" = dll \ + && test -f "$additional_libdir/lib$name.dll.a"; }; }; then + found_dir="$additional_libdir" + if test -f "$additional_libdir/lib$name.$shlibext"; then + found_so="$additional_libdir/lib$name.$shlibext" else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi + found_so="$additional_libdir/lib$name.dll.a" fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi fi fi fi @@ -6949,42 +6348,26 @@ fi case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" + if test -n "$shlibext" \ + && { test -f "$dir/lib$name.$shlibext" \ + || { test "$shlibext" = dll \ + && test -f "$dir/lib$name.dll.a"; }; }; then + found_dir="$dir" + if test -f "$dir/lib$name.$shlibext"; then + found_so="$dir/lib$name.$shlibext" else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi + found_so="$dir/lib$name.dll.a" fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi fi fi ;; @@ -6997,9 +6380,7 @@ fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= @@ -7012,10 +6393,10 @@ fi if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi - if test "$acl_hardcode_direct" = yes; then + if test "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do @@ -7047,7 +6428,7 @@ fi if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi - if test "$acl_hardcode_minus_L" != no; then + if test "$hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" @@ -7066,16 +6447,6 @@ fi case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi additional_includedir="$basedir/include" ;; esac @@ -7124,11 +6495,9 @@ fi case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; @@ -7228,21 +6597,21 @@ fi done done if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then + if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" + eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" + eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done @@ -7254,11 +6623,6 @@ fi done fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval \${$gt_func_gnugettext_libintl+:} false; then : @@ -7270,7 +6634,6 @@ else LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include $gt_revision_test_code extern int _nl_msg_cat_cntr; @@ -7279,14 +6642,11 @@ extern "C" #endif const char *_nl_expand_alias (const char *); - int main () { - bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; return 0; } @@ -7302,7 +6662,6 @@ rm -f core conftest.err conftest.$ac_objext \ LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include $gt_revision_test_code extern int _nl_msg_cat_cntr; @@ -7311,22 +6670,19 @@ extern "C" #endif const char *_nl_expand_alias (const char *); - int main () { - bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ @@ -7964,7 +7320,7 @@ fi -# Checks GTK+ 3.0 +# Check GTK+ 3.0 pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 @@ -7974,12 +7330,12 @@ if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-3.0") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.4\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.4") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0" 2>/dev/null` + pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= 3.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -7991,12 +7347,12 @@ if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-3.0") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.4\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.4") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0" 2>/dev/null` + pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= 3.4" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -8017,9 +7373,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0" 2>&1` + GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= 3.4" 2>&1` else - GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0" 2>&1` + GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= 3.4" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 @@ -8056,9 +7412,94 @@ GTK_CFLAGS+=" -DGSEAL_ENABLE " -### Optional +# Check udisks2 + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUDISKS2" >&5 +$as_echo_n "checking for LIBUDISKS2... " >&6; } + +if test -n "$LIBUDISKS2_CFLAGS"; then + pkg_cv_LIBUDISKS2_CFLAGS="$LIBUDISKS2_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"udisks2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "udisks2") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBUDISKS2_CFLAGS=`$PKG_CONFIG --cflags "udisks2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBUDISKS2_LIBS"; then + pkg_cv_LIBUDISKS2_LIBS="$LIBUDISKS2_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"udisks2\""; } >&5 + ($PKG_CONFIG --exists --print-errors "udisks2") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBUDISKS2_LIBS=`$PKG_CONFIG --libs "udisks2" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBUDISKS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "udisks2" 2>&1` + else + LIBUDISKS2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "udisks2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBUDISKS2_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"Library udisks2 not present\"" >&5 +$as_echo "$as_me: WARNING: \"Library udisks2 not present\"" >&2;} +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"Library udisks2 not present\"" >&5 +$as_echo "$as_me: WARNING: \"Library udisks2 not present\"" >&2;} +else + LIBUDISKS2_CFLAGS=$pkg_cv_LIBUDISKS2_CFLAGS + LIBUDISKS2_LIBS=$pkg_cv_LIBUDISKS2_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAVE_LIBUDISKS2 1" >>confdefs.h + +fi + if test -n "$LIBUDISKS2_LIBS"; then + LIBUDISKS2_TRUE= + LIBUDISKS2_FALSE='#' +else + LIBUDISKS2_TRUE='#' + LIBUDISKS2_FALSE= +fi + + + -# check libatasmart +# Check libatasmart pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ATASMART" >&5 @@ -8917,7 +8358,7 @@ else fi -# libatiadl +# Check libatiadl # Check whether --with-libatiadl was given. if test "${with_libatiadl+set}" = set; then : @@ -9001,7 +8442,7 @@ fi ############### psensor-server -# libmicrohttpd, mandatory for psensor-server +# Check libmicrohttpd, mandatory for psensor-server LIBMICROHTTPD_LIBS= pkg_failed=no @@ -9089,8 +8530,7 @@ fi -# GTop, optional - +# Check gtop2, optional # Check whether --with-gtop was given. if test "${with_gtop+set}" = set; then : @@ -9439,6 +8879,14 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -9467,6 +8915,10 @@ if test -z "${GTK_TRUE}" && test -z "${GTK_FALSE}"; then as_fn_error $? "conditional \"GTK\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${LIBUDISKS2_TRUE}" && test -z "${LIBUDISKS2_FALSE}"; then + as_fn_error $? "conditional \"LIBUDISKS2\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${ATASMART_TRUE}" && test -z "${ATASMART_FALSE}"; then as_fn_error $? "conditional \"ATASMART\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -9912,7 +9364,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by psensor $as_me 1.1.1, which was +This file was extended by psensor $as_me 1.1.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -9979,7 +9431,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -psensor config.status 1.1.1 +psensor config.status 1.1.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -10734,7 +10186,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files + # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in @@ -10747,7 +10199,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -10781,21 +10233,19 @@ $as_echo X"$mf" | continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue + test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || @@ -10838,7 +10288,7 @@ $as_echo X"$file" | case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -10854,8 +10304,7 @@ $as_echo X"$file" | if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - gt_tab=`printf '\t'` - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration @@ -10866,12 +10315,12 @@ $as_echo X"$file" | test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assignment from automake < 1.5. + # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. + # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES diff --git a/configure.ac b/configure.ac index c81887f..e13331b 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([psensor], [1.1.1],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor]) +AC_INIT([psensor], [1.1.2],[jeanfi@gmail.com],[psensor],[http://wpitchoune.net/psensor]) AM_INIT_AUTOMAKE([-Wall gnu]) @@ -26,15 +26,6 @@ AM_PROG_AR AC_PATH_X AC_CHECK_HEADERS([stdbool.h]) -# Checks for typedefs, structures, and compiler characteristics. -AC_TYPE_SIZE_T -AC_TYPE_SSIZE_T - -# Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_CHECK_FUNCS([gettimeofday memmove socket strdup strtol]) - AM_GNU_GETTEXT_VERSION([0.16]) AM_GNU_GETTEXT([external]) @@ -68,8 +59,10 @@ AM_CONDITIONAL(XEXT, test -n "$XEXT_LIBS") AC_SUBST(XEXT_CFLAGS) AC_SUBST(XEXT_LIBS) -# Checks GTK+ 3.0 -PKG_CHECK_MODULES(GTK, gtk+-3.0,,[AC_MSG_WARN("gtk missing psensor will not be built")]) +# Check GTK+ 3.0 +PKG_CHECK_MODULES(GTK, + [gtk+-3.0 >= 3.4],, + [AC_MSG_WARN("gtk missing psensor will not be built")]) AM_CONDITIONAL(GTK, test -n "$GTK_LIBS") # ensure that only allowed headers are included GTK_CFLAGS+=" -DGTK_DISABLE_SINGLE_INCLUDES " @@ -81,9 +74,16 @@ GTK_CFLAGS+=" -DGSEAL_ENABLE " AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) -### Optional +# Check udisks2 +PKG_CHECK_MODULES(LIBUDISKS2, + udisks2, + [AC_DEFINE([HAVE_LIBUDISKS2],[1],[Use libudisks])], + [AC_MSG_WARN("Library udisks2 not present")]) +AM_CONDITIONAL(LIBUDISKS2, test -n "$LIBUDISKS2_LIBS") +AC_SUBST(LIBUDISKS2_CFLAGS) +AC_SUBST(LIBUDISKS2_LIBS) -# check libatasmart +# Check libatasmart PKG_CHECK_MODULES(ATASMART, libatasmart, [AC_DEFINE([HAVE_ATASMART],[1],[Use libatasmart])], [AC_MSG_WARN("Library atasmart not present")]) @@ -195,7 +195,7 @@ AC_SUBST(UNITY_CFLAGS) AC_SUBST(UNITY_LIBS) AM_CONDITIONAL(UNITY, test -n "$UNITY_LIBS") -# libatiadl +# Check libatiadl AC_ARG_WITH(libatiadl, [ --with-libatiadl[=DIR] use libatiadlxx in DIR],[ ATIADL_DIR=${withval} @@ -218,7 +218,7 @@ AC_SUBST(LIBATIADL_LIBS) ############### psensor-server -# libmicrohttpd, mandatory for psensor-server +# Check libmicrohttpd, mandatory for psensor-server LIBMICROHTTPD_LIBS= PKG_CHECK_MODULES(LIBMICROHTTPD, libmicrohttpd, @@ -228,8 +228,7 @@ AM_CONDITIONAL(LIBMICROHTTPD, test -n "$LIBMICROHTTPD_LIBS") AC_SUBST(LIBMICROHTTPD_CFLAGS) AC_SUBST(LIBMICROHTTPD_LIBS) -# GTop, optional - +# Check gtop2, optional AC_ARG_WITH(gtop, [ --with-gtop[=yes|no] use gtop],[ with_gtop=$withval],[ diff --git a/doc/Makefile.in b/doc/Makefile.in index 232882b..7d71d4c 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,16 +79,32 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc -DIST_COMMON = $(dist_doc_DATA) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(dist_doc_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -98,9 +141,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(docdir)" DATA = $(dist_doc_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -126,7 +171,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -158,6 +202,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -183,7 +229,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -198,7 +243,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -307,11 +351,11 @@ uninstall-dist_docDATA: @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -449,16 +493,17 @@ uninstall-am: uninstall-dist_docDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-dist_docDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am uninstall-dist_docDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dist_docDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-dist_docDATA @ASCIIDOC_TRUE@faq.html: faq.txt ../www/style.css diff --git a/doc/faq.html b/doc/faq.html index 23cde0a..293d41d 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -392,7 +392,8 @@ asciidoc.install(2);

    1. No sensors or only cpu usage is displayed

    -

    Psensor is relying on few libraries or softwares for retrieving the information about the computer:

    +

    Psensor is relying on few libraries or softwares for retrieving the +information about the computer:

    • @@ -431,13 +432,26 @@ proprietary driver Catalyst/fglx: use aticonfig to

    +
+

For hard disk drives, psensor can use:

+
    +
  • +

    +udisks2: added since 1.1.2 release. It is the default and + recommended provider. +

    +
  • -HDDs: it uses the hddtemp daemon. Verify that it is - correctly reporting temperature by using the command: sudo - hddtemp /dev/sda. If hddtemp does not support your disk, - you may want to try using the libatasmart support instead - (option --use-libatasmart). +hddtemp: verify that it is correctly reporting temperature by + using the command: sudo hddtemp /dev/sda. It is the default + provider until 1.1.2 release. +

    +
  • +
  • +

    +atasmart library: before the 1.1.2 release it can be enabled + by using the command line option --use-libatasmart.

@@ -446,6 +460,8 @@ displayed by Psensor, it is probably a bug in Psensor, so please report it. Otherwise, the issue is on the underlying software itself and you should contact the corresponding development team or refer to its documentation.

+

Since the release 1.1.2, the providers can be enabled or disabled directly +from the user interface (Preferences>Provider).

@@ -681,43 +697,42 @@ the option Launch on session startup.

This feature is requiring that the Desktop Environment supports the XDG specification.

- - -
-

16. How to monitor the temperature of a disk?

-
-

By default, Psensor is using hddtemp to retrieve the temperature of -the disks.

-

If hddtemp is installed but no disk temperature is reported, check -that the daemon is running by using for example the command ps --eaf|grep hddtemp. -It should output something like:

+

How to monitor the temperature of a disk with hddtemp?

-
root      1433     1  0 May28 ?        00:00:21 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | /dev/sdb
+
Until the release 1.1.2, Psensor is using +hddtemp+ by default to
+retrieve the temperature of the disks.
+
+If +hddtemp+ is installed but no disk temperature is reported, check
+that the daemon is running by using for example the command +ps
+-eaf|grep hddtemp+.
+It should output something like:
-

Depending on the Linux distribution, the installation of the hddtemp -package does not enable the hddtemp daemon automaticaly.

-

In this case, edit the file /etc/default/hddtemp and set -RUN_DAEMON to "true" like in the following example:

+

root 1433 1 0 May28 ? 00:00:21 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | /dev/sdb

-
# hddtemp network daemon switch. If set to true, hddtemp will listen
+
Depending on the Linux distribution, the installation of the +hddtemp+
+package does not enable the hddtemp daemon automaticaly.
+
+In this case, edit the file +/etc/default/hddtemp+ and set
++RUN_DAEMON+ to +"true"+ like in the following example:
+
+

# hddtemp network daemon switch. If set to true, hddtemp will listen # for incoming connections. -RUN_DAEMON="true" +RUN_DAEMON="true"

+
+
+
For Debian/Ubuntu, you can use
-

For Debian/Ubuntu, you can use

+

dpkg-reconfigure hddtemp

-
dpkg-reconfigure hddtemp
+
and reply +yes+ when asked whether hddtemp daemon must be
+run during the startup.
+
+[[S_SimilarSoft]]
+Is there any other similar softwares?
-

and reply yes when asked whether hddtemp daemon must be -run during the startup.

-
-
-
-

17. Is there any other similar softwares?

-

Here is a list of few well-known sensors monitoring softwares:

  • @@ -745,7 +760,7 @@ more general, but can be configured to display sensors
-

18. Is it possible to hide sensors in the main window?

+

16. Is it possible to hide sensors in the main window?

Before v1.1.1, the sensors retrieved from the lm-sensor library can be ignored directly in the lm-sensor configuration. See the manpage @@ -758,7 +773,7 @@ of sensors.conf(5).


diff --git a/doc/faq.txt b/doc/faq.txt index 56350b6..c837bf3 100644 --- a/doc/faq.txt +++ b/doc/faq.txt @@ -7,7 +7,8 @@ The last version of this FAQ is available at http://wpitchoune.net/gitweb/?p=pse No sensors or only cpu usage is displayed ----------------------------------------- -Psensor is relying on few libraries or softwares for retrieving the information about the computer: +Psensor is relying on few libraries or softwares for retrieving the +information about the computer: - motherboard and CPUs sensors: the information is retrieved from the lm-sensors library, it requires that @@ -29,11 +30,17 @@ Psensor is relying on few libraries or softwares for retrieving the information note: it requires that you are using a Psensor binary compiled with the ATI support. - - HDDs: it uses the hddtemp daemon. Verify that it is - correctly reporting temperature by using the command: +sudo - hddtemp /dev/sda+. If hddtemp does not support your disk, - you may want to try using the libatasmart support instead - (option +--use-libatasmart+). +For hard disk drives, psensor can use: + + - udisks2: added since 1.1.2 release. It is the default and + recommended provider. + + - hddtemp: verify that it is correctly reporting temperature by + using the command: +sudo hddtemp /dev/sda+. It is the default + provider until 1.1.2 release. + + - atasmart library: before the 1.1.2 release it can be enabled + by using the command line option +--use-libatasmart+. If the underlying software is reporting sensors which are not displayed by Psensor, it is probably a bug in Psensor, so please @@ -41,6 +48,9 @@ report it. Otherwise, the issue is on the underlying software itself and you should contact the corresponding development team or refer to its documentation. +Since the release 1.1.2, the providers can be enabled or disabled directly +from the user interface (+Preferences>Provider+). + [[S_ATIMonitoring]] How to monitor an ATI card using the Catalyst driver? ----------------------------------------------------- @@ -230,11 +240,11 @@ http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html[XDG specification]. [[S_disk]] -How to monitor the temperature of a disk? +How to monitor the temperature of a disk with +hddtemp+? ----------------------------------------- -By default, Psensor is using +hddtemp+ to retrieve the temperature of -the disks. +Until the release 1.1.2, Psensor is using +hddtemp+ by default to +retrieve the temperature of the disks. If +hddtemp+ is installed but no disk temperature is reported, check that the daemon is running by using for example the command +ps diff --git a/icons/hicolor/14x14/Makefile.in b/icons/hicolor/14x14/Makefile.in index ebadd0a..7bd0a08 100644 --- a/icons/hicolor/14x14/Makefile.in +++ b/icons/hicolor/14x14/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/14x14 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/hicolor/16x16/Makefile.in b/icons/hicolor/16x16/Makefile.in index c444eee..4148855 100644 --- a/icons/hicolor/16x16/Makefile.in +++ b/icons/hicolor/16x16/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/16x16 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/hicolor/22x22/Makefile.in b/icons/hicolor/22x22/Makefile.in index fe576ab..7b2b13a 100644 --- a/icons/hicolor/22x22/Makefile.in +++ b/icons/hicolor/22x22/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/22x22 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/hicolor/24x24/Makefile.in b/icons/hicolor/24x24/Makefile.in index 1c54167..25e88f4 100644 --- a/icons/hicolor/24x24/Makefile.in +++ b/icons/hicolor/24x24/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/24x24 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/hicolor/32x32/Makefile.in b/icons/hicolor/32x32/Makefile.in index 2a3477c..530450f 100644 --- a/icons/hicolor/32x32/Makefile.in +++ b/icons/hicolor/32x32/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/32x32 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/hicolor/48x48/Makefile.in b/icons/hicolor/48x48/Makefile.in index a9c58ff..ca6ce55 100644 --- a/icons/hicolor/48x48/Makefile.in +++ b/icons/hicolor/48x48/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/48x48 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/hicolor/64x64/Makefile.in b/icons/hicolor/64x64/Makefile.in index 6293fd4..0660305 100644 --- a/icons/hicolor/64x64/Makefile.in +++ b/icons/hicolor/64x64/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/64x64 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/hicolor/scalable/Makefile.in b/icons/hicolor/scalable/Makefile.in index 84c9fb8..3d3706c 100644 --- a/icons/hicolor/scalable/Makefile.in +++ b/icons/hicolor/scalable/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/hicolor/scalable -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/ubuntu-mono-dark/apps/22/Makefile.in b/icons/ubuntu-mono-dark/apps/22/Makefile.in index 803c432..f156ce5 100644 --- a/icons/ubuntu-mono-dark/apps/22/Makefile.in +++ b/icons/ubuntu-mono-dark/apps/22/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/ubuntu-mono-dark/apps/22 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/ubuntu-mono-dark/status/22/Makefile.in b/icons/ubuntu-mono-dark/status/22/Makefile.in index a300081..a72a4e7 100644 --- a/icons/ubuntu-mono-dark/status/22/Makefile.in +++ b/icons/ubuntu-mono-dark/status/22/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/ubuntu-mono-dark/status/22 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/icons/ubuntu-mono-light/status/22/Makefile.in b/icons/ubuntu-mono-light/status/22/Makefile.in index e7c0149..2ac509c 100644 --- a/icons/ubuntu-mono-light/status/22/Makefile.in +++ b/icons/ubuntu-mono-light/status/22/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/ubuntu-mono-light/status/22 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(psensordistpixdir)" DATA = $(psensordistpix_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -311,11 +355,11 @@ uninstall-psensordistpixDATA: @list='$(psensordistpix_DATA)'; test -n "$(psensordistpixdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(psensordistpixdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -453,17 +497,17 @@ uninstall-am: uninstall-psensordistpixDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-psensordistpixDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-psensordistpixDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-psensordistpixDATA \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-psensordistpixDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/m4/gettext.m4 b/m4/gettext.m4 new file mode 100644 index 0000000..b5ce322 --- /dev/null +++ b/m4/gettext.m4 @@ -0,0 +1,417 @@ +# gettext.m4 serial 58 (gettext-0.16) +dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2006. + +dnl Macro to add for using GNU gettext. + +dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). +dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The +dnl default (if it is not specified or empty) is 'no-libtool'. +dnl INTLSYMBOL should be 'external' for packages with no intl directory, +dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. +dnl If INTLSYMBOL is 'use-libtool', then a libtool library +dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, +dnl depending on --{enable,disable}-{shared,static} and on the presence of +dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library +dnl $(top_builddir)/intl/libintl.a will be created. +dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext +dnl implementations (in libc or libintl) without the ngettext() function +dnl will be ignored. If NEEDSYMBOL is specified and is +dnl 'need-formatstring-macros', then GNU gettext implementations that don't +dnl support the ISO C 99 formatstring macros will be ignored. +dnl INTLDIR is used to find the intl libraries. If empty, +dnl the value `$(top_builddir)/intl/' is used. +dnl +dnl The result of the configuration is one of three cases: +dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled +dnl and used. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 2) GNU gettext has been found in the system's C library. +dnl Catalog format: GNU --> install in $(datadir) +dnl Catalog extension: .mo after installation, .gmo in source tree +dnl 3) No internationalization, always use English msgid. +dnl Catalog format: none +dnl Catalog extension: none +dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. +dnl The use of .gmo is historical (it was needed to avoid overwriting the +dnl GNU format catalogs when building on a platform with an X/Open gettext), +dnl but we keep it in order not to force irrelevant filename changes on the +dnl maintainers. +dnl +AC_DEFUN([AM_GNU_GETTEXT], +[ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT +])])])])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT +])])])]) + define([gt_included_intl], + ifelse([$1], [external], + ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), + [yes])) + define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) + gt_NEEDS_INIT + AM_GNU_GETTEXT_NEED([$2]) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. + gt_INTL_MACOSX + + dnl Set USE_NLS. + AC_REQUIRE([AM_NLS]) + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl Add a version number to the cache macros. + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + if test $gt_api_version -ge 3; then + gt_revision_test_code='[[ +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +]]' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], + [AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], + [eval "$gt_func_gnugettext_libc=yes"], + [eval "$gt_func_gnugettext_libc=no"])]) + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + [$gt_func_gnugettext_libintl], + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [eval "$gt_func_gnugettext_libintl=yes"], + [eval "$gt_func_gnugettext_libintl=no"]) + dnl Now see whether libintl exists and depends on libiconv. + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + CATOBJEXT= + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Some extra flags are needed during linking. + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE(HAVE_DCGETTEXT, 1, + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATOBJEXT) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLOBJS= + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST(INTLOBJS) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) + + dnl Make all documented variables known to autoconf. + AC_SUBST(LIBINTL) + AC_SUBST(LTLIBINTL) + AC_SUBST(POSUB) +]) + + +dnl Checks for special options needed on MacOS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in MacOS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + gt_cv_func_CFPreferencesCopyAppValue, + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], + [CFPreferencesCopyAppValue(NULL, NULL)], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, + [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in MacOS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, + [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) + + +dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. +m4_define([gt_NEEDS_INIT], +[ + m4_divert_text([DEFAULTS], [gt_needs=]) + m4_define([gt_NEEDS_INIT], []) +]) + + +dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) +AC_DEFUN([AM_GNU_GETTEXT_NEED], +[ + m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) +]) + + +dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) +AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff --git a/m4/iconv.m4 b/m4/iconv.m4 new file mode 100644 index 0000000..654c415 --- /dev/null +++ b/m4/iconv.m4 @@ -0,0 +1,101 @@ +# iconv.m4 serial AM4 (gettext-0.11.3) +dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) +]) + +AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif +], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi +]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 new file mode 100644 index 0000000..96c4e2c --- /dev/null +++ b/m4/lib-ld.m4 @@ -0,0 +1,110 @@ +# lib-ld.m4 serial 3 (gettext-0.13) +dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl Subroutines of libtool.m4, +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. + +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +AC_DEFUN([AC_LIB_PROG_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by GCC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(acl_cv_path_LD, +[if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$acl_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_LIB_PROG_LD_GNU +]) diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 new file mode 100644 index 0000000..f95b7ba --- /dev/null +++ b/m4/lib-link.m4 @@ -0,0 +1,644 @@ +# lib-link.m4 serial 9 (gettext-0.16) +dnl Copyright (C) 2001-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_PREREQ(2.50) + +dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and +dnl augments the CPPFLAGS variable. +AC_DEFUN([AC_LIB_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) +]) + +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl searches for libname and the libraries corresponding to explicit and +dnl implicit dependencies, together with the specified include files and +dnl the ability to compile and link the specified testcode. If found, it +dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and +dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs +dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. +AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], +[ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + undefine([Name]) + undefine([NAME]) +]) + +dnl Determine the platform dependent parameters needed to use rpath: +dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, +dnl hardcode_direct, hardcode_minus_L. +AC_DEFUN([AC_LIB_RPATH], +[ + dnl Tell automake >= 1.10 to complain if config.rpath is missing. + m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + ]) + wl="$acl_cv_wl" + libext="$acl_cv_libext" + shlibext="$acl_cv_shlibext" + hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + hardcode_direct="$acl_cv_hardcode_direct" + hardcode_minus_L="$acl_cv_hardcode_minus_L" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE(rpath, + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) +]) + +dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and +dnl the libraries corresponding to explicit and implicit dependencies. +dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. +AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +[ + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib$1-prefix], +[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + found_dir= + found_la= + found_so= + found_a= + if test $use_additional = yes; then + if test -n "$shlibext" \ + && { test -f "$additional_libdir/lib$name.$shlibext" \ + || { test "$shlibext" = dll \ + && test -f "$additional_libdir/lib$name.dll.a"; }; }; then + found_dir="$additional_libdir" + if test -f "$additional_libdir/lib$name.$shlibext"; then + found_so="$additional_libdir/lib$name.$shlibext" + else + found_so="$additional_libdir/lib$name.dll.a" + fi + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + else + if test -f "$additional_libdir/lib$name.$libext"; then + found_dir="$additional_libdir" + found_a="$additional_libdir/lib$name.$libext" + if test -f "$additional_libdir/lib$name.la"; then + found_la="$additional_libdir/lib$name.la" + fi + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$shlibext" \ + && { test -f "$dir/lib$name.$shlibext" \ + || { test "$shlibext" = dll \ + && test -f "$dir/lib$name.dll.a"; }; }; then + found_dir="$dir" + if test -f "$dir/lib$name.$shlibext"; then + found_so="$dir/lib$name.$shlibext" + else + found_so="$dir/lib$name.dll.a" + fi + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + else + if test -f "$dir/lib$name.$libext"; then + found_dir="$dir" + found_a="$dir/lib$name.$libext" + if test -f "$dir/lib$name.la"; then + found_la="$dir/lib$name.la" + fi + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + dnl The hardcoding into $LIBNAME is system dependent. + if test "$hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi +]) + +dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, +dnl unless already present in VAR. +dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes +dnl contains two or three consecutive elements that belong together. +AC_DEFUN([AC_LIB_APPENDTOVAR], +[ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done +]) + +dnl For those cases where a variable contains several -L and -l options +dnl referring to unknown libraries and directories, this macro determines the +dnl necessary additional linker options for the runtime path. +dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) +dnl sets LDADDVAR to linker options needed together with LIBSVALUE. +dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, +dnl otherwise linking without libtool is assumed. +AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], +[ + AC_REQUIRE([AC_LIB_RPATH]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + $1= + if test "$enable_rpath" != no; then + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode directories into the resulting + dnl binary. + rpathdirs= + next= + for opt in $2; do + if test -n "$next"; then + dir="$next" + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem"; then + rpathdirs="$rpathdirs $dir" + fi + next= + else + case $opt in + -L) next=yes ;; + -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` + dnl No need to hardcode the standard /usr/lib. + if test "X$dir" != "X/usr/$acl_libdirstem"; then + rpathdirs="$rpathdirs $dir" + fi + next= ;; + *) next= ;; + esac + fi + done + if test "X$rpathdirs" != "X"; then + if test -n ""$3""; then + dnl libtool is used for linking. Use -R options. + for dir in $rpathdirs; do + $1="${$1}${$1:+ }-R$dir" + done + else + dnl The linker is used for linking directly. + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user + dnl must pass all path elements in one option. + alldirs= + for dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="$flag" + else + dnl The -rpath options are cumulative. + for dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + $1="${$1}${$1:+ }$flag" + done + fi + fi + fi + fi + fi + AC_SUBST([$1]) +]) diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 new file mode 100644 index 0000000..a8684e1 --- /dev/null +++ b/m4/lib-prefix.m4 @@ -0,0 +1,185 @@ +# lib-prefix.m4 serial 5 (gettext-0.15) +dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and +dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't +dnl require excessive bracketing. +ifdef([AC_HELP_STRING], +[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], +[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + +dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed +dnl to access previously installed libraries. The basic assumption is that +dnl a user will want packages to use other packages he previously installed +dnl with the same --prefix option. +dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate +dnl libraries, but is otherwise very convenient. +AC_DEFUN([AC_LIB_PREFIX], +[ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], +[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], +[ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + fi + fi +]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test -n "$GCC"; then + case $host_os in + linux*) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi +]) + +dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, +dnl acl_final_exec_prefix, containing the values to which $prefix and +dnl $exec_prefix will expand at the end of the configure script. +AC_DEFUN([AC_LIB_PREPARE_PREFIX], +[ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the +dnl variables prefix and exec_prefix bound to the values they will have +dnl at the end of the configure script. +AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], +[ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" +]) + +dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing +dnl the basename of the libdir, either "lib" or "lib64". +AC_DEFUN([AC_LIB_PREPARE_MULTILIB], +[ + dnl There is no formal standard regarding lib and lib64. The current + dnl practice is that on a system supporting 32-bit and 64-bit instruction + dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit + dnl libraries go under $prefix/lib. We determine the compiler's default + dnl mode by looking at the compiler's library search path. If at least + dnl of its elements ends in /lib64 or points to a directory whose absolute + dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the + dnl default, namely "lib". + acl_libdirstem=lib + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi +]) diff --git a/m4/nls.m4 b/m4/nls.m4 new file mode 100644 index 0000000..7967cc2 --- /dev/null +++ b/m4/nls.m4 @@ -0,0 +1,31 @@ +# nls.m4 serial 3 (gettext-0.15) +dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ(2.50) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) diff --git a/m4/po.m4 b/m4/po.m4 new file mode 100644 index 0000000..00133ef --- /dev/null +++ b/m4/po.m4 @@ -0,0 +1,428 @@ +# po.m4 serial 13 (gettext-0.15) +dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ(2.50) + +dnl Checks for all prerequisites of the po subdirectory. +AC_DEFUN([AM_PO_SUBDIRS], +[ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AM_NLS])dnl + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Test whether it is GNU msgfmt >= 0.15. +changequote(,)dnl + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([MSGFMT_015]) +changequote(,)dnl + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac +changequote([,])dnl + AC_SUBST([GMSGFMT_015]) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Test whether it is GNU xgettext >= 0.15. +changequote(,)dnl + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac +changequote([,])dnl + AC_SUBST([XGETTEXT_015]) + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) + + dnl Installation directories. + dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we + dnl have to define it here, so that it can be used in po/Makefile. + test -n "$localedir" || localedir='${datadir}/locale' + AC_SUBST([localedir]) + + AC_CONFIG_COMMANDS([po-directories], [[ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assigment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done]], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) +]) + +dnl Postprocesses a Makefile in a directory containing PO files. +AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], +[ + # When this code is run, in config.status, two variables have already been + # set: + # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, + # - LINGUAS is the value of the environment variable LINGUAS at configure + # time. + +changequote(,)dnl + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + # Find a way to echo strings without interpreting backslash. + if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='echo' + else + if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then + gt_echo='printf %s\n' + else + echo_func () { + cat < "$ac_file.tmp" + if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + cat >> "$ac_file.tmp" < /dev/null; then + # Add dependencies that cannot be formulated as a simple suffix rule. + for lang in $ALL_LINGUAS; do + frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` + cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. + +AC_PREREQ(2.50) + +# Search path for a program which passes the given test. + +dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST], +[ +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) diff --git a/po/LINGUAS b/po/LINGUAS index 3240975..8f4503b 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -10,6 +10,7 @@ de es fr hu +hr it lv nl diff --git a/po/POTFILES.in b/po/POTFILES.in index 71ba7c7..fa87f3d 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -3,10 +3,10 @@ src/glade/psensor.glade src/glade/psensor-pref.glade src/glade/sensor-edit.glade src/lib/amd.c -src/lib/cpu.c src/lib/hdd_atasmart.c src/lib/hdd_hddtemp.c src/lib/lmsensor.c +src/lib/pgtop2.c src/lib/plog.c src/lib/nvidia.c src/lib/psensor.c diff --git a/po/de.gmo b/po/de.gmo index 09cbfd54fd6b7a167835574578083f3c91f1e2b0..cae1870f1fa44495af70428199d2b798e0412418 100644 GIT binary patch delta 3348 zcmZ|Re{7Z29mnx=>urHng_f4mO6x=E4@zl!Z@1R=3Jl7R0-~*G`87dr+o$b?^4xlV z*n&T9M4Y;1X6^~gTsC9p+&?;Wxl5L%63nI{Ot&F1Cd|djvdJ_|lZ`BnWIx`Ydrz}v z2`ByD*E#1t_dMtMo^zh`^xoG8Gar-%PZ-KkVi|GyI%8hI*XHp-*;;H&H*UjCc+7eR zdud-^V$1>T$3u7$Ls)&iF`Mx=9K>gE94}!22W~KCu`wC5lgcVOMzL8J+V(6~(*6i* z@n2YtH8&b_Gj?0|UTFU7hXW-XcjHZdlS~tZbXf@4V$>X8MhtZK;7^aEW|U& zJOtH{h5*%%(ylw%P(xD=bv!S$$dqSi6gb%(7f{3rJ}4^nBuBc;ahXJ+`I z%Vbd#dIM|lcc>d)#U)r&mY+xssvWj&#YWoqqL%b4))!E}e;qZkw=tt1o~NQ4evE2g zwU+XjJgixXYzxzk3vdnU`Yp(x+06%YGKVmT4`T{UvM+WuO#!C{vAEns(GF=&|kNs8jGX z>Or2x?{WTKMjhYGb{=OJm9OIf{t@rMPV#yXkK+`6hCMiTlQDfbgZkaaIEm}oX*$+nr$ko0|#_D0l_O(UB=V|*(0bj(^m#1*s)d0eWd8HceCH{eUCwf>9sAGnHk zAuok6hOi5Vtk0sB>Ktl`{)XDrpJR>A|9mH(>PBQ)&1&Q&WqMJm>&G_Shn@HoYH3be z-$d<|x2)%}oK##ut@)?R^J`tfEVSlr$ec|d)^UF`N=0k`lsfP`d?*8_umLZk-i-6; zyamI!5@V<*|0Zg}r%)67CGuy^@u6|A*mfal)_BdR7h6AOuA{P_igte#wVBe$J~LlM zt?f(q*`zxsNOSo$g7ox@~NA{noZXo|kMF$;9)t#t; zrcrBu3^mi|QJFc3TDx~}GhVbd@#BYRA4Z*~Pp}aGiW=v0Bnf5-JFW;Ls0ZHAME+Z- z4AP+#KZ}Vm>yYX5NOn(GI)=ccC`ri`G{$$Yz^G$W8uETtg_c9x+$$qta#@ zeHbD#L$-ta=Zey#Csc8X2|}rMh@*tkrkNimritx@$~K~vP}=Vy_7E!Cm^$|eMI{$NpCCa5vStuZMmfHyxop)`d1;jdH3y~(YbaUkZl?RBmw&PZe6WWL>TE0!W zTK*pu?W-Mg_t!B|i4v2<5kebIDZiKKAhr_wiTjBz;tPb{7rX#-|JiK70YYUsPi~j1 zs$=^9Wt5IFJ-?1zlDLh~X6Ys7N?7_X_7ckpZN$Cv_!uO#>9n!_x8!y<9oo6tjCvPL5j%-)Vy@gy+n*ZKHTRBnIRIQ%fiMTiBjJnZOI^jC0Ba?2MX-N9-SJo83 zzbmW6#L`+ZQ(0S~-%RCxlT0OI-dMzGNVa9y-1x&lcK)J!0s$xMmWBh_GiBw0Y;*a= zK+sFZ6WN|6_XYgZl@@&^al*HRd%Bv7{a1^t{XbV9_h(8fvIWb|7U-eA-?BEJnh%^?^Oc9| z!}WU1EzybO@VJ|Bwxqp7saV`gk{)Fz;{4)Uqobbxn-w*|T(<6RS)rjW<@s<`om!8y zEX%%CySN}Q;P)?Y&Gs#SD3E=l?q`AQZ2ita_OZs6f}*?JTy{QL`Dwr}XsPuFR>w2{ zo&3hQM~a8ixm!ny9cNS2i@6id?wEJf^_=lkYBCvVZ=aZZ+BVNkwLfxy>xeFOJujAY zdZX!)Bgt!Bni_Y9yX3!gTjznkTUNqA|F3X~W!O~2eTh?W$bDHTkvMqB?Bgq#3aM`}U-shGs z(Ubn}=bY2$dCqgr`JLxV$K}15cV|z0Oi@k}i;3wIm3jd`ox%_0Tv(}fcpkUl`{?3| zY5De3*hKp}9>l8YO7-9=tjCYB8JCtQ)q&mEjX%YZQW;fUs?;1hYH&L?;u;)8#!{C9 zU&E!e-@pp|1gmkujC}h}TtNFEPQrd<40SyC|4`8X9Ljh<#A%GLhN(=ZV+5Dso461^ zMUC@j<{!8wa3jj~O@XcWAKL9GFSK)(Qv9iYe&|wzC@=OTmg9M3vD668XMFVz6?vl@ z(t(p_=Pk!7+N)8vW`E%QLH}bomHvw;4}1k>=D$UG&RZxi@KMl~L8N~HGB;I+nF&44QS*f#Fj2D9bOE{PI&w}=wxP$iFD9>5W zKjlRub6J16a1}qYr`u4rAdd3DZ{Q+)9A$>*QI_x$%8R~(>+u6@#Hx8p8MILbdJW}8 zN071AHPrYwlr1Ti^_RWWtP888ssp1a1MR>v>_JJsQz!@H`zQmPLs_981ztrN@b@TN z_Xm`jPGmG$sW8g@l_(Ra%~0VQwGrjQT__LSi?Sj;LH`iSikv}Np(l|^tIJr4uj3N@ z1ZBk*GFm;ZLb=|?J8%ePtABxV+A`OIjtZtJ$89;DIBlgYEb} z?!*mb=3yMd0sI%P$0W9%jhV1o`z!P{Y z?XP14Ucfc@*T8a}--N%tJ)oGNKeID6%bq@I^saG&8=l>d&C>`%&9hQAj zsoQZI%8e%jA418Mp}LY1m(U5 zaS{$9d8!_+V*O=_zDoyx>gW8(13y67yMLp+@m$tdmT)P`-Zo=1b_AZqg)F}NsP*!LFx8S#sOVxWQD;4Hqd4YD6W4jN-n0YR!TtJd}G~r`-mQC z1m(`aV}X*Cg|eB-G{PY^67sVBgd9Ct$yVYh(Md4j%;?8K_KK|@-GW?nmJw3g3CRs9l8oC3*}|_7_Yt!E69_4H%lVg&O}Dhhl_k`7 zjcXsKE+<8DqLHwOlY|uc>?VmiqK%NFB}MXJeCZh9pe~7<@%Z6WKKe=RLMieskYb1< zqcsu@B{Aigkt!-qR1)$@ma>v)B7B0JQz_yQF^iDWOROdK67r3Zq}-mrg&IYU#R?)u zNJbaRT~xkINcI-WSE<;9eC1TOIeaP;=}VhP!s)bpE1k4FUu#W|9&7S1&+?AySjyA3 zlkU;UlH|t(6 z)$2LNm)EjAr{8$mP5JWLyo#s0ELWPI@wuqq=$-kyTG~6byo~WIzt1yuxodN-hgKv^ zmoIZOaWB>9+PW*1NO@|PanobyR+kHsmhYt8+{^Rs3l$d@C%dn-VsYH~zLPYmm~F92 zmXk1coeC!YXlePBpqgD$T2>X*qk6zgv3_aZ(2Ym+vUHtFB-5jVMs-)Vr=+U5(9T9n zD;f)ps4mnF_2w@>)a4n=H=_eHtHP6GbkfxR(O#2{EJ$R3u)q$li>zF$8|tI=4cSEt zD@s;JR@Lig=|%r#~y53ab@qayk=E%I`Kk`dFW*x0|6^>In6iA!G!Wn0P{rne1WjQPwUVR^~i#mZfw1I?~KU~KYe!0~L|V;pxZ$%dcx z=+Ea+WVdG=-c*xv1ID$DuTyfD?G&;sLY75#k7b$eAs4d`EGf&)SXNuK@t)ylyA#IM zySSb)jNX&-xIgZZc`?iDH2xU>*h!GRx2Sb_OQ?Gk#mtI K(X!iXj{FbM7;Xgs diff --git a/po/de.po b/po/de.po index 74cc44e..b23c4b0 100644 --- a/po/de.po +++ b/po/de.po @@ -7,32 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2014-04-30 16:48+0100\n" -"Last-Translator: Jean-Philippe Orsini \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-20 11:25+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: German\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-02-11 20:01+0000\n" -"X-Generator: Poedit 1.5.4\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Erzeugen des Webservers ist gescheitert." -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert." -#: src/cfg.c:569 +#: src/cfg.c:580 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert." @@ -42,7 +38,7 @@ msgid "About" msgstr "Info" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Einstellungen" @@ -71,6 +67,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "_Hilfe" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Wert" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Min." + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Max." + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Farbe" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Graph" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,316 +113,409 @@ msgstr "Unterseite" msgid "Edit Preferences" msgstr "Einstellungen bearbeiten" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Keine Fensterdekorationen verwenden" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Fenster unterhalb anheften" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Menü aktivieren" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Wert im Starter von Unity anzeigen" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Temperatureinheit:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Position der Sensorentabelle:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Benutzeroberfläche" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Fenster beim Programmstart ausblenden" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Fensterposition und -größe merken" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Vordergrund:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Hintergrund:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Hintergrunddeckkraft:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Min." - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Max." - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Farben" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Überwachungszeitraum:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "Minute(n)" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "Sekunde(n)" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Aktualisierungsintervall:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Messungen" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Graph" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Min." + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Max." + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "Sekunde(n)" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "Minute(n)" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Messintervall:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Sensorenprotokollierung aktivieren" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "Sekunde(n)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Sensoren" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Sensoreinstellungen bearbeiten" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Name" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Typ:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "N/V" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Sensorinformationen" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Chip:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Name:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Id:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Sensorgraphen darstellen" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Farbe:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Alarm" +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" +msgstr "" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Benachrichtigungen aktivieren" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Obere Grenze:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Untere Grenze:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Alarm" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -msgid "Display sensor in the list of sensors" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" msgstr "" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: ADL-Bibliothek konnte nicht gefunden werden." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: API der ADL-Bibliothek fehlt." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: ADL-Bibliothek konnte nicht initialisiert werden." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: Anzahl der Adapter konnte nicht ermittelt werden." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "Anzahl der AMD/ATI-Adapter: %d" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "Anzahl der aktiven AMD/ATI-Adapter: %d" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart: sk_disk_open() gescheitert: %s." +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: sk_disk_open() gescheitert: %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: Öffnen des Sockets gescheitert." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: Öffnen des Sockets gescheitert." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: Öffnen der Verbindung gescheitert." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: Öffnen der Verbindung gescheitert." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: Falsche Zeichenkette: %s." +msgid "%s: wrong string: %s." +msgstr "%s: Falsche Zeichenkette: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: Wert der Unterfunktion %s kann nicht ermittelt werden: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: Wert der Unterfunktion %s kann nicht ermittelt werden: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor: lmsensor_psensor_create gescheitert: Falscher Funktionstyp." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: Falscher Funktionstyp." -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor: Initialisierung gescheitert: %s." +msgid "%s: initialization failure: %s." +msgstr "%s: Initialisierung gescheitert: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Protokolldatei kann nicht geöffnet werden: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" -"Entweder wird kein proprietärer NVIDIA-Treiber verwendet oder die NVIDIA-GPU-" -"Temperatur kann nicht ermittelt werden." +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Ermittlung der NVIDIA-Informationen gescheitert." + +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Ermittlung der NVIDIA-Informationen gescheitert." + +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "Ermittlung der NVIDIA-Informationen gescheitert." + +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Verbindung zum X11-Server konnte nicht hergestellt werden." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Verbindung zum X11-Server konnte nicht hergestellt werden." +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Ermittlung der NVIDIA-Informationen gescheitert." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." msgstr "Ermittlung der NVIDIA-Informationen gescheitert." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "U/min" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -409,26 +523,26 @@ msgstr "%" msgid "HOME variable not set." msgstr "HOME-Variable ist nicht festgelegt." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Sensorprotokolldatei ist bereits geöffnet." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Sensorprotokolldatei kann nicht geöffnet werden: %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Sensorprotokolldatei ist nicht geöffnet." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "" "Sensorprotokolldatei ist nicht geöffnet und kann deswegen nicht geschlossen " "werden." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -444,12 +558,12 @@ msgstr "" "weiterverbreiten.\n" "Sie wird OHNE JEGLICHE GEWÄHRLEISTUNG zur Verfügung gestellt.\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Aufruf: %s [OPTION] …\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -457,11 +571,11 @@ msgstr "" "Psensor ist eine GTK+-Anwendung zur Überwachung von Hardware-Sensoren, " "inklusive Temperaturen und Lüftergeschwindigkeiten." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Optionen:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -469,7 +583,7 @@ msgstr "" " -h, --help Diese Hilfe anzeigen und beenden\n" " -v, --version Versionsinformationen anzeigen und beenden" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -477,57 +591,59 @@ msgstr "" " -u, --url=URL Die Adresse (URL) von psensor-server,\n" " Beispiel: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart atasmart-Bibliothek zur Festplattenüberwachung\n" -" anstelle des hddtemp-Dienstes nutzen" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance Erzeugung einer neuen Psensor-Anwendung erzwingen" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=STUFE Fehlerdiagnosestufe festlegen, Ganzzahl zwischen 0 und " "3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Programmfehler melden an: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-Website: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor wurde ohne Unterstützung für entfernte Sensoren kompiliert." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Fehlerdiagnosemodus wird aktiviert." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Rufen Sie »%s --help« auf, um weitere Informationen zu erhalten.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Es existiert bereits eine Psensor-Instanz." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Erzeugen des Webservers ist gescheitert." +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Daniel Winzen https://launchpad.net/~q-d\n" +" Dennis Baudys https://launchpad.net/~thecondordb\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Michael Egger https://launchpad.net/~michael-egger\n" +" Veit https://launchpad.net/~shoutbox" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -543,24 +659,24 @@ msgstr "Ungültiger Inhalt: %s" msgid "Invalid JSON: %s" msgstr "Ungültiges JSON: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

Anhalten des Servers angefordert

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Seite nicht gefunden – Gehen Sie zurück zur Startseite

" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server ist ein HTTP-Server zur Fernüberwachung von Hardware-Sensoren." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -568,7 +684,7 @@ msgstr "" " -h, --help\t\tDiese Hilfe anzeigen und beenden\n" " -v, --version\t\tVersionsinformationen anzeigen und beenden" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -576,110 +692,91 @@ msgstr "" " -p,--port=PORT\tWebserver-Port\n" " -w,--wdir=DIR\t\tOrdner, der Webserver-Seiten enthält" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL Fehlerdiagnoseebene festlegen, Ganzzahl zwischen 0 " "und 3" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=PATH Protokolldatei auf PATH festlegen" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr " --sensor-log-file=PATH Sensorenprotokolldatei auf PATH festlegen" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=S Sensorenprotokollierungsintervall auf S (Sekunden) " "festlegen" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP Abfrage: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Aktiviert den Fehlerdiagnosemodus: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Keine Sensoren erkannt." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Erzeugen des Webservers ist gescheitert." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Web-Server wurde gestartet auf Port: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW-Ordner: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "Adresse: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Aktivieren der Sensorenprotokollierung ist gescheitert." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor ist eine GTK-Anwendung zur Überwachung von Hardware-Sensoren" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" -msgstr "" -"Copyright © 2010-2014\n" -"jeanfi@gmail.com" - #: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Copyright © 2010-2014jeanfi@gmail.com" + +#: src/ui.c:96 msgid "About Psensor" msgstr "Info zu Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Psensor-Website" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Laden des Psensor-Symbols ist gescheitert." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Wählen Sie eine Vordergrundfarbe" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Sensor" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Wert" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Min." - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Max." +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Farbe" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Wählen Sie eine Vordergrundfarbe" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -690,9 +787,24 @@ msgid "Temperature alert" msgstr "Temperaturalarm" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Lüfteralarm" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Unbekannt" + +#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#~ msgstr "" +#~ "lmsensor: lmsensor_psensor_create gescheitert: Falscher Funktionstyp." + +#~ msgid "Sensor Information" +#~ msgstr "Sensorinformationen" + +#~ msgid "" +#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " +#~ "temperature." +#~ msgstr "" +#~ "Entweder wird kein proprietärer NVIDIA-Treiber verwendet oder die NVIDIA-" +#~ "GPU-Temperatur kann nicht ermittelt werden." diff --git a/po/es.gmo b/po/es.gmo index 360fd6541b76dcc161eaa86a326762940e50d50e..113165cd325e6c39428d7698ea43e2a8bf1b87cc 100644 GIT binary patch delta 3541 zcmZ|ReQZ_r9mnzC?E}yPLQA1fgB}=tpxx~QgZB0gC~c|Tx}qpn#0TKC_q4tA_S|yr zZ5c4QYMdJmBjbi-i%zBkbiwTDCeBT=MCWF*#4xi3T&C#aGN&V&5w;oBW$#b#so@X# zrQh@Vo#)^Aet*B4esIV42T~V{^Nt(ZLE>{nUY;>e;icJZXx}O{CWMD^6Tav>d#*8E z?Dyjid<4hveQd@%=NZ$3-^Kxa6-TjlzA*tjii?a%nPYV7IdB?R=|X@1BV5LQ%?-v> zU=LQ|F5i1`G5bHjK71BiF|fcG#%Mym-ME7Nn^4c&gSB{cdOu~%b972MZ~^o21LWQ2 z-_sWule;i`dQ1S;UU!XPWYZeU3bR!=lBWlH@~E#5&fbl z`=xIpf95J1PMLYd*#R!arR=Xoy?84w!JVi9P5Ju|`96U)9Dfc~+BbbaM%`bo{A+~O zbo8JG)C;@({jI*ckz|ReVl`{ zOQ^q2EG#jGKU2a+`>Rk72%-kK8u>FJHmc!fti~AXLB~*YLv@AIhlyn-stt0_AA!VgiY`5)>*rOZf;yb3vFno-yFq8_*zm5H7H@k6LgJb-+p zc^FlqCsC968PqEIm47^+muZ!x7SPd`Rp65>%phuA|AEg_suq#gTksa#fne@eh^Mdv|Bl08|XB0U<#MxDO5^dMho9V?lE)u zT;6Hwa2s~xMtl@i^Vfa_QE|Ly};QU;*zpC+R3fKSnLXv#6T? z4M~RiCu&aQS=rQ=p-NGY_1KI-ybE>wu>eImg%5r|A5b&PrUt zXKT6iqDFW-a>}@<0UkwV;&CJ?=6SU6&!{w3G(}hK-FDyr8pv`wXY9I$twR`||{o`oiX;cPZ#tuA>J8?;k zF_Soj`FII)@p29MS8D#lfd-sMVP;_n^@Sa%Nwf_aqqz^O@HA>5zeBQa&f#pljJoeC z>bb>r+2_?^8~aVD0gRwBFrK2L+4~@>w#QH@`w8m8mry18J@PT;b<_ZJ7}XpsKpii} z0t}%B(uMb6A8MUH?VG`i?Ee}AsNWwGCDcZIXyhS4$9DM!etbB}ND>N3{at zAfc4%Wieum*hZ)vylc7)%CO3yIi%L3^}m{qQmCfM!~Y4>Z9Cg95w{UqW_g5~vZdPh z68(gl=Fm*L$?xp<{W7)_%<1V&P9fDc5n`X#|J`(Q2-V~3#8-)H+t=7>CN>bN>CJ>z z%S`K_6DRoLn{J)HD$iYh|5^^PqgAFByOIH9JA<`K&Y{d8->t|!zqw_IW~aXXO;v1uV@nkLOwe?WFrwK)V@Lt5O-<{b$)GQ*IextB+W5RJ0aW5E) zj|8J`(($J3*!rzj!bw`mQ3rL_;;c1u)=I{$tyW#a8H&4+#H#cwb4xQP<{r+;uTF%m z?sT%OCQrTeg#~`+XT`NS)roXb+0ykoF>FU;PDD?MPdKiXh!2f9$ws47Q8${5+Og<< zI~k3;(^pP9WPTY_Au0N32BBi@GDzCo{D-oDF0O7Tz5QSefCX{y^sK z;*vn7r{u4JJdHmyuw;K=(TI~wM#r7_aKzr{k0Sj^+5Y0BXS<1*og@oGo)d{C6X~h) zdkWiwt6Qv=PEgWfRrWN+viDdA$Pwx&}eU9x0w~R(((TNGi zy4g$cLDsqfcg&6Nb<-UcPtVUjrNwFvh1a&GuT)geYHMk4T~(NVtFR*7UfJ0G+2!z@ zktpA5dwxNjgf(PG>}%_gd8aayqdaeFXwMelo7S3aXU@uodD+azVsXokrH@*RbCuAK z>X++|Z!}biBlVRPy3F=QCdVC@0y&=dn~dwk!xSL%y=5N;GQYLXD93wNd^eC8Sa~Fn z*-+D*lX<4@wLto*`kM5+4G*UJ?MZiNbi$5U-Eo&14Nj_cp$);=Br_ zHsDLR9^b?LIO{V?jbjR9_-ovVm6b~E!W}qKLmO2}H z9v|fV0xraB*o0FaD4s9JTF(1$IvU6`)M)s9ChUI|KTH29mZ)iW>;rua_iEW!jmhb@br%v#}SLzJPM9*VAUd9TZuWrz& z!CNRZtD0Rre=xKQ8|fcJ*`foXuZI0^;SBnJiR^~@14<_TiZbpeC=;k)a5-NP+KyQk zsrqS5#l0v4?MJy`4Ea+B`CxA96{I}WH<4XXXHf3Tqh#y{C}s10*nb79IsZ*~{t<5B z{O>5^Y^WyxGSfb;k_)%-A$x41Y{eH*27D7GrEjCG@G?pYub@oy7ItA78@w9VqlHIN z9&{aLqBoFdtDC5CY7P09Jy}X#WKX-1Y^mPR-6#*TaW1}yQjDkZetb9V{}~n@gp#Qn zp?6Ro`~VM;Eu4e0;5bUgda^WRpgkxnF_3$dk8*(McytoHY-g`Y? zspFWy$M8=$h;b@(Gro-SzJG{4*i9PO;t||~KgJPx|7%&6{2)A!jIEC1<9G^t@FSEx zZ)Z8;T9g$&ip$W$hwwF&`!69$P}fiva2sV|({=InoP)B}k6@j=|LbW;Q9Ox~Y7Zs# z$FLn=#O3%7M)5kz_tlGw&O;ecqikgpE{`xNY~p+`1ta&rfJ^Zl%G>h+*7AIHl?KKmdZ9GrEG3n%|*R`9DxX}Lsa%Y5T?fkEb)!sl zE6RWY$^;IhOyGF<{p(0F)MaGx>JyX+FJQGjnC+$^7aYM2cm`+SpHWuuF@6DWV>#|w zS=7V`=ghNktPTA3faPsi3~hWtR`gNpCx3~yNG_`Fp(gnXdWk| z$Yjz|l(G#^5mF}y2>#zOc}$`8NO-m%WzQ=JsU11i$@@Pkh%VwNv6WyaWc|gTPpR55LiVzckkoG{ z>TWV$vF-#mIWw0L|YaZC2V2|(MHH2zc;<|^#l!SNj*dGZ%E;X z1e8y75_<`Gbv6-?5~V}lmKd>{kXNa64AK}N z-!5O8&7`fUV-FjFkxm+ZptYt)PoDCXZ}`!@8g(<$Fe`L-3vv`pWguzc-$flQmJ_&Q;@ za_U?vMkhNK(zL#-Lo$wsbS34v_C3K(5 z1xX{YJvTq6=1^pPDLHYS9v_mV40$QbZC<8F4BKJsxNb){Yf1j`9H`9YlBfhMRT_ z3Mj7ojR~8*>mJV7UAfD1`zc<-|F7ybd@WUL`4`U_cMCaX_=a{Y9%wnbxN2?EWd9Q0|EXWC&5ZA9 z_Qc7IGOTIoPnC4U%@5AYPs#T#ycNm4U0)RZoO|S1Nn>_hT{i5E|NnDp&|5>A(49D@}ImVNo( D2N0iM diff --git a/po/es.po b/po/es.po index 96f95aa..070b60a 100644 --- a/po/es.po +++ b/po/es.po @@ -7,32 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2013-05-12 22:16+0000\n" -"Last-Translator: Javier \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-20 11:26+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-10-18 06:32+0000\n" -"X-Generator: Launchpad (build 16799)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Fallo al crear el servidor Web" -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Error al activar el registro de sensores" -#: src/cfg.c:569 +#: src/cfg.c:580 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Error al activar el registro de sensores" @@ -42,7 +38,7 @@ msgid "About" msgstr "Acerca de" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Ajustes" @@ -71,6 +67,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "_Ayuda" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Valor" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Mín" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Máx" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Color" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Gráfica" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,318 +113,411 @@ msgstr "Abajo" msgid "Edit Preferences" msgstr "Editar Ajustes" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Ocultar el marco de la ventana" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Mantener debajo del resto de ventanas" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Activar menú" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Inicio retardado al abrir sesión" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Unidad de temperatura" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Ubicación de los valores" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Interfaz" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Ocultar la ventana de gráficas al iniciar sesión." -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Restaurar tamaño y posición de la ventana" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Escalas y cuadrícula" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Fondo de gráfica" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Opacidad del fondo:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Mín" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Máx" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Colores" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Intervalo de la gráfica" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "minuto(s)" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "segundo(s)" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Intervalo de actualización:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Medidas" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Gráfica" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Mín" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Máx" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "segundo(s)" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "minuto(s)" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Medir sensores cada:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Activar registro de sensores" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Intervalo de registro de sensores:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "segundo(s)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Sensores" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Editar Ajustes Sensores" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Nombre" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Tipo:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "No disponible" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Información del sensor" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Chip:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Nombre:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Identificativo:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Representar el sensor en la gráfica" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Color:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Alarma" +#: src/glade/sensor-edit.glade:380 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Mostrar sensor en el menú de aplicaciones" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Activar notificaciones en el escritorio" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Límite superior" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Límite inferior" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "Indicador de aplicación" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Alarma" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Mostrar sensor en el menú de aplicaciones" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 #, fuzzy msgid "Display sensor in the label (experimental)" msgstr "Mostrar sensor en el menú de aplicaciones" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Mostrar sensor en el menú de aplicaciones" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Indicador de aplicación" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: no se ha encontrado la librería ADL" -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: ADL's API perdidos" -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: error al iniciar ADL" -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: imposible listar el número de adaptadores" -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "Numero de adaptadores AMD/ATI: %d" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "Numero de adaptadores AMD/ATI: %d" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart: sk_disk_open() Error: %s" +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: sk_disk_open() Error: %s" -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: fallo al desplegar el conector" +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: fallo al desplegar el conector" -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: fallo al establecer conexión" +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: fallo al establecer conexión" -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: argumento erróneo:%s." +msgid "%s: wrong string: %s." +msgstr "%s: argumento erróneo:%s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: imposible obtener el valor de subcaracterística %s:%s" +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: imposible obtener el valor de subcaracterística %s:%s" -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor: lmsensor_psensor_create Fallo: tipo de funcion equivocada." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "" -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor: Fallo de inicialización:%s." +msgid "%s: initialization failure: %s." +msgstr "%s: Fallo de inicialización:%s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Imposible abrir el archivo de registro: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" -"Controlador propietario de NVIDIA no activado ó incapaz de obtener la " -"temperatura de la GPU" +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Error al obtener la información de NVIDIA" -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Imposible establecer conexión con el servidor X11." +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Error al obtener la información de NVIDIA" -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "Error al obtener la información de NVIDIA" -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Imposible establecer conexión con el servidor X11." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Error al obtener la información de NVIDIA" + +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "Error al obtener la información de NVIDIA" + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -411,24 +525,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "La variable HOME no ha sido definida" -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Ya existe un registro de sensores abierto" -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "No se puede abrir el archivo de registro: %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "No se abrió el archivo de registro." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "¡No existe archivo que cerrar!" -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -444,12 +558,12 @@ msgstr "" "apoyada por el autor. \n" "No existe NINGUNA GARANTÍA hasta donde la ley lo permita.\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPTION]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -457,11 +571,11 @@ msgstr "" "Psensor es un programa GTK+ que muestra datos de temperatura y ventiladores " "a través de los sensores de su hardware." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Opciones" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -469,7 +583,7 @@ msgstr "" " -h, --help Muestra esta ayuda. \n" " -v, --versión Muestra información sobre la versión." -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -477,56 +591,57 @@ msgstr "" " -u, --url=URL La URL del servidor psensor,\n" " ejemplo: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --usar-libatasmart usar librería atasmart para leer el sensor del disco\n" -" duro en lugar de hddtemp daemon" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance Fuerza el inicio de otro Psensor paralelo" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=NIVEL Establece el nivel de depuración con un valor entre 0 " "y 3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Comunicar fallos: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Página Oficial: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor no ha sido compilado con soporte para sensores remotos." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Activa el modo de depuración" -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Introducir `%s --ayuda' para obtener más información\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Ya existe un Psensor en ejecución." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Fallo al crear el servidor Web" +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Adolfo Jayme https://launchpad.net/~fitojb\n" +" Eduardo Alberto Calvo https://launchpad.net/~edu5800\n" +" Javier https://launchpad.net/~buik8roadmaster\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -542,25 +657,25 @@ msgstr "Contenido no válido:%s" msgid "Invalid JSON: %s" msgstr "JSON no válido:%s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

El servidor solicitó detenerse

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Página no encontrada- Ir a Página Principal" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server es un servidor HTTP para obtener información de los sensores " "de forma remota." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -568,7 +683,7 @@ msgstr "" " -h, --help\t\tMuestra esta ayuda.\n" " -v, --version\t\tMuestra la versión." -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -576,111 +691,91 @@ msgstr "" " -p,--port=PORT\tPuerto del servidor web. \n" " -w,--wdir=DIR\t\tDirectorio de servidores web." -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=NIVEL Establece el nivel de depuración con un número de 0 " "a 3" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=PATH establece el archivo de registro en PATH" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr " --sensor-log-file=PATH establecer el archivo de registro en PATH" -#: src/server/server.c:114 -#, fuzzy +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr " --sensor-log-interval=S registrar sensores cada S (seconds)" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "Petición HTTP:%s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Activa el modo de depuración:%d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "No se han detectado sensores." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Fallo al crear el servidor Web" -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Servidor web iniciado en el puerto:%d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "directorio WWW:%s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Error al activar el registro de sensores" -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" "Psensor es una aplicación GTK+ que recoge y muestra información de los " "sensores del hardware." -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" -msgstr "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" - #: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" + +#: src/ui.c:96 msgid "About Psensor" msgstr "Sobre Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Web de Psensor" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Error al cargar el icono de Psensor" -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Seleccionar el color del primer plano" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Sensor" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Valor" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Mín" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Máx" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Color" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Seleccionar el color del primer plano" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -691,9 +786,24 @@ msgid "Temperature alert" msgstr "Alarma por temperatura." #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Alarma por parada de ventilador." #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Desconocido" + +#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#~ msgstr "" +#~ "lmsensor: lmsensor_psensor_create Fallo: tipo de funcion equivocada." + +#~ msgid "Sensor Information" +#~ msgstr "Información del sensor" + +#~ msgid "" +#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " +#~ "temperature." +#~ msgstr "" +#~ "Controlador propietario de NVIDIA no activado ó incapaz de obtener la " +#~ "temperatura de la GPU" diff --git a/po/fr.gmo b/po/fr.gmo index 513b873861cbac2a7b1a8384182fe08267317a15..5194c96dd045390a7be290048f3d3c461991cf35 100644 GIT binary patch delta 3451 zcmZ|QZEO_B9mnxG+YmTI00XHXAYSYo7h|6v!S)@`7(yUUz!Zuh#&Gs6_F=PUZqEkt z;6p8~S`syCH&jGTLTHkrC?Zn17gTAgCZ(t}c@Z^I)uc&Lp;CEM5t=lulB!a_zq<|M zMKkjMKC^SPGqeAhJ$rpucV@4Ym7Fw`EU|!?S7OXLoH30L%9}xBI`J)Bk6-w%E;VKy z*T=CRe~Tlyc!n{}_(R-)7jXwppJ~i6?!^FJ#<`mIZ7NG>xPo=+cxU0d4e#c3 ztj1HmKgao8zmJ>o2DW2#mNBf+jQKu_HC%rOHQp;2#>@F@9{VPhuhB4TwlPyMjI6~( zP&X|1+jpZT+=r~(Odteeoq{%Etx|j!13+~5-IDuNo(|8xYfLh=M|N0%@Yq*&9&rw@#DgUahq(TzR zZqz^rP%EB54fq&pV$Z*R$@dqi``$x6`8Ax5fAhVGy6+3*&y>z9JV-U_0bAy=|7@FS zr$Ga3K&5UI>iiA(?IXyaN%_~uQG5Jd)Ic6;!KaWv^E@BAKZiOyZ=fFRkEo3O6}7Oy zeDWWqQpU!v#BQ|l1Zv=$sD*uodVu0aoDoosqO40XGDLaLl=p1UVe~%=?ypOES z`~!9RXDuphT{UXrTGZY*B6FA?)cuE0TX+OD&oP|F{N@CejR8(EhPnQbyLCe`vs)NM zO<0e5;!VB@RR1h$A!kufdI3qTxq`~re~{!Di;F0(M)f<2*+wcaP|=>hi~L-hYp4Z$ zjBKa*m;ZfPsBmKl^<>?s`$n+@v#7&)9QA}J{qIjBFOE5nti@bLjsN!$`PTrS(ol?3 zS=PN6M5U??)xI2+`qln*FKS_ZI0cXRPNMo9M=jtv)P!eIr~Vz(_#dG96@|(F15~QW z;~pHsBwj)-po!j^paV7GO4K3Rh5G&p)RuU-1Yg5C`~cTsF&ESDKGgSH{OdEp!z+4I<(tR3mif%{2Am8H>WX(7f}6w zjk_@WJO7JX-Zgb-#IqPh&ZKE2nuz-el^!CTuN6MF-&WWAuM#Ve|5SE0?ijIw2oWlJ zh(6{wU#D`27$&qw{e&{1gQ?W&;MfES$QK<@6`lAZqDvQ)1hI)IC3unYWwY;e+~?OH z#CwPV!qxk~lF9)>MSG_7>rf67>j|B7l}8KY_i+yOaYB2zm)J^l5NnCYiJe4*Q0XP~ zQ+<$7>h%v#TdDN#Xa0OC_T7!!h?IYQI}iI8L+B8T3GMNH#44hhP?V#9`dObK zY6%_oNkWAKyUoO@=p=7Z%WcJ?9wqh=ZG`^)svIVE5PGe?ENLnugigBg=9hjuH+{yl zMN>j<%o?)-&>czVLWZetdOg2G3#(T21N6IqkxZ{q-GpTfBFl{H2 z8P~g5u_qXfw6<6+ow3$-Z%Jj<+NF`^d`ojQ))uXArUbj=ZYHw**4;5{vmJLLTZfaQ z$+0op+LCsYPSRSj!x?c>haK;Gm1kz&HpJ0it(dhUXe(N!PXphvOGta|)TvO;&F&@``It23m8^)RZf8=WG8Q$XyJ*63G1| zJhv#&mHTI%O}n?N{!A&;h7xA)+GN7^8XGFSA4I;H?T(K-gTrI-gw>UD*o}elOfu!T zv7q(;GcugXjJdI5;Edo<-F X>c$Vo-LL99Y>%>*wzigNwAuU*vp2z@ delta 3961 zcmZ|QdvH|c8OQN=!z~1f+!B&V)BMO}?Tk|YV8-c)ROm3HQ+1r_;Mh|7{q3HO{GspU z+0XmFd(L@p&)NKAo4X@>aoX6Y4dpN~i&!|;m>l+$@;P~g%#DJR@#D`o>_>xe-&y6yHRP?=k-Tsu>aIe%@%Z20Vg#;M=H~UqSxNyL{+DH&9zz%7JQyb5J|jf|}q4?8Ke86n}sYUO+u}NhSNQ z8FsNBTFDx;a69Tq4x-NXNo04;G0$J320Dk;_!cTTui*r&;b!&MVSXUgnRj{iqQ-Ty zRCHDm)C#|c+N$rP9`qt=B`+b*Hh)H4_crQ*|3tkF*S!8pZmy?23$;@#aSm?7+wmdP zjvdEV%>J5+Zn%oea5B@@S@)n`pRK6ZGVJxgh&rOPc!C%BRa`+kbek~`;!p7#sEphQ z-^BazO^o4uw(TGuL&oF$nf?wsdNGW@!XB((x;)?PM$I^k_hA;h@paThW?BX7P&*mG zHr$LI_!u_gIlL3Eq83;?TRW8HODfu;C8)FRLpH+TNiIIh74!KS#TwMs-G};qD{9~b>g@NSa^@-2b*EA9|5;R$zJ}VV8>k75 zyQ47SYzq}#(2Yu#{iriOjqC6YWG<#QV9Y&u50>E()IdMN?f9J6f8Dc`Oe4wj_iATU z_7*T-L>&vIaQ;DRy9oWlDKWH?5<*4W6(bI+LAjUcA-+PaCW<9PCFC`tcsH@0;P)xN zuq~)Exj_DyG=BaZ!(Qh;)ar|+kIE`SD`X?`$9xO#OTGF;&wgA%=%~I-Od;wB z9pR&dl369Ich&a(j+(oF&CI*S+#3EuDQ7n_Z zN-vfZO4!|mt^HS)-dr})NE0M#{`X#4zJYj{Xd(6xDh{DHWC5W>+(GD9Z!w{AKT+IW zwe{MrBPxgvqEHy+7HVs}=3Lz7)k$D;z^galIQNyZukQ(DQcfTm*=?uoRLoAMEz6?E z8g24b(oP<*`V&bj97*l5Vu^Spok&LF16CxSN;`JgO7xd;+h>%)a5(M6hODsda9eKK zq@R?yANptHN^X6@=T?{3?EytBCQEBXwnMVaW#`pnu~@V>)yg$-5a-98rDhL=}gjT&OJHfgs&y) zgwk4tGmuPV;$bV4h$fPz*NLY_vDU`9AZDi{Om<=AUSDZ(8{FTN`)3U}>2xIKB>KZP z`(a0-PPo~4OLY6nYbO-z+4AZJuO77aB@=8_iYdkif>wR1*+gTh{HQ@IkzEjEHyv9@cdaQUuK(y`M{eq@$ad~!dXG_CZ3A;*1r=0SH&)sC``z=FkATWhej z&3&Qjw$<%{)>K24XC9z{5(Pg83sk;#9R$|Q%KNHl84L(b<>5zlZ~5G7wF`5v&poM%RiQi@Iax@gl$T)5xqS^YN|yJIoK#M+Rq?_S zLy1gOlLLj_mXfhTx$n+%d~V&$O1HG>JJZRGu-VlW2|H#q z=W_l!_s30DqiGfJH;vY}``hOg->#q)vopgsJ8gvq?U7S)a^vPab3eJ=?;fqK|1{Aa n_s{7rrk548MoxwXosboFJ~!t^hsdXyuIx|5^J{m{G=1&=mx^$a diff --git a/po/fr.po b/po/fr.po index 3f02095..e415599 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,42 +7,38 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2013-06-29 15:14+0000\n" -"Last-Translator: londumas \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-21 09:39+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: French <>\n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-10-18 06:32+0000\n" -"X-Generator: Launchpad (build 16799)\n" +"X-Launchpad-Export-Date: 2014-09-21 09:40+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, c-format msgid "Failed to create the directory %s: %s" msgstr "" -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 +#: src/cfg.c:557 #, c-format -msgid "Failed to parse configuration file: %s" +msgid "Failed to load configuration file %s: %s" msgstr "" -#: src/cfg.c:569 -#, fuzzy, c-format +#: src/cfg.c:580 +#, c-format msgid "Failed to save configuration file %s." -msgstr "Échec de l'activation de la journalisation des capteurs." +msgstr "" #: src/glade/psensor.glade:6 msgid "About" msgstr "À propos" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Préférences" @@ -71,6 +67,31 @@ msgstr "" msgid "_Help" msgstr "_Aide" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Capteur" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Valeur" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Couleur" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Graphe" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,317 +113,409 @@ msgstr "Bas" msgid "Edit Preferences" msgstr "Modifier les préférences" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Cacher les décorations de la fenêtre" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Garder la fenêtre en arrière-plan" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Activer le menu" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Activer le compteur du lanceur de Unity" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Unité de température :" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Position de la table des capteurs :" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Interface" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Cacher la fenêtre au lancement" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Rétablir la position et la taille de la fenêtre" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Avant-plan :" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Arrière-plan :" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Opacité de l'arrière-plan :" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Min" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Max" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Couleurs" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Durée de surveillance :" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "minutes(s)" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "seconde(s)" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Intervalle de mise à jour :" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Mesures" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Graphe" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "seconde(s)" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "minutes(s)" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Intervalle de mise à jour des mesures :" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Activer la journalisation des capteurs" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Interval de journallisation des capteurs :" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "seconde(s)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Capteurs" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Préférences des capteurs" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Nom :" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Type :" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "N/A" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Informations du capteur" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Puce :" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Nom :" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Id :" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Dessiner la courbe du capteur" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Couleur :" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Alarme" +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" +msgstr "" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Activer les notifications du bureau" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Seuil supérieur :" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Seuil inférieur :" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "Indicateur d'application" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Alarme" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Afficher le capteur dans le menu" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Afficher le capteur dans le menu" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Indicateur d'application" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD : impossible de trouver la bibliothèque ADL." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD : L'interface de programmation ADL est manquante." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD : échec de l'initialisation d'ADL." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD : impossible de récupérer le nombre d'adaptateurs." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "Processeur" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disque" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart : échec de sk_disk_open() : %s." +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s : échec de sk_disk_open() : %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp : échec d'ouverture de l'interface de connexion." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s : échec d'ouverture de l'interface de connexion." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp : échec de l'ouverture de la connexion." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s : échec de l'ouverture de la connexion." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp : mauvaise chaîne: %s." +msgid "%s: wrong string: %s." +msgstr "%s : mauvaise chaîne: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "" -"lmsensor : impossible de récupérer la valeur de la sous-fonction %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s : impossible de récupérer la valeur de la sous-fonction %s: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." msgstr "" -"lmsensor : échec de lmsensor_psensor_create : mauvais type de fonction." -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "Processeur Intel" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "Processeur graphique NVIDIA" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor : échec de l'initialisation: %s." +msgid "%s: initialization failure: %s." +msgstr "%s : échec de l'initialisation: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "Processeur" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Impossible d'ouvrir le journal: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "Échec de la récupération des températures NVIDIA." +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Échec de la récupération des information NVIDIA." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Impossible d'ouvrir la connexion au serveur X11." +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Échec de la récupération des information NVIDIA." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "Échec de la récupération des information NVIDIA." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s : Impossible d'ouvrir la connexion au serveur X11." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s : Échec de la récupération des information NVIDIA." + +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "Échec de la récupération des information NVIDIA." + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "Tr/mn" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -410,24 +523,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "Variable home non définie." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Le journal des capteurs est déjà ouvert." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Ne peut ouvrir le journal : %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Le journal des capteurs n'est pas ouvert." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "Le journal des capteurs n'est pas ouvert, il ne peut être fermé." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -437,19 +550,19 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "Copyright © %s wpitchoune@gmail.com\n" -"License GPLv2 : GNU GPL version 3 ou ultérieure \n" "Ceci est un logiciel libre, vous êtes libre de le modifier et de le \n" "redistribuer.\n" "Ce logiciel n'est accompagné d'ABSOLUMENT AUCUNE GARANTIE, dans les limites\n" "autorisées par la loi.\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Utilisation : %s [OPTION]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -457,11 +570,11 @@ msgstr "" "Psensor est une application GTK+ pour surveiller les capteurs thermiques et " "les vitesses de ventilateurs." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Options :" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -469,65 +582,64 @@ msgstr "" " -h, --help afficher cette aide et quitter\n" " -v, --version afficher les informations de version et quitter" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" " -u, --url=URL l'URL de psensor-server, example: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart utiliser la librairie atasmart pour la surveillance\n" -" des disks a la place du serveur hddtemp" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance forcer la création d'une nouvelle occurrence de " "l'application Psensor" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL assigner le niveau de débogage, nombre entier entre 0 " "et 3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Signaler les bogues à: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" -msgstr "%s page d’accueil: <%s>\n" +msgstr "Page d'accueil de %s : <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "" "Psensor n'a pas été compilé avec le support de surveillance à distance." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Active le mode de débogage." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Essayez « %s --help » pour plus d'informations.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Une instance de Psensor existe déjà." -#: src/main.c:597 -#, fuzzy +#: src/main.c:631 msgid "Failed to create thread for monitoring sensors" -msgstr "Échec de la création du serveur Web." +msgstr "" + +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Ubuntu-QC-1 https://launchpad.net/~aobreyss\n" +" londumas https://launchpad.net/~helion331990" #: src/rsensor.c:107 #, c-format @@ -544,25 +656,25 @@ msgstr "Contenu invalide : %s" msgid "Invalid JSON: %s" msgstr "JSON invalide : %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

L’arrêt du serveur a été demandé

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Page introuvable - Allez à Main page

" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server est un serveur HTTP pour surveiller à distance les capteurs " "matérielles." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -570,7 +682,7 @@ msgstr "" " -h, --help\t\tafficher cette aide et quitter\n" " -v, --version\t\tafficher les informations de version et quitter" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -578,112 +690,92 @@ msgstr "" " -p,--port=PORT\tport du serveur Web\n" " -w,--wdir=DIR\t\trépertoire contenant les pages du serveur Web" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL assigne le niveau de débogage, nombre entier entre 0 " "et 3" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=PATH assigner le chemin d’accès au journal" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr " --sensor-log-file=PATH assigne le journal du capteur vers PATH" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=S assigne l'intervalle de journalisation du capteur " "à S (secondes)" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "Requête HTTP : %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Activation du mode de déboguage: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Aucun capteur détecté." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Échec de la création du serveur Web." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" -msgstr "Le serveur Web a été démarré sur le port: %d" +msgstr "Le serveur Web a été démarré sur le port : %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW répertoire : %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" -msgstr "URL: http://localhost:%d" +msgstr "URL : http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Échec de l'activation de la journalisation des capteurs." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" "Psensor est une application GTK+ pour surveiller les capteurs thermiques et " "les ventilateurs." -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" -msgstr "" -"Copyright © 2010-2014\n" -"jeanfi@gmail.com" - #: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Copyright © 2010-2014 jeanfi@gmail.com" + +#: src/ui.c:96 msgid "About Psensor" msgstr "À propos de Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Site internet de Psensor" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Échec du chargement de l’icône de Psensor." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Sélectionner la couleur d'avant-plan" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Capteur" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Valeur" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Min" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Max" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Couleur" +#: src/ui_sensorlist.c:296 +msgid "Select sensor color" +msgstr "" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -694,9 +786,12 @@ msgid "Temperature alert" msgstr "Alerte thermique" #: src/ui_notify.c:79 -msgid "Fan alert" +msgid "Fan speed alert" msgstr "Alerte ventilateur" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Inconnu" + +#~ msgid "Sensor Information" +#~ msgstr "Informations du capteur" diff --git a/po/hr.gmo b/po/hr.gmo new file mode 100644 index 0000000000000000000000000000000000000000..0633331eb784c34202d0325b1a45ab212d851162 GIT binary patch literal 13725 zcmbuF36LCDdB@u)XaNHT>~I)A1F|Ko+11Ji_E-{LX=Q08?SXbzHa14?o#~zFotf^T zk6md41RJn9Y>t>C!QpUB02d(?M?#URI7N_>g1CxGkpxH_3MV8~g;Ze*s**~DRDS>0 zuV+T9T^mBzeEsi!@AW&r_g(MX{r-jLe$eB37i+PX1mxA|zF9JUWUJ8EA;p5;7ct49l&IT_AHSUYRgWyZR zYrzJnrGCue!{Ez!|1x+k_#N+i!qB1r0dF$C}5LpvJk%;q{=tf3?G#z+dn_ z32L5)E-LC%P~WeDTGw5m_ds-HWM5gW8{Qa1(gI;So^%ybjcQI-vM>CrFpx{h<2&9EhrTUj)_9*FcuwodTZ@e&3b< z2-N=n*wt(DYX3q|{J8{Fe_KGUrvj?|RiNba04P2*K=pecNLSv6K=I=Xp!Va>K+XFf z!Rx{Q0C$0x!|VX8gBs_XpvM0esP%mtG~kaw@%`y^rt(oxa<~sf^}NF%Kkpbf@!?IN z^yeR> z0ly4x2mcOyI(YupqQ7T@n%@iD`-|MW(K`#>3~rteZUMDUAJlgpke`=uGvG%- z>Dwa?zXwVVe-27M&%3hV>q|k&-;JQ=dBkB1ia+;)>gNlf*8eDIz$ZXN$$Ku7(s!dE zTi{KBOx4T5P2k5t$;HDULwlz{wR^(h#R!4y=xz`Z@H*fQ@P3e=_m|vIJ@4n>v%m{! ztbPnAJ{$rKI0tHdIrvQQZt#5Yeo*`K5m58|JSaQ*D5!mU4AeY-0II)#2gQ${fw(U3 zJcL>L^I}l*7zWkvVekTQ78L&%K=t1MB_D4C)&ILdjsG4{e0&HT0v~bs4N&d>7F56g z0BV082PI$s4WfeH^AQ@Y>s6rY$3gXTJ9rt`1U1gPz*m7E2dm(Bz~kVBqlMhR+u{A7 z&>qG6QKHk7}P#|2|NOR71X?+iLn=646cGN1J42v zL+^pagV#d)pk?TJkobgn+v@||wT@3g*V>Z8-kjk18PJEJJE6Biw?ZxG?T~nK7xZzc z0o@G!7W95-7qlNb2x-mYhh#(78w>D0>ac{@@G#+Cq>sApFTmbY?kvr_2WmragWd;8 zCUiXqx*igb_ChiAE~pOa8ZW@g-h(_ZxOc$|AnnBmp$8yc?}h#V`b`K{+r6IywKvie z?a4bJUAIHO4?Q1}Y{)OM{oWfOU1vkDw@-yHo8@^o6hhi_U9T*_-aj+&ESb{&{tjdy zU0o=!PsMFBAQ}3kD~mwsCaP(5NX2i~ZQzovDz8`Y;JcSvSqR?Xo~55R4U~U~=NqAE z=pjhgZ$oc^?uK+NLeGZwKzBf&hH^;PBy<3hzwSWgCHZZ-7ul{VGz`7Tm3;)f9NOaE z1;-%iwRB<%()BXvbTO z(qyqw{n`)1C<~HhzrAaAy)VmJeLZWoq(Lo?>giT>Qs2f5>cK+Z*mZc{(S3)Fu5xf& zZrZ_e(B5X$Nh3(iLXfQlL1eZYKdPInHt6J6?V_o9G=p|`)24cucH905mLH}@MRuUz zc$f__;bk>k4w5vCqkdagz$6#rq~m8)_P){#d);e!#r4Y%v*v@R8Vg=k*6e1VrR!~E zqz|HCr4mMI=0~-_7*+vD0BT84EGJ$xzM++waWdg|yX~-MD?OIj-Bzh|<0RWPGks)k z(@LR0MvvTJuxF+??(nqO5B6`cV{TChj6}%rs)s+FJzqmeElJRZASUEpPJCkGg7-AWK4o)=V9p z7@rs$6pE*6+D+nmUdxQ8rcE&WXXef3`bGnE0zb`@z_Q{*H!z!z+mGD1PyTI`cNW+l zxVY#?X)&?+s1?O4Q91D^o6XHh%#JN09GXDJ=tUQcJvOZ2*}BzfTx$hcQH2a-q2CTy z3wcvVbX_%@-Q?2NF?6PNO#N=z%B$wduMm| z3>$2;rHgTn{ivAzvG#1IZ<3Cy(D`6(0x@zOZ+vC?- zjl}Li-1Tc=cA`2^#&euyamUlTA!|xIK}Y5yPuW0kP%TT7raeEcVvX-AWMXg7PQ#pr z&9Gbb_Qq{yWAE;Tnz(x+2^-DKY}vb&KFw0#M~mT&jSdnwT#GwHhr=3fF+e#FFYl4X_lYZgv05x8hZ#?l=Tsu?K zT)chtFf%hKG3&;OrA5JP5x|^Q9{CG|GV|D*6Xvj=M>SZ5b9W4JBWLB(@_-E zKrhNBY2KA{(}c(7CZsLv)Jz@SnS$OG{jKY?XrMYf)+uk+>siq0n!1nVN9!~| z_x;RIJARU_SKD!s9gHZJG%(*>mNYF#P0?T?Fw=?aSn;CuU>TZI_ipkrkWn)TGakdX zB*{5M96u+*%+0S` z=LfGsOpNSTDMtNH+cB-m048MqgVV8_D26vJzil$YjLrL(~1dQ2=S6E?^4`oqMu2SHZeq1 zZ$g9yw5_+%Q?lsS0?LT%!@4;*J3VE`E(>6QjEF5e6a?LJXtX_E@d~{%8Zf|{3=DiY zSj@b`%yD3F{G&JNf|OCEALx0lWAkA8Zc9(I9ALY>K?Fbim2Q=y|VTI(W!#dUP04OZ5*?p!w_DnYn9K6 zSAxNSgN67Tr}o3WFYyV!**|yaN;43`uhpFas*jnzRbWz^g%nFy|n z__I(M!jsqJ*q0+SlircQ+E&a`>g>x9WyD%c$;o)PttDYM!@C7F++f|T zG~o@s`wB(m3ll#~0|b3GXtU)dhiWzoC_DvK_QX55L$0U{H0Z8~(-esgmmloeB@iOJQvWOLFXB)tke97GVO+ zhIe+$Wt|okpUApm0o0$Q)Sab%P8cCDTgXW` z7My!T5n%a-C$(o;X-;IUHFhOBqYZeRwORvnrHX9=^djq_Azc1Lk6FUmi%^mL3;vD( zCdD+wOUPzrqFy;#q#3H^z6=#gQJG8|VZE{k)u_zjde4YYXQt;Wd)>LcGLA8=Dw4ap zvi3x_)g9Mdxt(k1u%Bj?x!zo>rV%$d zGi6DDv5&&mj(%{wo5oQiXKyQWf#2Z-oy7Q3*tWBo+}I8k0{7b>Gs)28#N@vIT1SVs z5A7{nOU23-2IF`(LL3-IH%OEdT;i_zxtl82_1kG`#C?^0Q7x8{shaB+$k*IbDcn%k zuUGaRmyoQp%fji1h%POM7~dINGEelDApotwtoq$B^<{Ea@yu&`DZL#Dw0<8*$C4i{t^L;IMHa2a z0XEn;i{|>l=B*;#CeB)II@8ZIlHk;XtpH;bE(Pt-EFg0xT~?`y<_!$DQC=`vMYeS@ z?AXSqXV~DMzqToYLQa!@Bh+BoA4qM5tIKiSM=uAHZ2d8MA9j|4Bnq3DSu6|r3uW2( zs2^6A3A&=BY9ca0#XMO(qZjLvj``#WqAauqzcYT;z?Rrdd-?y&HDouS1}X#LhadUiMjo4e|bQbo+3RrGa$cg9{nrOQF_*Igc$ja zGIgzVZK|%+Qi&bH;J4J>a&YpVf8{vll^j2Y{stAZ%~)-p%;x~b9U1jyOH>v+?y^fP43ON+Dkcd zY2pPu)e<}jaS`>%YGHEf!7vJ3>W)Z6Uxzd zcoZvb=N-ZroqCW%BD3PX;^SFtz$H7^*Z#h&md?^fdQaA1jW;cXkJR33xI}L6lUKmZp&6 zBMVSv|A4(vh)*(Y|Ym*$fQhr>ft+Bc3xOUwxu(xT&oW0SLUN2j-G z`xSH0+p6D+qqswSeL5GOBFT4%+(h1Hvu21%*<}U_i&Wo?oVRr`Hl86Qkrk_jJW zz8M>E`A*-V{#cm!pP#y`3Zt5W8+iec>8r>JwU0Mjg; zTJG&f0qqe*kt@#R^t|LO+$8*!`yegJX{Mi-?3EPJufJp`HEsjpVq`Kv@Ev1DSQ9bm zX#-;}Qu(FB+?Hc+JU(p}lYT4pj`*v%Xht`fzC5vVftglFKn@ZJY>JYDa&c_y36H9= z)+g^Hdg-=_3jHEY87lN-DRSL;7q8h5DoIlk4;FW_m5771P`P5oqD~fvy*)a)tw}>F zTB{c|R+IF>x=ki+_-(Da+;UAoepk~UCHqx1`I6yf}( zKXsp^tv*+`nU+HJya<$J-v&~a_+YDUI6NC1uZ`(%^|NKd9&fspjF455_gf;)a!2kQ zgCemc&n5TGq8-yiw70EDi<5d!P1x?Pf_&np)n%CDP7*C*Lzv{Unt7M>yfk+aq}4{Tt`T5r6_N~rI_tVA!aB_xw=fsq@vw0rq0HrvMkkCaC~{>tx8!Zrzt zT?hyCtM7FO1hI@0yj%T7+nyAHGAvMp;?63;pk*A`IPYM2ej6xMCO$@iv7U;-ZTO8@ zP>C&!6gRO;gnJSH0@X89sBt0FaOh~#)aW_;vqZFZM=xc1hjwn62)LIrwFgw~J!bSt za;8({zI7&y2RJfdarm+uEB9ta$=o(My?_4X-BZ)Eb8Awlh#p=5+tSOU7M{-<#@PdVjZVEp!q3>tEld836*H=J@)c|M!7}%XL9>T z8qz2S`SX5drb$%a, 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: psensor\n" +"Report-Msgid-Bugs-To: jeanfi@gmail.com\n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-21 06:25+0000\n" +"Last-Translator: gogo \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" + +#: src/cfg.c:510 +#, c-format +msgid "Failed to create the directory %s: %s" +msgstr "Neuspjelo stvaranje direktorija %s: %s" + +#: src/cfg.c:557 +#, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Neuspjelo učitavanje datoteke podešavanja %s: %s" + +#: src/cfg.c:580 +#, c-format +msgid "Failed to save configuration file %s." +msgstr "Neuspjelo spremanje datoteke podešavanja %s." + +#: src/glade/psensor.glade:6 +msgid "About" +msgstr "O programu" + +#: src/glade/psensor.glade:10 src/glade/psensor.glade:11 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 +msgid "Preferences" +msgstr "Osobitosti" + +#: src/glade/psensor.glade:15 src/glade/psensor.glade:16 +#: src/glade/psensor.glade:28 +msgid "Sensor Preferences" +msgstr "Osobitosti senzora" + +#: src/glade/psensor.glade:24 +msgid "Quit" +msgstr "Zatvori" + +#: src/glade/psensor.glade:84 +msgid "Show" +msgstr "Prikaži" + +#: src/glade/psensor.glade:186 +msgid "Psensor - Temperature Monitor" +msgstr "Psensor - Nadziratelj temperature" + +#: src/glade/psensor.glade:201 +msgid "_Psensor" +msgstr "_Psensor" + +#: src/glade/psensor.glade:248 +msgid "_Help" +msgstr "_Pomoć" + +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Senzor" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Vrijednost" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Maks" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Boja" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Grafikon" + +#: src/glade/psensor-pref.glade:24 +msgctxt "psensor" +msgid "Right" +msgstr "Desno" + +#: src/glade/psensor-pref.glade:27 +msgid "Left" +msgstr "Lijevo" + +#: src/glade/psensor-pref.glade:30 +msgid "Top" +msgstr "Vrh" + +#: src/glade/psensor-pref.glade:33 +msgid "Bottom" +msgstr "Dno" + +#: src/glade/psensor-pref.glade:60 +msgid "Edit Preferences" +msgstr "Uredi osobitosti" + +#: src/glade/psensor-pref.glade:126 +msgid "Hide window decoration" +msgstr "Sakrij ukras prozora" + +#: src/glade/psensor-pref.glade:146 +msgid "Keep window below" +msgstr "Drži prozor ispod" + +#: src/glade/psensor-pref.glade:166 +msgid "Enable menu" +msgstr "Omogući izbornik" + +#: src/glade/psensor-pref.glade:186 +msgid "Enable Unity Launcher counter" +msgstr "Omogući brojač Unity pokretača" + +#: src/glade/psensor-pref.glade:214 +msgid "Celsius" +msgstr "Celzijus" + +#: src/glade/psensor-pref.glade:215 +msgid "Fahrenheit" +msgstr "Farenhajt" + +#: src/glade/psensor-pref.glade:259 +msgid "Temperature unit:" +msgstr "Jedinica temperature:" + +#: src/glade/psensor-pref.glade:277 +msgid "Position of sensors table:" +msgstr "Položaj okvira senzora:" + +#: src/glade/psensor-pref.glade:296 +msgid "Interface" +msgstr "Sučelje" + +#: src/glade/psensor-pref.glade:312 +msgid "Launch on session startup" +msgstr "Pokreni pri pokretanju sesije" + +#: src/glade/psensor-pref.glade:333 +msgid "Hide window on startup" +msgstr "Sakrij prozor pri pokretanju" + +#: src/glade/psensor-pref.glade:353 +msgid "Restore window position and size" +msgstr "Vrati položaj i veličinu prozora" + +#: src/glade/psensor-pref.glade:384 +msgid "Startup" +msgstr "Pokretanje" + +#: src/glade/psensor-pref.glade:428 +msgid "Foreground:" +msgstr "Prednji plan:" + +#: src/glade/psensor-pref.glade:446 +msgid "Background:" +msgstr "Pozadina:" + +#: src/glade/psensor-pref.glade:482 +msgid "Background opacity:" +msgstr "Prozirnost pozadine:" + +#: src/glade/psensor-pref.glade:500 +msgid "Colors" +msgstr "Boje" + +#: src/glade/psensor-pref.glade:521 +msgid "Monitoring duration:" +msgstr "Trajanje nadziranja:" + +#: src/glade/psensor-pref.glade:539 +msgid "Update interval:" +msgstr "Razdoblje ažuriranja:" + +#: src/glade/psensor-pref.glade:557 +msgid "Measures" +msgstr "Mjere" + +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Maks" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "sekunda(i)" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "minuta(e)" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "Zaglađene krivulje" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "Krivulje" + +#: src/glade/psensor-pref.glade:814 +msgid "Measure update interval:" +msgstr "Razdoblje ažuriranja mjera:" + +#: src/glade/psensor-pref.glade:862 +msgid "Enable sensors logging" +msgstr "Omogući zapisivanje sensora" + +#: src/glade/psensor-pref.glade:909 +msgid "Sensors logging interval:" +msgstr "Razdoblje zapisivanja senzora:" + +#: src/glade/psensor-pref.glade:926 +msgid "seconds(s)" +msgstr "sekunda(i)" + +#: src/glade/psensor-pref.glade:943 +msgid "Script executed when an alarm is raised:" +msgstr "Skripta za izvršavanje kada se alarm upali" + +#: src/glade/psensor-pref.glade:984 +msgid "Sensors" +msgstr "Senzori" + +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "Omogući podršku za lm-sensors" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "Omogući podršku za NVCtrl (NVidia)" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "Omogući podršku za ATI ADL" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "Omogući podršku za gtop2" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "Omogući podršku za hddtemp daemon" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "Omogući podršku za libatasmart" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "Omogući podršku za udisks2" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "Promjene će biti primjenjene nakon ponovnog pokretanja psensora." + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "Čvrsti disk" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "Korištenje CPU-a i memorije" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "GPU s vlasničkim upravljačkim programima" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "Matična ploča, CPU i GPU" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 +msgid "Edit Sensor Preferences" +msgstr "Uredi osobitosti senzora" + +#: src/glade/sensor-edit.glade:107 +msgid "Name" +msgstr "Naziv" + +#: src/glade/sensor-edit.glade:174 +msgid "Type:" +msgstr "Vrsta:" + +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 +msgid "N/A" +msgstr "Nedostupno" + +#: src/glade/sensor-edit.glade:212 +msgid "Chip:" +msgstr "Čip:" + +#: src/glade/sensor-edit.glade:245 +msgid "Name:" +msgstr "Naziv:" + +#: src/glade/sensor-edit.glade:264 +msgid "Id:" +msgstr "Id:" + +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "Pojedinosti" + +#: src/glade/sensor-edit.glade:320 +msgid "Draw sensor curve" +msgstr "Iscrtavaj krivulju senzora" + +#: src/glade/sensor-edit.glade:349 +msgid "Color:" +msgstr "Boja:" + +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" +msgstr "Prikaži senzor u popisu senzora" + +#: src/glade/sensor-edit.glade:431 +msgid "Activate desktop notifications" +msgstr "Uključi obavijesti radne površine" + +#: src/glade/sensor-edit.glade:460 +msgid "High threshold:" +msgstr "Gornja granica:" + +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "0" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:588 +msgid "Low threshold:" +msgstr "Donja granica:" + +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Alarm" + +#: src/glade/sensor-edit.glade:629 +msgid "Display sensor in the menu" +msgstr "Prikaži senzor u izbrniku" + +#: src/glade/sensor-edit.glade:650 +msgid "Display sensor in the label (experimental)" +msgstr "Prikaži senzor u oznaci (eksperimentalno)" + +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Programičić pokazivača" + +#: src/lib/amd.c:171 +msgid "AMD: cannot found ADL library." +msgstr "AMD: nemogu pronaći ADL biblioteku." + +#: src/lib/amd.c:198 +msgid "AMD: missing ADL's API." +msgstr "AMD: nedostaje ADL API." + +#: src/lib/amd.c:208 +msgid "AMD: failed to initialize ADL." +msgstr "AMD: neuspjelo pokretanje ADL-a." + +#: src/lib/amd.c:214 +msgid "AMD: cannot get the number of adapters." +msgstr "AMD: nemoguće je dobiti broj adaptera." + +#: src/lib/amd.c:253 +#, c-format +msgid "Number of AMD/ATI adapters: %d" +msgstr "Broj AMD/ATI adaptera: %d" + +#: src/lib/amd.c:254 +#, c-format +msgid "Number of active AMD/ATI adapters: %d" +msgstr "Broj aktivnih AMD/ATI adaptera: %d" + +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 +msgid "Disk" +msgstr "Disk" + +#: src/lib/hdd_atasmart.c:141 +#, c-format +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: sk_disk_open() neuspjelo: %s." + +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: neuspjelo otvaranje socketa." + +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: neuspjelo otvaranje povezivanja." + +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 +#, c-format +msgid "%s: wrong string: %s." +msgstr "%s: pogrešan string: %s." + +#: src/lib/lmsensor.c:44 +#, fuzzy, c-format +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: nemoguće dobivanje vrijednosti podznačajki %s: %s." + +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: pogrešna vrsta značajki." + +#: src/lib/lmsensor.c:166 +msgid "Intel CPU" +msgstr "Intel CPU" + +#: src/lib/lmsensor.c:170 +msgid "AMD CPU" +msgstr "AMD CPU" + +#: src/lib/lmsensor.c:172 +msgid "NVIDIA GPU" +msgstr "NVIDIA GPU" + +#: src/lib/lmsensor.c:174 +msgid "VIA CPU" +msgstr "VIA CPU" + +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "ACPI" + +#: src/lib/lmsensor.c:201 +#, c-format +msgid "%s: initialization failure: %s." +msgstr "%s: neuspjeh pokretanja: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "CPU" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "slobodna memorija" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "memorija" + +#: src/lib/plog.c:43 +#, c-format +msgid "Cannot open log file: %s" +msgstr "Nemoguće otvaranje datoteke: %s" + +#: src/lib/nvidia.c:58 +#, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "%s: Nepoznat naziv NVIDIA proizvoda za GPU %d" + +#: src/lib/nvidia.c:63 +#, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "%s: Neuspjelo čitanje naziva NVIDIA proizvoda za GPU %d" + +#: src/lib/nvidia.c:226 +#, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "%s: Neuspjelo čitanje mjernih jedinica %x za NVIDIA GPU %d" + +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Nemoguće povezivanje s X11 poslužiteljem." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Neuspjelo primanje NVIDIA informacija." + +#: src/lib/nvidia.c:370 +#, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "%s: NVIDIA: nuespjelo očitavanje broja ventilatora." + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 +msgid "RPM" +msgstr "Okr/min" + +#: src/lib/psensor.c:455 +msgid "%" +msgstr "%" + +#: src/lib/slog.c:87 +msgid "HOME variable not set." +msgstr "HOME varijabla nije postavljena." + +#: src/lib/slog.c:96 +msgid "Sensor log file already open." +msgstr "Datoteka zapisa senzora je već otvorena." + +#: src/lib/slog.c:105 +#, c-format +msgid "Cannot open sensor log file: %s." +msgstr "Nemoguće otvaranje datoteke zapisa senzora: %s." + +#: src/lib/slog.c:136 +msgid "Sensor log file not open." +msgstr "Datoteka zapisa senzora nije otvorena." + +#: src/lib/slog.c:192 +msgid "Sensor log not open, cannot close." +msgstr "Datoteka zapisa senzora nije otvorena, nemoguće zatvaranje." + +#: src/main.c:80 src/server/server.c:87 +#, c-format +msgid "" +"Copyright (C) %s jeanfi@gmail.com\n" +"License GPLv2: GNU GPL version 2 or later \n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n" +msgstr "" +"Autorsko pravo (C) %s jeanfi@gmail.com\n" +"Licenca GPLv2: GNU GPL inačica 2 ili novija \n" +"Ovo je slobodan softver: slobodno ga možete mijenjati i redistribuirati.\n" +"Ne postoji nikakvo JAMSTVO, propisano zakonom.\n" + +#: src/main.c:91 src/server/server.c:97 +#, c-format +msgid "Usage: %s [OPTION]...\n" +msgstr "Upotreba: %s [MOGUĆNOST]...\n" + +#: src/main.c:93 +msgid "" +"Psensor is a GTK+ application for monitoring hardware sensors, including " +"temperatures and fan speeds." +msgstr "" +"Psensor je GTK+ aplikacija za nadziranje hardverskih senzora, koja uključuje " +"temperature i brzinu okretaja ventilatora." + +#: src/main.c:97 +msgid "Options:" +msgstr "Mogućnosti:" + +#: src/main.c:98 +msgid "" +" -h, --help display this help and exit\n" +" -v, --version display version information and exit" +msgstr "" +" -h, --help prikaz pomoći\n" +" -v, --version prikaz informacije inačice" + +#: src/main.c:104 +msgid "" +" -u, --url=URL the URL of the psensor-server,\n" +" example: http://hostname:3131" +msgstr "" +" -u, --url=URL URL psensor-poslužitelja,\n" +" npr: http://hostname:3131" + +#: src/main.c:107 +msgid " -n, --new-instance force the creation of a new Psensor application" +msgstr " -n, --new-instance prisili stvaranje nove Psensor aplikacije" + +#: src/main.c:110 +msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" +msgstr "" +" -d, --debug=LEVEL postavi razinu otklanjanja greške, cijeli broj između " +"0 i 3" + +#: src/main.c:115 src/server/server.c:120 +#, c-format +msgid "Report bugs to: %s\n" +msgstr "Prijavi grešku na: %s\n" + +#: src/main.c:117 src/server/server.c:122 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s početna stranica: <%s>\n" + +#: src/main.c:473 +msgid "Psensor has not been compiled with remote sensor support." +msgstr "Psensor nije kompajliran s udaljenom podrškom senzora." + +#: src/main.c:551 +msgid "Enables debug mode." +msgstr "Omogućava način otklanjanja greške." + +#: src/main.c:563 src/server/server.c:384 +#, c-format +msgid "Try `%s --help' for more information.\n" +msgstr "Pokušajte `%s --help` za više informacija.\n" + +#: src/main.c:576 +msgid "A Psensor instance already exists." +msgstr "Psensor primjerak je već pokrenut." + +#: src/main.c:631 +msgid "Failed to create thread for monitoring sensors" +msgstr "Neuspjelo stvaranje niza za nadziranje senzora" + +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" gogo https://launchpad.net/~trebelnik-stefina" + +#: src/rsensor.c:107 +#, c-format +msgid "Fail to connect to: %s" +msgstr "Neuspjelo povezivanje s: %s" + +#: src/rsensor.c:144 +#, c-format +msgid "Invalid content: %s" +msgstr "Nevaljan sadržaj: %s" + +#: src/rsensor.c:184 +#, c-format +msgid "Invalid JSON: %s" +msgstr "Nevaljan JSON: %s" + +#: src/server/server.c:57 +msgid "

Server stop requested

" +msgstr "

Poslužitelj je prestao reagirat

" + +#: src/server/server.c:63 +msgid "" +"

Page not found - Go to Main page

" +msgstr "" +"

Stranica nije pronađena - Idite na Glavna " +"stranica

" + +#: src/server/server.c:99 +msgid "" +"psensor-server is an HTTP server for monitoring hardware sensors remotely." +msgstr "" +"psensor-poslužitelj je HTTP poslužitelj za udaljeno nadziranje senzora " +"hardvera." + +#: src/server/server.c:104 +msgid "" +" -h, --help\t\tdisplay this help and exit\n" +" -v, --version\t\tdisplay version information and exit" +msgstr "" +" -h, --help\t\tprikazuje pomoć\n" +" -v, --version\t\tprikazuje informacije o inačici" + +#: src/server/server.c:108 +msgid "" +" -p,--port=PORT\twebserver port\n" +" -w,--wdir=DIR\t\tdirectory containing webserver pages" +msgstr "" +" -p,--port=PORT\tulaz web poslužitelja\n" +" -w,--wdir=DIR\t\tdirektorij sadrži stranice web poslužitelja" + +#: src/server/server.c:112 +msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" +msgstr "" +" -d, --debug=LEVEL postavi razinu otklanjanja greške, cijeli broj " +"između 0 i 3" + +#: src/server/server.c:114 +msgid " -l, --log-file=PATH set the log file to PATH" +msgstr " -l, --log-file=PUTANJA postavite PUTANJU datoteke zapisa" + +#: src/server/server.c:115 +msgid " --sensor-log-file=PATH set the sensor log file to PATH" +msgstr " --sensor-log-file=PUTANJA postavite PUTANJU datoteke zapisa senzora" + +#: src/server/server.c:116 +msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" +msgstr "" +" --sensor-log-interval=S postavite trajanje zapisa senzora u S (sekunde)" + +#: src/server/server.c:301 +#, c-format +msgid "HTTP Request: %s" +msgstr "HTTP Zahtjev: %s" + +#: src/server/server.c:364 +#, c-format +msgid "Enables debug mode: %d" +msgstr "Omogućuje način otklanjanja greške: %d" + +#: src/server/server.c:408 +msgid "No sensors detected." +msgstr "Nema otkrivenih senzora." + +#: src/server/server.c:415 +msgid "Failed to create Web server." +msgstr "Neuspjelo stvaranje Web poslužitelja." + +#: src/server/server.c:419 +#, c-format +msgid "Web server started on port: %d" +msgstr "Web poslužitelj pokrenut na ulazu: %d" + +#: src/server/server.c:420 +#, c-format +msgid "WWW directory: %s" +msgstr "WWW direktorij: %s" + +#: src/server/server.c:421 +#, c-format +msgid "URL: http://localhost:%d" +msgstr "URL: http://localhost:%d" + +#: src/server/server.c:431 +msgid "Failed to activate logging of sensors." +msgstr "Neuspjelo aktiviranje zapisivanja senzora." + +#: src/ui.c:87 +msgid "Psensor is a GTK+ application for monitoring hardware sensors" +msgstr "Psensor je GTK+ aplikacija za nadziranje senzora hardvera." + +#: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Autorsko pravo(c) 2010-2014 jeanfi@gmail.com" + +#: src/ui.c:96 +msgid "About Psensor" +msgstr "O Psensoru" + +#: src/ui.c:100 +msgid "Psensor Homepage" +msgstr "Psensor web stranica" + +#: src/ui.c:223 +msgid "Failed to load Psensor icon." +msgstr "Neuspjelo učitavanje ikone Psensora." + +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "Sakrij" + +#: src/ui_sensorlist.c:296 +msgid "Select sensor color" +msgstr "Odaberi boju senzora" + +#: src/ui_notify.c:48 +msgid "gettimeofday failed." +msgstr "dobivanje-vremena-dana neuspjelo." + +#: src/ui_notify.c:77 +msgid "Temperature alert" +msgstr "Upozorenje temperature" + +#: src/ui_notify.c:79 +msgid "Fan speed alert" +msgstr "Upozorenje brzine ventilatora" + +#: src/ui_sensorpref.c:248 +msgid "Unknown" +msgstr "Nepoznato" diff --git a/po/hu.gmo b/po/hu.gmo index d67daf5d2ec6331f9585ac3fb0d0fec249dcd0ee..e52a57d055ba4d8ee3ed349d674deca51d3c14bb 100644 GIT binary patch delta 3894 zcmZ|RZEO_B9mnxGV;*9_=E-1ej2Ghv4)DX7VBo+>cq-wU8c19Sl*3-zhtGG;?V5m- zaDiaJrKwt-BB9WbP$5;Wf@pea(vqZ*UJ+^H7ll@7`l6NEG*wb65v39|sEPXh-K{HL zgpvODnVH+YnfcG`+Sl!uLW#dj%6;BYo+D-uM{|w2g#Q}D2j!Eo#w^B9aTS)2%i4h} zXupEH@g{cRrt!wq<3(JJH*h-!@{Q@l6R5Ls0X5)|*Z$mV7mx=1@Iur=mZJt(gPO>0uO0I|hU}Vov5@>L zMd#_b4`20s6LsSi)C503t?ZvT9si5U#8gJ%_?QyZ@61J|x)ybQ*LeL~khz*|UOS9h zX!lg|uOB)X7HMAb`qQWz-belLHB^Q^^7?Z~i!w9@mFkJ8 zEv-U5J@vQ_AMpAIkS$1jh9gEGSaXG<9G~ELP(+ z+=$c4vMIMc-$%W00#}xd*2VC4$%#?@D5JG67u~Gto7{0Vc5m-rc#u~hzuTKPv9z^{-oOg;PX0Pe(b_yTHAe~g;Y+o*wtQ16is(88NI z3MbTZzHk~UV=bub_Fx|4n}bx8(xb?uYEEN5zKOcwJ=99CBXcqzd;OC*Fxt9e)E3P~ zrM3w*@Cw|4YmtG>InN9DciI=xr{`Z^b`jbyr9_h%E}GDHha0E~=ovmtgo%D4L?{C) zIfUMR%rTR-BiK#o&=wGknR%&2QCV2c_?dr;*se^`W2H22C3=Yi#8F}mq4S|br2Qnj znb+zHJWd3OeZ+D?MUR)x(Qr{_TD``1P-l*Z!z8xwp#!vuP-g@3|2Vd3EjU*OilWev7b( zRRr&&%s;7+`6J`1LYYPAId4>h@1^~7#Me*upX$@+0ek_*ZTQ;p+~=Zvg$g4W7p zT}f50YRLl=y~-O?s*Bb0Xgn6}u-fgA+Z(qn_h64*Ybu@OP;qGvd{#VN>?)ZlCX`Ic zsR^XsDtOnI`pLvLpU+AbOr9T%g!bAIYmR-O$Bu`)?Wh}y_|2-Y(-R3Dv>ZF?#Nt*s zYPp@Z6$v}86>Il;om9o-{l4TUQ%X|>g)4ojm#60CvjDmJrM6p4|ds+ zD?hNh?T&qR#Ez!V>k8Wn^;zk`|9{<;NpJe>K1NHuRMnr89PsC-&il{$Qoo&dBxmeh zzm$5ew$_*WYu#jDQHSli>{_h7joo5^&T#so(;IPYiCcW%~~0Yy7BPd zUN;9{4T46_9ZEHhsSNd$LV|BW2j}xq`iwxgT8@1iKLy_LDP^(k3SJwu(X-#M^ zhhaTy;GEp+Cf2I2JMye{>udM$9)s;`4>Lq_xV1ABZ?m?>x+CdS_+Ep=!>vxZhed_@ G%>Mvnaw*IJ delta 4490 zcmajh4R93Y9mnw}AqWIaAOev<@S)}ngpeQ#M8JRn0fizowpwetTsFyacYASn6Ub3L zU$OW?Wv-pJI=-OxCGDuSH>1|l@#U(F(@w`aI@3|dY3;u@&!)`^T}K{#!U1|AoxSRLv@1Uxzy1iE|j=tfHX_Y{%*7;3=5K zNf==>?#I*d9<=y4Y9hZv-SF43Z=t^br`QwtA^m@%Ci?d}CWDqi8yMd-)8I4HjZD_; zLaiWyjd%bxv2WsB{1)Y{KQJMOE+%NJYWrKWeuo-Eoy?R;{KM{K4jO-C@NzIQTMqe_N%Dx-Gj`{Jc3$qQTd-o;}uRQ zC4WKc!@Q5W(IiGy%BSE|w5aook-3^>aepH!1DkO>UV^&cy{H8|h`RoJsG4~Sm612* zl7HQ}ihMWVsi;)9p;EsROIw0#=qGR;-iLEnbOjm_sf#-$m8N z(?}VZ z7a78wK;1VtgJo-lvyrTrX4D63QD5jm4X_QBx+~)I2T+;24wcGVP$~Wao{7)l8TbzJ zW2Vh7zYm&F*Z1OjJ^u%2s92svJ*PiKy$4>3&o}Z`(%!aWkvGN)+(rKb($$AsnbkoY zN1g9r)SY+(UV|^=Vcc!YFQPY5HPW_7TbQG2OATXQNA7Pnl6PgK2S10scmY0)n#g;x zAENelD$7;TcH$cB#tzKlV*Ea8?_WV>>|Ioie1J`iZ>pQh8CZ_mf;Fg=?TpVSv5Ni( zY64k24{t(E;2B(je?VwaT-2^Q}Jkj2y;J97h&wUc>cx3i~qyH=(v>7uMhqYT$jS z7tD2N@lK@9%#ZOD{0(;F+eqeeW--r-zR-!)xDB;8y~v|$Qm6rLL#6sIR0bYE7HuAj z&;J&+w|_*QO!Gc!LG`SHu}mjwAr5K_Z^H}p{69=XDR~d|Zm*}rwO75U8DEZf8;bZC!sXm8h)TIK)y)I1XR zl|CI?2)$Zosl$;W`b#Ye6R#rlf>HrfHl_ay)3~3|F-D9KyS4v1E+h_@TICl_E$w}T zo(vt@j^(8m&oBmY`&L{_>>@T2s*l+OTYvJnnU+gjN9dhmi9uqN=+XE$&=@9Ebk`Gl z=hqWDT8Sn?b)e^%EjL#aI(87(s==WG=I>Fd@I0JM^b#sa73rl!9dSFMr|Tv{hokkM zL+m7G5;{Uc6|XniUSi_dPNOpJ48-1ndx$P#Ykckts7LkUxZi?9aofjbaa(L!9Ct3m z@@AC(+MPjPkI60Z=hHAnR1;^$=QhM%l>goIo07{$LU&op+v7w|n0A85TFV)Gvdc$- z6O7q`Okn%HFlo~n--|MV=MP%X4nP=9~qriX36%yJARx@-NYb0>n3;X8Is9c_M6Ok6|4hESKzn}S}GJ)Cc`r%3JR-X&f zr5WaLKE2pH^hwjU{TVkb&BNXAg;9Hc%e)twCsNyG!(^XQ+Lsx2{kFw+!0}Q{LThc$ z&uo}GB~D-dzS_o*p_2 zx6^iZcC9=+fByXXmR(+A$O-!G?o2vWEO>Tp;3YzDIO9i7wtFzm65A7*bUvJ4EZ?YO zbyr76zI#Dy<*Jo=Z^4gppHPq!8M6b$V}paE#c_WuS$xbN8;y!b13Tn|S-*HR#Z}g^ zDL3tA-6T~rIOe8`<6&`}1vvk&K#SuPs2y@sm1Ax`(>SkiPGjw)!hMT6D)R^J+QN%x z9#@@yqxqadcgsL!%^o+C8g)Y7D;MVTwj=+y)|&k7ZLPB}b^XXo6_4_a*uZ0MOtSF9 zwg)P58?qB+m({%8Fv}{kX?JkQ*&7uL*7y8G__5{eq0UF0!7-Z%ouu{Mv<9pQo? z%oZQ=ZPFW6=1P+c9aB6MWVwaQH6L&DpsU!6M-v`fT6lA5dqu^D{Nc8_HKkdR<;cx? z$@W5R`|OIIiQW32`X1sfQ?AlMH;TNpn;GbL#;g+H6`u@8Qv4S)QSx<*7N0Enb&Hyo zoGkeu6NXuvbOI+CxdD0h6aQKH`OS8%Gg04NR%;;-S}w~DJ^RrtKDub4_1}*}`P%Z3 U10#M?>yL^L4UdHR^OooS4V?P~DF6Tf diff --git a/po/hu.po b/po/hu.po index a4a8e0a..040c00c 100644 --- a/po/hu.po +++ b/po/hu.po @@ -8,32 +8,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2014-08-21 11:43+0000\n" -"Last-Translator: Richard Somlói \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-20 11:26+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-08-27 08:00+0000\n" -"X-Generator: Launchpad (build 17174)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, c-format msgid "Failed to create the directory %s: %s" msgstr "Nem sikerült a mappa létrehozása: %s - %s" -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "A konfigurációs fájl nem létezik." - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" msgstr "Nem sikerült a konfigurációs fájlt beolvasni: %s" -#: src/cfg.c:569 +#: src/cfg.c:580 #, c-format msgid "Failed to save configuration file %s." msgstr "Nem sikerült a konfigurációs fájlt elmenteni: %s" @@ -43,7 +39,7 @@ msgid "About" msgstr "Névjegy" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Beállítások" @@ -72,6 +68,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "_Súgó" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Érzékelő" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Érték" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Minimum" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Maximum" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Szín" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Grafikon" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -93,318 +114,409 @@ msgstr "Alul" msgid "Edit Preferences" msgstr "Beállítások szerkesztése" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Ablakdíszítés elrejtése" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Ablak alul tartása" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Menü engedélyezése" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Unity indítón lévő számláló engedélyezése" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "Celsius" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "Fahrenheit" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Hőmérséklet mértékegysége:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Érzékelőtábla pozíciója:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Felület" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "Indítás a munkamenettel" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Ablak elrejtése induláskor" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Ablak pozíciójának és méretének visszaállítása" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "Indítás" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Előtér:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Háttér:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Háttér átlátszósága:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Min" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Max" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Színek" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Figyelés hossza:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "perc" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "másodperc" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Frissítési időköz:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Mérések" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Grafikon" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "másodperc" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "perc" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Mérések frissítési időköze:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Érzékelők naplózásának engedélyezése" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Naplózás időköze:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "másodperc" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "Parancsfájl futtatás riasztáskor:" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Érzékelők" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Érzékelő beállításainak szerkesztése" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Név" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Típus:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "---" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Érzékelő információi" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Chip:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Név:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Azonosító:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Érzékelő görbéjének rajzolása" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Szín:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Riasztás" +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" +msgstr "Érzékelő megjelenítése az érzékelők listáján" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Asztali értesítések bekapcsolása" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Felső küszöbérték:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Alsó küszöbérték:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "Alkalmazás Indikátor" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Riasztás" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Érzékelők megjelenítése az alkalmazásmenüben" -#: src/glade/sensor-edit.glade:429 -#, fuzzy +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "Érzékelők megjelenítése a címkén (fejlesztés alatt)" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Érzékelő megjelenítése az érzékelők listáján" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Alkalmazás Indikátor" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: Nem sikerült betölteni az ADL programkönyvtárat." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: hiányzó ADL API." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: az ADL előkészítése meghiúsult." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: adapterek számainak lekérése meghiúsult" -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "ADM/ATI adapterek száma: %d" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "Aktív ADM/ATI adapterek száma: %d" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "Processzor" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Lemez" -#: src/lib/hdd_atasmart.c:152 -#, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart: sk_disk_open() hiba: %s." +#: src/lib/hdd_atasmart.c:141 +#, fuzzy, c-format +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: sk_disk_open() hiba: %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: foglalat megnyitása meghiúsult." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: foglalat megnyitása meghiúsult." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: a kapcsolat megnyitása nem sikerült." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: a kapcsolat megnyitása nem sikerült." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: rossz karakterlánc: %s." +msgid "%s: wrong string: %s." +msgstr "%s: rossz karakterlánc: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: alfunkció értékének lekérdezése meghiúsult %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: alfunkció értékének lekérdezése meghiúsult %s: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor: lmsensor_psensor_create hiba: rossz funkciótípus." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: rossz funkciótípus." -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "Intel processzor" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "AMD processzor" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "NVIDIA videokártya" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "VIA processzor" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor: előkészítési hiba: %s." +msgid "%s: initialization failure: %s." +msgstr "%s: előkészítési hiba: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "Processzor" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "A naplófájl megnyitása sikertelen: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" -"Az NVIDIA zár eszközmeghajtó nincs használatban vagy csak nem sikerült a " -"videokártya hőmérsékletének lekérése." +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "NVIDIA információinak lekérése meghiúsult." + +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "NVIDIA információinak lekérése meghiúsult." + +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "NVIDIA információinak lekérése meghiúsult." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Nem lehet létrehozni a kapcsolatot az X11 kiszolgálóval." +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Nem lehet létrehozni a kapcsolatot az X11 kiszolgálóval." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: NVIDIA információinak lekérése meghiúsult." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." msgstr "NVIDIA információinak lekérése meghiúsult." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -412,24 +524,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "HOME változó nincs beállítva." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Az érzékelő naplófájlja már meg van nyitva." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "%s érzékelő naplófájlját nem lehet megnyitni" -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Az érzékelő naplófájlja nincs nyitva." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "Az érzékelő naplófájlja nincs nyitva, nem lehet bezárni." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -444,12 +556,12 @@ msgstr "" "Ez egy szabad szoftver: szabadon terjesztheti és/vagy módosíthatja\n" "NINCS GARANCIA, a jogszabályok által megengedett mértékben.\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Használat: %s [KAPCSOLÓK]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -457,11 +569,11 @@ msgstr "" "A Psensor egy GTK+ alkalmazás a hardver érzékelőinek figyelésére, beleértve " "a hőmérsékleteket és a ventilátor sebességét." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Kapcsolók:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -469,7 +581,7 @@ msgstr "" " -h, --help ezen súgó megjelenítése, majd kilépés\n" " -v, --version verzióinformációk megjelenítése, majd kilépés" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -477,56 +589,56 @@ msgstr "" " -u, --url=URL a psensor-server URL-címe,\n" " például: http://gepnev:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart atasmart függvénykönyvtár használata a lemezek " -"figyelésére a\n" -" hddtemp démon helyett" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance új Psensor alkalmazás indításának kényszerítése" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL hibakeresési szint beállítása, egész 0 és 3 között" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "A talált hibákat itt jelentse be: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s honlap: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "A Psensor távoli érzékelők támogatása nélkül lett lefordítva." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Hibakeresési mód engedélyezése." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "További információkért adja ki a „%s --help” parancsot.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "A Psensors egy példánya már létezik." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Nem sikerült a mappa létrehozása: %s - %s" +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Bence Lukács https://launchpad.net/~lukacs-bence1\n" +" Gabor Kelemen https://launchpad.net/~kelemeng\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Richard Somlói https://launchpad.net/~ricsipontaz" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -542,25 +654,25 @@ msgstr "Érvénytelen tartalom: %s" msgid "Invalid JSON: %s" msgstr "Érvénytelen JSON: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

A kiszolgáló leállítást kért

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Az oldal nem található - Ugrás a Főoldalra" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "A psensor-server egy HTTP kiszolgáló a hardver érzékelőinek figyelésére " "távolról." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -568,7 +680,7 @@ msgstr "" " -h, --help\t\tezen súgó megjelenítése, majd kilépés\n" " -v, --version\t\tverzióinformáció megjelenítése, majd kilépés" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -576,110 +688,91 @@ msgstr "" " -p,--port=PORT\twebkiszolgáló portja\n" " -w,--wdir=DIR\t\ta webkiszolgáló oldalait tartalmazó mappa" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL hibakeresési szint beállítása, egész 0 és 3 között" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=ÚTVONAL a naplófájl ÚTVONALÁNAK beállítása" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr "" " --sensor-log-file=ÚTVONAL érzékelők naplójának beállítása az ÚTVONALRA" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=S érzékelő naplózási gyakoriságának beállítása S " "másodpercre" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP-kérés: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Hibakeresési mód engedélyezése: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Nem találhatók érzékelők." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Nem sikerült létrehozni a webkiszolgálót." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "A webkiszolgáló elindult ezen a porton: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW könyvtár: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Érzékelők naplózásának aktiválása meghiúsult." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "A Psensor egy GTK+ alkalmazás a hardver érzékelőinek figyelésére" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" -msgstr "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" - #: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" + +#: src/ui.c:96 msgid "About Psensor" msgstr "A Psensor névjegye" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "A Psensor honlapja" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Nem sikerült betölteni a Psensor ikonját." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Előtérszín kiválasztása" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Érzékelő" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Érték" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Minimum" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Maximum" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Szín" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Előtérszín kiválasztása" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -690,9 +783,26 @@ msgid "Temperature alert" msgstr "Hőmérséklet riasztás" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Ventilátor riasztás" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Ismeretlen" + +#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#~ msgstr "lmsensor: lmsensor_psensor_create hiba: rossz funkciótípus." + +#~ msgid "The configuration file does not exist." +#~ msgstr "A konfigurációs fájl nem létezik." + +#~ msgid "Sensor Information" +#~ msgstr "Érzékelő információi" + +#~ msgid "" +#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " +#~ "temperature." +#~ msgstr "" +#~ "Az NVIDIA zár eszközmeghajtó nincs használatban vagy csak nem sikerült a " +#~ "videokártya hőmérsékletének lekérése." diff --git a/po/it.gmo b/po/it.gmo index 3e77dc2c2ee008c7839fb2ba5aece079dc2ab843..a1a51a75f87379682c1f59786c246d5528ce3b7c 100644 GIT binary patch delta 3745 zcmZ|Re{5Cd9mnzKmR4wi2?Yu*rJRnT9@<08z1MqB z3pnUiQ5+d$na5Q{gD!4a*zfI1<}$LxWUyt%Wl@6J5_QWKmn_kZILuo~8)>DYrcJm2(FX{2Ga&|r*@dhpM% z1b>GN+WaBB{!Z9_9W{Vya|<&ul}J)d6mP<{I1M-8BJ4p6??(+_5=(f#IiU)kLjCZ` z&}Z>F=P#lLc(&XaR>xdIW#TpDl6emqi}?>~;HBhs3D%+pv>q$45BX;X!}AHuDMhEl zhG%d&=RZd6g)5;SqB@#0KNx5=s>3?egV%=Vy`eUeeRCLY!V6EK9`K{EJ&(%JFGF8PJ@{SJlKmAm!!pvN49(%7{+dt| zi6LV#o5J>cQ1|C-D(ZL`^_m?CFFb=v(OFc=zKdGJ3#hl@66$rk9JViII!bvHYNo64 zEHC z9yj1hd>CW+ebgp?8iTFRee1O5q>3H^xGG4qfvO*3jw^r<~ZWjhtE%>h)$kDyY261B!pqB@+y zF1&!c?;2{;UPpCU%G1?82X(#(OCvlK8#!-U7OeSQr~&Q5oYpc$MFTj78sSq|k1wM( z&mWPjn|~myWoB@ZY?^x1ns=kF---H!k0E0+Q>YBRg8W%9e?blK1JwN=)sufcU_R5+ z8a1Fg?nkZdC{Dv1YV#dO&G>Y9{aMsZeu#RFFQWSUGb)2ukvG?TjD^hb5DjP%DnlEW zlYdpV(7;AETTu@jLCtIoi}4Va;8E0lkD?y%9Fi3CZPfk0Ma}F@)IhG{1}q}~8?hTF z@NrbXpX8|Mff0tKB`CpmtVZqPJ8(MYP@CxqREp0a|IDvBtitzE_tkPysc*uYun#rx z?Wm0IMz(_)!$QAbrxK;%Y1EAuQ8RoEmFmBtUZa1ZQaPJ(%LTZqRA6*r*pKO%j29u3dG5~`i7O{#K# zKw-&J)b%!L8TA3v`rk^ZB#1b{oXlN>3JEnyo?qDc>(oLyMq~)3cnzVX7Dh~tEoO3SFF8YUbaC+;SSh(V&8P}xuHF4T;9KwHUYpN~HrP;jqSs4hM?m5DAjh5Ix&DZ$*u+4grawsZoDNUchw6i(5(_9C z4~F$F)NX!+Xd~(gl{*6p$4-tO(Ma?WO9*{6A0t%s8XL=sMzc;b>+h_d>%TE`B!6z! z^F<{M*|^p1f3I?Rv1B)!`6Ps_Qo@gTC0^NM5aC6qnxXIzT)sSuVV^&4}-kZ-y@@wWMA`vTpru@E0zHxqcB>&2S=OV2` z88_`&&S7V0+;bAvp%Eu(+58)`GY2gm=f4fN`fX{_%xV(+4~|YuX50!fvJDDA`y;LSTlyMTSm-T;8<&>?BcEqe$SG=Rs zU%a^HR!-ZkSS;SLy1AWF)^BIM=#I~S8n=2KI~mpm%Lo0w5+SG@-MX12bt}!YYZyCYG~EP_UK~K z*3uBLz)!c#>{1q;OeRIHv!nYGE{9awNv>!rq?62lemUVHa(TorZ>jM6q7%7(dptQblC~38cPhz34~~0oDw&O!S=Pp6BIDTB zCMT0rqDDL~osGA(jeYiu)}-ULP4ZmsiVg;M@v|P+8BST-Tql$A7}*VeHmp6BD%)pS ho9)4j>x?-!x-;Q8=>!YZv5L`j}ay4;X7ZQ(N#49Y+V$QgNoWe+cSyY)4xd{Qh>&29SCu zzx|wZ@7?qKorMoJzP>s8?x>Py71t4BB9San>NPwwgb%Klhbh&9uV6cVh%U|>UZ{T` z7gGNlK7tK*DAkQmVHE#^i*aVTQtL5|JMfnnQ7WruRVZ~QHyUvOF2)CN8P3HJ%kZ4> z_jot;OIV5nM<`W=!>|@-n)+HCOMMp(!Y7fjsHe^IWBL18W=dfU58gl-$OUAQ>M{<- zf8#*Bj?-}9NTtT%4Ai&~Wgu~sj=GJzP`7WH=AgfJ%n{hX?`s!;aEAu=`J12}UqI~ZZ(uaBrWnzEA@puJEGgUf<{U;C9 zaMoWMnt-yjlTq@o#oTX0zM~eK`X-c_K7uRJL22+MlnIi}bDjf|3gnUY7eqP_{&)v^x)F#qY;~^skmtkiA`j(r^Y_@H;49_$^A- z{t>0&znc43O#LGq8et2umgj@33wz#xGJrWK6I_8ZkWDB9-Gx~~eS?quc|}%Ry@eC- zePoqYgi*=fX_V)6I0HM7$*K&>N-yAmzlTn zAsuz09IrztS^peL@;r~S0zWX%Pom81Z6uG>C6op~MOoV6ECWYejX~+S4rPF|aWHN% z#%o!B5?}4)hIF_eWu}L53w{$z@E7CZc?=6=jCYQ3m8-EB0X< zp2l9hhSF}3WgVsCJt%v#52N^uslSP()Zanr_&t=QyN3L!5i<)ji{WhQag_IuqHN7^ zlo`K{va)X@X``C4vgGTK6REbLEa^U!FNP=$e;4J4pM@(-nO(}~Lp6>z_a4K8rYu|9W6F}aUp8ff%)juv{(0oz5Opsh`5>o2 zu7yN0Un-n+DK-#t?Dk9Lf38E+B~P{xa@6Ehe2Hiw9wHtlb`ph){^ggh&s61zNODPr z?jlAIO9{Co35!=7g(ryB#2n&5Vh6F7kSkN5|I?@R0MS9D`|py#vW#->iGbL}J3 zkw{tCI(2mJ?5Jgt@Irab&?T0ut)%S-xr)(?BP%v^w0E@WwC|;T#|~r|3E%0peeHUI z43n;X9k*Pm`gXuey|!Le_}0=j>$P-l`&Q87+YPz3V~$0lcG8XqG8wze_j=rfj(bVZ zR}b25rXStm@r7ZI8Bgp)gEFfSj;olo#FS&^p$fcVl|D@3F!e=Hzx2+D@i2 z`BBDnJltPi6TeY+*b&D{I(_*e-#VfjZxu^h(}i}n#(mog>>IBay6og8^U=Ycv>m=W zt}k3VKGD=t-!xA*Mq|;&x@c20TDE3&{aU-%$*@B8?KBe8P0_|V_0g94#%A5r7>hQC z7srpST54@)Pm;F2FJas1gtyymn%&x!VqF^IUMd_}dAuy&a zD%z4s%TL+5*LDLhY2_|eAB}8jFC^@Z9A-o&LtW1$i7iP1?WEFPCgW@;W3\n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-20 11:24+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Italian\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-08-27 08:00+0000\n" -"X-Generator: Launchpad (build 17174)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Impossibile creare il Web server." -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Attivazione registro dei sensori fallita." -#: src/cfg.c:569 +#: src/cfg.c:580 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Attivazione registro dei sensori fallita." @@ -42,7 +38,7 @@ msgid "About" msgstr "Informazioni su..." #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Preferenze" @@ -71,6 +67,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "_Aiuto" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Sensore" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Valore" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Minimo" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Massimo" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Colore" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Grafico" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,317 +113,410 @@ msgstr "In Basso" msgid "Edit Preferences" msgstr "Modifica le preferenze" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Nascondi le decorazioni della finestra" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Mantieni la finestra sotto" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Abilita il menù" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Abilita contatore nel Launcher Unity" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "Celsius" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "Fahrenheit" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Unità di misura della temperatura" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Posizione della tabella dei sensori" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Interfaccia" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "Lancia all'avvio" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Nascondi la finestra all'avvio" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Ripristina posizione e dimensione della finestra" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" -msgstr "" +msgstr "Avvio" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Primo piano:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Sfondo:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Opacità dello sfondo:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Minimo" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Massimo" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Colori" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Durata del monitoraggio:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "minuto/i" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "secondo/i" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Intervallo di aggiornamento:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Misure" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Grafico" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Minimo" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Massimo" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "secondo/i" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "minuto/i" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Intervallo di aggiornamento delle misure" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Abilita registrazione sensori" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Intervallo registrazione sensori:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "secondo(i)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" -msgstr "" +msgstr "Script eseguito quando un allarme viene attivato:" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Sensori" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Modifica preferenze del sensore" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Nome" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Tipo:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "N/A" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Informazioni sul Sensore" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Processore:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Nome:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Id:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Disegna curva" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Colore:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Avviso" +#: src/glade/sensor-edit.glade:380 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Mostra sensore nel menu" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Attiva le notifiche sul desktop" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Soglia verso l'alto" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Soglia verso il basso" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "Indicatore Applicazione" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Avviso" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Mostra sensore nel menu" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "-1" - -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Mostra sensore nel menu" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Indicatore Applicazione" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: impossibile trovare la libreria ADL" -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: impossibile trovare l'API di ADL" -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: impossibile inizializzare ADL" -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: impossibile rilevare il numero di adattatori." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "CPU" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disco" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart: errore sk_disk_open(): %s." +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: errore sk_disk_open(): %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: impossibile aprire il socket." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: impossibile aprire il socket." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: impossibile aprire la connessione." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: impossibile aprire la connessione." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: errore di stringa: %s" +msgid "%s: wrong string: %s." +msgstr "%s: errore di stringa: %s" -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: impossibile rilevare il valore della sotto funzione %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: impossibile rilevare il valore della sotto funzione %s: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor: lmsensor_psensor_create fallito: tipo di funzione errata." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: tipo di funzione errata." -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "CPU Intel" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "CPU AMD" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "CPU NVIDIA" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "CPU VIA" -#: src/lib/lmsensor.c:218 -#, c-format -msgid "lmsensor: initialization failure: %s." +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 +#, fuzzy, c-format +msgid "%s: initialization failure: %s." msgstr "lmsensor: inizializzazione fallita: %s" +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "CPU" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" + #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Impossibile aprire il file di log: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" -"Driver proprietario NVIDIA non usato o impossibile rilevare la temperatura " -"della GPU NVIDIA." +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Impossibile recuperare informazioni da NVIDIA" + +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Impossibile recuperare informazioni da NVIDIA" -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Impossibile connettersi al server X11." +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "Impossibile recuperare informazioni da NVIDIA" + +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Impossibile connettersi al server X11." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Impossibile recuperare informazioni da NVIDIA" -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." msgstr "Impossibile recuperare informazioni da NVIDIA" -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -410,24 +524,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "Variabile HOME non impostata." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "File di registazione sensori già aperto." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Impossibile aprire il file di registrazione sensori: %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "File di registazione sensori non aperto." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "Registro sensori non aperto, impossibile chiuderlo." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -442,12 +556,12 @@ msgstr "" "Questo è software libero: sei libero di modificarlo e redistribuirlo.\n" "NON esiste GARANZIA, per gli scopi permessi dalla legge.\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPZIONE]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -455,11 +569,11 @@ msgstr "" "Psensor è un'applicazione GTK+ per monitorare i sensori dell'hardware, " "incluse temperature e velocità delle ventole." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Opzioni:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -467,7 +581,7 @@ msgstr "" " -h, --help mostra questo help ed esce\n" " -v, --version mostra le informazioni sulla versione ed esce" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -475,57 +589,57 @@ msgstr "" " -u, --url=URL URL del server psensor,\n" " esempio: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart usa la libreria atasmart library per il monitoraggio " -"dell'hard disk invece del \n" -" servizio hddtemp" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance forza la creazione di una nuova applicazione Psensor" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL imposta il livello di debug, un intero compreso tra 0 e 3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Segnalare i bug a: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s home page: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor è stato compilato senza il supporto per sensori remoti." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Abilita la modalità debug." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Usare '%s --help' per maggiori informazioni.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Esiste già un'istanza di Psensor" -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Impossibile creare il Web server." +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Andrea Bernini https://launchpad.net/~andrea-bernini\n" +" Diego Pierotto https://launchpad.net/~gringo\n" +" Gabriele https://launchpad.net/~deepdown23\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -541,25 +655,25 @@ msgstr "Conenuto non valido: %s" msgid "Invalid JSON: %s" msgstr "JSON non valido: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

Arresto del server richiesto

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Pagina non trovata - Vai a Pagina principale" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server è un server HTTP per il monitoraggio remoto di sensori " "hardware." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -567,7 +681,7 @@ msgstr "" " -h, --help\t\tmostra questo help ed esce\n" " -v, --version\t\tmostra le informazioni sulla versione ed esce" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -575,110 +689,91 @@ msgstr "" " -p,--port=PORT\tporta del server web\n" " -w,--wdir=DIR\t\tdirectory che contiene le pagine web" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL imposta il livello di debug, un intero compreso tra 0 e 3" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=PATH imposta il file di log su PATH" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr "" " --sensor-log-file=PATH imposta il file di registro dei sensori come PATH" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=S imposta l'intervallo del registro di sensori come " "S (secondi)" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP Request: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Abilita modalità di debug: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Nessun sensore rilevato." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Impossibile creare il Web server." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Web server inizializzato sulla porta: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW directory: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Attivazione registro dei sensori fallita." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor è un'applicazione GTK+ per monitorare i sensori hardware" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" -msgstr "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" - #: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" + +#: src/ui.c:96 msgid "About Psensor" msgstr "Informazioni su Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Psensor Homepage" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Impossibile caricare l'icona di Psensor." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Colore di primo piano:" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Sensore" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Valore" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Minimo" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Massimo" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Colore" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Colore di primo piano:" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -689,9 +784,23 @@ msgid "Temperature alert" msgstr "Allarme temperatura" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Allarme ventola" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Sconosciuto" + +#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#~ msgstr "lmsensor: lmsensor_psensor_create fallito: tipo di funzione errata." + +#~ msgid "Sensor Information" +#~ msgstr "Informazioni sul Sensore" + +#~ msgid "" +#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " +#~ "temperature." +#~ msgstr "" +#~ "Driver proprietario NVIDIA non usato o impossibile rilevare la " +#~ "temperatura della GPU NVIDIA." diff --git a/po/lv.gmo b/po/lv.gmo index 4c4888e93779ce083b36fafe8f71e5395885f1af..bac41f8056e8185968c4b07e85fe8df363b8b153 100644 GIT binary patch delta 3479 zcmZ|QZE#f89mnyrOJYcXN=O7YfpCMH1PGfaVM!tgF`zt_NJMHZmL<7KmL$8|-AxRU zW&tID^+ktkXKba_w!@T;Gqvqn`^u?xsI7Et8DK_78GLp+*0JMsCOT8Zet)~i@l8FG z|NWeE_CB2RKj+?@x%cVr%++}XKQxr%#3JJE0%LxUkIv*k**D9WR*c|A{IT^-yq$J% zwlVkP01n|x*n}-}jM;>}xEp_kgZKsdaPS+(lo^vT2dJ!|V-lC^MBBcE3us@*Dx80# zF%`HPmtYs(gbDQH6mG?n7{<$3g0tr4osUatS7Q-w#44U|wo|F2V<^{QjE8#g@30Wh zBZD>$_U=j;?zL`=5A4Oew%K9T@ zHOy0}nV&)a%nKZNwz-HJ=)1TW|BD(xU>@1R8YIPLt!;OqGBRM>NzByJagvJG{x{ZF zP&fJzHLz*a4X>ddT*h714q9(TvTb&uX1pJZvEQ0NT{nUJneTI8tmerw@*kk`TRJq; zzah(QE}(AoCMtFBqW0r8+h16241cDWgU+i$&1@;^J|Wb=TaZ7~%0YW*2iD*)>VBun z$-h$j1Ra|3bEs6lh#K)**oL3rI;>~GU5uh0^bgbkE+b0Bza~X z>i%7*iN`Wjv@1`bHpSEShb-y=uh{;JsFb~K{Rs8o>!>C4vk^4o<*1A`qVBgDHIXjl zR1>lNYX@Zh!a#Dn-vDlQ%D+*7Ob3+weZ>b^DL)zm2DA2{xl<+KoTw zMej#tu$VOO#7^u%4>#-m|CmZY9cwC$N#Rd1jPux$>v0R-hbJ+P@1s5-yU8P2HhXXl zj^Ii>gY|e3HKFTxGcKl~b_a)Q+=l_Z|3|6l19BSg!6&f;r;(4DXc)S>75Fx4iDo*u1*TZGE&2ArRvvW1FfvJbT;W7b2c8yrR5cnWpn zv#0@FLJjZ@)F%5Us{h~CPf_>#0-Laqn`jS&kySH0FvB2?OJx}zL+#>UBY);a4ncem zwaJQ^uHKR+B&%jEhOh_q`w7$xpFzFGmrw(G2lbo}Q3EL9B<+#vo5??YW)&UUgnMuX zMp2t>1eK}>P!}9VZAQ;}7PTbLqt3sA`Vf79n)x)=;WgCe3^E(NRgI{DtO}C<8C15> zp%ZqZZq#GjeW<00Bm2@EL+)jMh8ozPk^N}?j#`R;p)&UwDw7p8`Tw2`cq{Dz9Kl~; zA(rae6yZ>!sgKaDAS^{mj z)kHHfPV6A=C-jX`Q8qW}{nv)MgE&U$!BIlxKH^^Ds2Y?9^WF;4;V1SJ9fV3haZj$sUeWsNL(yY9He(IZN!(5h5-SO1Ngp1Sf;_q7 zOpd*_z23UZ`X$}A!Zyp52uC(vuI$#G6SlF=s!yZJfjqgR-dU9}q3^*FLa$wrP}!a* zcU;9WP1F%v2z@CliH8XleaMXCghDAdmh#@7bujz#?9=|jnpC^f>8%gc7O3VqrM6OD zR#%~(J;``%!0C4*>CvR?qz@+C22+#rt}I;auSuN>1UPylfhyqy%Kf3{Y~PK4^?AEW zyRzp?xB0Snly&;Dua=ki3u38wGCOy{BR=nig*SQU1LO13$w(|U97)HMq28q17fq+U zj*7h{ZK0NCr@6JgCG4H8s8X}ZX>L~YLdAmet!^Y1>Kcp=M-vIx*_lj5V^Qyuif8ke zHMO>{4tvj3*7@7Q-fNXV$X;Fas$YYfst@O9c)EIdzOp{JOh3$7shN0z`lZ#HZ_JHO z^tof_j-;GOdhDE+OgqETfr-A++_cZtJB#vXB_c`Aj5uS_WZLIl zsvgP?Exqi^9txiDWqWEH{YBj*J)TTu|FUehfBt}*PDe-Fcz<8y;8zdy>Q+upY>$k_ zdIuAcKBqGtODCiIN7K=GEY)7(IR9_r&R{y7NVPXM4u5%FL(EM#P9Erwaz%P{d?XT! OMtX<7?!2$gF#iLCf2d^u delta 4345 zcmai$dyG`o9mmh|W_ih$MOaukQXY#i%Yv}r@{+eu4 z^?@J+#i_<14ML)6vf8wr*2YFtO%~hG+D0n`YSFZ5F!jGSTB@n0pYP0F*;*1$=6gTq zoO|y%zt_3DotvKDo_oKd&r^nW9F0W>`xx^p_~!v!XqN{WGY?*Y%VEV}W0G(i)c8%f z6b>3<%=h3r7>6&xIyic$F)QF2xCK4|_rhzi%$S^6Kg^hKFtHJ?fiA3vKZfP-!;t@k z6BvIE`$Kz+G2>tjoB~&c;}pD=@d?-$z5ubsycpj9WjKEYR$OBLt9SL~?>izGBd=|>UbCBSg3$P0Q0S;$>^AR2PHvfUL zd`N{c)o>D&LCfGsxE{*Trf}R26`_;i_%xi%xB!*PKZU#=&X3^bfy~c`T6YD^$?}bK zw81tgLz3Y*7xHOH)Xhs!5qS-2p*KSQ7V5o=ke|861z*f(a5Nk|qU8BxNZQRbsC61f z5PyYq5fiGnZQ+gGke`W#<2EQy55arj5vWjJf^y(J$j|(Ri)!LuP${ddEUh~qD&)(d zJa2@GaJ-WE%kra4+zC&?h45YI!V1EojSfIrd;u0MBR84YQwYP{0mT_{87l)p$vHkD%Y2wBJep>BztqwdSjs+ zn+UPN%n9e$LOs73YTeupItp1Lym1UF6(^xWcnT`CufuP`i*P*r6e^^nvAPbiDMJY z!3?|x>){T(SPW0Xo$zg#f)T7`dGiBER?Qi>75*G9(fJ>25fkg6ieo3_UDFH|%EM5( zIsp}dpTOJTMR+^B4waG#OzQo~P|wYRisV+P6f{B^&r55&DVykhtnA^g4!Ssm705@3^)fV6Y~nhdGj{RX~TceQB_xA zwl=PX6X6D^BFjQ~b{eXRe+VP+&G7!mke?aDOH<%tsG4bpI`0Re3_S+5aURN`!bIY) zV{(BBY%o`$s#2BI8&p6Q(MYIJTBzrzLT#`hYPR+wmo<9d=U>DS<_bsSYeFPQJ z>rfFMjTQ4?1kQ&|IXW$L&cVL$7V;rOMnY{+1r?ckI0J5nTJR|B4?CeEQ3&}P$j@Bm zf)A$O)Y5y?p`PCbWpFGU=Z?^kXHP&y;#sJTe;PjUdnijUK^a&~(VSjKn|+Jg?Eu{!@fn~ulv9uqQ5VQ)vf(f#N!vdyyPbbCEvBb5J9q&WmlD_SffeHA2Z=ubo8Eryqk=izN6pcqq zky={`hSDhh@24ZBrfVZScRzcREczkK+vDa%snHs5RB8`MOn+F5lo>mpocm+y0(WRrJSbBp68 zYNM%^!kOV~%kr0pP9C_@Nm?i2`a$9E6)VctZe6{6^%9%*Q)%CG1KAn#y;j$^$y6Xe zu+6toC#j+D20Ya2+I6M3R&Cf~Wu5CgLDqL`3)4po?lmLfMguwPHv6e;GG?QxM9Mdt zict$;S0{O(#R)uoS}^jlvZdY8YOtAjqoUN9O1sILskR9RSi8Ya%G8=>Hwe5IH`Nq# zh$na4Sgi>|lpi&$dS%#e2yfaTWwnmYq@r;*`108XyWdX{{tW&kn@ejaT1ts+u+jWO zLnlXXj6KrjISH@5Xz%}8bmOV+USqnnPGi(}oxr{EcxlTfCh^AxZD}`u<<|Cm)2LnL z^CGk6+L?6?bu;t78#QiPeWY%-oi(dr_S|W8wDPr1CWvhIon$8AP&f@X$R22MlAaTd z=f{u!S?TqR)#{L)8ZE1nQ*jh zbEzJ?I@8Yivq{g5$9zXc>}71yWt+I|_Bmr)9goRY$G4u_e7-ZdSuvmQ^s}{v?GtDA zTC}>owJV>%F^uJyu-5sr=|oot?#BJDj!ZTz=}bt6Gp*Y0>WF&#oWjY;gL_Ttj`RN& zw-W@e7cCWc{&Y=M|L$5IKW;*ge&vjW*W4b<_Nd>an|6Gck|gMUJQ<#k?i$Res_Qp) p4;rw@ixvyGWK_n+yIwut8FRi`_}y=OwS+@6pBz`6f4Szq{{kwu%k2OF diff --git a/po/lv.po b/po/lv.po index d33a21b..d84feaf 100644 --- a/po/lv.po +++ b/po/lv.po @@ -7,32 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2014-06-04 22:47+0000\n" -"Last-Translator: tuxmaniack \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-20 11:26+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Latvian \n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-08-27 08:00+0000\n" -"X-Generator: Launchpad (build 17174)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Neizdevās izveidot tīmekļa serveri." -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Neizdevās aktivizēt sensoru žurnalēšanu." -#: src/cfg.c:569 +#: src/cfg.c:580 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Neizdevās aktivizēt sensoru žurnalēšanu." @@ -42,7 +38,7 @@ msgid "About" msgstr "Par" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Iestatījumi" @@ -71,6 +67,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "_Palīdzība" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Sensors" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Vērtība" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Min." + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Maks." + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Krāsa" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Grafiks" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,318 +113,411 @@ msgstr "Lejā" msgid "Edit Preferences" msgstr "Rediģēt iestatījumus" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Slēpt loga apdari" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Turēt logu apakšā" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Aktivizēt izvēlni" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Aktivizēt Unity palaidēja skaitītāju" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "Celsijs" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "Fārenheits" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Temperatūras mērvienība:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Sensoru tabulas novietojums:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Saskarne" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "Palaist pieteicoties sistēmā" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Slēpt logu pieteicoties sistēmā" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Atjaunot loga pozīciju un izmēru" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "Palaišana" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Priekšplāns:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Fons:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Fona necaurspīdība:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Min." - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Maks." - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Krāsas" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Pārraudzības ilgums:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "minūte(s)" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "sekunde(s)" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Atjaunināšanas intervāls:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Mērījumi" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Grafiks" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Min." -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Maks." + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "sekunde(s)" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "minūte(s)" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Mērījumu atjaunināšanas intervāls:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Aktivizēt sensora žurnalēšanu" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Sensoru žurnalēšanas intervāls:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "sekunde(s)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "Skrips izpildīts, kad trauksme ir aktivizēta:" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Sensori" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Rediģēt sensoru iestatījumus" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Nosaukums" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Tips:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "N/P" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Sensora informācija" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Mikroshēma:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Nosaukums:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Id:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Zīmēt sensora līkni" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Krāsa:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Trauksme" +#: src/glade/sensor-edit.glade:380 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Aktivizēt darbvirsmas paziņojumus" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Augsts slieksnis:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Zems slieksnis:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "Aplikāciju indikators" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Trauksme" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 #, fuzzy msgid "Display sensor in the label (experimental)" msgstr "Attēlot sensoru etiķetē (eksperimentāls)" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Rādīt sensoru aplikāciju indikatora izvēlnē" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Aplikāciju indikators" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: nevar atrast ADL bibliotēku." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: trūkst ADL programmatūras saskarne." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: neizdevās inicializēt ADL." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: nevar saņemt adapteru skaitu." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "AMD/ATI adapteru skaits: %d" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "Aktīvo AMD/ATI adapteru skaits: %d" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "CPU" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disks" -#: src/lib/hdd_atasmart.c:152 -#, c-format -msgid "atasmart: sk_disk_open() failure: %s." +#: src/lib/hdd_atasmart.c:141 +#, fuzzy, c-format +msgid "%s: sk_disk_open() failure: %s." msgstr "atasmart: sk_disk_open() atteice: %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: neizdevās atvērt ligzdu." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: neizdevās atvērt ligzdu." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: neizdevās atvērt savienojumu." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: neizdevās atvērt savienojumu." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: nepareiza virkne: %s." +msgid "%s: wrong string: %s." +msgstr "%s: nepareiza virkne: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: nevar iegūt vērtību no apakšīpašības %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: nevar iegūt vērtību no apakšīpašības %s: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor: lmsensor_psensor_create atteice: nepareis īpašības tips." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: nepareis īpašības tips." -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "Intel CPU" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "AMD CPU" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "NVIDIA GPU" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "VIA CPU" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor: inicializācijas kļūda: %s." +msgid "%s: initialization failure: %s." +msgstr "%s: inicializācijas kļūda: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "CPU" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Nevar atvērt žurnāla failu: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" -"NVIDIA īpašniekdraiveris netiek izmantots vai nevar iegūt NVIDIA GPU " -"temperatūru." +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Neizdevās saņemt NVIDIA informāciju." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Nevar atvērt savienojumu ar X11 server." +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Neizdevās saņemt NVIDIA informāciju." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "Neizdevās saņemt NVIDIA informāciju." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Nevar atvērt savienojumu ar X11 server." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Neizdevās saņemt NVIDIA informāciju." + +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "Neizdevās saņemt NVIDIA informāciju." + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -411,24 +525,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "HOME mainīgais nav iestatīts." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Sensora žurnāla fails jau ir atvērts." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Nevar atvērt sensora žurnāla failu: %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Sensora žurnāla fails nav atvērts." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "Sensora žurnāls nav atvērts, nevar aizvērt." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -438,12 +552,12 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Lietošana: %s [OPCIJAS]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -451,11 +565,11 @@ msgstr "" "Psensor ir GTK+ lietotne aparatūras sensoru pārraudzībai, ieskaitot " "temperatūras un ventilatoru ātrumus." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Opcijas:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -463,7 +577,7 @@ msgstr "" " -h, --help rādīt šo palīdzību un iziet\n" " -v, --version rādīt versijas informāciju un iziet" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -471,54 +585,53 @@ msgstr "" " -u, --url=SAITE psensor-server adrese,\n" " piemērs: http://saimniekdatoravārds:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart izmantot atasmart bibliotēku disku pārraudzībai\n" -" hddtemp dēmona vietā" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance piespiest izveidot jaunu Psensor lietotni" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr " -d, --debug=LĪMENIS iestatīt atkļūdošanas līmeni, starp 0 un 3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Ziņojiet kļūdas uz: %s.\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s mājas lapa: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor nav kompilēts ar attālināto sensoru atbalstu." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Aktivizēt atkļūdošanas režīmu." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Mēģiniet `%s --help', lai iegūtu vairāk informācijas.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Psensor instance jau eksistē." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Neizdevās izveidot tīmekļa serveri." +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" tuxmaniack https://launchpad.net/~tuxmaniack" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -534,24 +647,24 @@ msgstr "Nederīgs saturs: %s" msgid "Invalid JSON: %s" msgstr "Nederīgs JSON: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

Servera apturēšana pieprasīta

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Lapa nav atrasta - dodieties uz galveno lapu" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server ir HTTP serveris aparatūras sensoru attālinātai pārraudzībai." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -559,7 +672,7 @@ msgstr "" " -h, --help\t\trādīt šo palīdzību un iziet\n" " -v, --version\t\trādīt versijas informāciju un iziet" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -567,109 +680,93 @@ msgstr "" " -p,--port=PORTS\ttīmekļa servera ports\n" " -w,--wdir=DIR\t\tmape ar tīmekļa servera lapām" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LĪMENIS iestatīt atkļūdošanas līmeni, vesels skaitlis " "starp 0 un 3" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=CEĻŠ žurnalēšanas faila ceļš" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr " --sensor-log-file=CEĻŠ sensora žurnāla faila ceļš" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=S iestata sensora žurnāla intervālu uz S (sekundēm)" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP pieprasījums: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Aktivizē atkļūdošanas režīmu: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Sensori nav atklāti." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Neizdevās izveidot tīmekļa serveri." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Tīmekļa serveris sākts uz porta: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW mape: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "Saite: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Neizdevās aktivizēt sensoru žurnalēšanu." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor ir GTK+ lietotne aparatūras sensoru pārraudzībai" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" +#: src/ui.c:90 +#, fuzzy +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" msgstr "" "Autortiesības(c) 2010-2014\n" "jeanfi@gmail.com" -#: src/ui.c:90 +#: src/ui.c:96 msgid "About Psensor" msgstr "Par Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Psensor mājas lapa" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Neizdevās ielādēt Psensor ikonu." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Izvēlieties priekšplāna krāsu" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Sensors" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Vērtība" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Min." - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Maks." +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Krāsa" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Izvēlieties priekšplāna krāsu" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -680,9 +777,23 @@ msgid "Temperature alert" msgstr "Temperatūras trauksme" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Ventilatora trauksme" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Nezināms" + +#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#~ msgstr "lmsensor: lmsensor_psensor_create atteice: nepareis īpašības tips." + +#~ msgid "Sensor Information" +#~ msgstr "Sensora informācija" + +#~ msgid "" +#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " +#~ "temperature." +#~ msgstr "" +#~ "NVIDIA īpašniekdraiveris netiek izmantots vai nevar iegūt NVIDIA GPU " +#~ "temperatūru." diff --git a/po/nl.gmo b/po/nl.gmo index 4e3682ed9b5e7ce846f68c409a3685312193dae7..21dfec9c1d83fc7c8e22f24127f5d047c1695c1c 100644 GIT binary patch delta 3206 zcmZ|QZERFk9>?)BrBob*N}YylBL>H;DUR;KN3J8ii$-nj)q z!>AG67whheySpT=qM|Vp@rg-R-R!O`YkWcCu0|IUHG~%?oA@kI;|mRbe|IjtQBUSS zpL0&{!#V$R&h*gs*Ei?Rl@29ZWS|i5BYmCgfw5^Tk-qCM3HiiMl?6%8Z9o@R6|p&p3iLQ4;@7<$-SrvK8?!E zG1UF1a#S?()5yns$d@j>fO^pPs7yrJ5bAG4Wug_Cl!>F3W+UnpYzx~*QK#TIY9g=V zlbpNLcmwS*MtvLRUZApxN-=reh+A+s9>pw9nrln~_u&RSfxUPU)7Z;ScmY@8jZ9xN`E96=&9sk%o<_as zJG8K#r!zLQ7PTb($Zw7rMn1;lOPTy5*6RE}N<|m^Bj_MSs0V(Iy0F?RSc}>l4XCwi z#f!KMo8)|BmS8_>LWfbC>^N%XC$SzsKrOj8QcDhJP_b|&UW>bt?3)L189sq}z**D- zzD8wa4i{@6wW#}=_|k)KL1o}hWDe#Y)E@W?PQn*a$NL24^oLVaG~)k-euC=1h?B6a zuJGd7sLj`f>R*Gp?j}@bc409NpfWdt+7k|HAP=GT!n3G>|EG@pYo=%D(2TxD_Ko=g zbz>#dU57DTiwAHo{tLD12%FJ7+V}2Gj5VMf{cVYuA z&8#0ga11BoQPe=5L#^dW)LOrfdhkWmc`o6px_=&OLJg?j+y7O1waj<&|Mw z{DxqY=7RJT(P$%d>{OI0t*h2p>$ryS2qt~G?4mY7bcH<$bO?T-gQ6YY6V^vj|I*io z?cn%P->vhXrgAsIu?&9U?!Xwame@&Th^0h3(MM=~M~GF#Erd#cf#4@xRaWh1Wr&_( zLL1d3ZXzmpfAD(@LD5gJHkis5Vt}}o&|c8SRM9?BSyCX_@ppxF4o* z&nB!M|92G&idFOfTN+l5l`X7N&o(#h3|m8X(wlH?%iEu^7n}O5-&k=?5p1le6o0Fz zDc8mOf{U}Bn{tK|R(*DHzH9muk$mLpU6F{D@0+n9lK-%*G?I_ciWU_+*|eL#YxdsA z%wgN}QhV(5&|q@EHIz(^+k<|2<#?IrCY|hf(o4H71Fk)o^0NMYm3KrtTiRn*ES_lZ z@c&;~qh^~GizV8Z`lVHKX05lAPD}4dYCM(6*w!XDn{rZqTh)oeZEf+y(hmQ#s``>; zvCfXhsQ+?wuHQcQfqbm`y&_HJU~{aHiI1%2LS;)`U9~2+*LKHj+a0uqCY%8;Wna!k zX>(0n7mTGHYas1-$pJ4j;dqwAHC8%fJGP^oC8%e;r0Wf(C%hm#O5~2_>U{CMk0SZ0 z^B+)>eqZ}mB>#sxGPQlduA-97c95p?4QC_%`KAVc>Y@YpY)CSIkxX*X>fvo}s(->u zrJZadYFWQDd27V;GTB6H>-eSn7CW}rdT?|o#T~t)Y0r(dU$3@VPJ2(=!@a%ta_+ge z>nvOs15rXW=0;5>>gKZPjB|{uS@s7i!!41J43n8n*O2L=b7aXTMq{Fje!lmfcDT&M zC--|kzvns6>+kn_PW#e<)1CPnGsl13P)?yc(bVzAJO}?Zkq6~Mr7>&a3vdg(36pTu zlydz$u$}rl@F=XCYD^rShK=wqa4TF=Wy}MxANIqa!H_X|vwWH{vuIcW?}u%04g3;h zE%Wn$SK$)szkv(kKj3m$J-uAt0IR7Vg?GRlWDPSMygwVXKMS?q^Kc65n=2U0Xm}0I zgMWh-oc5XWM5_X}zzMY98?YUIM13dJMz+r|WUYYYy8+#7c!dD>9GVj2- ztZzQR(2gd|qyf$k*aYjS?|=$TD&V=G{aHAf_Ulj+{toKoe}bCleW(qLV{+AJ2W)_x z(X_+-IE?)mn&=SJfMbxKIl+UynbQz&n{Pt(e+J4^KZKLum7x6^oK5|DQ2!&`P5nJc zTA5Z}YJ=;c`nAu-|BB^<)D(go)P(1uT=_KA$$kOlx@%Ayyb0IAf5JA{GRGJPW}p`O zE!0MDK-M;YfEN5atcTUOLm}BH|0|}4X~0{iE1(Cp;AvO`pMpxhOHdc%?V$b7PzzQt zn>;l!U=3908lX=BSgE`DusE$uUP4s;z&%6}0zX|1;8&IBl7jk%0 z#jJP1C2$ek2IaY4*a#nk>VFa52j7GWbv38bZObplP(uRhy5-@!dy{1Mdq*WgOs{}Bwm zn7Ft+@k*!xodLU`a>Rj(T>}0a`f#Pl;MMTEP$798D(T*XIMI9r6@qHwq?otCFx&$z z);Gf#{LHs`D0Y`&D;$BEVD{4T1QDoy2cdH25hzc66>4LT2k*ZJwa}|jo_Pbx6MuzD z@>%R=9IS(ReF#=!=tUIj1iJ%v2knDU1I|Kz<|{muj6Vt5FF}pJ4CSfU;Ys)w91lCW z3U|PxkeHho)P{!Z@c(j*^EBuLzl8F@HK>!l3&|^U3u@qWI`4qX;Wn6tIrt(}5=Xe) z+UQ!SgRF<_!R&)=a1bgqKZO(Euj=u?Ty>oW@%NCQxy6Gy&4Lx>56xyciTX*n2A+XB z(Iu#jU4feTEvTIM0BV8xRJd_wG1T}d)B!g`jXRphP{$n9m+mCwLYOZ@E${=Vfj@@q z$-D@)v9}@NG?Ta*I$;=+XXXH03v*BlJr6g+t58`#YiG z;hLB3cM^Uc9YR}??yy{~Oz%Jnhl;+Ax>bE>BHE4=!oBDi+KrT?D*IU9w4i>~ZY#=x z{kPSRWA8%B6=kxGPN5@c5Dg%G6;+g2Dx1p~dn#{kFS@dMkB2@I%IY4ZqN}6Qi%yiR z@_ntt9!8`}sVw2y6xhu$gM8G0^sVng`eUY&My=>Dnv1reon=R2QS_x-g$^Qa&sf=m zbw8Rs)?&=V*bdT_RVf^=Sx`7o*_RJzGfp_+cH6$48L&OyvMgGxu_~`T+Z(caQ=S!b zGjVGmm2~}-=O+6sH<|GrJ7%SND;f4Fr9T$)oq@C!vmJ&R%L>Qtw!-0<)1B>W>)3i| zYe(^F<++N&t=gHz^t5xK!q=+i7eAcd9|~0#J7;u+3Ky#CCU3KomYr}szxdS58KI6t zJGboIWTm}S+H)OWTZ?&a&he~d%GcJ}j%W4QNmV_^r&G?c_LN6$-}`{24LP3eXFVrU zyf|xW#j1qUPg%a-sH72Su$+yi1Ph zN~N7-{R*qsb`#7UwU%WfrqA(xcfd*Y#%x^38z&YqfmaG2R@F`%wWm+3sSE6=HRz@A zZic-l`^xhq1~R4XM6I5}k*c~$qxHhdX$#v%D^Y9I>PnZpclCIV?K>ausXTKpjcn2K zhtf`AS9PLrwff=8wc+MgtEn;C*i>kox3FP#xUto0TpMj^Y-prZcGwv|e9*I#nS@RF zqt@QzDc@^qzGrny;fwPwR?>f+)!ZCyX)bK2SvGFXy4FHp%@d!NUVTotmv!S~DHiT_ zyWN!E?>O;pC*#{hAeSPBnVx?4cyG5eXvguxCo{~Aq$9bA75FS{_w@UYM*x$tn2W3Y za#hNska^{yQNH jBX>4^oQ;=jXKfhG!T%#0N2j-Xv&kMGUn?J9t{?sn9!`k9 diff --git a/po/nl.po b/po/nl.po index 2ad5bc9..89049f0 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,32 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2014-04-07 08:50+0000\n" -"Last-Translator: Pjotr12345 \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-20 11:25+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-04-09 22:52+0000\n" -"X-Generator: Launchpad (build 16976)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Kon geen webserver maken." -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren." -#: src/cfg.c:569 +#: src/cfg.c:580 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren." @@ -42,7 +38,7 @@ msgid "About" msgstr "Over" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Voorkeuren" @@ -71,6 +67,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "_Hulp" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Waarde" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Kleur" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Grafiek" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,319 +113,412 @@ msgstr "" msgid "Edit Preferences" msgstr "Voorkeuren bewerken" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Vensteromlijsting verbergen" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Houd venster eronder" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Menu inschakelen" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Teller voor Unity-starter inschakelen" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Temperatuureenheid:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Positie van sensorentabel:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Bedieningsschil" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Venster bij opstarten verbergen" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Vensterpositie en -grootte herstellen" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Voorgrond:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Achtergrond:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Ondoorzichtigheid van achtergrond:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Min" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Max" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Kleuren" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Duur van bewaking:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "minu(u)t(en)" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "seconde(n)" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Tussenpoze voor bijwerken:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Metingen" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Grafiek" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Min" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "seconde(n)" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "minu(u)t(en)" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Tussenpoze voor bijwerken van meting:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Logboeken bijhouden inschakelen voor sensoren" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Tussenpoze voor bijhouden van logboeken voor sensoren:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "seconden(s)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "Script dat wordt uitgevoerd wanneer er een alarm plaatsvindt:" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Sensoren" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Sensorvoorkeuren bewerken" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Naam" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Soort:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "N.v.t." -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Sensorinformatie" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Chip:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Naam:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Id:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Sensor-curve tekenen" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Kleur:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Alarm" +#: src/glade/sensor-edit.glade:380 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Sensor tonen in het menu van de Toepassingsindicator" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Bureaubladmeldingen inschakelen" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Drempel voor hoog:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Drempel voor laag:" -#: src/glade/sensor-edit.glade:397 -#, fuzzy -msgid "Application Indicator" -msgstr "Ubuntu Toepassingsindicator" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Alarm" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Sensor tonen in het menu van de Toepassingsindicator" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 #, fuzzy msgid "Display sensor in the label (experimental)" msgstr "Sensor tonen in het menu van de Toepassingsindicator" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 +#: src/glade/sensor-edit.glade:682 #, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Sensor tonen in het menu van de Toepassingsindicator" +msgid "Application Indicator" +msgstr "Ubuntu Toepassingsindicator" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: kan ADL-bibliotheekbestand niet vinden" -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: ontbrekende ADL's API." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: kon ADL niet initialiseren." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: kan het aantal videokaarten niet bepalen." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "Aantal AMD/ATI-videokaarten: %d" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "Aantal actieve AMD/ATI-videokaarten: %d" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 -#, c-format -msgid "atasmart: sk_disk_open() failure: %s." +#: src/lib/hdd_atasmart.c:141 +#, fuzzy, c-format +msgid "%s: sk_disk_open() failure: %s." msgstr "atasmart: sk_disk_open() mislukking: %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: kon contactpunt niet openen." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: kon contactpunt niet openen." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: kon verbinding niet openen." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: kon verbinding niet openen." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: verkeerde tekenreeks: %s." +msgid "%s: wrong string: %s." +msgstr "%s: verkeerde tekenreeks: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: kan waarde van subfunctie %s niet bepalen: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: kan waarde van subfunctie %s niet bepalen: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor: lmsensor_psensor_create failure: verkeerd functietype." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: verkeerd functietype." -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor: opstartfout: %s." +msgid "%s: initialization failure: %s." +msgstr "%s: opstartfout: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Kan logboekbestand niet openen: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" -"Het niet-vrije Nvidia-stuurprogramma wordt niet gebruikt of het kan de " -"temperatuur van de grafische Nvidia-chip niet bepalen." +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Kon Nvidia-informatie niet ophalen." + +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Kon Nvidia-informatie niet ophalen." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Kan verbinding met X11-server niet openen." +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "Kon Nvidia-informatie niet ophalen." + +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Kan verbinding met X11-server niet openen." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Kon Nvidia-informatie niet ophalen." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." msgstr "Kon Nvidia-informatie niet ophalen." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -412,24 +526,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "Variabele voor HOME niet ingesteld." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Logboekbestand van sensor is al geopend." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Kan logboekbestand van sensor niet openen: %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Logboekbestand van sensor niet geopend." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "Logboekbestand van sensor niet geopend, kan niet sluiten." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -444,12 +558,12 @@ msgstr "" "Dit is vrije programmatuur: u mag hem wijzigen en doorgeven.\n" "Er zit geen garantie op, voor zover de wet dat toestaat.\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Gebruik: %s [OPTIE]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -457,11 +571,11 @@ msgstr "" "Psensor is een GTK+ toepassing voor het bewaken van apparatuursensoren, " "inclusief temperaturen en ventilatorsnelheden." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Opties:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -469,7 +583,7 @@ msgstr "" " -h, --help toon deze hulpinformatie en sluit af\n" " -v, --version toon versie-informatie en sluit af" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -477,58 +591,56 @@ msgstr "" " -u, --url=URL het webadres van de psensor-server,\n" " voorbeeld: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart gebruik atasmart-bibiotheekbestand voor " -"schijfbewaking\n" -" i.p.v. hddtemp-achtergronddienst" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance forceer het aanmaken van een nieuwe Psensor-toepassing" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL stel het foutopsporingsniveau in, integer tussen 0 en 3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Meld fouten aan: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "Webpagina van %s: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "" "Psensor os niet gecompileerd met ondersteuning voor sensoren op afstand." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Schakelt foutopsporingsmodus in." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Probeer '%s --help' voor meer informatie.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Er bestaat reeds een instantie van Psensor." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Kon geen webserver maken." +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Pjotr12345 https://launchpad.net/~computertip" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -544,25 +656,25 @@ msgstr "Ongeldige inhoud: %s" msgid "Invalid JSON: %s" msgstr "Ongeldige JSON: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

Stilzetting van server verzocht

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Pagina niet gevonden - ga naar Hoofdpagina" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server is een HTTP-server voor het bewaken van apparatuursensoren op " "afstand." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -570,7 +682,7 @@ msgstr "" " -h, --help\t\ttoon deze hulptekst en sluit af\n" " -v, --version\t\ttoon versie-infomatie en sluit af" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -578,110 +690,91 @@ msgstr "" " -p,--port=PORT\twebserverpoort\n" " -w,--wdir=DIR\t\tmap die webserverpagina's bevat" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL stel het foutopsporingsniveau in, integer tussen 0 " "en 3" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=PATH stel het logboekbestand in op PATH" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr " --sensor-log-file=PATH stel het sensorlogboekbestand in op PATH" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=S stel de tussenpoze voor het sensorlogboek in op S " "(seconden)" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP-verzoek: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Schakelt foutopsporingsmodus in: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Geen sensoren bespeurd." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Kon geen webserver maken." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Webserver gestart op poort: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW-map: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Kon logboeken bijhouden niet inschakelen voor sensoren." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor is een GTK+ toepassing voor het bewaken van apparatuursensoren" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" -msgstr "" -"Auteursrecht(c) 2010-2014\n" -"jeanfi@gmail.com" - #: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Auteursrecht(c) 2010-2014 jeanfi@gmail.com" + +#: src/ui.c:96 msgid "About Psensor" msgstr "Over Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Thuispagina van Psensor" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Kon pictogram van Psensor niet laden." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Kies voorgrondkleur" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Sensor" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Waarde" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Min" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Max" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Kleur" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Kies voorgrondkleur" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -692,9 +785,20 @@ msgid "Temperature alert" msgstr "Temperatuurwaarschuwing" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Ventilatorwaarschuwing" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Onbekend" + +#~ msgid "Sensor Information" +#~ msgstr "Sensorinformatie" + +#~ msgid "" +#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " +#~ "temperature." +#~ msgstr "" +#~ "Het niet-vrije Nvidia-stuurprogramma wordt niet gebruikt of het kan de " +#~ "temperatuur van de grafische Nvidia-chip niet bepalen." diff --git a/po/psensor.pot b/po/psensor.pot index c21f555..1a3572a 100644 --- a/po/psensor.pot +++ b/po/psensor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,21 +17,17 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, c-format msgid "Failed to create the directory %s: %s" msgstr "" -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 +#: src/cfg.c:557 #, c-format -msgid "Failed to parse configuration file: %s" +msgid "Failed to load configuration file %s: %s" msgstr "" -#: src/cfg.c:569 +#: src/cfg.c:580 #, c-format msgid "Failed to save configuration file %s." msgstr "" @@ -41,7 +37,7 @@ msgid "About" msgstr "" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "" @@ -70,6 +66,31 @@ msgstr "" msgid "_Help" msgstr "" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -91,289 +112,367 @@ msgstr "" msgid "Edit Preferences" msgstr "" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "" -#: src/glade/psensor-pref.glade:477 -msgid "Min" +#: src/glade/psensor-pref.glade:500 +msgid "Colors" msgstr "" -#: src/glade/psensor-pref.glade:504 -msgid "Max" +#: src/glade/psensor-pref.glade:521 +msgid "Monitoring duration:" msgstr "" -#: src/glade/psensor-pref.glade:530 -msgid "Colors" +#: src/glade/psensor-pref.glade:539 +msgid "Update interval:" msgstr "" -#: src/glade/psensor-pref.glade:548 -msgid "Monitoring duration:" +#: src/glade/psensor-pref.glade:557 +msgid "Measures" msgstr "" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" msgstr "" -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 msgid "second(s)" msgstr "" -#: src/glade/psensor-pref.glade:637 -msgid "Update interval:" +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" msgstr "" -#: src/glade/psensor-pref.glade:655 -msgid "Measures" +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" msgstr "" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" +#: src/glade/psensor-pref.glade:761 +msgid "Curves" msgstr "" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" msgstr "" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" msgstr "" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -msgid "Display sensor in the list of sensors" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" msgstr "" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "" -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "" -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "" -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "" -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." +msgid "%s: sk_disk_open() failure: %s." msgstr "" -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." msgstr "" -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." msgstr "" -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." +msgid "%s: wrong string: %s." msgstr "" -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." +msgid "%s: initialization failure: %s." +msgstr "" + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" msgstr "" #: src/lib/plog.c:43 @@ -381,24 +480,41 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." +#: src/lib/nvidia.c:58 +#, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." +#: src/lib/nvidia.c:63 +#, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:226 +#, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "" -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "" + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "" + +#: src/lib/nvidia.c:370 +#, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "" + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "" @@ -406,24 +522,24 @@ msgstr "" msgid "HOME variable not set." msgstr "" -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "" -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "" -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "" -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -433,78 +549,76 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "" -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" msgstr "" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "" -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "" -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "" -#: src/main.c:597 +#: src/main.c:631 msgid "Failed to create thread for monitoring sensors" msgstr "" +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -520,129 +634,111 @@ msgstr "" msgid "Invalid JSON: %s" msgstr "" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" msgstr "" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" msgstr "" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr "" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr "" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "" -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "" -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" +#: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" msgstr "" -#: src/ui.c:90 +#: src/ui.c:96 msgid "About Psensor" msgstr "" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "" -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" +#: src/ui_sensorlist.c:254 +msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "" - -#: src/ui_sensorlist.c:352 -msgid "Color" +#: src/ui_sensorlist.c:296 +msgid "Select sensor color" msgstr "" #: src/ui_notify.c:48 @@ -654,7 +750,7 @@ msgid "Temperature alert" msgstr "" #: src/ui_notify.c:79 -msgid "Fan alert" +msgid "Fan speed alert" msgstr "" #: src/ui_sensorpref.c:248 diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index e1943348bf06a8fd9985a563d5a38d4e8cbcde5d..ee09299caaee21ab73f354faa3560a42d8d6b772 100644 GIT binary patch delta 3000 zcmZ{kdu$X{6o>CZt9?P)7D}O|3`#9hwoh8xRj5!Dl?s;fP~_pzPU+C?ZrxchRdf>) z4Zirp3Bd$XVh)*5?VvNRUjG&1Izu$I>V&r6h^WA&r-aF@< zd+xrl;MKPD(W0!~2J1uRXx&(29)f!>;ej2_F{U4W05zv6*O(A|3Kqj>;B5FByb>M@ z`nh?=RM4Lbr@}5c9mWIhf;SqIHv4GsGk*lk$~WdR`h`#%G{7p@8T5zXWcrW6Z1^%9 z2j2+Z9}31#LOJ+7VqeP{@H-z@lKho47dnt-A0(r_f0<9#n(Kq{PMDs^z^Y(i3(TS)hf1vn^?nHI zD0ab0_!87cpFy4NH&79sh11|zyp>}!;C$Es9XJTJ|L0JSeO*ZY<@qrNEch$b5lm!t z5iEn+um(}v8}#E)8}5XP{E>i9!z<{&0u{&?P#HK1wf-#RXUDv z)J72=inuKp-vAYH4^&15ppIY%q>9bMLH`I;F`s}6;77QR>v9fmp}&u4yWtcz(Ji`1 z`B!m>t#B`FfuF-#SU73qeOthFa0cT;(1K6G_3$024^Jf;u@cUNb+8exf=%!Ns3Ut9 zYM=C1G!*%tknEc=l(q$nppK#u%E2hq`!#Sj+zhqhqfqM)L!IfzP)G7r@}&jkP?1|uMYJ>+?}BCY*93hJ zDg$>yIkp{Y-yKkYY)?S_Q|^bky8qwNu;4F{D{P9`O??Y0!iBIMcEY>iZm180Ns}Ba zfh5CBg-UfJ)Y07riNS1wwQzgD7om#z8<@VF#%UUgD3^RGbzvxvt6&7SK}9kE^&t=P z=Vl&;_+lQ1TK78Cybqx=`UzCTr-JcIIdFY=9HiV#Nd=cj*C@ikDmV|SdLIe+7#ts> z1|Y~>wM}q78nvrvtVJ{ZPjZU=<2hOBI(qs$T8L!IkxWS+wN4tO+uVv;PzRcWZbtQJ z7LqCNa+Uj=sXFDo8ZAXC2AM+rm!&hwR{nGdH=xWv2h>GWMJaa{8nqQPbPmeZ^+_d-ooR~za=*C5$O zbPKu-U5%zA(r;|E8FiykQ_<+|>I`KwP#)jUR0TzK-c&`hb*LFdk%KBx6Pk-u`l_Nn zbUWIBR86v0RD)KkgY}LeQ{F0^j9FHsZ;lo5b8=5*S9(#a-QN?wB1l z((@DHX>0YO*LGu0kCjSTi9siBd5P|RCskwg%8k1z*N(Y&*(o;>&&=GKbfQ+JH}c-= z-`L~w(85_)UhsbShupr9Ka{^AWcgp@|2X_x!5d?;<6a_Z{BS|>@K1$pq2kR>D&-D1 ziQXQ2C~(6+5snq5l6KsS*{MV_(w%gA+?3~c6ghdVk%oG!z9rhw?7v-9)-pFz*BYs> zw;JlB4GqOht^U9<$f1qO8NZt;Vl={z=1f8MMIhs&gQ5Im)ND5T;5HuRCzDH9eVG5ic_*=I&$-hR zH6K6K`%}h*4-KV@m`Mc38>5aRllV|cHfAe$uoENb!ONJ5KVSn6p%*Lokac{_!AA69 zH_pX(-S#QWF{amCrZSN)Zs8QX>s~PKk9-o;L~8FxPDtOU5_LsZ7NdB>N_edQdm&hMlO1yn~wg0Zhf?sOvAFGI0@;@T%K? z9kXcPaNEN;f%bTA*2I#qR~MvG(H`ZYQd@_5P$y2uZKxIXVJ_}NP3&`g62Ha}PGl7t zU@K~3-KdEt(89M+nf?T|H3L)0e+HFr=#W=X1Kh%Cn8GNNu@KcRMh)-`Die*at*9;7 zhFaM^R7Uor?mvb6nJ@X!R$M||_eUD}*Mn}-p$rVWU-;-$2J%rE@uM=;gn8JB0qk?X z{{ppTzhVR4bla7zit}vh@F1^EBW|JnH)(0Zjmp1Xr>{_l>LPByYp5G*vPW&eeA?@< z6nA179z$)>Z#Wx=Q7fCxGD)JDixyU(Qr?Ujr`7$w_jM|Z>FC49aRBw;A=HEBuwmNE zd8pJcK=qfPUZ)CFs#}pco7Yg8+>0Cwa|AWv36u^vjemA{=ZK}HylFU za0-=)bEv~}-R-}HGicv&+o|MT8OcCREC==AT+}aL8P3OM)C6{;g?-4IXpX9__x~If zt?)-&ibJ>y1B|8tj-V!X99gV6iAw!vRc%@^~jH!*@TQ~BB=ZJpsqWBO7THd22Q*ES5O0ALv8U5 zU;}DpZ=+In0@vYr)Z36TYt&ry&@LgKCdNtym1g1c>bEwh5J4+JBvXl@&zQNR1yDSJCO#Uqrq0Yl&rU-v-oPYJ0Q=+O8#p%Dhobt?P5H zm6%Uxp+$^uo+9+~s`t8%P*GNN`c>Esvx!(m=$yPnXq!|>%>PO&ttTGp>7rgutaSTy z(2L!=(D);VL@MPis!-ZS8F`08)Y&q#!0i*-?*f9eI`Th2`>nS|+x0S`(n#naYOj|P zd4$Rfgw6?Dy4lpLhte?0$iY%|KA}UnkyuWwA#@0JfNF^K#Ir;>v6&bvtEqGl&$}Hd z&cLM1nfxA`AhF2p9fxIvML0(@bDW=(zVAQg?eI8%B~N#fQ?_`#P9kN9(y$!wAy0fSll#)qCNMqRz|rXVkf#{(f;XaO`aq> zVfRGrc*1$l>s!_lN+h}>p;&v+-eI-dUExr$*mMSiiBP1w+U>9sF)P*`it_kqlo5GS zu?a_dMuw@j+MF}Vg-K&=r`zjucBgM~hSP)IO8=q?t0YhzC~+bgGZvQm16BS&iB(cr zUADL=K=H1!dlLS&aXZ=*wiB^Bf z7ECCwsH$>4&Ai=zK6}vP+{wyyKFBF__U5#Ey#04`iabtc_JXY1a44FvtzgXBPNges z2V?Pm-?WC*l|`9*Z19V*54JU61JnUvE;c~8$3LCGSs8Xdiq;to_#2JA7#(- kwcFuN+X_XjhqHJ;eNJumj0b7ipH=ywu`Anh{J!n~0ka`sDF6Tf diff --git a/po/pt_BR.po b/po/pt_BR.po index b4c0801..bdc142a 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,32 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2013-09-01 18:54+0000\n" -"Last-Translator: Celio Alves \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-11 21:22+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Brazilian Portuguese\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-10-18 06:32+0000\n" -"X-Generator: Launchpad (build 16799)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Falhou ao criar servidor web." -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Falhou ao criar servidor web." -#: src/cfg.c:569 +#: src/cfg.c:580 #, c-format msgid "Failed to save configuration file %s." msgstr "" @@ -42,7 +38,7 @@ msgid "About" msgstr "Sobre" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Preferências" @@ -71,6 +67,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "Ajuda" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Valor" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Cor" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Grafo" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,314 +113,409 @@ msgstr "" msgid "Edit Preferences" msgstr "Editar Preferências" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Ocultar decoração da janela" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Manter janela abaixo" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Habilitar menu" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Unidade de temperatura:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Posição da tabela de sensores:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Interface" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Ocultar janela na inicialização" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Restaurar posição e tamanho da janela" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Primeiro plano:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Plano de fundo:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Opacidade do plano de fundo:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Min" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Max" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Cores" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Duração do monitoramento:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "minuto(s)" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "segundo(s)" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Intervalo de atualização:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Medidas" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Grafo" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "segundo(s)" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "minuto(s)" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Intervalo de atualização das medições:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Habilitar registro (log) de sensores" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Intervalo de registro dos sensores:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "segundo(s)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Sensores" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Editar preferências do sensor" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Nome" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Tipo:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "N/D" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Informações do sensor" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Chip:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Nome:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "ID:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Desenhar curva do sensor" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Cor:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Alarme" +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" +msgstr "" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Ativar notificações de desktop" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Limite superior:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Limite inferior:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Alarme" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -msgid "Display sensor in the list of sensors" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" msgstr "" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: não foi possível encontrar a biblioteca ADL." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: está faltando a API da ADL." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: falha ao iniciar ADL." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: não foi possível obter número de adaptadores." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "Número de adaptadores AMD/ATI: %d" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "Número de adaptadores AMD/ATI ativos: %d" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart: falha em sk_disk_open(): %s." +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: falha em sk_disk_open(): %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "" +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: falha em abrir conexão." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: falha em abrir conexão." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: falha em abrir conexão." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." +msgid "%s: wrong string: %s." msgstr "" -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: não foi possível obter valor do sub-recurso %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: não foi possível obter valor do sub-recurso %s: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor: falha na inicialização: %s." +msgid "%s: initialization failure: %s." +msgstr "%s: falha na inicialização: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Não é possível abrir arquivo de log: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Falha ao recuperar informações de NVIDIA." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Não é possível abrir conexão com o servidor X11." +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Falha ao recuperar informações de NVIDIA." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "Falha ao recuperar informações de NVIDIA." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Não é possível abrir conexão com o servidor X11." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Falha ao recuperar informações de NVIDIA." + +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "Falha ao recuperar informações de NVIDIA." + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -407,24 +523,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "Variável HOME não configurada." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Arquivo de registro do sensor já está aberto." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Não é possível abrir arquivo de log do sensor: %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Arquivo de registros do sensor não foi aberto." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -434,12 +550,12 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Uso: %s [OPÇÃO]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -447,11 +563,11 @@ msgstr "" "Psensor é um aplicativo GTK+ para monitoramento de sensores de hardware, " "incluindo temperatura e velocidade de ventoinhas." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Opções:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -459,7 +575,7 @@ msgstr "" " -h, --help exibir esta ajuda e sair\n" " -v, --version exibir informação de versão e sair" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -467,52 +583,56 @@ msgstr "" " -u, --url=URL a URL do psensor-server,\n" " exemplo: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Relatar falhas para: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "Página inicial de %s: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "" -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Ativar o modo de depuração" -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Utilize `%s --help' para mais informações.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Uma instancia de Psensor já existe." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Falhou ao criar servidor web." +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Celio Alves https://launchpad.net/~celio.alves\n" +" Daniel Serafim https://launchpad.net/~daniel-serafim\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" MestreLion https://launchpad.net/~mestrelion\n" +" Rafael Neri https://launchpad.net/~rafepel" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -528,136 +648,117 @@ msgstr "Conteúdo inválido: %s" msgid "Invalid JSON: %s" msgstr "JSON inválido: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Página não encontrada - Ir para a página inicial

" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server é um servidor HTTP para monitoramento remoto de sensores de " "hardware." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" msgstr "" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" msgstr "" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr "" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr "" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "Requisição HTTP: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Habilita modo de depuração: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Nenhum sensor detectado" -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Falhou ao criar servidor web." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Servidor web iniciado na porta: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "Diretório WWW: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor é uma aplicação GTK+ para monitorar sensores de hardware" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" -msgstr "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" - #: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Copyright(c) 2010-2014 jeanfi@gmail.com" + +#: src/ui.c:96 msgid "About Psensor" msgstr "Sobre o Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Site do Psensor" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Falha ao carregar o ícone do Psensor." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Selecionar cor do primeiro plano" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Sensor" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Valor" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Min" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Max" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Cor" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Selecionar cor do primeiro plano" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -668,9 +769,13 @@ msgid "Temperature alert" msgstr "Alerta de temperatura" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Alenta do ventilador" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Desconhecido" + +#~ msgid "Sensor Information" +#~ msgstr "Informações do sensor" diff --git a/po/ru.gmo b/po/ru.gmo index 2bcb418b111a893e0ec71072ecd58883d2533e40..019e38cfd79d8258df0b08a26a7ec343d653c46d 100644 GIT binary patch delta 3063 zcmZ|Rd2AGA7{~FqTToc69PI*C3WG?Y#ihGjTIs5&(2CR|h_s3qjP1}4Yv&`4P^rVE*okep9Z$s{Fov~c++19R*Wp&wdp(AA)e6|C97&_byB2lblXxC} zi3>2sa-4`8kY~!8ZB+EcPoUn{=TJ+z&u{;ZTKcKeN?X;2r_f%C=i)7>*Yy)rQvHlt z+CNa^mRZJ}kH_FixCUq7?HJRVJx!&Rj;~S4Q8(R~lW`I1Nv=da`D0j*AEO2=BZG8a zCu*f`M( zd=)RnA8`XNVLx8O7g0-`W#2T;tr)>=*p6?aCN^PqY00Odwr&x&V0Jd^uYq5nL&-CV zyDh_7)QpEPj5nh$cor|i19&u^%YJA@x==ZiLY==2b^Yt8T-t-$il0zlz8S2)wyJRs z>t7s*j;(Zbq1yXU1AK?y;z2CK(+RE6q0&aBhj9Fk(YTt>O|{h826nOdO@U$_EmVaP zBo=G`RXR%)k4cW)&vXzAh&9BavVw|o$6br7@ByCr%>t2JmeuzRPhuR4S+_M@SWO4iP2h6DfjpD3%1rSp@6j)-YDgYzJ4kf6pyUG63!y@E-O1-LP?}VQ&LqCDr*VlL@TkL7(=M&ThLEjqy|Na z_1`j$j*D>j)U~vwS`SGUa+~<>OM@Czk>w>v2M~8A#ChyM;2P^YCsvj&bJ%5GOUaEXF zW1$}XzHoi+n(+8iH7W|>aQ^I?uLJoZYjt_P?ZmIj1BI9K^|QOnj=iVw)bMq~Hy55S z>@tOia_>!_nh(|g7N{<~GQ5?}rwh9ZPg%WACgb)yskJ@!=3H#<6WI=XFxlNVVE0&y zQprr(y?ijk;&}0(WwrLZne=Asd?%e6vidTa0WaRrkT`Vy+@zCf*wUkO+_2Zu$OUbK zy-w1xmfC5r&rTfal0<4_+U;@DT(Bh3x7oJ3Qi<+9o8i3m?&c$1HFWq%T>8Hoa)e2) ITkD#C0Ppay7ytkO delta 3552 zcmZ|Q4Q$l)9mnxspMXA4JNmQ&!oLW$wOqMAVL5OL6cub`$kRH8_2^yOvv>DrcURbh zS}2?AgxKJ@s7p3U_K<92S=m|XXbXwJ61Hgmm#`(<63|VTEKX;Zm?@jd-k-a_fQ$R3 z-~a3X`#=01zQ5o9dbQ`u-jOQ{^1ov!!^C3ZLY^_-!|+@Vl-CQ5>A*Lz6Bia46UAOs z{WaWx<;BK4jJt3MC((-G*RNtZ{hRkWVX&s~7GqXmC4Lsy zqJ=w94Gz109p_L#>^g=EsgL7l@TXXYGpGT*inrohsDAReS%tS?IsKbD_kz!L8`g1s z5Va)Zt|#5=myp#k@1YvJh8o};dRN0G$R%@|TW@oH02zbXhpe)R;fNYKz=>Wsgj$N@ z$e;NU2a;n>qh9zmDl@;qdH5Ii`romF`g?A@V1Y6D)C*AqD@EO}K)u(1%2>++@~;_m zb3rNUK@H>}uE8<93tzz?YIJJ2A2pyM)PQXc79K&R{D-I|nn7MQ=Usn~>gR7*gL5m$ zzcy7Z!_$WEMBV7ZOh?G1%#iEjsHGW4&Fp1VMrKe0{~c-x{_5WU2=#s*J5HOn67^mi zu0Y=iCp=>w!P{^cm*NYk6#WYI;APZOT|<2(`ShatR@7J0gFoPV3Sd9=d5r2QwDASJ zhPwVNv$OHvsJ%BbL@!4+##8#SYE zViTUiJMeW>gT*wW=X!A+K8Ne^GJ3Fz>1s(kQJb(-ungW`OByozk}`gFXY$Ocu1cz=R?M9HsDABCqYiMc0;J$ z`WQCg(^!mC*oqfWBmV$bVKM8Z=hot04C0sZJf6q)`fSQSM75L8!(J@IEx5jc{3~V0 zxS$bUK(b}huJ5DPwuU^f!JVj%#!;K>9o&llK~12Gv?gQF=!OS0rX!tp5JkiT#NC7j{3xMKr}bCamnC!5 zo>8ICO!)%G`-u(2$U~V+*))YYpYPVmyxC98BdQ6dQ$HNL2qu?V=etnp{}Q3HnNXJa zDaiahcVRv;L<9+yT*5~vi}jj+jFVwPMcJXjk_VD&<+sy{_8%T7rIJCozY( zhiD;gEqY(Zd1iJad(4Cged{XA2<`S#f?vzb23v~7gg)EbiCQ8+s6>fE zLZ9d+LZyZ%AyyIk+07Ko@_6FGXxxr@l8+T081f9qgPw3`pFiP`NBpsbWm#OYu2;Dg z^T)nw_1iHk5Q-035jz@6*s)M_zzRjlXK$ZN?H)zztj zqHpJ>TIau%ll*?k!qlHi$8(aiC3S`O`lFUV9E>GWgJnO@T@?=YCDdhbAZ8Co16H3M zwqs^{X522;<|q$D{E3hqP1TeKb4ETMv(JhT^=hoW_WoeBzQOAEhr+|LpwC(nZ!!bH zL?RRk+Wi4Pv*J!L&}7_!`rHdv!nX7-{YIkZ*%gA$|W1yJuP0#+wN;_ zYxGizy8Q8kXGhE*jfed#gwN`Xgc7XK_F&9DV66+N7HW#GX}xD4!t|Q@>`3yDl`j^p z_IO(?Z->v@kvvjWSKw`JZYWCbFRV~LQ?`LKl|Jm8bIv-`>0{1m{G~II9!(!h zp1QTXEPdq07I9v3rjyR{npGBOdg+WFws?NVnM@x}k2+^{XOik!XV#gp+(e~LR8Qum z#umSsoBYb6##HyxC-RcH%PNvHi#*AzORB2X!lX0H`%{czT~4 z)b-^IJd-}^oT8gU^gQZJTInbCR(jN8=(;*d&$Ap;8pJtg+L_Q0jPq<}GT)-prndW#pJ8Wl4ohQ2*PyQF;L60l| diff --git a/po/ru.po b/po/ru.po index 0c4e30c..dbbd180 100644 --- a/po/ru.po +++ b/po/ru.po @@ -8,32 +8,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor 0.7.0.x\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2014-05-20 05:14+0000\n" -"Last-Translator: Dmitry Serov \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-11 21:23+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Russian\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-06-02 08:08+0000\n" -"X-Generator: Launchpad (build 17031)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Не удалось создать веб-сервер." -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Не удалось включить журналирование датчиков." -#: src/cfg.c:569 +#: src/cfg.c:580 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Не удалось включить журналирование датчиков." @@ -43,7 +39,7 @@ msgid "About" msgstr "О программе" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Параметры" @@ -72,6 +68,31 @@ msgstr "" msgid "_Help" msgstr "_Справка" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Датчик" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Значение" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Мин." + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Макс." + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Цвет" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Диаграмма" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -93,315 +114,410 @@ msgstr "" msgid "Edit Preferences" msgstr "Изменить параметры" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Спрятать рамку окна" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Держать окно позади" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Включить меню" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Включить счётчик в панеле запуска Unity" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Единица измерения температуры:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Положение таблицы датчиков:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Внешний вид" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Скрыть окно при запуске" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Восстанавливать положение и размер окна" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Передний план:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Фон:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Непрозрачность фона:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Мин." - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Макс." - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Цвета" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Время мониторинга:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "мин." - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "сек." - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Интервал обновления:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Замеры" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Диаграмма" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Мин." -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Макс." + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "сек." + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "мин." + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Интервал обновления замеров:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Вести журнал событий датчиков" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Интервал ведения журнала событий датчиков:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "секунд(с)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Датчики" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Изменить параметры датчика" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Название" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Тип:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "Н/Д" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Информация датчика" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Микросхема:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Название:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Идентификатор:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Рисовать график датчика" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Цвет:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Уведомление" +#: src/glade/sensor-edit.glade:380 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Показать датчик в индикаторе меню приложений" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Включить уведомления" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Высший порог:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Нижний порог:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "Индикатор приложения" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Уведомление" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Показать датчик в индикаторе меню приложений" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Показать датчик в индикаторе меню приложений" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Индикатор приложения" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: библиотека ADL не найдена." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: отсутствует API ADL." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: не удалось инициализировать ADL." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: ошибка определения количества адаптеров." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 -#, c-format -msgid "atasmart: sk_disk_open() failure: %s." +#: src/lib/hdd_atasmart.c:141 +#, fuzzy, c-format +msgid "%s: sk_disk_open() failure: %s." msgstr "atasmart: ошибка sk_disk_open(): %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: не удалось открыть сокет." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: не удалось открыть сокет." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: не удалось открыть соединение." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: не удалось открыть соединение." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: неправильная строка: %s." +msgid "%s: wrong string: %s." +msgstr "%s: неправильная строка: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 -#, c-format -msgid "lmsensor: initialization failure: %s." +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 +#, fuzzy, c-format +msgid "%s: initialization failure: %s." msgstr "lmsensor: ошибка инициализации: %s." +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" + #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Ошибка открытия файла журнала: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Не удалось получить информацию NVIDIA." + +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Не удалось получить информацию NVIDIA." + +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "Не удалось получить информацию NVIDIA." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Ошибка открытия соединения к серверу X11." +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Ошибка открытия соединения к серверу X11." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Не удалось получить информацию NVIDIA." + +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." msgstr "Не удалось получить информацию NVIDIA." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "об/мин" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -409,24 +525,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "Переменная HOME не установлена." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Файл журнала датчика уже открыт." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Не удалось открыть файл журнала датчика: %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Файл журнала датчика не открыт." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "Файл журнала датчика не открыт, не удалось закрыть." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -436,12 +552,12 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Использование: %s [КЛЮЧ]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -449,11 +565,11 @@ msgstr "" "Psensor — это GTK+ приложение для мониторинга аппаратных датчиков, включая " "температуру и скорость вентилятора." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Опции:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -461,62 +577,63 @@ msgstr "" " -h, --help показать эту справку и выйти\n" " -v, --version показать версию и выйти" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" " -u, --url=URL URL psensor-сервера, пример: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart использовать библиотеку atasmart для мониторинга " -"дисков вместо демона hddtemp" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance принудительно запускает новую копию программы Psensor" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr " -d, --debug=УРОВЕНЬ установить уровень отладки, целое между 0 и 3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Сообщайте об ошибках на: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s домашняя страница: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor не был собран с поддержкой удалённых датчиков." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Включает режим отладки." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Попробуйте `%s --help' для дополнительной информации.↵\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Копия Psensor уже запущена." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Не удалось создать веб-сервер." +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Dmitry Serov https://launchpad.net/~dmitri-s93\n" +" Eugene Marshal https://launchpad.net/~lowrider\n" +" Ilya Volchanetskiy https://launchpad.net/~volchanetskiy\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -532,25 +649,25 @@ msgstr "Неправильное содержимое: %s" msgid "Invalid JSON: %s" msgstr "Неправильный JSON: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

Запрошена остановка сервера

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Страница не найдена - Перейти к Главной странице

" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server ‌— это HTTP-сервер для удалённого мониторинга аппаратных " "датчиков." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -558,7 +675,7 @@ msgstr "" " -h, --help\t\tпоказать эту справку и выйти\n" " -v, --version\t\tпоказать версию и выйти" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -566,106 +683,89 @@ msgstr "" " -p,--port=PORT\tпорт веб-сервера\n" " -w,--wdir=DIR\t\tдиректория для страниц веб-сервера" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr " -d, --debug=LEVEL установить уровень отладки, целое между 0 и 3" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=ПУТЬ установить ПУТЬ к файлу журнала" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr " --sensor-log-file=ПУТЬ установить ПУТЬ к файлу журнала датчика" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=ПЕРИОД установить ПЕРИОД журналирования датчиков (в " "секундах)" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP запрос: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Включает режим отладки: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Датчики не обнаружены." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Не удалось создать веб-сервер." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Веб-сервер запущен на порту: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW-каталог: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Не удалось включить журналирование датчиков." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" -msgstr "Psensor — это GTK+ приложения для мониторинга аппаратных серсоров" +msgstr "Psensor — это GTK+ приложения для мониторинга аппаратных сенсоров" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" +#: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" msgstr "" -#: src/ui.c:90 +#: src/ui.c:96 msgid "About Psensor" msgstr "О Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Домашняя страница Psensor" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Не удалось загрузить значок Psensor." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Выберите цвет переднего плана" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Датчик" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Значение" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Мин." - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Макс." +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Цвет" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Выберите цвет переднего плана" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -676,9 +776,13 @@ msgid "Temperature alert" msgstr "Уведомление температуры" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Уведомление вентилятора" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "" + +#~ msgid "Sensor Information" +#~ msgstr "Информация датчика" diff --git a/po/sl.gmo b/po/sl.gmo index ffbc6adbd8775299349c6321f14780032d580bba..bc73c766cafacb3f5732068f8f27773271df2603 100644 GIT binary patch delta 304 zcmaFP+{v1JPl#nI0}wC)u?!IF05K~N+W;{L1OTxR5C;PB5=I7w6d+v>#GF74KrUDx zkV1fxqQt!7oWzp+BHiSo)RfGU;)xcqT$Z{e-xSPrPzz{1MZZ1QeK)p~P7OEXO_2A{;zyyT36#1sYR{JfH) z%%swi%>2A!D=q~Euhhgm-GGeDoXmoPR0aQ{;>^5Eg^ZGtf?_Lu{T!G+y}Z;C{kp8Q fOrVb7#NtE+r^J%X;*!i{TuO_9igc4WpsE-EWw}k+ delta 141 zcmeBVea>ugPl#nI0}wC*u?!Ha05LNV>i{tbSOD=_prj>`2C0F8iOI2C7P>~}3Wf$& z28I()N%I)#8kp!BnkX0nwXcC>5!hAn3cjd2w(P?5Q=fsulN Ug_V)T\n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-11 21:22+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-02 08:28+0000\n" -"X-Generator: Launchpad (build 15520)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, c-format msgid "Failed to create the directory %s: %s" msgstr "" -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 +#: src/cfg.c:557 #, c-format -msgid "Failed to parse configuration file: %s" +msgid "Failed to load configuration file %s: %s" msgstr "" -#: src/cfg.c:569 +#: src/cfg.c:580 #, c-format msgid "Failed to save configuration file %s." msgstr "" @@ -42,7 +38,7 @@ msgid "About" msgstr "" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "" @@ -71,6 +67,31 @@ msgstr "" msgid "_Help" msgstr "" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,289 +113,367 @@ msgstr "" msgid "Edit Preferences" msgstr "" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "" -#: src/glade/psensor-pref.glade:477 -msgid "Min" +#: src/glade/psensor-pref.glade:500 +msgid "Colors" msgstr "" -#: src/glade/psensor-pref.glade:504 -msgid "Max" +#: src/glade/psensor-pref.glade:521 +msgid "Monitoring duration:" msgstr "" -#: src/glade/psensor-pref.glade:530 -msgid "Colors" +#: src/glade/psensor-pref.glade:539 +msgid "Update interval:" msgstr "" -#: src/glade/psensor-pref.glade:548 -msgid "Monitoring duration:" +#: src/glade/psensor-pref.glade:557 +msgid "Measures" msgstr "" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" msgstr "" -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 msgid "second(s)" msgstr "" -#: src/glade/psensor-pref.glade:637 -msgid "Update interval:" +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" msgstr "" -#: src/glade/psensor-pref.glade:655 -msgid "Measures" +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" msgstr "" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" +#: src/glade/psensor-pref.glade:761 +msgid "Curves" msgstr "" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" msgstr "" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" msgstr "" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -msgid "Display sensor in the list of sensors" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" msgstr "" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "" -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "" -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "" -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "" -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." +msgid "%s: sk_disk_open() failure: %s." msgstr "" -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." msgstr "" -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." msgstr "" -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." +msgid "%s: wrong string: %s." msgstr "" -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." +msgid "%s: initialization failure: %s." +msgstr "" + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" msgstr "" #: src/lib/plog.c:43 @@ -382,24 +481,41 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." +#: src/lib/nvidia.c:58 +#, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." +#: src/lib/nvidia.c:63 +#, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:226 +#, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "" -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "" + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "" + +#: src/lib/nvidia.c:370 +#, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "" + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "" @@ -407,24 +523,24 @@ msgstr "" msgid "HOME variable not set." msgstr "" -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "" -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "" -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "" -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -434,78 +550,79 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "" -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" msgstr "" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "" -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "" -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "" -#: src/main.c:597 +#: src/main.c:631 msgid "Failed to create thread for monitoring sensors" msgstr "" +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Sasa Batistic https://launchpad.net/~sasa-batistic" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -521,129 +638,111 @@ msgstr "" msgid "Invalid JSON: %s" msgstr "" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" msgstr "" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" msgstr "" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr "" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr "" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "" -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "" -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" +#: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" msgstr "" -#: src/ui.c:90 +#: src/ui.c:96 msgid "About Psensor" msgstr "" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "" -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" +#: src/ui_sensorlist.c:254 +msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "" - -#: src/ui_sensorlist.c:352 -msgid "Color" +#: src/ui_sensorlist.c:296 +msgid "Select sensor color" msgstr "" #: src/ui_notify.c:48 @@ -655,7 +754,7 @@ msgid "Temperature alert" msgstr "" #: src/ui_notify.c:79 -msgid "Fan alert" +msgid "Fan speed alert" msgstr "" #: src/ui_sensorpref.c:248 diff --git a/po/sr.gmo b/po/sr.gmo index 7eedc46c159363803abd121d3376222d27b91600..73c3083c7f686aba4112e5d3638de7d5a9a91b1c 100644 GIT binary patch delta 504 zcmZ|Kze~eF6bJB2e<;LOY%5j-;T)1nx^>`8|eS~zwG8~09H~=M# z!UuS*5YmJRuMpdtvI{PV|A|0+rqJ^sT)(8p4AM4nucXg z%Yr{Xyy)0mD^yvHH5v}hyB_0=&aU!pUf<*L)_)gn_h7c3v8K~4vr7shvRt8#LvXxQ8i5nS&0zR49l3S;Sjuo3HToR1#{>hI0&b)J@zAn8$w!0@(n@j=tMUDYAn)$o8phcX_sS}p0vhX zYu#n#;;Ljahq-(?GRGey%ekzqj!O#FsWL)UO5+Rj@}gC-OExRYGlpmBl1dd-rWu)P z5><5#?{MO?M#+\n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-11 21:25+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-07-02 08:28+0000\n" -"X-Generator: Launchpad (build 15520)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, c-format msgid "Failed to create the directory %s: %s" msgstr "" -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 +#: src/cfg.c:557 #, c-format -msgid "Failed to parse configuration file: %s" +msgid "Failed to load configuration file %s: %s" msgstr "" -#: src/cfg.c:569 +#: src/cfg.c:580 #, c-format msgid "Failed to save configuration file %s." msgstr "" @@ -42,7 +38,7 @@ msgid "About" msgstr "О програму" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Поставке" @@ -71,6 +67,31 @@ msgstr "" msgid "_Help" msgstr "" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Сензор" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Најмање" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Највише" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "У боји" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,289 +113,367 @@ msgstr "" msgid "Edit Preferences" msgstr "" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Укључено" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "" -#: src/glade/psensor-pref.glade:477 -msgid "Min" +#: src/glade/psensor-pref.glade:500 +msgid "Colors" +msgstr "У боји" + +#: src/glade/psensor-pref.glade:521 +msgid "Monitoring duration:" msgstr "" -#: src/glade/psensor-pref.glade:504 -msgid "Max" +#: src/glade/psensor-pref.glade:539 +msgid "Update interval:" msgstr "" -#: src/glade/psensor-pref.glade:530 -msgid "Colors" -msgstr "У боји" +#: src/glade/psensor-pref.glade:557 +msgid "Measures" +msgstr "" -#: src/glade/psensor-pref.glade:548 -msgid "Monitoring duration:" +#: src/glade/psensor-pref.glade:584 +msgid "Min" msgstr "" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" +#: src/glade/psensor-pref.glade:611 +msgid "Max" msgstr "" -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 msgid "second(s)" msgstr "" -#: src/glade/psensor-pref.glade:637 -msgid "Update interval:" +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" msgstr "" -#: src/glade/psensor-pref.glade:655 -msgid "Measures" +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" msgstr "" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" +#: src/glade/psensor-pref.glade:761 +msgid "Curves" msgstr "" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Сензор" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "Недоступно" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" msgstr "" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" msgstr "" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -msgid "Display sensor in the list of sensors" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" msgstr "" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "" -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "" -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "" -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "" -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." +msgid "%s: sk_disk_open() failure: %s." msgstr "" -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." msgstr "" -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." msgstr "" -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." +msgid "%s: wrong string: %s." msgstr "" -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." +msgid "%s: initialization failure: %s." +msgstr "" + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" msgstr "" #: src/lib/plog.c:43 @@ -382,24 +481,41 @@ msgstr "" msgid "Cannot open log file: %s" msgstr "" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." +#: src/lib/nvidia.c:58 +#, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." +#: src/lib/nvidia.c:63 +#, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" msgstr "" -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:226 +#, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "" + +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." msgstr "" -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "" + +#: src/lib/nvidia.c:370 +#, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "" + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "" @@ -407,24 +523,24 @@ msgstr "" msgid "HOME variable not set." msgstr "" -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "" -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "" -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "" -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -434,78 +550,79 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Употреба: %s [ОПЦИЈА]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "" -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Опције:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" msgstr "" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Пријавите грешку на: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s матична страна: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "" -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "" -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Покушајте„%s --help“ за више информација.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "" -#: src/main.c:597 +#: src/main.c:631 msgid "Failed to create thread for monitoring sensors" msgstr "" +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Мирослав Николић https://launchpad.net/~lipek" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -521,130 +638,113 @@ msgstr "" msgid "Invalid JSON: %s" msgstr "" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" msgstr "" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" msgstr "" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr "" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr "" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "" -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "" -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" +#: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" msgstr "" -#: src/ui.c:90 +#: src/ui.c:96 msgid "About Psensor" msgstr "О Псензору" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Матична страница Псензора" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "" -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Одаберите боју текста" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Сензор" - -#: src/ui_sensorlist.c:333 -msgid "Value" +#: src/ui_sensorlist.c:254 +msgid "Hide" msgstr "" -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Најмање" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Највише" - -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "У боји" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Одаберите боју текста" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -655,7 +755,7 @@ msgid "Temperature alert" msgstr "" #: src/ui_notify.c:79 -msgid "Fan alert" +msgid "Fan speed alert" msgstr "" #: src/ui_sensorpref.c:248 diff --git a/po/sv.gmo b/po/sv.gmo index b486cd70567b2e30f6d9409db3e857da209aab2c..3b239f7d8e5cc05e62fe9cb01c587585d464bf99 100644 GIT binary patch delta 3709 zcmZ|ReQXrR8OQPQVektOVuPJvW3vXooAV0}##};pF_6@_h6G$*5&{Qa`wpM)F1Kf> z32-5lytH*9bwP@hs8niDqL3F=mqu+zuR@C zNbQJcKQp_xvop`kuK8f+v2B_6O7l+`%D0Jm#KC-H&fw)j4wMVijp@dVxCTpScy7Vf zw4cWN@O>P?+h-cnj?d#-yo3W-bAvGv+>d$q0nRoiWBy2`nG^rQCjD@h*Ith|(cXvE z_&8SJi#Q+8`F@0DvL$@vram&!0dI;3;HA<_Ac!%o{ij&*K!lfH&i1wD6x;!1GOcsrP_t-&)j- z&AuJ@1?_HRbxapeQO0gXWn>8H%N#-GU|iI|pTR2pDQZCPVmW?@{4-y0$mm4L94|$U zsCFmTV=rn?+>dqmxZi%oZ=XkX{23}kQ%HmEFG3B(^4lH0cOt80cA_$pC?o$xR2)vo zL#P`cL5=W9)XZMMx%e|w1}-4m#auyk^f4;6pQ83{5u?!gQeDuQ3Lt|YGQvv z3qQ|LX{1uY@U`YW$TFK=)B|>)X8r(b*Pg%v{E>hD=cos~>z{ugm9anjevW$ZbUM+J z&O%MN3%O)6w^31t1E`toKqg`0{`q658zxX4yQmDE^3VSQm7!muQvEh+DL+EJEq_D3 zj!K`-uSYGx05Z{x*+u1-d=VU6$%W4|m zQK`@8BSE)jFDj!k?7|GT;j7rG_y0pG>>E>I8PkI8s8rpHm3Y+mBx;7QVE})N8}V(_ zKx%8enQiyAaUtiEs0<&+1^6`9;u&n=`Q|DWb$laN)o~pvMUBX0Oebmy?nW)qRwSz? zic0BG)ZUput@Ux#z@J3AHm{%t@D8e<_k6EnMmPS&|G{6eB9C2(+EjBGW&_SerEnE$ z0GpA0Yiwi{%pqKaPodWQ9BL1}gBr*+B*~_z&YM^h^3U8-NB)CUw$oC|A4M&}%f6Rz zG3^2_DkCAx$F-;j_o6ms1T~-o$Tl+HK`rTvsEnLNW$I1T>w6wGkt_A&UnBj56Iz0) zOjjeWK<(--R7WdN9StCpG22iBI_#f+3^kAm)EDlgfBj|DfPaEh@eFF9Z=eQxB|}AP z^l#M2D)<;^ZR=5AxRt2XZ9qLBft`2+SK$vaiJxHsMw+~VCQx&<|plz)CdYJd--Quzd`-}~3E zp)&pt?R&0BE&a{U4$O25+IaDeNdJYM~E143!zE0 z6Za9LgqC#;F-+)fQR(FQW(ILLktX&NM~QWWcDVjnXydgKGYPHv!^AQoN~|PQl=9kK z&6q*VCwBYo$54ByiP%7_C6p0^7@^Pb2yu`|5tD_t zDOYZvJb_7~m)JqvMjRuIWd(zd9d{C`U@S2lbdxhuu06jzJ3RB@z|=Y?Wc9ccmG$|m zxu;9~N?BP$h0bhACE~-@kR48srEDubp0ry{o#QrFRt2EHa;|u-vRZsvQC+5c_UG<# z(y3^CIAqm1t=W%f{W>purKCSEyJ_~RJa=7LRd%$jCog-wyf~1rk-1Cfo^@*~-kd#b zr_<35jCG9qbE_ z#rH&#;X$h>5odvRkENrDxDzV2{%2~eNIIQ#LTzoa$@^O4cDn8G-l3@ONI3S8wJJVn TryM5{|9?M@CsOH1IA#6=c_!KT delta 4494 zcma)-3vg7`9fwZ>LI{t5ghxV1jyw_(H*OFl1Qn522~S0+SPR}{Z#K)m;@ukrL|4RT zEtGOg>*&-+C#6j7RNHl&vC~d#V>=f65L+Kut!>Alj2$~|?PKbr?f2Wg3)C{5p4s31 z&N=tqbN;V$_s-3~-kSf_xkC>bT7VkRlS7U90bD(T3+;wc#pI;i)XLN>z>8AqTDoy}%L+23rSa{;^- z*2BG!HO)g1C(IL2o;(Am!sAc|{vA$)LuyNg*F%k4p(3^{9IuDXjN?!#-Vck8z`Q1o zg%A88xUpRgQDgpy=4SXDGy$_)r zs3e?vzG@QjS20XwqUbTy!d+0QNJ4pj7gXpE!eUC`0>;n4%i#Oag$uAw8$AqV@Boy9 zN1%n@hUddKAg`EVdE8ZzG(zga%naEMwc#qr&m_30>i0qw+u?Bj>rfj$7ta3#Dv~dS z{2f&8{{dx?#Vd_xKt&?IiVnt@tDqL%2IZj#iI&+L&OZS4!k3^nI06;9Z-w*6p(6Jt zR3uMAg?P*qW2VFDunDe!+%j<()%m}jj$SCh%i(dTVwp^3>by>aoiGYDe=}5W?}X3t z1vvn(V7w7)*1^xio8bv~CG29?weZW(fq#K%xXJR7Vt?~2ouy2?2d{;T&MW2ee#rXf zpHQh${42qDxE@Y~^I#mxpf83z0_AZ5Dx$AIe&$UsGhih*XTug)%l>8qol4jXwNMgb zyx9&F@kUVua3D^Lsn5)wo+oZYb9OouXL8Ps}fLT-S0EwDL! z;09Qa%e}CL`Mu<2D0~cR`~*}aUWGE~_fS>*0aUTpQdt+mIZ&zF3ROdCD1+{RMBh9D z<>>dCi9hd}=b4DWKS6$`iQVMM@{k^!!}uY15j+--D>zG9Xl}?wPzHBG8MF?nSkq93 z=Anx33y^P+`R4h=U!i-B35E2>Q0M(+C=Y)N<-xm9)m%NRy=D#6i~Ud= z>iUn5WfK}d?&m=rnO|)M5stM!Frwl#dM-fTn};H?1KvJ z)9_OGbEp@_QhDug4jciKPzLwIHE=hqhDSrb1S=Sq+h^&pRPo!O2+c*!>~HoW6a=O?nUDg48FJ#nJNSi9xThVT$dio?Px8-#9BLZQrL!*)QogsdT%NBGm z`UJWI-GvlVd8gyK9w|bj&?cnjA?5pK)Q481IMOjy+m7x=iqu+EZke#7NYnCW5!VC7 z{^`pCy86)Q1e~oA+2V)hAXJK4kZMJLwP&^%0|%)P19T4hI2wa2TB0~8cWR5#PIR>f zw42Z>)U5&Sdel(tm5y52EuIqfSB4X+5w(SAMX|@9RY>7lbPL*s_9+kL)0GM0 zB@~b4XXx)jm!mys2lCN;r2h)F+t3D-M7N`P=pJ+zupGKFUE>wfAL)BW$m$d0@CgEqjL?&(%nVj!BF`MnF z=C!l5-dN0c(|tDPxV#pOojR$I9(8YJp>gcdilD8gzVQ0E>nd87Wczk{iFmJne)lXp zC)yT`aG6`Z&2=(8i7Vo1Cy{FH&ZZ0V#viVj+UIzf*PZ27yx(*DL^fl45-GRC&dix$ zT}?}HthS}f$yg`ldVb+=waY42Z(6x@&u&%m)P!lHk0+`EgpEb+sSC? zxjqkVckSBJTPxOYwDQ4auYS*MEi9Ngs`8?g+wChPZrscEXJXis%6evlo5`JmU76v5 zbkV|K<>bMcy=ODq#bf6Qm4hF=UDMbQcYQyRcC$S(hb#~aH`Z#x zzy=3urVcOnAFruv4*MPUCNE2Za`=*oD>SVpmChB->#*Iy`(v7`%H!Z@P2*+dL5D5( zw)T}C-`efDj_($C#{crlJxnsR{?0x(I8nDN$koTH+aq)4+qP&&v@Q5eePgse5}jk) z+B@dXn;oT9uXb{NKYx}gbu!xr2MB#RSdp$oS1OV9-K0xu2A?XG>)=!5dApO$6zetT4-TYK;r;(z zvyqre)^J*47usOb)Uk!P8Xl}HykK9g2#z*26z-q4`~R=p@iRtL4)wFCWMG>o3@euE zn!vHO!M~cORFrxR%}paxg9AxF<#_4Bg62IH8`p;gJ2>El)fiFTdi{PPW8G~wjKGD~ z#V5}uDf&c)RP_!HqnwSZ_z2F`hZ?RJr!JDHSUT z{YbS2dz$8LF4trS+a&yilS<@V6?Tr-K3d%6XaB2y^{BRS;~aye)0d-kgM+hg`Zoxv B-t_\n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-20 11:26+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Swedish\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-08-27 08:00+0000\n" -"X-Generator: Launchpad (build 17174)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, c-format msgid "Failed to create the directory %s: %s" msgstr "Misslyckades med att skapa katalogen %s: %s" -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "Konfigurationsfilen existerar inte" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" msgstr "Misslyckades med att tolka konfigurationsfilen: %s" -#: src/cfg.c:569 +#: src/cfg.c:580 #, c-format msgid "Failed to save configuration file %s." msgstr "Misslyckades med att spara konfigurationsfilen %s." @@ -45,7 +41,7 @@ msgid "About" msgstr "Om" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Inställningar" @@ -74,6 +70,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "_Hjälp" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Sensor" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Värde" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Färg" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Graf" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -95,317 +116,410 @@ msgstr "Botten" msgid "Edit Preferences" msgstr "Redigera inställningar" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Göm fönsterdekoration" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Håll fönster under" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Aktivera meny" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Aktivera räknare för Unity-programstartare" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "Celsius" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "Fahrenheit" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Temperaturenhet:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Sensortabellens position:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Gränssnitt" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "Starta vid sessionsuppstart" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Göm fönster vid uppstart" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Återställ fönsterposition och storlek" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "Uppstart" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Förgrund:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Bakgrund:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Bakgrundsgenomskinlighet:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Min" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Max" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Färger" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Övervakningstid:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "minut(er)" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "sekund(er)" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Uppdateringsintervall:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Mätningar" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Graf" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Min" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Max" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "sekund(er)" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "minut(er)" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Uppdateringsintervall för mätning:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Aktivera sensorlogging" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Loggintervall för sensor:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "sekund(er)" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "Skript att köra vid alarm:" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Sensorer" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Redigera sensorinställningar" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Namn" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Typ:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "Ej tillgänglig" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Sensorinformation" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Chip:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Namn:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Id:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Rita sensorkurva" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Färg:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Alarm" +#: src/glade/sensor-edit.glade:380 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Visa sensor i meny" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Aktivera skrivbordsnotifiering" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Högt tröskelvärde:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Lågt tröskelvärde:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "Programindikator" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Alarm" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Visa sensor i meny" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "Visa sensor i etiketten (experimentell)" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "-1" - -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Visa sensor i meny" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Programindikator" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: kan inte hitta ADL-bibliotek." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: saknar ADL API." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: misslyckades med att initialisera ADL." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: kan inte hämta antal adaptrar." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "Antal AMD/ATI-adaptrar: %d" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "Antal aktiva AMD/ATI-adaptrar: %d" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "CPU" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disk" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart: sk_disk_open()-fel: %s." +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: sk_disk_open()-fel: %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: misslyckades med att öppna uttag." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: misslyckades med att öppna uttag." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: misslyckades med att öppna anslutning." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: misslyckades med att öppna anslutning." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: fel sträng: %s." +msgid "%s: wrong string: %s." +msgstr "%s: fel sträng: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: kan inte hämta värdet för underegenskap %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: kan inte hämta värdet för underegenskap %s: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor: lmsensor_psensor_create fel: fel egenskapstyp." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: fel egenskapstyp." -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "Intel CPU" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "AMD CPU" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "NVIDIA GPU" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "VIA CPU" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor: initialiseringsfel: %s." +msgid "%s: initialization failure: %s." +msgstr "%s: initialiseringsfel: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "CPU" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Kan inte öppna loggfil: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" -"Proprietär NVIDIA-drivrutin ej använd, eller kan inte hämta NVIDIA GPU-" -"temperatur." +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Misslyckades med att hämta NVIDIA-information." + +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Misslyckades med att hämta NVIDIA-information." + +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "Misslyckades med att hämta NVIDIA-information." + +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Kan inte öppna anslutning till X11-server." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Kan inte öppna anslutning till X11-server." +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Misslyckades med att hämta NVIDIA-information." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." msgstr "Misslyckades med att hämta NVIDIA-information." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -413,24 +527,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "HOME-variabel inte inställd." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Sensorloggfil redan öppen." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Kan inte öppna sensorloggfil: %s" -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Sensorloggfil ej öppen." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "Sensorloggfil ej öppen, kan inte stänga." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -445,12 +559,12 @@ msgstr "" "Det här är fri programvara: Du kan fritt modifiera den och distribuera den\n" "Det finns INGEN GARANTI i den omfattning som medges av gällande lag.\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Användning: %s [FLAGGA]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -458,11 +572,11 @@ msgstr "" "Psensor är ett GTK+-program för att övervaka hårdvarusensorer, inklusive " "temperaturer och fläkthastigheter." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Alternativ:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -470,7 +584,7 @@ msgstr "" " -h, --help visa denna hjälp och avsluta\n" " -v, --version visa versionsinformation och avsluta" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -478,56 +592,54 @@ msgstr "" " -u, --url=URL URL för psensor-server,\n" " exempelvis: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart använd atasmart-biblioteket för diskövervakning " -"istället för\n" -" hddtemp-demon" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance tvinga fram att skapa ett nytt Psensor-program" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL ställ in felsökningsnivå, heltal mellan nivå 0 och 3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Rapportera fel till: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s webbplats <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor har inte kompilerats med fjärrsensorstöd." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Aktivera felsökningsläge." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prova`%s --help' för mer information.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Det finns redan en Psensor-instans." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Misslyckades med att skapa katalogen %s: %s" +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Josef Andersson https://launchpad.net/~northar" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -543,24 +655,24 @@ msgstr "Ogiltigt innehåll: %s" msgid "Invalid JSON: %s" msgstr "Ogiltig JSON: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

Begärde serverstopp

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Hittade inte sida - GÃ¥ till Huvudsida

" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server är en HTTP-server för att fjärrövervaka hårdvarusensorer." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -568,7 +680,7 @@ msgstr "" " -h, --help\t\tvisa denna hjälp och avsluta\n" " -v, --version\t\tvisa versionsinformation och avsluta" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -576,107 +688,91 @@ msgstr "" " -p,--port=PORT\twebbserverport\n" " -w,--wdir=DIR\t\tkatalog som innehåller webbserversidor" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr " -d, --debug=LEVEL ställ in felsökningnivån mellan 0 and 3" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=PATH ställ in loggfilen till PATH" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr " --sensor-log-file=PATH ställ in loggfil för sensor till PATH" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=S ställ in loggintervall för sensor till S (sekunder)" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP-begäran: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Aktiverar felsökningsläge: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Inga sensorer hittades." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Misslyckades med att skapa webbserver." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Webbserver startade på port: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW-katalog: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Misslyckades med att aktivera sensorloggning." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor är ett GTK+-program för att övervaka hårdvarusensorer" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" +#: src/ui.c:90 +#, fuzzy +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" msgstr "" "Copyright(c) 2010-2014\n" "jeanfi@gmail.com" -#: src/ui.c:90 +#: src/ui.c:96 msgid "About Psensor" msgstr "Om Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Psensor-webbplats" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Misslyckades med att läsa in Psensor-ikon." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Välj förgrundsfärg" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Sensor" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Värde" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Min" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Max" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Färg" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Välj förgrundsfärg" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -687,9 +783,17 @@ msgid "Temperature alert" msgstr "Temperaturlarm" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Fläktlarm" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Okänd" + +#~ msgid "" +#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " +#~ "temperature." +#~ msgstr "" +#~ "Proprietär NVIDIA-drivrutin ej använd, eller kan inte hämta NVIDIA GPU-" +#~ "temperatur." diff --git a/po/tr.gmo b/po/tr.gmo index 9ae3b9b35ca4267393b6c9eca61d0d2367b44f05..dd3b3f4e97891926732740d324f9e0e12ace9e7d 100644 GIT binary patch delta 3808 zcmZ|R3v3j}9mnyxtBr$!gqMi{W7aXY!^2O4v9FkfM*stXq`{b$=bAh0#pk`t-5Rh7 z9Iu3yJ|c8!q(o6^sVY(-wY9EI(}I*Vc1TcZ8&yrJrd8UgN{UoLo1{Ul+R%P~w`-(G z>B#^6%+BrX&irR~;mEGDTQhG@F8I2koFdAIc!4o5;>FuIP+k~kObh-5SK^#;ieIzd2~{M-AX0G9z;uNs{>vj=>@P48DM+co8jp1B-aRxj{t_xEWY5 z+3#2!I0--I_fpgVr|}e4$t*=>WChaI>_EnDlBmob#aZ|?YCu26X*i7hnYTD()Nq}O zQdBtAzhEL(b6$hm6B`11Q8)S`YQRsT`agqu@KA96a^UZf)i8fYWk6{f3k89yHEo@jIHpsP+iX!PTgN#8LM@gLTr`o*vnzk*uhOE?C9iP|%71m|xB=kH*qI>g#gna2ea7_KgC zL7Ge(YNWeRDLsUhcp7#6k5HNW6Dq|wunOmJ&@Nw#TKhC=0*6tVdkVFuepN;OSx$4E z25qYGOhY3sK?}<;|2;tVr`d?=*n|2WoJ7s^Db$DN8^QVaa5Cr5qXu{x)&GyErTr%= zgQYd(UmeS8{FE<1#$uXK@BJ1WgHhB{^rB{T1eK95V;Ik%t~-m$+;@>@m@BvdKSb>b zi?mo+i(1MJ87k_q1$D!NxCEcT&3FY5VdY%E!?#c)Kabj+-^clQ3G46!)Ml(;eKg~G zya(6dB0Pj`n8W=0|2`G^m@s!K!Ud?2-h-O)GE^!zqh{zJee8^~VH z526RPZ?u#e%xJNwd};IqYxVxOP&rKOA&wC{h_Qr<)>c`lCzLk5u6qfa(7tIPwh_Gq zAGUmnabzs{qSTKk^g&Az{lrmXC83Q!MK{!XYVDM!WyA?W?{PPAAECnj$$v~#?;@0u zUBqaaO-0N20I`BtN2uKIV?H1FIs5_F74Ipkv+F-nXJ&YSU} zpf0pb^9il@Xwe$0tR)WSYyPqZ)loEm{zE}%w^tC$iE3gop|YBIBwzF26zy8=WEIaR z|DV^OY96CfNa($Pl!y>2_Y!(zw1*OeUwD2cwIjqrLjN#y5KY8>LOXjsp`y2Aw5+0X zlGsFime@k{5uJp}fX}Vt0csnG4aB}%t!#YVTwgSmG@)0`AqI&gFZ- zVk@zPIG+7z++*3U@{-)m@h8KDRq2SeB70&+b%AQx`z8gIrl~bE)Y6$sxZT#CnCBR2dn5Qcumg72}W5=CA+jA0b{z`5U zv8vMfJN#vOd8sbjpMOBwOF3@0|6^@q?!+Chg>tD$(NM_B)>Tc*U7Nfrl#5PX5z2j3 zQXDRD(}`5Ju5>tCI{not-7(K|`eKPaQF|a5Pj6~AXRpmHU&?8N)z}zmT0FmjQoP4t?i)Yn@Tbr{BXI;p3m0t~q$<(#FMnAR7E9Yf2 z;SHPHSGF&+x}12olXfgSJ~HImeIr8yiIktX0o$eRl{41x^MkQ?-08JEC+YaVb=f0l z;C)-^4y=6@Bs4lV!y delta 4328 zcmZ|RdvH|M9l-Ik;gRr+JOU&n4zJ>RTsl!H8~390 z-@!&)G)bvev@w7$qZjKZE7gR%aT`8`T{yN-DUVV~6{azb9eZ#y9>(Q(3CCmpby=t4 zT>530k85!bZo*3RyZwi8CjB!w246tNqAt3}Uvu|g#Uh@sKA|B4D4L=alT-_FEZ&5p za3#*iwKxkqQDYKiAWxt?=m)N6P_94gdJeDA|1HWue?3(xlB_Oc3C~ymq`@&&z$h4t zDnXgSA}qsoC<8Na28NJ7b;#{Mj*_XLxcz6ag8nNgOM1n%XnJ=4QXI$rotTsxchHa- zgi#)lKp9A%+dt)c7FiYb5=v%XN4e3PuJ58;_dfDWHM%G}u~}G5zY1mM>ya{0&60n) z(cSEj)V841T>@qQ0pwolpxb{8Wu_C8r!?nadR?!*#o zN16D2GswTB_$WJM)?rPzH7qWrqEzF@+28kI0|8#*frM5wl`- zRjKO|l;<^~WMo&8hE#PgN->>s4}1^hfzP@7(CZ;VL?d!Y zZ9=)Pfigi0nUm^u_a`5vAs2iTm zc(DiN{3mfWUP7sr!r9r^u^4&Xld6)29EhTi5u|ucq`7(O8KxIgLodfy;^p?EMbxd(2xgh#yWfg`KYNsqkK5tL0O^? z-2F4@%%eXKmtr$AIkg|yXK+ zPF#!+q14hdsPR0G!^a$h}o7N=lERJn#`5k3U4Ijk72@L-9yOp)kB07 zl_oY4QW#ByY-@;{iMyo3wuRV6bP-=9ZX;y7oA?@0POKwjyEjXwuG(lz`ekEDPLe=>XAwtO4D;2(2cH70Slv?KX z+moHYyVvCyO2K@Y=q2PEf0$T7e2Hi!f`n{`2r0?~(qWS~)rOm5&HtP zCpGf3omfUZ;QVaD;be6pW>yESb|Y@YLPj*MwPueV?s6z&|>JGz}Zq$r(Qn#tMX0O_K$2KhkGNVR35jAU4FBVPATM{%o z;xa$e9}OpLpY8|;!%=mYX~%}q%{C{5jJOrHo!4d#&F?Zf&F-}P32wzs-Dw3)?F*Z+ z%s9+_RxDoQoSb!`AeTw!#lktIels4oLT0$rXOL2ZYkW1z&5{!-EX&WeA1*AeaN7-f zZ!}D{W6Z_&H|Y7X8Wjx1GQ(@o9nR~MD++Rb=gGo3t8$$Nools4vZuFoL`@@ZW}eLa zb9e4!CtV%yiI~pb;$CNTNz3@U>ZL1mt+&Bj>+CL>Gj2t7ZM|OVZK!n~Et$12{S;Nv zWrg(65i@87^h&7``W@1%t6%F6F}IqIaL9R~aZbgUd^ZyiHU}!KtG#KeJY%^x*Kq444K3jgN z-KBrcONI0mk8_~BDrL_7jZ|Ibyth5hkITy@N!2BKjA(iwmL5n=sQ9|a?-o(Oh#0~2 zfDRZvwh_>=p~2|TV8_rP4fjdufnX>-&_f+|n>|LZ_{>0*dj@#NxR{%E7y)jR?x!dB zvyJREHK}h`KA1OS=!6|%(3G(4w`@ztOi6{KtIF~lt)SnESx)yynKUa+nIu>Y?bhm{groCXH?vf+vflPTh zEsINy;p%HQ(*4|AMr{n8mIs9lo-|yy4Z0`MZG7rjuB16+*v#$ue!d;O)~9RNX)dqb loU70V-EKV3W8#c|\n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-20 11:27+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-08-27 08:00+0000\n" -"X-Generator: Launchpad (build 17174)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Web sunucusu oluşturulamadı." -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "Yapılandırma dosyası mevcut değil." - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Algılayıcıların günlük kaydı etkinleştirilemedi." -#: src/cfg.c:569 +#: src/cfg.c:580 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "Algılayıcıların günlük kaydı etkinleştirilemedi." @@ -42,7 +38,7 @@ msgid "About" msgstr "Hakkında" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Tercihler" @@ -71,6 +67,31 @@ msgstr "_Psensor" msgid "_Help" msgstr "_Yardım" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Algılayıcı" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Değer" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Asgari" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Azami" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Renk" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Grafik" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,318 +113,411 @@ msgstr "Alt" msgid "Edit Preferences" msgstr "Tercihleri Düzenle" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Pencere çubuğunu gizle" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Pencereyi aşağıda tut" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Menüyü etkinleştir" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Unity Başlatıcı sayacını etkinleştir" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "Celsius" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "Fahrenhayt" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Sıcaklık birimi:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Gözlemleyici tablosunun konumu:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Arayüz" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "Oturum başlangıcında başlat" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Başlangıçta pencereyi gizle" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Pencere konumunu ve boyutunu yeniden yükle" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "Başlangıç" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Önplan:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Arkaplan:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Arkaplan saydamlığı:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Asgari" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Azami" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Renk" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Gözlemleme süresi:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "dakika" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "saniye" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Güncelleme aralığı:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Ölçümler" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Grafik" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Asgari" + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Azami" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "saniye" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "dakika" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Ölçüm güncelleştirme aralığı:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "Algılayıcı günlük kaydını etkinleştir" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "Algılayıcı günlük kaydı aralığı:" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "saniye" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "Alarm çaldığında betik çalıştırılır:" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Algılayıcılar" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Algılayıcı Tercihlerini Düzenle" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "Ad" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Tür:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "Bilinmeyen" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Algılayıcı Bilgisi" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "Yonga:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "İsim:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Kimlik:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Algılayıcı eğrisini çiz" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Renk :" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Alarm" +#: src/glade/sensor-edit.glade:380 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "Algılayıcıları menüde göster" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Masaüstü bildirimlerini etkinleştir" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Yüksek eşik:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "-1" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Düşük eşik:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "Uygulama Göstergesi" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Alarm" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "Algılayıcıları menüde göster" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 #, fuzzy msgid "Display sensor in the label (experimental)" msgstr "Etikette algılayıcı göster (deneysel)" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "Algılayıcıları menüde göster" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" +msgstr "Uygulama Göstergesi" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: ADL kütüphanesi bulunamadı." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: ADL'nin API'sı kayıp." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: ADL başlatılamadı." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: bağdaştırıcıların sayısı alınamadı." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "AMD/ATI bağdaştırıcı sayısı: %d" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "Etkin AMD/ATI bağdaştırıcı sayısı: %d" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "İşlemci" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "Disk" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart: sk_disk_open() hatası: %s." +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s: sk_disk_open() hatası: %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: yuva açılamadı" +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: yuva açılamadı" -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: bağlantı açılamadı." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: bağlantı açılamadı." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: yanlış dizi: %s." +msgid "%s: wrong string: %s." +msgstr "%s: yanlış dizi: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor: %s alt özelliğinin değeri alınamıyor: %s." +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s: %s alt özelliğinin değeri alınamıyor: %s." -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor: lmsensor_psensor_create hatası: yanlış özellik tipi." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "%s: yanlış özellik tipi." -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "İntel işlemci" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "AMD işlemci" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "NVIDIA Ekran Kartı" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "VIA İşlemci" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor: başlatma hatası: %s." +msgid "%s: initialization failure: %s." +msgstr "%s: başlatma hatası: %s." + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "İşlemci" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Günlükleme dosyası açılamadı: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" -"NVIDIA kapalı kaynak sürücüsü kullanılmıyor veya NVIDIA ekran kartı " -"sıcaklığı alınamıyor." +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "NVIDIA bilgisi alınamıyor." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "X11 sunucusu bağlantısı açılamıyor." +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "NVIDIA bilgisi alınamıyor." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" msgstr "NVIDIA bilgisi alınamıyor." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: X11 sunucusu bağlantısı açılamıyor." + +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: NVIDIA bilgisi alınamıyor." + +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." +msgstr "NVIDIA bilgisi alınamıyor." + +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "RPM" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -411,24 +525,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "HOME değişkeni ayarlanmamış." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "Algılayıcı günlük kaydı dosyası zaten açık." -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "Algılayıcı günlük kaydı dosyası açılamıyor: %s." -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "Algılayıcı günlük kaydı dosyası açık değil." -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "Algılayıcı günlük kaydı açık değil, kapatılamıyor." -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -443,12 +557,12 @@ msgstr "" "Bu bir özgür yazılımdır: değiştirmekte ve yeniden dağıtmakta özgürsünüz.\n" "Yasaların izin verdiği çerçevede hiçbir garantisi YOKTUR.\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Kullanım: %s [SEÇENEK]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." @@ -456,11 +570,11 @@ msgstr "" "Psensor, sıcaklık ve fan hızı da dahil olmak üzere donanım algılayıcılarını " "gözlemleyen bir GTK+ uygulamasıdır." -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Seçenekler:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -468,7 +582,7 @@ msgstr "" " -h, --help yardımı göster ve çık\n" " -v, --version sürüm bilgisini göster ve çık" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -476,56 +590,56 @@ msgstr "" " -u, --url=URL psensor sunucusunun bağlantısı,\n" " example: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart disk gözlemleme için hddtemp yerine bir atasmart\n" -" kütüphanesi kullan" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr "" " -n, --new-instance yeni bir Psensor uygulaması oluşturulmasını zorla" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL hata ayıklama seviyesin ayarla, 0 ve 3 arasında tamsayı" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Hataları rapor et:%s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ana sayfa: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor, uzaktan algılayıcı desteği ile derlenmemiştir." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Hata ayıklama modunu etkinleştirir." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' yazın.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "Bir Psensor örneği zaten mevcut." -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Web sunucusu oluşturulamadı." +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" zeugma https://launchpad.net/~sunder67\n" +" İbrahim Çelik https://launchpad.net/~ibrahimcelik89" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -541,25 +655,25 @@ msgstr "Geçersiz içerik: %s" msgid "Invalid JSON: %s" msgstr "Geçersiz JSON: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

Sunucu durdurma istendi

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Sayfa bulunamadı - Şuraya gidin Main page" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-sunucusu, donanım algılayıcılarını uzaktan gözlemleme amaçlı bir " "HTTP sunucusudur." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -567,7 +681,7 @@ msgstr "" " -h, --help\t\tyardımı göster ve çık\n" " -v, --version\t\tsürüm bilgisini göster ve çık" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -575,112 +689,93 @@ msgstr "" " -p,--port=PORT\twebsunucu bağlantı noktası\n" " -w,--wdir=DIR\t\tdizin websunucusu sayfaları içerir" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" " -d, --debug=LEVEL hata ayıklama seviyesini ayarla, 0 ve 3 arasında bir " "tamsayı" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=PATH günlük kaydı dosyasını PATH olarak ayarla" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr "" " --sensor-log-file=PATH algılayıcı günlük kaydı dosyasını PATH olarak ayarla" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" " --sensor-log-interval=S algılayıcı günlük kaydı aralığını S (saniye) " "olarak ayarla" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP Ä°steği: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "Hata ayıklama modunu etkinleştirir: %d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Hiçbir algılayıcı bulunamadı." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Web sunucusu oluşturulamadı." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "Web sunucusu şu noktadan başlatıldı: %d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW dizini: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "Algılayıcıların günlük kaydı etkinleştirilemedi." -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" "Psensor, donanım algılayıcılarının gözlenmesi amaçlı bir GTK+ uygulamasıdır" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" -msgstr "" -"Telif Hakkı(c) 2010-2014\n" -"jeanfi@gmail.com" - #: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" +msgstr "Telif Hakkı(c) 2010-2014 jeanfi@gmail.com" + +#: src/ui.c:96 msgid "About Psensor" msgstr "Psensor Hakkında" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Psensor Anasayfası" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Psensor simgesi yüklenemedi." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Önplan rengini seçin" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Algılayıcı" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Değer" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Asgari" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Azami" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Renk" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Önplan rengini seçin" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -691,9 +786,26 @@ msgid "Temperature alert" msgstr "Sıcaklık uyarısı" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "Fan uyarısı" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "Bilinmeyen" + +#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#~ msgstr "lmsensor: lmsensor_psensor_create hatası: yanlış özellik tipi." + +#~ msgid "The configuration file does not exist." +#~ msgstr "Yapılandırma dosyası mevcut değil." + +#~ msgid "Sensor Information" +#~ msgstr "Algılayıcı Bilgisi" + +#~ msgid "" +#~ "NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU " +#~ "temperature." +#~ msgstr "" +#~ "NVIDIA kapalı kaynak sürücüsü kullanılmıyor veya NVIDIA ekran kartı " +#~ "sıcaklığı alınamıyor." diff --git a/po/uk.gmo b/po/uk.gmo index 1de12618348351d23c42ab9b5565ba474317e17d..1703cfe8119c3444d89723f3b5cd896793400011 100644 GIT binary patch delta 2470 zcmZwIe@xVM9LMnwC!zs@pdg{x7Y%;^#{nwBWeO^mL`fyu$chtAImJ7?J9D(~rZ%-^ z+WJ;nGdG)VuFW!UI)^T;t$)h7W3y~2wAS4E!`12!wN}~lb$n_5;b-^0$LI6C@8|pZ zeBPhW7cMNlQ6C%1O?}r;RufZ*D=uSVxOX&Pls#jNS&Xmai+Bk)V%b<@8u0+O;vjb6 zoCl0a!9zF!594e+g{62Mr{b7&V+u9Y3@UkCXuu|1jeN{UjwetZ&f-kG>a_3TB-&Fm zjL}?ca2zf`-QVO~51=LzLOy0EUj?`yM{B9asibk?6UWn-L;F0A$IGaJe#9cYjeJaA z=J11yF`xE4R0f+J1E~9Up(gk?>b`@h=YFcTQhm|+;VNd+{uM{zzeu)>i)E=pCTe0u zn1vqHeG5@5T8!+1dEU9+i4$peIqg2wM7BHEcVkQ)4pCt*%rVrAFQNv#gmpNGsW^#I zHQ*FfN-eZ-E-Hhqn2T$WV`4(6ep^u!e-&roKGZ}`XOVx+{2UiF;1yJgZa6pmjq2zk zE$T24wW2~)W<1!0bx!*=)CBh7QBL6z+)R5J59!0R_y*Q+(+2z^m;CRfQqFSP@FeQ= zW-!WZ9EW-{=3^u7$3^%p&c!@VZaFsL9^8srh*rVeO%CdQ3tO-qz4#gGklu_@(c#MA zOC6@8PI)ylhG|0!L#UL#g|&DPc>&A-YRj&p`u~EZcpKd~jr1E48iDsVMzTgvu=9N#b!LjZj%eXzNFc-nd7IR)Rkj$#Vtf34J+5TdPtx zjCmT%37yqxgheC==O1bEU9ZM^qLR=Xw3t{$#OIGKb)}X>yq5ib#*E?0nar84l88N& zT~w(b*7*Y6{!S|zvO+!npcM&qZ1hJfjDFf04h7d+k!Uy&T<^6?A{FuW^u`qXn~a@TzP>^0+G%8iD7!AQ3+8Vb8R!v4-cG-CIUe<8ijU0r2W)q1OI z?BblswR7E-b?&MvtGdctJ*TXalHTl#MBOX@@9njk{Jx;Or7O@K=;`rWE5eaLFkpvs z;^UH?d0b_!cV3NMom-MNzpAcgc6$77?jNo+%{uX+eI$Q^J!F;G%>{)cmww8hZeK1e z(#k6)<=cbStdZ&~1vyy*+Y_HB`V*%Ic4+1Hvf{G%?|HSZcwd3r6~9?{bX3MWiIW36 z26iXTCi>%lPVGyXoVY-j^R&;=@uaohAB_e!`9teEeZBVa;sdc}-))5vjf-`T57A%qlj!ynVBLjqX=k=g8BpzP$2Tg_7;Y=GdgpT)NN3- z&pa^vaTSAkPoqZTGyG8*Py&>`M_i*ZcM_v77)da3iyCqH!!7FPJH1nv_{;s>&pGFw z<+q)g4;K%%=1xu=^{_$KqvxRCmKl?SZ;s}Lyf)UD6nq_C23yWB<|cRt?1Cp?8(dm$ z%xbs`ZiXMg5%8*zF_Yjma5+ps92NPR3l2i9|34f9PX_!DR>{@RX;kvzXQ%@!#v3yQ&VUS=HmCzu z!pYEqiqxF}_reS4zW_D=eW(LJg_{2*)c#|zUj5pDjj%$YZlf_0u7*U-+z7Rx9acdX zo(cP)<~#n#QzCC z+=ThJLb-Vt$iRQX({KyCgVT1vkKj7ErDmwQUxu^jzX~6KUqSXZx8nuQnw@YFd=##L zCtw`TA$%(0&KwPe@_t@g@NcMFun)?^x1oifLWML$xK_c5umyHPE{u5`DwWSc?ehYh z4PS;~cp6>;r`8#BHCzwRhPh{HG|_koUIf2`3t%I0TnsnECGbCx$9%?19*$vkBdmo4 z$t;D+?K-Ia?twUK4niLDCNHJv6L>B>gDb@RoS97nax8V8kV>kznw?pe%;5j)4meHVaO((n% z-Ue~TJOx|ff1wN-P28ez5p03CLPg>^*a!Qe4sJegs5q&`;?KISpbStNmZLIWhDau; z7!)4;FjRa08$Btfn_LndFPVofLdT#~qPY$&$t6KU)uRNJL@p_zt599yD^UG|%tuRd zWzbL}6=N*V6)#3J){HTpKi1@7JR@q86<~OQMpy1}#GsbV(b!1YL|Ok*W?QPF2BgZLvy#xk|4< zRAG|lA()k_2;E%W+6I(zEy_sV%DPJRQdE~uRicVmjTπjLLG+?~8R;U=;@iHvKl zWyB75`IJdydTnPqV>^=BF58n%CEau;nc8HNsjTZHI_!*eXNYxwA)7loT&L$2+mUcs zmw#aF?6UmYQ0oZqczM0Id)#;4sqzc*ed7xw=5{;nt`2cFWzt(y9kxB)oz9q5PAWSL zyDY_oo`joBr@ZxN4qjF=GH$b78)e+a^es+m<}BNpNOo_{IB`2Y+h{g9uAA&}(w!X% z+~AAT(P#q0yzY{kW8r8d z9Bs1E`SI91Z*FDn#AV&R3A-lU-M%@Ia@=fJve#QznV--Ujzq(;sEsU$H^sdAs_D)1 z=QTxUh0I?k)!*+Q@(=sR3fuidg?kG3`p5kJg&mCcdrKzQuPuer`Um_Yh27Ra%7lT! z9!=B|f56Wdc7*uKYX5LykH6pgFZ%udQRc8+VV71O99ri0+aRX-wyLko^4n@!%DmIn z)4Z+K_1@p>s=aVcReqqhq0CFvP4aptS9yo3r{v$OdwOK@G5>l0U}3us)|MEIIeQA* ztv{%7PB?&ByBN;<$252Z8wLtHjQ^0|&zgV8OXK%3c3;u*qYU@411=r-ZHC{U-#O*3 z5f_%+j%%x9SbvBO4`cry3#yoGZ*0TVal^IZ4|of!Tgr#4!>g@n8e6KWt83;o|5h4* Z+M3uYuo#8uIHxccO?*Vhc+(ml`4wg=Hp&11 diff --git a/po/uk.po b/po/uk.po index c2cdd83..fe88100 100644 --- a/po/uk.po +++ b/po/uk.po @@ -7,32 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2012-10-13 16:24+0000\n" -"Last-Translator: Ilya Volchanetskiy \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-11 21:23+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-01-21 09:32+0000\n" -"X-Generator: Launchpad (build 16430)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "Не вдалося створити веб-сервер." -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "Не вдалося створити веб-сервер." -#: src/cfg.c:569 +#: src/cfg.c:580 #, c-format msgid "Failed to save configuration file %s." msgstr "" @@ -42,7 +38,7 @@ msgid "About" msgstr "Про програму" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "Налаштування" @@ -71,6 +67,31 @@ msgstr "" msgid "_Help" msgstr "_Довдіка" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "Датчик" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "Значення" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "Мін." + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "Макс." + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "Колір" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "Діаграма" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,314 +113,409 @@ msgstr "" msgid "Edit Preferences" msgstr "Редагувати налаштування" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "Сховати каркас вікна" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "Тримати вікно позаду" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "Увімкнути меню" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "Увімкнути лічильник на панелі запуску Unity" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "Одиниця температури:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "Положення таблиці датчиків:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "Зовнішній вигляд" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "Сховати вікно після запуску" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "Відновляти позицію і розмір вікна" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "Передній план:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "Тло:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "Непрозорість тла:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "Мін." - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "Макс." - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "Кольори" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "Тривалість спостереження" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "хв." - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "сек." - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "Інтервал оновлення:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "Заміри" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "Діаграма" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "Мін." + +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "Макс." + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "сек." + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "хв." + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "Інтервал оновлення замірів:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "Датчики" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "Редагувати налаштування датчика" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "Тип:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "Н/Д" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "Інформація датчика" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "Назва:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "Ідентифікатор:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "Малювати криву датчика" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "Колір:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "Оповіщення" +#: src/glade/sensor-edit.glade:380 +msgid "Display sensor in the list of sensors" +msgstr "" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "Увімкнути оповіщення" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "Вищий поріг:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "Нижчий поріг:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "Оповіщення" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" -msgstr "" - -#: src/glade/sensor-edit.glade:541 -msgid "Display sensor in the list of sensors" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" msgstr "" -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD: не вдалося знайти бібліотеку ADL." -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD: відсутнє API ADL." -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD: не вдалося ініціалізувати ADL." -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD: не вдалося отримати кількість адаптерів." -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 -#, c-format -msgid "atasmart: sk_disk_open() failure: %s." +#: src/lib/hdd_atasmart.c:141 +#, fuzzy, c-format +msgid "%s: sk_disk_open() failure: %s." msgstr "atasmart: помилка sk_disk_open(): %s." -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." -msgstr "hddtemp: не вдалося відкрити сокет." +#: src/lib/hdd_hddtemp.c:62 +#, c-format +msgid "%s: failed to open socket." +msgstr "%s: не вдалося відкрити сокет." -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." -msgstr "hddtemp: не вдалося встановити з'єднання." +#: src/lib/hdd_hddtemp.c:75 +#, c-format +msgid "%s: failed to open connection." +msgstr "%s: не вдалося встановити з'єднання." -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 #, c-format -msgid "hddtemp: wrong string: %s." -msgstr "hddtemp: неправильний рядок: %s." +msgid "%s: wrong string: %s." +msgstr "%s: неправильний рядок: %s." -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." +msgid "%s: Cannot get value of subfeature %s: %s." msgstr "" -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." msgstr "" -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 -#, c-format -msgid "lmsensor: initialization failure: %s." +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 +#, fuzzy, c-format +msgid "%s: initialization failure: %s." msgstr "lmsensor: помилка ініціалізації: %s." +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" + #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "Не вдалося відкрити лог-файл: %s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "Не вдалося отримати інформацію NVIDIA." + +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "Не вдалося отримати інформацію NVIDIA." + +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "Не вдалося отримати інформацію NVIDIA." -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "Не вдалося встановити з'єднання до сервера X11." +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: Не вдалося встановити з'єднання до сервера X11." -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: Не вдалося отримати інформацію NVIDIA." + +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." msgstr "Не вдалося отримати інформацію NVIDIA." -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "об/хв" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -407,24 +523,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "Змінна HOME не встановлена." -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "" -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "" -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "" -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "" -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -434,22 +550,22 @@ msgid "" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "Використання: %s [КЛЮЧ]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "" -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "Опції:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -457,61 +573,61 @@ msgstr "" " -h, --help показати цю довідку і вийти\n" " -v, --version показати версію і вийти" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" msgstr "" " -u, --url=URL URL psensor-сервера, наприклад: http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart використовувати бібліотеку atasmart для моніторингу\n" -"дисків замість демона hddtemp" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance примусово створювати нову копію програми Psensor" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr " -d, --debug=РІВЕНЬ встановити рівень налагодження, ціле між 0 та 3" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "Звітуйте про помилки до: %s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s домашня сторінка: <%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor не був зібраний з підтримкою віддалених датчиків." -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "Включає режим налагодження." -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Спробуйте `%s --help' щоб отримати більше інформації.\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "" -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "Не вдалося створити веб-сервер." +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Ilya Volchanetskiy https://launchpad.net/~volchanetskiy\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" VPIP https://launchpad.net/~tymbood" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -527,25 +643,25 @@ msgstr "" msgid "Invalid JSON: %s" msgstr "Неправильний JSON: %s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "" "

Сторінка не знайдена - Перейти до Головної " "сторінки

" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "" "psensor-server ‌— це HTTP-сервер для віддаленого моніторингу апаратних " "датчиків." -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -553,7 +669,7 @@ msgstr "" " -h, --help\t\tпоказати цю довідку і вийти\n" " -v, --version\t\tпоказати версію і вийти" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -561,104 +677,87 @@ msgstr "" " -p,--port=PORT\tпорт веб-сервера\n" " -w,--wdir=DIR\t\tдиректорія для сторінок веб-сервера" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr "" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr "" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr "" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP запит: %s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "Датчики не знайдені." -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "Не вдалося створити веб-сервер." -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW-директорія: %s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "" -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" +#: src/ui.c:90 +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" msgstr "" -#: src/ui.c:90 +#: src/ui.c:96 msgid "About Psensor" msgstr "Про Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Домашня сторінка Psensor" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "Не вдалося завантажити іконку Psensor." -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "Оберіть колір переднього плану" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "Датчик" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "Значення" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "Мін." - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "Макс." +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "Колір" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "Оберіть колір переднього плану" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -669,9 +768,12 @@ msgid "Temperature alert" msgstr "" #: src/ui_notify.c:79 -msgid "Fan alert" +msgid "Fan speed alert" msgstr "" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "" + +#~ msgid "Sensor Information" +#~ msgstr "Інформація датчика" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index fc90737a9f5c882f4d0b5a8b00541914e5a51ae2..8aac8e1c86b4f01c3de908b2ece6a75f4aa6f3eb 100644 GIT binary patch delta 3009 zcmZ|Rdu)?c9LDj}ZQLd|2W%iP-pMWu8L$CkDhO7Nz*9H_d*mCl0-JCx9>(!F=r&_! zVIwxb1#V=Sk>3$;|e zd8({LwQodqYzgW)4L zy$a$yREJ(ib)*ydGjH?b;3udhxq>t`S5eQ+r&mL86l%}R7|8rf*{cPkGGe1Q}Q{RHxQ_$lf*rp7b> z8gUJd#s;jyD3;(J)FwNDnzD1K7v4Y}$GJnZBj0TGQ0?|3x0o|niswCO*XGZI;% zl$l0Go2n5trOnw3CW6|fNz@cSW9wf)t>sIo@5bw>89ZmNU$W(&Z22l)=lb8M0sci} z&1ePd(NE{!Pew0p!V%bte0$8($ZVVK)`O^X`wnXD&LV&22Ww9nt6YKVP$Oy+EgX4!0bD@siQh|@fAVH1J4>5xDyk!EQ4dU_8a{#A3(wp7-8h!=tEiEDf*Qz|_WBjn z{a0;$4|=U*?4asP(ZPu$Q`uwIOoe*93iaX*I31tFTs&btja`)AM<1&56N!34DTfGT za@n7IY(8q`JCu3;7+cQg{h7@)3iF6oVh*8nf0qA#A0iha*vMv_t!02_0`VZBDb-gr zm$*4CqfkLiCbV32#BxF@rD<;?G%ea>;|ZlkVg{jgpHC>wCKeM*RIq7;RUe&pVg(T< z$_OPb-$G&*v6Rp(KSJmT^TA7*1!S~I))PwiWy!3Mj+>TY5uuL>v!3}U1Tvr5Rmza2 zWXb$?<5zp(-&8|J$5QEGqB4^+=3bnt^RKU&Qf5b^J`&RiZLph@zIJyLF+!WpPdrMj zCUk1n5!$>#VjdA9`Vi%WOH>nUh@Qk32e{cF?{wq1%%Hn=! zrgyEdJWn}qNI#qT_4bOKvba}SR4i5$7NFEbNGfA|Y?@;5W0)#@G2L z)q1T%%5$shYrU;Q8oi78gVKxdXvvFx^m^ z@OkIU3O!%N;?z7h8EI{gxdCTpG?M5DwImavXe92>cbxz0xYM3U#Nz&O7lXz-@7(<{!}_hy4Hm delta 3743 zcmai$dvKK18HdjXM1ld4s{~BG7znp6Y(jt#6i{wr5GaUPN(pQ7C0UZ}#@z)>W!xy< zBB0<01CeV6La`+>x^>E(VfsgDJ4&aco$1)2%{03SQ#&f1N-tyE=ePR>+77K}^4sT} z_uSs|p7(svzUY@rVpj+C-fbw2XcX$~Wy}$H;!b`jCH)Yb0fR6M=fMv6Ff6#sn6)qf zYvE<+gT-0K%!f8y34Z`)~KyVy2GDqZpdtH28DK+9qQ_n*HJZwC{yEa3&lJ zSG(;O;BeZl@D6wyvV^(l_J82oKZR^)u0wn@eeOo=Zw65rgJA@`7tV$jd=hHGMwcyE1KtPkrc(}h;V||$GpNY3Wir4@m(Rii z+HXQ#&1sjva_xVDnb@-jr579x<**NGooP@GJm$97y4(Qq*=&O`uG{RVqJ<7aP53^P zLuVm-m@BY1?0`hiB%$X087g9bg?-^5Cdob$4uQFDyBNx`64yQpYW#}9#9tv>gFzwL z1Qnt!P>!_18Sp*$Ap8{Ca008#p&d{g?uK-k7HGkCsE~gMb!AD2kLHgq&Cv8dgNG9T z5p)z{P?D8FC4LZUgN;xTc-G~1s0|N6UCj}wll=@T62E|&e+}vYUqD?&20t1%0&2Zn zsAMjTxgE>k7z|H9oHUzZKHLd&;rmdL`WX7)=TPJGIOZ(45b6qFhI&mq-1a9>uPFf! z^6ox|vuVGr@>y_ry^16vJB?YUIW=8W}c%m8bb?Yj=2C?+k66bcQ>Gt?jKMg?oZrgFM!Ho zFI31MbnWxuc-o60Q_M!Uy$dQr7og@}PPMuJE3VjW44vDt;Db$sAK$bRNx*SRva@gM#Q<0}DpcZ->%G2kdJbe{v z!#AKpc^qn^(=M+-%}YQ<;yTp4zd?=nklDJLK~S$?G*tg|7}LaARJ36k)WR#>0ky6@ z?AkZG?Khz|+7IQ}QP+MR>NWkuZFjisKR{jK9b~kUdI&#LVM#vsUrr^6K^}eR@?$7R zegl;Y*P%i`fJBkQIZ*A1P$!xR`7=xS;m{@my>K_w!F~+2{s&O=KZ2UyF`D?R;|mOv z;9sClHkP-glTC)|e*|j6QrBJ%d(nQzwQq(N?QKxctsRbor=Skf0a@DIfMemPf^;P2 z#i-~#*Fd6VTHri*4)%c_Mn44mLT&h{%O%i5doj{;n~t>6zn5>(nBf{8cDcr-1vj7= zZ!q=V_10CY&>W=9RjEO`qH6REnvYcEB!@|T)$qkELn;cdLf=#L?TDfXnu(?&6(#%> zy?>oD1L>(LWGec%K;LuST`^JwLWnfDS)QP_5tX0@q>oJijYkA8^%a~ARcxgH6D(AN zQjeZQ-)4Wao=PK9<}O03&_pyBg;6bVND228dI0H4RKA0rM#^%P`_oAM2HpBP zxZ14?3(!FJPkmNp=qXARl_h8`(hFFMlqV{AX`~WX)m&7EDv-XQD#Ot7RLz)gLM3x= zbSHWY^+ifl9r$LMMXeMm)AhyDM`IIGDNG~v1$%^gC0gOyQgB|%oKx%F5V5^=fv5aY zf27_Yj#`$5#k$#~E9?(9T2-O2RT+rXTJ@n|AQ}n>g4I?a7>U~cN-I>=k7>6lHI+FiCe6y>=p$)-Gt0Ghv z3Y!&nFme;tq96n6{m}p}d^vcPC)RVgQY%thu0xfF8tmY>@m3YvZ3x??)|kj7Q*B41 zfqFYsRq5yW^w^b?jC-O|*I-3Mmgcf=Fo-K`@xRAJLKU@kbdo8!xyYt)h%iQ?ie`G# zy81}U_fo6Esmdy-xYZ62_JF@G@ZHow{?pZ4qk3xP4e52tE5f!vYTp{3-m(fK2eqP& z4YspxXr1%hp=*jtyhYQkLSLz`aH6ls=j*p@sdu@(F%aQU-gzuistYRi`lfn)g;wE| z(xNF&{jlL#tNff{Ucet*9|$^ohn?y-&Fd?&d?ls65@+@Bf?mEUh0d1Y3#x9DX`SaU zcI`TTE7=lfoaBMFu6;X`?{DpDJ<+vq?`P+>bvJG6JheT!_vF_kS@*?#UB|aNmoi7h zuMV%ui2pOY)#JpnbK<*3)p#a!HNToXuqD~tl-%F^HM#cp`^r2{Yj#f7wIi=5n_uZ} zKbCy0Ej~YYXNLD$Q*(0b+ll7w$(EDd&F>jp?f%}&-S1pT9DT)fo;#d;@lc}Wc<05| zVKzD;^@2GKWt+_dV{XFUQE1psC&!#u6NHS4sLbA`78ega6YYF diff --git a/po/zh_CN.po b/po/zh_CN.po index 4f7cbcc..0ce1b3d 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,32 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: psensor\n" "Report-Msgid-Bugs-To: jeanfi@gmail.com\n" -"POT-Creation-Date: 2014-08-27 10:01+0200\n" -"PO-Revision-Date: 2014-05-01 13:23+0000\n" -"Last-Translator: Wang Dianjin \n" +"POT-Creation-Date: 2014-09-21 18:26+0200\n" +"PO-Revision-Date: 2014-09-11 21:24+0000\n" +"Last-Translator: Jean-Philippe Orsini \n" "Language-Team: Chinese (simplified)\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2014-06-02 08:08+0000\n" -"X-Generator: Launchpad (build 17031)\n" +"X-Launchpad-Export-Date: 2014-09-21 08:56+0000\n" +"X-Generator: Launchpad (build 17196)\n" -#: src/cfg.c:494 +#: src/cfg.c:510 #, fuzzy, c-format msgid "Failed to create the directory %s: %s" msgstr "无法创建网络服务器。" -#: src/cfg.c:542 -msgid "The configuration file does not exist." -msgstr "" - -#: src/cfg.c:545 -#, c-format -msgid "Failed to parse configuration file: %s" -msgstr "" +#: src/cfg.c:557 +#, fuzzy, c-format +msgid "Failed to load configuration file %s: %s" +msgstr "无法激活监测器日志。" -#: src/cfg.c:569 +#: src/cfg.c:580 #, fuzzy, c-format msgid "Failed to save configuration file %s." msgstr "无法激活监测器日志。" @@ -42,7 +38,7 @@ msgid "About" msgstr "关于" #: src/glade/psensor.glade:10 src/glade/psensor.glade:11 -#: src/glade/psensor.glade:20 src/ui_sensorlist.c:217 +#: src/glade/psensor.glade:20 src/ui_sensorlist.c:264 msgid "Preferences" msgstr "首选项" @@ -71,6 +67,31 @@ msgstr "" msgid "_Help" msgstr "帮助(_H)" +#: src/glade/psensor.glade:312 +msgid "Sensor" +msgstr "监视设备" + +#: src/glade/psensor.glade:323 +msgid "Value" +msgstr "值" + +#: src/glade/psensor.glade:334 +msgid "Min" +msgstr "最小值" + +#: src/glade/psensor.glade:345 +msgid "Max" +msgstr "最大值" + +#: src/glade/psensor.glade:356 +msgid "Color" +msgstr "颜色" + +#: src/glade/psensor.glade:367 src/glade/psensor-pref.glade:787 +#: src/glade/sensor-edit.glade:412 +msgid "Graph" +msgstr "图表" + #: src/glade/psensor-pref.glade:24 msgctxt "psensor" msgid "Right" @@ -92,315 +113,410 @@ msgstr "底部" msgid "Edit Preferences" msgstr "编辑首选项" -#: src/glade/psensor-pref.glade:121 +#: src/glade/psensor-pref.glade:126 msgid "Hide window decoration" msgstr "隐藏窗口标题栏" -#: src/glade/psensor-pref.glade:141 +#: src/glade/psensor-pref.glade:146 msgid "Keep window below" msgstr "保持在最底层" -#: src/glade/psensor-pref.glade:161 +#: src/glade/psensor-pref.glade:166 msgid "Enable menu" msgstr "启用菜单" -#: src/glade/psensor-pref.glade:181 +#: src/glade/psensor-pref.glade:186 msgid "Enable Unity Launcher counter" msgstr "启用 Unity 启动器计数器" -#: src/glade/psensor-pref.glade:209 +#: src/glade/psensor-pref.glade:214 msgid "Celsius" msgstr "" -#: src/glade/psensor-pref.glade:210 +#: src/glade/psensor-pref.glade:215 msgid "Fahrenheit" msgstr "" -#: src/glade/psensor-pref.glade:254 +#: src/glade/psensor-pref.glade:259 msgid "Temperature unit:" msgstr "温度单位:" -#: src/glade/psensor-pref.glade:272 +#: src/glade/psensor-pref.glade:277 msgid "Position of sensors table:" msgstr "监视设备列表位置:" -#: src/glade/psensor-pref.glade:287 +#: src/glade/psensor-pref.glade:296 msgid "Interface" msgstr "界面" -#: src/glade/psensor-pref.glade:299 +#: src/glade/psensor-pref.glade:312 msgid "Launch on session startup" msgstr "" -#: src/glade/psensor-pref.glade:320 +#: src/glade/psensor-pref.glade:333 msgid "Hide window on startup" msgstr "启动时隐藏窗口" -#: src/glade/psensor-pref.glade:340 +#: src/glade/psensor-pref.glade:353 msgid "Restore window position and size" msgstr "恢复窗口位置和大小" -#: src/glade/psensor-pref.glade:367 +#: src/glade/psensor-pref.glade:384 msgid "Startup" msgstr "" -#: src/glade/psensor-pref.glade:405 +#: src/glade/psensor-pref.glade:428 msgid "Foreground:" msgstr "前景:" -#: src/glade/psensor-pref.glade:420 +#: src/glade/psensor-pref.glade:446 msgid "Background:" msgstr "背景:" -#: src/glade/psensor-pref.glade:454 +#: src/glade/psensor-pref.glade:482 msgid "Background opacity:" msgstr "背景透明:" -#: src/glade/psensor-pref.glade:477 -msgid "Min" -msgstr "最小值" - -#: src/glade/psensor-pref.glade:504 -msgid "Max" -msgstr "最大值" - -#: src/glade/psensor-pref.glade:530 +#: src/glade/psensor-pref.glade:500 msgid "Colors" msgstr "颜色" -#: src/glade/psensor-pref.glade:548 +#: src/glade/psensor-pref.glade:521 msgid "Monitoring duration:" msgstr "监视持续时长:" -#: src/glade/psensor-pref.glade:585 -msgid "minute(s)" -msgstr "分钟" - -#: src/glade/psensor-pref.glade:602 src/glade/psensor-pref.glade:752 -msgid "second(s)" -msgstr "秒" - -#: src/glade/psensor-pref.glade:637 +#: src/glade/psensor-pref.glade:539 msgid "Update interval:" msgstr "更新间隔:" -#: src/glade/psensor-pref.glade:655 +#: src/glade/psensor-pref.glade:557 msgid "Measures" msgstr "测量" -#: src/glade/psensor-pref.glade:691 src/glade/sensor-edit.glade:264 -#: src/ui_sensorlist.c:364 -msgid "Graph" -msgstr "图表" +#: src/glade/psensor-pref.glade:584 +msgid "Min" +msgstr "最小值" -#: src/glade/psensor-pref.glade:715 +#: src/glade/psensor-pref.glade:611 +msgid "Max" +msgstr "最大值" + +#: src/glade/psensor-pref.glade:664 src/glade/psensor-pref.glade:851 +msgid "second(s)" +msgstr "秒" + +#: src/glade/psensor-pref.glade:716 +msgid "minute(s)" +msgstr "分钟" + +#: src/glade/psensor-pref.glade:734 +msgid "Smooth curves" +msgstr "" + +#: src/glade/psensor-pref.glade:761 +msgid "Curves" +msgstr "" + +#: src/glade/psensor-pref.glade:814 msgid "Measure update interval:" msgstr "测量更新间隔:" -#: src/glade/psensor-pref.glade:763 +#: src/glade/psensor-pref.glade:862 msgid "Enable sensors logging" msgstr "启用监测器记录" -#: src/glade/psensor-pref.glade:810 +#: src/glade/psensor-pref.glade:909 msgid "Sensors logging interval:" msgstr "" -#: src/glade/psensor-pref.glade:827 +#: src/glade/psensor-pref.glade:926 msgid "seconds(s)" msgstr "秒" -#: src/glade/psensor-pref.glade:844 +#: src/glade/psensor-pref.glade:943 msgid "Script executed when an alarm is raised:" msgstr "" -#: src/glade/psensor-pref.glade:877 +#: src/glade/psensor-pref.glade:984 msgid "Sensors" msgstr "传感器" -#: src/glade/sensor-edit.glade:28 +#: src/glade/psensor-pref.glade:1002 +msgid "Enable support of lm-sensors" +msgstr "" + +#: src/glade/psensor-pref.glade:1022 +msgid "Enable support of NVCtrl (NVidia)" +msgstr "" + +#: src/glade/psensor-pref.glade:1042 +msgid "Enable support of ATI ADL" +msgstr "" + +#: src/glade/psensor-pref.glade:1062 +msgid "Enable support of gtop2" +msgstr "" + +#: src/glade/psensor-pref.glade:1082 +msgid "Enable support of hddtemp daemon" +msgstr "" + +#: src/glade/psensor-pref.glade:1102 +msgid "Enable support of libatasmart" +msgstr "" + +#: src/glade/psensor-pref.glade:1122 +msgid "Enable support of udisks2" +msgstr "" + +#: src/glade/psensor-pref.glade:1149 +msgid "The changes are applied after the restart of psensor." +msgstr "" + +#: src/glade/psensor-pref.glade:1171 +msgid "Hard disk drive" +msgstr "" + +#: src/glade/psensor-pref.glade:1194 +msgid "CPU and memory usage" +msgstr "" + +#: src/glade/psensor-pref.glade:1217 +msgid "GPU with proprietary driver" +msgstr "" + +#: src/glade/psensor-pref.glade:1240 +msgid "Motherboard, CPU and GPU" +msgstr "" + +#: src/glade/psensor-pref.glade:1263 +msgid "Providers" +msgstr "" + +#: src/glade/sensor-edit.glade:29 msgid "Edit Sensor Preferences" msgstr "编辑传感器首选项" -#: src/glade/sensor-edit.glade:96 +#: src/glade/sensor-edit.glade:107 msgid "Name" msgstr "" -#: src/glade/sensor-edit.glade:140 +#: src/glade/sensor-edit.glade:174 msgid "Type:" msgstr "类型:" -#: src/glade/sensor-edit.glade:155 src/glade/sensor-edit.glade:202 -#: src/glade/sensor-edit.glade:249 src/glade/sensor-edit.glade:475 -#: src/glade/sensor-edit.glade:523 src/lib/psensor.c:481 src/ui_notify.c:81 +#: src/glade/sensor-edit.glade:193 src/glade/sensor-edit.glade:230 +#: src/glade/sensor-edit.glade:282 src/glade/sensor-edit.glade:507 +#: src/glade/sensor-edit.glade:562 src/lib/psensor.c:457 src/ui_notify.c:81 msgid "N/A" msgstr "不可用" -#: src/glade/sensor-edit.glade:170 -msgid "Sensor Information" -msgstr "传感器信息" - -#: src/glade/sensor-edit.glade:188 +#: src/glade/sensor-edit.glade:212 msgid "Chip:" msgstr "芯片:" -#: src/glade/sensor-edit.glade:217 +#: src/glade/sensor-edit.glade:245 msgid "Name:" msgstr "名称:" -#: src/glade/sensor-edit.glade:232 +#: src/glade/sensor-edit.glade:264 msgid "Id:" msgstr "标识:" -#: src/glade/sensor-edit.glade:278 +#: src/glade/sensor-edit.glade:302 +msgid "Details" +msgstr "" + +#: src/glade/sensor-edit.glade:320 msgid "Draw sensor curve" msgstr "绘制监视曲线" -#: src/glade/sensor-edit.glade:300 +#: src/glade/sensor-edit.glade:349 msgid "Color:" msgstr "颜色:" -#: src/glade/sensor-edit.glade:331 -msgid "Alarm" -msgstr "警告" +#: src/glade/sensor-edit.glade:380 +#, fuzzy +msgid "Display sensor in the list of sensors" +msgstr "在应用指示器菜单中显示监视器" -#: src/glade/sensor-edit.glade:345 +#: src/glade/sensor-edit.glade:431 msgid "Activate desktop notifications" msgstr "激活桌面气泡提示" -#: src/glade/sensor-edit.glade:367 +#: src/glade/sensor-edit.glade:460 msgid "High threshold:" msgstr "高阈值:" -#: src/glade/sensor-edit.glade:382 +#: src/glade/sensor-edit.glade:482 +msgid "0" +msgstr "" + +#: src/glade/sensor-edit.glade:536 +msgid "-1" +msgstr "" + +#: src/glade/sensor-edit.glade:588 msgid "Low threshold:" msgstr "低阈值:" -#: src/glade/sensor-edit.glade:397 -msgid "Application Indicator" -msgstr "" +#: src/glade/sensor-edit.glade:610 +msgid "Alarm" +msgstr "警告" -#: src/glade/sensor-edit.glade:411 +#: src/glade/sensor-edit.glade:629 msgid "Display sensor in the menu" msgstr "在应用指示器菜单中显示监视器" -#: src/glade/sensor-edit.glade:429 +#: src/glade/sensor-edit.glade:650 msgid "Display sensor in the label (experimental)" msgstr "" -#: src/glade/sensor-edit.glade:500 -msgid "-1" +#: src/glade/sensor-edit.glade:682 +msgid "Application Indicator" msgstr "" -#: src/glade/sensor-edit.glade:541 -#, fuzzy -msgid "Display sensor in the list of sensors" -msgstr "在应用指示器菜单中显示监视器" - -#: src/lib/amd.c:168 +#: src/lib/amd.c:171 msgid "AMD: cannot found ADL library." msgstr "AMD:未找到 ADL 库。" -#: src/lib/amd.c:195 +#: src/lib/amd.c:198 msgid "AMD: missing ADL's API." msgstr "AMD:ADL 的 API 丢失。" -#: src/lib/amd.c:205 +#: src/lib/amd.c:208 msgid "AMD: failed to initialize ADL." msgstr "AMD:ADL 初始化出错。" -#: src/lib/amd.c:211 +#: src/lib/amd.c:214 msgid "AMD: cannot get the number of adapters." msgstr "AMD:无法获取适配器数目。" -#: src/lib/amd.c:250 +#: src/lib/amd.c:253 #, c-format msgid "Number of AMD/ATI adapters: %d" msgstr "" -#: src/lib/amd.c:251 +#: src/lib/amd.c:254 #, c-format msgid "Number of active AMD/ATI adapters: %d" msgstr "" -#: src/lib/cpu.c:46 -msgid "CPU" -msgstr "" - -#: src/lib/hdd_atasmart.c:57 src/lib/hdd_hddtemp.c:122 +#: src/lib/hdd_atasmart.c:59 src/lib/hdd_hddtemp.c:125 msgid "Disk" msgstr "" -#: src/lib/hdd_atasmart.c:152 +#: src/lib/hdd_atasmart.c:141 #, c-format -msgid "atasmart: sk_disk_open() failure: %s." -msgstr "atasmart:sk_disk_open() 失败:%s。" +msgid "%s: sk_disk_open() failure: %s." +msgstr "%s:sk_disk_open() 失败:%s。" -#: src/lib/hdd_hddtemp.c:59 -msgid "hddtemp: failed to open socket." +#: src/lib/hdd_hddtemp.c:62 +#, fuzzy, c-format +msgid "%s: failed to open socket." msgstr "硬盘温度:无法打开套接字。" -#: src/lib/hdd_hddtemp.c:72 -msgid "hddtemp: failed to open connection." +#: src/lib/hdd_hddtemp.c:75 +#, fuzzy, c-format +msgid "%s: failed to open connection." msgstr "硬盘温度:无法打开连接。" -#: src/lib/hdd_hddtemp.c:186 src/lib/hdd_hddtemp.c:256 -#, c-format -msgid "hddtemp: wrong string: %s." +#: src/lib/hdd_hddtemp.c:190 src/lib/hdd_hddtemp.c:270 +#, fuzzy, c-format +msgid "%s: wrong string: %s." msgstr "硬盘温度:错误字符:%s。" -#: src/lib/lmsensor.c:42 +#: src/lib/lmsensor.c:44 #, c-format -msgid "lmsensor: cannot get value of subfeature %s: %s." -msgstr "lmsensor:无法获取子功能%s的值:%s。" +msgid "%s: Cannot get value of subfeature %s: %s." +msgstr "%s:无法获取子功能%s的值:%s。" -#: src/lib/lmsensor.c:123 -msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." -msgstr "lmsensor:lmsensor_psensor_create 失败:错误的功能类型。" +#: src/lib/lmsensor.c:137 +#, c-format +msgid "%s: Wrong feature type." +msgstr "" -#: src/lib/lmsensor.c:148 +#: src/lib/lmsensor.c:166 msgid "Intel CPU" msgstr "" -#: src/lib/lmsensor.c:152 +#: src/lib/lmsensor.c:170 msgid "AMD CPU" msgstr "" -#: src/lib/lmsensor.c:154 src/lib/nvidia.c:73 +#: src/lib/lmsensor.c:172 msgid "NVIDIA GPU" msgstr "" -#: src/lib/lmsensor.c:156 +#: src/lib/lmsensor.c:174 msgid "VIA CPU" msgstr "" -#: src/lib/lmsensor.c:218 +#: src/lib/lmsensor.c:176 +msgid "ACPI" +msgstr "" + +#: src/lib/lmsensor.c:201 #, c-format -msgid "lmsensor: initialization failure: %s." -msgstr "lmsensor:初始化失败:%s。" +msgid "%s: initialization failure: %s." +msgstr "%s:初始化失败:%s。" + +#: src/lib/pgtop2.c:42 +msgid "CPU usage" +msgstr "" + +#: src/lib/pgtop2.c:47 +msgid "CPU" +msgstr "" + +#: src/lib/pgtop2.c:63 +msgid "free memory" +msgstr "" + +#: src/lib/pgtop2.c:64 +msgid "memory" +msgstr "" #: src/lib/plog.c:43 #, c-format msgid "Cannot open log file: %s" msgstr "无法打开日志文件:%s" -#: src/lib/nvidia.c:52 -msgid "" -"NVIDIA proprietary driver not used or cannot retrieve NVIDIA GPU temperature." -msgstr "" +#: src/lib/nvidia.c:58 +#, fuzzy, c-format +msgid "%s: Unknown NVIDIA product name for GPU %d" +msgstr "无法获取 NVIDIA 信息。" + +#: src/lib/nvidia.c:63 +#, fuzzy, c-format +msgid "%s: Failed to retrieve NVIDIA product name for GPU %d" +msgstr "无法获取 NVIDIA 信息。" + +#: src/lib/nvidia.c:226 +#, fuzzy, c-format +msgid "%s: Failed to retrieve measure of type %x for NVIDIA GPU %d" +msgstr "无法获取 NVIDIA 信息。" + +#: src/lib/nvidia.c:293 +#, c-format +msgid "%s: Cannot open connection to X11 server." +msgstr "%s: 无法打开到 X11 服务器的连接。" -#: src/lib/nvidia.c:95 -msgid "Cannot open connection to X11 server." -msgstr "无法打开到 X11 服务器的连接。" +#: src/lib/nvidia.c:301 +#, c-format +msgid "%s: Failed to retrieve NVIDIA information." +msgstr "%s: 无法获取 NVIDIA 信息。" -#: src/lib/nvidia.c:103 -msgid "Failed to retrieve NVIDIA information." +#: src/lib/nvidia.c:370 +#, fuzzy, c-format +msgid "%s: Failed to retrieve number of fans." msgstr "无法获取 NVIDIA 信息。" -#: src/lib/psensor.c:477 tests/test_psensor_type_to_unit_str.c:62 +#: src/lib/psensor.c:453 tests/test_psensor_type_to_unit_str.c:62 msgid "RPM" msgstr "转速" -#: src/lib/psensor.c:479 +#: src/lib/psensor.c:455 msgid "%" msgstr "%" @@ -408,24 +524,24 @@ msgstr "%" msgid "HOME variable not set." msgstr "未设置 HOME 变量。" -#: src/lib/slog.c:97 +#: src/lib/slog.c:96 msgid "Sensor log file already open." msgstr "已经打开监测器日志文件。" -#: src/lib/slog.c:106 +#: src/lib/slog.c:105 #, c-format msgid "Cannot open sensor log file: %s." msgstr "无法打开监测器日志文件:%s。" -#: src/lib/slog.c:137 +#: src/lib/slog.c:136 msgid "Sensor log file not open." msgstr "监测器日志文件未打开。" -#: src/lib/slog.c:193 +#: src/lib/slog.c:192 msgid "Sensor log not open, cannot close." msgstr "监测器日志未打开,故无法关闭。" -#: src/main.c:78 src/server/server.c:85 +#: src/main.c:80 src/server/server.c:87 #, c-format msgid "" "Copyright (C) %s jeanfi@gmail.com\n" @@ -440,22 +556,22 @@ msgstr "" "本软件为自由软件:您可以自由修改并分发。\n" "There is NO WARRANTY, to the extent permitted by law。\n" -#: src/main.c:89 src/server/server.c:95 +#: src/main.c:91 src/server/server.c:97 #, c-format msgid "Usage: %s [OPTION]...\n" msgstr "用法:%s [选项]...\n" -#: src/main.c:91 +#: src/main.c:93 msgid "" "Psensor is a GTK+ application for monitoring hardware sensors, including " "temperatures and fan speeds." msgstr "Psensor 是一款 GTK+ 应用程序,可监测硬件传感器,包括温度与风扇转速。" -#: src/main.c:95 +#: src/main.c:97 msgid "Options:" msgstr "选项:" -#: src/main.c:96 +#: src/main.c:98 msgid "" " -h, --help display this help and exit\n" " -v, --version display version information and exit" @@ -463,7 +579,7 @@ msgstr "" " -h, --help 显示这个帮助并退出\n" " -v, --version 显示版本信息并退出" -#: src/main.c:102 +#: src/main.c:104 msgid "" " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131" @@ -471,54 +587,55 @@ msgstr "" " -u, --url=URL psensor 服务器 URL\n" " 例如:http://hostname:3131" -#: src/main.c:105 -msgid "" -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon" -msgstr "" -" --use-libatasmart 使用 atasmart 库来监测硬盘,而不是\n" -" hddtemp 进程" - -#: src/main.c:108 +#: src/main.c:107 msgid " -n, --new-instance force the creation of a new Psensor application" msgstr " -n, --new-instance 强制创建一个新的 Psensor 例程" -#: src/main.c:111 +#: src/main.c:110 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr " -d,--debug=LEVEL 设置调试等级,等级为 0 到 3 之间的整数" -#: src/main.c:116 src/server/server.c:118 +#: src/main.c:115 src/server/server.c:120 #, c-format msgid "Report bugs to: %s\n" msgstr "报告问题至:%s\n" -#: src/main.c:118 src/server/server.c:120 +#: src/main.c:117 src/server/server.c:122 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 主页:<%s>\n" -#: src/main.c:453 +#: src/main.c:473 msgid "Psensor has not been compiled with remote sensor support." msgstr "Psensor 不支持远程传感器。" -#: src/main.c:515 +#: src/main.c:551 msgid "Enables debug mode." msgstr "启用调试模式。" -#: src/main.c:527 src/server/server.c:381 +#: src/main.c:563 src/server/server.c:384 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "试用‘%s --help’来获得更多信息。\n" -#: src/main.c:540 +#: src/main.c:576 msgid "A Psensor instance already exists." msgstr "已存在一个 Psensor 例程。" -#: src/main.c:597 +#: src/main.c:631 #, fuzzy msgid "Failed to create thread for monitoring sensors" msgstr "无法创建网络服务器。" +#: src/main.c:654 src/ui.c:97 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Jean-Philippe Orsini https://launchpad.net/~jfi\n" +" Wang Dianjin https://launchpad.net/~tuhaihe\n" +" tmpplus https://launchpad.net/~tmpplus.7328-deactivatedaccount\n" +" 大宝 https://launchpad.net/~linux-dabao" + #: src/rsensor.c:107 #, c-format msgid "Fail to connect to: %s" @@ -534,21 +651,21 @@ msgstr "无效内容:%s" msgid "Invalid JSON: %s" msgstr "无效 JSON:%s" -#: src/server/server.c:55 +#: src/server/server.c:57 msgid "

Server stop requested

" msgstr "

服务器停止请求

" -#: src/server/server.c:61 +#: src/server/server.c:63 msgid "" "

Page not found - Go to Main page

" msgstr "

未找到页面 - 请访问主页

" -#: src/server/server.c:97 +#: src/server/server.c:99 msgid "" "psensor-server is an HTTP server for monitoring hardware sensors remotely." msgstr "psensor 服务器是用来远程监视硬件的 HTTP 服务器。" -#: src/server/server.c:102 +#: src/server/server.c:104 msgid "" " -h, --help\t\tdisplay this help and exit\n" " -v, --version\t\tdisplay version information and exit" @@ -556,7 +673,7 @@ msgstr "" " -h, --help\t\t 显示本帮助并退出\n" " -v, --version\t\t 显示版本信息并退出" -#: src/server/server.c:106 +#: src/server/server.c:108 msgid "" " -p,--port=PORT\twebserver port\n" " -w,--wdir=DIR\t\tdirectory containing webserver pages" @@ -564,106 +681,90 @@ msgstr "" " -p,--port=PORT\t 网络服务器端口\n" " -w,--wdir=DIR\t\t 包括网络服务器页面的目录" -#: src/server/server.c:110 +#: src/server/server.c:112 msgid " -d, --debug=LEVEL set the debug level, integer between 0 and 3" msgstr " -d, --debug=LEVEL 设置调试级别,0~3 之间的整数" -#: src/server/server.c:112 +#: src/server/server.c:114 msgid " -l, --log-file=PATH set the log file to PATH" msgstr " -l, --log-file=PATH 将日志文件设为 PATH" -#: src/server/server.c:113 +#: src/server/server.c:115 msgid " --sensor-log-file=PATH set the sensor log file to PATH" msgstr " --sensor-log-file=路径 设置监测器日志文件的路径" -#: src/server/server.c:114 +#: src/server/server.c:116 msgid " --sensor-log-interval=S set the sensor log interval to S (seconds)" msgstr "" -#: src/server/server.c:298 +#: src/server/server.c:301 #, c-format msgid "HTTP Request: %s" msgstr "HTTP 请求:%s" -#: src/server/server.c:361 +#: src/server/server.c:364 #, c-format msgid "Enables debug mode: %d" msgstr "启用调试模式:%d" -#: src/server/server.c:405 +#: src/server/server.c:408 msgid "No sensors detected." msgstr "未检测到传感器。" -#: src/server/server.c:412 +#: src/server/server.c:415 msgid "Failed to create Web server." msgstr "无法创建网络服务器。" -#: src/server/server.c:416 +#: src/server/server.c:419 #, c-format msgid "Web server started on port: %d" msgstr "网络服务器启动端口:%d" -#: src/server/server.c:417 +#: src/server/server.c:420 #, c-format msgid "WWW directory: %s" msgstr "WWW 目录:%s" -#: src/server/server.c:418 +#: src/server/server.c:421 #, c-format msgid "URL: http://localhost:%d" msgstr "URL: http://localhost:%d" -#: src/server/server.c:428 +#: src/server/server.c:431 msgid "Failed to activate logging of sensors." msgstr "无法激活监测器日志。" -#: src/ui.c:84 +#: src/ui.c:87 msgid "Psensor is a GTK+ application for monitoring hardware sensors" msgstr "Psensor 是一款 GTK+ 硬件监测传感应用程序" -#: src/ui.c:87 -msgid "" -"Copyright(c) 2010-2014\n" -"jeanfi@gmail.com" +#: src/ui.c:90 +#, fuzzy +msgid "Copyright(c) 2010-2014 jeanfi@gmail.com" msgstr "" "版权所有(c) 2010-2014\n" "jeanfi@gmail.com" -#: src/ui.c:90 +#: src/ui.c:96 msgid "About Psensor" msgstr "关于 Psensor" -#: src/ui.c:93 +#: src/ui.c:100 msgid "Psensor Homepage" msgstr "Psensor 主页" -#: src/ui.c:216 +#: src/ui.c:223 msgid "Failed to load Psensor icon." msgstr "无法加载 Psensor 图标。" -#: src/ui_sensorlist.c:253 -msgid "Select foreground color" -msgstr "选择前景色" - -#: src/ui_sensorlist.c:327 -msgid "Sensor" -msgstr "监视设备" - -#: src/ui_sensorlist.c:333 -msgid "Value" -msgstr "值" - -#: src/ui_sensorlist.c:339 -msgid "Min" -msgstr "最小值" - -#: src/ui_sensorlist.c:345 -msgid "Max" -msgstr "最大值" +#: src/ui_sensorlist.c:254 +msgid "Hide" +msgstr "" -#: src/ui_sensorlist.c:352 -msgid "Color" -msgstr "颜色" +#: src/ui_sensorlist.c:296 +#, fuzzy +msgid "Select sensor color" +msgstr "选择前景色" #: src/ui_notify.c:48 msgid "gettimeofday failed." @@ -674,9 +775,16 @@ msgid "Temperature alert" msgstr "温度报警" #: src/ui_notify.c:79 -msgid "Fan alert" +#, fuzzy +msgid "Fan speed alert" msgstr "风扇警报" #: src/ui_sensorpref.c:248 msgid "Unknown" msgstr "未知" + +#~ msgid "lmsensor: lmsensor_psensor_create failure: wrong feature type." +#~ msgstr "lmsensor:lmsensor_psensor_create 失败:错误的功能类型。" + +#~ msgid "Sensor Information" +#~ msgstr "传感器信息" diff --git a/src/Makefile.am b/src/Makefile.am index c3a496a..3ddb1e7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -24,7 +24,7 @@ LIBS = \ lib/libpsensor.a \ $(GTK_LIBS)\ $(PTHREAD_LIBS)\ - $(SENSORS_LIBS) + $(SENSORS_LIBS) -lm if GTK if X11 @@ -84,6 +84,10 @@ AM_CPPFLAGS += $(ATASMART_CFLAGS) LIBS += $(ATASMART_LIBS) endif +if LIBUDISKS2 +LIBS += $(LIBUDISKS2_LIBS) +endif + if UNITY psensor_SOURCES += ui_unity.h ui_unity.c AM_CPPFLAGS += $(UNITY_CFLAGS) @@ -98,13 +102,11 @@ AM_CPPFLAGS += $(CURL_CFLAGS) $(JSON_CFLAGS) endif endif -EXTRA_DIST = description.txt psensor.schemas - psensor.1: main.c $(top_srcdir)/configure.ac $(MAKE) $(AM_MAKEFLAGS) psensor$(EXEEXT) help2man --include=description.txt -N --name="Temperature monitoring application" --output=psensor.1 ./psensor$(EXEEXT) gsettings_SCHEMAS=psensor.gschema.xml -EXTRA_DIST=$(gsettings_SCHEMAS) +EXTRA_DIST = description.txt $(gsettings_SCHEMAS) @GSETTINGS_RULES@ diff --git a/src/Makefile.in b/src/Makefile.in index 0693ecb..40b3dcd 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -67,17 +94,22 @@ host_triplet = @host@ @LIBATIADL_TRUE@am__append_13 = $(LIBATIADL_LIBS) @ATASMART_TRUE@am__append_14 = $(ATASMART_CFLAGS) @ATASMART_TRUE@am__append_15 = $(ATASMART_LIBS) -@UNITY_TRUE@am__append_16 = ui_unity.h ui_unity.c -@UNITY_TRUE@am__append_17 = $(UNITY_CFLAGS) -@UNITY_TRUE@am__append_18 = $(UNITY_LIBS) -@CURL_TRUE@@JSON_TRUE@am__append_19 = rsensor.h rsensor.c -@CURL_TRUE@@JSON_TRUE@am__append_20 = $(CURL_LIBS) $(JSON_LIBS) -@CURL_TRUE@@JSON_TRUE@am__append_21 = $(CURL_CFLAGS) $(JSON_CFLAGS) +@LIBUDISKS2_TRUE@am__append_16 = $(LIBUDISKS2_LIBS) +@UNITY_TRUE@am__append_17 = ui_unity.h ui_unity.c +@UNITY_TRUE@am__append_18 = $(UNITY_CFLAGS) +@UNITY_TRUE@am__append_19 = $(UNITY_LIBS) +@CURL_TRUE@@JSON_TRUE@am__append_20 = rsensor.h rsensor.c +@CURL_TRUE@@JSON_TRUE@am__append_21 = $(CURL_LIBS) $(JSON_LIBS) +@CURL_TRUE@@JSON_TRUE@am__append_22 = $(CURL_CFLAGS) $(JSON_CFLAGS) subdir = src -DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp $(dist_man_MANS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -105,23 +137,44 @@ am_psensor_OBJECTS = cfg.$(OBJEXT) notify_cmd.$(OBJEXT) \ $(am__objects_4) psensor_OBJECTS = $(am_psensor_OBJECTS) psensor_LDADD = $(LDADD) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(psensor_SOURCES) DIST_SOURCES = $(am__psensor_SOURCES_DIST) -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -159,9 +212,29 @@ NROFF = nroff MANS = $(dist_man_MANS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ - $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = lib glade server @@ -193,6 +266,7 @@ am__relativize = \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -218,7 +292,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -250,9 +323,11 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = lib/libpsensor.a $(GTK_LIBS) $(PTHREAD_LIBS) $(SENSORS_LIBS) \ - $(am__append_3) $(am__append_5) $(am__append_8) \ + -lm $(am__append_3) $(am__append_5) $(am__append_8) \ $(am__append_11) $(am__append_13) $(am__append_15) \ - $(am__append_18) $(am__append_20) + $(am__append_16) $(am__append_19) $(am__append_21) +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -278,7 +353,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -293,7 +367,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -357,18 +430,18 @@ AM_CPPFLAGS = -Wall -Werror -DDEFAULT_WWW_DIR=\""$(pkgdatadir)/www"\" \ -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/unity \ $(GTK_CFLAGS) $(SENSORS_CFLAGS) $(am__append_2) \ $(am__append_6) $(am__append_9) $(am__append_10) \ - $(am__append_12) $(am__append_14) $(am__append_17) \ - $(am__append_21) + $(am__append_12) $(am__append_14) $(am__append_18) \ + $(am__append_22) @GTK_TRUE@@X11_TRUE@@XEXT_TRUE@dist_man_MANS = psensor.1 psensor_SOURCES = cfg.h cfg.c notify_cmd.c notify_cmd.h graph.h \ graph.c main.c ui.h ui.c ui_appindicator.h ui_color.h \ ui_color.c ui_graph.h ui_graph.c ui_pref.h ui_pref.c \ ui_sensorlist.h ui_sensorlist.c ui_sensorpref.h \ ui_sensorpref.c ui_status.h ui_status.c pxdg.h pxdg.c \ - $(am__append_4) $(am__append_7) $(am__append_16) \ - $(am__append_19) -EXTRA_DIST = $(gsettings_SCHEMAS) + $(am__append_4) $(am__append_7) $(am__append_17) \ + $(am__append_20) gsettings_SCHEMAS = psensor.gschema.xml +EXTRA_DIST = description.txt $(gsettings_SCHEMAS) all: all-recursive .SUFFIXES: @@ -412,10 +485,11 @@ install-binPROGRAMS: $(bin_PROGRAMS) fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p; \ - then echo "$$p"; echo "$$p"; else :; fi; \ + while read p p1; do if test -f $$p \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ @@ -436,16 +510,18 @@ uninstall-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ + -e 's/$$/$(EXEEXT)/' \ + `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + psensor$(EXEEXT): $(psensor_OBJECTS) $(psensor_DEPENDENCIES) $(EXTRA_psensor_DEPENDENCIES) @rm -f psensor$(EXEEXT) - $(LINK) $(psensor_OBJECTS) $(psensor_LDADD) $(LIBS) + $(AM_V_CCLD)$(LINK) $(psensor_OBJECTS) $(psensor_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -471,18 +547,18 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ui_unity.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ @@ -528,22 +604,25 @@ uninstall-man1: dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -558,57 +637,12 @@ $(RECURSIVE_TARGETS): $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ @@ -624,12 +658,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -641,15 +670,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -658,24 +683,26 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @list='$(MANS)'; if test -n "$$list"; then \ - list=`for p in $$list; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ - if test -n "$$list" && \ - grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ - grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ - echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically \`make maintainer-clean' will remove them" >&2; \ - exit 1; \ - else :; fi; \ - else :; fi @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -839,24 +866,22 @@ uninstall-am: uninstall-binPROGRAMS uninstall-man uninstall-man: uninstall-man1 -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-binPROGRAMS \ - clean-generic ctags ctags-recursive distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-binPROGRAMS uninstall-man \ - uninstall-man1 +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-binPROGRAMS clean-generic cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-man1 install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-man uninstall-man1 psensor.1: main.c $(top_srcdir)/configure.ac diff --git a/src/cfg.c b/src/cfg.c index 8f22975..0f22ccb 100644 --- a/src/cfg.c +++ b/src/cfg.c @@ -29,9 +29,8 @@ #include #define _(str) gettext(str) -#include - #include +#include #include #include @@ -55,17 +54,14 @@ static const char *KEY_SENSOR_UPDATE_INTERVAL /* Graph settings */ static const char *KEY_GRAPH_UPDATE_INTERVAL = "graph-update-interval"; - static const char *KEY_GRAPH_MONITORING_DURATION = "graph-monitoring-duration"; - static const char *KEY_GRAPH_BACKGROUND_COLOR = "graph-background-color"; - static const char *DEFAULT_GRAPH_BACKGROUND_COLOR = "#e8f4e8f4a8f5"; - static const char *KEY_GRAPH_BACKGROUND_ALPHA = "graph-background-alpha"; - static const char *KEY_GRAPH_FOREGROUND_COLOR = "graph-foreground-color"; +static const char *KEY_GRAPH_SMOOTH_CURVES_ENABLED += "graph-smooth-curves-enabled"; static const char *DEFAULT_GRAPH_FOREGROUND_COLOR = "#000000000000"; @@ -111,6 +107,19 @@ static const char *KEY_SLOG_INTERVAL = "slog-interval"; /* Path to the script called when a notification is raised */ static const char *KEY_NOTIFICATION_SCRIPT = "notif-script"; +/* Provider settings */ +static const char *KEY_PROVIDER_LMSENSORS_ENABLED += "provider-lmsensors-enabled"; +static const char *KEY_PROVIDER_ATIADLSDK_ENABLED += "provider-atiadlsdk-enabled"; +static const char *KEY_PROVIDER_GTOP2_ENABLED = "provider-gtop2-enabled"; +static const char *KEY_PROVIDER_HDDTEMP_ENABLED = "provider-hddtemp-enabled"; +static const char *KEY_PROVIDER_LIBATASMART_ENABLED += "provider-libatasmart-enabled"; +static const char *KEY_PROVIDER_NVCTRL_ENABLED = "provider-nvctrl-enabled"; +static const char *KEY_PROVIDER_UDISKS2_ENABLED = "provider-udisks2-enabled"; + + static GSettings *settings; static char *user_dir; @@ -335,6 +344,17 @@ static void set_window_keep_below_enabled(bool enabled) set_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED, enabled); } +bool config_is_smooth_curves_enabled() +{ + return get_bool(KEY_GRAPH_SMOOTH_CURVES_ENABLED); +} + +void config_set_smooth_curves_enabled(bool b) +{ + set_bool(KEY_GRAPH_SMOOTH_CURVES_ENABLED, b); +} + + static void init() { log_fct_enter(); @@ -405,12 +425,6 @@ struct config *config_load() if (c->graph_monitoring_duration < 1) c->graph_monitoring_duration = 10; - c->sensor_values_max_length - = (c->graph_monitoring_duration * 60) / c->sensor_update_interval; - - if (c->sensor_values_max_length < 3) - c->sensor_values_max_length = 3; - c->menu_bar_disabled = get_bool(KEY_INTERFACE_MENU_BAR_DISABLED); c->unity_launcher_count_disabled @@ -435,6 +449,8 @@ struct config *config_load() c->temperature_unit = get_int(KEY_INTERFACE_TEMPERATURE_UNIT); + c->sensor_values_max_length = compute_values_max_length(c); + return c; } @@ -537,15 +553,10 @@ static GKeyFile *get_sensor_key_file() | G_KEY_FILE_KEEP_TRANSLATIONS, &err); - if (!ret) { - if (err->code == G_KEY_FILE_ERROR_NOT_FOUND) - log_fct(_("The configuration file " - "does not exist.")); - else - log_err(_("Failed to parse configuration " - "file: %s"), - path); - } + if (!ret) + log_warn(_("Failed to load configuration file %s: %s"), + path, + err->message); } return key_file; @@ -757,3 +768,78 @@ void config_set_appindicator_label_enabled(const char *sid, bool enabled) { sensor_set_bool(sid, ATT_SENSOR_APPINDICATOR_LABEL_ENABLED, enabled); } + +GSettings *config_get_GSettings() +{ + return settings; +} + +bool config_is_lmsensor_enabled() +{ + return get_bool(KEY_PROVIDER_LMSENSORS_ENABLED); +} + +bool config_is_gtop2_enabled() +{ + return get_bool(KEY_PROVIDER_GTOP2_ENABLED); +} + +bool config_is_udisks2_enabled() +{ + return get_bool(KEY_PROVIDER_UDISKS2_ENABLED); +} + +bool config_is_hddtemp_enabled() +{ + return get_bool(KEY_PROVIDER_HDDTEMP_ENABLED); +} + +bool config_is_libatasmart_enabled() +{ + return get_bool(KEY_PROVIDER_LIBATASMART_ENABLED); +} + +bool config_is_nvctrl_enabled() +{ + return get_bool(KEY_PROVIDER_NVCTRL_ENABLED); +} + +bool config_is_atiadlsdk_enabled() +{ + return get_bool(KEY_PROVIDER_ATIADLSDK_ENABLED); +} + +void config_set_lmsensor_enable(bool b) +{ + set_bool(KEY_PROVIDER_LMSENSORS_ENABLED, b); +} + +void config_set_nvctrl_enable(bool b) +{ + set_bool(KEY_PROVIDER_NVCTRL_ENABLED, b); +} + +void config_set_atiadlsdk_enable(bool b) +{ + set_bool(KEY_PROVIDER_ATIADLSDK_ENABLED, b); +} + +void config_set_gtop2_enable(bool b) +{ + set_bool(KEY_PROVIDER_GTOP2_ENABLED, b); +} + +void config_set_hddtemp_enable(bool b) +{ + set_bool(KEY_PROVIDER_HDDTEMP_ENABLED, b); +} + +void config_set_libatasmart_enable(bool b) +{ + set_bool(KEY_PROVIDER_LIBATASMART_ENABLED, b); +} + +void config_set_udisks2_enable(bool b) +{ + set_bool(KEY_PROVIDER_UDISKS2_ENABLED, b); +} diff --git a/src/cfg.h b/src/cfg.h index aac38de..ed2e20e 100644 --- a/src/cfg.h +++ b/src/cfg.h @@ -19,6 +19,8 @@ #ifndef _PSENSOR_CONFIG_H_ #define _PSENSOR_CONFIG_H_ +#include + #include #include @@ -111,6 +113,9 @@ void config_set_slog_enabled_changed_cbk(void (*)(void *), void *); int config_get_slog_interval(); +bool config_is_smooth_curves_enabled(); +void config_set_smooth_curves_enabled(bool); + int config_get_sensor_position(const char *); void config_set_sensor_position(const char *, int); @@ -120,6 +125,27 @@ void config_set_notif_script(const char *); bool config_is_sensor_enabled(const char *sid); void config_set_sensor_enabled(const char *sid, bool enabled); +bool config_is_lmsensor_enabled(); +void config_set_lmsensor_enable(bool); + +bool config_is_gtop2_enabled(); +void config_set_gtop2_enable(bool); + +bool config_is_udisks2_enabled(); +void config_set_udisks2_enable(bool); + +bool config_is_hddtemp_enabled(); +void config_set_hddtemp_enable(bool); + +bool config_is_libatasmart_enabled(); +void config_set_libatasmart_enable(bool); + +bool config_is_nvctrl_enabled(); +void config_set_nvctrl_enable(bool); + +bool config_is_atiadlsdk_enabled(); +void config_set_atiadlsdk_enable(bool); + /* * Returns the user directory containing psensor data (configuration * and log). @@ -131,4 +157,6 @@ const char *get_psensor_user_dir(); void config_sync(); +GSettings *config_get_GSettings(); + #endif diff --git a/src/description.txt b/src/description.txt new file mode 100644 index 0000000..3dfdd56 --- /dev/null +++ b/src/description.txt @@ -0,0 +1,45 @@ +[description] + +/psensor is a/ + +It displays a curve for each sensor, and uses Desktop Notification to +raise an alarm when a temperature is too high. On Ubuntu an +Application Indicator is also available, its icon changes when a +temperature alert is raised. + +It can monitor: + * the temperature of the motherboard and CPU sensors (using lm\-sensors). + * the temperature of the NVidia GPUs (using XNVCtrl). + * the temperature and fan rotation speed of the ATI GPUs. + * the temperature of the Hard Disk Drives (using hddtemp or atasmart + library). + * the rotation speed of the fans (using lm\-sensors). + * the sensors of a remote computer (using psensor\-server). + +Psensor requires lm\-sensors to be correctly installed and configured, +it can be checked by running the command 'sensors'. If it has never be +done, you may need to run the command 'sensors\-detect' and follow the +instruction. See the manpages of sensors(1) and sensors\-detect(8) for +more information. + +To retrieve the temperature of the Hard Disk Drives, the hddtemp +daemon must be running or atasmart used ('\-\-use\-libatasmart'). + +For remote monitoring: + * start psensor\-server(1) on the remote computer + * run psensor with '\-\-url' option: 'psensor \-\-url=http://localhost:3131' + +ATI/AMD GPUs monitoring is available if the library libatiadlxx is +present in the directory /usr/lib and psensor has been compiled with +the ATI ADL SDK. + +Log messages are written to '$HOME/.psensor/log'. + +By default, if a Psensor process is already running, the command +psensor will show the graph window then exit. +It is possible to run multiple instances of Psensor by using the +option '\-\-new\-instance'. + +[SEE ALSO] + +psensor\-server(1), sensors(1), sensors\-detect(8), hddtemp(8) diff --git a/src/glade/Makefile.in b/src/glade/Makefile.in index bfc5c71..a6076fd 100644 --- a/src/glade/Makefile.in +++ b/src/glade/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/glade -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(gladedir)" DATA = $(glade_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -312,11 +356,11 @@ uninstall-gladeDATA: @list='$(glade_DATA)'; test -n "$(gladedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(gladedir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -454,16 +498,17 @@ uninstall-am: uninstall-gladeDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-gladeDATA \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ - uninstall-am uninstall-gladeDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-gladeDATA install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags-am uninstall uninstall-am \ + uninstall-gladeDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/src/glade/psensor-pref.glade b/src/glade/psensor-pref.glade index d6da46b..54b1ee1 100644 --- a/src/glade/psensor-pref.glade +++ b/src/glade/psensor-pref.glade @@ -65,6 +65,7 @@ True False + vertical 2 @@ -115,6 +116,10 @@ True False + 4 + 4 + 4 + 4 True @@ -284,6 +289,10 @@ True False + 4 + 4 + 4 + 4 Interface @@ -294,6 +303,10 @@ True False + 4 + 4 + 4 + 4 Launch on session startup @@ -364,6 +377,10 @@ True False + 4 + 4 + 4 + 4 Startup @@ -376,6 +393,10 @@ True False start + 4 + 4 + 4 + 4 True @@ -387,11 +408,10 @@ 4 4 4 - #000000000000 1 - 1 + 3 1 1 @@ -401,12 +421,15 @@ True False 14 + 4 + 4 + 4 0 Foreground: 0 - 1 + 3 1 1 @@ -416,12 +439,15 @@ True False 14 + 4 + 4 + 4 0 Background: 0 - 2 + 4 1 1 @@ -436,11 +462,10 @@ 4 4 4 - #000000000000 1 - 2 + 4 1 1 @@ -450,235 +475,302 @@ True False 14 + 4 + 4 + 4 0 Background opacity: 0 - 3 + 5 1 1 - + True False 4 4 - 4 + 8 4 - 8 - - - True - False - 0 - <i>Min</i> - True - - - False - True - 0 - - - - - True - True - opacity - False - - - True - True - 1 - - - - - True - False - 0 - <i>Max</i> - True - - - False - True - 2 - - + 0 + Colors + + + - 1 - 3 + 0 + 2 2 1 - + True False - 4 + 14 4 4 4 0 - Colors - - - + Monitoring duration: 0 - 0 - 2 + 7 + 1 1 - + True False 14 + 4 + 4 + 4 0 - Monitoring duration: + Update interval: 0 - 5 + 8 1 1 - + True - True + False 4 4 - 4 + 8 4 - • - False - False - mins + 0 + Measures + + + - 1 - 5 - 1 + 0 + 6 + 2 1 - + True False 4 4 4 4 - minute(s) + True + 4 + + + True + False + 0 + <i>Min</i> + True + + + False + True + 0 + + + + + True + True + opacity + False + + + True + True + 1 + + + + + True + False + 0 + <i>Max</i> + True + + + False + True + 2 + + - 2 + 1 5 1 1 - + True False - 4 - 4 - 4 - 4 - second(s) + + + True + True + start + 4 + 4 + 4 + 4 + • + 4 + 1 + False + False + alpha + secs + + + False + True + 0 + + + + + True + False + start + 4 + 4 + 4 + 4 + second(s) + + + False + True + 1 + + - 2 - 6 + 1 + 8 1 1 - + True - True - 4 - 4 - 4 - 4 - • - False - False - secs + False + + + True + True + start + 4 + 4 + 4 + 4 + • + 4 + 1 + False + False + digits + mins + + + False + True + 0 + + + + + True + False + start + 4 + 4 + 4 + 4 + minute(s) + + + False + True + 1 + + 1 - 6 + 7 1 1 - + + Smooth curves True - False + True + False 14 + 4 + 4 + 4 0 - Update interval: + True 0 - 6 - 1 + 1 + 2 1 - + True False 4 4 - 8 + 4 4 0 - Measures + Curves + start 0 - 4 - 1 + 0 + 2 1 - - - - - - - - - - - - - - - 2 @@ -688,6 +780,10 @@ True False + 4 + 4 + 4 + 4 Graph @@ -700,7 +796,10 @@ True False start - 8 + 4 + 4 + 4 + 4 True @@ -709,7 +808,7 @@ start 4 4 - 8 + 4 4 0 Measure update interval: @@ -854,6 +953,10 @@ True True + 4 + 4 + 4 + 4 • True @@ -874,6 +977,10 @@ True False + 4 + 4 + 4 + 4 Sensors @@ -882,6 +989,285 @@ + + True + False + start + 4 + 4 + 4 + 4 + + + Enable support of lm-sensors + True + True + False + 14 + 4 + 4 + 4 + 0 + True + + + 0 + 1 + 1 + 1 + + + + + Enable support of NVCtrl (NVidia) + True + True + False + 14 + 4 + 4 + 4 + 0 + True + + + 0 + 3 + 1 + 1 + + + + + Enable support of ATI ADL + True + True + False + 14 + 4 + 4 + 4 + 0 + True + + + 0 + 4 + 1 + 1 + + + + + Enable support of gtop2 + True + True + False + 14 + 4 + 4 + 4 + 0 + True + + + 0 + 6 + 1 + 1 + + + + + Enable support of hddtemp daemon + True + True + False + 14 + 4 + 4 + 4 + 0 + True + + + 0 + 8 + 1 + 1 + + + + + Enable support of libatasmart + True + True + False + 14 + 4 + 4 + 4 + 0 + True + + + 0 + 9 + 1 + 1 + + + + + Enable support of udisks2 + True + True + False + 14 + 4 + 4 + 4 + 0 + True + + + 0 + 10 + 1 + 1 + + + + + True + False + center + 4 + 4 + 4 + 4 + The changes are applied after the restart of psensor. + + + + + + 0 + 11 + 1 + 1 + + + + + True + False + 4 + 4 + 8 + 4 + 0 + 4 + Hard disk drive + 0.01 + + + + + + 0 + 7 + 1 + 1 + + + + + True + False + 4 + 4 + 8 + 4 + 0 + 4 + CPU and memory usage + 0.01 + + + + + + 0 + 5 + 1 + 1 + + + + + True + False + 4 + 4 + 8 + 4 + 0 + 4 + GPU with proprietary driver + 0.01 + + + + + + 0 + 2 + 1 + 1 + + + + + True + False + 4 + 4 + 8 + 4 + 0 + 4 + Motherboard, CPU and GPU + 0.01 + + + + + + 0 + 0 + 1 + 1 + + + + + 4 + False + + + + + True + False + Providers + + + 4 + False + + + diff --git a/src/glade/psensor.glade b/src/glade/psensor.glade index d70f9e9..565d2dd 100644 --- a/src/glade/psensor.glade +++ b/src/glade/psensor.glade @@ -297,7 +297,7 @@ True True - True + start True sensors_store 0 @@ -307,6 +307,74 @@ none + + + Sensor + + + + 0 + + + + + + + Value + + + + 1 + + + + + + + Min + + + + 2 + + + + + + + Max + + + + 3 + + + + + + + Color + + + + 5 + + + + + + + Graph + + + + + + 6 + + + + diff --git a/src/glade/sensor-edit.glade b/src/glade/sensor-edit.glade index a949f0a..167c9eb 100644 --- a/src/glade/sensor-edit.glade +++ b/src/glade/sensor-edit.glade @@ -23,6 +23,7 @@ + 300 False 5 Edit Sensor Preferences @@ -81,24 +82,37 @@ True True - + True True - sensors_liststore - False - True - 1 - - - + never + in - - Name + + True + True + 4 + 4 + 4 + 4 + sensors_liststore + False + True + 1 + + + - - - 0 - + + Name + True + + + + 0 + + + @@ -109,455 +123,573 @@ - + True - False - 4 - 4 - - - True - True - • - False - False - - - - 1 - 1 - 1 - 1 - - - - - True - False - 0 - 0.49000000953674316 - 4 - Type: - fill - - - 0 - 2 - 1 - 1 - - - - - True - False - 0 - N/A - - - 1 - 2 - 1 - 1 - - - - - True - False - 0 - 4 - Sensor Information - - - - - - 0 - 0 - 2 - 1 - - - - - True - False - 0 - 4 - Chip: - - - 0 - 3 - 1 - 1 - - - - - True - False - 0 - N/A - - - 1 - 3 - 1 - 1 - - - - - True - False - 0 - 4 - Name: - - - 0 - 1 - 1 - 1 - - - - - True - False - 0 - 4 - Id: - - - 0 - 4 - 1 - 1 - - + True + 4 + 4 + 4 + 4 - + True False + 4 + 4 4 4 - True - 0 - N/A + 4 + 4 + + + True + True + 4 + 4 + 4 + 4 + • + False + False + + + + 1 + 0 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + 0.49000000953674316 + 4 + Type: + fill + + + 0 + 1 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + N/A + + + 1 + 1 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + 4 + Chip: + + + 0 + 2 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + N/A + + + 1 + 2 + 1 + 1 + + + + + True + False + 0 + 4 + Name: + + + 0 + 0 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + 4 + Id: + + + 0 + 3 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + N/A + end + + + 1 + 3 + 1 + 1 + + - - 1 - 4 - 1 - 1 - - - + + True False - 0 - 4 - Graph - - - - - - 0 - 5 - 2 - 1 - - - - - Draw sensor curve - True - True - False 4 - 0 - True - - - - 0 - 6 - 2 - 1 - - - - - True - False - 0 - 4 - Color: - - - 0 - 7 - 1 - 1 - - - - - True - True - True - start - 0 - + 4 + 4 + 4 + Details - 1 - 7 - 1 - 1 + False - + True False - 0 - 4 - Alarm - - - - - - 0 - 9 - 2 - 1 - - - - - Activate desktop notifications - True - True - False 4 - 0 - True - - - - 0 - 10 - 2 - 1 - - - - - True - False - 0.0099999997764825821 - 4 - High threshold: - - - 0 - 11 - 1 - 1 - - - - - True - False - 0.0099999997764825821 - 4 - Low threshold: + 4 + 4 + 4 + 4 + 4 + + + Draw sensor curve + True + True + False + 4 + 4 + 4 + 4 + 0 + True + + + + 0 + 0 + 2 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0 + 4 + Color: + + + 0 + 1 + 1 + 1 + + + + + True + True + True + start + 4 + 4 + 4 + 4 + 0 + + + + 1 + 1 + 1 + 1 + + + + + Display sensor in the list of sensors + True + True + False + 4 + 4 + 4 + 4 + 0 + True + + + + 0 + 2 + 2 + 1 + + - 0 - 12 - 1 - 1 + 1 - - + + True False - 0 - 4 - Application Indicator - - - - - - 0 - 13 - 2 - 1 - - - - - Display sensor in the menu - True - True - False 4 - 0 - True - + 4 + 4 + 4 + Graph - 0 - 14 - 2 - 1 + 1 + False - - Display sensor in the label (experimental) + True False - False 4 - 0 - True - - - - 0 - 15 - 2 - 1 - - - - - True - False + 4 + 4 + 4 + 4 + 4 - + + Activate desktop notifications True True - • - False - False - alarm_high_threshold_value - 1 - True - True - if-valid - + False + 4 + 4 + 4 + 4 + 0 + True + - False - True - 0 + 0 + 0 + 2 + 1 - + True False - center - 0 - N/A + 4 + 4 + 4 + 4 + 0.0099999997764825821 + 4 + High threshold: - True - True - 1 + 0 + 1 + 1 + 1 + + + + + True + False + + + True + True + 4 + 4 + 4 + 4 + • + 0 + False + False + alarm_high_threshold_value + 1 + True + True + if-valid + + + + False + True + 0 + + + + + True + False + center + 4 + 4 + 4 + 0 + N/A + + + False + True + 1 + + + + + 1 + 1 + 1 + 1 + + + + + True + False + + + True + True + 4 + 4 + 4 + 4 + • + -1 + False + False + alarm_low_threshold_value + 1 + True + True + if-valid + -1 + + + + False + True + 0 + + + + + True + False + center + 4 + 4 + 4 + 0 + N/A + + + False + True + 1 + + + + + 1 + 2 + 1 + 1 + + + + + True + False + 4 + 4 + 4 + 4 + 0.0099999997764825821 + 4 + Low threshold: + + + 0 + 2 + 1 + 1 - 1 - 11 - 1 - 1 + 2 + + + + + True + False + 4 + 4 + 4 + 4 + Alarm + + + 2 + False - + True False + 4 + 4 + 4 + 4 + 4 + 4 - + + Display sensor in the menu True True - • - -1 - False - False - alarm_low_threshold_value - 1 - True - True - if-valid - -1 - + False + 4 + 4 + 4 + 4 + 0 + True + - False - True - 0 + 0 + 0 + 1 + 1 - + + Display sensor in the label (experimental) True - False - center + True + False + 4 + 4 + 4 + 4 0 - N/A + True + - True - True - 1 + 0 + 1 + 1 + 1 - 1 - 12 - 1 - 1 + 3 - - - Display sensor in the list of sensors + + True - True - False + False 4 - 0 - True - + 4 + 4 + 4 + Application Indicator - 0 - 8 - 2 - 1 + 3 + False True - False + True diff --git a/src/graph.c b/src/graph.c index ab507c0..792bb25 100644 --- a/src/graph.c +++ b/src/graph.c @@ -24,40 +24,98 @@ #include #include -#include "cfg.h" +#include + +#include #include -#include "psensor.h" +#include /* horizontal padding */ -#define GRAPH_H_PADDING 4 +const int GRAPH_H_PADDING = 4; /* vertical padding */ -#define GRAPH_V_PADDING 4 +const int GRAPH_V_PADDING = 4; + +bool is_smooth_curves_enabled; + +struct graph_info { + /* Horizontal position of the central area (curves) */ + int g_xoff; + /* Vertical position of the central area (curves) */ + int g_yoff; + + /* Width of the central area (curves) */ + int g_width; + /* Height of the central area (curves) */ + int g_height; + + /* Height of the drawing canvas */ + int height; + /* Width of the drawing canvas */ + int width; + + /* Background color of the current desktop theme */ + GdkRGBA theme_bg_color; + /* Foreground color of the current desktop theme */ + GdkRGBA theme_fg_color; +}; -static time_t get_graph_end_time_s() +/* Return the end time of the graph i.e. the more recent measure. If + * no measure are available, return 0. + * If Bezier curves are used return the measure n-3 to avoid to + * display a part of the curve outside the graph area. + */ +static time_t get_graph_end_time_s(struct psensor **sensors) { - struct timeval tv; + time_t ret, t; + struct psensor *s; + struct measure *measures; + int i, n; + + ret = 0; + while (*sensors) { + s = *sensors; + measures = s->measures; + + if (is_smooth_curves_enabled) + n = 2; + else + n = 0; + + for (i = s->values_max_length - 1; i >= 0; i--) { + if (measures[i].value != UNKNOWN_DBL_VALUE) { + if (!n) { + t = measures[i].time.tv_sec; + + if (t > ret) { + ret = t; + break; + } + } else { + n--; + } + } + i--; + } - if (gettimeofday(&tv, NULL) == 0) - return tv.tv_sec; - else - return 0; + sensors++; + } + + return ret; } -static time_t get_graph_begin_time_s(struct config *cfg) +static time_t get_graph_begin_time_s(struct config *cfg, time_t etime) { - int ct; - - ct = get_graph_end_time_s(); - - if (!ct) + if (!etime) return 0; - return ct - cfg->graph_monitoring_duration * 60; + return etime - cfg->graph_monitoring_duration * 60; } -static int compute_y(double value, double min, double max, int height, int off) +static double +compute_y(double value, double min, double max, int height, int off) { double t = value - min; + return height - ((double)height * (t / (max - min))) + off; } @@ -76,39 +134,57 @@ static char *time_to_str(time_t s) return str; } +static void draw_left_region(cairo_t *cr, struct graph_info *info) +{ + cairo_set_source_rgb(cr, + info->theme_bg_color.red, + info->theme_bg_color.green, + info->theme_bg_color.blue); + + cairo_rectangle(cr, 0, 0, info->g_xoff, info->height); + cairo_fill(cr); +} + +static void draw_right_region(cairo_t *cr, struct graph_info *info) +{ + cairo_set_source_rgb(cr, + info->theme_bg_color.red, + info->theme_bg_color.green, + info->theme_bg_color.blue); + + + cairo_rectangle(cr, + info->g_xoff + info->g_width, + 0, + info->g_xoff + info->g_width + GRAPH_H_PADDING, + info->height); + cairo_fill(cr); +} + static void draw_graph_background(cairo_t *cr, - int g_xoff, int g_yoff, - int g_width, int g_height, - int width, int height, struct config *config, - GtkWidget *widget, - GtkWidget *window) + struct config *config, + struct graph_info *info) { - GtkStyleContext *style_ctx; struct color *bgcolor; - GdkRGBA rgba; bgcolor = config->graph_bgcolor; - style_ctx = gtk_widget_get_style_context(window); - gtk_style_context_get_background_color(style_ctx, - GTK_STATE_FLAG_NORMAL, - &rgba); - if (config->alpha_channel_enabled) cairo_set_source_rgba(cr, - rgba.red, - rgba.green, - rgba.blue, + info->theme_bg_color.red, + info->theme_bg_color.green, + info->theme_bg_color.blue, config->graph_bg_alpha); else cairo_set_source_rgb(cr, - rgba.red, - rgba.green, - rgba.blue); + info->theme_bg_color.red, + info->theme_bg_color.green, + info->theme_bg_color.blue); - cairo_rectangle(cr, 0, 0, width, height); + cairo_rectangle(cr, info->g_xoff, 0, info->g_width, info->height); cairo_fill(cr); + if (config->alpha_channel_enabled) cairo_set_source_rgba(cr, bgcolor->red, @@ -121,7 +197,11 @@ draw_graph_background(cairo_t *cr, bgcolor->green, bgcolor->blue); - cairo_rectangle(cr, g_xoff, g_yoff, g_width, g_height); + cairo_rectangle(cr, + info->g_xoff, + info->g_yoff, + info->g_width, + info->g_height); cairo_fill(cr); } @@ -133,55 +213,168 @@ static double dashes[] = { static int ndash = sizeof(dashes) / sizeof(dashes[0]); static void draw_background_lines(cairo_t *cr, - struct color *color, - int g_width, int g_height, - int g_xoff, int g_yoff, - int min, int max) + int min, int max, + struct config *config, + struct graph_info *info) { int i; + double x, y; + struct color *color; + + color = config->graph_fgcolor; /* draw background lines */ cairo_set_line_width(cr, 1); cairo_set_dash(cr, dashes, ndash, 0); - cairo_set_source_rgb(cr, - color->red, color->green, color->blue); + cairo_set_source_rgb(cr, color->red, color->green, color->blue); /* vertical lines representing time steps */ for (i = 0; i <= 5; i++) { - int x = i * (g_width / 5) + g_xoff; - cairo_move_to(cr, x, g_yoff); - cairo_line_to(cr, x, g_yoff + g_height); - cairo_stroke(cr); + x = i * ((double)info->g_width / 5) + info->g_xoff; + cairo_move_to(cr, x, info->g_yoff); + cairo_line_to(cr, x, info->g_yoff + info->g_height); } /* horizontal lines draws a line for each 10C step */ for (i = min; i < max; i++) { if (i % 10 == 0) { - int y = compute_y(i, min, max, g_height, g_yoff); - - cairo_move_to(cr, g_xoff, y); - cairo_line_to(cr, g_xoff + g_width, y); - cairo_stroke(cr); + y = compute_y(i, + min, + max, + info->g_height, + info->g_yoff); + + cairo_move_to(cr, info->g_xoff, y); + cairo_line_to(cr, info->g_xoff + info->g_width, y); } } + cairo_stroke(cr); + /* back to normal line style */ cairo_set_dash(cr, 0, 0, 0); } +/* Keys: sensor identifier. + * + * Values: array of time_t. Each time_t is corresponding to a sensor + * measure which has been used as the start point of a Bezier curve. + */ +static GHashTable *times; + +static void draw_sensor_smooth_curve(struct psensor *s, + cairo_t *cr, + double min, + double max, + int bt, + int et, + struct graph_info *info) +{ + int i, dt, vdt, j, k, found; + double x[4], y[4], v; + time_t t, t0, *stimes; + + if (!times) + times = g_hash_table_new_full(g_str_hash, + g_str_equal, + free, + free); + + stimes = g_hash_table_lookup(times, s->id); + + cairo_set_source_rgb(cr, + s->color->red, + s->color->green, + s->color->blue); + + /* search the index of the first measure used as a start point + * of a Bezier curve. The start and end points of the Bezier + * curves must be preserved to ensure the same overall shape + * of the graph. */ + i = 0; + if (stimes) { + while (i < s->values_max_length) { + t = s->measures[i].time.tv_sec; + v = s->measures[i].value; + + found = 0; + if (v != UNKNOWN_DBL_VALUE && t) { + k = 0; + while (stimes[k]) { + if (t == stimes[k]) { + found = 1; + break; + } + k++; + } + } + + if (found) + break; + + i++; + } + } + + stimes = malloc((s->values_max_length + 1) * sizeof(time_t)); + memset(stimes, 0, (s->values_max_length + 1) * sizeof(time_t)); + g_hash_table_insert(times, strdup(s->id), stimes); + + if (i == s->values_max_length) + i = 0; + + k = 0; + dt = et - bt; + while (i < s->values_max_length) { + j = 0; + t = 0; + while (i < s->values_max_length && j < 4) { + t = s->measures[i].time.tv_sec; + v = s->measures[i].value; + + if (v == UNKNOWN_DBL_VALUE || !t) { + i++; + continue; + } + + vdt = t - bt; + + x[0 + j] = ((double)vdt * info->g_width) + / dt + info->g_xoff; + y[0 + j] = compute_y(v, + min, + max, + info->g_height, + info->g_yoff); + + if (j == 0) + t0 = t; + + i++; + j++; + } + + if (j == 4) { + cairo_move_to(cr, x[0], y[0]); + cairo_curve_to(cr, x[1], y[1], x[2], y[3], x[3], y[3]); + stimes[k++] = t0; + i--; + } + } + + cairo_stroke(cr); +} + static void draw_sensor_curve(struct psensor *s, cairo_t *cr, double min, double max, int bt, int et, - int g_width, - int g_height, - int g_xoff, - int g_yoff) + struct graph_info *info) { - int first, i, x, y, t, dt, vdt; - double v; + int first, i, t, dt, vdt; + double v, x, y; cairo_set_source_rgb(cr, s->color->red, @@ -198,12 +391,10 @@ static void draw_sensor_curve(struct psensor *s, continue; vdt = t - bt; - if (vdt < 0) - continue; - x = vdt * g_width / dt + g_xoff; + x = ((double)vdt * info->g_width) / dt + info->g_xoff; - y = compute_y(v, min, max, g_height, g_yoff); + y = compute_y(v, min, max, info->g_height, info->g_yoff); if (first) { cairo_move_to(cr, x, y); @@ -240,12 +431,11 @@ graph_update(struct psensor **sensors, struct config *config, GtkWidget *window) { - struct color *fgcolor = config->graph_fgcolor; int et, bt, width, height, g_width, g_height; - double min_rpm, max_rpm, mint, maxt; + double min_rpm, max_rpm, mint, maxt, min, max; char *strmin, *strmax; /* horizontal and vertical offset of the graph */ - int g_xoff, g_yoff, no_graphs, min, max; + int g_xoff, g_yoff, no_graphs; cairo_surface_t *cst; cairo_t *cr, *cr_pixmap; char *str_btime, *str_etime; @@ -253,10 +443,10 @@ graph_update(struct psensor **sensors, struct psensor **sensor_cur, **enabled_sensors; GtkAllocation galloc; GtkStyleContext *style_ctx; - GdkRGBA rgba; + struct graph_info info; if (!gtk_widget_is_drawable(w_graph)) - return ; + return; enabled_sensors = psensor_list_filter_graph_enabled(sensors); @@ -273,12 +463,18 @@ graph_update(struct psensor **sensors, maxt, config->temperature_unit == CELSIUS); - str_btime = time_to_str(get_graph_begin_time_s(config)); - str_etime = time_to_str(get_graph_end_time_s()); + et = get_graph_end_time_s(enabled_sensors); + bt = get_graph_begin_time_s(config, et); + + str_btime = time_to_str(bt); + str_etime = time_to_str(et); gtk_widget_get_allocation(w_graph, &galloc); width = galloc.width; + info.width = galloc.width; height = galloc.height; + info.height = height; + cst = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); cr = cairo_create(cst); @@ -295,6 +491,7 @@ graph_update(struct psensor **sensors, cairo_text_extents(cr, strmin, &te_min); g_yoff = GRAPH_V_PADDING; + info.g_yoff = g_yoff; g_height = height - GRAPH_V_PADDING; if (te_etime.height > te_btime.height) @@ -302,23 +499,33 @@ graph_update(struct psensor **sensors, else g_height -= GRAPH_V_PADDING + te_btime.height + GRAPH_V_PADDING; + info.g_height = g_height; + if (te_min.width > te_max.width) g_xoff = (2 * GRAPH_H_PADDING) + te_max.width; else g_xoff = (2 * GRAPH_H_PADDING) + te_min.width; + info.g_xoff = g_xoff; + + style_ctx = gtk_widget_get_style_context(window); + gtk_style_context_get_background_color(style_ctx, + GTK_STATE_FLAG_NORMAL, + &info.theme_bg_color); + gtk_style_context_get_color(style_ctx, + GTK_STATE_FLAG_NORMAL, + &info.theme_fg_color); + g_width = width - g_xoff - GRAPH_H_PADDING; + info.g_width = g_width; - draw_graph_background(cr, - g_xoff, g_yoff, g_width, g_height, - width, height, config, - w_graph, - window); + draw_graph_background(cr, config, &info); - /** Set the color for text drawing */ - style_ctx = gtk_widget_get_style_context(window); - gtk_style_context_get_color(style_ctx, GTK_STATE_FLAG_NORMAL, &rgba); - cairo_set_source_rgb(cr, rgba.red, rgba.green, rgba.blue); + /* Set the color for text drawing */ + cairo_set_source_rgb(cr, + info.theme_fg_color.red, + info.theme_fg_color.green, + info.theme_fg_color.blue); /* draw graph begin time */ cairo_move_to(cr, g_xoff, height - GRAPH_V_PADDING); @@ -332,25 +539,9 @@ graph_update(struct psensor **sensors, cairo_show_text(cr, str_etime); free(str_etime); - /* draw min and max temp */ - cairo_move_to(cr, GRAPH_H_PADDING, te_max.height + GRAPH_V_PADDING); - cairo_show_text(cr, strmax); - free(strmax); - - cairo_move_to(cr, - GRAPH_H_PADDING, height - (te_min.height / 2) - g_yoff); - cairo_show_text(cr, strmin); - free(strmin); - - draw_background_lines(cr, fgcolor, - g_width, g_height, - g_xoff, g_yoff, - mint, maxt); + draw_background_lines(cr, mint, maxt, config, &info); /* .. and finaly draws the temperature graphs */ - bt = get_graph_begin_time_s(config); - et = get_graph_end_time_s(); - if (bt && et) { sensor_cur = enabled_sensors; @@ -361,23 +552,28 @@ graph_update(struct psensor **sensors, struct psensor *s = *sensor_cur; no_graphs = 0; - if (is_fan_type(s->type)) { + if (s->type & SENSOR_TYPE_RPM) { min = min_rpm; max = max_rpm; - } else if (s->type & SENSOR_TYPE_CPU_USAGE) { + } else if (s->type & SENSOR_TYPE_PERCENT) { min = 0; max = get_max_value(enabled_sensors, - SENSOR_TYPE_CPU_USAGE); + SENSOR_TYPE_PERCENT); } else { min = mint; max = maxt; } - draw_sensor_curve(s, cr, - min, max, - bt, et, - g_width, g_height, - g_xoff, g_yoff); + if (is_smooth_curves_enabled) + draw_sensor_smooth_curve(s, cr, + min, max, + bt, et, + &info); + else + draw_sensor_curve(s, cr, + min, max, + bt, et, + &info); sensor_cur++; } @@ -388,10 +584,27 @@ graph_update(struct psensor **sensors, g_height / 2); } + draw_left_region(cr, &info); + draw_right_region(cr, &info); + + /* draw min and max temp */ + cairo_set_source_rgb(cr, + info.theme_fg_color.red, + info.theme_fg_color.green, + info.theme_fg_color.blue); + + cairo_move_to(cr, GRAPH_H_PADDING, te_max.height + GRAPH_V_PADDING); + cairo_show_text(cr, strmax); + free(strmax); + + cairo_move_to(cr, + GRAPH_H_PADDING, height - (te_min.height / 2) - g_yoff); + cairo_show_text(cr, strmin); + free(strmin); + cr_pixmap = gdk_cairo_create(gtk_widget_get_window(w_graph)); if (cr_pixmap) { - if (config->alpha_channel_enabled) cairo_set_operator(cr_pixmap, CAIRO_OPERATOR_SOURCE); @@ -405,3 +618,15 @@ graph_update(struct psensor **sensors, cairo_surface_destroy(cst); cairo_destroy(cr); } + +int compute_values_max_length(struct config *c) +{ + int n, duration, interval; + + duration = c->graph_monitoring_duration * 60; + interval = c->sensor_update_interval; + + n = 3 + ceil((((double)duration) / interval) + 0.5) + 3; + + return n; +} diff --git a/src/graph.h b/src/graph.h index 88d4e0e..7dae2c1 100644 --- a/src/graph.h +++ b/src/graph.h @@ -21,12 +21,17 @@ #include -#include "psensor.h" -#include "cfg.h" +#include +#include + +extern bool is_smooth_curves_enabled; void graph_update(struct psensor **sensors, - GtkWidget * w_graph, + GtkWidget *w_graph, struct config *config, - GtkWidget * window); + GtkWidget *window); + +/* Compute the number of measures which must be kept. */ +int compute_values_max_length(struct config *); #endif diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index c7052b4..6bf03c3 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -4,7 +4,6 @@ libpsensor_a_SOURCES = \ amd.h\ bool.h\ color.h color.c\ - cpu.h\ hdd.h hdd_hddtemp.c\ lmsensor.h lmsensor.c\ measure.h measure.c \ @@ -37,7 +36,7 @@ libpsensor_a_SOURCES += amd.c endif if GTOP -libpsensor_a_SOURCES += cpu.c +libpsensor_a_SOURCES += pgtop2.c pgtop2.h LIBS += $(GTOP_LIBS) AM_CPPFLAGS += $(GTOP_CFLAGS) endif @@ -48,7 +47,14 @@ LIBS += $(JSON_LIBS) AM_CPPFLAGS += $(JSON_CFLAGS) endif +if LIBUDISKS2 +libpsensor_a_SOURCES += pudisks2.c pudisks2.h +LIBS += $(LIBUDISKS2_LIBS) +AM_CPPFLAGS += $(LIBUDISKS2_CFLAGS) +endif + EXTRA_DIST=$(libpsensor_a_SOURCES) \ amd.c \ - cpu.c \ - nvidia.c + pgtop2.c pgtop2.h \ + nvidia.c \ + pudisks2.c pudisks2.h diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in index 044bfb7..3c9431c 100644 --- a/src/lib/Makefile.in +++ b/src/lib/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ esac; \ - test $$am__dry = yes; \ - } + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -58,16 +85,24 @@ host_triplet = @host@ @LIBATIADL_TRUE@am__append_5 = $(LIBATIADL_LIBS) @LIBATIADL_TRUE@am__append_6 = $(LIBATIADL_CFLAGS) @LIBATIADL_TRUE@am__append_7 = amd.c -@GTOP_TRUE@am__append_8 = cpu.c +@GTOP_TRUE@am__append_8 = pgtop2.c pgtop2.h @GTOP_TRUE@am__append_9 = $(GTOP_LIBS) @GTOP_TRUE@am__append_10 = $(GTOP_CFLAGS) @JSON_TRUE@am__append_11 = psensor_json.h psensor_json.c @JSON_TRUE@am__append_12 = $(JSON_LIBS) @JSON_TRUE@am__append_13 = $(JSON_CFLAGS) +@LIBUDISKS2_TRUE@am__append_14 = pudisks2.c pudisks2.h +@LIBUDISKS2_TRUE@am__append_15 = $(LIBUDISKS2_LIBS) +@LIBUDISKS2_TRUE@am__append_16 = $(LIBUDISKS2_CFLAGS) subdir = src/lib -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -76,34 +111,61 @@ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru +AM_V_AR = $(am__v_AR_@AM_V@) +am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) +am__v_AR_0 = @echo " AR " $@; +am__v_AR_1 = libpsensor_a_AR = $(AR) $(ARFLAGS) libpsensor_a_LIBADD = -am__libpsensor_a_SOURCES_DIST = amd.h bool.h color.h color.c cpu.h \ - hdd.h hdd_hddtemp.c lmsensor.h lmsensor.c measure.h measure.c \ +am__libpsensor_a_SOURCES_DIST = amd.h bool.h color.h color.c hdd.h \ + hdd_hddtemp.c lmsensor.h lmsensor.c measure.h measure.c \ nvidia.h plog.h plog.c pmutex.h pmutex.c psensor.h psensor.c \ ptime.h ptime.c pio.h pio.c slog.c slog.h temperature.c \ - temperature.h url.c url.h hdd_atasmart.c nvidia.c amd.c cpu.c \ - psensor_json.h psensor_json.c + temperature.h url.c url.h hdd_atasmart.c nvidia.c amd.c \ + pgtop2.c pgtop2.h psensor_json.h psensor_json.c pudisks2.c \ + pudisks2.h @ATASMART_TRUE@am__objects_1 = hdd_atasmart.$(OBJEXT) @NVIDIA_TRUE@am__objects_2 = nvidia.$(OBJEXT) @LIBATIADL_TRUE@am__objects_3 = amd.$(OBJEXT) -@GTOP_TRUE@am__objects_4 = cpu.$(OBJEXT) +@GTOP_TRUE@am__objects_4 = pgtop2.$(OBJEXT) @JSON_TRUE@am__objects_5 = psensor_json.$(OBJEXT) +@LIBUDISKS2_TRUE@am__objects_6 = pudisks2.$(OBJEXT) am_libpsensor_a_OBJECTS = color.$(OBJEXT) hdd_hddtemp.$(OBJEXT) \ lmsensor.$(OBJEXT) measure.$(OBJEXT) plog.$(OBJEXT) \ pmutex.$(OBJEXT) psensor.$(OBJEXT) ptime.$(OBJEXT) \ pio.$(OBJEXT) slog.$(OBJEXT) temperature.$(OBJEXT) \ url.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) $(am__objects_4) $(am__objects_5) + $(am__objects_3) $(am__objects_4) $(am__objects_5) \ + $(am__objects_6) libpsensor_a_OBJECTS = $(am_libpsensor_a_OBJECTS) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(libpsensor_a_SOURCES) DIST_SOURCES = $(am__libpsensor_a_SOURCES_DIST) am__can_run_installinfo = \ @@ -111,11 +173,29 @@ am__can_run_installinfo = \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -141,7 +221,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -173,7 +252,9 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ $(am__append_2) $(am__append_5) $(am__append_9) \ - $(am__append_12) + $(am__append_12) $(am__append_15) +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -199,7 +280,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -214,7 +294,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -269,18 +348,20 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LIBRARIES = libpsensor.a -libpsensor_a_SOURCES = amd.h bool.h color.h color.c cpu.h hdd.h \ +libpsensor_a_SOURCES = amd.h bool.h color.h color.c hdd.h \ hdd_hddtemp.c lmsensor.h lmsensor.c measure.h measure.c \ nvidia.h plog.h plog.c pmutex.h pmutex.c psensor.h psensor.c \ ptime.h ptime.c pio.h pio.c slog.c slog.h temperature.c \ temperature.h url.c url.h $(am__append_1) $(am__append_4) \ - $(am__append_7) $(am__append_8) $(am__append_11) + $(am__append_7) $(am__append_8) $(am__append_11) \ + $(am__append_14) AM_CPPFLAGS = -Wall -Werror $(am__append_3) $(am__append_6) \ - $(am__append_10) $(am__append_13) + $(am__append_10) $(am__append_13) $(am__append_16) EXTRA_DIST = $(libpsensor_a_SOURCES) \ amd.c \ - cpu.c \ - nvidia.c + pgtop2.c pgtop2.h \ + nvidia.c \ + pudisks2.c pudisks2.h all: all-am @@ -319,10 +400,11 @@ $(am__aclocal_m4_deps): clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + libpsensor.a: $(libpsensor_a_OBJECTS) $(libpsensor_a_DEPENDENCIES) $(EXTRA_libpsensor_a_DEPENDENCIES) - -rm -f libpsensor.a - $(libpsensor_a_AR) libpsensor.a $(libpsensor_a_OBJECTS) $(libpsensor_a_LIBADD) - $(RANLIB) libpsensor.a + $(AM_V_at)-rm -f libpsensor.a + $(AM_V_AR)$(libpsensor_a_AR) libpsensor.a $(libpsensor_a_OBJECTS) $(libpsensor_a_LIBADD) + $(AM_V_at)$(RANLIB) libpsensor.a mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -332,56 +414,46 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/color.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdd_atasmart.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hdd_hddtemp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lmsensor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/measure.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nvidia.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pgtop2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pmutex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psensor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/psensor_json.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptime.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pudisks2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/temperature.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -393,15 +465,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -410,6 +478,21 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -549,17 +632,17 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am diff --git a/src/lib/amd.c b/src/lib/amd.c index e83f5f1..c2ec5eb 100644 --- a/src/lib/amd.c +++ b/src/lib/amd.c @@ -34,7 +34,7 @@ #include -#include "psensor.h" +#include typedef int (*ADL_MAIN_CONTROL_CREATE)(ADL_MAIN_MALLOC_CALLBACK, int); typedef int (*ADL_MAIN_CONTROL_DESTROY)(); @@ -76,10 +76,11 @@ static double get_temp(struct psensor *sensor) v.iSize = sizeof(ADLTemperature); v.iTemperature = -273; + if (ADL_OK == adl_od5_temperature_get(sensor->amd_id, 0, &v)) return v.iTemperature/1000; - else - return UNKNOWN_DBL_VALUE; + + return UNKNOWN_DBL_VALUE; } static double get_fanspeed(struct psensor *sensor) @@ -89,10 +90,11 @@ static double get_fanspeed(struct psensor *sensor) v.iSize = sizeof(ADLFanSpeedValue); v.iSpeedType = ADL_DL_FANCTRL_SPEED_TYPE_RPM; v.iFanSpeed = -1; + if (ADL_OK == adl_od5_fanspeed_get(sensor->amd_id, 0, &v)) return v.iFanSpeed; - else - return UNKNOWN_DBL_VALUE; + + return UNKNOWN_DBL_VALUE; } static double get_usage(struct psensor *sensor) @@ -100,10 +102,11 @@ static double get_usage(struct psensor *sensor) ADLPMActivity v; v.iSize = sizeof(ADLPMActivity); + if (ADL_OK == adl_od5_currentactivity_get(sensor->amd_id, &v)) return v.iActivityPercent; - else - return UNKNOWN_DBL_VALUE; + + return UNKNOWN_DBL_VALUE; } static struct psensor *create_sensor(int id, int type, int values_len) @@ -130,7 +133,7 @@ static struct psensor *create_sensor(int id, int type, int values_len) /* GPU Usage (Activity/Load %) */ case 2: sprintf(name, "AMD GPU%d Usage", id); - sensor_type |= SENSOR_TYPE_GPU | SENSOR_TYPE_USAGE; + sensor_type |= SENSOR_TYPE_GPU | SENSOR_TYPE_PERCENT; break; } @@ -268,7 +271,7 @@ void amd_psensor_list_update(struct psensor **sensors) psensor_set_current_value(s, get_temp(s)); else if (s->type & SENSOR_TYPE_RPM) psensor_set_current_value(s, get_fanspeed(s)); - else if (s->type & SENSOR_TYPE_USAGE) + else if (s->type & SENSOR_TYPE_PERCENT) psensor_set_current_value(s, get_usage(s)); } @@ -277,28 +280,19 @@ void amd_psensor_list_update(struct psensor **sensors) } /* Entry point for AMD sensors */ -struct psensor * * -amd_psensor_list_add(struct psensor **sensors, int values_len) +void amd_psensor_list_append(struct psensor ***sensors, int values_len) { int i, j, n; - struct psensor **tmp, **ss, *s; + struct psensor *s; n = init(); - ss = sensors; for (i = 0; i < n; i++) /* Each GPU Adapter has 3 sensors: temp, fan speed and usage */ for (j = 0; j < 3; j++) { s = create_sensor(i, j, values_len); - tmp = psensor_list_add(ss, s); - - if (ss != tmp) - free(ss); - - ss = tmp; + psensor_list_append(sensors, s); } - - return ss; } void amd_cleanup() diff --git a/src/lib/amd.h b/src/lib/amd.h index acb234d..d7dde40 100644 --- a/src/lib/amd.h +++ b/src/lib/amd.h @@ -22,19 +22,9 @@ #include "psensor.h" -/* - Updates temperatures of AMD sensors. -*/ void amd_psensor_list_update(struct psensor **sensors); -/* - Adds AMD sensors to a given list of sensors. - - Returns the new allocated list of sensors if sensors have been added - otherwise returns 'sensors'. The list is 'NULL' terminated. - */ -struct psensor **amd_psensor_list_add(struct psensor **sensors, - int values_max_length); +void amd_psensor_list_append(struct psensor ***sensors, int values_max_length); void amd_cleanup(); diff --git a/src/lib/bool.h b/src/lib/bool.h index 3aba0b6..c31360d 100644 --- a/src/lib/bool.h +++ b/src/lib/bool.h @@ -25,6 +25,8 @@ #include #else #define bool char +#define true 1 +#define false 0 #endif #endif diff --git a/src/lib/cpu.c b/src/lib/cpu.c deleted file mode 100644 index 9f26db9..0000000 --- a/src/lib/cpu.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (C) 2010-2014 jeanfi@gmail.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301 USA - */ -#include -#include -#define _(str) gettext(str) - -#include - -#include - -#include "cpu.h" - -static glibtop_cpu *cpu; -static float last_used; -static float last_total; - -struct psensor *create_cpu_usage_sensor(int measures_len) -{ - char *label; - int type; - char *id; - struct psensor *psensor; - - id = strdup("cpu usage"); - label = strdup("cpu usage"); - type = SENSOR_TYPE_CPU_USAGE; - - psensor = psensor_create(id, - label, - strdup(_("CPU")), - type, - measures_len); - - return psensor; -} - -struct psensor * * -cpu_psensor_list_add(struct psensor **sensors, int measures_len) -{ - struct psensor *s; - - s = create_cpu_usage_sensor(measures_len); - - return psensor_list_add(sensors, s); -} - -static double get_usage() -{ - unsigned long int used = 0; - unsigned long int dt; - double cpu_rate = UNKNOWN_DBL_VALUE; - - if (!cpu) - cpu = malloc(sizeof(glibtop_cpu)); - - glibtop_get_cpu(cpu); - - used = cpu->user + cpu->nice + cpu->sys; - - dt = cpu->total - last_total; - - if (dt) - cpu_rate = 100 * (used - last_used) / dt; - - last_used = used; - last_total = cpu->total; - - return cpu_rate; -} - -void cpu_usage_sensor_update(struct psensor *s) -{ - psensor_set_current_value(s, get_usage()); -} - -void cpu_psensor_list_update(struct psensor **sensors) -{ - struct psensor **ss, *s; - - ss = sensors; - while (*ss) { - s = *ss; - - if (!(s->type & SENSOR_TYPE_REMOTE) - && s->type == SENSOR_TYPE_CPU_USAGE) - cpu_usage_sensor_update(s); - - ss++; - } -} - -void cpu_cleanup() -{ - if (cpu) - free(cpu); -} diff --git a/src/lib/cpu.h b/src/lib/cpu.h deleted file mode 100644 index a1d7125..0000000 --- a/src/lib/cpu.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2010-2014 jeanfi@gmail.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301 USA - */ -#ifndef _PSENSOR_CPU_H_ -#define _PSENSOR_CPU_H_ - -#include "psensor.h" - -struct psensor *create_cpu_usage_sensor(int measures_len); - -void cpu_usage_sensor_update(struct psensor *); -void cpu_psensor_list_update(struct psensor **); - -struct psensor **cpu_psensor_list_add(struct psensor **, - int values_max_len); - -void cpu_cleanup(); - -#endif diff --git a/src/lib/hdd.h b/src/lib/hdd.h index 6c79dbc..8d4c316 100644 --- a/src/lib/hdd.h +++ b/src/lib/hdd.h @@ -23,15 +23,11 @@ #include "psensor.h" #ifdef HAVE_ATASMART -struct psensor **hdd_psensor_list_add(struct psensor **sensors, - int values_max_length); - -void hdd_psensor_list_update(struct psensor **sensors); +void atasmart_psensor_list_append(struct psensor ***sensors, int values_length); +void atasmart_psensor_list_update(struct psensor **sensors); #endif -struct psensor **hddtemp_psensor_list_add(struct psensor **sensors, - int values_max_length); - +void hddtemp_psensor_list_append(struct psensor ***sensors, int values_length); void hddtemp_psensor_list_update(struct psensor **sensors); #endif diff --git a/src/lib/hdd_atasmart.c b/src/lib/hdd_atasmart.c index f3e6619..0fd7d5d 100644 --- a/src/lib/hdd_atasmart.c +++ b/src/lib/hdd_atasmart.c @@ -35,10 +35,12 @@ #include #include -#include "pio.h" -#include "hdd.h" +#include +#include #include +static const char *PROVIDER_NAME = "atasmart"; + static int filter_sd(const char *p) { return strlen(p) == 8 && !strncmp(p, "/dev/sd", 7); @@ -72,43 +74,34 @@ static void analyze_disk(const char *dname) struct stat st; uint64_t size; - log_debug("analyze_disk(hdd_atasmart): %s", dname); + log_fct("Analyze %s", dname); f = open(dname, O_RDONLY|O_NOCTTY|O_NONBLOCK|O_CLOEXEC); if (f < 0) { - log_debug("analyze_disk(hdd_atasmart): Could not open file %s: %s", - dname, - strerror(errno)); + log_fct("Could not open file %s: %s", dname, strerror(errno)); goto fail; } if (fstat(f, &st) < 0) { - log_debug("analyze_disk(hdd_atasmart): fstat fails %s: %s", - dname, - strerror(errno)); + log_fct("fstat fails %s: %s", dname, strerror(errno)); goto fail; } if (!S_ISBLK(st.st_mode)) { - log_debug("analyze_disk(hdd_atasmart): !S_ISBLK fails %s", - dname); + log_fct("!S_ISBLK fails %s", dname); goto fail; } size = (uint64_t)-1; /* So, it's a block device. Let's make sure the ioctls work */ if (ioctl(f, BLKGETSIZE64, &size) < 0) { - log_debug("analyze_disk(hdd_atasmart): ioctl fails %s: %s", - dname, - strerror(errno)); + log_fct("ioctl fails %s: %s", dname, strerror(errno)); goto fail; } if (size <= 0 || size == (uint64_t) -1) { - log_debug("analyze_disk(hdd_atasmart): ioctl wrong size %s: %ld", - dname, - size); + log_fct("ioctl wrong size %s: %ld", dname, size); goto fail; } @@ -116,40 +109,37 @@ static void analyze_disk(const char *dname) close(f); } -struct psensor **hdd_psensor_list_add(struct psensor **sensors, - int values_max_length) +void +atasmart_psensor_list_append(struct psensor ***sensors, int values_max_length) { char **paths, **tmp, *id; SkDisk *disk; - struct psensor *sensor, **tmp_sensors, **result; + struct psensor *sensor; - log_debug("hdd_psensor_list_add(hdd_atasmart)"); + log_fct_enter(); paths = dir_list("/dev", filter_sd); - result = sensors; tmp = paths; while (*tmp) { - log_debug("hdd_psensor_list_add(hdd_atasmart) open %s", *tmp); + log_fct("Open %s", *tmp); if (!sk_disk_open(*tmp, &disk)) { - id = malloc(strlen("hdd at") + strlen(*tmp) + 1); - strcpy(id, "hdd at"); - strcat(id, *tmp); + id = malloc(strlen(PROVIDER_NAME) + + 1 + + strlen(*tmp) + + 1); + sprintf(id, "%s %s", PROVIDER_NAME, *tmp); sensor = create_sensor(id, *tmp, disk, values_max_length); - tmp_sensors = psensor_list_add(result, sensor); - - if (result != sensors) - free(result); - - result = tmp_sensors; + psensor_list_append(sensors, sensor); } else { - log_err(_("atasmart: sk_disk_open() failure: %s."), + log_err(_("%s: sk_disk_open() failure: %s."), + PROVIDER_NAME, *tmp); analyze_disk(*tmp); } @@ -159,10 +149,10 @@ struct psensor **hdd_psensor_list_add(struct psensor **sensors, paths_free(paths); - return result; + log_fct_exit(); } -void hdd_psensor_list_update(struct psensor **sensors) +void atasmart_psensor_list_update(struct psensor **sensors) { struct psensor **cur, *s; uint64_t kelvin; @@ -183,9 +173,7 @@ void hdd_psensor_list_update(struct psensor **sensors) if (!ret) { c = (kelvin - 273150) / 1000; psensor_set_current_value(s, c); - log_debug("hdd_psensor_list_update(hdd_atasmart): %s %.2f", - s->id, - c); + log_fct("%s %.2f", s->id, c); } } } diff --git a/src/lib/hdd_hddtemp.c b/src/lib/hdd_hddtemp.c index 3e692f0..39c00c6 100644 --- a/src/lib/hdd_hddtemp.c +++ b/src/lib/hdd_hddtemp.c @@ -16,14 +16,15 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA */ + +/* Part of the code in this file is based on GNOME sensors applet code + * hddtemp-plugin.c see http://sensors-applet.sourceforge.net/ + */ + #include #include #define _(str) gettext(str) -/* - * Following code is based on GNOME sensors applet code - * hddtemp-plugin.c see http://sensors-applet.sourceforge.net/ - */ #include #include #include @@ -33,12 +34,14 @@ #include #include -#include "hdd.h" -#include "psensor.h" +#include +#include -#define HDDTEMP_SERVER_IP_ADDRESS "127.0.0.1" -#define HDDTEMP_PORT_NUMBER 7634 -#define HDDTEMP_OUTPUT_BUFFER_LENGTH 4048 +static const char *PROVIDER_NAME = "hddtemp"; + +static const char *HDDTEMP_SERVER_IP_ADDRESS = "127.0.0.1"; +static const int HDDTEMP_PORT_NUMBER = 7634; +static const int HDDTEMP_OUTPUT_BUFFER_LENGTH = 4048; struct hdd_info { char *name; @@ -47,16 +50,16 @@ struct hdd_info { static char *fetch() { - int sockfd; + int sockfd, output_length; ssize_t n = 1; - int output_length = 0; - char *pc; - char *buffer; + char *pc, *buffer; struct sockaddr_in address; + output_length = 0; + sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd == -1) { - log_err(_("hddtemp: failed to open socket.")); + log_err(_("%s: failed to open socket."), PROVIDER_NAME); return NULL; } @@ -69,7 +72,7 @@ static char *fetch() if (connect(sockfd, (struct sockaddr *)&address, (socklen_t) sizeof(address)) == -1) { - log_err(_("hddtemp: failed to open connection.")); + log_err(_("%s: failed to open connection."), PROVIDER_NAME); } else { buffer = malloc(HDDTEMP_OUTPUT_BUFFER_LENGTH); @@ -171,78 +174,89 @@ static char *next_hdd_info(char *string, struct hdd_info *info) return c; } -struct psensor **hddtemp_psensor_list_add(struct psensor **sensors, - int values_max_length) +void +hddtemp_psensor_list_append(struct psensor ***sensors, int values_max_length) { - char *hddtemp_output = fetch(); - char *c; + char *hddtemp_output, *c, *id; struct hdd_info info; - struct psensor **result; + struct psensor *sensor; + + hddtemp_output = fetch(); if (!hddtemp_output) - return sensors; + return; if (hddtemp_output[0] != '|') { - log_err(_("hddtemp: wrong string: %s."), hddtemp_output); + log_err(_("%s: wrong string: %s."), + PROVIDER_NAME, + hddtemp_output); free(hddtemp_output); - return sensors; + return; } c = hddtemp_output; - result = sensors; - while (c && (c = next_hdd_info(c, &info))) { - struct psensor *sensor; - struct psensor **tmp_sensors; - - char *id = malloc(strlen("hdd ") + strlen(info.name) + 1); - strcpy(id, "hdd "); - strcat(id, info.name); + id = malloc(strlen(PROVIDER_NAME) + 1 + strlen(info.name) + 1); + sprintf(id, "%s %s", PROVIDER_NAME, info.name); sensor = create_sensor(id, info.name, values_max_length); - tmp_sensors = psensor_list_add(result, sensor); - - if (result != sensors) - free(result); - - result = tmp_sensors; + psensor_list_append(sensors, sensor); } free(hddtemp_output); - - return result; } static void update(struct psensor **sensors, struct hdd_info *info) { - struct psensor **sensor_cur = sensors; + while (*sensors) { + if (!((*sensors)->type & SENSOR_TYPE_REMOTE) + && (*sensors)->type & SENSOR_TYPE_HDDTEMP + && !strcmp((*sensors)->id + 8, info->name)) + psensor_set_current_value(*sensors, + (double)info->temp); + + sensors++; + } +} + +static bool contains_hddtemp_sensor(struct psensor **sensors) +{ + struct psensor *s; - while (*sensor_cur) { - if (!((*sensor_cur)->type & SENSOR_TYPE_REMOTE) - && (*sensor_cur)->type & SENSOR_TYPE_HDDTEMP - && !strcmp((*sensor_cur)->id + 4, info->name)) - psensor_set_current_value(*sensor_cur, - (float)info->temp); + if (!sensors) + return false; - sensor_cur++; + while (*sensors) { + s = *sensors; + if (!(s->type & SENSOR_TYPE_REMOTE) + && (s->type & SENSOR_TYPE_HDDTEMP)) + return true; + sensors++; } + + return false; } void hddtemp_psensor_list_update(struct psensor **sensors) { - char *hddtemp_output = fetch(); + char *hddtemp_output; + + if (!contains_hddtemp_sensor(sensors)) + return; + + hddtemp_output = fetch(); if (!hddtemp_output) return; if (hddtemp_output[0] == '|') { - char *c = hddtemp_output; struct hdd_info info; + info.name = NULL; info.temp = 0; @@ -253,7 +267,9 @@ void hddtemp_psensor_list_update(struct psensor **sensors) free(info.name); } } else { - log_err(_("hddtemp: wrong string: %s."), hddtemp_output); + log_err(_("%s: wrong string: %s."), + PROVIDER_NAME, + hddtemp_output); } free(hddtemp_output); diff --git a/src/lib/lmsensor.c b/src/lib/lmsensor.c index 1708f18..baa97ef 100644 --- a/src/lib/lmsensor.c +++ b/src/lib/lmsensor.c @@ -27,10 +27,12 @@ #include #include -#include "psensor.h" +#include static int init_done; +static const char *PROVIDER_NAME = "lmsensor"; + static double get_value(const sensors_chip_name *name, const sensors_subfeature *sub) { @@ -39,8 +41,10 @@ static double get_value(const sensors_chip_name *name, err = sensors_get_value(name, sub->number, &val); if (err) { - log_err(_("lmsensor: cannot get value of subfeature %s: %s."), - sub->name, sensors_strerror(err)); + log_err(_("%s: Cannot get value of subfeature %s: %s."), + PROVIDER_NAME, + sub->name, + sensors_strerror(err)); val = UNKNOWN_DBL_VALUE; } return val; @@ -48,17 +52,22 @@ static double get_value(const sensors_chip_name *name, static double get_temp_input(struct psensor *sensor) { - const sensors_chip_name *chip = sensor->iname; - const sensors_feature *feature = sensor->feature; - const sensors_subfeature *sf; - sf = sensors_get_subfeature(chip, - feature, SENSORS_SUBFEATURE_TEMP_INPUT); + const sensors_chip_name *chip; + + const sensors_feature *feature; + + chip = sensor->iname; + feature = sensor->feature; + + sf = sensors_get_subfeature(sensor->iname, + feature, + SENSORS_SUBFEATURE_TEMP_INPUT); if (sf) return get_value(chip, sf); - else - return UNKNOWN_DBL_VALUE; + + return UNKNOWN_DBL_VALUE; } static double get_fan_input(struct psensor *sensor) @@ -69,33 +78,39 @@ static double get_fan_input(struct psensor *sensor) const sensors_subfeature *sf; sf = sensors_get_subfeature(chip, - feature, SENSORS_SUBFEATURE_FAN_INPUT); + feature, + SENSORS_SUBFEATURE_FAN_INPUT); + if (sf) return get_value(chip, sf); - else - return UNKNOWN_DBL_VALUE; + + return UNKNOWN_DBL_VALUE; } void lmsensor_psensor_list_update(struct psensor **sensors) { - struct psensor **s_ptr = sensors; + struct psensor *s; + double v; if (!init_done) - return ; + return; - while (*s_ptr) { - struct psensor *s = *s_ptr; + while (*sensors) { + s = *sensors; if (!(s->type & SENSOR_TYPE_REMOTE) && s->type & SENSOR_TYPE_LMSENSOR) { + if (s->type & SENSOR_TYPE_TEMP) - psensor_set_current_value(s, - get_temp_input(s)); - else if (s->type & SENSOR_TYPE_RPM) - psensor_set_current_value(s, get_fan_input(s)); + v = get_temp_input(s); + else /* s->type & SENSOR_TYPE_RPM */ + v = get_fan_input(s); + + if (v != UNKNOWN_DBL_VALUE) + psensor_set_current_value(s, v); } - s_ptr++; + sensors++; } } @@ -119,8 +134,7 @@ lmsensor_psensor_create(const sensors_chip_name *chip, } else if (feature->type == SENSORS_FEATURE_FAN) { fault_subfeature = SENSORS_SUBFEATURE_FAN_FAULT; } else { - log_err(_( -"lmsensor: lmsensor_psensor_create failure: wrong feature type.")); + log_err(_("%s: Wrong feature type."), PROVIDER_NAME); return NULL; } @@ -140,9 +154,13 @@ lmsensor_psensor_create(const sensors_chip_name *chip, else return NULL; - id = malloc(strlen("lmsensor ") + 1 + strlen(name) + 1 + strlen(label) + - 1); - sprintf(id, "lmsensor %s %s", name, label); + id = malloc(strlen(PROVIDER_NAME) + + 1 + + strlen(name) + + 1 + + strlen(label) + + 1); + sprintf(id, "%s %s %s", PROVIDER_NAME, name, label); if (!strcmp(chip->prefix, "coretemp")) cname = strdup(_("Intel CPU")); @@ -154,6 +172,8 @@ lmsensor_psensor_create(const sensors_chip_name *chip, cname = strdup(_("NVIDIA GPU")); else if (!strcmp(chip->prefix, "via-cputemp")) cname = strdup(_("VIA CPU")); + else if (!strcmp(chip->prefix, "acpitz")) + cname = strdup(_("ACPI")); else cname = strdup(chip->prefix); @@ -171,56 +191,50 @@ lmsensor_psensor_create(const sensors_chip_name *chip, return psensor; } -struct psensor **lmsensor_psensor_list_add(struct psensor **sensors, - int vn) +void lmsensor_init() +{ + int err; + + err = sensors_init(NULL); + + if (err) { + log_err(_("%s: initialization failure: %s."), + PROVIDER_NAME, + sensors_strerror(err)); + init_done = 0; + } else { + init_done = 1; + } +} + +void lmsensor_psensor_list_append(struct psensor ***sensors, int vn) { const sensors_chip_name *chip; - int chip_nr = 0; - struct psensor **tmp, **result; + int chip_nr, i; const sensors_feature *feature; struct psensor *s; - int i; if (!init_done) - return NULL; + lmsensor_init(); + + if (!init_done) + return; - result = sensors; + chip_nr = 0; while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) { i = 0; while ((feature = sensors_get_features(chip, &i))) { - if (feature->type == SENSORS_FEATURE_TEMP || feature->type == SENSORS_FEATURE_FAN) { s = lmsensor_psensor_create(chip, feature, vn); - if (s) { - tmp = psensor_list_add(result, s); - - if (tmp != sensors) - free(result); - - result = tmp; - } + if (s) + psensor_list_append(sensors, s); } } } - - return result; -} - -void lmsensor_init() -{ - int err = sensors_init(NULL); - - if (err) { - log_err(_("lmsensor: initialization failure: %s."), - sensors_strerror(err)); - init_done = 0; - } else { - init_done = 1; - } } void lmsensor_cleanup() diff --git a/src/lib/lmsensor.h b/src/lib/lmsensor.h index 10e7398..341863d 100644 --- a/src/lib/lmsensor.h +++ b/src/lib/lmsensor.h @@ -19,20 +19,10 @@ #ifndef _PSENSOR_LMSENSOR_H_ #define _PSENSOR_LMSENSOR_H_ -#include - void lmsensor_psensor_list_update(struct psensor **sensors); -/* - Adds sensors to a given list of sensors. - - Returns the new allocated list of sensors if sensors have been added - otherwise returns 'sensors'. The list is 'NULL' terminated. - */ -struct psensor **lmsensor_psensor_list_add(struct psensor **sensors, - int values_max_length); +void lmsensor_psensor_list_append(struct psensor ***sensors, int values_length); -void lmsensor_init(); void lmsensor_cleanup(); #endif diff --git a/src/lib/nvidia.c b/src/lib/nvidia.c index 4f411e9..b77517b 100644 --- a/src/lib/nvidia.c +++ b/src/lib/nvidia.c @@ -20,6 +20,8 @@ #include #define _(str) gettext(str) +#include +#include #include #include #include @@ -29,118 +31,345 @@ #include #include -#include "psensor.h" +#include Display *display; -/* Returns the temperature (Celsius) of a NVIDIA GPU. */ -static int get_temp(struct psensor *sensor) +static const char *PROVIDER_NAME = "nvctrl"; + +static char *get_product_name(int id, int type) { - int temp; + char *name; Bool res; - res = XNVCTRLQueryTargetAttribute(display, - NV_CTRL_TARGET_TYPE_GPU, - sensor->nvidia_id, - 0, - NV_CTRL_GPU_CORE_TEMPERATURE, - &temp); + if (type & SENSOR_TYPE_FAN) + return strdup("NVIDIA"); + + res = XNVCTRLQueryTargetStringAttribute(display, + NV_CTRL_TARGET_TYPE_GPU, + id, + 0, + NV_CTRL_STRING_PRODUCT_NAME, + &name); + if (res == True) { + if (strcmp(name, "Unknown")) + return name; + + log_err(_("%s: Unknown NVIDIA product name for GPU %d"), + PROVIDER_NAME, + id); + free(name); + } else { + log_err(_("%s: " + "Failed to retrieve NVIDIA product name for GPU %d"), + PROVIDER_NAME, + id); + } + + return strdup("NVIDIA"); +} + +static double get_att(int target, int id, int att) +{ + Bool res; + int temp; + + res = XNVCTRLQueryTargetAttribute(display, target, id, 0, att, &temp); if (res == True) return temp; - log_debug(_("NVIDIA proprietary driver not used or cannot " - "retrieve NVIDIA GPU temperature.")); - return 0; + return UNKNOWN_DBL_VALUE; +} + +static double get_usage_att(char *atts, const char *att) +{ + char *c, *key, *strv, *s; + size_t n; + double v; + + c = atts; + + v = UNKNOWN_DBL_VALUE; + while (*c) { + s = c; + n = 0; + while (*c) { + if (*c == '=') + break; + c++; + n++; + } + + key = strndup(s, n); + + if (*c) + c++; + + n = 0; + s = c; + while (*c) { + if (*c == ',') + break; + c++; + n++; + } + + strv = strndup(s, n); + if (!strcmp(key, att)) + v = atoi(strv); + + free(key); + free(strv); + + if (v != UNKNOWN_DBL_VALUE) + break; + + while (*c && (*c == ' ' || *c == ',')) + c++; + } + + return v; +} + +static const char *get_nvidia_type_str(int type) +{ + if (type & SENSOR_TYPE_GRAPHICS) + return "graphics"; + + if (type & SENSOR_TYPE_VIDEO) + return "video"; + + if (type & SENSOR_TYPE_MEMORY) + return "memory"; + + if (type & SENSOR_TYPE_PCIE) + return "PCIe"; + + if (type & SENSOR_TYPE_AMBIENT) + return "ambient"; + + if (type & SENSOR_TYPE_TEMP) + return "temp"; + + if (type & SENSOR_TYPE_FAN) { + if (type & SENSOR_TYPE_RPM) + return "fan rpm"; + + return "fan level"; + } + + return "unknown"; +} + +static double get_usage(int id, int type) +{ + const char *stype; + char *atts; + double v; + Bool res; + + stype = get_nvidia_type_str(type); + + if (!stype) + return UNKNOWN_DBL_VALUE; + + res = XNVCTRLQueryTargetStringAttribute(display, + NV_CTRL_TARGET_TYPE_GPU, + id, + 0, + NV_CTRL_STRING_GPU_UTILIZATION, + &atts); + + if (res != True) + return UNKNOWN_DBL_VALUE; + + v = get_usage_att(atts, stype); + + free(atts); + + return v; +} + +static double get_value(int id, int type) +{ + int att; + + if (type & SENSOR_TYPE_TEMP) { + if (type & SENSOR_TYPE_AMBIENT) + att = NV_CTRL_AMBIENT_TEMPERATURE; + else + att = NV_CTRL_GPU_CORE_TEMPERATURE; + + return get_att(NV_CTRL_TARGET_TYPE_GPU, id, att); + } else if (type & SENSOR_TYPE_FAN) { + if (type & SENSOR_TYPE_RPM) + return get_att(NV_CTRL_TARGET_TYPE_COOLER, + id, + NV_CTRL_THERMAL_COOLER_SPEED); + else /* SENSOR_TYPE_PERCENT */ + return get_att(NV_CTRL_TARGET_TYPE_COOLER, + id, + NV_CTRL_THERMAL_COOLER_LEVEL); + } else { /* SENSOR_TYPE_PERCENT */ + return get_usage(id, type); + } +} + +static void update(struct psensor *sensor) +{ + double v; + + v = get_value(sensor->nvidia_id, sensor->type); + + if (v == UNKNOWN_DBL_VALUE) + log_err(_("%s: Failed to retrieve measure of type %x " + "for NVIDIA GPU %d"), + PROVIDER_NAME, + sensor->type, + sensor->nvidia_id); + psensor_set_current_value(sensor, v); +} + +static int check_sensor(int id, int type) +{ + return get_value(id, type) != UNKNOWN_DBL_VALUE; } -static struct psensor *create_sensor(int id, int values_len) +static char *i2str(int i) { - char name[200]; - char *sid; + char *str; + size_t n; + + /* second +1 to avoid issue about the conversion of a double + * to a lower int */ + n = 1 + (ceil(log10(INT_MAX)) + 1) + 1; + + str = malloc(n); + snprintf(str, n, "%d", i); + + return str; +} + +static struct psensor *create_nvidia_sensor(int id, int subtype, int value_len) +{ + char *pname, *name, *strnid, *sid; + const char *stype; + int type; + size_t n; struct psensor *s; - int t; - sprintf(name, "GPU%d", id); + type = SENSOR_TYPE_NVCTRL | subtype; + + if (!check_sensor(id, type)) + return NULL; - sid = malloc(strlen("NVIDIA") + 1 + strlen(name) + 1); - sprintf(sid, "NVIDIA %s", name); + pname = get_product_name(id, type); + strnid = i2str(id); + stype = get_nvidia_type_str(type); - t = SENSOR_TYPE_NVCTRL | SENSOR_TYPE_GPU | SENSOR_TYPE_TEMP; + n = strlen(pname) + 1 + strlen(strnid) + 1 + strlen(stype) + 1; + name = malloc(n); + sprintf(name, "%s %s %s", pname, strnid, stype); - s = psensor_create(sid, - strdup(name), - strdup(_("NVIDIA GPU")), - t, - values_len); + sid = malloc(strlen(PROVIDER_NAME) + 1 + strlen(name) + 1); + sprintf(sid, "%s %s", PROVIDER_NAME, name); + s = psensor_create(sid, name, pname, type, value_len); s->nvidia_id = id; + free(strnid); + return s; } -/* - Opens connection to X server and returns the number - of NVIDIA GPUs. - - Return 0 if no NVIDIA gpus or cannot get information. -*/ static int init() { - int evt, err, n; + int evt, err; display = XOpenDisplay(NULL); if (!display) { - log_err(_("Cannot open connection to X11 server.")); + log_err(_("%s: Cannot open connection to X11 server."), + PROVIDER_NAME); return 0; } - if (XNVCTRLQueryExtension(display, &evt, &err) && - XNVCTRLQueryTargetCount(display, NV_CTRL_TARGET_TYPE_GPU, &n)) - return n; + if (XNVCTRLQueryExtension(display, &evt, &err)) + return 1; - log_err(_("Failed to retrieve NVIDIA information.")); + log_err(_("%s: Failed to retrieve NVIDIA information."), + PROVIDER_NAME); return 0; } void nvidia_psensor_list_update(struct psensor **sensors) { - struct psensor **ss, *s; + struct psensor *s; - ss = sensors; - while (*ss) { - s = *ss; + while (*sensors) { + s = *sensors; - if (s->type & SENSOR_TYPE_NVCTRL) - psensor_set_current_value(s, get_temp(s)); + if (!(s->type & SENSOR_TYPE_REMOTE) + && s->type & SENSOR_TYPE_NVCTRL) + update(s); - ss++; + sensors++; } } -struct psensor **nvidia_psensor_list_add(struct psensor **sensors, - int values_len) +static void add(struct psensor ***sensors, int id, int type, int values_len) { - int i, n; - struct psensor **tmp, **ss, *s; - - n = init(); - - ss = sensors; - for (i = 0; i < n; i++) { - s = create_sensor(i, values_len); + struct psensor *s; - tmp = psensor_list_add(ss, s); + s = create_nvidia_sensor(id, type, values_len); - if (ss != tmp) - free(ss); + if (s) + psensor_list_append(sensors, s); +} - ss = tmp; +void nvidia_psensor_list_append(struct psensor ***ss, int values_len) +{ + int i, n, utype; + Bool ret; + + if (!init()) + return; + + ret = XNVCTRLQueryTargetCount(display, NV_CTRL_TARGET_TYPE_GPU, &n); + if (ret == True) { + for (i = 0; i < n; i++) { + add(ss, + i, + SENSOR_TYPE_GPU | SENSOR_TYPE_TEMP, + values_len); + + utype = SENSOR_TYPE_GPU | SENSOR_TYPE_PERCENT; + add(ss, i, utype | SENSOR_TYPE_AMBIENT, values_len); + add(ss, i, utype | SENSOR_TYPE_GRAPHICS, values_len); + add(ss, i, utype | SENSOR_TYPE_VIDEO, values_len); + add(ss, i, utype | SENSOR_TYPE_MEMORY, values_len); + add(ss, i, utype | SENSOR_TYPE_PCIE, values_len); + } } - return ss; + ret = XNVCTRLQueryTargetCount(display, NV_CTRL_TARGET_TYPE_COOLER, &n); + if (ret == True) { + log_fct("%s: Number of fans: %d", PROVIDER_NAME, n); + for (i = 0; i < n; i++) { + utype = SENSOR_TYPE_FAN | SENSOR_TYPE_RPM; + if (check_sensor(i, utype)) + add(ss, i, utype, values_len); + + utype = SENSOR_TYPE_FAN | SENSOR_TYPE_PERCENT; + if (check_sensor(i, utype)) + add(ss, i, utype, values_len); + } + } else { + log_err(_("%s: Failed to retrieve number of fans."), + PROVIDER_NAME); + } } void nvidia_cleanup() diff --git a/src/lib/nvidia.h b/src/lib/nvidia.h index 9c1089c..a94d72e 100644 --- a/src/lib/nvidia.h +++ b/src/lib/nvidia.h @@ -19,21 +19,11 @@ #ifndef _PSENSOR_NVIDIA_H_ #define _PSENSOR_NVIDIA_H_ -#include "psensor.h" +#include -/* - Updates temperatures of NVidia sensors. -*/ void nvidia_psensor_list_update(struct psensor **sensors); -/* - Adds NVIDIA sensors to a given list of sensors. - - Returns the new allocated list of sensors if sensors have been added - otherwise returns 'sensors'. The list is 'NULL' terminated. - */ -struct psensor **nvidia_psensor_list_add(struct psensor **sensors, - int values_max_length); +void nvidia_psensor_list_append(struct psensor ***sensors, int values_length); void nvidia_cleanup(); diff --git a/src/lib/pgtop2.c b/src/lib/pgtop2.c new file mode 100644 index 0000000..a25c705 --- /dev/null +++ b/src/lib/pgtop2.c @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2010-2014 jeanfi@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ +#include +#include +#define _(str) gettext(str) + +#include + +#include +#include + +#include + +static float last_used; +static float last_total; + +static const char *PROVIDER_NAME = "gtop2"; + +struct psensor *create_cpu_usage_sensor(int measures_len) +{ + char *label, *id; + int type; + struct psensor *psensor; + + id = g_strdup_printf("%s cpu usage", PROVIDER_NAME); + label = strdup(_("CPU usage")); + type = SENSOR_TYPE_GTOP | SENSOR_TYPE_CPU_USAGE; + + psensor = psensor_create(id, + label, + strdup(_("CPU")), + type, + measures_len); + + return psensor; +} + +static struct psensor *create_mem_free_sensor(int measures_len) +{ + char *id; + int type; + + id = g_strdup_printf("%s mem free", PROVIDER_NAME); + type = SENSOR_TYPE_GTOP | SENSOR_TYPE_MEMORY | SENSOR_TYPE_PERCENT; + + return psensor_create(id, + strdup(_("free memory")), + strdup(_("memory")), + type, + measures_len); +} + +static double get_usage() +{ + glibtop_cpu cpu; + unsigned long int used, dt; + double cpu_rate; + + glibtop_get_cpu(&cpu); + + used = cpu.user + cpu.nice + cpu.sys; + + dt = cpu.total - last_total; + + if (dt) + cpu_rate = 100.0 * (used - last_used) / dt; + else + cpu_rate = UNKNOWN_DBL_VALUE; + + last_used = used; + last_total = cpu.total; + + return cpu_rate; +} + +static double get_mem_free() +{ + glibtop_mem mem; + double v; + + glibtop_get_mem(&mem); + v = ((double)mem.free) * 100.0 / mem.total; + + return v; +} + +void gtop2_psensor_list_append(struct psensor ***sensors, int measures_len) +{ + psensor_list_append(sensors, create_cpu_usage_sensor(measures_len)); + psensor_list_append(sensors, create_mem_free_sensor(measures_len)); +} + +void cpu_usage_sensor_update(struct psensor *s) +{ + double v; + + v = get_usage(); + + if (v != UNKNOWN_DBL_VALUE) + psensor_set_current_value(s, v); +} + +void mem_free_sensor_update(struct psensor *s) +{ + double v; + + v = get_mem_free(); + + if (v != UNKNOWN_DBL_VALUE) + psensor_set_current_value(s, v); +} + +void gtop2_psensor_list_update(struct psensor **sensors) +{ + struct psensor *s; + + while (*sensors) { + s = *sensors; + + if (!(s->type & SENSOR_TYPE_REMOTE) + && s->type & SENSOR_TYPE_GTOP) { + if (s->type & SENSOR_TYPE_CPU) + cpu_usage_sensor_update(s); + else if (s->type & SENSOR_TYPE_MEMORY) + mem_free_sensor_update(s); + } + + sensors++; + } +} diff --git a/src/lib/pgtop2.h b/src/lib/pgtop2.h new file mode 100644 index 0000000..c7c3968 --- /dev/null +++ b/src/lib/pgtop2.h @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2010-2014 jeanfi@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ +#ifndef _PSENSOR_PGTOP2_H_ +#define _PSENSOR_PGTOP2_H_ + +#include + +struct psensor *create_cpu_usage_sensor(int measures_len); +void cpu_usage_sensor_update(struct psensor *); + +void gtop2_psensor_list_update(struct psensor **); + +void gtop2_psensor_list_append(struct psensor ***sensors, int values_max_len); + +#endif diff --git a/src/lib/pio.c b/src/lib/pio.c index f6ebc73..217349b 100644 --- a/src/lib/pio.c +++ b/src/lib/pio.c @@ -164,6 +164,7 @@ char *file_get_content(const char *fpath) } else { FILE *fp = fopen(fpath, "rb"); + if (fp) { page = malloc(size + 1); if (!page || size != fread(page, 1, size, fp)) { diff --git a/src/lib/plog.c b/src/lib/plog.c index 21427a9..48c6009 100644 --- a/src/lib/plog.c +++ b/src/lib/plog.c @@ -46,7 +46,7 @@ void log_open(const char *path) void log_close() { if (!file) - return ; + return; fclose(file); @@ -62,7 +62,7 @@ static void vlogf(int lvl, const char *fct, const char *fmt, va_list ap) FILE *stdf; if (lvl > LOG_INFO && (!file || lvl > log_level)) - return ; + return; vsnprintf(buffer, LOG_BUFFER, fmt, ap); buffer[LOG_BUFFER] = '\0'; @@ -86,7 +86,7 @@ static void vlogf(int lvl, const char *fct, const char *fmt, va_list ap) t = get_current_ISO8601_time(); if (!t) - return ; + return; if (file && lvl <= log_level) { if (fct) @@ -129,7 +129,7 @@ void log_debug(const char *fmt, ...) va_list ap; if (log_level < LOG_DEBUG) - return ; + return; va_start(ap, fmt); vlogf(LOG_DEBUG, NULL, fmt, ap); diff --git a/src/lib/psensor.c b/src/lib/psensor.c index 9f063d0..b9da81d 100644 --- a/src/lib/psensor.c +++ b/src/lib/psensor.c @@ -25,13 +25,8 @@ #include #include -#include #include -#ifdef HAVE_GTOP -#include "cpu.h" -#endif - struct psensor *psensor_create(char *id, char *name, char *chip, @@ -68,6 +63,9 @@ struct psensor *psensor_create(char *id, psensor->graph_enabled = 1; psensor->appindicator_enabled = 0; + psensor->provider_data = NULL; + psensor->provider_data_free_fct = &free; + return psensor; } @@ -82,6 +80,7 @@ void psensor_values_resize(struct psensor *s, int new_size) if (cur_ms) { int i; + for (i = 0; i < new_size - 1 && i < cur_size - 1; i++) measure_copy(&cur_ms[cur_size - i - 1], &new_ms[new_size - i - 1]); @@ -93,26 +92,30 @@ void psensor_values_resize(struct psensor *s, int new_size) s->measures = new_ms; } -void psensor_free(struct psensor *sensor) +void psensor_free(struct psensor *s) { - if (sensor) { - log_debug("Cleanup %s", sensor->id); + if (!s) + return; - free(sensor->name); - free(sensor->id); + log_debug("Cleanup %s", s->id); - if (sensor->chip) - free(sensor->chip); + free(s->name); + free(s->id); - if (sensor->color) - free(sensor->color); + if (s->chip) + free(s->chip); - measures_free(sensor->measures); + if (s->color) + free(s->color); - free(sensor->url); + measures_free(s->measures); - free(sensor); - } + free(s->url); + + if (s->provider_data && s->provider_data_free_fct) + s->provider_data_free_fct(s->provider_data); + + free(s); } void psensor_list_free(struct psensor **sensors) @@ -152,27 +155,12 @@ int psensor_list_size(struct psensor **sensors) return size; } -int psensor_list_contains_type(struct psensor **sensors, unsigned int type) -{ - struct psensor **s; - - if (!sensors) - return 0; - - s = sensors; - while (*s) { - if ((*s)->type & type) - return 1; - s++; - } - - return 0; -} - struct psensor **psensor_list_add(struct psensor **sensors, struct psensor *sensor) { - int size = psensor_list_size(sensors); + int size; + + size = psensor_list_size(sensors); struct psensor **result = malloc((size + 1 + 1) * sizeof(struct psensor *)); @@ -186,6 +174,22 @@ struct psensor **psensor_list_add(struct psensor **sensors, return result; } +void psensor_list_append(struct psensor ***sensors, struct psensor *sensor) +{ + struct psensor **tmp; + + if (!sensor) + return; + + tmp = psensor_list_add(*sensors, sensor); + + if (tmp != *sensors) { + free(*sensors); + *sensors = tmp; + } +} + + struct psensor *psensor_list_get_by_id(struct psensor **sensors, const char *id) { struct psensor **sensors_cur = sensors; @@ -205,11 +209,6 @@ int is_temp_type(unsigned int type) return type & SENSOR_TYPE_TEMP; } -int is_fan_type(unsigned int type) -{ - return type & SENSOR_TYPE_FAN; -} - char * psensor_value_to_str(unsigned int type, double value, int use_celsius) { @@ -334,6 +333,7 @@ double get_max_value(struct psensor **sensors, int type) if (sensor->type & type) { int i; double t; + for (i = 0; i < sensor->values_max_length; i++) { t = sensor->measures[i].value; @@ -392,47 +392,21 @@ double get_max_temp(struct psensor **sensors) return get_max_value(sensors, SENSOR_TYPE_TEMP); } -struct psensor **get_all_sensors(int use_libatasmart, int values_max_length) -{ - struct psensor **psensors; - struct psensor **tmp_psensors; - - psensors = lmsensor_psensor_list_add(NULL, values_max_length); - - if (!use_libatasmart) { - tmp_psensors = hddtemp_psensor_list_add(psensors, - values_max_length); - if (tmp_psensors != psensors) { - free(psensors); - psensors = tmp_psensors; - } - } -#ifdef HAVE_ATASMART - else { - tmp_psensors = hdd_psensor_list_add(psensors, - values_max_length); - if (tmp_psensors != psensors) { - free(psensors); - psensors = tmp_psensors; - } - } -#endif - - if (!psensors) { /* there is no detected sensors */ - psensors = malloc(sizeof(struct psensor *)); - *psensors = NULL; - } - - return psensors; -} - const char *psensor_type_to_str(unsigned int type) { if (type & SENSOR_TYPE_NVCTRL) { if (type & SENSOR_TYPE_TEMP) - return "NVIDIA GPU Temperature"; - else - return "NVIDIA GPU"; + return "Temperature"; + else if (type & SENSOR_TYPE_GRAPHICS) + return "Graphics usage"; + else if (type & SENSOR_TYPE_VIDEO) + return "Video usage"; + else if (type & SENSOR_TYPE_MEMORY) + return "Memory usage"; + else if (type & SENSOR_TYPE_PCIE) + return "PCIe usage"; + + return "NVIDIA GPU"; } if (type & SENSOR_TYPE_ATIADL) { @@ -440,8 +414,8 @@ const char *psensor_type_to_str(unsigned int type) return "AMD GPU Temperature"; else if (type & SENSOR_TYPE_RPM) return "AMD GPU Fan Speed"; - else /* type & SENSOR_TYPE_USAGE */ - return "AMD GPU Usage"; + /*else type & SENSOR_TYPE_USAGE */ + return "AMD GPU Usage"; } if ((type & SENSOR_TYPE_HDD_TEMP) == SENSOR_TYPE_HDD_TEMP) @@ -453,7 +427,7 @@ const char *psensor_type_to_str(unsigned int type) if (type & SENSOR_TYPE_TEMP) return "Temperature"; - if (type & SENSOR_TYPE_FAN) + if (type & SENSOR_TYPE_RPM) return "Fan"; if (type & SENSOR_TYPE_CPU) @@ -462,6 +436,9 @@ const char *psensor_type_to_str(unsigned int type) if (type & SENSOR_TYPE_REMOTE) return "Remote"; + if (type & SENSOR_TYPE_MEMORY) + return "Memory"; + return "N/A"; } @@ -471,32 +448,13 @@ const char *psensor_type_to_unit_str(unsigned int type, int use_celsius) if (is_temp_type(type)) { if (use_celsius) return "\302\260C"; - else - return "\302\260F"; - } else if (is_fan_type(type)) { + return "\302\260F"; + } else if (type & SENSOR_TYPE_RPM) { return _("RPM"); - } else if (type & SENSOR_TYPE_CPU_USAGE) { + } else if (type & SENSOR_TYPE_PERCENT) { return _("%"); - } else { - return _("N/A"); } -} - -void psensor_list_update_measures(struct psensor **sensors) -{ - lmsensor_psensor_list_update(sensors); - -#ifdef HAVE_GTOP - cpu_psensor_list_update(sensors); -#endif - - if (psensor_list_contains_type(sensors, SENSOR_TYPE_HDDTEMP)) - hddtemp_psensor_list_update(sensors); - -#ifdef HAVE_ATASMART - if (psensor_list_contains_type(sensors, SENSOR_TYPE_ATASMART)) - hdd_psensor_list_update(sensors); -#endif + return _("N/A"); } void psensor_log_measures(struct psensor **sensors) @@ -511,16 +469,6 @@ void psensor_log_measures(struct psensor **sensors) } } -void psensor_init() -{ - lmsensor_init(); -} - -void psensor_cleanup() -{ - lmsensor_cleanup(); -} - struct psensor **psensor_list_copy(struct psensor **sensors) { struct psensor **result; diff --git a/src/lib/psensor.h b/src/lib/psensor.h index b7d73b4..cec6d0f 100644 --- a/src/lib/psensor.h +++ b/src/lib/psensor.h @@ -35,7 +35,7 @@ enum psensor_type { /* type of sensor values */ SENSOR_TYPE_TEMP = 0x00001, SENSOR_TYPE_RPM = 0x00002, - SENSOR_TYPE_USAGE = 0x00004, + SENSOR_TYPE_PERCENT = 0x00004, /* Whether the sensor is remote */ SENSOR_TYPE_REMOTE = 0x00008, @@ -47,6 +47,7 @@ enum psensor_type { SENSOR_TYPE_ATIADL = 0x00800, SENSOR_TYPE_ATASMART = 0x01000, SENSOR_TYPE_HDDTEMP = 0x02000, + SENSOR_TYPE_UDISKS2 = 0x800000, /* Type of HW component */ SENSOR_TYPE_HDD = 0x04000, @@ -54,9 +55,15 @@ enum psensor_type { SENSOR_TYPE_GPU = 0x10000, SENSOR_TYPE_FAN = 0x20000, + SENSOR_TYPE_GRAPHICS = 0x40000, + SENSOR_TYPE_VIDEO = 0x80000, + SENSOR_TYPE_PCIE = 0x100000, + SENSOR_TYPE_MEMORY = 0x200000, + SENSOR_TYPE_AMBIENT = 0x400000, + /* Combinations */ SENSOR_TYPE_HDD_TEMP = (SENSOR_TYPE_HDD | SENSOR_TYPE_TEMP), - SENSOR_TYPE_CPU_USAGE = (SENSOR_TYPE_CPU | SENSOR_TYPE_USAGE) + SENSOR_TYPE_CPU_USAGE = (SENSOR_TYPE_CPU | SENSOR_TYPE_PERCENT) }; struct psensor { @@ -71,13 +78,14 @@ struct psensor { /* lm-sensor */ const sensors_chip_name *iname; + const sensors_feature *feature; /* Maximum length of 'values' */ int values_max_length; /* Last registered measures of the sensor. Index 0 for the - oldest measure. */ + * oldest measure. */ struct measure *measures; /* Color of the sensor used for the graph */ @@ -104,7 +112,7 @@ struct psensor { /* Whether an alarm is raised for this sensor */ unsigned int alarm_raised; - void (*cb_alarm_raised) (struct psensor *, void *); + void (*cb_alarm_raised)(struct psensor *, void *); void *cb_alarm_raised_data; #ifdef HAVE_NVIDIA @@ -118,6 +126,10 @@ struct psensor { #ifdef HAVE_ATASMART SkDisk *disk; #endif + + void *provider_data; + void (*provider_data_free_fct)(void *); + char *url; bool appindicator_enabled; @@ -141,13 +153,7 @@ struct psensor **psensor_list_filter_graph_enabled(struct psensor **); struct psensor *psensor_list_get_by_id(struct psensor **sensors, const char *id); -/* - Return 1 if there is at least one sensor of a given type, else - returns 0 */ -int psensor_list_contains_type(struct psensor **sensors, unsigned int type); - int is_temp_type(unsigned int type); -int is_fan_type(unsigned int type); double get_min_temp(struct psensor **sensors); double get_max_temp(struct psensor **sensors); @@ -155,18 +161,16 @@ double get_max_temp(struct psensor **sensors); double get_min_rpm(struct psensor **sensors); double get_max_rpm(struct psensor **sensors); -/* - Get the maximal current value of all sensors of a given type. -*/ +/* Get the maximal current value of all sensors of a given type. */ double psensor_get_max_current_value(struct psensor **sensors, unsigned int type); /* - Converts the value of a sensor to a string. - - parameter 'type' is SENSOR_TYPE_LMSENSOR_TEMP, SENSOR_TYPE_NVIDIA, - or SENSOR_TYPE_LMSENSOR_FAN -*/ + * Converts the value of a sensor to a string. + * + * parameter 'type' is SENSOR_TYPE_LMSENSOR_TEMP, SENSOR_TYPE_NVIDIA, + * or SENSOR_TYPE_LMSENSOR_FAN + */ char *psensor_value_to_str(unsigned int type, double value, int use_celsius); @@ -180,6 +184,8 @@ struct psensor **get_all_sensors(int use_libatasmart, int values_max_length); struct psensor **psensor_list_add(struct psensor **sensors, struct psensor *sensor); +void psensor_list_append(struct psensor ***sensors, struct psensor *sensor); + struct psensor **psensor_list_copy(struct psensor **); void psensor_set_current_value(struct psensor *sensor, double value); @@ -190,19 +196,11 @@ double psensor_get_current_value(const struct psensor *); struct measure *psensor_get_current_measure(struct psensor *sensor); -/* - Returns a string representation of a psensor type. -*/ +/* Returns a string representation of a psensor type. */ const char *psensor_type_to_str(unsigned int type); const char *psensor_type_to_unit_str(unsigned int type, int use_celsius); -void psensor_list_update_measures(struct psensor **sensors); - -void psensor_init(); - -void psensor_cleanup(); - double get_max_value(struct psensor **sensors, int type); char *psensor_current_value_to_str(const struct psensor *, unsigned int); diff --git a/src/lib/psensor_json.h b/src/lib/psensor_json.h index 50634e9..6d109a6 100644 --- a/src/lib/psensor_json.h +++ b/src/lib/psensor_json.h @@ -36,7 +36,7 @@ char *sensors_to_json_string(struct psensor **sensors); * Creates a new allocated psensor corresponding to a given json * representation. */ -struct psensor *psensor_new_from_json(json_object * o, +struct psensor *psensor_new_from_json(json_object *o, const char *sensors_url, int values_max_length); #endif diff --git a/src/lib/ptime.c b/src/lib/ptime.c index 2c06c7c..faa0382 100644 --- a/src/lib/ptime.c +++ b/src/lib/ptime.c @@ -54,12 +54,11 @@ char *tm_to_ISO8601_date(struct tm *tm) str = malloc(ISO8601_DATE_LENGTH + 1); - if (strftime(str, ISO8601_DATE_LENGTH + 1, "%F", tm)) { + if (strftime(str, ISO8601_DATE_LENGTH + 1, "%F", tm)) return str; - } else { - free(str); - return NULL; - } + + free(str); + return NULL; } char *tm_to_ISO8601_time(struct tm *tm) @@ -68,12 +67,11 @@ char *tm_to_ISO8601_time(struct tm *tm) str = malloc(ISO8601_TIME_LENGTH + 1); - if (strftime(str, ISO8601_TIME_LENGTH + 1, "%FT%T", tm)) { + if (strftime(str, ISO8601_TIME_LENGTH + 1, "%FT%T", tm)) return str; - } else { - free(str); - return NULL; - } + + free(str); + return NULL; } char *get_current_ISO8601_time() diff --git a/src/lib/pudisks2.c b/src/lib/pudisks2.c new file mode 100644 index 0000000..5a7503e --- /dev/null +++ b/src/lib/pudisks2.c @@ -0,0 +1,216 @@ +/* + * Copyright (C) 2010-2014 jeanfi@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ +#include +#include +#define _(str) gettext(str) + +#include +#include +#include + +#include + +#include +#include + +const char *PROVIDER_NAME = "udisks2"; + +static GDBusObjectManager *manager; + +const time_t SMART_UPDATE_INTERVAL = 30; + +struct udisks_data { + char *path; + struct timeval last_smart_update; +}; + +void udisks_data_free(void *data) +{ + struct udisks_data *u; + + u = (struct udisks_data *)data; + free(u->path); + free(u); +} + +static void smart_update(struct psensor *s, UDisksDriveAta *ata) +{ + GVariant *variant; + gboolean ret; + struct timeval t; + struct udisks_data *data; + + data = s->provider_data; + + if (gettimeofday(&t, NULL) != 0) { + log_err("%s: %s", PROVIDER_NAME, _("gettimeofday failed.")); + return; + } + + if (data->last_smart_update.tv_sec + && + (t.tv_sec - data->last_smart_update.tv_sec < SMART_UPDATE_INTERVAL)) + return; + + log_fct("%s: update SMART data for %s", PROVIDER_NAME, data->path); + + variant = g_variant_new_parsed("{'nowakeup': %v}", + g_variant_new_boolean(TRUE)); + + ret = udisks_drive_ata_call_smart_update_sync(ata, + variant, + NULL, + NULL); + + if (!ret) + log_fct("%s: SMART update failed for %s", + PROVIDER_NAME, + data->path); + + data->last_smart_update = t; +} + +void udisks2_psensor_list_update(struct psensor **sensors) +{ + struct psensor *s; + GDBusObject *o; + UDisksDriveAta *drive_ata; + double v; + struct udisks_data *data; + + for (; *sensors; sensors++) { + s = *sensors; + + if (s->type & SENSOR_TYPE_REMOTE) + continue; + + if (s->type & SENSOR_TYPE_UDISKS2) { + data = (struct udisks_data *)s->provider_data; + + o = g_dbus_object_manager_get_object(manager, + data->path); + + if (!o) + continue; + + g_object_get(o, "drive-ata", &drive_ata, NULL); + + smart_update(s, drive_ata); + + v = udisks_drive_ata_get_smart_temperature(drive_ata); + + psensor_set_current_value(s, kelvin_to_celsius(v)); + + g_object_unref(G_OBJECT(o)); + } + } +} + +void udisks2_psensor_list_append(struct psensor ***sensors, int values_length) +{ + UDisksClient *client; + GList *objects, *cur; + UDisksDrive *drive; + UDisksDriveAta *drive_ata; + int i, type; + char *id, *name, *chip; + const char *path, *drive_id, *drive_model; + struct psensor *s; + struct udisks_data *data; + + log_fct_enter(); + + client = udisks_client_new_sync(NULL, NULL); + + if (!client) { + log_err(_("%s: cannot get the udisks2 client"), PROVIDER_NAME); + log_fct_exit(); + return; + } + + manager = udisks_client_get_object_manager(client); + + objects = g_dbus_object_manager_get_objects(manager); + + i = 0; + for (cur = objects; cur; cur = cur->next) { + path = g_dbus_object_get_object_path(cur->data); + + g_object_get(cur->data, + "drive", &drive, + "drive-ata", &drive_ata, + NULL); + + if (!drive) { + log_fct("Not a drive: %s", path); + continue; + } + + if (!drive_ata) { + log_fct("Not an ATA drive: %s", path); + continue; + } + + if (!udisks_drive_ata_get_smart_enabled(drive_ata)) { + log_fct("SMART not enabled: %s", path); + continue; + } + + if (!udisks_drive_ata_get_smart_temperature(drive_ata)) { + log_fct("No temperature available: %s", path); + continue; + } + + drive_id = udisks_drive_get_id(drive); + if (drive_id) { + id = g_strdup_printf("%s %s", PROVIDER_NAME, drive_id); + } else { + id = g_strdup_printf("%s %d", PROVIDER_NAME, i); + i++; + } + + drive_model = udisks_drive_get_model(drive); + if (drive_model) { + name = strdup(drive_model); + chip = strdup(drive_model); + } else { + name = strdup(_("Disk")); + chip = strdup(_("Disk")); + } + + type = SENSOR_TYPE_TEMP | SENSOR_TYPE_UDISKS2 | SENSOR_TYPE_HDD; + + s = psensor_create(id, name, chip, type, values_length); + + data = malloc(sizeof(struct udisks_data)); + data->path = strdup(path); + memset(&data->last_smart_update, 0, sizeof(struct timeval)); + + s->provider_data = data; + s->provider_data_free_fct = &udisks_data_free; + + psensor_list_append(sensors, s); + + g_object_unref(G_OBJECT(cur->data)); + } + + g_list_free(objects); + + log_fct_exit(); +} diff --git a/src/lib/pudisks2.h b/src/lib/pudisks2.h new file mode 100644 index 0000000..1a844bc --- /dev/null +++ b/src/lib/pudisks2.h @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2010-2014 jeanfi@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ +#ifndef _PSENSOR_UDISKS2_H_ +#define _PSENSOR_UDISKS2_H_ + +#include + +void udisks2_psensor_list_append(struct psensor ***sensors, int values_length); +void udisks2_psensor_list_update(struct psensor **sensors); + +#endif diff --git a/src/lib/slog.c b/src/lib/slog.c index 15ccd0b..5b16526 100644 --- a/src/lib/slog.c +++ b/src/lib/slog.c @@ -58,12 +58,11 @@ static char *time_to_str(time_t *t) str = malloc(64); - if (strftime(str, 64, "%s", <)) { + if (strftime(str, 64, "%s", <)) return str; - } else { - free(str); - return NULL; - } + + free(str); + return NULL; } static char *get_default_path() @@ -83,10 +82,10 @@ static char *get_default_path() free(dir); return path; - } else { - log_warn(_("HOME variable not set.")); - return strdup(DEFAULT_FILENAME); } + + log_warn(_("HOME variable not set.")); + return strdup(DEFAULT_FILENAME); } static bool slog_open(const char *path, struct psensor **sensors) @@ -135,7 +134,7 @@ static void slog_write_sensors(struct psensor **sensors) if (!file) { log_debug(_("Sensor log file not open.")); - return ; + return; } gettimeofday(&tv, NULL); diff --git a/src/lib/temperature.c b/src/lib/temperature.c index 3e74898..0ad5a43 100644 --- a/src/lib/temperature.c +++ b/src/lib/temperature.c @@ -28,3 +28,7 @@ double fahrenheit_to_celsius(double f) return (f - 32) * (5.0/9.0); } +double kelvin_to_celsius(double k) +{ + return k - 273.5; +} diff --git a/src/lib/temperature.h b/src/lib/temperature.h index b36c90e..591b39b 100644 --- a/src/lib/temperature.h +++ b/src/lib/temperature.h @@ -21,5 +21,6 @@ double celsius_to_fahrenheit(double c); double fahrenheit_to_celsius(double c); +double kelvin_to_celsius(double k); #endif diff --git a/src/main.c b/src/main.c index e9b10b2..7840485 100644 --- a/src/main.c +++ b/src/main.c @@ -31,6 +31,7 @@ #include "config.h" #include "cfg.h" +#include #include "psensor.h" #include "graph.h" #include "ui.h" @@ -39,6 +40,7 @@ #include "lmsensor.h" #include "notify_cmd.h" #include +#include #include "slog.h" #include "ui_pref.h" #include "ui_graph.h" @@ -67,7 +69,7 @@ #endif #ifdef HAVE_GTOP -#include "cpu.h" +#include #endif static const char *program_name; @@ -102,9 +104,6 @@ static void print_help() " -u, --url=URL the URL of the psensor-server,\n" " example: http://hostname:3131")); puts(_( -" --use-libatasmart use atasmart library for disk monitoring instead of\n" -" hddtemp daemon")); - puts(_( " -n, --new-instance force the creation of a new Psensor application")); puts(""); @@ -155,7 +154,7 @@ static void *update_measures(void *data) update_psensor_values_size(sensors, cfg); - psensor_list_update_measures(sensors); + lmsensor_psensor_list_update(sensors); #ifdef HAVE_REMOTE_SUPPORT remote_psensor_list_update(sensors); #endif @@ -165,6 +164,17 @@ static void *update_measures(void *data) #ifdef HAVE_LIBATIADL amd_psensor_list_update(sensors); #endif +#ifdef HAVE_LIBUDISKS2 + udisks2_psensor_list_update(sensors); +#endif +#ifdef HAVE_GTOP + gtop2_psensor_list_update(sensors); +#endif +#ifdef HAVE_ATASMART + atasmart_psensor_list_update(sensors); +#endif + + hddtemp_psensor_list_update(sensors); psensor_log_measures(sensors); @@ -251,29 +261,47 @@ static void cb_alarm_raised(struct psensor *sensor, void *data) static void associate_colors(struct psensor **sensors) { - /* number of uniq colors */ -#define COLORS_COUNT 8 - - double colors[COLORS_COUNT][3] = { - {0, 0, 0}, /* black */ - {1, 0, 0}, /* red */ - {0, 0, 1}, /* blue */ - {0, 1, 0}, /* green */ - - {0.5, 0.5, 0.5},/* grey */ - {0.5, 0, 0}, /* dark red */ - {0, 0, 0.5}, /* dark blue */ - {0, 0.5, 0} /* dark green */ + GdkRGBA rgba; + /* copied from the default colors of the gtk color color + * chooser. */ + const char *default_colors[27] = { + "#ef2929", /* Scarlet Red */ + "#fcaf3e", /* Orange */ + "#fce94f", /* Butter */ + "#8ae234", /* Chameleon */ + "#729fcf", /* Sky Blue */ + "#ad7fa8", /* Plum */ + "#e9b96e", /* Chocolate */ + "#888a85", /* Aluminum 1 */ + "#eeeeec", /* Aluminum 2 */ + "#cc0000", + "#f57900", + "#edd400", + "#73d216", + "#3465a4", + "#75507b", + "#c17d11", + "#555753", + "#d3d7cf", + "#a40000", + "#ce5c00", + "#c4a000", + "#4e9a06", + "#204a87", + "#5c3566", + "#8f5902", + "#2e3436", + "#babdb6" }; - struct psensor **cur; int i; + struct psensor **cur; struct color c; for (cur = sensors, i = 0; *cur; cur++, i++) { - color_set(&c, - colors[i % COLORS_COUNT][0], - colors[i % COLORS_COUNT][1], - colors[i % COLORS_COUNT][2]); + gdk_rgba_parse(&rgba, default_colors[i % 27]); + c.red = rgba.red; + c.green = rgba.green; + c.blue = rgba.blue; (*cur)->color = config_get_sensor_color((*cur)->id, &c); } @@ -283,6 +311,7 @@ static void associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui) { struct psensor **sensor_cur = sensors; + while (*sensor_cur) { struct psensor *s = *sensor_cur; @@ -294,13 +323,8 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui) s->alarm_low_threshold = config_get_sensor_alarm_low_threshold(s->id); - if (is_temp_type(s->type) || is_fan_type(s->type)) { - s->alarm_enabled + s->alarm_enabled = config_get_sensor_alarm_enabled(s->id); - } else { - s->alarm_high_threshold = 0; - s->alarm_enabled = 0; - } sensor_cur++; } @@ -309,6 +333,7 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui) static void associate_preferences(struct psensor **sensors) { struct psensor **sensor_cur = sensors; + while (*sensor_cur) { char *n; struct psensor *s = *sensor_cur; @@ -336,7 +361,7 @@ static void log_init() dir = get_psensor_user_dir(); if (!dir) - return ; + return; path = malloc(strlen(dir)+1+strlen("log")+1); sprintf(path, "%s/%s", dir, "log"); @@ -347,7 +372,6 @@ static void log_init() } static struct option long_options[] = { - {"use-libatasmart", no_argument, 0, 0}, {"version", no_argument, 0, 'v'}, {"help", no_argument, 0, 'h'}, {"url", required_argument, 0, 'u'}, @@ -406,8 +430,6 @@ static void cleanup(struct ui_psensor *ui) log_debug("Cleanup..."); - psensor_cleanup(); - #ifdef HAVE_NVIDIA nvidia_cleanup(); #endif @@ -438,10 +460,8 @@ static void cleanup(struct ui_psensor *ui) * Creates the list of sensors. * * 'url': remote psensor server url, null for local monitoring. - * 'use_libatasmart': whether the libatasmart must be used. */ -static struct psensor **create_sensors_list(const char *url, - unsigned int use_libatasmart) +static struct psensor **create_sensors_list(const char *url) { struct psensor **sensors; @@ -455,15 +475,35 @@ static struct psensor **create_sensors_list(const char *url, exit(EXIT_FAILURE); #endif } else { - sensors = get_all_sensors(use_libatasmart, 600); + sensors = malloc(sizeof(struct psensor *)); + *sensors = NULL; + + if (config_is_lmsensor_enabled()) + lmsensor_psensor_list_append(&sensors, 600); + + if (config_is_hddtemp_enabled()) + hddtemp_psensor_list_append(&sensors, 600); + +#ifdef HAVE_ATASMART + if (config_is_libatasmart_enabled()) + atasmart_psensor_list_append(&sensors, 600); +#endif + #ifdef HAVE_NVIDIA - sensors = nvidia_psensor_list_add(sensors, 600); + if (config_is_nvctrl_enabled()) + nvidia_psensor_list_append(&sensors, 600); #endif #ifdef HAVE_LIBATIADL - sensors = amd_psensor_list_add(sensors, 600); + if (config_is_atiadlsdk_enabled()) + amd_psensor_list_append(&sensors, 600); #endif #ifdef HAVE_GTOP - sensors = cpu_psensor_list_add(sensors, 600); + if (config_is_gtop2_enabled()) + gtop2_psensor_list_append(&sensors, 600); +#endif +#ifdef HAVE_LIBUDISKS2 + if (config_is_udisks2_enabled()) + udisks2_psensor_list_append(&sensors, 600); #endif } @@ -477,7 +517,7 @@ int main(int argc, char **argv) { struct ui_psensor ui; pthread_t thread; - int optc, cmdok, opti, use_libatasmart, new_instance, ret; + int optc, cmdok, opti, new_instance, ret; char *url = NULL; GApplication *app; @@ -490,16 +530,12 @@ int main(int argc, char **argv) textdomain(PACKAGE); #endif - use_libatasmart = new_instance = 0; + new_instance = 0; cmdok = 1; while ((optc = getopt_long(argc, argv, "vhd:u:n", long_options, &opti)) != -1) { switch (optc) { - case 0: - if (!strcmp(long_options[opti].name, "use-libatasmart")) - use_libatasmart = 1; - break; case 'u': if (optarg) url = strdup(optarg); @@ -570,9 +606,7 @@ int main(int argc, char **argv) ui.config = config_load(); - psensor_init(); - - ui.sensors = create_sensors_list(url, use_libatasmart); + ui.sensors = create_sensors_list(url); associate_cb_alarm_raised(ui.sensors, &ui); if (ui.config->slog_enabled) @@ -617,6 +651,8 @@ int main(int argc, char **argv) else initial_window_show(&ui); + log_debug("translators: %s\n", _("translator-credits")); + /* main loop */ gtk_main(); diff --git a/src/psensor.1 b/src/psensor.1 index 1e006fc..8a7687a 100644 --- a/src/psensor.1 +++ b/src/psensor.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.44.1. -.TH PSENSOR "1" "September 2014" "psensor 1.1.1" "User Commands" +.TH PSENSOR "1" "September 2014" "psensor 1.1.2" "User Commands" .SH NAME psensor \- Temperature monitoring application .SH SYNOPSIS @@ -21,10 +21,6 @@ display version information and exit the URL of the psensor\-server, example: http://hostname:3131 .TP -\fB\-\-use\-libatasmart\fR -use atasmart library for disk monitoring instead of -hddtemp daemon -.TP \fB\-n\fR, \fB\-\-new\-instance\fR force the creation of a new Psensor application .TP diff --git a/src/psensor.gschema.xml b/src/psensor.gschema.xml index 435fd91..8439c1b 100644 --- a/src/psensor.gschema.xml +++ b/src/psensor.gschema.xml @@ -30,7 +30,7 @@ a #rgb representation. - 10 + 20 The monitoring duration of the graph The monitoring duration of the graph as minutes. It must be greater than 1. @@ -41,6 +41,12 @@ The interval between refreshs of the graph as seconds. It must be greater than 1. + + true + Whether smooth curves are enabled + Whether curves are drawn using Bezier algorithm + for a smoother visual rendering . + false Whether the graph window is hidden on startup @@ -91,7 +97,7 @@ windows. - false + true Whether the position and size of the graph window are restored Whether the position and size of the graph window @@ -151,5 +157,55 @@ Update interface of the sensor values. + + + true + Whether the lm-sensors librairy is used to retrieve + sensors information. + Whether the lm-sensors librairy is used to + retrieved sensors information. + + + true + Whether the NVCtrl library is used to retrieve + sensors information. + Whether the NVCtrl library is used to + retrieved sensors information. + + + true + Whether the ATI ADL SDK library is used to retrieve + sensors information. + Whether the ATI ADL SDK library is used to + retrieved sensors information. + + + true + Whether the gtop2 library is used to retrieve + system information. + Whether the gtop2 library is used to + system information. + + + false + Whether the hddtemp daemon is used to retrieve + hard disks information. + Whether the hddtemp daemon is used to + retrieved hard disks information. + + + false + Whether the atasmart library is used to retrieve + hard disks information. + Whether the atasmart library is used to + retrieved hard disks information. + + + true + Whether the udisks2 library is used to retrieve + hard disks information. + Whether the lm-sensors library is used to + retrieved hard disks information. + diff --git a/src/pxdg.c b/src/pxdg.c index 6ef9d28..14c3021 100644 --- a/src/pxdg.c +++ b/src/pxdg.c @@ -77,14 +77,13 @@ static GKeyFile *get_key_file(const char *path) | G_KEY_FILE_KEEP_TRANSLATIONS, NULL); - if (ret) { + if (ret) return kfile; - } else { - log_err("Failed to parse: %s", path); - g_key_file_free(kfile); - return NULL; - } + log_err("Failed to parse: %s", path); + + g_key_file_free(kfile); + return NULL; } static int is_user_desktop_autostarted(GKeyFile *f) diff --git a/src/server/Makefile.in b/src/server/Makefile.in index af2648d..fa57f23 100644 --- a/src/server/Makefile.in +++ b/src/server/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -58,10 +85,14 @@ bin_PROGRAMS = psensor-server$(EXEEXT) @ATASMART_TRUE@am__append_4 = $(ATASMART_CFLAGS) @ATASMART_TRUE@am__append_5 = $(ATASMART_LIBS) subdir = src/server -DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp $(dist_man_MANS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -76,14 +107,34 @@ am__psensor_server_SOURCES_DIST = server.c server.h sysinfo.h \ am_psensor_server_OBJECTS = server.$(OBJEXT) $(am__objects_1) psensor_server_OBJECTS = $(am_psensor_server_OBJECTS) psensor_server_LDADD = $(LDADD) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(psensor_server_SOURCES) DIST_SOURCES = $(am__psensor_server_SOURCES_DIST) am__can_run_installinfo = \ @@ -121,11 +172,29 @@ am__uninstall_files_from_dir = { \ man1dir = $(mandir)/man1 NROFF = nroff MANS = $(dist_man_MANS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -151,7 +220,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -185,6 +253,8 @@ LIBOBJS = @LIBOBJS@ LIBS = ../lib/libpsensor.a $(SENSORS_LIBS) $(JSON_LIBS) \ $(LIBMICROHTTPD_LIBS) $(PTHREAD_LIBS) $(am__append_2) \ $(am__append_5) +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -210,7 +280,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -225,7 +294,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -330,10 +398,11 @@ install-binPROGRAMS: $(bin_PROGRAMS) fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p; \ - then echo "$$p"; echo "$$p"; else :; fi; \ + while read p p1; do if test -f $$p \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ @@ -354,16 +423,18 @@ uninstall-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ + -e 's/$$/$(EXEEXT)/' \ + `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + psensor-server$(EXEEXT): $(psensor_server_OBJECTS) $(psensor_server_DEPENDENCIES) $(EXTRA_psensor_server_DEPENDENCIES) @rm -f psensor-server$(EXEEXT) - $(LINK) $(psensor_server_OBJECTS) $(psensor_server_LDADD) $(LIBS) + $(AM_V_CCLD)$(LINK) $(psensor_server_OBJECTS) $(psensor_server_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -375,18 +446,18 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sysinfo.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) @list1=''; \ @@ -431,26 +502,15 @@ uninstall-man1: -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -462,15 +522,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -479,24 +535,26 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @list='$(MANS)'; if test -n "$$list"; then \ - list=`for p in $$list; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ - if test -n "$$list" && \ - grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ - grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ - echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically \`make maintainer-clean' will remove them" >&2; \ - exit 1; \ - else :; fi; \ - else :; fi @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -636,19 +694,19 @@ uninstall-man: uninstall-man1 .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic ctags distclean distclean-compile \ - distclean-generic distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-man1 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-man uninstall-man1 +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ + clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ + distclean distclean-compile distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-binPROGRAMS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-man uninstall-man1 psensor-server.1: server.c $(top_srcdir)/configure.ac $(MAKE) $(AM_MAKEFLAGS) psensor-server$(EXEEXT) diff --git a/src/server/psensor-server.1 b/src/server/psensor-server.1 index 0558115..806c4f4 100644 --- a/src/server/psensor-server.1 +++ b/src/server/psensor-server.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.44.1. -.TH PSENSOR-SERVER "1" "September 2014" "psensor-server 1.1.1" "User Commands" +.TH PSENSOR-SERVER "1" "September 2014" "psensor-server 1.1.2" "User Commands" .SH NAME psensor-server \- Temperature and system monitoring Web server .SH SYNOPSIS diff --git a/src/server/server.c b/src/server/server.c index 297d083..5862586 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -39,9 +39,11 @@ #ifdef HAVE_GTOP #include "sysinfo.h" -#include "cpu.h" +#include #endif +#include +#include #include #include "psensor_json.h" #include @@ -255,15 +257,16 @@ create_response(const char *nurl, const char *method, unsigned int *rp_code) free(fpath); } - if (resp) { + if (resp) return resp; - } else { - char *page = strdup(PAGE_NOT_FOUND); - *rp_code = MHD_HTTP_NOT_FOUND; - return MHD_create_response_from_data - (strlen(page), page, MHD_YES, MHD_NO); - } + char *page = strdup(PAGE_NOT_FOUND); + *rp_code = MHD_HTTP_NOT_FOUND; + + return MHD_create_response_from_data(strlen(page), + page, + MHD_YES, + MHD_NO); } static int cbk_http_request(void *cls, @@ -393,9 +396,9 @@ int main(int argc, char *argv[]) log_open(log_file); - psensor_init(); + hddtemp_psensor_list_append(&server_data.sensors, 600); - server_data.sensors = get_all_sensors(0, 600); + lmsensor_psensor_list_append(&server_data.sensors, 600); #ifdef HAVE_GTOP server_data.cpu_usage = create_cpu_usage_sensor(600); @@ -435,7 +438,14 @@ int main(int argc, char *argv[]) sysinfo_update(&server_data.psysinfo); cpu_usage_sensor_update(server_data.cpu_usage); #endif - psensor_list_update_measures(server_data.sensors); + +#ifdef HAVE_ATASMART + atasmart_psensor_list_update(server_data.sensors); +#endif + + hddtemp_psensor_list_update(server_data.sensors); + + lmsensor_psensor_list_update(server_data.sensors); psensor_log_measures(server_data.sensors); @@ -457,7 +467,6 @@ int main(int argc, char *argv[]) #ifdef HAVE_GTOP sysinfo_cleanup(); - cpu_cleanup(); #endif if (log_file != DEFAULT_LOG_FILE) diff --git a/src/ui.c b/src/ui.c index 6876600..dcb3ea0 100644 --- a/src/ui.c +++ b/src/ui.c @@ -78,16 +78,23 @@ on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data) void ui_show_about_dialog() { + static const char *const authors[] = { "jeanfi@gmail.com", NULL }; + gtk_show_about_dialog (NULL, + "authors", authors, "comments", _("Psensor is a GTK+ application for monitoring hardware " "sensors"), "copyright", - _("Copyright(c) 2010-2014\njeanfi@gmail.com"), + _("Copyright(c) 2010-2014 jeanfi@gmail.com"), +#if GTK_CHECK_VERSION(3, 12, 0) + "license-type", GTK_LICENSE_GPL_2_0, +#endif "logo-icon-name", "psensor", "program-name", "Psensor", "title", _("About Psensor"), + "translator-credits", _("translator-credits"), "version", VERSION, "website", PACKAGE_URL, "website-label", _("Psensor Homepage"), @@ -191,7 +198,7 @@ void ui_window_create(struct ui_psensor *ui) if (!ok) { log_printf(LOG_ERR, error->message); g_error_free(error); - return ; + return; } window = GTK_WIDGET(gtk_builder_get_object(builder, "window")); diff --git a/src/ui_appindicator.c b/src/ui_appindicator.c index c8887c2..c25e270 100644 --- a/src/ui_appindicator.c +++ b/src/ui_appindicator.c @@ -96,7 +96,7 @@ static void update_menu_items(int use_celsius) GtkMenuItem **m; if (!sensors) - return ; + return; for (s = sensors, m = menu_items; *s; s++, m++) update_menu_item(*m, *s, use_celsius); @@ -199,9 +199,9 @@ static void update_label(struct ui_psensor *ui) if (is_temp_type((*p)->type)) str = "999UUU"; - else if (is_fan_type((*p)->type)) + else if ((*p)->type & SENSOR_TYPE_RPM) str = "999UUU"; - else /* cpu load */ + else /* percent */ str = "999%"; if (guide == NULL) { diff --git a/src/ui_graph.c b/src/ui_graph.c index 0b9b41b..e5e0e76 100644 --- a/src/ui_graph.c +++ b/src/ui_graph.c @@ -45,6 +45,11 @@ on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) return FALSE; } +void smooth_curves_enabled_changed_cbk(void *data) +{ + is_smooth_curves_enabled = config_is_smooth_curves_enabled(); +} + void ui_graph_create(struct ui_psensor *ui) { GtkWidget *w_graph; @@ -53,6 +58,12 @@ void ui_graph_create(struct ui_psensor *ui) w_graph = ui->w_graph; + is_smooth_curves_enabled = config_is_smooth_curves_enabled(); + g_signal_connect_after(config_get_GSettings(), + "changed::graph-smooth-curves-enabled", + G_CALLBACK(smooth_curves_enabled_changed_cbk), + NULL); + g_signal_connect(GTK_WIDGET(w_graph), "draw", G_CALLBACK(on_expose_event), diff --git a/src/ui_notify.c b/src/ui_notify.c index 6361f06..a668014 100644 --- a/src/ui_notify.c +++ b/src/ui_notify.c @@ -53,7 +53,7 @@ void ui_notify(struct psensor *sensor, struct ui_psensor *ui) || t.tv_sec - last_notification_tv.tv_sec >= 60) last_notification_tv = t; else - return ; + return; if (notify_is_initted() == FALSE) notify_init("psensor"); @@ -75,8 +75,8 @@ void ui_notify(struct psensor *sensor, struct ui_psensor *ui) if (is_temp_type(sensor->type)) summary = _("Temperature alert"); - else if (is_fan_type(sensor->type)) - summary = _("Fan alert"); + else if (sensor->type & SENSOR_TYPE_RPM) + summary = _("Fan speed alert"); else summary = _("N/A"); diff --git a/src/ui_pref.c b/src/ui_pref.c index e614da3..5494777 100644 --- a/src/ui_pref.c +++ b/src/ui_pref.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -53,7 +54,9 @@ void ui_pref_dialog_run(struct ui_psensor *ui) GtkComboBox *w_sensorlist_pos; GtkToggleButton *w_hide_window_decoration, *w_keep_window_below, *w_enable_menu, *w_enable_launcher_counter, *w_hide_on_startup, - *w_win_restore, *w_slog_enabled, *w_autostart; + *w_win_restore, *w_slog_enabled, *w_autostart, *w_smooth_curves, + *w_atiadlsdk, *w_lmsensors, *w_nvctrl, *w_gtop2, *w_hddtemp, + *w_libatasmart, *w_udisks2; GtkComboBoxText *w_temp_unit; GtkEntry *w_notif_script; char *notif_script; @@ -70,7 +73,7 @@ void ui_pref_dialog_run(struct ui_psensor *ui) if (!ok) { log_printf(LOG_ERR, error->message); g_error_free(error); - return ; + return; } diag = GTK_DIALOG(gtk_builder_get_object(builder, "dialog1")); @@ -141,6 +144,11 @@ void ui_pref_dialog_run(struct ui_psensor *ui) gtk_toggle_button_set_active(w_enable_launcher_counter, !cfg->unity_launcher_count_disabled); + w_smooth_curves = GTK_TOGGLE_BUTTON + (gtk_builder_get_object(builder, "graph_smooth_curves")); + gtk_toggle_button_set_active(w_smooth_curves, + config_is_smooth_curves_enabled()); + w_slog_enabled = GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "enable_slog")); gtk_toggle_button_set_active(w_slog_enabled, cfg->slog_enabled); @@ -166,6 +174,60 @@ void ui_pref_dialog_run(struct ui_psensor *ui) gtk_combo_box_set_active(GTK_COMBO_BOX(w_temp_unit), cfg->temperature_unit); + /* providers */ + w_lmsensors + = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, + "lmsensors")); + gtk_toggle_button_set_active(w_lmsensors, config_is_lmsensor_enabled()); + + w_nvctrl + = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, + "nvctrl")); +#if !HAVE_NVIDIA + gtk_widget_set_sensitive(GTK_WIDGET(w_nvctrl), 0); +#endif + gtk_toggle_button_set_active(w_nvctrl, config_is_nvctrl_enabled()); + + w_atiadlsdk + = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, + "atiadlsdk")); +#if !HAVE_LIBATIADL + gtk_widget_set_sensitive(GTK_WIDGET(w_atiadlsdk), 0); +#endif + gtk_toggle_button_set_active(w_atiadlsdk, + config_is_atiadlsdk_enabled()); + + w_gtop2 + = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, + "gtop2")); +#if !HAVE_GTOP + gtk_widget_set_sensitive(GTK_WIDGET(w_gtop2), 0); +#endif + gtk_toggle_button_set_active(w_gtop2, config_is_gtop2_enabled()); + + w_hddtemp + = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, + "hddtemp")); + gtk_toggle_button_set_active(w_hddtemp, config_is_hddtemp_enabled()); + + + w_libatasmart + = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, + "libatasmart")); +#if !HAVE_ATASMART + gtk_widget_set_sensitive(GTK_WIDGET(w_libatasmart), 0); +#endif + gtk_toggle_button_set_active(w_libatasmart, + config_is_libatasmart_enabled()); + + w_udisks2 + = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder, + "udisks2")); +#if !HAVE_LIBUDISKS2 + gtk_widget_set_sensitive(GTK_WIDGET(w_udisks2), 0); +#endif + gtk_toggle_button_set_active(w_udisks2, config_is_udisks2_enabled()); + result = gtk_dialog_run(diag); if (result == GTK_RESPONSE_ACCEPT) { @@ -229,10 +291,6 @@ void ui_pref_dialog_run(struct ui_psensor *ui) = gtk_spin_button_get_value_as_int (w_monitoring_duration); - cfg->sensor_values_max_length - = (cfg->graph_monitoring_duration * 60) / - cfg->sensor_update_interval; - cfg->hide_on_startup = gtk_toggle_button_get_active(w_hide_on_startup); @@ -248,8 +306,34 @@ void ui_pref_dialog_run(struct ui_psensor *ui) cfg->temperature_unit = gtk_combo_box_get_active(GTK_COMBO_BOX(w_temp_unit)); + cfg->sensor_values_max_length = compute_values_max_length(cfg); + config_save(cfg); + config_set_smooth_curves_enabled + (gtk_toggle_button_get_active(w_smooth_curves)); + + config_set_lmsensor_enable + (gtk_toggle_button_get_active(w_lmsensors)); + + config_set_nvctrl_enable + (gtk_toggle_button_get_active(w_nvctrl)); + + config_set_atiadlsdk_enable + (gtk_toggle_button_get_active(w_atiadlsdk)); + + config_set_gtop2_enable + (gtk_toggle_button_get_active(w_gtop2)); + + config_set_hddtemp_enable + (gtk_toggle_button_get_active(w_hddtemp)); + + config_set_libatasmart_enable + (gtk_toggle_button_get_active(w_libatasmart)); + + config_set_udisks2_enable + (gtk_toggle_button_get_active(w_udisks2)); + pxdg_set_autostart(gtk_toggle_button_get_active(w_autostart)); pthread_mutex_unlock(&ui->sensors_mutex); diff --git a/src/ui_sensorlist.c b/src/ui_sensorlist.c index d0138c7..5f1cb4f 100644 --- a/src/ui_sensorlist.c +++ b/src/ui_sensorlist.c @@ -184,8 +184,8 @@ static int get_col_index_at_pos(GtkTreeView *view, int x) if (x >= colx && x < (colx + gtk_tree_view_column_get_width(checkcol))) return coli; - else - colx += gtk_tree_view_column_get_width(checkcol); + + colx += gtk_tree_view_column_get_width(checkcol); coli++; } @@ -195,9 +195,46 @@ static int get_col_index_at_pos(GtkTreeView *view, int x) static void preferences_activated_cbk(GtkWidget *menu_item, gpointer data) { - struct cb_data *cb_data = data; + struct cb_data *cb_data; + cb_data = data; ui_sensorpref_dialog_run(cb_data->sensor, cb_data->ui); + free(cb_data); +} + +static void hide_activated_cbk(GtkWidget *menu_item, gpointer data) +{ + struct psensor *s, *s2; + GtkTreeModel *model, *fmodel; + GtkTreeIter iter; + struct cb_data *cb_data; + gboolean valid; + + log_fct_enter(); + + cb_data = data; + s = cb_data->sensor; + config_set_sensor_enabled(s->id, false); + config_sync(); + + fmodel = gtk_tree_view_get_model(cb_data->ui->sensors_tree); + model = gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(fmodel)); + valid = gtk_tree_model_get_iter_first(model, &iter); + while (valid) { + gtk_tree_model_get(model, &iter, COL_SENSOR, &s2, -1); + + if (s == s2) + gtk_list_store_set(cb_data->ui->sensors_store, + &iter, + COL_DISPLAY_ENABLED, + false, + -1); + valid = gtk_tree_model_iter_next(model, &iter); + } + + free(cb_data); + + log_fct_exit(); } static GtkWidget * @@ -214,13 +251,22 @@ create_sensor_popup(struct ui_psensor *ui, struct psensor *sensor) separator = gtk_separator_menu_item_new(); gtk_menu_shell_append(GTK_MENU_SHELL(menu), separator); - item = gtk_menu_item_new_with_label(_("Preferences")); + item = gtk_menu_item_new_with_label(_("Hide")); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); data = malloc(sizeof(struct cb_data)); data->ui = ui; data->sensor = sensor; + g_signal_connect(item, + "activate", + G_CALLBACK(hide_activated_cbk), data); + + item = gtk_menu_item_new_with_label(_("Preferences")); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + data = malloc(sizeof(struct cb_data)); + data->ui = ui; + data->sensor = sensor; g_signal_connect(item, "activate", G_CALLBACK(preferences_activated_cbk), data); @@ -238,9 +284,6 @@ static int clicked_cbk(GtkWidget *widget, GdkEventButton *event, gpointer data) struct psensor *s; int coli; - if (event->button != 3) - return FALSE; - ui = (struct ui_psensor *)data; view = ui->sensors_tree; @@ -250,26 +293,29 @@ static int clicked_cbk(GtkWidget *widget, GdkEventButton *event, gpointer data) coli = col_index_to_col(get_col_index_at_pos(view, event->x)); if (coli == COL_COLOR) { - if (ui_change_color(_("Select foreground color"), + if (ui_change_color(_("Select sensor color"), s->color, GTK_WINDOW(ui->main_window))) { ui_sensorlist_update(ui, 1); config_set_sensor_color(s->id, s->color); config_sync(); } + return TRUE; } else if (coli >= 0 && coli != COL_GRAPH_ENABLED) { menu = create_sensor_popup(ui, s); gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); + return TRUE; } } - return TRUE; + return FALSE; } -static void -toggled_cbk(GtkCellRendererToggle *cell, gchar *path_str, gpointer data) +void ui_sensorlist_cb_graph_toggled(GtkCellRendererToggle *cell, + gchar *path_str, + gpointer data) { struct ui_psensor *ui; GtkTreeModel *model, *fmodel; @@ -289,6 +335,7 @@ toggled_cbk(GtkCellRendererToggle *cell, gchar *path_str, gpointer data) s->graph_enabled ^= 1; config_set_sensor_graph_enabled(s->id, s->graph_enabled); + config_sync(); gtk_tree_path_free(path); @@ -309,10 +356,9 @@ toggled_cbk(GtkCellRendererToggle *cell, gchar *path_str, gpointer data) void ui_sensorlist_create(struct ui_psensor *ui) { - GtkCellRenderer *renderer; GtkTreeModel *fmodel, *model; - log_debug("ui_sensorlist_create()"); + log_fct_enter(); model = gtk_tree_view_get_model(ui->sensors_tree); fmodel = gtk_tree_model_filter_new(model, NULL); @@ -321,59 +367,10 @@ void ui_sensorlist_create(struct ui_psensor *ui) gtk_tree_view_set_model(ui->sensors_tree, fmodel); - renderer = gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes(ui->sensors_tree, - -1, - _("Sensor"), - renderer, - "text", COL_NAME, NULL); - - gtk_tree_view_insert_column_with_attributes(ui->sensors_tree, - -1, - _("Value"), - renderer, - "text", COL_TEMP, NULL); - - gtk_tree_view_insert_column_with_attributes(ui->sensors_tree, - -1, - _("Min"), - renderer, - "text", COL_TEMP_MIN, NULL); - - gtk_tree_view_insert_column_with_attributes(ui->sensors_tree, - -1, - _("Max"), - renderer, - "text", COL_TEMP_MAX, NULL); - - renderer = gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes(ui->sensors_tree, - -1, - _("Color"), - renderer, - "text", COL_COLOR, - "background", COL_COLOR_STR, - NULL); - g_signal_connect(ui->sensors_tree, "button-press-event", (GCallback)clicked_cbk, ui); - renderer = gtk_cell_renderer_toggle_new(); - gtk_tree_view_insert_column_with_attributes(ui->sensors_tree, - -1, - _("Graph"), - renderer, - "active", COL_GRAPH_ENABLED, - NULL); - g_signal_connect(G_OBJECT(renderer), - "toggled", (GCallback) toggled_cbk, ui); - - renderer = gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes(ui->sensors_tree, - -1, - "", - renderer, - "text", COL_EMPTY, NULL); - ui_sensorlist_update(ui, 1); + + log_fct_exit(); } diff --git a/src/ui_sensorpref.c b/src/ui_sensorpref.c index 126f33c..6ca0815 100644 --- a/src/ui_sensorpref.c +++ b/src/ui_sensorpref.c @@ -89,7 +89,7 @@ sensor_pref_new(struct psensor *s, struct config *cfg) static void sensor_pref_free(struct sensor_pref *p) { if (!p) - return ; + return; free(p->name); free(p->color); @@ -290,23 +290,12 @@ update_pref(struct sensor_pref *p, struct config *cfg, GtkBuilder *builder) w_appindicator_label_enabled = GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "indicator_label_checkbox")); - if (is_temp_type(s->type) || is_fan_type(s->type)) { - gtk_toggle_button_set_active(w_alarm, p->alarm_enabled); - gtk_spin_button_set_value(w_high_threshold, - p->alarm_high_threshold); - gtk_spin_button_set_value(w_low_threshold, - p->alarm_low_threshold); - gtk_widget_set_sensitive(GTK_WIDGET(w_alarm), TRUE); - gtk_widget_set_sensitive(GTK_WIDGET(w_high_threshold), TRUE); - gtk_widget_set_sensitive(GTK_WIDGET(w_low_threshold), TRUE); - } else { - gtk_toggle_button_set_active(w_alarm, 0); - gtk_spin_button_set_value(w_high_threshold, 0); - gtk_spin_button_set_value(w_low_threshold, 0); - gtk_widget_set_sensitive(GTK_WIDGET(w_alarm), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(w_high_threshold), FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(w_low_threshold), FALSE); - } + gtk_toggle_button_set_active(w_alarm, p->alarm_enabled); + gtk_spin_button_set_value(w_high_threshold, p->alarm_high_threshold); + gtk_spin_button_set_value(w_low_threshold, p->alarm_low_threshold); + gtk_widget_set_sensitive(GTK_WIDGET(w_alarm), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET(w_high_threshold), TRUE); + gtk_widget_set_sensitive(GTK_WIDGET(w_low_threshold), TRUE); gtk_toggle_button_set_active(w_appindicator_enabled, p->appindicator_enabled); @@ -453,7 +442,7 @@ void ui_sensorpref_dialog_run(struct psensor *sensor, struct ui_psensor *ui) if (!ok) { log_printf(LOG_ERR, error->message); g_error_free(error); - return ; + return; } w_sensors_list diff --git a/src/ui_status.c b/src/ui_status.c index 60814d6..50dfc9c 100644 --- a/src/ui_status.c +++ b/src/ui_status.c @@ -43,7 +43,7 @@ static void cb_popup_menu(GtkStatusIcon *icon, void ui_status_init(struct ui_psensor *ui) { if (status) - return ; + return; log_debug("ui_status_create()"); diff --git a/test-driver b/test-driver new file mode 100755 index 0000000..d306056 --- /dev/null +++ b/test-driver @@ -0,0 +1,139 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2013-07-13.22; # UTC + +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <$log_file 2>&1 +estatus=$? +if test $enable_hard_errors = no && test $estatus -eq 99; then + estatus=1 +fi + +case $estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/tests/Makefile.am b/tests/Makefile.am index 332c0a2..9f59764 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ check-local: checkpatch.pl - find $(top_srcdir)/src -name \*.c -exec $(srcdir)/checkpatch.pl --ignore SPLIT_STRING --show-types -q --no-tree -emacs -f {} \; - find $(top_srcdir)/src -name \*.h -exec $(srcdir)/checkpatch.pl --ignore SPLIT_STRING --show-types -q --no-tree -emacs -f {} \; + find $(top_srcdir)/src -name \*.c -exec $(srcdir)/checkpatch.pl --ignore FUNCTION_WITHOUT_ARGS,SPLIT_STRING --show-types -q --no-tree -emacs -f {} \; + find $(top_srcdir)/src -name \*.h -exec $(srcdir)/checkpatch.pl --ignore FUNCTION_WITHOUT_ARGS,SPLIT_STRING --show-types -q --no-tree -emacs -f {} \; DEFS = -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" -DLOCALEDIR=\"$(localedir)\" @DEFS@ diff --git a/tests/Makefile.in b/tests/Makefile.in index 7c2de3c..f4f77ff 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -15,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -61,9 +88,14 @@ TESTS = test-io-dir-list.sh test-psensor-type-to-unit-str$(EXEEXT) \ test-url-normalize$(EXEEXT) $(am__append_3) @CPPCHECK_TRUE@am__append_3 = test-cppcheck.sh subdir = tests -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp $(top_srcdir)/test-driver ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d @@ -94,14 +126,38 @@ test_url_encode_LDADD = $(LDADD) am_test_url_normalize_OBJECTS = test_url_normalize.$(OBJEXT) test_url_normalize_OBJECTS = $(am_test_url_normalize_OBJECTS) test_url_normalize_LDADD = $(LDADD) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(test_io_dir_list_SOURCES) \ $(test_psensor_type_to_unit_str_SOURCES) \ $(test_psensor_value_to_str_SOURCES) \ @@ -115,13 +171,233 @@ am__can_run_installinfo = \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__tty_colors = \ -red=; grn=; lgn=; blu=; std= +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + fi; \ +} +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +RECHECK_LOGS = $(TEST_LOGS) +AM_RECURSIVE_TARGETS = check recheck +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -147,7 +423,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -180,6 +455,8 @@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ ../src/lib/libpsensor.a $(SENSORS_LIBS) $(am__append_1) \ $(am__append_2) +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -205,7 +482,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -220,7 +496,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -289,7 +564,7 @@ test_url_normalize_SOURCES = test_url_normalize.c all: all-am .SUFFIXES: -.SUFFIXES: .c .o .obj +.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -323,21 +598,26 @@ $(am__aclocal_m4_deps): clean-checkPROGRAMS: -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) + test-io-dir-list$(EXEEXT): $(test_io_dir_list_OBJECTS) $(test_io_dir_list_DEPENDENCIES) $(EXTRA_test_io_dir_list_DEPENDENCIES) @rm -f test-io-dir-list$(EXEEXT) - $(LINK) $(test_io_dir_list_OBJECTS) $(test_io_dir_list_LDADD) $(LIBS) + $(AM_V_CCLD)$(LINK) $(test_io_dir_list_OBJECTS) $(test_io_dir_list_LDADD) $(LIBS) + test-psensor-type-to-unit-str$(EXEEXT): $(test_psensor_type_to_unit_str_OBJECTS) $(test_psensor_type_to_unit_str_DEPENDENCIES) $(EXTRA_test_psensor_type_to_unit_str_DEPENDENCIES) @rm -f test-psensor-type-to-unit-str$(EXEEXT) - $(test_psensor_type_to_unit_str_LINK) $(test_psensor_type_to_unit_str_OBJECTS) $(test_psensor_type_to_unit_str_LDADD) $(LIBS) + $(AM_V_CCLD)$(test_psensor_type_to_unit_str_LINK) $(test_psensor_type_to_unit_str_OBJECTS) $(test_psensor_type_to_unit_str_LDADD) $(LIBS) + test-psensor-value-to-str$(EXEEXT): $(test_psensor_value_to_str_OBJECTS) $(test_psensor_value_to_str_DEPENDENCIES) $(EXTRA_test_psensor_value_to_str_DEPENDENCIES) @rm -f test-psensor-value-to-str$(EXEEXT) - $(test_psensor_value_to_str_LINK) $(test_psensor_value_to_str_OBJECTS) $(test_psensor_value_to_str_LDADD) $(LIBS) + $(AM_V_CCLD)$(test_psensor_value_to_str_LINK) $(test_psensor_value_to_str_OBJECTS) $(test_psensor_value_to_str_LDADD) $(LIBS) + test-url-encode$(EXEEXT): $(test_url_encode_OBJECTS) $(test_url_encode_DEPENDENCIES) $(EXTRA_test_url_encode_DEPENDENCIES) @rm -f test-url-encode$(EXEEXT) - $(LINK) $(test_url_encode_OBJECTS) $(test_url_encode_LDADD) $(LIBS) + $(AM_V_CCLD)$(LINK) $(test_url_encode_OBJECTS) $(test_url_encode_LDADD) $(LIBS) + test-url-normalize$(EXEEXT): $(test_url_normalize_OBJECTS) $(test_url_normalize_DEPENDENCIES) $(EXTRA_test_url_normalize_DEPENDENCIES) @rm -f test-url-normalize$(EXEEXT) - $(LINK) $(test_url_normalize_OBJECTS) $(test_url_normalize_LDADD) $(LIBS) + $(AM_V_CCLD)$(LINK) $(test_url_normalize_OBJECTS) $(test_url_normalize_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -352,67 +632,56 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_url_normalize.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o: test_psensor_type_to_unit_str.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -MT test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o -MD -MP -MF $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o `test -f 'test_psensor_type_to_unit_str.c' || echo '$(srcdir)/'`test_psensor_type_to_unit_str.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test_psensor_type_to_unit_str.c' object='test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -MT test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o -MD -MP -MF $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o `test -f 'test_psensor_type_to_unit_str.c' || echo '$(srcdir)/'`test_psensor_type_to_unit_str.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_psensor_type_to_unit_str.c' object='test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o `test -f 'test_psensor_type_to_unit_str.c' || echo '$(srcdir)/'`test_psensor_type_to_unit_str.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.o `test -f 'test_psensor_type_to_unit_str.c' || echo '$(srcdir)/'`test_psensor_type_to_unit_str.c test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj: test_psensor_type_to_unit_str.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -MT test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj -MD -MP -MF $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj `if test -f 'test_psensor_type_to_unit_str.c'; then $(CYGPATH_W) 'test_psensor_type_to_unit_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_type_to_unit_str.c'; fi` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test_psensor_type_to_unit_str.c' object='test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -MT test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj -MD -MP -MF $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj `if test -f 'test_psensor_type_to_unit_str.c'; then $(CYGPATH_W) 'test_psensor_type_to_unit_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_type_to_unit_str.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Tpo $(DEPDIR)/test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_psensor_type_to_unit_str.c' object='test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj `if test -f 'test_psensor_type_to_unit_str.c'; then $(CYGPATH_W) 'test_psensor_type_to_unit_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_type_to_unit_str.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_type_to_unit_str_CFLAGS) $(CFLAGS) -c -o test_psensor_type_to_unit_str-test_psensor_type_to_unit_str.obj `if test -f 'test_psensor_type_to_unit_str.c'; then $(CYGPATH_W) 'test_psensor_type_to_unit_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_type_to_unit_str.c'; fi` test_psensor_value_to_str-test_psensor_value_to_str.o: test_psensor_value_to_str.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -MT test_psensor_value_to_str-test_psensor_value_to_str.o -MD -MP -MF $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo -c -o test_psensor_value_to_str-test_psensor_value_to_str.o `test -f 'test_psensor_value_to_str.c' || echo '$(srcdir)/'`test_psensor_value_to_str.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test_psensor_value_to_str.c' object='test_psensor_value_to_str-test_psensor_value_to_str.o' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -MT test_psensor_value_to_str-test_psensor_value_to_str.o -MD -MP -MF $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo -c -o test_psensor_value_to_str-test_psensor_value_to_str.o `test -f 'test_psensor_value_to_str.c' || echo '$(srcdir)/'`test_psensor_value_to_str.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_psensor_value_to_str.c' object='test_psensor_value_to_str-test_psensor_value_to_str.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -c -o test_psensor_value_to_str-test_psensor_value_to_str.o `test -f 'test_psensor_value_to_str.c' || echo '$(srcdir)/'`test_psensor_value_to_str.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -c -o test_psensor_value_to_str-test_psensor_value_to_str.o `test -f 'test_psensor_value_to_str.c' || echo '$(srcdir)/'`test_psensor_value_to_str.c test_psensor_value_to_str-test_psensor_value_to_str.obj: test_psensor_value_to_str.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -MT test_psensor_value_to_str-test_psensor_value_to_str.obj -MD -MP -MF $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo -c -o test_psensor_value_to_str-test_psensor_value_to_str.obj `if test -f 'test_psensor_value_to_str.c'; then $(CYGPATH_W) 'test_psensor_value_to_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_value_to_str.c'; fi` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test_psensor_value_to_str.c' object='test_psensor_value_to_str-test_psensor_value_to_str.obj' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -MT test_psensor_value_to_str-test_psensor_value_to_str.obj -MD -MP -MF $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo -c -o test_psensor_value_to_str-test_psensor_value_to_str.obj `if test -f 'test_psensor_value_to_str.c'; then $(CYGPATH_W) 'test_psensor_value_to_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_value_to_str.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Tpo $(DEPDIR)/test_psensor_value_to_str-test_psensor_value_to_str.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_psensor_value_to_str.c' object='test_psensor_value_to_str-test_psensor_value_to_str.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -c -o test_psensor_value_to_str-test_psensor_value_to_str.obj `if test -f 'test_psensor_value_to_str.c'; then $(CYGPATH_W) 'test_psensor_value_to_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_value_to_str.c'; fi` - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_psensor_value_to_str_CFLAGS) $(CFLAGS) -c -o test_psensor_value_to_str-test_psensor_value_to_str.obj `if test -f 'test_psensor_value_to_str.c'; then $(CYGPATH_W) 'test_psensor_value_to_str.c'; else $(CYGPATH_W) '$(srcdir)/test_psensor_value_to_str.c'; fi` + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -424,15 +693,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -441,102 +706,222 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - $(am__tty_colors); \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - col=$$red; res=XPASS; \ - ;; \ - *) \ - col=$$grn; res=PASS; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xfail=`expr $$xfail + 1`; \ - col=$$lgn; res=XFAIL; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - col=$$red; res=FAIL; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - col=$$blu; res=SKIP; \ - fi; \ - echo "$${col}$$res$${std}: $$tst"; \ - done; \ - if test "$$all" -eq 1; then \ - tests="test"; \ - All=""; \ - else \ - tests="tests"; \ - All="All "; \ +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="$$All$$all $$tests passed"; \ - else \ - if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ - banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all $$tests failed"; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + else \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ else \ - if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ - banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - if test "$$skip" -eq 1; then \ - skipped="($$skip test was not run)"; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ else \ - skipped="($$skip tests were not run)"; \ + color_start= color_end=; \ fi; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - if test "$$failed" -eq 0; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - fi; \ - echo "$${col}$$dashes$${std}"; \ - echo "$${col}$$banner$${std}"; \ - test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ - test -z "$$report" || echo "$${col}$$report$${std}"; \ - echo "$${col}$$dashes$${std}"; \ - test "$$failed" -eq 0; \ - else :; fi + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all $(check_PROGRAMS) + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +test-io-dir-list.sh.log: test-io-dir-list.sh + @p='test-io-dir-list.sh'; \ + b='test-io-dir-list.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-psensor-type-to-unit-str.log: test-psensor-type-to-unit-str$(EXEEXT) + @p='test-psensor-type-to-unit-str$(EXEEXT)'; \ + b='test-psensor-type-to-unit-str'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-psensor-value-to-str.log: test-psensor-value-to-str$(EXEEXT) + @p='test-psensor-value-to-str$(EXEEXT)'; \ + b='test-psensor-value-to-str'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-url-encode.log: test-url-encode$(EXEEXT) + @p='test-url-encode$(EXEEXT)'; \ + b='test-url-encode'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-url-normalize.log: test-url-normalize$(EXEEXT) + @p='test-url-normalize$(EXEEXT)'; \ + b='test-url-normalize'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test-cppcheck.sh.log: test-cppcheck.sh + @p='test-cppcheck.sh'; \ + b='test-cppcheck.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -594,6 +979,9 @@ install-strip: "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: @@ -675,22 +1063,23 @@ uninstall-am: .MAKE: check-am install-am install-strip -.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am check-local \ - clean clean-checkPROGRAMS clean-generic ctags distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ +.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am \ + check-local clean clean-checkPROGRAMS clean-generic \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ - uninstall-am + mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \ + uninstall uninstall-am check-local: checkpatch.pl - find $(top_srcdir)/src -name \*.c -exec $(srcdir)/checkpatch.pl --ignore SPLIT_STRING --show-types -q --no-tree -emacs -f {} \; - find $(top_srcdir)/src -name \*.h -exec $(srcdir)/checkpatch.pl --ignore SPLIT_STRING --show-types -q --no-tree -emacs -f {} \; + find $(top_srcdir)/src -name \*.c -exec $(srcdir)/checkpatch.pl --ignore FUNCTION_WITHOUT_ARGS,SPLIT_STRING --show-types -q --no-tree -emacs -f {} \; + find $(top_srcdir)/src -name \*.h -exec $(srcdir)/checkpatch.pl --ignore FUNCTION_WITHOUT_ARGS,SPLIT_STRING --show-types -q --no-tree -emacs -f {} \; # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/tests/checkpatch.pl b/tests/checkpatch.pl index faea0ec..cab1691 100755 --- a/tests/checkpatch.pl +++ b/tests/checkpatch.pl @@ -6,6 +6,7 @@ # Licensed under the terms of the GNU GPL License version 2 use strict; +use POSIX; my $P = $0; $P =~ s@.*/@@g; @@ -23,16 +24,25 @@ my $emacs = 0; my $terse = 0; my $file = 0; my $check = 0; +my $check_orig = 0; my $summary = 1; my $mailback = 0; my $summary_file = 0; my $show_types = 0; +my $fix = 0; +my $fix_inplace = 0; my $root; my %debug; +my %camelcase = (); +my %use_type = (); +my @use = (); my %ignore_type = (); my @ignore = (); my $help = 0; my $configuration_file = ".checkpatch.conf"; +my $max_line_length = 80; +my $ignore_perl_version = 0; +my $minimum_perl_version = 5.10.0; sub help { my ($exitcode) = @_; @@ -50,7 +60,9 @@ Options: --terse one line per report -f, --file treat FILE as regular source file --subjective, --strict enable more subjective tests + --types TYPE(,TYPE2...) show only these comma separated message types --ignore TYPE(,TYPE2...) ignore various comma separated message types + --max-line-length=n set the maximum line length, if exceeded, warn --show-types show the message "types" in the output --root=PATH PATH to the kernel tree root --no-summary suppress the per-file summary @@ -61,6 +73,16 @@ Options: is all off) --test-only=WORD report only warnings/errors containing WORD literally + --fix EXPERIMENTAL - may create horrible results + If correctable single-line errors exist, create + ".EXPERIMENTAL-checkpatch-fixes" + with potential errors corrected to the preferred + checkpatch style + --fix-inplace EXPERIMENTAL - may create horrible results + Is the same as --fix, but overwrites the input + file. It's your fault if there's no backup or git + --ignore-perl-version override checking of perl version. expect + runtime errors. -h, --help, --version display this help and exit When FILE is - read standard input. @@ -106,12 +128,16 @@ GetOptions( 'subjective!' => \$check, 'strict!' => \$check, 'ignore=s' => \@ignore, + 'types=s' => \@use, 'show-types!' => \$show_types, + 'max-line-length=i' => \$max_line_length, 'root=s' => \$root, 'summary!' => \$summary, 'mailback!' => \$mailback, 'summary-file!' => \$summary_file, - + 'fix!' => \$fix, + 'fix-inplace!' => \$fix_inplace, + 'ignore-perl-version!' => \$ignore_perl_version, 'debug=s' => \%debug, 'test-only=s' => \$tst_only, 'h|help' => \$help, @@ -120,26 +146,55 @@ GetOptions( help(0) if ($help); +$fix = 1 if ($fix_inplace); +$check_orig = $check; + my $exit = 0; +if ($^V && $^V lt $minimum_perl_version) { + printf "$P: requires at least perl version %vd\n", $minimum_perl_version; + if (!$ignore_perl_version) { + exit(1); + } +} + if ($#ARGV < 0) { print "$P: no input files\n"; exit(1); } -@ignore = split(/,/, join(',',@ignore)); -foreach my $word (@ignore) { - $word =~ s/\s*\n?$//g; - $word =~ s/^\s*//g; - $word =~ s/\s+/ /g; - $word =~ tr/[a-z]/[A-Z]/; +sub hash_save_array_words { + my ($hashRef, $arrayRef) = @_; + + my @array = split(/,/, join(',', @$arrayRef)); + foreach my $word (@array) { + $word =~ s/\s*\n?$//g; + $word =~ s/^\s*//g; + $word =~ s/\s+/ /g; + $word =~ tr/[a-z]/[A-Z]/; + + next if ($word =~ m/^\s*#/); + next if ($word =~ m/^\s*$/); + + $hashRef->{$word}++; + } +} - next if ($word =~ m/^\s*#/); - next if ($word =~ m/^\s*$/); +sub hash_show_words { + my ($hashRef, $prefix) = @_; - $ignore_type{$word}++; + if ($quiet == 0 && keys %$hashRef) { + print "NOTE: $prefix message types:"; + foreach my $word (sort keys %$hashRef) { + print " $word"; + } + print "\n\n"; + } } +hash_save_array_words(\%ignore_type, \@ignore); +hash_save_array_words(\%use_type, \@use); + my $dbg_values = 0; my $dbg_possible = 0; my $dbg_type = 0; @@ -195,6 +250,11 @@ our $Sparse = qr{ __ref| __rcu }x; +our $InitAttributePrefix = qr{__(?:mem|cpu|dev|net_|)}; +our $InitAttributeData = qr{$InitAttributePrefix(?:initdata\b)}; +our $InitAttributeConst = qr{$InitAttributePrefix(?:initconst\b)}; +our $InitAttributeInit = qr{$InitAttributePrefix(?:init\b)}; +our $InitAttribute = qr{$InitAttributeData|$InitAttributeConst|$InitAttributeInit}; # Notes to $Attribute: # We need \b after 'init' otherwise 'initconst' will cause a false positive in a check @@ -216,29 +276,45 @@ our $Attribute = qr{ __deprecated| __read_mostly| __kprobes| - __(?:mem|cpu|dev|)(?:initdata|initconst|init\b)| + $InitAttribute| ____cacheline_aligned| ____cacheline_aligned_in_smp| ____cacheline_internodealigned_in_smp| __weak }x; our $Modifier; -our $Inline = qr{inline|__always_inline|noinline}; +our $Inline = qr{inline|__always_inline|noinline|__inline|__inline__}; our $Member = qr{->$Ident|\.$Ident|\[[^]]*\]}; our $Lval = qr{$Ident(?:$Member)*}; -our $Constant = qr{(?i:(?:[0-9]+|0x[0-9a-f]+)[ul]*)}; -our $Assignment = qr{(?:\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=)}; -our $Compare = qr{<=|>=|==|!=|<|>}; +our $Int_type = qr{(?i)llu|ull|ll|lu|ul|l|u}; +our $Binary = qr{(?i)0b[01]+$Int_type?}; +our $Hex = qr{(?i)0x[0-9a-f]+$Int_type?}; +our $Int = qr{[0-9]+$Int_type?}; +our $Octal = qr{0[0-7]+$Int_type?}; +our $Float_hex = qr{(?i)0x[0-9a-f]+p-?[0-9]+[fl]?}; +our $Float_dec = qr{(?i)(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:e-?[0-9]+)?[fl]?}; +our $Float_int = qr{(?i)[0-9]+e-?[0-9]+[fl]?}; +our $Float = qr{$Float_hex|$Float_dec|$Float_int}; +our $Constant = qr{$Float|$Binary|$Octal|$Hex|$Int}; +our $Assignment = qr{\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=}; +our $Compare = qr{<=|>=|==|!=|<|(?}; +our $Arithmetic = qr{\+|-|\*|\/|%}; our $Operators = qr{ <=|>=|==|!=| =>|->|<<|>>|<|>|!|~| - &&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|% + &&|\|\||,|\^|\+\+|--|&|\||$Arithmetic }x; +our $c90_Keywords = qr{do|for|while|if|else|return|goto|continue|switch|default|case|break}x; + our $NonptrType; +our $NonptrTypeMisordered; +our $NonptrTypeWithAttr; our $Type; +our $TypeMisordered; our $Declare; +our $DeclareMisordered; our $NON_ASCII_UTF8 = qr{ [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte @@ -262,10 +338,11 @@ our $typeTypedefs = qr{(?x: our $logFunctions = qr{(?x: printk(?:_ratelimited|_once|)| - [a-z0-9]+_(?:printk|emerg|alert|crit|err|warning|warn|notice|info|debug|dbg|vdbg|devel|cont|WARN)(?:_ratelimited|_once|)| + (?:[a-z0-9]+_){1,2}(?:printk|emerg|alert|crit|err|warning|warn|notice|info|debug|dbg|vdbg|devel|cont|WARN)(?:_ratelimited|_once|)| WARN(?:_RATELIMIT|_ONCE|)| panic| - MODULE_[A-Z_]+ + MODULE_[A-Z_]+| + seq_vprintf|seq_printf|seq_puts )}; our $signature_tags = qr{(?xi: @@ -274,20 +351,41 @@ our $signature_tags = qr{(?xi: Tested-by:| Reviewed-by:| Reported-by:| + Suggested-by:| To:| Cc: )}; +our @typeListMisordered = ( + qr{char\s+(?:un)?signed}, + qr{int\s+(?:(?:un)?signed\s+)?short\s}, + qr{int\s+short(?:\s+(?:un)?signed)}, + qr{short\s+int(?:\s+(?:un)?signed)}, + qr{(?:un)?signed\s+int\s+short}, + qr{short\s+(?:un)?signed}, + qr{long\s+int\s+(?:un)?signed}, + qr{int\s+long\s+(?:un)?signed}, + qr{long\s+(?:un)?signed\s+int}, + qr{int\s+(?:un)?signed\s+long}, + qr{int\s+(?:un)?signed}, + qr{int\s+long\s+long\s+(?:un)?signed}, + qr{long\s+long\s+int\s+(?:un)?signed}, + qr{long\s+long\s+(?:un)?signed\s+int}, + qr{long\s+long\s+(?:un)?signed}, + qr{long\s+(?:un)?signed}, +); + our @typeList = ( qr{void}, - qr{(?:unsigned\s+)?char}, - qr{(?:unsigned\s+)?short}, - qr{(?:unsigned\s+)?int}, - qr{(?:unsigned\s+)?long}, - qr{(?:unsigned\s+)?long\s+int}, - qr{(?:unsigned\s+)?long\s+long}, - qr{(?:unsigned\s+)?long\s+long\s+int}, - qr{unsigned}, + qr{(?:(?:un)?signed\s+)?char}, + qr{(?:(?:un)?signed\s+)?short\s+int}, + qr{(?:(?:un)?signed\s+)?short}, + qr{(?:(?:un)?signed\s+)?int}, + qr{(?:(?:un)?signed\s+)?long\s+int}, + qr{(?:(?:un)?signed\s+)?long\s+long\s+int}, + qr{(?:(?:un)?signed\s+)?long\s+long}, + qr{(?:(?:un)?signed\s+)?long}, + qr{(?:un)?signed}, qr{float}, qr{double}, qr{bool}, @@ -297,11 +395,34 @@ our @typeList = ( qr{${Ident}_t}, qr{${Ident}_handler}, qr{${Ident}_handler_fn}, + @typeListMisordered, ); +our @typeListWithAttr = ( + @typeList, + qr{struct\s+$InitAttribute\s+$Ident}, + qr{union\s+$InitAttribute\s+$Ident}, +); + our @modifierList = ( qr{fastcall}, ); +our @mode_permission_funcs = ( + ["module_param", 3], + ["module_param_(?:array|named|string)", 4], + ["module_param_array_named", 5], + ["debugfs_create_(?:file|u8|u16|u32|u64|x8|x16|x32|x64|size_t|atomic_t|bool|blob|regset32|u32_array)", 2], + ["proc_create(?:_data|)", 2], + ["(?:CLASS|DEVICE|SENSOR)_ATTR", 2], +); + +#Create a search pattern for all these functions to speed up a loop below +our $mode_perms_search = ""; +foreach my $entry (@mode_permission_funcs) { + $mode_perms_search .= '|' if ($mode_perms_search ne ""); + $mode_perms_search .= $entry->[0]; +} + our $allowed_asm_includes = qr{(?x: irq| memory @@ -311,6 +432,8 @@ our $allowed_asm_includes = qr{(?x: sub build_types { my $mods = "(?x: \n" . join("|\n ", @modifierList) . "\n)"; my $all = "(?x: \n" . join("|\n ", @typeList) . "\n)"; + my $Misordered = "(?x: \n" . join("|\n ", @typeListMisordered) . "\n)"; + my $allWithAttr = "(?x: \n" . join("|\n ", @typeListWithAttr) . "\n)"; $Modifier = qr{(?:$Attribute|$Sparse|$mods)}; $NonptrType = qr{ (?:$Modifier\s+|const\s+)* @@ -321,16 +444,37 @@ sub build_types { ) (?:\s+$Modifier|\s+const)* }x; + $NonptrTypeMisordered = qr{ + (?:$Modifier\s+|const\s+)* + (?: + (?:${Misordered}\b) + ) + (?:\s+$Modifier|\s+const)* + }x; + $NonptrTypeWithAttr = qr{ + (?:$Modifier\s+|const\s+)* + (?: + (?:typeof|__typeof__)\s*\([^\)]*\)| + (?:$typeTypedefs\b)| + (?:${allWithAttr}\b) + ) + (?:\s+$Modifier|\s+const)* + }x; $Type = qr{ $NonptrType - (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*|\[\])+|(?:\s*\[\s*\])+)? + (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+)? + (?:\s+$Inline|\s+$Modifier)* + }x; + $TypeMisordered = qr{ + $NonptrTypeMisordered + (?:(?:\s|\*|\[\])+\s*const|(?:\s|\*\s*(?:const\s*)?|\[\])+|(?:\s*\[\s*\])+)? (?:\s+$Inline|\s+$Modifier)* }x; - $Declare = qr{(?:$Storage\s+)?$Type}; + $Declare = qr{(?:$Storage\s+(?:$Inline\s+)?)?$Type}; + $DeclareMisordered = qr{(?:$Storage\s+(?:$Inline\s+)?)?$TypeMisordered}; } build_types(); - our $Typecast = qr{\s*(\(\s*$NonptrType\s*\)){0,1}\s*}; # Using $balanced_parens, $LvalOrFunc, or $FuncArg @@ -338,43 +482,150 @@ our $Typecast = qr{\s*(\(\s*$NonptrType\s*\)){0,1}\s*}; # Any use must be runtime checked with $^V our $balanced_parens = qr/(\((?:[^\(\)]++|(?-1))*\))/; -our $LvalOrFunc = qr{($Lval)\s*($balanced_parens{0,1})\s*}; +our $LvalOrFunc = qr{((?:[\&\*]\s*)?$Lval)\s*($balanced_parens{0,1})\s*}; our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant)}; +our $declaration_macros = qr{(?x: + (?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,2}\s*\(| + (?:$Storage\s+)?LIST_HEAD\s*\(| + (?:$Storage\s+)?${Type}\s+uninitialized_var\s*\( +)}; + sub deparenthesize { my ($string) = @_; return "" if (!defined($string)); - $string =~ s@^\s*\(\s*@@g; - $string =~ s@\s*\)\s*$@@g; + + while ($string =~ /^\s*\(.*\)\s*$/) { + $string =~ s@^\s*\(\s*@@; + $string =~ s@\s*\)\s*$@@; + } + $string =~ s@\s+@ @g; + return $string; } -$chk_signoff = 0 if ($file); +sub seed_camelcase_file { + my ($file) = @_; -my @dep_includes = (); -my @dep_functions = (); -my $removal = "Documentation/feature-removal-schedule.txt"; -if ($tree && -f "$root/$removal") { - open(my $REMOVE, '<', "$root/$removal") || - die "$P: $removal: open failed - $!\n"; - while (<$REMOVE>) { - if (/^Check:\s+(.*\S)/) { - for my $entry (split(/[, ]+/, $1)) { - if ($entry =~ m@include/(.*)@) { - push(@dep_includes, $1); - - } elsif ($entry !~ m@/@) { - push(@dep_functions, $entry); - } - } + return if (!(-f $file)); + + local $/; + + open(my $include_file, '<', "$file") + or warn "$P: Can't read '$file' $!\n"; + my $text = <$include_file>; + close($include_file); + + my @lines = split('\n', $text); + + foreach my $line (@lines) { + next if ($line !~ /(?:[A-Z][a-z]|[a-z][A-Z])/); + if ($line =~ /^[ \t]*(?:#[ \t]*define|typedef\s+$Type)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)/) { + $camelcase{$1} = 1; + } elsif ($line =~ /^\s*$Declare\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*[\(\[,;]/) { + $camelcase{$1} = 1; + } elsif ($line =~ /^\s*(?:union|struct|enum)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*[;\{]/) { + $camelcase{$1} = 1; + } + } +} + +my $camelcase_seeded = 0; +sub seed_camelcase_includes { + return if ($camelcase_seeded); + + my $files; + my $camelcase_cache = ""; + my @include_files = (); + + $camelcase_seeded = 1; + + if (-e ".git") { + my $git_last_include_commit = `git log --no-merges --pretty=format:"%h%n" -1 -- include`; + chomp $git_last_include_commit; + $camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit"; + } else { + my $last_mod_date = 0; + $files = `find $root/include -name "*.h"`; + @include_files = split('\n', $files); + foreach my $file (@include_files) { + my $date = POSIX::strftime("%Y%m%d%H%M", + localtime((stat $file)[9])); + $last_mod_date = $date if ($last_mod_date < $date); + } + $camelcase_cache = ".checkpatch-camelcase.date.$last_mod_date"; + } + + if ($camelcase_cache ne "" && -f $camelcase_cache) { + open(my $camelcase_file, '<', "$camelcase_cache") + or warn "$P: Can't read '$camelcase_cache' $!\n"; + while (<$camelcase_file>) { + chomp; + $camelcase{$_} = 1; + } + close($camelcase_file); + + return; + } + + if (-e ".git") { + $files = `git ls-files "include/*.h"`; + @include_files = split('\n', $files); + } + + foreach my $file (@include_files) { + seed_camelcase_file($file); + } + + if ($camelcase_cache ne "") { + unlink glob ".checkpatch-camelcase.*"; + open(my $camelcase_file, '>', "$camelcase_cache") + or warn "$P: Can't write '$camelcase_cache' $!\n"; + foreach (sort { lc($a) cmp lc($b) } keys(%camelcase)) { + print $camelcase_file ("$_\n"); } + close($camelcase_file); + } +} + +sub git_commit_info { + my ($commit, $id, $desc) = @_; + + return ($id, $desc) if ((which("git") eq "") || !(-e ".git")); + + my $output = `git log --no-color --format='%H %s' -1 $commit 2>&1`; + $output =~ s/^\s*//gm; + my @lines = split("\n", $output); + + if ($lines[0] =~ /^error: short SHA1 $commit is ambiguous\./) { +# Maybe one day convert this block of bash into something that returns +# all matching commit ids, but it's very slow... +# +# echo "checking commits $1..." +# git rev-list --remotes | grep -i "^$1" | +# while read line ; do +# git log --format='%H %s' -1 $line | +# echo "commit $(cut -c 1-12,41-)" +# done + } elsif ($lines[0] =~ /^fatal: ambiguous argument '$commit': unknown revision or path not in the working tree\./) { + } else { + $id = substr($lines[0], 0, 12); + $desc = substr($lines[0], 41); } - close($REMOVE); + + return ($id, $desc); } +$chk_signoff = 0 if ($file); + my @rawlines = (); my @lines = (); +my @fixed = (); +my @fixed_inserted = (); +my @fixed_deleted = (); +my $fixlinenr = -1; + my $vname; for my $filename (@ARGV) { my $FILE; @@ -402,6 +653,10 @@ for my $filename (@ARGV) { } @rawlines = (); @lines = (); + @fixed = (); + @fixed_inserted = (); + @fixed_deleted = (); + $fixlinenr = -1; } exit($exit); @@ -421,7 +676,7 @@ sub top_of_kernel_tree { } } return 1; - } +} sub parse_email { my ($formatted_email) = @_; @@ -442,7 +697,7 @@ sub parse_email { $comment = $2 if defined $2; $formatted_email =~ s/$address.*$//; $name = $formatted_email; - $name =~ s/^\s+|\s+$//g; + $name = trim($name); $name =~ s/^\"|\"$//g; # If there's a name left after stripping spaces and # leading quotes, and the address doesn't have both @@ -457,9 +712,9 @@ sub parse_email { } } - $name =~ s/^\s+|\s+$//g; + $name = trim($name); $name =~ s/^\"|\"$//g; - $address =~ s/^\s+|\s+$//g; + $address = trim($address); $address =~ s/^\<|\>$//g; if ($name =~ /[^\w \-]/i) { ##has "must quote" chars @@ -475,9 +730,9 @@ sub format_email { my $formatted_email; - $name =~ s/^\s+|\s+$//g; + $name = trim($name); $name =~ s/^\"|\"$//g; - $address =~ s/^\s+|\s+$//g; + $address = trim($address); if ($name =~ /[^\w \-]/i) { ##has "must quote" chars $name =~ s/(? 0); + + return !defined $ignore_type{$type}; } sub report { - if (!show_type($_[1]) || - (defined $tst_only && $_[2] !~ /\Q$tst_only\E/)) { + my ($level, $type, $msg) = @_; + + if (!show_type($type) || + (defined $tst_only && $msg !~ /\Q$tst_only\E/)) { return 0; } my $line; if ($show_types) { - $line = "$prefix$_[0]:$_[1]: $_[2]\n"; + $line = "$prefix$level:$type: $msg\n"; } else { - $line = "$prefix$_[0]: $_[2]\n"; + $line = "$prefix$level: $msg\n"; } $line = (split('\n', $line))[0] . "\n" if ($terse); @@ -1284,27 +1564,124 @@ sub report { return 1; } + sub report_dump { our @report; } +sub fixup_current_range { + my ($lineRef, $offset, $length) = @_; + + if ($$lineRef =~ /^\@\@ -\d+,\d+ \+(\d+),(\d+) \@\@/) { + my $o = $1; + my $l = $2; + my $no = $o + $offset; + my $nl = $l + $length; + $$lineRef =~ s/\+$o,$l \@\@/\+$no,$nl \@\@/; + } +} + +sub fix_inserted_deleted_lines { + my ($linesRef, $insertedRef, $deletedRef) = @_; + + my $range_last_linenr = 0; + my $delta_offset = 0; + + my $old_linenr = 0; + my $new_linenr = 0; + + my $next_insert = 0; + my $next_delete = 0; + + my @lines = (); + + my $inserted = @{$insertedRef}[$next_insert++]; + my $deleted = @{$deletedRef}[$next_delete++]; + + foreach my $old_line (@{$linesRef}) { + my $save_line = 1; + my $line = $old_line; #don't modify the array + if ($line =~ /^(?:\+\+\+\|\-\-\-)\s+\S+/) { #new filename + $delta_offset = 0; + } elsif ($line =~ /^\@\@ -\d+,\d+ \+\d+,\d+ \@\@/) { #new hunk + $range_last_linenr = $new_linenr; + fixup_current_range(\$line, $delta_offset, 0); + } + + while (defined($deleted) && ${$deleted}{'LINENR'} == $old_linenr) { + $deleted = @{$deletedRef}[$next_delete++]; + $save_line = 0; + fixup_current_range(\$lines[$range_last_linenr], $delta_offset--, -1); + } + + while (defined($inserted) && ${$inserted}{'LINENR'} == $old_linenr) { + push(@lines, ${$inserted}{'LINE'}); + $inserted = @{$insertedRef}[$next_insert++]; + $new_linenr++; + fixup_current_range(\$lines[$range_last_linenr], $delta_offset++, 1); + } + + if ($save_line) { + push(@lines, $line); + $new_linenr++; + } + + $old_linenr++; + } + + return @lines; +} + +sub fix_insert_line { + my ($linenr, $line) = @_; + + my $inserted = { + LINENR => $linenr, + LINE => $line, + }; + push(@fixed_inserted, $inserted); +} + +sub fix_delete_line { + my ($linenr, $line) = @_; + + my $deleted = { + LINENR => $linenr, + LINE => $line, + }; + + push(@fixed_deleted, $deleted); +} + sub ERROR { - if (report("ERROR", $_[0], $_[1])) { + my ($type, $msg) = @_; + + if (report("ERROR", $type, $msg)) { our $clean = 0; our $cnt_error++; + return 1; } + return 0; } sub WARN { - if (report("WARNING", $_[0], $_[1])) { + my ($type, $msg) = @_; + + if (report("WARNING", $type, $msg)) { our $clean = 0; our $cnt_warn++; + return 1; } + return 0; } sub CHK { - if ($check && report("CHECK", $_[0], $_[1])) { + my ($type, $msg) = @_; + + if ($check && report("CHECK", $type, $msg)) { our $clean = 0; our $cnt_chk++; + return 1; } + return 0; } sub check_absolute_file { @@ -1335,6 +1712,53 @@ sub check_absolute_file { } } +sub trim { + my ($string) = @_; + + $string =~ s/^\s+|\s+$//g; + + return $string; +} + +sub ltrim { + my ($string) = @_; + + $string =~ s/^\s+//; + + return $string; +} + +sub rtrim { + my ($string) = @_; + + $string =~ s/\s+$//; + + return $string; +} + +sub string_find_replace { + my ($string, $find, $replace) = @_; + + $string =~ s/$find/$replace/g; + + return $string; +} + +sub tabify { + my ($leading) = @_; + + my $source_indent = 8; + my $max_spaces_before_tab = $source_indent - 1; + my $spaces_to_tab = " " x $source_indent; + + #convert leading spaces to tabs + 1 while $leading =~ s@^([\t]*)$spaces_to_tab@$1\t@g; + #Remove spaces before a tab + 1 while $leading =~ s@^([\t]*)( {1,$max_spaces_before_tab})\t@$1\t@g; + + return "$leading"; +} + sub pos_last_openparen { my ($line) = @_; @@ -1362,7 +1786,7 @@ sub pos_last_openparen { } } - return $last_openparen + 1; + return length(expand_tabs(substr($line, 0, $last_openparen))) + 1; } sub process { @@ -1383,8 +1807,12 @@ sub process { my $signoff = 0; my $is_patch = 0; - my $in_header_lines = 1; + my $in_header_lines = $file ? 0 : 1; my $in_commit_log = 0; #Scanning lines before patch + my $reported_maintainer_file = 0; + my $non_utf8_charset = 0; + + my $last_blank_line = 0; our @report = (); our $cnt_lines = 0; @@ -1410,18 +1838,24 @@ sub process { my %suppress_export; my $suppress_statement = 0; + my %signatures = (); + # Pre-scan the patch sanitizing the lines. # Pre-scan the patch looking for any __setup documentation. # my @setup_docs = (); my $setup_docs = 0; + my $camelcase_file_seeded = 0; + sanitise_line_reset(); my $line; foreach my $rawline (@rawlines) { $linenr++; $line = $rawline; + push(@fixed, $rawline) if ($fix); + if ($rawline=~/^\+\+\+\s+(\S+)/) { $setup_docs = 0; if ($1 =~ m@Documentation/kernel-parameters.txt$@) { @@ -1497,8 +1931,12 @@ sub process { $realcnt = 0; $linenr = 0; + $fixlinenr = -1; foreach my $line (@lines) { $linenr++; + $fixlinenr++; + my $sline = $line; #copy of $line + $sline =~ s/$;/ /g; #with comments as spaces my $rawline = $rawlines[$linenr - 1]; @@ -1551,14 +1989,16 @@ sub process { $here = "#$linenr: " if (!$file); $here = "#$realline: " if ($file); + my $found_file = 0; # extract the filename as it passes if ($line =~ /^diff --git.*?(\S+)$/) { $realfile = $1; - $realfile =~ s@^([^/]*)/@@; + $realfile =~ s@^([^/]*)/@@ if (!$file); $in_commit_log = 0; + $found_file = 1; } elsif ($line =~ /^\+\+\+\s+(\S+)/) { $realfile = $1; - $realfile =~ s@^([^/]*)/@@; + $realfile =~ s@^([^/]*)/@@ if (!$file); $in_commit_log = 0; $p1_prefix = $1; @@ -1572,6 +2012,15 @@ sub process { ERROR("MODIFIED_INCLUDE_ASM", "do not modify files in include/asm, change architecture specific files in include/asm-\n" . "$here$rawline\n"); } + $found_file = 1; + } + + if ($found_file) { + if ($realfile =~ m@^(drivers/net/|net/)@) { + $check = 1; + } else { + $check = $check_orig; + } next; } @@ -1586,7 +2035,8 @@ sub process { # Check for incorrect file permissions if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) { my $permhere = $here . "FILE: $realfile\n"; - if ($realfile =~ /(Makefile|Kconfig|\.c|\.h|\.S|\.tmpl)$/) { + if ($realfile !~ m@scripts/@ && + $realfile !~ /\.(py|pl|awk|sh)$/) { ERROR("EXECUTE_PERMISSIONS", "do not set execute permissions for source files\n" . $permhere); } @@ -1600,24 +2050,41 @@ sub process { # Check signature styles if (!$in_header_lines && - $line =~ /^(\s*)($signature_tags)(\s*)(.*)/) { + $line =~ /^(\s*)([a-z0-9_-]+by:|$signature_tags)(\s*)(.*)/i) { my $space_before = $1; my $sign_off = $2; my $space_after = $3; my $email = $4; my $ucfirst_sign_off = ucfirst(lc($sign_off)); - if (defined $space_before && $space_before ne "") { + if ($sign_off !~ /$signature_tags/) { WARN("BAD_SIGN_OFF", - "Do not use whitespace before $ucfirst_sign_off\n" . $herecurr); + "Non-standard signature: $sign_off\n" . $herecurr); + } + if (defined $space_before && $space_before ne "") { + if (WARN("BAD_SIGN_OFF", + "Do not use whitespace before $ucfirst_sign_off\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] = + "$ucfirst_sign_off $email"; + } } if ($sign_off =~ /-by:$/i && $sign_off ne $ucfirst_sign_off) { - WARN("BAD_SIGN_OFF", - "'$ucfirst_sign_off' is the preferred signature form\n" . $herecurr); + if (WARN("BAD_SIGN_OFF", + "'$ucfirst_sign_off' is the preferred signature form\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] = + "$ucfirst_sign_off $email"; + } + } if (!defined $space_after || $space_after ne " ") { - WARN("BAD_SIGN_OFF", - "Use a single space after $ucfirst_sign_off\n" . $herecurr); + if (WARN("BAD_SIGN_OFF", + "Use a single space after $ucfirst_sign_off\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] = + "$ucfirst_sign_off $email"; + } } my ($email_name, $email_address, $comment) = parse_email($email); @@ -1638,6 +2105,57 @@ sub process { "email address '$email' might be better as '$suggested_email$comment'\n" . $herecurr); } } + +# Check for duplicate signatures + my $sig_nospace = $line; + $sig_nospace =~ s/\s//g; + $sig_nospace = lc($sig_nospace); + if (defined $signatures{$sig_nospace}) { + WARN("BAD_SIGN_OFF", + "Duplicate signature\n" . $herecurr); + } else { + $signatures{$sig_nospace} = 1; + } + } + +# Check for old stable address + if ($line =~ /^\s*cc:\s*.*?.*$/i) { + ERROR("STABLE_ADDRESS", + "The 'stable' address should be 'stable\@vger.kernel.org'\n" . $herecurr); + } + +# Check for unwanted Gerrit info + if ($in_commit_log && $line =~ /^\s*change-id:/i) { + ERROR("GERRIT_CHANGE_ID", + "Remove Gerrit Change-Id's before submitting upstream.\n" . $herecurr); + } + +# Check for improperly formed commit descriptions + if ($in_commit_log && + $line =~ /\bcommit\s+[0-9a-f]{5,}/i && + !($line =~ /\b[Cc]ommit [0-9a-f]{12,40} \("/ || + ($line =~ /\b[Cc]ommit [0-9a-f]{12,40}\s*$/ && + defined $rawlines[$linenr] && + $rawlines[$linenr] =~ /^\s*\("/))) { + $line =~ /\b(c)ommit\s+([0-9a-f]{5,})/i; + my $init_char = $1; + my $orig_commit = lc($2); + my $id = '01234567890ab'; + my $desc = 'commit description'; + ($id, $desc) = git_commit_info($orig_commit, $id, $desc); + ERROR("GIT_COMMIT_ID", + "Please use 12 or more chars for the git commit ID like: '${init_char}ommit $id (\"$desc\")'\n" . $herecurr); + } + +# Check for added, moved or deleted files + if (!$reported_maintainer_file && !$in_commit_log && + ($line =~ /^(?:new|deleted) file mode\s*\d+\s*$/ || + $line =~ /^rename (?:from|to) [\w\/\.\-]+\s*$/ || + ($line =~ /\{\s*([\w\/\.\-]*)\s*\=\>\s*([\w\/\.\-]*)\s*\}/ && + (defined($1) || defined($2))))) { + $reported_maintainer_file = 1; + WARN("FILE_PATH_CHANGES", + "added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr); } # Check for wrappage within a valid hunk of the file @@ -1677,15 +2195,23 @@ sub process { # Check if it's the start of a commit log # (not a header line and we haven't seen the patch filename) if ($in_header_lines && $realfile =~ /^$/ && - $rawline !~ /^(commit\b|from\b|[\w-]+:).+$/i) { + !($rawline =~ /^\s+\S/ || + $rawline =~ /^(commit\b|from\b|[\w-]+:).*$/i)) { $in_header_lines = 0; $in_commit_log = 1; } -# Still not yet in a patch, check for any UTF-8 - if ($in_commit_log && $realfile =~ /^$/ && +# Check if there is UTF-8 in a commit log when a mail header has explicitly +# declined it, i.e defined some charset where it is missing. + if ($in_header_lines && + $rawline =~ /^Content-Type:.+charset="(.+)".*$/ && + $1 !~ /utf-8/i) { + $non_utf8_charset = 1; + } + + if ($in_commit_log && $non_utf8_charset && $realfile =~ /^$/ && $rawline =~ /$NON_ASCII_UTF8/) { - CHK("UTF8_BEFORE_PATCH", + WARN("UTF8_BEFORE_PATCH", "8-bit UTF-8 used in possible commit log\n" . $herecurr); } @@ -1695,21 +2221,38 @@ sub process { #trailing whitespace if ($line =~ /^\+.*\015/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; - ERROR("DOS_LINE_ENDINGS", - "DOS line endings\n" . $herevet); - + if (ERROR("DOS_LINE_ENDINGS", + "DOS line endings\n" . $herevet) && + $fix) { + $fixed[$fixlinenr] =~ s/[\s\015]+$//; + } } elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; - ERROR("TRAILING_WHITESPACE", - "trailing whitespace\n" . $herevet); + if (ERROR("TRAILING_WHITESPACE", + "trailing whitespace\n" . $herevet) && + $fix) { + $fixed[$fixlinenr] =~ s/\s+$//; + } + $rpt_cleaners = 1; } +# Check for FSF mailing addresses. + if ($rawline =~ /\bwrite to the Free/i || + $rawline =~ /\b59\s+Temple\s+Pl/i || + $rawline =~ /\b51\s+Franklin\s+St/i) { + my $herevet = "$here\n" . cat_vet($rawline) . "\n"; + my $msg_type = \&ERROR; + $msg_type = \&CHK if ($file); + &{$msg_type}("FSF_MAILING_ADDRESS", + "Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL.\n" . $herevet) + } + # check for Kconfig help text having a real description # Only applies when adding the entry originally, after that we do not have # sufficient context to determine whether it is indeed long enough. if ($realfile =~ /Kconfig/ && - $line =~ /.\s*config\s+/) { + $line =~ /^\+\s*config\s+/) { my $length = 0; my $cnt = $realcnt; my $ln = $linenr + 1; @@ -1722,10 +2265,11 @@ sub process { $is_end = $lines[$ln - 1] =~ /^\+/; next if ($f =~ /^-/); + last if (!$file && $f =~ /^\@\@/); - if ($lines[$ln - 1] =~ /.\s*(?:bool|tristate)\s*\"/) { + if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate)\s*\"/) { $is_start = 1; - } elsif ($lines[$ln - 1] =~ /.\s*(?:---)?help(?:---)?$/) { + } elsif ($lines[$ln - 1] =~ /^\+\s*(?:---)?help(?:---)?$/) { $length = -1; } @@ -1744,6 +2288,13 @@ sub process { #print "is_start<$is_start> is_end<$is_end> length<$length>\n"; } +# discourage the addition of CONFIG_EXPERIMENTAL in Kconfig. + if ($realfile =~ /Kconfig/ && + $line =~ /.\s*depends on\s+.*\bEXPERIMENTAL\b/) { + WARN("CONFIG_EXPERIMENTAL", + "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see https://lkml.org/lkml/2012/10/23/580\n"); + } + if (($realfile =~ /Makefile.*/ || $realfile =~ /Kbuild.*/) && ($line =~ /\+(EXTRA_[A-Z]+FLAGS).*/)) { my $flag = $1; @@ -1758,39 +2309,76 @@ sub process { "Use of $flag is deprecated, please use \`$replacement->{$flag} instead.\n" . $herecurr) if ($replacement->{$flag}); } +# check for DT compatible documentation + if (defined $root && + (($realfile =~ /\.dtsi?$/ && $line =~ /^\+\s*compatible\s*=\s*\"/) || + ($realfile =~ /\.[ch]$/ && $line =~ /^\+.*\.compatible\s*=\s*\"/))) { + + my @compats = $rawline =~ /\"([a-zA-Z0-9\-\,\.\+_]+)\"/g; + + my $dt_path = $root . "/Documentation/devicetree/bindings/"; + my $vp_file = $dt_path . "vendor-prefixes.txt"; + + foreach my $compat (@compats) { + my $compat2 = $compat; + $compat2 =~ s/\,[a-zA-Z0-9]*\-/\,<\.\*>\-/; + my $compat3 = $compat; + $compat3 =~ s/\,([a-z]*)[0-9]*\-/\,$1<\.\*>\-/; + `grep -Erq "$compat|$compat2|$compat3" $dt_path`; + if ( $? >> 8 ) { + WARN("UNDOCUMENTED_DT_STRING", + "DT compatible string \"$compat\" appears un-documented -- check $dt_path\n" . $herecurr); + } + + next if $compat !~ /^([a-zA-Z0-9\-]+)\,/; + my $vendor = $1; + `grep -Eq "^$vendor\\b" $vp_file`; + if ( $? >> 8 ) { + WARN("UNDOCUMENTED_DT_STRING", + "DT compatible string vendor \"$vendor\" appears un-documented -- check $vp_file\n" . $herecurr); + } + } + } + # check we are in a valid source file if not then ignore this hunk next if ($realfile !~ /\.(h|c|s|S|pl|sh)$/); -#80 column limit +#line length limit if ($line =~ /^\+/ && $prevrawline !~ /\/\*\*/ && $rawline !~ /^.\s*\*\s*\@$Ident\s/ && !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(KERN_\S+\s*|[^"]*))?"[X\t]*"\s*(?:|,|\)\s*;)\s*$/ || $line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) && - $length > 80) + $length > $max_line_length) { WARN("LONG_LINE", - "line over 80 characters\n" . $herecurr); + "line over $max_line_length characters\n" . $herecurr); } # Check for user-visible strings broken across lines, which breaks the ability -# to grep for the string. Limited to strings used as parameters (those -# following an open parenthesis), which almost completely eliminates false -# positives, as well as warning only once per parameter rather than once per -# line of the string. Make an exception when the previous string ends in a -# newline (multiple lines in one string constant) or \n\t (common in inline -# assembly to indent the instruction on the following line). +# to grep for the string. Make exceptions when the previous string ends in a +# newline (multiple lines in one string constant) or '\t', '\r', ';', or '{' +# (common in inline assembly) or is a octal \123 or hexadecimal \xaf value if ($line =~ /^\+\s*"/ && $prevline =~ /"\s*$/ && - $prevline =~ /\(/ && - $prevrawline !~ /\\n(?:\\t)*"\s*$/) { + $prevrawline !~ /(?:\\(?:[ntr]|[0-7]{1,3}|x[0-9a-fA-F]{1,2})|;\s*|\{\s*)"\s*$/) { WARN("SPLIT_STRING", "quoted string split across lines\n" . $hereprev); } +# check for missing a space in a string concatination + if ($prevrawline =~ /[^\\]\w"$/ && $rawline =~ /^\+[\t ]+"\w/) { + WARN('MISSING_SPACE', + "break quoted strings at a space character\n" . $hereprev); + } + # check for spaces before a quoted newline if ($rawline =~ /^.*\".*\s\\n/) { - WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE", - "unnecessary whitespace before a quoted newline\n" . $herecurr); + if (WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE", + "unnecessary whitespace before a quoted newline\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/^(\+.*\".*)\s+\\n/$1\\n/; + } + } # check for adding lines without a newline. @@ -1821,16 +2409,25 @@ sub process { if ($rawline =~ /^\+\s* \t\s*\S/ || $rawline =~ /^\+\s* \s*/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; - ERROR("CODE_INDENT", - "code indent should use tabs where possible\n" . $herevet); $rpt_cleaners = 1; + if (ERROR("CODE_INDENT", + "code indent should use tabs where possible\n" . $herevet) && + $fix) { + $fixed[$fixlinenr] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e; + } } # check for space before tabs. if ($rawline =~ /^\+/ && $rawline =~ / \t/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; - WARN("SPACE_BEFORE_TAB", - "please, no space before tabs\n" . $herevet); + if (WARN("SPACE_BEFORE_TAB", + "please, no space before tabs\n" . $herevet) && + $fix) { + while ($fixed[$fixlinenr] =~ + s/(^\+.*) {8,8}\t/$1\t\t/) {} + while ($fixed[$fixlinenr] =~ + s/(^\+.*) +\t/$1\t/) {} + } } # check for && or || at the start of a line @@ -1841,15 +2438,15 @@ sub process { # check multi-line statement indentation matches previous line if ($^V && $^V ge 5.10.0 && - $prevline =~ /^\+(\t*)(if \(|$Ident\().*(\&\&|\|\||,)\s*$/) { + $prevline =~ /^\+([ \t]*)((?:$c90_Keywords(?:\s+if)\s*)|(?:$Declare\s*)?(?:$Ident|\(\s*\*\s*$Ident\s*\))\s*|$Ident\s*=\s*$Ident\s*)\(.*(\&\&|\|\||,)\s*$/) { $prevline =~ /^\+(\t*)(.*)$/; my $oldindent = $1; my $rest = $2; my $pos = pos_last_openparen($rest); if ($pos >= 0) { - $line =~ /^\+([ \t]*)/; - my $newindent = $1; + $line =~ /^(\+| )([ \t]*)/; + my $newindent = $2; my $goodtabindent = $oldindent . "\t" x ($pos / 8) . @@ -1858,15 +2455,123 @@ sub process { if ($newindent ne $goodtabindent && $newindent ne $goodspaceindent) { - CHK("PARENTHESIS_ALIGNMENT", - "Alignment should match open parenthesis\n" . $hereprev); + + if (CHK("PARENTHESIS_ALIGNMENT", + "Alignment should match open parenthesis\n" . $hereprev) && + $fix && $line =~ /^\+/) { + $fixed[$fixlinenr] =~ + s/^\+[ \t]*/\+$goodtabindent/; + } } } } - if ($line =~ /^\+.*\*[ \t]*\)[ \t]+/) { - CHK("SPACING", - "No space is necessary after a cast\n" . $hereprev); + if ($line =~ /^\+.*\(\s*$Type\s*\)[ \t]+(?!$Assignment|$Arithmetic|{)/) { + if (CHK("SPACING", + "No space is necessary after a cast\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/(\(\s*$Type\s*\))[ \t]+/$1/; + } + } + + if ($realfile =~ m@^(drivers/net/|net/)@ && + $prevrawline =~ /^\+[ \t]*\/\*[ \t]*$/ && + $rawline =~ /^\+[ \t]*\*/ && + $realline > 2) { + WARN("NETWORKING_BLOCK_COMMENT_STYLE", + "networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev); + } + + if ($realfile =~ m@^(drivers/net/|net/)@ && + $prevrawline =~ /^\+[ \t]*\/\*/ && #starting /* + $prevrawline !~ /\*\/[ \t]*$/ && #no trailing */ + $rawline =~ /^\+/ && #line is new + $rawline !~ /^\+[ \t]*\*/) { #no leading * + WARN("NETWORKING_BLOCK_COMMENT_STYLE", + "networking block comments start with * on subsequent lines\n" . $hereprev); + } + + if ($realfile =~ m@^(drivers/net/|net/)@ && + $rawline !~ m@^\+[ \t]*\*/[ \t]*$@ && #trailing */ + $rawline !~ m@^\+.*/\*.*\*/[ \t]*$@ && #inline /*...*/ + $rawline !~ m@^\+.*\*{2,}/[ \t]*$@ && #trailing **/ + $rawline =~ m@^\+[ \t]*.+\*\/[ \t]*$@) { #non blank */ + WARN("NETWORKING_BLOCK_COMMENT_STYLE", + "networking block comments put the trailing */ on a separate line\n" . $herecurr); + } + +# check for missing blank lines after struct/union declarations +# with exceptions for various attributes and macros + if ($prevline =~ /^[\+ ]};?\s*$/ && + $line =~ /^\+/ && + !($line =~ /^\+\s*$/ || + $line =~ /^\+\s*EXPORT_SYMBOL/ || + $line =~ /^\+\s*MODULE_/i || + $line =~ /^\+\s*\#\s*(?:end|elif|else)/ || + $line =~ /^\+[a-z_]*init/ || + $line =~ /^\+\s*(?:static\s+)?[A-Z_]*ATTR/ || + $line =~ /^\+\s*DECLARE/ || + $line =~ /^\+\s*__setup/)) { + if (CHK("LINE_SPACING", + "Please use a blank line after function/struct/union/enum declarations\n" . $hereprev) && + $fix) { + fix_insert_line($fixlinenr, "\+"); + } + } + +# check for multiple consecutive blank lines + if ($prevline =~ /^[\+ ]\s*$/ && + $line =~ /^\+\s*$/ && + $last_blank_line != ($linenr - 1)) { + if (CHK("LINE_SPACING", + "Please don't use multiple blank lines\n" . $hereprev) && + $fix) { + fix_delete_line($fixlinenr, $rawline); + } + + $last_blank_line = $linenr; + } + +# check for missing blank lines after declarations + if ($sline =~ /^\+\s+\S/ && #Not at char 1 + # actual declarations + ($prevline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ || + # function pointer declarations + $prevline =~ /^\+\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ || + # foo bar; where foo is some local typedef or #define + $prevline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ || + # known declaration macros + $prevline =~ /^\+\s+$declaration_macros/) && + # for "else if" which can look like "$Ident $Ident" + !($prevline =~ /^\+\s+$c90_Keywords\b/ || + # other possible extensions of declaration lines + $prevline =~ /(?:$Compare|$Assignment|$Operators)\s*$/ || + # not starting a section or a macro "\" extended line + $prevline =~ /(?:\{\s*|\\)$/) && + # looks like a declaration + !($sline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ || + # function pointer declarations + $sline =~ /^\+\s+$Declare\s*\(\s*\*\s*$Ident\s*\)\s*[=,;:\[\(]/ || + # foo bar; where foo is some local typedef or #define + $sline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ || + # known declaration macros + $sline =~ /^\+\s+$declaration_macros/ || + # start of struct or union or enum + $sline =~ /^\+\s+(?:union|struct|enum|typedef)\b/ || + # start or end of block or continuation of declaration + $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(\[])/ || + # bitfield continuation + $sline =~ /^\+\s+$Ident\s*:\s*\d+\s*[,;]/ || + # other possible extensions of declaration lines + $sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/) && + # indentation of previous and current line are the same + (($prevline =~ /\+(\s+)\S/) && $sline =~ /^\+$1\S/)) { + if (WARN("LINE_SPACING", + "Missing a blank line after declarations\n" . $hereprev) && + $fix) { + fix_insert_line($fixlinenr, "\+"); + } } # check for spaces at the beginning of a line. @@ -1874,15 +2579,44 @@ sub process { # 1) within comments # 2) indented preprocessor commands # 3) hanging labels - if ($rawline =~ /^\+ / && $line !~ /\+ *(?:$;|#|$Ident:)/) { + if ($rawline =~ /^\+ / && $line !~ /^\+ *(?:$;|#|$Ident:)/) { my $herevet = "$here\n" . cat_vet($rawline) . "\n"; - WARN("LEADING_SPACE", - "please, no spaces at the start of a line\n" . $herevet); + if (WARN("LEADING_SPACE", + "please, no spaces at the start of a line\n" . $herevet) && + $fix) { + $fixed[$fixlinenr] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e; + } } # check we are in a valid C source file if not then ignore this hunk next if ($realfile !~ /\.(h|c)$/); +# check indentation of any line with a bare else +# if the previous line is a break or return and is indented 1 tab more... + if ($sline =~ /^\+([\t]+)(?:}[ \t]*)?else(?:[ \t]*{)?\s*$/) { + my $tabs = length($1) + 1; + if ($prevline =~ /^\+\t{$tabs,$tabs}(?:break|return)\b/) { + WARN("UNNECESSARY_ELSE", + "else is not generally useful after a break or return\n" . $hereprev); + } + } + +# check indentation of a line with a break; +# if the previous line is a goto or return and is indented the same # of tabs + if ($sline =~ /^\+([\t]+)break\s*;\s*$/) { + my $tabs = $1; + if ($prevline =~ /^\+$tabs(?:goto|return)\b/) { + WARN("UNNECESSARY_BREAK", + "break is not useful after a goto or return\n" . $hereprev); + } + } + +# discourage the addition of CONFIG_EXPERIMENTAL in #if(def). + if ($line =~ /^\+\s*\#\s*if.*\bCONFIG_EXPERIMENTAL\b/) { + WARN("CONFIG_EXPERIMENTAL", + "Use of CONFIG_EXPERIMENTAL is deprecated. For alternatives, see https://lkml.org/lkml/2012/10/23/580\n"); + } + # check for RCS/CVS revision markers if ($rawline =~ /^\+.*\$(Revision|Log|Id)(?:\$|)/) { WARN("CVS_KEYWORD", @@ -1901,12 +2635,18 @@ sub process { "use the SSYNC() macro in asm/blackfin.h\n" . $herevet); } +# check for old HOTPLUG __dev section markings + if ($line =~ /\b(__dev(init|exit)(data|const|))\b/) { + WARN("HOTPLUG_SECTION", + "Using $1 is unnecessary\n" . $herecurr); + } + # Check for potential 'bare' types my ($stat, $cond, $line_nr_next, $remain_next, $off_next, $realline_next); #print "LINE<$line>\n"; if ($linenr >= $suppress_statement && - $realcnt && $line =~ /.\s*\S/) { + $realcnt && $sline =~ /.\s*\S/) { ($stat, $cond, $line_nr_next, $remain_next, $off_next) = ctx_statement_block($linenr, $realcnt, 0); $stat =~ s/\n./\n /g; @@ -2006,7 +2746,7 @@ sub process { # if/while/etc brace do not go on next line, unless defining a do while loop, # or if that brace on the next line is for something else - if ($line =~ /(.*)\b((?:if|while|for|switch)\s*\(|do\b|else\b)/ && $line !~ /^.\s*\#/) { + if ($line =~ /(.*)\b((?:if|while|for|switch|(?:[a-z_]+|)for_each[a-z_]+)\s*\(|do\b|else\b)/ && $line !~ /^.\s*\#/) { my $pre_ctx = "$1$2"; my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0); @@ -2033,7 +2773,7 @@ sub process { #print "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n"; #print "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n"; - if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln -1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) { + if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln - 1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) { ERROR("OPEN_BRACE", "that open brace { should be on the previous line\n" . "$here\n$ctx\n$rawlines[$ctx_ln - 1]\n"); @@ -2052,7 +2792,7 @@ sub process { } # Check relative indent for conditionals and blocks. - if ($line =~ /\b(?:(?:if|while|for)\s*\(|do\b)/ && $line !~ /^.\s*#/ && $line !~ /\}\s*while\s*/) { + if ($line =~ /\b(?:(?:if|while|for|(?:[a-z_]+|)for_each[a-z_]+)\s*\(|do\b)/ && $line !~ /^.\s*#/ && $line !~ /\}\s*while\s*/) { ($stat, $cond, $line_nr_next, $remain_next, $off_next) = ctx_statement_block($linenr, $realcnt, 0) if (!defined $stat); @@ -2155,7 +2895,7 @@ sub process { $prev_values = substr($curr_values, -1); #ignore lines not being added - if ($line=~/^[^\+]/) {next;} + next if ($line =~ /^[^\+]/); # TEST: allow direct testing of the type matcher. if ($dbg_type) { @@ -2183,8 +2923,18 @@ sub process { # check for initialisation to aggregates open brace on the next line if ($line =~ /^.\s*{/ && $prevline =~ /(?:^|[^=])=\s*$/) { - ERROR("OPEN_BRACE", - "that open brace { should be on the previous line\n" . $hereprev); + if (ERROR("OPEN_BRACE", + "that open brace { should be on the previous line\n" . $hereprev) && + $fix && $prevline =~ /^\+/ && $line =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = $prevrawline; + $fixedline =~ s/\s*=\s*$/ = {/; + fix_insert_line($fixlinenr, $fixedline); + $fixedline = $line; + $fixedline =~ s/^(.\s*){\s*/$1/; + fix_insert_line($fixlinenr, $fixedline); + } } # @@ -2196,15 +2946,25 @@ sub process { my $path = $1; if ($path =~ m{//}) { ERROR("MALFORMED_INCLUDE", - "malformed #include filename\n" . - $herecurr); + "malformed #include filename\n" . $herecurr); + } + if ($path =~ "^uapi/" && $realfile =~ m@\binclude/uapi/@) { + ERROR("UAPI_INCLUDE", + "No #include in ...include/uapi/... should use a uapi/ path prefix\n" . $herecurr); } } # no C99 // comments if ($line =~ m{//}) { - ERROR("C99_COMMENTS", - "do not use C99 // comments\n" . $herecurr); + if (ERROR("C99_COMMENTS", + "do not use C99 // comments\n" . $herecurr) && + $fix) { + my $line = $fixed[$fixlinenr]; + if ($line =~ /\/\/(.*)$/) { + my $comment = trim($1); + $fixed[$fixlinenr] =~ s@\/\/(.*)$@/\* $comment \*/@; + } + } } # Remove C99 comments. $line =~ s@//.*@@; @@ -2256,16 +3016,29 @@ sub process { } # check for global initialisers. - if ($line =~ /^.$Type\s*$Ident\s*(?:\s+$Modifier)*\s*=\s*(0|NULL|false)\s*;/) { - ERROR("GLOBAL_INITIALISERS", - "do not initialise globals to 0 or NULL\n" . - $herecurr); + if ($line =~ /^\+(\s*$Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/) { + if (ERROR("GLOBAL_INITIALISERS", + "do not initialise globals to 0 or NULL\n" . + $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/$1;/; + } } # check for static initialisers. - if ($line =~ /\bstatic\s.*=\s*(0|NULL|false)\s*;/) { - ERROR("INITIALISED_STATIC", - "do not initialise statics to 0 or NULL\n" . - $herecurr); + if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL|false)\s*;/) { + if (ERROR("INITIALISED_STATIC", + "do not initialise statics to 0 or NULL\n" . + $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL|false)\s*;/$1;/; + } + } + +# check for misordered declarations of char/short/int/long with signed/unsigned + while ($sline =~ m{(\b$TypeMisordered\b)}g) { + my $tmp = trim($1); + WARN("MISORDERED_TYPE", + "type '$tmp' should be specified in [[un]signed] [short|int|long|long long] order\n" . $herecurr); } # check for static const char * arrays. @@ -2282,10 +3055,29 @@ sub process { $herecurr); } -# check for declarations of struct pci_device_id - if ($line =~ /\bstruct\s+pci_device_id\s+\w+\s*\[\s*\]\s*\=\s*\{/) { - WARN("DEFINE_PCI_DEVICE_TABLE", - "Use DEFINE_PCI_DEVICE_TABLE for struct pci_device_id\n" . $herecurr); +# check for non-global char *foo[] = {"bar", ...} declarations. + if ($line =~ /^.\s+(?:static\s+|const\s+)?char\s+\*\s*\w+\s*\[\s*\]\s*=\s*\{/) { + WARN("STATIC_CONST_CHAR_ARRAY", + "char * array declaration might be better as static const\n" . + $herecurr); + } + +# check for function declarations without arguments like "int foo()" + if ($line =~ /(\b$Type\s+$Ident)\s*\(\s*\)/) { + if (ERROR("FUNCTION_WITHOUT_ARGS", + "Bad function definition - $1() should probably be $1(void)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(\b($Type)\s+($Ident))\s*\(\s*\)/$2 $3(void)/; + } + } + +# check for uses of DEFINE_PCI_DEVICE_TABLE + if ($line =~ /\bDEFINE_PCI_DEVICE_TABLE\s*\(\s*(\w+)\s*\)\s*=/) { + if (WARN("DEFINE_PCI_DEVICE_TABLE", + "Prefer struct pci_device_id over deprecated DEFINE_PCI_DEVICE_TABLE\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b(?:static\s+|)DEFINE_PCI_DEVICE_TABLE\s*\(\s*(\w+)\s*\)\s*=\s*/static const struct pci_device_id $1\[\] = /; + } } # check for new typedefs, only function parameters and sparse annotations @@ -2303,7 +3095,7 @@ sub process { # (char*[ const]) while ($line =~ m{(\($NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)\))}g) { #print "AA<$1>\n"; - my ($from, $to) = ($2, $2); + my ($ident, $from, $to) = ($1, $2, $2); # Should start with a space. $to =~ s/^(\S)/ $1/; @@ -2313,15 +3105,22 @@ sub process { while ($to =~ s/\*\s+\*/\*\*/) { } - #print "from<$from> to<$to>\n"; +## print "1: from<$from> to<$to> ident<$ident>\n"; if ($from ne $to) { - ERROR("POINTER_LOCATION", - "\"(foo$from)\" should be \"(foo$to)\"\n" . $herecurr); + if (ERROR("POINTER_LOCATION", + "\"(foo$from)\" should be \"(foo$to)\"\n" . $herecurr) && + $fix) { + my $sub_from = $ident; + my $sub_to = $ident; + $sub_to =~ s/\Q$from\E/$to/; + $fixed[$fixlinenr] =~ + s@\Q$sub_from\E@$sub_to@; + } } } while ($line =~ m{(\b$NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)($Ident))}g) { #print "BB<$1>\n"; - my ($from, $to, $ident) = ($2, $2, $3); + my ($match, $from, $to, $ident) = ($1, $2, $2, $3); # Should start with a space. $to =~ s/^(\S)/ $1/; @@ -2333,10 +3132,18 @@ sub process { # Modifiers should have spaces. $to =~ s/(\b$Modifier$)/$1 /; - #print "from<$from> to<$to> ident<$ident>\n"; +## print "2: from<$from> to<$to> ident<$ident>\n"; if ($from ne $to && $ident !~ /^$Modifier$/) { - ERROR("POINTER_LOCATION", - "\"foo${from}bar\" should be \"foo${to}bar\"\n" . $herecurr); + if (ERROR("POINTER_LOCATION", + "\"foo${from}bar\" should be \"foo${to}bar\"\n" . $herecurr) && + $fix) { + + my $sub_from = $match; + my $sub_to = $match; + $sub_to =~ s/\Q$from\E/$to/; + $fixed[$fixlinenr] =~ + s@\Q$sub_from\E@$sub_to@; + } } } @@ -2382,25 +3189,150 @@ sub process { } } + if ($line =~ /\bprintk\s*\(\s*KERN_([A-Z]+)/) { + my $orig = $1; + my $level = lc($orig); + $level = "warn" if ($level eq "warning"); + my $level2 = $level; + $level2 = "dbg" if ($level eq "debug"); + WARN("PREFER_PR_LEVEL", + "Prefer [subsystem eg: netdev]_$level2([subsystem]dev, ... then dev_$level2(dev, ... then pr_$level(... to printk(KERN_$orig ...\n" . $herecurr); + } + + if ($line =~ /\bpr_warning\s*\(/) { + if (WARN("PREFER_PR_LEVEL", + "Prefer pr_warn(... to pr_warning(...\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\bpr_warning\b/pr_warn/; + } + } + + if ($line =~ /\bdev_printk\s*\(\s*KERN_([A-Z]+)/) { + my $orig = $1; + my $level = lc($orig); + $level = "warn" if ($level eq "warning"); + $level = "dbg" if ($level eq "debug"); + WARN("PREFER_DEV_LEVEL", + "Prefer dev_$level(... to dev_printk(KERN_$orig, ...\n" . $herecurr); + } + # function brace can't be on same line, except for #defines of do while, # or if closed on same line - if (($line=~/$Type\s*$Ident\(.*\).*\s{/) and + if (($line=~/$Type\s*$Ident\(.*\).*\s*{/) and !($line=~/\#\s*define.*do\s{/) and !($line=~/}/)) { - ERROR("OPEN_BRACE", - "open brace '{' following function declarations go on the next line\n" . $herecurr); + if (ERROR("OPEN_BRACE", + "open brace '{' following function declarations go on the next line\n" . $herecurr) && + $fix) { + fix_delete_line($fixlinenr, $rawline); + my $fixed_line = $rawline; + $fixed_line =~ /(^..*$Type\s*$Ident\(.*\)\s*){(.*)$/; + my $line1 = $1; + my $line2 = $2; + fix_insert_line($fixlinenr, ltrim($line1)); + fix_insert_line($fixlinenr, "\+{"); + if ($line2 !~ /^\s*$/) { + fix_insert_line($fixlinenr, "\+\t" . trim($line2)); + } + } } # open braces for enum, union and struct go on the same line. if ($line =~ /^.\s*{/ && $prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) { - ERROR("OPEN_BRACE", - "open brace '{' following $1 go on the same line\n" . $hereprev); + if (ERROR("OPEN_BRACE", + "open brace '{' following $1 go on the same line\n" . $hereprev) && + $fix && $prevline =~ /^\+/ && $line =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = rtrim($prevrawline) . " {"; + fix_insert_line($fixlinenr, $fixedline); + $fixedline = $rawline; + $fixedline =~ s/^(.\s*){\s*/$1\t/; + if ($fixedline !~ /^\+\s*$/) { + fix_insert_line($fixlinenr, $fixedline); + } + } } # missing space after union, struct or enum definition - if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?(?:\s+$Ident)?[=\{]/) { - WARN("SPACING", - "missing space after $1 definition\n" . $herecurr); + if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident){1,2}[=\{]/) { + if (WARN("SPACING", + "missing space after $1 definition\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/^(.\s*(?:typedef\s+)?(?:enum|union|struct)(?:\s+$Ident){1,2})([=\{])/$1 $2/; + } + } + +# Function pointer declarations +# check spacing between type, funcptr, and args +# canonical declaration is "type (*funcptr)(args...)" + if ($line =~ /^.\s*($Declare)\((\s*)\*(\s*)($Ident)(\s*)\)(\s*)\(/) { + my $declare = $1; + my $pre_pointer_space = $2; + my $post_pointer_space = $3; + my $funcname = $4; + my $post_funcname_space = $5; + my $pre_args_space = $6; + +# the $Declare variable will capture all spaces after the type +# so check it for a missing trailing missing space but pointer return types +# don't need a space so don't warn for those. + my $post_declare_space = ""; + if ($declare =~ /(\s+)$/) { + $post_declare_space = $1; + $declare = rtrim($declare); + } + if ($declare !~ /\*$/ && $post_declare_space =~ /^$/) { + WARN("SPACING", + "missing space after return type\n" . $herecurr); + $post_declare_space = " "; + } + +# unnecessary space "type (*funcptr)(args...)" +# This test is not currently implemented because these declarations are +# equivalent to +# int foo(int bar, ...) +# and this is form shouldn't/doesn't generate a checkpatch warning. +# +# elsif ($declare =~ /\s{2,}$/) { +# WARN("SPACING", +# "Multiple spaces after return type\n" . $herecurr); +# } + +# unnecessary space "type ( *funcptr)(args...)" + if (defined $pre_pointer_space && + $pre_pointer_space =~ /^\s/) { + WARN("SPACING", + "Unnecessary space after function pointer open parenthesis\n" . $herecurr); + } + +# unnecessary space "type (* funcptr)(args...)" + if (defined $post_pointer_space && + $post_pointer_space =~ /^\s/) { + WARN("SPACING", + "Unnecessary space before function pointer name\n" . $herecurr); + } + +# unnecessary space "type (*funcptr )(args...)" + if (defined $post_funcname_space && + $post_funcname_space =~ /^\s/) { + WARN("SPACING", + "Unnecessary space after function pointer name\n" . $herecurr); + } + +# unnecessary space "type (*funcptr) (args...)" + if (defined $pre_args_space && + $pre_args_space =~ /^\s/) { + WARN("SPACING", + "Unnecessary space before function pointer arguments\n" . $herecurr); + } + + if (show_type("SPACING") && $fix) { + $fixed[$fixlinenr] =~ + s/^(.\s*)$Declare\s*\(\s*\*\s*$Ident\s*\)\s*\(/$1 . $declare . $post_declare_space . '(*' . $funcname . ')('/ex; + } } # check for spacing round square brackets; allowed: @@ -2412,8 +3344,12 @@ sub process { if ($prefix !~ /$Type\s+$/ && ($where != 0 || $prefix !~ /^.\s+$/) && $prefix !~ /[{,]\s+$/) { - ERROR("BRACKET_SPACE", - "space prohibited before open square bracket '['\n" . $herecurr); + if (ERROR("BRACKET_SPACE", + "space prohibited before open square bracket '['\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/^(\+.*?)\s+\[/$1\[/; + } } } @@ -2430,7 +3366,6 @@ sub process { __attribute__|format|__extension__| asm|__asm__)$/x) { - # cpp #define statements have non-optional spaces, ie # if there is a space between the name and the open # parenthesis it is simply not a parameter group. @@ -2444,25 +3379,53 @@ sub process { } elsif ($ctx =~ /$Type$/) { } else { - WARN("SPACING", - "space prohibited between function name and open parenthesis '('\n" . $herecurr); + if (WARN("SPACING", + "space prohibited between function name and open parenthesis '('\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\b$name\s+\(/$name\(/; + } } } + # Check operator spacing. if (!($line=~/\#\s*include/)) { + my $fixed_line = ""; + my $line_fixed = 0; + my $ops = qr{ <<=|>>=|<=|>=|==|!=| \+=|-=|\*=|\/=|%=|\^=|\|=|&=| =>|->|<<|>>|<|>|=|!|~| &&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%| - \?|: + \?:|\?|: }x; my @elements = split(/($ops|;)/, $opline); + +## print("element count: <" . $#elements . ">\n"); +## foreach my $el (@elements) { +## print("el: <$el>\n"); +## } + + my @fix_elements = (); my $off = 0; + foreach my $el (@elements) { + push(@fix_elements, substr($rawline, $off, length($el))); + $off += length($el); + } + + $off = 0; + my $blank = copy_spacing($opline); + my $last_after = -1; for (my $n = 0; $n < $#elements; $n += 2) { + + my $good = $fix_elements[$n] . $fix_elements[$n + 1]; + +## print("n: <$n> good: <$good>\n"); + $off += length($elements[$n]); # Pick up the preceding and succeeding characters. @@ -2519,27 +3482,43 @@ sub process { } elsif ($op eq ';') { if ($ctx !~ /.x[WEBC]/ && $cc !~ /^\\/ && $cc !~ /^;/) { - ERROR("SPACING", - "space required after that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "space required after that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]) . " "; + $line_fixed = 1; + } } # // is a comment } elsif ($op eq '//') { + # : when part of a bitfield + } elsif ($opv eq ':B') { + # skip the bitfield test for now + # No spaces for: # -> - # : when part of a bitfield - } elsif ($op eq '->' || $opv eq ':B') { + } elsif ($op eq '->') { if ($ctx =~ /Wx.|.xW/) { - ERROR("SPACING", - "spaces prohibited around that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "spaces prohibited around that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]); + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } } # , must have a space on the right. } elsif ($op eq ',') { if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/) { - ERROR("SPACING", - "space required after that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "space required after that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]) . " "; + $line_fixed = 1; + $last_after = $n; + } } # '*' as part of a type definition -- reported already. @@ -2553,34 +3532,56 @@ sub process { $opv eq '*U' || $opv eq '-U' || $opv eq '&U' || $opv eq '&&U') { if ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) { - ERROR("SPACING", - "space required before that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "space required before that '$op' $at\n" . $hereptr)) { + if ($n != $last_after + 2) { + $good = $fix_elements[$n] . " " . ltrim($fix_elements[$n + 1]); + $line_fixed = 1; + } + } } if ($op eq '*' && $cc =~/\s*$Modifier\b/) { # A unary '*' may be const } elsif ($ctx =~ /.xW/) { - ERROR("SPACING", - "space prohibited after that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "space prohibited after that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . rtrim($fix_elements[$n + 1]); + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } } # unary ++ and unary -- are allowed no space on one side. } elsif ($op eq '++' or $op eq '--') { if ($ctx !~ /[WEOBC]x[^W]/ && $ctx !~ /[^W]x[WOBEC]/) { - ERROR("SPACING", - "space required one side of that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "space required one side of that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]) . " "; + $line_fixed = 1; + } } if ($ctx =~ /Wx[BE]/ || ($ctx =~ /Wx./ && $cc =~ /^;/)) { - ERROR("SPACING", - "space prohibited before that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "space prohibited before that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]); + $line_fixed = 1; + } } if ($ctx =~ /ExW/) { - ERROR("SPACING", - "space prohibited after that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "space prohibited after that '$op' $at\n" . $hereptr)) { + $good = $fix_elements[$n] . trim($fix_elements[$n + 1]); + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } } - # << and >> may either have or not have spaces both sides } elsif ($op eq '<<' or $op eq '>>' or $op eq '&' or $op eq '^' or $op eq '|' or @@ -2589,17 +3590,25 @@ sub process { $op eq '%') { if ($ctx =~ /Wx[^WCE]|[^WCE]xW/) { - ERROR("SPACING", - "need consistent spacing around '$op' $at\n" . - $hereptr); + if (ERROR("SPACING", + "need consistent spacing around '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " "; + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } } # A colon needs no spaces before when it is # terminating a case value or a label. } elsif ($opv eq ':C' || $opv eq ':L') { if ($ctx =~ /Wx./) { - ERROR("SPACING", - "space prohibited before that '$op' $at\n" . $hereptr); + if (ERROR("SPACING", + "space prohibited before that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . trim($fix_elements[$n + 1]); + $line_fixed = 1; + } } # All the others need spaces both sides. @@ -2615,18 +3624,46 @@ sub process { $ok = 1; } - # Ignore ?: - if (($opv eq ':O' && $ca =~ /\?$/) || - ($op eq '?' && $cc =~ /^:/)) { - $ok = 1; - } - + # messages are ERROR, but ?: are CHK if ($ok == 0) { - ERROR("SPACING", - "spaces required around that '$op' $at\n" . $hereptr); + my $msg_type = \&ERROR; + $msg_type = \&CHK if (($op eq '?:' || $op eq '?' || $op eq ':') && $ctx =~ /VxV/); + + if (&{$msg_type}("SPACING", + "spaces required around that '$op' $at\n" . $hereptr)) { + $good = rtrim($fix_elements[$n]) . " " . trim($fix_elements[$n + 1]) . " "; + if (defined $fix_elements[$n + 2]) { + $fix_elements[$n + 2] =~ s/^\s+//; + } + $line_fixed = 1; + } } } $off += length($elements[$n + 1]); + +## print("n: <$n> GOOD: <$good>\n"); + + $fixed_line = $fixed_line . $good; + } + + if (($#elements % 2) == 0) { + $fixed_line = $fixed_line . $fix_elements[$#elements]; + } + + if ($fix && $line_fixed && $fixed_line ne $fixed[$fixlinenr]) { + $fixed[$fixlinenr] = $fixed_line; + } + + + } + +# check for whitespace before a non-naked semicolon + if ($line =~ /^\+.*\S\s+;\s*$/) { + if (WARN("SPACING", + "space prohibited before semicolon\n" . $herecurr) && + $fix) { + 1 while $fixed[$fixlinenr] =~ + s/^(\+.*\S)\s+;/$1;/; } } @@ -2655,71 +3692,134 @@ sub process { #need space before brace following if, while, etc if (($line =~ /\(.*\){/ && $line !~ /\($Type\){/) || $line =~ /do{/) { - ERROR("SPACING", - "space required before the open brace '{'\n" . $herecurr); + if (ERROR("SPACING", + "space required before the open brace '{'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/^(\+.*(?:do|\))){/$1 {/; + } } +## # check for blank lines before declarations +## if ($line =~ /^.\t+$Type\s+$Ident(?:\s*=.*)?;/ && +## $prevrawline =~ /^.\s*$/) { +## WARN("SPACING", +## "No blank lines before declarations\n" . $hereprev); +## } +## + # closing brace should have a space following it when it has anything # on the line if ($line =~ /}(?!(?:,|;|\)))\S/) { - ERROR("SPACING", - "space required after that close brace '}'\n" . $herecurr); + if (ERROR("SPACING", + "space required after that close brace '}'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/}((?!(?:,|;|\)))\S)/} $1/; + } } # check spacing on square brackets if ($line =~ /\[\s/ && $line !~ /\[\s*$/) { - ERROR("SPACING", - "space prohibited after that open square bracket '['\n" . $herecurr); + if (ERROR("SPACING", + "space prohibited after that open square bracket '['\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\[\s+/\[/; + } } if ($line =~ /\s\]/) { - ERROR("SPACING", - "space prohibited before that close square bracket ']'\n" . $herecurr); + if (ERROR("SPACING", + "space prohibited before that close square bracket ']'\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\s+\]/\]/; + } } # check spacing on parentheses if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ && $line !~ /for\s*\(\s+;/) { - ERROR("SPACING", - "space prohibited after that open parenthesis '('\n" . $herecurr); + if (ERROR("SPACING", + "space prohibited after that open parenthesis '('\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\(\s+/\(/; + } } if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ && $line !~ /for\s*\(.*;\s+\)/ && $line !~ /:\s+\)/) { - ERROR("SPACING", - "space prohibited before that close parenthesis ')'\n" . $herecurr); + if (ERROR("SPACING", + "space prohibited before that close parenthesis ')'\n" . $herecurr) && + $fix) { + print("fixlinenr: <$fixlinenr> fixed[fixlinenr]: <$fixed[$fixlinenr]>\n"); + $fixed[$fixlinenr] =~ + s/\s+\)/\)/; + } } +# check unnecessary parentheses around addressof/dereference single $Lvals +# ie: &(foo->bar) should be &foo->bar and *(foo->bar) should be *foo->bar + + while ($line =~ /(?:[^&]&\s*|\*)\(\s*($Ident\s*(?:$Member\s*)+)\s*\)/g) { + CHK("UNNECESSARY_PARENTHESES", + "Unnecessary parentheses around $1\n" . $herecurr); + } + #goto labels aren't indented, allow a single space however if ($line=~/^.\s+[A-Za-z\d_]+:(?![0-9]+)/ and !($line=~/^. [A-Za-z\d_]+:/) and !($line=~/^.\s+default:/)) { - WARN("INDENTED_LABEL", - "labels should not be indented\n" . $herecurr); + if (WARN("INDENTED_LABEL", + "labels should not be indented\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/^(.)\s+/$1/; + } } -# Return is not a function. - if (defined($stat) && $stat =~ /^.\s*return(\s*)(\(.*);/s) { +# return is not a function + if (defined($stat) && $stat =~ /^.\s*return(\s*)\(/s) { my $spacing = $1; - my $value = $2; - - # Flatten any parentheses - $value =~ s/\(/ \(/g; - $value =~ s/\)/\) /g; - while ($value =~ s/\[[^\[\]]*\]/1/ || - $value !~ /(?:$Ident|-?$Constant)\s* - $Compare\s* - (?:$Ident|-?$Constant)/x && - $value =~ s/\([^\(\)]*\)/1/) { - } -#print "value<$value>\n"; - if ($value =~ /^\s*(?:$Ident|-?$Constant)\s*$/) { - ERROR("RETURN_PARENTHESES", - "return is not a function, parentheses are not required\n" . $herecurr); - + if ($^V && $^V ge 5.10.0 && + $stat =~ /^.\s*return\s*($balanced_parens)\s*;\s*$/) { + my $value = $1; + $value = deparenthesize($value); + if ($value =~ m/^\s*$FuncArg\s*(?:\?|$)/) { + ERROR("RETURN_PARENTHESES", + "return is not a function, parentheses are not required\n" . $herecurr); + } } elsif ($spacing !~ /\s+/) { ERROR("SPACING", "space required before the open parenthesis '('\n" . $herecurr); } } + +# unnecessary return in a void function +# at end-of-function, with the previous line a single leading tab, then return; +# and the line before that not a goto label target like "out:" + if ($sline =~ /^[ \+]}\s*$/ && + $prevline =~ /^\+\treturn\s*;\s*$/ && + $linenr >= 3 && + $lines[$linenr - 3] =~ /^[ +]/ && + $lines[$linenr - 3] !~ /^[ +]\s*$Ident\s*:/) { + WARN("RETURN_VOID", + "void function return statements are not generally useful\n" . $hereprev); + } + +# if statements using unnecessary parentheses - ie: if ((foo == bar)) + if ($^V && $^V ge 5.10.0 && + $line =~ /\bif\s*((?:\(\s*){2,})/) { + my $openparens = $1; + my $count = $openparens =~ tr@\(@\(@; + my $msg = ""; + if ($line =~ /\bif\s*(?:\(\s*){$count,$count}$LvalOrFunc\s*($Compare)\s*$LvalOrFunc(?:\s*\)){$count,$count}/) { + my $comp = $4; #Not $1 because of $LvalOrFunc + $msg = " - maybe == should be = ?" if ($comp eq "=="); + WARN("UNNECESSARY_PARENTHESES", + "Unnecessary parentheses$msg\n" . $herecurr); + } + } + # Return of what appears to be an errno should normally be -'ve if ($line =~ /^.\s*return\s*(E[A-Z]*)\s*;/) { my $name = $1; @@ -2730,8 +3830,13 @@ sub process { } # Need a space before open parenthesis after if, while etc - if ($line=~/\b(if|while|for|switch)\(/) { - ERROR("SPACING", "space required before the open parenthesis '('\n" . $herecurr); + if ($line =~ /\b(if|while|for|switch)\(/) { + if (ERROR("SPACING", + "space required before the open parenthesis '('\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/\b(if|while|for|switch)\(/$1 \(/; + } } # Check for illegal assignment in if conditional -- and check for trailing @@ -2758,6 +3863,7 @@ sub process { } } if (!defined $suppress_whiletrailers{$linenr} && + defined($stat) && defined($cond) && $line =~ /\b(?:if|while|for)\s*\(/ && $line !~ /^.\s*#/) { my ($s, $c) = ($stat, $cond); @@ -2818,7 +3924,7 @@ sub process { # if should not continue a brace if ($line =~ /}\s*if\b/) { ERROR("TRAILING_STATEMENTS", - "trailing statements should be on next line\n" . + "trailing statements should be on next line (or did you mean 'else if'?)\n" . $herecurr); } # case and default should not have general statements after them @@ -2834,14 +3940,26 @@ sub process { # Check for }else {, these must be at the same # indent level to be relevant to each other. - if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ and - $previndent == $indent) { - ERROR("ELSE_AFTER_BRACE", - "else should follow close brace '}'\n" . $hereprev); + if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ && + $previndent == $indent) { + if (ERROR("ELSE_AFTER_BRACE", + "else should follow close brace '}'\n" . $hereprev) && + $fix && $prevline =~ /^\+/ && $line =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = $prevrawline; + $fixedline =~ s/}\s*$//; + if ($fixedline !~ /^\+\s*$/) { + fix_insert_line($fixlinenr, $fixedline); + } + $fixedline = $rawline; + $fixedline =~ s/^(.\s*)else/$1} else/; + fix_insert_line($fixlinenr, $fixedline); + } } - if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ and - $previndent == $indent) { + if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ && + $previndent == $indent) { my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0); # Find out what is on the end of the line after the @@ -2850,22 +3968,69 @@ sub process { $s =~ s/\n.*//g; if ($s =~ /^\s*;/) { - ERROR("WHILE_AFTER_BRACE", - "while should follow close brace '}'\n" . $hereprev); + if (ERROR("WHILE_AFTER_BRACE", + "while should follow close brace '}'\n" . $hereprev) && + $fix && $prevline =~ /^\+/ && $line =~ /^\+/) { + fix_delete_line($fixlinenr - 1, $prevrawline); + fix_delete_line($fixlinenr, $rawline); + my $fixedline = $prevrawline; + my $trailing = $rawline; + $trailing =~ s/^\+//; + $trailing = trim($trailing); + $fixedline =~ s/}\s*$/} $trailing/; + fix_insert_line($fixlinenr, $fixedline); + } } } -#studly caps, commented out until figure out how to distinguish between use of existing and adding new -# if (($line=~/[\w_][a-z\d]+[A-Z]/) and !($line=~/print/)) { -# print "No studly caps, use _\n"; -# print "$herecurr"; -# $clean = 0; -# } +#Specific variable tests + while ($line =~ m{($Constant|$Lval)}g) { + my $var = $1; + +#gcc binary extension + if ($var =~ /^$Binary$/) { + if (WARN("GCC_BINARY_CONSTANT", + "Avoid gcc v4.3+ binary constant extension: <$var>\n" . $herecurr) && + $fix) { + my $hexval = sprintf("0x%x", oct($var)); + $fixed[$fixlinenr] =~ + s/\b$var\b/$hexval/; + } + } + +#CamelCase + if ($var !~ /^$Constant$/ && + $var =~ /[A-Z][a-z]|[a-z][A-Z]/ && +#Ignore Page variants + $var !~ /^(?:Clear|Set|TestClear|TestSet|)Page[A-Z]/ && +#Ignore SI style variants like nS, mV and dB (ie: max_uV, regulator_min_uA_show) + $var !~ /^(?:[a-z_]*?)_?[a-z][A-Z](?:_[a-z_]+)?$/) { + while ($var =~ m{($Ident)}g) { + my $word = $1; + next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/); + if ($check) { + seed_camelcase_includes(); + if (!$file && !$camelcase_file_seeded) { + seed_camelcase_file($realfile); + $camelcase_file_seeded = 1; + } + } + if (!defined $camelcase{$word}) { + $camelcase{$word} = 1; + CHK("CAMELCASE", + "Avoid CamelCase: <$word>\n" . $herecurr); + } + } + } + } #no spaces allowed after \ in define - if ($line=~/\#\s*define.*\\\s$/) { - WARN("WHITESPACE_AFTER_LINE_CONTINUATION", - "Whitepspace after \\ makes next lines useless\n" . $herecurr); + if ($line =~ /\#\s*define.*\\\s+$/) { + if (WARN("WHITESPACE_AFTER_LINE_CONTINUATION", + "Whitespace after \\ makes next lines useless\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\s+$//; + } } #warn if is #included and is available (uses RAW line) @@ -2923,7 +4088,7 @@ sub process { my $exceptions = qr{ $Declare| module_param_named| - MODULE_PARAM_DESC| + MODULE_PARM_DESC| DECLARE_PER_CPU| DEFINE_PER_CPU| __typeof__\(| @@ -2936,15 +4101,17 @@ sub process { if ($dstat ne '' && $dstat !~ /^(?:$Ident|-?$Constant),$/ && # 10, // foo(), $dstat !~ /^(?:$Ident|-?$Constant);$/ && # foo(); - $dstat !~ /^[!~-]?(?:$Ident|$Constant)$/ && # 10 // foo() // !foo // ~foo // -foo - $dstat !~ /^'X'$/ && # character constants + $dstat !~ /^[!~-]?(?:$Lval|$Constant)$/ && # 10 // foo() // !foo // ~foo // -foo // foo->bar // foo.bar->baz + $dstat !~ /^'X'$/ && $dstat !~ /^'XX'$/ && # character constants $dstat !~ /$exceptions/ && $dstat !~ /^\.$Ident\s*=/ && # .foo = + $dstat !~ /^(?:\#\s*$Ident|\#\s*$Constant)\s*$/ && # stringification #foo $dstat !~ /^do\s*$Constant\s*while\s*$Constant;?$/ && # do {...} while (...); // do {...} while (...) $dstat !~ /^for\s*$Constant$/ && # for (...) $dstat !~ /^for\s*$Constant\s+(?:$Ident|-?$Constant)$/ && # for (...) bar() $dstat !~ /^do\s*{/ && # do {... - $dstat !~ /^\({/) # ({... + $dstat !~ /^\({/ && # ({... + $ctx !~ /^.\s*#\s*define\s+TRACE_(?:SYSTEM|INCLUDE_FILE|INCLUDE_PATH)\b/) { $ctx =~ s/\n*$//; my $herectx = $here . "\n"; @@ -2962,6 +4129,68 @@ sub process { "Macros with complex values should be enclosed in parenthesis\n" . "$herectx"); } } + +# check for line continuations outside of #defines, preprocessor #, and asm + + } else { + if ($prevline !~ /^..*\\$/ && + $line !~ /^\+\s*\#.*\\$/ && # preprocessor + $line !~ /^\+.*\b(__asm__|asm)\b.*\\$/ && # asm + $line =~ /^\+.*\\$/) { + WARN("LINE_CONTINUATIONS", + "Avoid unnecessary line continuations\n" . $herecurr); + } + } + +# do {} while (0) macro tests: +# single-statement macros do not need to be enclosed in do while (0) loop, +# macro should not end with a semicolon + if ($^V && $^V ge 5.10.0 && + $realfile !~ m@/vmlinux.lds.h$@ && + $line =~ /^.\s*\#\s*define\s+$Ident(\()?/) { + my $ln = $linenr; + my $cnt = $realcnt; + my ($off, $dstat, $dcond, $rest); + my $ctx = ''; + ($dstat, $dcond, $ln, $cnt, $off) = + ctx_statement_block($linenr, $realcnt, 0); + $ctx = $dstat; + + $dstat =~ s/\\\n.//g; + + if ($dstat =~ /^\+\s*#\s*define\s+$Ident\s*${balanced_parens}\s*do\s*{(.*)\s*}\s*while\s*\(\s*0\s*\)\s*([;\s]*)\s*$/) { + my $stmts = $2; + my $semis = $3; + + $ctx =~ s/\n*$//; + my $cnt = statement_rawlines($ctx); + my $herectx = $here . "\n"; + + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + + if (($stmts =~ tr/;/;/) == 1 && + $stmts !~ /^\s*(if|while|for|switch)\b/) { + WARN("SINGLE_STATEMENT_DO_WHILE_MACRO", + "Single statement macros should not use a do {} while (0) loop\n" . "$herectx"); + } + if (defined $semis && $semis ne "") { + WARN("DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON", + "do {} while (0) macros should not be semicolon terminated\n" . "$herectx"); + } + } elsif ($dstat =~ /^\+\s*#\s*define\s+$Ident.*;\s*$/) { + $ctx =~ s/\n*$//; + my $cnt = statement_rawlines($ctx); + my $herectx = $here . "\n"; + + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + + WARN("TRAILING_SEMICOLON", + "macros should not use a trailing semicolon\n" . "$herectx"); + } } # make sure symbols are always wrapped with VMLINUX_SYMBOL() ... @@ -3092,20 +4321,14 @@ sub process { } } -# don't include deprecated include files (uses RAW line) - for my $inc (@dep_includes) { - if ($rawline =~ m@^.\s*\#\s*include\s*\<$inc>@) { - ERROR("DEPRECATED_INCLUDE", - "Don't use <$inc>: see Documentation/feature-removal-schedule.txt\n" . $herecurr); - } +# check for unnecessary blank lines around braces + if (($line =~ /^.\s*}\s*$/ && $prevrawline =~ /^.\s*$/)) { + CHK("BRACES", + "Blank lines aren't necessary before a close brace '}'\n" . $hereprev); } - -# don't use deprecated functions - for my $func (@dep_functions) { - if ($line =~ /\b$func\b/) { - ERROR("DEPRECATED_FUNCTION", - "Don't use $func(): see Documentation/feature-removal-schedule.txt\n" . $herecurr); - } + if (($rawline =~ /^.\s*$/ && $prevline =~ /^..*{\s*$/)) { + CHK("BRACES", + "Blank lines aren't necessary after an open brace '{'\n" . $hereprev); } # no volatiles please @@ -3122,29 +4345,103 @@ sub process { $herecurr); } -# check for needless kfree() checks - if ($prevline =~ /\bif\s*\(([^\)]*)\)/) { - my $expr = $1; - if ($line =~ /\bkfree\(\Q$expr\E\);/) { - WARN("NEEDLESS_KFREE", - "kfree(NULL) is safe this check is probably not required\n" . $hereprev); +# check for needless "if () fn()" uses + if ($prevline =~ /\bif\s*\(\s*($Lval)\s*\)/) { + my $expr = '\s*\(\s*' . quotemeta($1) . '\s*\)\s*;'; + if ($line =~ /\b(kfree|usb_free_urb|debugfs_remove(?:_recursive)?)$expr/) { + WARN('NEEDLESS_IF', + "$1(NULL) is safe this check is probably not required\n" . $hereprev); + } + } + +# check for unnecessary "Out of Memory" messages + if ($line =~ /^\+.*\b$logFunctions\s*\(/ && + $prevline =~ /^[ \+]\s*if\s*\(\s*(\!\s*|NULL\s*==\s*)?($Lval)(\s*==\s*NULL\s*)?\s*\)/ && + (defined $1 || defined $3) && + $linenr > 3) { + my $testval = $2; + my $testline = $lines[$linenr - 3]; + + my ($s, $c) = ctx_statement_block($linenr - 3, $realcnt, 0); +# print("line: <$line>\nprevline: <$prevline>\ns: <$s>\nc: <$c>\n\n\n"); + + if ($c =~ /(?:^|\n)[ \+]\s*(?:$Type\s*)?\Q$testval\E\s*=\s*(?:\([^\)]*\)\s*)?\s*(?:devm_)?(?:[kv][czm]alloc(?:_node|_array)?\b|kstrdup|(?:dev_)?alloc_skb)/) { + WARN("OOM_MESSAGE", + "Possible unnecessary 'out of memory' message\n" . $hereprev); + } + } + +# check for bad placement of section $InitAttribute (e.g.: __initdata) + if ($line =~ /(\b$InitAttribute\b)/) { + my $attr = $1; + if ($line =~ /^\+\s*static\s+(?:const\s+)?(?:$attr\s+)?($NonptrTypeWithAttr)\s+(?:$attr\s+)?($Ident(?:\[[^]]*\])?)\s*[=;]/) { + my $ptr = $1; + my $var = $2; + if ((($ptr =~ /\b(union|struct)\s+$attr\b/ && + ERROR("MISPLACED_INIT", + "$attr should be placed after $var\n" . $herecurr)) || + ($ptr !~ /\b(union|struct)\s+$attr\b/ && + WARN("MISPLACED_INIT", + "$attr should be placed after $var\n" . $herecurr))) && + $fix) { + $fixed[$fixlinenr] =~ s/(\bstatic\s+(?:const\s+)?)(?:$attr\s+)?($NonptrTypeWithAttr)\s+(?:$attr\s+)?($Ident(?:\[[^]]*\])?)\s*([=;])\s*/"$1" . trim(string_find_replace($2, "\\s*$attr\\s*", " ")) . " " . trim(string_find_replace($3, "\\s*$attr\\s*", "")) . " $attr" . ("$4" eq ";" ? ";" : " = ")/e; + } + } + } + +# check for $InitAttributeData (ie: __initdata) with const + if ($line =~ /\bconst\b/ && $line =~ /($InitAttributeData)/) { + my $attr = $1; + $attr =~ /($InitAttributePrefix)(.*)/; + my $attr_prefix = $1; + my $attr_type = $2; + if (ERROR("INIT_ATTRIBUTE", + "Use of const init definition must use ${attr_prefix}initconst\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/$InitAttributeData/${attr_prefix}initconst/; + } + } + +# check for $InitAttributeConst (ie: __initconst) without const + if ($line !~ /\bconst\b/ && $line =~ /($InitAttributeConst)/) { + my $attr = $1; + if (ERROR("INIT_ATTRIBUTE", + "Use of $attr requires a separate use of const\n" . $herecurr) && + $fix) { + my $lead = $fixed[$fixlinenr] =~ + /(^\+\s*(?:static\s+))/; + $lead = rtrim($1); + $lead = "$lead " if ($lead !~ /^\+$/); + $lead = "${lead}const "; + $fixed[$fixlinenr] =~ s/(^\+\s*(?:static\s+))/$lead/; } } -# check for needless usb_free_urb() checks - if ($prevline =~ /\bif\s*\(([^\)]*)\)/) { - my $expr = $1; - if ($line =~ /\busb_free_urb\(\Q$expr\E\);/) { - WARN("NEEDLESS_USB_FREE_URB", - "usb_free_urb(NULL) is safe this check is probably not required\n" . $hereprev); + +# don't use __constant_ functions outside of include/uapi/ + if ($realfile !~ m@^include/uapi/@ && + $line =~ /(__constant_(?:htons|ntohs|[bl]e(?:16|32|64)_to_cpu|cpu_to_[bl]e(?:16|32|64)))\s*\(/) { + my $constant_func = $1; + my $func = $constant_func; + $func =~ s/^__constant_//; + if (WARN("CONSTANT_CONVERSION", + "$constant_func should be $func\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b$constant_func\b/$func/g; } } # prefer usleep_range over udelay - if ($line =~ /\budelay\s*\(\s*(\w+)\s*\)/) { + if ($line =~ /\budelay\s*\(\s*(\d+)\s*\)/) { + my $delay = $1; # ignore udelay's < 10, however - if (! (($1 =~ /(\d+)/) && ($1 < 10)) ) { + if (! ($delay < 10) ) { CHK("USLEEP_RANGE", - "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $line); + "usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $herecurr); + } + if ($delay > 2000) { + WARN("LONG_UDELAY", + "long udelay - prefer mdelay; see arch/arm/include/asm/delay.h\n" . $herecurr); } } @@ -3152,10 +4449,22 @@ sub process { if ($line =~ /\bmsleep\s*\((\d+)\);/) { if ($1 < 20) { WARN("MSLEEP", - "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $line); + "msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt\n" . $herecurr); } } +# check for comparisons of jiffies + if ($line =~ /\bjiffies\s*$Compare|$Compare\s*jiffies\b/) { + WARN("JIFFIES_COMPARISON", + "Comparing jiffies is almost always wrong; prefer time_after, time_before and friends\n" . $herecurr); + } + +# check for comparisons of get_jiffies_64() + if ($line =~ /\bget_jiffies_64\s*\(\s*\)\s*$Compare|$Compare\s*get_jiffies_64\s*\(\s*\)/) { + WARN("JIFFIES_COMPARISON", + "Comparing get_jiffies_64() is almost always wrong; prefer time_after64, time_before64 and friends\n" . $herecurr); + } + # warn about #ifdefs in C files # if ($line =~ /^.\s*\#\s*if(|n)def/ && ($realfile =~ /\.c$/)) { # print "#ifdef in C files should be avoided\n"; @@ -3165,8 +4474,13 @@ sub process { # warn about spacing in #ifdefs if ($line =~ /^.\s*\#\s*(ifdef|ifndef|elif)\s\s+/) { - ERROR("SPACING", - "exactly one space required after that #$1\n" . $herecurr); + if (ERROR("SPACING", + "exactly one space required after that #$1\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ + s/^(.\s*\#\s*(ifdef|ifndef|elif))\s{2,}/$1 /; + } + } # check for spinlock_t definitions without a comment. @@ -3181,8 +4495,8 @@ sub process { # check for memory barriers without a comment. if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) { if (!ctx_has_comment($first_line, $linenr)) { - CHK("MEMORY_BARRIER", - "memory barrier without comment\n" . $herecurr); + WARN("MEMORY_BARRIER", + "memory barrier without comment\n" . $herecurr); } } # check of hardware specific defines @@ -3206,33 +4520,49 @@ sub process { } # Check for __inline__ and __inline, prefer inline - if ($line =~ /\b(__inline__|__inline)\b/) { - WARN("INLINE", - "plain inline is preferred over $1\n" . $herecurr); + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b(__inline__|__inline)\b/) { + if (WARN("INLINE", + "plain inline is preferred over $1\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b(__inline__|__inline)\b/inline/; + + } } # Check for __attribute__ packed, prefer __packed - if ($line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) { + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) { WARN("PREFER_PACKED", "__packed is preferred over __attribute__((packed))\n" . $herecurr); } # Check for __attribute__ aligned, prefer __aligned - if ($line =~ /\b__attribute__\s*\(\s*\(.*aligned/) { + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b__attribute__\s*\(\s*\(.*aligned/) { WARN("PREFER_ALIGNED", "__aligned(size) is preferred over __attribute__((aligned(size)))\n" . $herecurr); } # Check for __attribute__ format(printf, prefer __printf - if ($line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf/) { - WARN("PREFER_PRINTF", - "__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr); + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf/) { + if (WARN("PREFER_PRINTF", + "__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf\s*,\s*(.*)\)\s*\)\s*\)/"__printf(" . trim($1) . ")"/ex; + + } } # Check for __attribute__ format(scanf, prefer __scanf - if ($line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\b/) { - WARN("PREFER_SCANF", - "__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr); + if ($realfile !~ m@\binclude/uapi/@ && + $line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\b/) { + if (WARN("PREFER_SCANF", + "__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\s*,\s*(.*)\)\s*\)\s*\)/"__scanf(" . trim($1) . ")"/ex; + } } # check for sizeof(&) @@ -3241,12 +4571,39 @@ sub process { "sizeof(& should be avoided\n" . $herecurr); } +# check for sizeof without parenthesis + if ($line =~ /\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/) { + if (WARN("SIZEOF_PARENTHESIS", + "sizeof $1 should be sizeof($1)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/"sizeof(" . trim($1) . ")"/ex; + } + } + # check for line continuations in quoted strings with odd counts of " if ($rawline =~ /\\$/ && $rawline =~ tr/"/"/ % 2) { WARN("LINE_CONTINUATIONS", "Avoid line continuations in quoted strings\n" . $herecurr); } +# check for struct spinlock declarations + if ($line =~ /^.\s*\bstruct\s+spinlock\s+\w+\s*;/) { + WARN("USE_SPINLOCK_T", + "struct spinlock should be spinlock_t\n" . $herecurr); + } + +# check for seq_printf uses that could be seq_puts + if ($sline =~ /\bseq_printf\s*\(.*"\s*\)\s*;\s*$/) { + my $fmt = get_quoted_string($line, $rawline); + if ($fmt ne "" && $fmt !~ /[^\\]\%/) { + if (WARN("PREFER_SEQ_PUTS", + "Prefer seq_puts to seq_printf\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bseq_printf\b/seq_puts/; + } + } + } + # Check for misused memsets if ($^V && $^V ge 5.10.0 && defined $stat && @@ -3265,6 +4622,16 @@ sub process { } } +# Check for memcpy(foo, bar, ETH_ALEN) that could be ether_addr_copy(foo, bar) + if ($^V && $^V ge 5.10.0 && + $line =~ /^\+(?:.*?)\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/s) { + if (WARN("PREFER_ETHER_ADDR_COPY", + "Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/ether_addr_copy($2, $7)/; + } + } + # typecasts on min/max could be min_t/max_t if ($^V && $^V ge 5.10.0 && defined $stat && @@ -3289,6 +4656,70 @@ sub process { } } +# check usleep_range arguments + if ($^V && $^V ge 5.10.0 && + defined $stat && + $stat =~ /^\+(?:.*?)\busleep_range\s*\(\s*($FuncArg)\s*,\s*($FuncArg)\s*\)/) { + my $min = $1; + my $max = $7; + if ($min eq $max) { + WARN("USLEEP_RANGE", + "usleep_range should not use min == max args; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n"); + } elsif ($min =~ /^\d+$/ && $max =~ /^\d+$/ && + $min > $max) { + WARN("USLEEP_RANGE", + "usleep_range args reversed, use min then max; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n"); + } + } + +# check for naked sscanf + if ($^V && $^V ge 5.10.0 && + defined $stat && + $line =~ /\bsscanf\b/ && + ($stat !~ /$Ident\s*=\s*sscanf\s*$balanced_parens/ && + $stat !~ /\bsscanf\s*$balanced_parens\s*(?:$Compare)/ && + $stat !~ /(?:$Compare)\s*\bsscanf\s*$balanced_parens/)) { + my $lc = $stat =~ tr@\n@@; + $lc = $lc + $linenr; + my $stat_real = raw_line($linenr, 0); + for (my $count = $linenr + 1; $count <= $lc; $count++) { + $stat_real = $stat_real . "\n" . raw_line($count, 0); + } + WARN("NAKED_SSCANF", + "unchecked sscanf return value\n" . "$here\n$stat_real\n"); + } + +# check for simple sscanf that should be kstrto + if ($^V && $^V ge 5.10.0 && + defined $stat && + $line =~ /\bsscanf\b/) { + my $lc = $stat =~ tr@\n@@; + $lc = $lc + $linenr; + my $stat_real = raw_line($linenr, 0); + for (my $count = $linenr + 1; $count <= $lc; $count++) { + $stat_real = $stat_real . "\n" . raw_line($count, 0); + } + if ($stat_real =~ /\bsscanf\b\s*\(\s*$FuncArg\s*,\s*("[^"]+")/) { + my $format = $6; + my $count = $format =~ tr@%@%@; + if ($count == 1 && + $format =~ /^"\%(?i:ll[udxi]|[udxi]ll|ll|[hl]h?[udxi]|[udxi][hl]h?|[hl]h?|[udxi])"$/) { + WARN("SSCANF_TO_KSTRTO", + "Prefer kstrto to single variable sscanf\n" . "$here\n$stat_real\n"); + } + } + } + +# check for new externs in .h files. + if ($realfile =~ /\.h$/ && + $line =~ /^\+\s*(extern\s+)$Type\s*$Ident\s*\(/s) { + if (CHK("AVOID_EXTERNS", + "extern prototypes should be avoided in .h files\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(.*)\bextern\b\s*(.*)/$1$2/; + } + } + # check for new externs in .c files. if ($realfile =~ /\.c$/ && defined $stat && $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s) @@ -3335,16 +4766,107 @@ sub process { "unnecessary cast may hide bugs, see http://c-faq.com/malloc/mallocnocast.html\n" . $herecurr); } +# alloc style +# p = alloc(sizeof(struct foo), ...) should be p = alloc(sizeof(*p), ...) + if ($^V && $^V ge 5.10.0 && + $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*([kv][mz]alloc(?:_node)?)\s*\(\s*(sizeof\s*\(\s*struct\s+$Lval\s*\))/) { + CHK("ALLOC_SIZEOF_STRUCT", + "Prefer $3(sizeof(*$1)...) over $3($4...)\n" . $herecurr); + } + +# check for k[mz]alloc with multiplies that could be kmalloc_array/kcalloc + if ($^V && $^V ge 5.10.0 && + $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*(k[mz]alloc)\s*\(\s*($FuncArg)\s*\*\s*($FuncArg)\s*,/) { + my $oldfunc = $3; + my $a1 = $4; + my $a2 = $10; + my $newfunc = "kmalloc_array"; + $newfunc = "kcalloc" if ($oldfunc eq "kzalloc"); + my $r1 = $a1; + my $r2 = $a2; + if ($a1 =~ /^sizeof\s*\S/) { + $r1 = $a2; + $r2 = $a1; + } + if ($r1 !~ /^sizeof\b/ && $r2 =~ /^sizeof\s*\S/ && + !($r1 =~ /^$Constant$/ || $r1 =~ /^[A-Z_][A-Z0-9_]*$/)) { + if (WARN("ALLOC_WITH_MULTIPLY", + "Prefer $newfunc over $oldfunc with multiply\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*(k[mz]alloc)\s*\(\s*($FuncArg)\s*\*\s*($FuncArg)/$1 . ' = ' . "$newfunc(" . trim($r1) . ', ' . trim($r2)/e; + + } + } + } + +# check for krealloc arg reuse + if ($^V && $^V ge 5.10.0 && + $line =~ /\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*krealloc\s*\(\s*\1\s*,/) { + WARN("KREALLOC_ARG_REUSE", + "Reusing the krealloc arg is almost always a bug\n" . $herecurr); + } + +# check for alloc argument mismatch + if ($line =~ /\b(kcalloc|kmalloc_array)\s*\(\s*sizeof\b/) { + WARN("ALLOC_ARRAY_ARGS", + "$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr); + } + # check for multiple semicolons if ($line =~ /;\s*;\s*$/) { - WARN("ONE_SEMICOLON", - "Statements terminations use 1 semicolon\n" . $herecurr); + if (WARN("ONE_SEMICOLON", + "Statements terminations use 1 semicolon\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/(\s*;\s*){2,}$/;/g; + } + } + +# check for case / default statements not preceded by break/fallthrough/switch + if ($line =~ /^.\s*(?:case\s+(?:$Ident|$Constant)\s*|default):/) { + my $has_break = 0; + my $has_statement = 0; + my $count = 0; + my $prevline = $linenr; + while ($prevline > 1 && ($file || $count < 3) && !$has_break) { + $prevline--; + my $rline = $rawlines[$prevline - 1]; + my $fline = $lines[$prevline - 1]; + last if ($fline =~ /^\@\@/); + next if ($fline =~ /^\-/); + next if ($fline =~ /^.(?:\s*(?:case\s+(?:$Ident|$Constant)[\s$;]*|default):[\s$;]*)*$/); + $has_break = 1 if ($rline =~ /fall[\s_-]*(through|thru)/i); + next if ($fline =~ /^.[\s$;]*$/); + $has_statement = 1; + $count++; + $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|return\b|goto\b|continue\b)/); + } + if (!$has_break && $has_statement) { + WARN("MISSING_BREAK", + "Possible switch case/default not preceeded by break or fallthrough comment\n" . $herecurr); + } + } + +# check for switch/default statements without a break; + if ($^V && $^V ge 5.10.0 && + defined $stat && + $stat =~ /^\+[$;\s]*(?:case[$;\s]+\w+[$;\s]*:[$;\s]*|)*[$;\s]*\bdefault[$;\s]*:[$;\s]*;/g) { + my $ctx = ''; + my $herectx = $here . "\n"; + my $cnt = statement_rawlines($stat); + for (my $n = 0; $n < $cnt; $n++) { + $herectx .= raw_line($linenr, $n) . "\n"; + } + WARN("DEFAULT_NO_BREAK", + "switch default: should use break\n" . $herectx); } # check for gcc specific __FUNCTION__ - if ($line =~ /__FUNCTION__/) { - WARN("USE_FUNC", - "__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr); + if ($line =~ /\b__FUNCTION__\b/) { + if (WARN("USE_FUNC", + "__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr) && + $fix) { + $fixed[$fixlinenr] =~ s/\b__FUNCTION__\b/__func__/g; + } } # check for use of yield() @@ -3353,6 +4875,33 @@ sub process { "Using yield() is generally wrong. See yield() kernel-doc (sched/core.c)\n" . $herecurr); } +# check for comparisons against true and false + if ($line =~ /\+\s*(.*?)\b(true|false|$Lval)\s*(==|\!=)\s*(true|false|$Lval)\b(.*)$/i) { + my $lead = $1; + my $arg = $2; + my $test = $3; + my $otype = $4; + my $trail = $5; + my $op = "!"; + + ($arg, $otype) = ($otype, $arg) if ($arg =~ /^(?:true|false)$/i); + + my $type = lc($otype); + if ($type =~ /^(?:true|false)$/) { + if (("$test" eq "==" && "$type" eq "true") || + ("$test" eq "!=" && "$type" eq "false")) { + $op = ""; + } + + CHK("BOOL_COMPARISON", + "Using comparison to $otype is error prone\n" . $herecurr); + +## maybe suggesting a correct construct would better +## "Using comparison to $otype is error prone. Perhaps use '${lead}${op}${arg}${trail}'\n" . $herecurr); + + } + } + # check for semaphores initialized locked if ($line =~ /^.\s*sema_init.+,\W?0\W?\)/) { WARN("CONSIDER_COMPLETION", @@ -3365,10 +4914,10 @@ sub process { "$1 is obsolete, use k$3 instead\n" . $herecurr); } -# check for __initcall(), use device_initcall() explicitly please +# check for __initcall(), use device_initcall() explicitly or more appropriate function please if ($line =~ /^.\s*__initcall\s*\(/) { WARN("USE_DEVICE_INITCALL", - "please use device_initcall() instead of __initcall()\n" . $herecurr); + "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr); } # check for various ops structs, ensure they are const. @@ -3429,6 +4978,12 @@ sub process { "usage of NR_CPUS is often wrong - consider using cpu_possible(), num_possible_cpus(), for_each_possible_cpu(), etc\n" . $herecurr); } +# Use of __ARCH_HAS_ or ARCH_HAVE_ is wrong. + if ($line =~ /\+\s*#\s*define\s+((?:__)?ARCH_(?:HAS|HAVE)\w*)\b/) { + ERROR("DEFINE_ARCH_HAS", + "#define of '$1' is wrong - use Kconfig variables or standard guards instead\n" . $herecurr); + } + # check for %L{u,d,i} in strings my $string; while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) { @@ -3468,6 +5023,34 @@ sub process { WARN("EXPORTED_WORLD_WRITABLE", "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr); } + +# Mode permission misuses where it seems decimal should be octal +# This uses a shortcut match to avoid unnecessary uses of a slow foreach loop + if ($^V && $^V ge 5.10.0 && + $line =~ /$mode_perms_search/) { + foreach my $entry (@mode_permission_funcs) { + my $func = $entry->[0]; + my $arg_pos = $entry->[1]; + + my $skip_args = ""; + if ($arg_pos > 1) { + $arg_pos--; + $skip_args = "(?:\\s*$FuncArg\\s*,\\s*){$arg_pos,$arg_pos}"; + } + my $test = "\\b$func\\s*\\(${skip_args}([\\d]+)\\s*[,\\)]"; + if ($line =~ /$test/) { + my $val = $1; + $val = $6 if ($skip_args ne ""); + + if ($val !~ /^0$/ && + (($val =~ /^$Int$/ && $val !~ /^$Octal$/) || + length($val) ne 4)) { + ERROR("NON_OCTAL_PERMISSIONS", + "Use 4 digit octal (0777) not decimal permissions\n" . $herecurr); + } + } + } + } } # If we have no input at all, then there is nothing to report on @@ -3522,12 +5105,46 @@ sub process { } } - if ($quiet == 0 && keys %ignore_type) { - print "NOTE: Ignored message types:"; - foreach my $ignore (sort keys %ignore_type) { - print " $ignore"; - } - print "\n\n"; + hash_show_words(\%use_type, "Used"); + hash_show_words(\%ignore_type, "Ignored"); + + if ($clean == 0 && $fix && + ("@rawlines" ne "@fixed" || + $#fixed_inserted >= 0 || $#fixed_deleted >= 0)) { + my $newfile = $filename; + $newfile .= ".EXPERIMENTAL-checkpatch-fixes" if (!$fix_inplace); + my $linecount = 0; + my $f; + + @fixed = fix_inserted_deleted_lines(\@fixed, \@fixed_inserted, \@fixed_deleted); + + open($f, '>', $newfile) + or die "$P: Can't open $newfile for write\n"; + foreach my $fixed_line (@fixed) { + $linecount++; + if ($file) { + if ($linecount > 3) { + $fixed_line =~ s/^\+//; + print $f $fixed_line . "\n"; + } + } else { + print $f $fixed_line . "\n"; + } + } + close($f); + + if (!$quiet) { + print << "EOM"; +Wrote EXPERIMENTAL --fix correction(s) to '$newfile' + +Do _NOT_ trust the results written to this file. +Do _NOT_ submit these changes without inspecting them for correctness. + +This EXPERIMENTAL file is simply a convenience to help rewrite patches. +No warranties, expressed or implied... + +EOM + } } if ($clean == 1 && $quiet == 0) { diff --git a/tests/test_psensor_type_to_unit_str.c b/tests/test_psensor_type_to_unit_str.c index 981e90d..3ce27f8 100644 --- a/tests/test_psensor_type_to_unit_str.c +++ b/tests/test_psensor_type_to_unit_str.c @@ -59,7 +59,7 @@ static int test() { if (!test_fct(SENSOR_TYPE_LMSENSOR | SENSOR_TYPE_TEMP, 0, "\302\260F")) failures++; - if (!test_fct(SENSOR_TYPE_FAN, 0, _("RPM"))) + if (!test_fct(SENSOR_TYPE_RPM, 0, _("RPM"))) failures++; return failures; diff --git a/www/Makefile.in b/www/Makefile.in index b4098f2..5d9a836 100644 --- a/www/Makefile.in +++ b/www/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,23 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -52,15 +79,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = www -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ @@ -97,9 +140,11 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(defaultwwwdir)" DATA = $(defaultwww_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPINDICATOR_CFLAGS = @APPINDICATOR_CFLAGS@ APPINDICATOR_LIBS = @APPINDICATOR_LIBS@ AR = @AR@ @@ -125,7 +170,6 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ @@ -157,6 +201,8 @@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ +LIBUDISKS2_CFLAGS = @LIBUDISKS2_CFLAGS@ +LIBUDISKS2_LIBS = @LIBUDISKS2_LIBS@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ @@ -182,7 +228,6 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSUB = @POSUB@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ -SED = @SED@ SENSORS_LIBS = @SENSORS_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -197,7 +242,6 @@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ @@ -318,11 +362,11 @@ uninstall-defaultwwwDATA: @list='$(defaultwww_DATA)'; test -n "$(defaultwwwdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(defaultwwwdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +tags TAGS: + +ctags CTAGS: -ctags: CTAGS -CTAGS: +cscope cscopelist: distdir: $(DISTFILES) @@ -460,17 +504,17 @@ uninstall-am: uninstall-defaultwwwDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-defaultwwwDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ - uninstall-defaultwwwDATA +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-defaultwwwDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-defaultwwwDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. -- 2.7.4