New upstream version 1.8.1
Simon McVittie
3 years ago
213 | 213 | "$(DESTDIR)$(installed_test_metadir)" \ |
214 | 214 | "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(pkgconfigdir)" \ |
215 | 215 | "$(DESTDIR)$(systemduserunitdir)" |
216 | am__EXEEXT_2 = test-portals$(EXEEXT) testdb$(EXEEXT) \ | |
217 | test-doc-portal$(EXEEXT) test-permission-store$(EXEEXT) \ | |
218 | $(am__EXEEXT_1) | |
216 | am__EXEEXT_2 = test-portals$(EXEEXT) test-xdp-utils$(EXEEXT) \ | |
217 | testdb$(EXEEXT) test-doc-portal$(EXEEXT) \ | |
218 | test-permission-store$(EXEEXT) $(am__EXEEXT_1) | |
219 | 219 | am__EXEEXT_3 = tests/test-backends$(EXEEXT) $(am__EXEEXT_1) |
220 | 220 | am__EXEEXT_4 = $(am__EXEEXT_2) $(am__EXEEXT_3) |
221 | 221 | @ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_5 = $(am__EXEEXT_4) |
254 | 254 | LTLIBRARIES = $(installed_test_LTLIBRARIES) $(lib_LTLIBRARIES) \ |
255 | 255 | $(noinst_LTLIBRARIES) |
256 | 256 | am__dirstamp = $(am__leading_dot)dirstamp |
257 | am__objects_1 = | |
257 | 258 | am_test_doc_portal_OBJECTS = \ |
258 | tests/test_doc_portal-test-doc-portal.$(OBJEXT) | |
259 | tests/test_doc_portal-can-use-fuse.$(OBJEXT) \ | |
260 | tests/test_doc_portal-test-doc-portal.$(OBJEXT) \ | |
261 | $(am__objects_1) | |
259 | 262 | nodist_test_doc_portal_OBJECTS = document-portal/test_doc_portal-document-portal-dbus.$(OBJEXT) |
260 | 263 | test_doc_portal_OBJECTS = $(am_test_doc_portal_OBJECTS) \ |
261 | 264 | $(nodist_test_doc_portal_OBJECTS) |
292 | 295 | tests/screenshot.h tests/trash.c tests/trash.h \ |
293 | 296 | tests/wallpaper.c tests/wallpaper.h tests/utils.c \ |
294 | 297 | tests/utils.h tests/glib-backports.c tests/glib-backports.h |
295 | am__objects_1 = | |
296 | 298 | @HAVE_LIBPORTAL_TRUE@am__objects_2 = \ |
297 | 299 | @HAVE_LIBPORTAL_TRUE@ tests/test_portals-account.$(OBJEXT) \ |
298 | 300 | @HAVE_LIBPORTAL_TRUE@ tests/test_portals-background.$(OBJEXT) \ |
326 | 328 | test_portals_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ |
327 | 329 | $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_portals_CFLAGS) \ |
328 | 330 | $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ |
331 | am_test_xdp_utils_OBJECTS = \ | |
332 | tests/test_xdp_utils-test-xdp-utils.$(OBJEXT) \ | |
333 | src/test_xdp_utils-xdp-utils.$(OBJEXT) | |
334 | test_xdp_utils_OBJECTS = $(am_test_xdp_utils_OBJECTS) | |
335 | test_xdp_utils_DEPENDENCIES = $(am__DEPENDENCIES_1) | |
336 | test_xdp_utils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ | |
337 | $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ | |
338 | $(test_xdp_utils_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \ | |
339 | $@ | |
329 | 340 | am__objects_3 = document-portal/testdb-permission-db.$(OBJEXT) \ |
330 | 341 | document-portal/gvdb/testdb-gvdb-reader.$(OBJEXT) \ |
331 | 342 | document-portal/gvdb/testdb-gvdb-builder.$(OBJEXT) \ |
521 | 532 | src/$(DEPDIR)/test_portals-xdp-dbus.Po \ |
522 | 533 | src/$(DEPDIR)/test_portals-xdp-impl-dbus.Po \ |
523 | 534 | src/$(DEPDIR)/test_portals-xdp-utils.Po \ |
535 | src/$(DEPDIR)/test_xdp_utils-xdp-utils.Po \ | |
524 | 536 | src/$(DEPDIR)/tests_test_backends-xdp-impl-dbus.Po \ |
525 | 537 | src/$(DEPDIR)/xdg_desktop_portal-account.Po \ |
526 | 538 | src/$(DEPDIR)/xdg_desktop_portal-background.Po \ |
561 | 573 | src/$(DEPDIR)/xdg_document_portal-xdp-utils.Po \ |
562 | 574 | src/$(DEPDIR)/xdg_permission_store-xdp-utils.Po \ |
563 | 575 | tests/$(DEPDIR)/test_backends-glib-backports.Po \ |
576 | tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Po \ | |
564 | 577 | tests/$(DEPDIR)/test_doc_portal-test-doc-portal.Po \ |
565 | 578 | tests/$(DEPDIR)/test_permission_store-test-permission-store.Po \ |
566 | 579 | tests/$(DEPDIR)/test_portals-account.Po \ |
579 | 592 | tests/$(DEPDIR)/test_portals-trash.Po \ |
580 | 593 | tests/$(DEPDIR)/test_portals-utils.Po \ |
581 | 594 | tests/$(DEPDIR)/test_portals-wallpaper.Po \ |
595 | tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Po \ | |
582 | 596 | tests/$(DEPDIR)/testdb-testdb.Po \ |
583 | 597 | tests/backend/$(DEPDIR)/test_backends-access.Po \ |
584 | 598 | tests/backend/$(DEPDIR)/test_backends-account.Po \ |
618 | 632 | $(test_permission_store_SOURCES) \ |
619 | 633 | $(nodist_test_permission_store_SOURCES) \ |
620 | 634 | $(test_portals_SOURCES) $(nodist_test_portals_SOURCES) \ |
621 | $(testdb_SOURCES) $(tests_test_backends_SOURCES) \ | |
635 | $(test_xdp_utils_SOURCES) $(testdb_SOURCES) \ | |
636 | $(tests_test_backends_SOURCES) \ | |
622 | 637 | $(nodist_tests_test_backends_SOURCES) \ |
623 | 638 | $(xdg_desktop_portal_SOURCES) \ |
624 | 639 | $(nodist_xdg_desktop_portal_SOURCES) \ |
628 | 643 | $(nodist_xdg_permission_store_SOURCES) |
629 | 644 | DIST_SOURCES = $(test_doc_portal_SOURCES) \ |
630 | 645 | $(test_permission_store_SOURCES) \ |
631 | $(am__test_portals_SOURCES_DIST) $(testdb_SOURCES) \ | |
632 | $(tests_test_backends_SOURCES) \ | |
646 | $(am__test_portals_SOURCES_DIST) $(test_xdp_utils_SOURCES) \ | |
647 | $(testdb_SOURCES) $(tests_test_backends_SOURCES) \ | |
633 | 648 | $(am__xdg_desktop_portal_SOURCES_DIST) \ |
634 | 649 | $(xdg_document_portal_SOURCES) $(xdg_permission_store_SOURCES) |
635 | 650 | RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ |
1402 | 1417 | $(NULL) |
1403 | 1418 | |
1404 | 1419 | nodist_tests_test_backends_SOURCES = src/xdp-impl-dbus.c |
1405 | test_programs = test-portals testdb test-doc-portal \ | |
1420 | test_programs = test-portals test-xdp-utils testdb test-doc-portal \ | |
1406 | 1421 | test-permission-store $(NULL) |
1407 | 1422 | TESTS_ENVIRONMENT = \ |
1408 | 1423 | PATH=$$(cd $(top_builddir) && pwd):$${PATH} \ |
1424 | 1439 | $(FUSE_LIBS) \ |
1425 | 1440 | $(NULL) |
1426 | 1441 | |
1427 | test_doc_portal_SOURCES = tests/test-doc-portal.c | |
1442 | test_doc_portal_SOURCES = \ | |
1443 | tests/can-use-fuse.c \ | |
1444 | tests/can-use-fuse.h \ | |
1445 | tests/test-doc-portal.c \ | |
1446 | $(NULL) | |
1447 | ||
1428 | 1448 | nodist_test_doc_portal_SOURCES = document-portal/document-portal-dbus.c |
1429 | 1449 | EXTRA_test_doc_portal_DEPENDENCIES = tests/services/org.freedesktop.impl.portal.PermissionStore.service tests/services/org.freedesktop.portal.Documents.service |
1430 | 1450 | test_portals_CFLAGS = $(AM_CFLAGS) $(BASE_CFLAGS) $(LIBPORTAL_CFLAGS) \ |
1449 | 1469 | test_permission_store_SOURCES = tests/test-permission-store.c |
1450 | 1470 | nodist_test_permission_store_SOURCES = document-portal/permission-store-dbus.c src/xdp-utils.c |
1451 | 1471 | EXTRA_test_permission_store_DEPENDENCIES = tests/services/org.freedesktop.impl.portal.PermissionStore.service tests/services/org.freedesktop.portal.Documents.service |
1472 | test_xdp_utils_CFLAGS = $(AM_CFLAGS) $(BASE_CFLAGS) | |
1473 | test_xdp_utils_LDADD = $(AM_LD_ADD) $(BASE_LIBS) | |
1474 | test_xdp_utils_SOURCES = tests/test-xdp-utils.c src/xdp-utils.c | |
1452 | 1475 | installed_test_dbsdir = $(installed_testdir)/dbs |
1453 | 1476 | installed_test_portalsdir = $(installed_testdir)/portals |
1454 | 1477 | @ENABLE_INSTALLED_TESTS_TRUE@dist_installed_test_dbs_DATA = tests/dbs/no_tables |
1792 | 1815 | tests/$(DEPDIR)/$(am__dirstamp): |
1793 | 1816 | @$(MKDIR_P) tests/$(DEPDIR) |
1794 | 1817 | @: > tests/$(DEPDIR)/$(am__dirstamp) |
1818 | tests/test_doc_portal-can-use-fuse.$(OBJEXT): tests/$(am__dirstamp) \ | |
1819 | tests/$(DEPDIR)/$(am__dirstamp) | |
1795 | 1820 | tests/test_doc_portal-test-doc-portal.$(OBJEXT): \ |
1796 | 1821 | tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp) |
1797 | 1822 | document-portal/$(am__dirstamp): |
1869 | 1894 | test-portals$(EXEEXT): $(test_portals_OBJECTS) $(test_portals_DEPENDENCIES) $(EXTRA_test_portals_DEPENDENCIES) |
1870 | 1895 | @rm -f test-portals$(EXEEXT) |
1871 | 1896 | $(AM_V_CCLD)$(test_portals_LINK) $(test_portals_OBJECTS) $(test_portals_LDADD) $(LIBS) |
1897 | tests/test_xdp_utils-test-xdp-utils.$(OBJEXT): tests/$(am__dirstamp) \ | |
1898 | tests/$(DEPDIR)/$(am__dirstamp) | |
1899 | src/test_xdp_utils-xdp-utils.$(OBJEXT): src/$(am__dirstamp) \ | |
1900 | src/$(DEPDIR)/$(am__dirstamp) | |
1901 | ||
1902 | test-xdp-utils$(EXEEXT): $(test_xdp_utils_OBJECTS) $(test_xdp_utils_DEPENDENCIES) $(EXTRA_test_xdp_utils_DEPENDENCIES) | |
1903 | @rm -f test-xdp-utils$(EXEEXT) | |
1904 | $(AM_V_CCLD)$(test_xdp_utils_LINK) $(test_xdp_utils_OBJECTS) $(test_xdp_utils_LDADD) $(LIBS) | |
1872 | 1905 | tests/testdb-testdb.$(OBJEXT): tests/$(am__dirstamp) \ |
1873 | 1906 | tests/$(DEPDIR)/$(am__dirstamp) |
1874 | 1907 | document-portal/testdb-permission-db.$(OBJEXT): \ |
2154 | 2187 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_portals-xdp-dbus.Po@am__quote@ # am--include-marker |
2155 | 2188 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_portals-xdp-impl-dbus.Po@am__quote@ # am--include-marker |
2156 | 2189 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_portals-xdp-utils.Po@am__quote@ # am--include-marker |
2190 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/test_xdp_utils-xdp-utils.Po@am__quote@ # am--include-marker | |
2157 | 2191 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/tests_test_backends-xdp-impl-dbus.Po@am__quote@ # am--include-marker |
2158 | 2192 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_desktop_portal-account.Po@am__quote@ # am--include-marker |
2159 | 2193 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_desktop_portal-background.Po@am__quote@ # am--include-marker |
2194 | 2228 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_document_portal-xdp-utils.Po@am__quote@ # am--include-marker |
2195 | 2229 | @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_permission_store-xdp-utils.Po@am__quote@ # am--include-marker |
2196 | 2230 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_backends-glib-backports.Po@am__quote@ # am--include-marker |
2231 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Po@am__quote@ # am--include-marker | |
2197 | 2232 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_doc_portal-test-doc-portal.Po@am__quote@ # am--include-marker |
2198 | 2233 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_permission_store-test-permission-store.Po@am__quote@ # am--include-marker |
2199 | 2234 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_portals-account.Po@am__quote@ # am--include-marker |
2212 | 2247 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_portals-trash.Po@am__quote@ # am--include-marker |
2213 | 2248 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_portals-utils.Po@am__quote@ # am--include-marker |
2214 | 2249 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_portals-wallpaper.Po@am__quote@ # am--include-marker |
2250 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Po@am__quote@ # am--include-marker | |
2215 | 2251 | @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testdb-testdb.Po@am__quote@ # am--include-marker |
2216 | 2252 | @AMDEP_TRUE@@am__include@ @am__quote@tests/backend/$(DEPDIR)/test_backends-access.Po@am__quote@ # am--include-marker |
2217 | 2253 | @AMDEP_TRUE@@am__include@ @am__quote@tests/backend/$(DEPDIR)/test_backends-account.Po@am__quote@ # am--include-marker |
2259 | 2295 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
2260 | 2296 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< |
2261 | 2297 | |
2298 | tests/test_doc_portal-can-use-fuse.o: tests/can-use-fuse.c | |
2299 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_doc_portal_CFLAGS) $(CFLAGS) -MT tests/test_doc_portal-can-use-fuse.o -MD -MP -MF tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Tpo -c -o tests/test_doc_portal-can-use-fuse.o `test -f 'tests/can-use-fuse.c' || echo '$(srcdir)/'`tests/can-use-fuse.c | |
2300 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Tpo tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Po | |
2301 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/can-use-fuse.c' object='tests/test_doc_portal-can-use-fuse.o' libtool=no @AMDEPBACKSLASH@ | |
2302 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
2303 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_doc_portal_CFLAGS) $(CFLAGS) -c -o tests/test_doc_portal-can-use-fuse.o `test -f 'tests/can-use-fuse.c' || echo '$(srcdir)/'`tests/can-use-fuse.c | |
2304 | ||
2305 | tests/test_doc_portal-can-use-fuse.obj: tests/can-use-fuse.c | |
2306 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_doc_portal_CFLAGS) $(CFLAGS) -MT tests/test_doc_portal-can-use-fuse.obj -MD -MP -MF tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Tpo -c -o tests/test_doc_portal-can-use-fuse.obj `if test -f 'tests/can-use-fuse.c'; then $(CYGPATH_W) 'tests/can-use-fuse.c'; else $(CYGPATH_W) '$(srcdir)/tests/can-use-fuse.c'; fi` | |
2307 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Tpo tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Po | |
2308 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/can-use-fuse.c' object='tests/test_doc_portal-can-use-fuse.obj' libtool=no @AMDEPBACKSLASH@ | |
2309 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
2310 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_doc_portal_CFLAGS) $(CFLAGS) -c -o tests/test_doc_portal-can-use-fuse.obj `if test -f 'tests/can-use-fuse.c'; then $(CYGPATH_W) 'tests/can-use-fuse.c'; else $(CYGPATH_W) '$(srcdir)/tests/can-use-fuse.c'; fi` | |
2311 | ||
2262 | 2312 | tests/test_doc_portal-test-doc-portal.o: tests/test-doc-portal.c |
2263 | 2313 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_doc_portal_CFLAGS) $(CFLAGS) -MT tests/test_doc_portal-test-doc-portal.o -MD -MP -MF tests/$(DEPDIR)/test_doc_portal-test-doc-portal.Tpo -c -o tests/test_doc_portal-test-doc-portal.o `test -f 'tests/test-doc-portal.c' || echo '$(srcdir)/'`tests/test-doc-portal.c |
2264 | 2314 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/test_doc_portal-test-doc-portal.Tpo tests/$(DEPDIR)/test_doc_portal-test-doc-portal.Po |
2608 | 2658 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='document-portal/permission-store-dbus.c' object='document-portal/test_portals-permission-store-dbus.obj' libtool=no @AMDEPBACKSLASH@ |
2609 | 2659 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
2610 | 2660 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_portals_CPPFLAGS) $(CPPFLAGS) $(test_portals_CFLAGS) $(CFLAGS) -c -o document-portal/test_portals-permission-store-dbus.obj `if test -f 'document-portal/permission-store-dbus.c'; then $(CYGPATH_W) 'document-portal/permission-store-dbus.c'; else $(CYGPATH_W) '$(srcdir)/document-portal/permission-store-dbus.c'; fi` |
2661 | ||
2662 | tests/test_xdp_utils-test-xdp-utils.o: tests/test-xdp-utils.c | |
2663 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xdp_utils_CFLAGS) $(CFLAGS) -MT tests/test_xdp_utils-test-xdp-utils.o -MD -MP -MF tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Tpo -c -o tests/test_xdp_utils-test-xdp-utils.o `test -f 'tests/test-xdp-utils.c' || echo '$(srcdir)/'`tests/test-xdp-utils.c | |
2664 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Tpo tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Po | |
2665 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/test-xdp-utils.c' object='tests/test_xdp_utils-test-xdp-utils.o' libtool=no @AMDEPBACKSLASH@ | |
2666 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
2667 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xdp_utils_CFLAGS) $(CFLAGS) -c -o tests/test_xdp_utils-test-xdp-utils.o `test -f 'tests/test-xdp-utils.c' || echo '$(srcdir)/'`tests/test-xdp-utils.c | |
2668 | ||
2669 | tests/test_xdp_utils-test-xdp-utils.obj: tests/test-xdp-utils.c | |
2670 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xdp_utils_CFLAGS) $(CFLAGS) -MT tests/test_xdp_utils-test-xdp-utils.obj -MD -MP -MF tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Tpo -c -o tests/test_xdp_utils-test-xdp-utils.obj `if test -f 'tests/test-xdp-utils.c'; then $(CYGPATH_W) 'tests/test-xdp-utils.c'; else $(CYGPATH_W) '$(srcdir)/tests/test-xdp-utils.c'; fi` | |
2671 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Tpo tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Po | |
2672 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/test-xdp-utils.c' object='tests/test_xdp_utils-test-xdp-utils.obj' libtool=no @AMDEPBACKSLASH@ | |
2673 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
2674 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xdp_utils_CFLAGS) $(CFLAGS) -c -o tests/test_xdp_utils-test-xdp-utils.obj `if test -f 'tests/test-xdp-utils.c'; then $(CYGPATH_W) 'tests/test-xdp-utils.c'; else $(CYGPATH_W) '$(srcdir)/tests/test-xdp-utils.c'; fi` | |
2675 | ||
2676 | src/test_xdp_utils-xdp-utils.o: src/xdp-utils.c | |
2677 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xdp_utils_CFLAGS) $(CFLAGS) -MT src/test_xdp_utils-xdp-utils.o -MD -MP -MF src/$(DEPDIR)/test_xdp_utils-xdp-utils.Tpo -c -o src/test_xdp_utils-xdp-utils.o `test -f 'src/xdp-utils.c' || echo '$(srcdir)/'`src/xdp-utils.c | |
2678 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/test_xdp_utils-xdp-utils.Tpo src/$(DEPDIR)/test_xdp_utils-xdp-utils.Po | |
2679 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/xdp-utils.c' object='src/test_xdp_utils-xdp-utils.o' libtool=no @AMDEPBACKSLASH@ | |
2680 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
2681 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xdp_utils_CFLAGS) $(CFLAGS) -c -o src/test_xdp_utils-xdp-utils.o `test -f 'src/xdp-utils.c' || echo '$(srcdir)/'`src/xdp-utils.c | |
2682 | ||
2683 | src/test_xdp_utils-xdp-utils.obj: src/xdp-utils.c | |
2684 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xdp_utils_CFLAGS) $(CFLAGS) -MT src/test_xdp_utils-xdp-utils.obj -MD -MP -MF src/$(DEPDIR)/test_xdp_utils-xdp-utils.Tpo -c -o src/test_xdp_utils-xdp-utils.obj `if test -f 'src/xdp-utils.c'; then $(CYGPATH_W) 'src/xdp-utils.c'; else $(CYGPATH_W) '$(srcdir)/src/xdp-utils.c'; fi` | |
2685 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/test_xdp_utils-xdp-utils.Tpo src/$(DEPDIR)/test_xdp_utils-xdp-utils.Po | |
2686 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/xdp-utils.c' object='src/test_xdp_utils-xdp-utils.obj' libtool=no @AMDEPBACKSLASH@ | |
2687 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
2688 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xdp_utils_CFLAGS) $(CFLAGS) -c -o src/test_xdp_utils-xdp-utils.obj `if test -f 'src/xdp-utils.c'; then $(CYGPATH_W) 'src/xdp-utils.c'; else $(CYGPATH_W) '$(srcdir)/src/xdp-utils.c'; fi` | |
2611 | 2689 | |
2612 | 2690 | tests/testdb-testdb.o: tests/testdb.c |
2613 | 2691 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(testdb_CFLAGS) $(CFLAGS) -MT tests/testdb-testdb.o -MD -MP -MF tests/$(DEPDIR)/testdb-testdb.Tpo -c -o tests/testdb-testdb.o `test -f 'tests/testdb.c' || echo '$(srcdir)/'`tests/testdb.c |
4101 | 4179 | --log-file $$b.log --trs-file $$b.trs \ |
4102 | 4180 | $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ |
4103 | 4181 | "$$tst" $(AM_TESTS_FD_REDIRECT) |
4182 | test-xdp-utils.log: test-xdp-utils$(EXEEXT) | |
4183 | @p='test-xdp-utils$(EXEEXT)'; \ | |
4184 | b='test-xdp-utils'; \ | |
4185 | $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ | |
4186 | --log-file $$b.log --trs-file $$b.trs \ | |
4187 | $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ | |
4188 | "$$tst" $(AM_TESTS_FD_REDIRECT) | |
4104 | 4189 | testdb.log: testdb$(EXEEXT) |
4105 | 4190 | @p='testdb$(EXEEXT)'; \ |
4106 | 4191 | b='testdb'; \ |
4431 | 4516 | -rm -f src/$(DEPDIR)/test_portals-xdp-dbus.Po |
4432 | 4517 | -rm -f src/$(DEPDIR)/test_portals-xdp-impl-dbus.Po |
4433 | 4518 | -rm -f src/$(DEPDIR)/test_portals-xdp-utils.Po |
4519 | -rm -f src/$(DEPDIR)/test_xdp_utils-xdp-utils.Po | |
4434 | 4520 | -rm -f src/$(DEPDIR)/tests_test_backends-xdp-impl-dbus.Po |
4435 | 4521 | -rm -f src/$(DEPDIR)/xdg_desktop_portal-account.Po |
4436 | 4522 | -rm -f src/$(DEPDIR)/xdg_desktop_portal-background.Po |
4471 | 4557 | -rm -f src/$(DEPDIR)/xdg_document_portal-xdp-utils.Po |
4472 | 4558 | -rm -f src/$(DEPDIR)/xdg_permission_store-xdp-utils.Po |
4473 | 4559 | -rm -f tests/$(DEPDIR)/test_backends-glib-backports.Po |
4560 | -rm -f tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Po | |
4474 | 4561 | -rm -f tests/$(DEPDIR)/test_doc_portal-test-doc-portal.Po |
4475 | 4562 | -rm -f tests/$(DEPDIR)/test_permission_store-test-permission-store.Po |
4476 | 4563 | -rm -f tests/$(DEPDIR)/test_portals-account.Po |
4489 | 4576 | -rm -f tests/$(DEPDIR)/test_portals-trash.Po |
4490 | 4577 | -rm -f tests/$(DEPDIR)/test_portals-utils.Po |
4491 | 4578 | -rm -f tests/$(DEPDIR)/test_portals-wallpaper.Po |
4579 | -rm -f tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Po | |
4492 | 4580 | -rm -f tests/$(DEPDIR)/testdb-testdb.Po |
4493 | 4581 | -rm -f tests/backend/$(DEPDIR)/test_backends-access.Po |
4494 | 4582 | -rm -f tests/backend/$(DEPDIR)/test_backends-account.Po |
4588 | 4676 | -rm -f src/$(DEPDIR)/test_portals-xdp-dbus.Po |
4589 | 4677 | -rm -f src/$(DEPDIR)/test_portals-xdp-impl-dbus.Po |
4590 | 4678 | -rm -f src/$(DEPDIR)/test_portals-xdp-utils.Po |
4679 | -rm -f src/$(DEPDIR)/test_xdp_utils-xdp-utils.Po | |
4591 | 4680 | -rm -f src/$(DEPDIR)/tests_test_backends-xdp-impl-dbus.Po |
4592 | 4681 | -rm -f src/$(DEPDIR)/xdg_desktop_portal-account.Po |
4593 | 4682 | -rm -f src/$(DEPDIR)/xdg_desktop_portal-background.Po |
4628 | 4717 | -rm -f src/$(DEPDIR)/xdg_document_portal-xdp-utils.Po |
4629 | 4718 | -rm -f src/$(DEPDIR)/xdg_permission_store-xdp-utils.Po |
4630 | 4719 | -rm -f tests/$(DEPDIR)/test_backends-glib-backports.Po |
4720 | -rm -f tests/$(DEPDIR)/test_doc_portal-can-use-fuse.Po | |
4631 | 4721 | -rm -f tests/$(DEPDIR)/test_doc_portal-test-doc-portal.Po |
4632 | 4722 | -rm -f tests/$(DEPDIR)/test_permission_store-test-permission-store.Po |
4633 | 4723 | -rm -f tests/$(DEPDIR)/test_portals-account.Po |
4646 | 4736 | -rm -f tests/$(DEPDIR)/test_portals-trash.Po |
4647 | 4737 | -rm -f tests/$(DEPDIR)/test_portals-utils.Po |
4648 | 4738 | -rm -f tests/$(DEPDIR)/test_portals-wallpaper.Po |
4739 | -rm -f tests/$(DEPDIR)/test_xdp_utils-test-xdp-utils.Po | |
4649 | 4740 | -rm -f tests/$(DEPDIR)/testdb-testdb.Po |
4650 | 4741 | -rm -f tests/backend/$(DEPDIR)/test_backends-access.Po |
4651 | 4742 | -rm -f tests/backend/$(DEPDIR)/test_backends-account.Po |
0 | Changes in 1.8.1 | |
1 | ================ | |
2 | ||
3 | - openuri: Fix an fd leak | |
4 | - filechooser: Fix directory support | |
5 | - build: Drop a fontconfig dependency | |
6 | - snap: Use cgroups to identify confined apps | |
7 | - documents: Add snap support | |
8 | - wallpaper: Fix a crash | |
9 | - build: Factor out a fuse check | |
10 | - Translation updates | |
11 | ||
0 | 12 | Changes in 1.8.0 |
1 | 13 | ================ |
2 | 14 |
0 | 0 | #! /bin/sh |
1 | 1 | # Guess values for system-dependent variables and create Makefiles. |
2 | # Generated by GNU Autoconf 2.69 for xdg-desktop-portal 1.8.0. | |
2 | # Generated by GNU Autoconf 2.69 for xdg-desktop-portal 1.8.1. | |
3 | 3 | # |
4 | 4 | # |
5 | 5 | # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. |
586 | 586 | # Identity of this package. |
587 | 587 | PACKAGE_NAME='xdg-desktop-portal' |
588 | 588 | PACKAGE_TARNAME='xdg-desktop-portal' |
589 | PACKAGE_VERSION='1.8.0' | |
590 | PACKAGE_STRING='xdg-desktop-portal 1.8.0' | |
589 | PACKAGE_VERSION='1.8.1' | |
590 | PACKAGE_STRING='xdg-desktop-portal 1.8.1' | |
591 | 591 | PACKAGE_BUGREPORT='' |
592 | 592 | PACKAGE_URL='' |
593 | 593 | |
1404 | 1404 | # Omit some internal or obsolete options to make the list less imposing. |
1405 | 1405 | # This message is too long to be a string in the A/UX 3.1 sh. |
1406 | 1406 | cat <<_ACEOF |
1407 | \`configure' configures xdg-desktop-portal 1.8.0 to adapt to many kinds of systems. | |
1407 | \`configure' configures xdg-desktop-portal 1.8.1 to adapt to many kinds of systems. | |
1408 | 1408 | |
1409 | 1409 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1410 | 1410 | |
1475 | 1475 | |
1476 | 1476 | if test -n "$ac_init_help"; then |
1477 | 1477 | case $ac_init_help in |
1478 | short | recursive ) echo "Configuration of xdg-desktop-portal 1.8.0:";; | |
1478 | short | recursive ) echo "Configuration of xdg-desktop-portal 1.8.1:";; | |
1479 | 1479 | esac |
1480 | 1480 | cat <<\_ACEOF |
1481 | 1481 | |
1644 | 1644 | test -n "$ac_init_help" && exit $ac_status |
1645 | 1645 | if $ac_init_version; then |
1646 | 1646 | cat <<\_ACEOF |
1647 | xdg-desktop-portal configure 1.8.0 | |
1647 | xdg-desktop-portal configure 1.8.1 | |
1648 | 1648 | generated by GNU Autoconf 2.69 |
1649 | 1649 | |
1650 | 1650 | Copyright (C) 2012 Free Software Foundation, Inc. |
2009 | 2009 | This file contains any messages produced by compilers while |
2010 | 2010 | running configure, to aid debugging if configure makes a mistake. |
2011 | 2011 | |
2012 | It was created by xdg-desktop-portal $as_me 1.8.0, which was | |
2012 | It was created by xdg-desktop-portal $as_me 1.8.1, which was | |
2013 | 2013 | generated by GNU Autoconf 2.69. Invocation command line was |
2014 | 2014 | |
2015 | 2015 | $ $0 $@ |
12752 | 12752 | |
12753 | 12753 | # Define the identity of the package. |
12754 | 12754 | PACKAGE='xdg-desktop-portal' |
12755 | VERSION='1.8.0' | |
12755 | VERSION='1.8.1' | |
12756 | 12756 | |
12757 | 12757 | |
12758 | 12758 | # Some tools Automake needs. |
15529 | 15529 | pkg_cv_BASE_CFLAGS="$BASE_CFLAGS" |
15530 | 15530 | elif test -n "$PKG_CONFIG"; then |
15531 | 15531 | if test -n "$PKG_CONFIG" && \ |
15532 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0\""; } >&5 | |
15533 | ($PKG_CONFIG --exists --print-errors "glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0") 2>&5 | |
15532 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0\""; } >&5 | |
15533 | ($PKG_CONFIG --exists --print-errors "glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0") 2>&5 | |
15534 | 15534 | ac_status=$? |
15535 | 15535 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
15536 | 15536 | test $ac_status = 0; }; then |
15537 | pkg_cv_BASE_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0" 2>/dev/null` | |
15537 | pkg_cv_BASE_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0" 2>/dev/null` | |
15538 | 15538 | test "x$?" != "x0" && pkg_failed=yes |
15539 | 15539 | else |
15540 | 15540 | pkg_failed=yes |
15546 | 15546 | pkg_cv_BASE_LIBS="$BASE_LIBS" |
15547 | 15547 | elif test -n "$PKG_CONFIG"; then |
15548 | 15548 | if test -n "$PKG_CONFIG" && \ |
15549 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0\""; } >&5 | |
15550 | ($PKG_CONFIG --exists --print-errors "glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0") 2>&5 | |
15549 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0\""; } >&5 | |
15550 | ($PKG_CONFIG --exists --print-errors "glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0") 2>&5 | |
15551 | 15551 | ac_status=$? |
15552 | 15552 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
15553 | 15553 | test $ac_status = 0; }; then |
15554 | pkg_cv_BASE_LIBS=`$PKG_CONFIG --libs "glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0" 2>/dev/null` | |
15554 | pkg_cv_BASE_LIBS=`$PKG_CONFIG --libs "glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0" 2>/dev/null` | |
15555 | 15555 | test "x$?" != "x0" && pkg_failed=yes |
15556 | 15556 | else |
15557 | 15557 | pkg_failed=yes |
15572 | 15572 | _pkg_short_errors_supported=no |
15573 | 15573 | fi |
15574 | 15574 | if test $_pkg_short_errors_supported = yes; then |
15575 | BASE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0" 2>&1` | |
15575 | BASE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0" 2>&1` | |
15576 | 15576 | else |
15577 | BASE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0" 2>&1` | |
15577 | BASE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0" 2>&1` | |
15578 | 15578 | fi |
15579 | 15579 | # Put the nasty error message in config.log where it belongs |
15580 | 15580 | echo "$BASE_PKG_ERRORS" >&5 |
15581 | 15581 | |
15582 | as_fn_error $? "Package requirements (glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0) were not met: | |
15582 | as_fn_error $? "Package requirements (glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0) were not met: | |
15583 | 15583 | |
15584 | 15584 | $BASE_PKG_ERRORS |
15585 | 15585 | |
16921 | 16921 | # report actual input values of CONFIG_FILES etc. instead of their |
16922 | 16922 | # values after options handling. |
16923 | 16923 | ac_log=" |
16924 | This file was extended by xdg-desktop-portal $as_me 1.8.0, which was | |
16924 | This file was extended by xdg-desktop-portal $as_me 1.8.1, which was | |
16925 | 16925 | generated by GNU Autoconf 2.69. Invocation command line was |
16926 | 16926 | |
16927 | 16927 | CONFIG_FILES = $CONFIG_FILES |
16987 | 16987 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
16988 | 16988 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
16989 | 16989 | ac_cs_version="\\ |
16990 | xdg-desktop-portal config.status 1.8.0 | |
16990 | xdg-desktop-portal config.status 1.8.1 | |
16991 | 16991 | configured by $0, generated by GNU Autoconf 2.69, |
16992 | 16992 | with options \\"\$ac_cs_config\\" |
16993 | 16993 |
0 | 0 | AC_PREREQ([2.63]) |
1 | 1 | |
2 | AC_INIT([xdg-desktop-portal],[1.8.0]) | |
2 | AC_INIT([xdg-desktop-portal],[1.8.1]) | |
3 | 3 | |
4 | 4 | AC_USE_SYSTEM_EXTENSIONS |
5 | 5 | AC_SYS_LARGEFILE |
69 | 69 | AC_SUBST([GLIB_COMPILE_RESOURCES], [`$PKG_CONFIG --variable glib_compile_resources gio-2.0`]) |
70 | 70 | AC_SUBST([GDBUS_CODEGEN], [`$PKG_CONFIG --variable gdbus_codegen gio-2.0`]) |
71 | 71 | |
72 | PKG_CHECK_MODULES(BASE, [glib-2.0 gio-2.0 gio-unix-2.0 fontconfig json-glib-1.0]) | |
72 | PKG_CHECK_MODULES(BASE, [glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0]) | |
73 | 73 | AC_SUBST(BASE_CFLAGS) |
74 | 74 | AC_SUBST(BASE_LIBS) |
75 | 75 |
498 | 498 | } |
499 | 499 | |
500 | 500 | static char * |
501 | flatpak (GError **error, | |
502 | ...) | |
501 | get_output (GError **error, | |
502 | const char *argv0, | |
503 | ...) | |
503 | 504 | { |
504 | 505 | gboolean res; |
505 | 506 | g_autofree char *output = NULL; |
506 | 507 | va_list ap; |
507 | 508 | |
508 | va_start (ap, error); | |
509 | res = xdp_spawn (NULL, &output, 0, error, "flatpak", ap); | |
509 | va_start (ap, argv0); | |
510 | res = xdp_spawn (NULL, &output, 0, error, argv0, ap); | |
510 | 511 | va_end (ap); |
511 | 512 | |
512 | 513 | if (res) |
631 | 632 | if (target_app_id == NULL || target_app_id[0] == '\0') |
632 | 633 | return FALSE; |
633 | 634 | |
634 | /* First we try flatpak info --file-access=PATH APPID, which is supported on new versions */ | |
635 | arg = g_strdup_printf ("--file-access=%s", path); | |
636 | res = flatpak (&error, "info", arg, target_app_id, NULL); | |
635 | if (g_str_has_prefix (target_app_id, "snap.")) | |
636 | { | |
637 | res = get_output (&error, "snap", "routine", "file-access", | |
638 | target_app_id + strlen ("snap."), path, NULL); | |
639 | } | |
640 | else | |
641 | { | |
642 | /* First we try flatpak info --file-access=PATH APPID, which is supported on new versions */ | |
643 | arg = g_strdup_printf ("--file-access=%s", path); | |
644 | res = get_output (&error, "flatpak", "info", arg, target_app_id, NULL); | |
645 | } | |
637 | 646 | |
638 | 647 | if (res) |
639 | 648 | { |
1447 | 1456 | |
1448 | 1457 | fuse_dev = stbuf.st_dev; |
1449 | 1458 | |
1459 | xdp_set_documents_mountpoint (xdp_fuse_get_mountpoint ()); | |
1460 | ||
1450 | 1461 | while ((invocation = g_queue_pop_head (&get_mount_point_invocations)) != NULL) |
1451 | 1462 | { |
1452 | 1463 | xdp_dbus_documents_complete_get_mount_point (dbus_api, invocation, xdp_fuse_get_mountpoint ()); |
8 | 8 | msgstr "" |
9 | 9 | "Project-Id-Version: xdg-desktop-portal master\n" |
10 | 10 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
11 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
11 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
12 | 12 | "PO-Revision-Date: 2019-10-24 16:06+0200\n" |
13 | 13 | "Last-Translator: Daniel Rusek <mail@asciiwolf.com>\n" |
14 | 14 | "Language-Team: Czech <gnome-cs-list@gnome.org>\n" |
45 | 45 | msgid "Don't allow" |
46 | 46 | msgstr "Nepovolit" |
47 | 47 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 49 | msgid "Allow" |
50 | 50 | msgstr "Povolit" |
51 | 51 | |
142 | 142 | msgid "Requested setting not found" |
143 | 143 | msgstr "Požadované nastavení nebylo nalezeno" |
144 | 144 | |
145 | #: src/wallpaper.c:177 | |
145 | #: src/wallpaper.c:178 | |
146 | 146 | msgid "Deny" |
147 | 147 | msgstr "Zamítnout" |
148 | 148 | |
149 | #: src/wallpaper.c:185 | |
149 | #: src/wallpaper.c:186 | |
150 | 150 | msgid "Allow Applications to Set Backgrounds?" |
151 | 151 | msgstr "Povolit aplikacím možnost nastavit pozadí?" |
152 | 152 | |
153 | #: src/wallpaper.c:186 | |
153 | #: src/wallpaper.c:187 | |
154 | 154 | msgid "An application is requesting to be able to change the background image." |
155 | 155 | msgstr "Aplikace požaduje mít možnost změnit obrázek na pozadí." |
156 | 156 | |
157 | #: src/wallpaper.c:198 | |
157 | #: src/wallpaper.c:199 | |
158 | 158 | #, c-format |
159 | 159 | msgid "Allow %s to Set Backgrounds?" |
160 | 160 | msgstr "Povolit aplikaci %s možnost nastavit pozadí?" |
161 | 161 | |
162 | #: src/wallpaper.c:199 | |
162 | #: src/wallpaper.c:200 | |
163 | 163 | #, c-format |
164 | 164 | msgid "%s is requesting to be able to change the background image." |
165 | 165 | msgstr "Aplikace %s požaduje mít možnost změnit obrázek na pozadí." |
166 | 166 | |
167 | #: src/wallpaper.c:202 | |
167 | #: src/wallpaper.c:203 | |
168 | 168 | msgid "This permission can be changed at any time from the privacy settings." |
169 | 169 | msgstr "Toto oprávnění můžete kdykoliv změnit v nastavení soukromí." |
0 | 0 | # Danish translation for xdg-desktop-portal |
1 | 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
2 | 2 | # This file is distributed under the same license as the PACKAGE package. |
3 | # scootergrisen, 2018-2019. | |
3 | # scootergrisen, 2018-2020. | |
4 | 4 | msgid "" |
5 | 5 | msgstr "" |
6 | 6 | "Project-Id-Version: xdg-desktop-portal\n" |
7 | 7 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
8 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "PO-Revision-Date: 2019-05-21 00:00+0200\n" | |
8 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
9 | "PO-Revision-Date: 2020-10-12 01:25+0200\n" | |
10 | 10 | "Last-Translator: scootergrisen\n" |
11 | 11 | "Language-Team: Danish\n" |
12 | 12 | "Language: da\n" |
35 | 35 | "The ‘run in background’ permission can be changed at any time from the " |
36 | 36 | "application settings." |
37 | 37 | msgstr "" |
38 | "‘Kør i baggrunden’-tilladelsen kan altid ændres i programindstillingerne." | |
38 | "‘Kør i baggrunden’-tilladelsen kan når som helst ændres i " | |
39 | "programindstillingerne." | |
39 | 40 | |
40 | 41 | #: src/background.c:272 |
41 | 42 | msgid "Don't allow" |
42 | 43 | msgstr "Tillad ikke" |
43 | 44 | |
44 | #: src/background.c:273 src/wallpaper.c:179 | |
45 | #: src/background.c:273 src/wallpaper.c:180 | |
45 | 46 | msgid "Allow" |
46 | 47 | msgstr "Tillad" |
47 | 48 | |
54 | 55 | "Access to your microphone can be changed at any time from the privacy " |
55 | 56 | "settings." |
56 | 57 | msgstr "" |
57 | "Adgang til din mikrofon kan når som helst ændres fra " | |
58 | "privatlivsindstillingerne." | |
58 | "Adgang til din mikrofon kan når som helst ændres i privatlivsindstillingerne." | |
59 | 59 | |
60 | 60 | #: src/device.c:120 |
61 | 61 | msgid "An application wants to use your microphone." |
74 | 74 | msgid "" |
75 | 75 | "Access to your speakers can be changed at any time from the privacy settings." |
76 | 76 | msgstr "" |
77 | "Adgang til dine højttalere kan når som helst ændres fra " | |
77 | "Adgang til dine højttalere kan når som helst ændres i " | |
78 | 78 | "privatlivsindstillingerne." |
79 | 79 | |
80 | 80 | #: src/device.c:133 |
94 | 94 | msgid "" |
95 | 95 | "Access to your camera can be changed at any time from the privacy settings." |
96 | 96 | msgstr "" |
97 | "Adgang til dit kamera kan når som helst ændres fra privatlivsindstillingerne." | |
97 | "Adgang til dit kamera kan når som helst ændres i privatlivsindstillingerne." | |
98 | 98 | |
99 | 99 | #: src/device.c:146 |
100 | 100 | msgid "An application wants to use your camera." |
134 | 134 | #: src/location.c:554 |
135 | 135 | msgid "Location access can be changed at any time from the privacy settings." |
136 | 136 | msgstr "" |
137 | "Adgang til din placering kan når som helst ændres fra " | |
137 | "Adgang til din placering kan når som helst ændres i " | |
138 | 138 | "privatlivsindstillingerne." |
139 | 139 | |
140 | 140 | #: src/settings.c:124 |
141 | 141 | msgid "Requested setting not found" |
142 | 142 | msgstr "Den anmodede indstilling blev ikke fundet" |
143 | 143 | |
144 | #: src/wallpaper.c:177 | |
144 | #: src/wallpaper.c:178 | |
145 | 145 | msgid "Deny" |
146 | msgstr "" | |
147 | ||
148 | #: src/wallpaper.c:185 | |
149 | #, fuzzy | |
150 | msgid "Allow Applications to Set Backgrounds?" | |
151 | msgstr "Tillad %s at køre i baggrunden?" | |
146 | msgstr "Nægt" | |
152 | 147 | |
153 | 148 | #: src/wallpaper.c:186 |
149 | msgid "Allow Applications to Set Backgrounds?" | |
150 | msgstr "Tillad programmer at indstille baggrunde?" | |
151 | ||
152 | #: src/wallpaper.c:187 | |
154 | 153 | msgid "An application is requesting to be able to change the background image." |
155 | msgstr "" | |
156 | ||
157 | #: src/wallpaper.c:198 | |
158 | #, fuzzy, c-format | |
159 | msgid "Allow %s to Set Backgrounds?" | |
160 | msgstr "Tillad %s at køre i baggrunden?" | |
154 | msgstr "Et program anmoder om at være i stand til at ændre baggrundsbilledet." | |
161 | 155 | |
162 | 156 | #: src/wallpaper.c:199 |
163 | #, fuzzy, c-format | |
157 | #, c-format | |
158 | msgid "Allow %s to Set Backgrounds?" | |
159 | msgstr "Tillad %s at indstille baggrunde?" | |
160 | ||
161 | #: src/wallpaper.c:200 | |
162 | #, c-format | |
164 | 163 | msgid "%s is requesting to be able to change the background image." |
165 | msgstr "%s anmoder om at køre i baggrunden." | |
164 | msgstr "%s anmoder om at være i stand til at ændre baggrundsbilledet." | |
166 | 165 | |
167 | #: src/wallpaper.c:202 | |
168 | #, fuzzy | |
166 | #: src/wallpaper.c:203 | |
169 | 167 | msgid "This permission can be changed at any time from the privacy settings." |
170 | msgstr "" | |
171 | "Adgang til din placering kan når som helst ændres fra " | |
172 | "privatlivsindstillingerne." | |
168 | msgstr "Tilladelsen kan når som helst ændres i privatlivsindstillingerne." |
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: xdg-desktop-portal master\n" |
9 | 9 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
10 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
10 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
11 | 11 | "PO-Revision-Date: 2016-09-23 19:17+0200\n" |
12 | 12 | "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" |
13 | 13 | "Language-Team: German <gnome-de@gnome.org>\n" |
46 | 46 | msgid "Don't allow" |
47 | 47 | msgstr "" |
48 | 48 | |
49 | #: src/background.c:273 src/wallpaper.c:179 | |
49 | #: src/background.c:273 src/wallpaper.c:180 | |
50 | 50 | msgid "Allow" |
51 | 51 | msgstr "" |
52 | 52 | |
149 | 149 | msgid "Requested setting not found" |
150 | 150 | msgstr "" |
151 | 151 | |
152 | #: src/wallpaper.c:177 | |
152 | #: src/wallpaper.c:178 | |
153 | 153 | msgid "Deny" |
154 | 154 | msgstr "" |
155 | 155 | |
156 | #: src/wallpaper.c:185 | |
156 | #: src/wallpaper.c:186 | |
157 | 157 | #, fuzzy |
158 | 158 | msgid "Allow Applications to Set Backgrounds?" |
159 | 159 | msgstr "Eine Anwendung möchte Ton wiedergeben." |
160 | 160 | |
161 | #: src/wallpaper.c:186 | |
161 | #: src/wallpaper.c:187 | |
162 | 162 | msgid "An application is requesting to be able to change the background image." |
163 | 163 | msgstr "" |
164 | 164 | |
165 | #: src/wallpaper.c:198 | |
165 | #: src/wallpaper.c:199 | |
166 | 166 | #, c-format |
167 | 167 | msgid "Allow %s to Set Backgrounds?" |
168 | 168 | msgstr "" |
169 | 169 | |
170 | #: src/wallpaper.c:199 | |
170 | #: src/wallpaper.c:200 | |
171 | 171 | #, c-format |
172 | 172 | msgid "%s is requesting to be able to change the background image." |
173 | 173 | msgstr "" |
174 | 174 | |
175 | #: src/wallpaper.c:202 | |
175 | #: src/wallpaper.c:203 | |
176 | 176 | #, fuzzy |
177 | 177 | msgid "This permission can be changed at any time from the privacy settings." |
178 | 178 | msgstr "" |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2019-08-24 23:48+0100\n" |
11 | 11 | "Last-Translator: Zander Brown <zbrown@gnome.org>\n" |
12 | 12 | "Language-Team: English - United Kingdom <en_GB@li.org>\n" |
44 | 44 | msgid "Don't allow" |
45 | 45 | msgstr "Don't allow" |
46 | 46 | |
47 | #: src/background.c:273 src/wallpaper.c:179 | |
47 | #: src/background.c:273 src/wallpaper.c:180 | |
48 | 48 | msgid "Allow" |
49 | 49 | msgstr "Allow" |
50 | 50 | |
141 | 141 | msgid "Requested setting not found" |
142 | 142 | msgstr "Requested setting not found" |
143 | 143 | |
144 | #: src/wallpaper.c:177 | |
144 | #: src/wallpaper.c:178 | |
145 | 145 | msgid "Deny" |
146 | 146 | msgstr "" |
147 | 147 | |
148 | #: src/wallpaper.c:185 | |
148 | #: src/wallpaper.c:186 | |
149 | 149 | #, fuzzy |
150 | 150 | msgid "Allow Applications to Set Backgrounds?" |
151 | 151 | msgstr "Allow %s to run in the background?" |
152 | 152 | |
153 | #: src/wallpaper.c:186 | |
153 | #: src/wallpaper.c:187 | |
154 | 154 | msgid "An application is requesting to be able to change the background image." |
155 | 155 | msgstr "" |
156 | 156 | |
157 | #: src/wallpaper.c:198 | |
157 | #: src/wallpaper.c:199 | |
158 | 158 | #, fuzzy, c-format |
159 | 159 | msgid "Allow %s to Set Backgrounds?" |
160 | 160 | msgstr "Allow %s to run in the background?" |
161 | 161 | |
162 | #: src/wallpaper.c:199 | |
162 | #: src/wallpaper.c:200 | |
163 | 163 | #, fuzzy, c-format |
164 | 164 | msgid "%s is requesting to be able to change the background image." |
165 | 165 | msgstr "%s requests to run in the background." |
166 | 166 | |
167 | #: src/wallpaper.c:202 | |
167 | #: src/wallpaper.c:203 | |
168 | 168 | #, fuzzy |
169 | 169 | msgid "This permission can be changed at any time from the privacy settings." |
170 | 170 | msgstr "Location access can be changed at any time from the privacy settings." |
5 | 5 | msgstr "" |
6 | 6 | "Project-Id-Version: xdg-desktop-portal master\n" |
7 | 7 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
8 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
8 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
9 | 9 | "PO-Revision-Date: 2019-08-17 05:36-0500\n" |
10 | 10 | "Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n" |
11 | 11 | "Language-Team: Spanish\n" |
43 | 43 | msgid "Don't allow" |
44 | 44 | msgstr "No permitir" |
45 | 45 | |
46 | #: src/background.c:273 src/wallpaper.c:179 | |
46 | #: src/background.c:273 src/wallpaper.c:180 | |
47 | 47 | msgid "Allow" |
48 | 48 | msgstr "Permitir" |
49 | 49 | |
144 | 144 | msgid "Requested setting not found" |
145 | 145 | msgstr "No se encontró la configuración solicitada" |
146 | 146 | |
147 | #: src/wallpaper.c:177 | |
147 | #: src/wallpaper.c:178 | |
148 | 148 | msgid "Deny" |
149 | 149 | msgstr "" |
150 | 150 | |
151 | #: src/wallpaper.c:185 | |
151 | #: src/wallpaper.c:186 | |
152 | 152 | #, fuzzy |
153 | 153 | msgid "Allow Applications to Set Backgrounds?" |
154 | 154 | msgstr "¿Quiere permitir que %s se ejecute en segundo plano?" |
155 | 155 | |
156 | #: src/wallpaper.c:186 | |
156 | #: src/wallpaper.c:187 | |
157 | 157 | msgid "An application is requesting to be able to change the background image." |
158 | 158 | msgstr "" |
159 | 159 | |
160 | #: src/wallpaper.c:198 | |
160 | #: src/wallpaper.c:199 | |
161 | 161 | #, fuzzy, c-format |
162 | 162 | msgid "Allow %s to Set Backgrounds?" |
163 | 163 | msgstr "¿Quiere permitir que %s se ejecute en segundo plano?" |
164 | 164 | |
165 | #: src/wallpaper.c:199 | |
165 | #: src/wallpaper.c:200 | |
166 | 166 | #, fuzzy, c-format |
167 | 167 | msgid "%s is requesting to be able to change the background image." |
168 | 168 | msgstr "%s solicita ejecutarse en segundo plano." |
169 | 169 | |
170 | #: src/wallpaper.c:202 | |
170 | #: src/wallpaper.c:203 | |
171 | 171 | #, fuzzy |
172 | 172 | msgid "This permission can be changed at any time from the privacy settings." |
173 | 173 | msgstr "" |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2017-03-02 11:34+0100\n" |
11 | 11 | "Last-Translator: Nicolas Cuffia <cuffia.cuceglio@vivaldi.net>\n" |
12 | 12 | "Language-Team: French <gnomefr@traduc.org>\n" |
44 | 44 | msgid "Don't allow" |
45 | 45 | msgstr "" |
46 | 46 | |
47 | #: src/background.c:273 src/wallpaper.c:179 | |
47 | #: src/background.c:273 src/wallpaper.c:180 | |
48 | 48 | msgid "Allow" |
49 | 49 | msgstr "" |
50 | 50 | |
147 | 147 | msgid "Requested setting not found" |
148 | 148 | msgstr "" |
149 | 149 | |
150 | #: src/wallpaper.c:177 | |
150 | #: src/wallpaper.c:178 | |
151 | 151 | msgid "Deny" |
152 | 152 | msgstr "" |
153 | 153 | |
154 | #: src/wallpaper.c:185 | |
154 | #: src/wallpaper.c:186 | |
155 | 155 | #, fuzzy |
156 | 156 | msgid "Allow Applications to Set Backgrounds?" |
157 | 157 | msgstr "Une application veut jouer du son." |
158 | 158 | |
159 | #: src/wallpaper.c:186 | |
159 | #: src/wallpaper.c:187 | |
160 | 160 | msgid "An application is requesting to be able to change the background image." |
161 | 161 | msgstr "" |
162 | 162 | |
163 | #: src/wallpaper.c:198 | |
163 | #: src/wallpaper.c:199 | |
164 | 164 | #, c-format |
165 | 165 | msgid "Allow %s to Set Backgrounds?" |
166 | 166 | msgstr "" |
167 | 167 | |
168 | #: src/wallpaper.c:199 | |
168 | #: src/wallpaper.c:200 | |
169 | 169 | #, c-format |
170 | 170 | msgid "%s is requesting to be able to change the background image." |
171 | 171 | msgstr "" |
172 | 172 | |
173 | #: src/wallpaper.c:202 | |
173 | #: src/wallpaper.c:203 | |
174 | 174 | #, fuzzy |
175 | 175 | msgid "This permission can be changed at any time from the privacy settings." |
176 | 176 | msgstr "" |
5 | 5 | msgstr "" |
6 | 6 | "Project-Id-Version: xdg-desktop-portal master\n" |
7 | 7 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
8 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
8 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
9 | 9 | "PO-Revision-Date: 2020-01-06 00:03+0100\n" |
10 | 10 | "Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n" |
11 | 11 | "Language-Team: Galician\n" |
43 | 43 | msgid "Don't allow" |
44 | 44 | msgstr "Non permitir" |
45 | 45 | |
46 | #: src/background.c:273 src/wallpaper.c:179 | |
46 | #: src/background.c:273 src/wallpaper.c:180 | |
47 | 47 | msgid "Allow" |
48 | 48 | msgstr "Permitir" |
49 | 49 | |
144 | 144 | msgid "Requested setting not found" |
145 | 145 | msgstr "Non se atopou a configuración solicitada" |
146 | 146 | |
147 | #: src/wallpaper.c:177 | |
147 | #: src/wallpaper.c:178 | |
148 | 148 | msgid "Deny" |
149 | 149 | msgstr "Denegar" |
150 | 150 | |
151 | #: src/wallpaper.c:185 | |
151 | #: src/wallpaper.c:186 | |
152 | 152 | msgid "Allow Applications to Set Backgrounds?" |
153 | 153 | msgstr "Permitirlle ás aplicacións configurar o fondo de pantalla?" |
154 | 154 | |
155 | #: src/wallpaper.c:186 | |
155 | #: src/wallpaper.c:187 | |
156 | 156 | msgid "An application is requesting to be able to change the background image." |
157 | 157 | msgstr "Unha aplicación está solicitando poder cambiar a imaxe de fondo" |
158 | 158 | |
159 | #: src/wallpaper.c:198 | |
159 | #: src/wallpaper.c:199 | |
160 | 160 | #, c-format |
161 | 161 | msgid "Allow %s to Set Backgrounds?" |
162 | 162 | msgstr "Permitirlle a %s configurar o fondo de pantalla?" |
163 | 163 | |
164 | #: src/wallpaper.c:199 | |
164 | #: src/wallpaper.c:200 | |
165 | 165 | #, c-format |
166 | 166 | msgid "%s is requesting to be able to change the background image." |
167 | 167 | msgstr "%s está solicitando poder cambiar o fondo de pantalla." |
168 | 168 | |
169 | #: src/wallpaper.c:202 | |
169 | #: src/wallpaper.c:203 | |
170 | 170 | msgid "This permission can be changed at any time from the privacy settings." |
171 | 171 | msgstr "" |
172 | 172 | "Este permiso pode cambiarse en calquera momento desde as preferencias de " |
5 | 5 | msgstr "" |
6 | 6 | "Project-Id-Version: xdg-desktop-portal master\n" |
7 | 7 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
8 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
8 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
9 | 9 | "PO-Revision-Date: 2020-01-25 16:44+0100\n" |
10 | 10 | "Last-Translator: Milo Ivir <mail@milotype.de>\n" |
11 | 11 | "Language-Team: \n" |
44 | 44 | msgid "Don't allow" |
45 | 45 | msgstr "Nemoj dozvoliti" |
46 | 46 | |
47 | #: src/background.c:273 src/wallpaper.c:179 | |
47 | #: src/background.c:273 src/wallpaper.c:180 | |
48 | 48 | msgid "Allow" |
49 | 49 | msgstr "Dozvoli" |
50 | 50 | |
142 | 142 | msgid "Requested setting not found" |
143 | 143 | msgstr "Zatražena postavka nije nađena" |
144 | 144 | |
145 | #: src/wallpaper.c:177 | |
145 | #: src/wallpaper.c:178 | |
146 | 146 | msgid "Deny" |
147 | 147 | msgstr "Zabrani" |
148 | 148 | |
149 | #: src/wallpaper.c:185 | |
149 | #: src/wallpaper.c:186 | |
150 | 150 | msgid "Allow Applications to Set Backgrounds?" |
151 | 151 | msgstr "Dozvoliti programu da postavi pozadine?" |
152 | 152 | |
153 | #: src/wallpaper.c:186 | |
153 | #: src/wallpaper.c:187 | |
154 | 154 | msgid "An application is requesting to be able to change the background image." |
155 | 155 | msgstr "Jedan program traži dozvolu za mijenjanje slike pozadine." |
156 | 156 | |
157 | #: src/wallpaper.c:198 | |
157 | #: src/wallpaper.c:199 | |
158 | 158 | #, c-format |
159 | 159 | msgid "Allow %s to Set Backgrounds?" |
160 | 160 | msgstr "Dozvoliti da %s postavi pozadine?" |
161 | 161 | |
162 | #: src/wallpaper.c:199 | |
162 | #: src/wallpaper.c:200 | |
163 | 163 | #, c-format |
164 | 164 | msgid "%s is requesting to be able to change the background image." |
165 | 165 | msgstr "%s traži dozvolu za mijenjanje slike pozadine." |
166 | 166 | |
167 | #: src/wallpaper.c:202 | |
167 | #: src/wallpaper.c:203 | |
168 | 168 | msgid "This permission can be changed at any time from the privacy settings." |
169 | 169 | msgstr "Ovu dozvolu je uvijek moguće promijeniti u postavkama privatnosti." |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2019-02-12 21:18+0100\n" |
11 | 11 | "Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n" |
12 | 12 | "Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n" |
45 | 45 | msgid "Don't allow" |
46 | 46 | msgstr "" |
47 | 47 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 49 | msgid "Allow" |
50 | 50 | msgstr "" |
51 | 51 | |
146 | 146 | msgid "Requested setting not found" |
147 | 147 | msgstr "A kért beállítás nem található" |
148 | 148 | |
149 | #: src/wallpaper.c:177 | |
149 | #: src/wallpaper.c:178 | |
150 | 150 | msgid "Deny" |
151 | 151 | msgstr "" |
152 | 152 | |
153 | #: src/wallpaper.c:185 | |
153 | #: src/wallpaper.c:186 | |
154 | 154 | #, fuzzy |
155 | 155 | msgid "Allow Applications to Set Backgrounds?" |
156 | 156 | msgstr "Egy alkalmazás hangot szeretne lejátszani." |
157 | 157 | |
158 | #: src/wallpaper.c:186 | |
158 | #: src/wallpaper.c:187 | |
159 | 159 | msgid "An application is requesting to be able to change the background image." |
160 | 160 | msgstr "" |
161 | 161 | |
162 | #: src/wallpaper.c:198 | |
162 | #: src/wallpaper.c:199 | |
163 | 163 | #, c-format |
164 | 164 | msgid "Allow %s to Set Backgrounds?" |
165 | 165 | msgstr "" |
166 | 166 | |
167 | #: src/wallpaper.c:199 | |
167 | #: src/wallpaper.c:200 | |
168 | 168 | #, c-format |
169 | 169 | msgid "%s is requesting to be able to change the background image." |
170 | 170 | msgstr "" |
171 | 171 | |
172 | #: src/wallpaper.c:202 | |
172 | #: src/wallpaper.c:203 | |
173 | 173 | #, fuzzy |
174 | 174 | msgid "This permission can be changed at any time from the privacy settings." |
175 | 175 | msgstr "" |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2020-01-26 17:23+0700\n" |
11 | 11 | "Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n" |
12 | 12 | "Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n" |
44 | 44 | msgid "Don't allow" |
45 | 45 | msgstr "Jangan izinkan" |
46 | 46 | |
47 | #: src/background.c:273 src/wallpaper.c:179 | |
47 | #: src/background.c:273 src/wallpaper.c:180 | |
48 | 48 | msgid "Allow" |
49 | 49 | msgstr "Izinkan" |
50 | 50 | |
140 | 140 | msgid "Requested setting not found" |
141 | 141 | msgstr "Pengaturan yang diminta tidak ditemukan" |
142 | 142 | |
143 | #: src/wallpaper.c:177 | |
143 | #: src/wallpaper.c:178 | |
144 | 144 | msgid "Deny" |
145 | 145 | msgstr "Tolak" |
146 | 146 | |
147 | #: src/wallpaper.c:185 | |
147 | #: src/wallpaper.c:186 | |
148 | 148 | msgid "Allow Applications to Set Backgrounds?" |
149 | 149 | msgstr "Izinkan Aplikasi untuk Mengatur Latar Belakang?" |
150 | 150 | |
151 | #: src/wallpaper.c:186 | |
151 | #: src/wallpaper.c:187 | |
152 | 152 | msgid "An application is requesting to be able to change the background image." |
153 | 153 | msgstr "Aplikasi meminta untuk dapat mengubah gambar latar belakang." |
154 | 154 | |
155 | #: src/wallpaper.c:198 | |
155 | #: src/wallpaper.c:199 | |
156 | 156 | #, c-format |
157 | 157 | msgid "Allow %s to Set Backgrounds?" |
158 | 158 | msgstr "Izinkan %s untuk Mengatur Latar Belakang?" |
159 | 159 | |
160 | #: src/wallpaper.c:199 | |
160 | #: src/wallpaper.c:200 | |
161 | 161 | #, c-format |
162 | 162 | msgid "%s is requesting to be able to change the background image." |
163 | 163 | msgstr "%s meminta untuk dapat mengubah gambar latar belakang." |
164 | 164 | |
165 | #: src/wallpaper.c:202 | |
165 | #: src/wallpaper.c:203 | |
166 | 166 | msgid "This permission can be changed at any time from the privacy settings." |
167 | 167 | msgstr "Izin ini dapat diubah kapan saja dari pengaturan privasi." |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2020-02-10 16:11+0100\n" |
11 | 11 | "Last-Translator: Milo Casagrande <milo@milo.name>\n" |
12 | 12 | "Language-Team: Italian <gnome-it-list@gnome.org>\n" |
46 | 46 | msgid "Don't allow" |
47 | 47 | msgstr "Non consentire" |
48 | 48 | |
49 | #: src/background.c:273 src/wallpaper.c:179 | |
49 | #: src/background.c:273 src/wallpaper.c:180 | |
50 | 50 | msgid "Allow" |
51 | 51 | msgstr "Consenti" |
52 | 52 | |
147 | 147 | msgid "Requested setting not found" |
148 | 148 | msgstr "La risorsa richiesta non è stata trovata" |
149 | 149 | |
150 | #: src/wallpaper.c:177 | |
150 | #: src/wallpaper.c:178 | |
151 | 151 | msgid "Deny" |
152 | 152 | msgstr "Nega" |
153 | 153 | |
154 | #: src/wallpaper.c:185 | |
154 | #: src/wallpaper.c:186 | |
155 | 155 | msgid "Allow Applications to Set Backgrounds?" |
156 | 156 | msgstr "Consentire alle applicazioni di impostare lo sfondo?" |
157 | 157 | |
158 | #: src/wallpaper.c:186 | |
158 | #: src/wallpaper.c:187 | |
159 | 159 | msgid "An application is requesting to be able to change the background image." |
160 | 160 | msgstr "Un'applicazione richiede di poter cambiare l'immagine di sfondo." |
161 | 161 | |
162 | #: src/wallpaper.c:198 | |
162 | #: src/wallpaper.c:199 | |
163 | 163 | #, c-format |
164 | 164 | msgid "Allow %s to Set Backgrounds?" |
165 | 165 | msgstr "Consentire a %s di impostare lo sfondo?" |
166 | 166 | |
167 | #: src/wallpaper.c:199 | |
167 | #: src/wallpaper.c:200 | |
168 | 168 | #, c-format |
169 | 169 | msgid "%s is requesting to be able to change the background image." |
170 | 170 | msgstr "L'applicazione %s richiede di poter cambiare l'immagine di sfondo." |
171 | 171 | |
172 | #: src/wallpaper.c:202 | |
172 | #: src/wallpaper.c:203 | |
173 | 173 | msgid "This permission can be changed at any time from the privacy settings." |
174 | 174 | msgstr "" |
175 | 175 | "Questa impostazione può essere modificata in qualsiasi momento attraverso le " |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2020-03-07 20:26+0200\n" |
11 | 11 | "Last-Translator: Moo\n" |
12 | 12 | "Language-Team: Lithuanian <gnome-lt@lists.akl.lt>\n" |
45 | 45 | msgid "Don't allow" |
46 | 46 | msgstr "Neleisti" |
47 | 47 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 49 | msgid "Allow" |
50 | 50 | msgstr "Leisti" |
51 | 51 | |
146 | 146 | msgid "Requested setting not found" |
147 | 147 | msgstr "Užklaustas nustatymas nerastas" |
148 | 148 | |
149 | #: src/wallpaper.c:177 | |
149 | #: src/wallpaper.c:178 | |
150 | 150 | msgid "Deny" |
151 | 151 | msgstr "Drausti" |
152 | 152 | |
153 | #: src/wallpaper.c:185 | |
153 | #: src/wallpaper.c:186 | |
154 | 154 | msgid "Allow Applications to Set Backgrounds?" |
155 | 155 | msgstr "Leisti programoms nustatyti fonus?" |
156 | 156 | |
157 | #: src/wallpaper.c:186 | |
157 | #: src/wallpaper.c:187 | |
158 | 158 | msgid "An application is requesting to be able to change the background image." |
159 | 159 | msgstr "Programa prašo galimybės keisti fono paveikslą." |
160 | 160 | |
161 | #: src/wallpaper.c:198 | |
161 | #: src/wallpaper.c:199 | |
162 | 162 | #, c-format |
163 | 163 | msgid "Allow %s to Set Backgrounds?" |
164 | 164 | msgstr "Leisti %s nustatyti fonus?" |
165 | 165 | |
166 | #: src/wallpaper.c:199 | |
166 | #: src/wallpaper.c:200 | |
167 | 167 | #, c-format |
168 | 168 | msgid "%s is requesting to be able to change the background image." |
169 | 169 | msgstr "%s prašo galimybės keisti fono paveikslą." |
170 | 170 | |
171 | #: src/wallpaper.c:202 | |
171 | #: src/wallpaper.c:203 | |
172 | 172 | msgid "This permission can be changed at any time from the privacy settings." |
173 | 173 | msgstr "" |
174 | 174 | "Šis leidimas bet kuriuo metu gali būti pakeistas privatumo nustatymuose." |
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: xdg-desktop-portal\n" |
9 | 9 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
10 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
10 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
11 | 11 | "PO-Revision-Date: 2019-10-24 16:30+0200\n" |
12 | 12 | "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" |
13 | 13 | "Language-Team: Polish <community-poland@mozilla.org>\n" |
45 | 45 | msgid "Don't allow" |
46 | 46 | msgstr "Nie zezwalaj" |
47 | 47 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 49 | msgid "Allow" |
50 | 50 | msgstr "Zezwól" |
51 | 51 | |
142 | 142 | msgid "Requested setting not found" |
143 | 143 | msgstr "Nie odnaleziono żądanego ustawienia" |
144 | 144 | |
145 | #: src/wallpaper.c:177 | |
145 | #: src/wallpaper.c:178 | |
146 | 146 | msgid "Deny" |
147 | 147 | msgstr "Odmów" |
148 | 148 | |
149 | #: src/wallpaper.c:185 | |
149 | #: src/wallpaper.c:186 | |
150 | 150 | msgid "Allow Applications to Set Backgrounds?" |
151 | 151 | msgstr "Pozwolić programowi na ustawianie tła?" |
152 | 152 | |
153 | #: src/wallpaper.c:186 | |
153 | #: src/wallpaper.c:187 | |
154 | 154 | msgid "An application is requesting to be able to change the background image." |
155 | 155 | msgstr "Program potrzebuje mieć możliwość zmiany obrazu tła." |
156 | 156 | |
157 | #: src/wallpaper.c:198 | |
157 | #: src/wallpaper.c:199 | |
158 | 158 | #, c-format |
159 | 159 | msgid "Allow %s to Set Backgrounds?" |
160 | 160 | msgstr "Pozwolić programowi „%s” na ustawianie tła?" |
161 | 161 | |
162 | #: src/wallpaper.c:199 | |
162 | #: src/wallpaper.c:200 | |
163 | 163 | #, c-format |
164 | 164 | msgid "%s is requesting to be able to change the background image." |
165 | 165 | msgstr "Program „%s” potrzebuje mieć możliwość zmiany obrazu tła." |
166 | 166 | |
167 | #: src/wallpaper.c:202 | |
167 | #: src/wallpaper.c:203 | |
168 | 168 | msgid "This permission can be changed at any time from the privacy settings." |
169 | 169 | msgstr "" |
170 | 170 | "To uprawnienie można zmienić w każdej chwili w ustawieniach prywatności." |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2019-11-24 22:29-0300\n" |
11 | 11 | "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" |
12 | 12 | "Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n" |
44 | 44 | msgid "Don't allow" |
45 | 45 | msgstr "Não permitir" |
46 | 46 | |
47 | #: src/background.c:273 src/wallpaper.c:179 | |
47 | #: src/background.c:273 src/wallpaper.c:180 | |
48 | 48 | msgid "Allow" |
49 | 49 | msgstr "Permitir" |
50 | 50 | |
145 | 145 | msgid "Requested setting not found" |
146 | 146 | msgstr "A configuração requisitada não foi encontrada" |
147 | 147 | |
148 | #: src/wallpaper.c:177 | |
148 | #: src/wallpaper.c:178 | |
149 | 149 | msgid "Deny" |
150 | 150 | msgstr "Negar" |
151 | 151 | |
152 | #: src/wallpaper.c:185 | |
152 | #: src/wallpaper.c:186 | |
153 | 153 | msgid "Allow Applications to Set Backgrounds?" |
154 | 154 | msgstr "Permitir que aplicativos definam planos de fundo?" |
155 | 155 | |
156 | #: src/wallpaper.c:186 | |
156 | #: src/wallpaper.c:187 | |
157 | 157 | msgid "An application is requesting to be able to change the background image." |
158 | 158 | msgstr "" |
159 | 159 | "Um aplicativo está solicitando a capacidade de alterar a imagem de plano de " |
160 | 160 | "fundo." |
161 | 161 | |
162 | #: src/wallpaper.c:198 | |
162 | #: src/wallpaper.c:199 | |
163 | 163 | #, c-format |
164 | 164 | msgid "Allow %s to Set Backgrounds?" |
165 | 165 | msgstr "Permitir que %s defina planos de fundo?" |
166 | 166 | |
167 | #: src/wallpaper.c:199 | |
167 | #: src/wallpaper.c:200 | |
168 | 168 | #, c-format |
169 | 169 | msgid "%s is requesting to be able to change the background image." |
170 | 170 | msgstr "" |
171 | 171 | "%s está solicitando a capacidade de alterar a imagem de plano de fundo." |
172 | 172 | |
173 | #: src/wallpaper.c:202 | |
173 | #: src/wallpaper.c:203 | |
174 | 174 | msgid "This permission can be changed at any time from the privacy settings." |
175 | 175 | msgstr "" |
176 | 176 | "Essa permissão pode ser alterada a qualquer momento a partir das " |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2020-04-04 06:13+0300\n" |
11 | 11 | "Last-Translator: Артемий Судаков <finziyr@yandex.ru>\n" |
12 | 12 | "Language-Team: Russian <gnome-cyr@gnome.org>\n" |
45 | 45 | msgid "Don't allow" |
46 | 46 | msgstr "Запретить" |
47 | 47 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 49 | msgid "Allow" |
50 | 50 | msgstr "Разрешить" |
51 | 51 | |
146 | 146 | msgid "Requested setting not found" |
147 | 147 | msgstr "Запрашиваемая настройка не найдена" |
148 | 148 | |
149 | #: src/wallpaper.c:177 | |
149 | #: src/wallpaper.c:178 | |
150 | 150 | msgid "Deny" |
151 | 151 | msgstr "Отклонить" |
152 | 152 | |
153 | #: src/wallpaper.c:185 | |
153 | #: src/wallpaper.c:186 | |
154 | 154 | msgid "Allow Applications to Set Backgrounds?" |
155 | 155 | msgstr "Разрешить приложению работать в фоне?" |
156 | 156 | |
157 | #: src/wallpaper.c:186 | |
157 | #: src/wallpaper.c:187 | |
158 | 158 | msgid "An application is requesting to be able to change the background image." |
159 | 159 | msgstr "" |
160 | 160 | "Приложение запрашивает доступ к возможности изменять изображения рабочего " |
161 | 161 | "стола" |
162 | 162 | |
163 | #: src/wallpaper.c:198 | |
163 | #: src/wallpaper.c:199 | |
164 | 164 | #, c-format |
165 | 165 | msgid "Allow %s to Set Backgrounds?" |
166 | 166 | msgstr "Разрешить %s изменять изображение на рабочем столе?" |
167 | 167 | |
168 | #: src/wallpaper.c:199 | |
168 | #: src/wallpaper.c:200 | |
169 | 169 | #, c-format |
170 | 170 | msgid "%s is requesting to be able to change the background image." |
171 | 171 | msgstr "" |
172 | 172 | "%s запрашивает доступ к возможности изменять изображение рабочего стола." |
173 | 173 | |
174 | #: src/wallpaper.c:202 | |
174 | #: src/wallpaper.c:203 | |
175 | 175 | msgid "This permission can be changed at any time from the privacy settings." |
176 | 176 | msgstr "" |
177 | 177 | "Это разрешение может быть изменено в любое время из меню настроек " |
0 | 0 | # Slovak translation for xdg-desktop-portal. |
1 | 1 | # Copyright (C) 2016 xdg-desktop-portal's COPYRIGHT HOLDER |
2 | 2 | # This file is distributed under the same license as the xdg-desktop-portal package. |
3 | # Dušan Kazik <prescott66@gmail.com>, 2016. | |
3 | # Dušan Kazik <prescott66@gmail.com>, 2016-2020. | |
4 | 4 | # |
5 | 5 | msgid "" |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
10 | "PO-Revision-Date: 2016-08-08 09:14+0200\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | "PO-Revision-Date: 2020-09-22 14:32+0200\n" | |
11 | 11 | "Last-Translator: Dušan Kazik <prescott66@gmail.com>\n" |
12 | 12 | "Language-Team: Slovak <gnome-sk-list@gnome.org>\n" |
13 | 13 | "Language: sk\n" |
15 | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
16 | 16 | "Content-Transfer-Encoding: 8bit\n" |
17 | 17 | "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" |
18 | "X-Generator: Poedit 1.8.8\n" | |
18 | "X-Generator: Poedit 2.4.1\n" | |
19 | 19 | |
20 | 20 | #: src/background.c:260 |
21 | 21 | #, c-format |
22 | 22 | msgid "Allow %s to run in the background?" |
23 | msgstr "" | |
23 | msgstr "Umožniť aplikácii %s spustenie na pozadí?" | |
24 | 24 | |
25 | 25 | #: src/background.c:264 |
26 | 26 | #, c-format |
27 | 27 | msgid "%s requests to be started automatically and run in the background." |
28 | msgstr "" | |
28 | msgstr "Aplikácia %s požaduje automatické spustenie a beh na pozadí." | |
29 | 29 | |
30 | 30 | #: src/background.c:266 |
31 | 31 | #, c-format |
32 | 32 | msgid "%s requests to run in the background." |
33 | msgstr "" | |
33 | msgstr "Aplikácia %s požaduje spustenie na pozadí." | |
34 | 34 | |
35 | 35 | #: src/background.c:267 |
36 | #, fuzzy | |
37 | 36 | msgid "" |
38 | 37 | "The ‘run in background’ permission can be changed at any time from the " |
39 | 38 | "application settings." |
40 | 39 | msgstr "" |
41 | "Prístup k vašim reproduktorom môže byť kedykoľvek zmenený z nastavení " | |
42 | "súkromia." | |
40 | "Oprávnenie „spustenie na pozadí“ môže byť kedykoľvek zmenené z nastavení " | |
41 | "aplikácií." | |
43 | 42 | |
44 | 43 | #: src/background.c:272 |
45 | 44 | msgid "Don't allow" |
46 | msgstr "" | |
45 | msgstr "Nepovoliť" | |
47 | 46 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
47 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 48 | msgid "Allow" |
50 | msgstr "" | |
49 | msgstr "Povoliť" | |
51 | 50 | |
52 | 51 | #: src/device.c:115 |
53 | 52 | msgid "Turn On Microphone?" |
110 | 109 | |
111 | 110 | #: src/location.c:526 |
112 | 111 | msgid "Deny Access" |
113 | msgstr "" | |
112 | msgstr "Zamietnuť prístup" | |
114 | 113 | |
115 | 114 | #: src/location.c:528 |
116 | 115 | msgid "Grant Access" |
117 | msgstr "" | |
116 | msgstr "Udeliť prístup" | |
118 | 117 | |
119 | 118 | #: src/location.c:534 |
120 | 119 | msgid "Grant Access to Your Location?" |
121 | msgstr "" | |
120 | msgstr "Udeliť prístup k vašej polohe?" | |
122 | 121 | |
123 | 122 | #: src/location.c:535 |
124 | #, fuzzy | |
125 | 123 | msgid "An application wants to use your location." |
126 | msgstr "Aplikácia sa pokúša použiť vašu kameru." | |
124 | msgstr "Aplikácia sa pokúša použiť vašu polohu." | |
127 | 125 | |
128 | 126 | #: src/location.c:547 |
129 | 127 | #, c-format |
130 | 128 | msgid "Give %s Access to Your Location?" |
131 | msgstr "" | |
129 | msgstr "Umožniť aplikácii %s prístup k vašej polohe?" | |
132 | 130 | |
133 | 131 | #: src/location.c:551 |
134 | #, fuzzy, c-format | |
132 | #, c-format | |
135 | 133 | msgid "%s wants to use your location." |
136 | msgstr "Aplikácia %s sa pokúša použiť vašu kameru." | |
134 | msgstr "Aplikácia %s sa pokúša použiť vašu polohu." | |
137 | 135 | |
138 | 136 | #: src/location.c:554 |
139 | #, fuzzy | |
140 | 137 | msgid "Location access can be changed at any time from the privacy settings." |
141 | 138 | msgstr "" |
142 | "Prístup k vašim reproduktorom môže byť kedykoľvek zmenený z nastavení " | |
143 | "súkromia." | |
139 | "Prístup k vašej polohe môže byť kedykoľvek zmenený z nastavení súkromia." | |
144 | 140 | |
145 | 141 | #: src/settings.c:124 |
146 | 142 | msgid "Requested setting not found" |
147 | msgstr "" | |
143 | msgstr "Požadované nastavenie sa nenašlo" | |
148 | 144 | |
149 | #: src/wallpaper.c:177 | |
145 | #: src/wallpaper.c:178 | |
150 | 146 | msgid "Deny" |
151 | msgstr "" | |
152 | ||
153 | #: src/wallpaper.c:185 | |
154 | #, fuzzy | |
155 | msgid "Allow Applications to Set Backgrounds?" | |
156 | msgstr "Aplikácia sa pokúša prehrať zvuk." | |
147 | msgstr "Odmietnuť" | |
157 | 148 | |
158 | 149 | #: src/wallpaper.c:186 |
150 | msgid "Allow Applications to Set Backgrounds?" | |
151 | msgstr "Umožniť aplikáciám nastavovať pozadia?" | |
152 | ||
153 | #: src/wallpaper.c:187 | |
159 | 154 | msgid "An application is requesting to be able to change the background image." |
160 | msgstr "" | |
161 | ||
162 | #: src/wallpaper.c:198 | |
163 | #, c-format | |
164 | msgid "Allow %s to Set Backgrounds?" | |
165 | msgstr "" | |
155 | msgstr "Aplikácia požaduje povolenie na zmenu obrázku pozadia." | |
166 | 156 | |
167 | 157 | #: src/wallpaper.c:199 |
168 | 158 | #, c-format |
159 | msgid "Allow %s to Set Backgrounds?" | |
160 | msgstr "Umožniť aplikácii %s nastavovať pozadia?" | |
161 | ||
162 | #: src/wallpaper.c:200 | |
163 | #, c-format | |
169 | 164 | msgid "%s is requesting to be able to change the background image." |
170 | msgstr "" | |
165 | msgstr "Aplikácia %s požaduje povolenie na zmenu obrázku pozadia." | |
171 | 166 | |
172 | #: src/wallpaper.c:202 | |
173 | #, fuzzy | |
167 | #: src/wallpaper.c:203 | |
174 | 168 | msgid "This permission can be changed at any time from the privacy settings." |
175 | msgstr "" | |
176 | "Prístup k vašim reproduktorom môže byť kedykoľvek zmenený z nastavení " | |
177 | "súkromia." | |
169 | msgstr "Toto oprávnenie môže byť kedykoľvek zmenené z nastavení súkromia." |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2016-09-14 12:54+0200\n" |
11 | 11 | "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" |
12 | 12 | "Language-Team: српски <gnome-sr@googlegroups.org>\n" |
45 | 45 | msgid "Don't allow" |
46 | 46 | msgstr "" |
47 | 47 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 49 | msgid "Allow" |
50 | 50 | msgstr "" |
51 | 51 | |
148 | 148 | msgid "Requested setting not found" |
149 | 149 | msgstr "" |
150 | 150 | |
151 | #: src/wallpaper.c:177 | |
151 | #: src/wallpaper.c:178 | |
152 | 152 | msgid "Deny" |
153 | 153 | msgstr "" |
154 | 154 | |
155 | #: src/wallpaper.c:185 | |
155 | #: src/wallpaper.c:186 | |
156 | 156 | #, fuzzy |
157 | 157 | msgid "Allow Applications to Set Backgrounds?" |
158 | 158 | msgstr "Један програм жели да пусти звук." |
159 | 159 | |
160 | #: src/wallpaper.c:186 | |
160 | #: src/wallpaper.c:187 | |
161 | 161 | msgid "An application is requesting to be able to change the background image." |
162 | 162 | msgstr "" |
163 | 163 | |
164 | #: src/wallpaper.c:198 | |
164 | #: src/wallpaper.c:199 | |
165 | 165 | #, c-format |
166 | 166 | msgid "Allow %s to Set Backgrounds?" |
167 | 167 | msgstr "" |
168 | 168 | |
169 | #: src/wallpaper.c:199 | |
169 | #: src/wallpaper.c:200 | |
170 | 170 | #, c-format |
171 | 171 | msgid "%s is requesting to be able to change the background image." |
172 | 172 | msgstr "" |
173 | 173 | |
174 | #: src/wallpaper.c:202 | |
174 | #: src/wallpaper.c:203 | |
175 | 175 | #, fuzzy |
176 | 176 | msgid "This permission can be changed at any time from the privacy settings." |
177 | 177 | msgstr "" |
0 | 0 | # Swedish translation for xdg-desktop-portal. |
1 | # Copyright © 2016 xdg-desktop-portal's COPYRIGHT HOLDER | |
1 | # Copyright © 2016, 2020 xdg-desktop-portal's COPYRIGHT HOLDER | |
2 | 2 | # This file is distributed under the same license as the xdg-desktop-portal package. |
3 | 3 | # Sebastian Rasmussen <sebras@gmail.com>, 2016. |
4 | # Anders Jonsson <anders.jonsson@norsjovallen.se>, 2020. | |
4 | 5 | # |
5 | 6 | msgid "" |
6 | 7 | msgstr "" |
7 | 8 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 9 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
10 | "PO-Revision-Date: 2016-08-14 13:43+0800\n" | |
11 | "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n" | |
10 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
11 | "PO-Revision-Date: 2020-09-20 00:11+0200\n" | |
12 | "Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n" | |
12 | 13 | "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" |
13 | 14 | "Language: sv\n" |
14 | 15 | "MIME-Version: 1.0\n" |
15 | 16 | "Content-Type: text/plain; charset=UTF-8\n" |
16 | 17 | "Content-Transfer-Encoding: 8bit\n" |
17 | 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" |
18 | "X-Generator: Poedit 1.8.8\n" | |
19 | "X-Generator: Poedit 2.4.1\n" | |
19 | 20 | |
20 | 21 | #: src/background.c:260 |
21 | 22 | #, c-format |
22 | 23 | msgid "Allow %s to run in the background?" |
23 | msgstr "" | |
24 | msgstr "Tillåt %s att köra i bakgrunden?" | |
24 | 25 | |
25 | 26 | #: src/background.c:264 |
26 | 27 | #, c-format |
27 | 28 | msgid "%s requests to be started automatically and run in the background." |
28 | msgstr "" | |
29 | msgstr "%s begär att startas automatiskt och köras i bakgrunden." | |
29 | 30 | |
30 | 31 | #: src/background.c:266 |
31 | 32 | #, c-format |
32 | 33 | msgid "%s requests to run in the background." |
33 | msgstr "" | |
34 | msgstr "%s begär att köras i bakgrunden." | |
34 | 35 | |
35 | 36 | #: src/background.c:267 |
36 | #, fuzzy | |
37 | 37 | msgid "" |
38 | 38 | "The ‘run in background’ permission can be changed at any time from the " |
39 | 39 | "application settings." |
40 | 40 | msgstr "" |
41 | "Tillgång till dina högtalare kan ändras när som helst från " | |
42 | "sekretessinställningarna." | |
41 | "Rättigheten ”kör i bakgrund” kan ändras när som helst från " | |
42 | "programinställningarna." | |
43 | 43 | |
44 | 44 | #: src/background.c:272 |
45 | 45 | msgid "Don't allow" |
46 | msgstr "" | |
46 | msgstr "Tillåt inte" | |
47 | 47 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 49 | msgid "Allow" |
50 | msgstr "" | |
50 | msgstr "Tillåt" | |
51 | 51 | |
52 | 52 | #: src/device.c:115 |
53 | 53 | msgid "Turn On Microphone?" |
112 | 112 | |
113 | 113 | #: src/location.c:526 |
114 | 114 | msgid "Deny Access" |
115 | msgstr "" | |
115 | msgstr "Neka åtkomst" | |
116 | 116 | |
117 | 117 | #: src/location.c:528 |
118 | 118 | msgid "Grant Access" |
119 | msgstr "" | |
119 | msgstr "Bevilja åtkomst" | |
120 | 120 | |
121 | 121 | #: src/location.c:534 |
122 | 122 | msgid "Grant Access to Your Location?" |
123 | msgstr "" | |
123 | msgstr "Bevilja åtkomst till din plats?" | |
124 | 124 | |
125 | 125 | #: src/location.c:535 |
126 | #, fuzzy | |
127 | 126 | msgid "An application wants to use your location." |
128 | msgstr "Ett program vill använda din kamera." | |
127 | msgstr "Ett program vill använda din plats." | |
129 | 128 | |
130 | 129 | #: src/location.c:547 |
131 | 130 | #, c-format |
132 | 131 | msgid "Give %s Access to Your Location?" |
133 | msgstr "" | |
132 | msgstr "Ge %s åtkomst till din plats?" | |
134 | 133 | |
135 | 134 | #: src/location.c:551 |
136 | #, fuzzy, c-format | |
135 | #, c-format | |
137 | 136 | msgid "%s wants to use your location." |
138 | msgstr "%s vill använda din kamera." | |
137 | msgstr "%s vill använda din plats." | |
139 | 138 | |
140 | 139 | #: src/location.c:554 |
141 | #, fuzzy | |
142 | 140 | msgid "Location access can be changed at any time from the privacy settings." |
143 | msgstr "" | |
144 | "Tillgång till dina högtalare kan ändras när som helst från " | |
145 | "sekretessinställningarna." | |
141 | msgstr "Platsåtkomst kan ändras när som helst från sekretessinställningarna." | |
146 | 142 | |
147 | 143 | #: src/settings.c:124 |
148 | 144 | msgid "Requested setting not found" |
149 | msgstr "" | |
145 | msgstr "Begärd inställning hittades inte" | |
150 | 146 | |
151 | #: src/wallpaper.c:177 | |
147 | #: src/wallpaper.c:178 | |
152 | 148 | msgid "Deny" |
153 | msgstr "" | |
154 | ||
155 | #: src/wallpaper.c:185 | |
156 | #, fuzzy | |
157 | msgid "Allow Applications to Set Backgrounds?" | |
158 | msgstr "Ett program vill spela upp ljud." | |
149 | msgstr "Neka" | |
159 | 150 | |
160 | 151 | #: src/wallpaper.c:186 |
152 | msgid "Allow Applications to Set Backgrounds?" | |
153 | msgstr "Tillåt program att ställa in bakgrunder?" | |
154 | ||
155 | #: src/wallpaper.c:187 | |
161 | 156 | msgid "An application is requesting to be able to change the background image." |
162 | msgstr "" | |
163 | ||
164 | #: src/wallpaper.c:198 | |
165 | #, c-format | |
166 | msgid "Allow %s to Set Backgrounds?" | |
167 | msgstr "" | |
157 | msgstr "Ett program begär att kunna ändra bakgrundsbilden." | |
168 | 158 | |
169 | 159 | #: src/wallpaper.c:199 |
170 | 160 | #, c-format |
161 | msgid "Allow %s to Set Backgrounds?" | |
162 | msgstr "Tillåt %s att ställa in bakgrunder?" | |
163 | ||
164 | #: src/wallpaper.c:200 | |
165 | #, c-format | |
171 | 166 | msgid "%s is requesting to be able to change the background image." |
172 | msgstr "" | |
167 | msgstr "%s begär att kunna ändra bakgrundsbilden." | |
173 | 168 | |
174 | #: src/wallpaper.c:202 | |
175 | #, fuzzy | |
169 | #: src/wallpaper.c:203 | |
176 | 170 | msgid "This permission can be changed at any time from the privacy settings." |
177 | 171 | msgstr "" |
178 | "Tillgång till dina högtalare kan ändras när som helst från " | |
179 | "sekretessinställningarna." | |
172 | "Denna rättighet kan ändras när som helst från sekretessinställningarna." |
10 | 10 | msgstr "" |
11 | 11 | "Project-Id-Version: xdg-desktop-portal master\n" |
12 | 12 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
13 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
13 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
14 | 14 | "PO-Revision-Date: 2020-02-27 21:57+0300\n" |
15 | 15 | "Last-Translator: Sabri Ünal <libreajans@gmail.com>\n" |
16 | 16 | "Language-Team: Türkçe <gnome-turk@gnome.org>\n" |
48 | 48 | msgid "Don't allow" |
49 | 49 | msgstr "İzin verme" |
50 | 50 | |
51 | #: src/background.c:273 src/wallpaper.c:179 | |
51 | #: src/background.c:273 src/wallpaper.c:180 | |
52 | 52 | msgid "Allow" |
53 | 53 | msgstr "İzin ver" |
54 | 54 | |
148 | 148 | msgid "Requested setting not found" |
149 | 149 | msgstr "İstenen ayar bulunamadı" |
150 | 150 | |
151 | #: src/wallpaper.c:177 | |
151 | #: src/wallpaper.c:178 | |
152 | 152 | msgid "Deny" |
153 | 153 | msgstr "Reddet" |
154 | 154 | |
155 | #: src/wallpaper.c:185 | |
155 | #: src/wallpaper.c:186 | |
156 | 156 | msgid "Allow Applications to Set Backgrounds?" |
157 | 157 | msgstr "Uygulamaların Arka Planı Belirlemesine İzin Verilsin Mi?" |
158 | 158 | |
159 | #: src/wallpaper.c:186 | |
159 | #: src/wallpaper.c:187 | |
160 | 160 | msgid "An application is requesting to be able to change the background image." |
161 | 161 | msgstr "Bir uygulama arka planı değiştirme yetkisi istiyor." |
162 | 162 | |
163 | #: src/wallpaper.c:198 | |
163 | #: src/wallpaper.c:199 | |
164 | 164 | #, c-format |
165 | 165 | msgid "Allow %s to Set Backgrounds?" |
166 | 166 | msgstr "%s, Arka Planı Belirlemesine İzin Verilsin Mi?" |
167 | 167 | |
168 | #: src/wallpaper.c:199 | |
168 | #: src/wallpaper.c:200 | |
169 | 169 | #, c-format |
170 | 170 | msgid "%s is requesting to be able to change the background image." |
171 | 171 | msgstr "%s, arka planı değiştirme yetkisi istiyor." |
172 | 172 | |
173 | #: src/wallpaper.c:202 | |
173 | #: src/wallpaper.c:203 | |
174 | 174 | msgid "This permission can be changed at any time from the privacy settings." |
175 | 175 | msgstr "Bu izin, gizlilik ayarlarından istediğiniz zaman değiştirilebilir." |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2019-11-10 13:03+0200\n" |
11 | 11 | "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" |
12 | 12 | "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n" |
45 | 45 | msgid "Don't allow" |
46 | 46 | msgstr "Не дозволяти" |
47 | 47 | |
48 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
49 | 49 | msgid "Allow" |
50 | 50 | msgstr "Дозволити" |
51 | 51 | |
148 | 148 | msgid "Requested setting not found" |
149 | 149 | msgstr "Потрібного вам параметра не знайдено" |
150 | 150 | |
151 | #: src/wallpaper.c:177 | |
151 | #: src/wallpaper.c:178 | |
152 | 152 | msgid "Deny" |
153 | 153 | msgstr "Заборонити" |
154 | 154 | |
155 | #: src/wallpaper.c:185 | |
155 | #: src/wallpaper.c:186 | |
156 | 156 | msgid "Allow Applications to Set Backgrounds?" |
157 | 157 | msgstr "Дозволити програмам встановлювати фонове зображення?" |
158 | 158 | |
159 | #: src/wallpaper.c:186 | |
159 | #: src/wallpaper.c:187 | |
160 | 160 | msgid "An application is requesting to be able to change the background image." |
161 | 161 | msgstr "Програмою надіслано запит щодо доступу до зміни фонового зображення." |
162 | 162 | |
163 | #: src/wallpaper.c:198 | |
163 | #: src/wallpaper.c:199 | |
164 | 164 | #, c-format |
165 | 165 | msgid "Allow %s to Set Backgrounds?" |
166 | 166 | msgstr "Дозволити %s встановлювати фонове зображення?" |
167 | 167 | |
168 | #: src/wallpaper.c:199 | |
168 | #: src/wallpaper.c:200 | |
169 | 169 | #, c-format |
170 | 170 | msgid "%s is requesting to be able to change the background image." |
171 | 171 | msgstr "%s надіслано запит щодо доступу до зміни фонового зображення." |
172 | 172 | |
173 | #: src/wallpaper.c:202 | |
173 | #: src/wallpaper.c:203 | |
174 | 174 | msgid "This permission can be changed at any time from the privacy settings." |
175 | 175 | msgstr "" |
176 | 176 | "Параметри цього доступу може бути будь-коли змінено за допомогою налаштувань " |
5 | 5 | #, fuzzy |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | "Project-Id-Version: xdg-desktop-portal 1.8.0\n" | |
8 | "Project-Id-Version: xdg-desktop-portal 1.8.1\n" | |
9 | 9 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
10 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
10 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
11 | 11 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
12 | 12 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
13 | 13 | "Language-Team: LANGUAGE <LL@li.org>\n" |
41 | 41 | msgid "Don't allow" |
42 | 42 | msgstr "" |
43 | 43 | |
44 | #: src/background.c:273 src/wallpaper.c:179 | |
44 | #: src/background.c:273 src/wallpaper.c:180 | |
45 | 45 | msgid "Allow" |
46 | 46 | msgstr "" |
47 | 47 | |
134 | 134 | msgid "Requested setting not found" |
135 | 135 | msgstr "" |
136 | 136 | |
137 | #: src/wallpaper.c:177 | |
137 | #: src/wallpaper.c:178 | |
138 | 138 | msgid "Deny" |
139 | 139 | msgstr "" |
140 | 140 | |
141 | #: src/wallpaper.c:185 | |
141 | #: src/wallpaper.c:186 | |
142 | 142 | msgid "Allow Applications to Set Backgrounds?" |
143 | 143 | msgstr "" |
144 | 144 | |
145 | #: src/wallpaper.c:186 | |
145 | #: src/wallpaper.c:187 | |
146 | 146 | msgid "An application is requesting to be able to change the background image." |
147 | 147 | msgstr "" |
148 | 148 | |
149 | #: src/wallpaper.c:198 | |
149 | #: src/wallpaper.c:199 | |
150 | 150 | #, c-format |
151 | 151 | msgid "Allow %s to Set Backgrounds?" |
152 | 152 | msgstr "" |
153 | 153 | |
154 | #: src/wallpaper.c:199 | |
154 | #: src/wallpaper.c:200 | |
155 | 155 | #, c-format |
156 | 156 | msgid "%s is requesting to be able to change the background image." |
157 | 157 | msgstr "" |
158 | 158 | |
159 | #: src/wallpaper.c:202 | |
159 | #: src/wallpaper.c:203 | |
160 | 160 | msgid "This permission can be changed at any time from the privacy settings." |
161 | 161 | msgstr "" |
Binary diff not shown
2 | 2 | # This file is distributed under the same license as the xdg-desktop-portal package. |
3 | 3 | # Mingye Wang <arthur2e5@aosc.xyz>, 2016. |
4 | 4 | # 王滋涵 Zephyr Waitzman <i@wi24rd.ml>, 2019. |
5 | # lumingzh <lumingzh@qq.com>, 2020. | |
6 | # Dingzhong Chen <wsxy162@gmail.com>, 2020. | |
5 | 7 | # |
6 | 8 | msgid "" |
7 | 9 | msgstr "" |
8 | 10 | "Project-Id-Version: xdg-desktop-portal master\n" |
9 | 11 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
10 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
11 | "PO-Revision-Date: 2019-05-03 01:33+0800\n" | |
12 | "Last-Translator: 王滋涵 Zephyr Waitzman <i@wi24rd.ml>\n" | |
13 | "Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n" | |
12 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
13 | "PO-Revision-Date: 2020-10-09 00:19+0800\n" | |
14 | "Last-Translator: Dingzhong Chen <wsxy162@gmail.com>\n" | |
15 | "Language-Team: Chinese - China <i18n-zh@googlegroups.com>\n" | |
14 | 16 | "Language: zh_CN\n" |
15 | 17 | "MIME-Version: 1.0\n" |
16 | 18 | "Content-Type: text/plain; charset=UTF-8\n" |
17 | 19 | "Content-Transfer-Encoding: 8bit\n" |
18 | "X-Generator: Poedit 2.2.1\n" | |
20 | "X-Generator: Gtranslator 3.36.0\n" | |
21 | "Plural-Forms: nplurals=1; plural=0\n" | |
19 | 22 | |
20 | 23 | #: src/background.c:260 |
21 | 24 | #, c-format |
22 | 25 | msgid "Allow %s to run in the background?" |
23 | msgstr "" | |
26 | msgstr "允许 %s 在后台运行吗?" | |
24 | 27 | |
25 | 28 | #: src/background.c:264 |
26 | 29 | #, c-format |
27 | 30 | msgid "%s requests to be started automatically and run in the background." |
28 | msgstr "" | |
31 | msgstr "%s 请求自动启动并在后台运行。" | |
29 | 32 | |
30 | 33 | #: src/background.c:266 |
31 | 34 | #, c-format |
32 | 35 | msgid "%s requests to run in the background." |
33 | msgstr "" | |
36 | msgstr "%s 请求在后台运行。" | |
34 | 37 | |
35 | 38 | #: src/background.c:267 |
36 | #, fuzzy | |
37 | 39 | msgid "" |
38 | 40 | "The ‘run in background’ permission can be changed at any time from the " |
39 | 41 | "application settings." |
40 | msgstr "您可随时在隐私设置中调整位置信息的访问权限。" | |
42 | msgstr "您可随时在应用设置中修改“后台运行”的权限。" | |
41 | 43 | |
42 | 44 | #: src/background.c:272 |
43 | 45 | msgid "Don't allow" |
44 | msgstr "" | |
46 | msgstr "禁止" | |
45 | 47 | |
46 | #: src/background.c:273 src/wallpaper.c:179 | |
48 | #: src/background.c:273 src/wallpaper.c:180 | |
47 | 49 | msgid "Allow" |
48 | msgstr "" | |
50 | msgstr "允许" | |
49 | 51 | |
50 | 52 | #: src/device.c:115 |
51 | 53 | msgid "Turn On Microphone?" |
55 | 57 | msgid "" |
56 | 58 | "Access to your microphone can be changed at any time from the privacy " |
57 | 59 | "settings." |
58 | msgstr "您可随时在隐私设置中调整麦克风的访问权限。" | |
60 | msgstr "您可随时在隐私设置中修改麦克风的访问权限。" | |
59 | 61 | |
60 | 62 | #: src/device.c:120 |
61 | 63 | msgid "An application wants to use your microphone." |
73 | 75 | #: src/device.c:129 |
74 | 76 | msgid "" |
75 | 77 | "Access to your speakers can be changed at any time from the privacy settings." |
76 | msgstr "您可随时在隐私设置中调整扬声器的访问权限。" | |
78 | msgstr "您可随时在隐私设置中修改扬声器的访问权限。" | |
77 | 79 | |
78 | 80 | #: src/device.c:133 |
79 | 81 | msgid "An application wants to play sound." |
91 | 93 | #: src/device.c:142 |
92 | 94 | msgid "" |
93 | 95 | "Access to your camera can be changed at any time from the privacy settings." |
94 | msgstr "您可随时在隐私设置中调整摄像头的访问权限。" | |
96 | msgstr "您可随时在隐私设置中修改摄像头的访问权限。" | |
95 | 97 | |
96 | 98 | #: src/device.c:146 |
97 | 99 | msgid "An application wants to use your camera." |
130 | 132 | |
131 | 133 | #: src/location.c:554 |
132 | 134 | msgid "Location access can be changed at any time from the privacy settings." |
133 | msgstr "您可随时在隐私设置中调整位置信息的访问权限。" | |
135 | msgstr "您可随时在隐私设置中修改位置信息的访问权限。" | |
134 | 136 | |
135 | 137 | #: src/settings.c:124 |
136 | 138 | msgid "Requested setting not found" |
137 | msgstr "被请求设置未找到" | |
139 | msgstr "未找到请求的设置" | |
138 | 140 | |
139 | #: src/wallpaper.c:177 | |
141 | #: src/wallpaper.c:178 | |
140 | 142 | msgid "Deny" |
141 | msgstr "" | |
142 | ||
143 | #: src/wallpaper.c:185 | |
144 | #, fuzzy | |
145 | msgid "Allow Applications to Set Backgrounds?" | |
146 | msgstr "有应用程序想要播放声音。" | |
143 | msgstr "拒绝" | |
147 | 144 | |
148 | 145 | #: src/wallpaper.c:186 |
146 | msgid "Allow Applications to Set Backgrounds?" | |
147 | msgstr "允许应用程序设置背景吗?" | |
148 | ||
149 | #: src/wallpaper.c:187 | |
149 | 150 | msgid "An application is requesting to be able to change the background image." |
150 | msgstr "" | |
151 | ||
152 | #: src/wallpaper.c:198 | |
153 | #, c-format | |
154 | msgid "Allow %s to Set Backgrounds?" | |
155 | msgstr "" | |
151 | msgstr "一个应用程序正在请求允许修改背景图像。" | |
156 | 152 | |
157 | 153 | #: src/wallpaper.c:199 |
158 | 154 | #, c-format |
155 | msgid "Allow %s to Set Backgrounds?" | |
156 | msgstr "允许 %s 设置背景吗?" | |
157 | ||
158 | #: src/wallpaper.c:200 | |
159 | #, c-format | |
159 | 160 | msgid "%s is requesting to be able to change the background image." |
160 | msgstr "" | |
161 | msgstr "%s 正在请求允许修改背景图像。" | |
161 | 162 | |
162 | #: src/wallpaper.c:202 | |
163 | #, fuzzy | |
163 | #: src/wallpaper.c:203 | |
164 | 164 | msgid "This permission can be changed at any time from the privacy settings." |
165 | msgstr "您可随时在隐私设置中调整位置信息的访问权限。" | |
165 | msgstr "您可随时在隐私设置中修改该权限。" |
6 | 6 | msgstr "" |
7 | 7 | "Project-Id-Version: xdg-desktop-portal master\n" |
8 | 8 | "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" |
9 | "POT-Creation-Date: 2020-09-14 12:22-0400\n" | |
9 | "POT-Creation-Date: 2021-02-16 22:15-0500\n" | |
10 | 10 | "PO-Revision-Date: 2018-03-26 20:40+0800\n" |
11 | 11 | "Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n" |
12 | 12 | "Language-Team: Chinese (Taiwan) <chinese-l10n@googlegroups.com>\n" |
42 | 42 | msgid "Don't allow" |
43 | 43 | msgstr "" |
44 | 44 | |
45 | #: src/background.c:273 src/wallpaper.c:179 | |
45 | #: src/background.c:273 src/wallpaper.c:180 | |
46 | 46 | msgid "Allow" |
47 | 47 | msgstr "" |
48 | 48 | |
137 | 137 | msgid "Requested setting not found" |
138 | 138 | msgstr "" |
139 | 139 | |
140 | #: src/wallpaper.c:177 | |
140 | #: src/wallpaper.c:178 | |
141 | 141 | msgid "Deny" |
142 | 142 | msgstr "" |
143 | 143 | |
144 | #: src/wallpaper.c:185 | |
144 | #: src/wallpaper.c:186 | |
145 | 145 | #, fuzzy |
146 | 146 | msgid "Allow Applications to Set Backgrounds?" |
147 | 147 | msgstr "有個應用程式想要播放聲音。" |
148 | 148 | |
149 | #: src/wallpaper.c:186 | |
149 | #: src/wallpaper.c:187 | |
150 | 150 | msgid "An application is requesting to be able to change the background image." |
151 | 151 | msgstr "" |
152 | 152 | |
153 | #: src/wallpaper.c:198 | |
153 | #: src/wallpaper.c:199 | |
154 | 154 | #, c-format |
155 | 155 | msgid "Allow %s to Set Backgrounds?" |
156 | 156 | msgstr "" |
157 | 157 | |
158 | #: src/wallpaper.c:199 | |
158 | #: src/wallpaper.c:200 | |
159 | 159 | #, c-format |
160 | 160 | msgid "%s is requesting to be able to change the background image." |
161 | 161 | msgstr "" |
162 | 162 | |
163 | #: src/wallpaper.c:202 | |
163 | #: src/wallpaper.c:203 | |
164 | 164 | #, fuzzy |
165 | 165 | msgid "This permission can be changed at any time from the privacy settings." |
166 | 166 | msgstr "您可以隨時從隱私權設定值中修改您的喇叭存取控制。" |
29 | 29 | #include <fcntl.h> |
30 | 30 | |
31 | 31 | #include <gio/gio.h> |
32 | #include <gio/gunixfdlist.h> | |
33 | 32 | |
34 | 33 | #include "account.h" |
35 | 34 | #include "request.h" |
30 | 30 | #include <gio/gunixfdlist.h> |
31 | 31 | |
32 | 32 | #include "xdp-dbus.h" |
33 | #include "xdp-utils.h" | |
33 | 34 | #include "document-enums.h" |
34 | 35 | |
35 | 36 | static XdpDocuments *documents = NULL; |
45 | 46 | xdp_documents_call_get_mount_point_sync (documents, |
46 | 47 | &documents_mountpoint, |
47 | 48 | NULL, NULL); |
49 | xdp_set_documents_mountpoint (documents_mountpoint); | |
48 | 50 | } |
49 | 51 | |
50 | 52 | char * |
30 | 30 | #include <fcntl.h> |
31 | 31 | |
32 | 32 | #include <gio/gio.h> |
33 | #include <gio/gunixfdlist.h> | |
34 | 33 | |
35 | 34 | #include "file-chooser.h" |
36 | 35 | #include "request.h" |
585 | 585 | gboolean ask_for_content_type; |
586 | 586 | GVariantBuilder opts_builder; |
587 | 587 | gboolean skip_app_chooser = FALSE; |
588 | int fd; | |
588 | g_auto(XdpFd) fd = -1; | |
589 | 589 | gboolean writable = FALSE; |
590 | 590 | gboolean ask = FALSE; |
591 | 591 | gboolean open_dir = FALSE; |
843 | 843 | if (!g_variant_lookup (arg_options, "ask", "b", &ask)) |
844 | 844 | ask = FALSE; |
845 | 845 | |
846 | g_object_set_data (G_OBJECT (request), "fd", GINT_TO_POINTER (-1)); | |
846 | 847 | g_object_set_data_full (G_OBJECT (request), "uri", g_strdup (arg_uri), g_free); |
847 | 848 | g_object_set_data_full (G_OBJECT (request), "parent-window", g_strdup (arg_parent_window), g_free); |
848 | 849 | g_object_set_data (G_OBJECT (request), "writable", GINT_TO_POINTER (writable)); |
28 | 28 | #include <fcntl.h> |
29 | 29 | |
30 | 30 | #include <gio/gio.h> |
31 | #include <gio/gunixfdlist.h> | |
32 | 31 | |
33 | 32 | #include "screenshot.h" |
34 | 33 | #include "request.h" |
144 | 144 | g_warning ("Rejecting invalid open-uri request (both URI and fd are set)"); |
145 | 145 | if (request->exported) |
146 | 146 | { |
147 | g_variant_builder_init (&opt_builder, G_VARIANT_TYPE_VARDICT); | |
147 | 148 | xdp_request_emit_response (XDP_REQUEST (request), |
148 | 149 | XDG_DESKTOP_PORTAL_RESPONSE_OTHER, |
149 | NULL); | |
150 | g_variant_builder_end (&opt_builder)); | |
150 | 151 | request_unexport (request); |
151 | 152 | } |
152 | 153 | return; |
237 | 238 | /* Reject the request */ |
238 | 239 | if (request->exported) |
239 | 240 | { |
241 | g_variant_builder_init (&opt_builder, G_VARIANT_TYPE_VARDICT); | |
240 | 242 | xdp_request_emit_response (XDP_REQUEST (request), |
241 | 243 | XDG_DESKTOP_PORTAL_RESPONSE_OTHER, |
242 | NULL); | |
244 | g_variant_builder_end (&opt_builder)); | |
243 | 245 | request_unexport (request); |
244 | 246 | } |
245 | 247 | return; |
27 | 27 | #include <fcntl.h> |
28 | 28 | #include <errno.h> |
29 | 29 | #include <stdio.h> |
30 | #include <mntent.h> | |
31 | #include <unistd.h> | |
32 | 30 | #include <sys/vfs.h> |
33 | 31 | |
34 | 32 | #include <gio/gdesktopappinfo.h> |
130 | 128 | } flatpak; |
131 | 129 | struct |
132 | 130 | { |
133 | int dummy; | |
131 | GKeyFile *keyfile; | |
134 | 132 | } snap; |
135 | 133 | } u; |
136 | 134 | }; |
164 | 162 | break; |
165 | 163 | |
166 | 164 | case XDP_APP_INFO_KIND_SNAP: |
165 | g_clear_pointer (&app_info->u.snap.keyfile, g_key_file_free); | |
167 | 166 | break; |
168 | 167 | |
169 | 168 | case XDP_APP_INFO_KIND_HOST: |
207 | 206 | |
208 | 207 | g_return_val_if_fail (app_info != NULL, NULL); |
209 | 208 | |
210 | if (app_info->id[0] == '\0') | |
209 | switch (app_info->kind) | |
210 | { | |
211 | case XDP_APP_INFO_KIND_FLATPAK: | |
212 | desktop_id = g_strconcat (app_info->id, ".desktop", NULL); | |
213 | break; | |
214 | ||
215 | case XDP_APP_INFO_KIND_SNAP: | |
216 | desktop_id = g_key_file_get_string (app_info->u.snap.keyfile, | |
217 | SNAP_METADATA_GROUP_INFO, | |
218 | SNAP_METADATA_KEY_DESKTOP_FILE, | |
219 | NULL); | |
220 | break; | |
221 | ||
222 | case XDP_APP_INFO_KIND_HOST: | |
223 | default: | |
224 | desktop_id = NULL; | |
225 | break; | |
226 | } | |
227 | ||
228 | if (desktop_id == NULL) | |
211 | 229 | return NULL; |
212 | ||
213 | desktop_id = g_strconcat (app_info->id, ".desktop", NULL); | |
214 | 230 | |
215 | 231 | return G_APP_INFO (g_desktop_app_info_new (desktop_id)); |
216 | 232 | } |
339 | 355 | break; |
340 | 356 | |
341 | 357 | case XDP_APP_INFO_KIND_SNAP: |
342 | has_network = TRUE; /* FIXME */ | |
358 | has_network = g_key_file_get_boolean (app_info->u.snap.keyfile, | |
359 | SNAP_METADATA_GROUP_INFO, | |
360 | SNAP_METADATA_KEY_NETWORK, NULL); | |
343 | 361 | break; |
344 | 362 | |
345 | 363 | case XDP_APP_INFO_KIND_HOST: |
468 | 486 | return g_steal_pointer (&app_info); |
469 | 487 | } |
470 | 488 | |
471 | static gboolean | |
472 | aa_is_enabled (void) | |
473 | { | |
474 | static int apparmor_enabled = -1; | |
475 | struct stat statbuf; | |
476 | struct mntent *mntpt; | |
477 | FILE *mntfile; | |
478 | ||
479 | if (apparmor_enabled >= 0) | |
480 | return apparmor_enabled; | |
481 | ||
482 | apparmor_enabled = FALSE; | |
483 | ||
484 | mntfile = setmntent ("/proc/mounts", "r"); | |
485 | if (!mntfile) | |
486 | return FALSE; | |
487 | ||
488 | while ((mntpt = getmntent (mntfile))) | |
489 | { | |
490 | g_autofree char *proposed = NULL; | |
491 | ||
492 | if (strcmp (mntpt->mnt_type, "securityfs") != 0) | |
493 | continue; | |
494 | ||
495 | proposed = g_strdup_printf ("%s/apparmor", mntpt->mnt_dir); | |
496 | if (stat (proposed, &statbuf) == 0) | |
489 | int | |
490 | _xdp_parse_cgroup_file (FILE *f, gboolean *is_snap) | |
491 | { | |
492 | ssize_t n; | |
493 | g_autofree char *id = NULL; | |
494 | g_autofree char *controller = NULL; | |
495 | g_autofree char *cgroup = NULL; | |
496 | size_t id_len = 0, controller_len = 0, cgroup_len = 0; | |
497 | ||
498 | g_return_val_if_fail(f != NULL, -1); | |
499 | g_return_val_if_fail(is_snap != NULL, -1); | |
500 | ||
501 | *is_snap = FALSE; | |
502 | do | |
503 | { | |
504 | n = getdelim (&id, &id_len, ':', f); | |
505 | if (n == -1) break; | |
506 | n = getdelim (&controller, &controller_len, ':', f); | |
507 | if (n == -1) break; | |
508 | n = getdelim (&cgroup, &cgroup_len, '\n', f); | |
509 | if (n == -1) break; | |
510 | ||
511 | /* Only consider the freezer, systemd group or unified cgroup | |
512 | * hierarchies */ | |
513 | if ((!strcmp (controller, "freezer:") != 0 || | |
514 | !strcmp (controller, "name=systemd:") != 0 || | |
515 | !strcmp (controller, ":") != 0) && | |
516 | strstr (cgroup, "/snap.") != NULL) | |
497 | 517 | { |
498 | apparmor_enabled = TRUE; | |
518 | *is_snap = TRUE; | |
499 | 519 | break; |
500 | 520 | } |
501 | 521 | } |
502 | ||
503 | endmntent (mntfile); | |
504 | ||
505 | return apparmor_enabled; | |
506 | } | |
507 | ||
508 | #define UNCONFINED "unconfined" | |
509 | #define UNCONFINED_SIZE strlen(UNCONFINED) | |
522 | while (n >= 0); | |
523 | ||
524 | if (n < 0 && !feof(f)) return -1; | |
525 | ||
526 | return 0; | |
527 | } | |
510 | 528 | |
511 | 529 | static gboolean |
512 | parse_unconfined (char *con, int size) | |
513 | { | |
514 | return size == UNCONFINED_SIZE && strncmp (con, UNCONFINED, UNCONFINED_SIZE) == 0; | |
515 | } | |
516 | ||
517 | static char * | |
518 | aa_splitcon (char *con, char **mode) | |
519 | { | |
520 | char *label = NULL; | |
521 | char *mode_str = NULL; | |
522 | char *newline = NULL; | |
523 | int size = strlen (con); | |
524 | ||
525 | if (size == 0) | |
526 | return NULL; | |
527 | ||
528 | /* Strip newline */ | |
529 | if (con[size - 1] == '\n') | |
530 | { | |
531 | newline = &con[size - 1]; | |
532 | size--; | |
533 | } | |
534 | ||
535 | if (parse_unconfined (con, size)) | |
536 | { | |
537 | label = con; | |
538 | } | |
539 | else if (size > 3 && con[size - 1] == ')') | |
540 | { | |
541 | int pos = size - 2; | |
542 | ||
543 | while (pos > 0 && !(con[pos] == ' ' && con[pos + 1] == '(')) | |
544 | pos--; | |
545 | ||
546 | if (pos > 0) | |
547 | { | |
548 | con[pos] = 0; /* overwrite ' ' */ | |
549 | con[size - 1] = 0; /* overwrite trailing ) */ | |
550 | mode_str = &con[pos + 2]; /* skip '(' */ | |
551 | label = con; | |
552 | } | |
553 | } | |
554 | ||
555 | if (label && newline) | |
556 | *newline = 0; /* overwrite '\n', if requested, on success */ | |
557 | if (mode) | |
558 | *mode = mode_str; | |
559 | ||
560 | return label; | |
561 | } | |
562 | ||
530 | pid_is_snap (pid_t pid, GError **error) | |
531 | { | |
532 | g_autofree char *cgroup_path = NULL;; | |
533 | int fd; | |
534 | FILE *f = NULL; | |
535 | gboolean is_snap = FALSE; | |
536 | int err = 0; | |
537 | ||
538 | g_return_val_if_fail(pid > 0, FALSE); | |
539 | ||
540 | cgroup_path = g_strdup_printf ("/proc/%u/cgroup", (guint) pid); | |
541 | fd = open (cgroup_path, O_RDONLY | O_CLOEXEC | O_NOCTTY); | |
542 | if (fd == -1) | |
543 | { | |
544 | err = errno; | |
545 | goto end; | |
546 | } | |
547 | ||
548 | f = fdopen (fd, "r"); | |
549 | if (f == NULL) | |
550 | { | |
551 | err = errno; | |
552 | goto end; | |
553 | } | |
554 | ||
555 | fd = -1; /* fd is now owned by f */ | |
556 | ||
557 | if (_xdp_parse_cgroup_file (f, &is_snap) == -1) | |
558 | err = errno; | |
559 | ||
560 | fclose (f); | |
561 | ||
562 | end: | |
563 | /* Silence ENOENT, treating it as "not a snap" */ | |
564 | if (err != 0 && err != ENOENT) | |
565 | { | |
566 | g_set_error (error, G_IO_ERROR, g_io_error_from_errno (err), | |
567 | "Could not parse cgroup info for pid %u: %s", (guint) pid, | |
568 | g_strerror (err)); | |
569 | } | |
570 | return is_snap; | |
571 | } | |
572 | ||
573 | /* Returns NULL with error set on failure, NULL with no error set if not a snap, and app-info otherwise */ | |
563 | 574 | static XdpAppInfo * |
564 | parse_app_info_from_security_label (const char *security_label) | |
565 | { | |
566 | char *label, *dot; | |
575 | parse_app_info_from_snap (pid_t pid, GError **error) | |
576 | { | |
577 | g_autoptr(GError) local_error = NULL; | |
578 | g_autofree char *pid_str = NULL; | |
579 | const char *argv[] = { "snap", "routine", "portal-info", NULL, NULL }; | |
580 | g_autofree char *output = NULL; | |
581 | g_autoptr(GKeyFile) metadata = NULL; | |
582 | g_autoptr(XdpAppInfo) app_info = NULL; | |
567 | 583 | g_autofree char *snap_name = NULL; |
568 | g_autoptr(XdpAppInfo) app_info = NULL; | |
569 | ||
570 | /* Snap confinement requires AppArmor */ | |
571 | if (aa_is_enabled ()) | |
572 | { | |
573 | /* Parse the security label as an AppArmor context. We take a copy | |
574 | * of the string because aa_splitcon modifies its argument. */ | |
575 | g_autofree char *security_label_copy = g_strdup (security_label); | |
576 | ||
577 | label = aa_splitcon (security_label_copy, NULL); | |
578 | if (label && g_str_has_prefix (label, "snap.")) | |
579 | { | |
580 | /* If the label belongs to a snap, it will be of the form | |
581 | * snap.$PACKAGE.$APPLICATION. We want to extract the package | |
582 | * name */ | |
583 | ||
584 | label += 5; | |
585 | dot = strchr (label, '.'); | |
586 | if (!dot) | |
587 | return NULL; | |
588 | snap_name = g_strndup (label, dot - label); | |
589 | ||
590 | app_info = xdp_app_info_new (XDP_APP_INFO_KIND_SNAP); | |
591 | app_info->id = g_strconcat ("snap.", snap_name, NULL); | |
592 | ||
593 | return g_steal_pointer (&app_info); | |
594 | } | |
595 | } | |
596 | ||
597 | return NULL; | |
584 | ||
585 | /* Check the process's cgroup membership to fail quickly for non-snaps */ | |
586 | if (!pid_is_snap (pid, error)) return NULL; | |
587 | ||
588 | pid_str = g_strdup_printf ("%u", (guint) pid); | |
589 | argv[3] = pid_str; | |
590 | if (!xdp_spawnv (NULL, &output, 0, error, argv)) | |
591 | { | |
592 | return NULL; | |
593 | } | |
594 | ||
595 | metadata = g_key_file_new (); | |
596 | if (!g_key_file_load_from_data (metadata, output, -1, G_KEY_FILE_NONE, &local_error)) | |
597 | { | |
598 | g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, | |
599 | "Can't read snap info for pid %u: %s", pid, local_error->message); | |
600 | return NULL; | |
601 | } | |
602 | ||
603 | snap_name = g_key_file_get_string (metadata, SNAP_METADATA_GROUP_INFO, | |
604 | SNAP_METADATA_KEY_INSTANCE_NAME, error); | |
605 | if (snap_name == NULL) | |
606 | { | |
607 | return NULL; | |
608 | } | |
609 | ||
610 | app_info = xdp_app_info_new (XDP_APP_INFO_KIND_SNAP); | |
611 | app_info->id = g_strconcat ("snap.", snap_name, NULL); | |
612 | app_info->u.snap.keyfile = g_steal_pointer (&metadata); | |
613 | ||
614 | return g_steal_pointer (&app_info); | |
598 | 615 | } |
599 | 616 | |
600 | 617 | |
605 | 622 | g_autoptr(XdpAppInfo) app_info = NULL; |
606 | 623 | g_autoptr(GError) local_error = NULL; |
607 | 624 | |
608 | /* TODO: Handle snap support via apparmor here */ | |
609 | ||
610 | 625 | app_info = parse_app_info_from_flatpak_info (pid, &local_error); |
611 | 626 | if (app_info == NULL && local_error) |
612 | 627 | { |
613 | 628 | g_propagate_error (error, g_steal_pointer (&local_error)); |
614 | 629 | return NULL; |
630 | } | |
631 | ||
632 | if (app_info == NULL) | |
633 | { | |
634 | app_info = parse_app_info_from_snap (pid, &local_error); | |
635 | if (app_info == NULL && local_error) | |
636 | { | |
637 | g_propagate_error (error, g_steal_pointer (&local_error)); | |
638 | return NULL; | |
639 | } | |
615 | 640 | } |
616 | 641 | |
617 | 642 | if (app_info == NULL) |
647 | 672 | g_autoptr(GDBusMessage) reply = NULL; |
648 | 673 | g_autoptr(XdpAppInfo) app_info = NULL; |
649 | 674 | GVariant *body; |
650 | g_autoptr(GVariantIter) iter = NULL; | |
651 | const char *key; | |
652 | GVariant *value; | |
653 | g_autofree char *security_label = NULL; | |
654 | 675 | guint32 pid = 0; |
655 | 676 | |
656 | 677 | app_info = lookup_cached_app_info_by_sender (sender); |
660 | 681 | msg = g_dbus_message_new_method_call (DBUS_NAME_DBUS, |
661 | 682 | DBUS_PATH_DBUS, |
662 | 683 | DBUS_INTERFACE_DBUS, |
663 | "GetConnectionCredentials"); | |
684 | "GetConnectionUnixProcessID"); | |
664 | 685 | g_dbus_message_set_body (msg, g_variant_new ("(s)", sender)); |
665 | 686 | |
666 | 687 | reply = g_dbus_connection_send_message_with_reply_sync (connection, msg, |
679 | 700 | } |
680 | 701 | |
681 | 702 | body = g_dbus_message_get_body (reply); |
682 | ||
683 | g_variant_get (body, "(a{sv})", &iter); | |
684 | while (g_variant_iter_loop (iter, "{&sv}", &key, &value)) | |
685 | { | |
686 | if (strcmp (key, "ProcessID") == 0) | |
687 | pid = g_variant_get_uint32 (value); | |
688 | else if (strcmp (key, "LinuxSecurityLabel") == 0) | |
689 | { | |
690 | g_clear_pointer (&security_label, g_free); | |
691 | security_label = g_variant_dup_bytestring (value, NULL); | |
692 | } | |
693 | } | |
694 | ||
695 | if (app_info == NULL && security_label != NULL) | |
696 | { | |
697 | app_info = parse_app_info_from_security_label (security_label); | |
698 | } | |
699 | ||
703 | g_variant_get (body, "(u)", &pid); | |
704 | ||
705 | app_info = xdp_get_app_info_from_pid (pid, error); | |
700 | 706 | if (app_info == NULL) |
701 | { | |
702 | g_autoptr(GError) local_error = NULL; | |
703 | app_info = parse_app_info_from_flatpak_info (pid, &local_error); | |
704 | if (app_info == NULL && local_error) | |
705 | { | |
706 | g_propagate_error (error, g_steal_pointer (&local_error)); | |
707 | return NULL; | |
708 | } | |
709 | } | |
710 | ||
711 | if (app_info == NULL) | |
712 | app_info = xdp_app_info_new_host (); | |
707 | return NULL; | |
713 | 708 | |
714 | 709 | G_LOCK (app_infos); |
715 | 710 | ensure_app_info_by_unique_name (); |
888 | 883 | return xdp_app_info_remap_path (app_info, path_buffer); |
889 | 884 | } |
890 | 885 | |
886 | static char *documents_mountpoint = NULL; | |
887 | ||
888 | void | |
889 | xdp_set_documents_mountpoint (const char *path) | |
890 | { | |
891 | g_clear_pointer (&documents_mountpoint, g_free); | |
892 | documents_mountpoint = g_strdup (path); | |
893 | } | |
894 | ||
895 | /* alternate_document_path converts a file path */ | |
896 | char * | |
897 | xdp_get_alternate_document_path (const char *path, const char *app_id) | |
898 | { | |
899 | int len; | |
900 | ||
901 | /* If we don't know where the document portal is mounted, then there | |
902 | * is no alternate path */ | |
903 | if (documents_mountpoint == NULL) | |
904 | return NULL; | |
905 | ||
906 | /* If the path is not within the document portal, then there is no | |
907 | * alternative path */ | |
908 | len = strlen (documents_mountpoint); | |
909 | if (!g_str_has_prefix (path, documents_mountpoint) || path[len] != '/') | |
910 | return NULL; | |
911 | ||
912 | return g_strconcat (documents_mountpoint, "/by-app/", app_id, &path[len], NULL); | |
913 | } | |
914 | ||
891 | 915 | char * |
892 | 916 | xdp_app_info_get_path_for_fd (XdpAppInfo *app_info, |
893 | 917 | int fd, |
985 | 1009 | st_buf->st_dev != real_st_buf.st_dev || |
986 | 1010 | st_buf->st_ino != real_st_buf.st_ino) |
987 | 1011 | { |
988 | /* Different files on the inside and the outside, reject the request */ | |
989 | return NULL; | |
1012 | /* If the path is provided by the document portal, the inode | |
1013 | number will not match, due to only a subtree being mounted in | |
1014 | the sandbox. So we check to see if the equivalent path | |
1015 | within that subtree matches our file descriptor. | |
1016 | ||
1017 | If the alternate path doesn't match either, then we treat it | |
1018 | as a failure. | |
1019 | */ | |
1020 | g_autofree char *alt_path = NULL; | |
1021 | alt_path = xdp_get_alternate_document_path (path, xdp_app_info_get_id (app_info)); | |
1022 | ||
1023 | if (alt_path == NULL || | |
1024 | stat (alt_path, &real_st_buf) < 0 || | |
1025 | st_buf->st_dev != real_st_buf.st_dev || | |
1026 | st_buf->st_ino != real_st_buf.st_ino) | |
1027 | return NULL; | |
990 | 1028 | } |
991 | 1029 | |
992 | 1030 | if (writable_out) |
20 | 20 | |
21 | 21 | #pragma once |
22 | 22 | |
23 | #include <stdio.h> | |
23 | 24 | #include <sys/types.h> |
24 | 25 | #include <sys/stat.h> |
25 | 26 | #include <unistd.h> |
36 | 37 | #define FLATPAK_METADATA_KEY_RUNTIME_PATH "runtime-path" |
37 | 38 | #define FLATPAK_METADATA_KEY_INSTANCE_ID "instance-id" |
38 | 39 | |
40 | #define SNAP_METADATA_GROUP_INFO "Snap Info" | |
41 | #define SNAP_METADATA_KEY_INSTANCE_NAME "InstanceName" | |
42 | #define SNAP_METADATA_KEY_DESKTOP_FILE "DesktopFile" | |
43 | #define SNAP_METADATA_KEY_NETWORK "HasNetworkStatus" | |
44 | ||
39 | 45 | gint xdp_mkstempat (int dir_fd, |
40 | 46 | gchar *tmpl, |
41 | 47 | int flags, |
46 | 52 | typedef void (*XdpPeerDiedCallback) (const char *name); |
47 | 53 | |
48 | 54 | typedef struct _XdpAppInfo XdpAppInfo; |
55 | ||
56 | typedef int XdpFd; | |
57 | G_DEFINE_AUTO_CLEANUP_FREE_FUNC(XdpFd, close, -1) | |
49 | 58 | |
50 | 59 | XdpAppInfo *xdp_app_info_ref (XdpAppInfo *app_info); |
51 | 60 | void xdp_app_info_unref (XdpAppInfo *app_info); |
78 | 87 | |
79 | 88 | G_DEFINE_AUTOPTR_CLEANUP_FUNC(XdpAppInfo, xdp_app_info_unref) |
80 | 89 | |
90 | void xdp_set_documents_mountpoint (const char *path); | |
91 | char *xdp_get_alternate_document_path (const char *path, const char *app_id); | |
92 | ||
81 | 93 | XdpAppInfo *xdp_invocation_lookup_app_info_sync (GDBusMethodInvocation *invocation, |
82 | 94 | GCancellable *cancellable, |
83 | 95 | GError **error); |
173 | 185 | gboolean xdp_has_path_prefix (const char *str, |
174 | 186 | const char *prefix); |
175 | 187 | |
188 | /* exposed for the benefit of tests */ | |
189 | int _xdp_parse_cgroup_file (FILE *f, | |
190 | gboolean *is_snap); | |
191 | ||
192 | ||
176 | 193 | #if !GLIB_CHECK_VERSION (2, 58, 0) |
177 | 194 | static inline gboolean |
178 | 195 | g_hash_table_steal_extended (GHashTable *hash_table, |
18 | 18 | $(BASE_LIBS) \ |
19 | 19 | $(FUSE_LIBS) \ |
20 | 20 | $(NULL) |
21 | test_doc_portal_SOURCES = tests/test-doc-portal.c | |
21 | test_doc_portal_SOURCES = \ | |
22 | tests/can-use-fuse.c \ | |
23 | tests/can-use-fuse.h \ | |
24 | tests/test-doc-portal.c \ | |
25 | $(NULL) | |
22 | 26 | nodist_test_doc_portal_SOURCES = document-portal/document-portal-dbus.c |
23 | 27 | |
24 | 28 | EXTRA_test_doc_portal_DEPENDENCIES = tests/services/org.freedesktop.impl.portal.PermissionStore.service tests/services/org.freedesktop.portal.Documents.service |
85 | 89 | |
86 | 90 | EXTRA_test_permission_store_DEPENDENCIES = tests/services/org.freedesktop.impl.portal.PermissionStore.service tests/services/org.freedesktop.portal.Documents.service |
87 | 91 | |
92 | test_programs += test-xdp-utils | |
93 | test_xdp_utils_CFLAGS = $(AM_CFLAGS) $(BASE_CFLAGS) | |
94 | test_xdp_utils_LDADD = $(AM_LD_ADD) $(BASE_LIBS) | |
95 | test_xdp_utils_SOURCES = tests/test-xdp-utils.c src/xdp-utils.c | |
96 | ||
97 | ||
88 | 98 | tests/services/org.freedesktop.portal.Documents.service: document-portal/org.freedesktop.portal.Documents.service.in |
89 | 99 | mkdir -p tests/services |
90 | 100 | $(AM_V_GEN) $(SED) -e "s|\@libexecdir\@|$(abs_top_builddir)|" $< > $@ |
0 | /* | |
1 | * Copyright 2019-2021 Collabora Ltd. | |
2 | * SPDX-License-Identifier: LGPL-2.1-or-later | |
3 | */ | |
4 | ||
5 | #include "config.h" | |
6 | ||
7 | #include "can-use-fuse.h" | |
8 | ||
9 | #include <errno.h> | |
10 | #include <unistd.h> | |
11 | ||
12 | #include <glib/gstdio.h> | |
13 | ||
14 | #define FUSE_USE_VERSION 26 | |
15 | #include <fuse_lowlevel.h> | |
16 | ||
17 | gchar *cannot_use_fuse = NULL; | |
18 | ||
19 | /* | |
20 | * If we cannot use FUSE, set cannot_use_fuse and return %FALSE. | |
21 | */ | |
22 | gboolean | |
23 | check_fuse (void) | |
24 | { | |
25 | g_autofree gchar *fusermount = NULL; | |
26 | g_autofree gchar *path = NULL; | |
27 | char *argv[] = { "flatpak-fuse-test" }; | |
28 | struct fuse_args args = FUSE_ARGS_INIT (G_N_ELEMENTS (argv), argv); | |
29 | struct fuse_chan *chan = NULL; | |
30 | g_autoptr(GError) error = NULL; | |
31 | ||
32 | if (cannot_use_fuse != NULL) | |
33 | return FALSE; | |
34 | ||
35 | if (access ("/dev/fuse", W_OK) != 0) | |
36 | { | |
37 | cannot_use_fuse = g_strdup_printf ("access /dev/fuse: %s", | |
38 | g_strerror (errno)); | |
39 | return FALSE; | |
40 | } | |
41 | ||
42 | fusermount = g_find_program_in_path ("fusermount"); | |
43 | ||
44 | if (fusermount == NULL) | |
45 | { | |
46 | cannot_use_fuse = g_strdup ("fusermount not found in PATH"); | |
47 | return FALSE; | |
48 | } | |
49 | ||
50 | if (!g_file_test (fusermount, G_FILE_TEST_IS_EXECUTABLE)) | |
51 | { | |
52 | cannot_use_fuse = g_strdup_printf ("%s not executable", fusermount); | |
53 | return FALSE; | |
54 | } | |
55 | ||
56 | if (!g_file_test ("/etc/mtab", G_FILE_TEST_EXISTS)) | |
57 | { | |
58 | cannot_use_fuse = g_strdup ("fusermount won't work without /etc/mtab"); | |
59 | return FALSE; | |
60 | } | |
61 | ||
62 | path = g_dir_make_tmp ("flatpak-test.XXXXXX", &error); | |
63 | g_assert_no_error (error); | |
64 | ||
65 | chan = fuse_mount (path, &args); | |
66 | ||
67 | if (chan == NULL) | |
68 | { | |
69 | fuse_opt_free_args (&args); | |
70 | cannot_use_fuse = g_strdup_printf ("fuse_mount: %s", | |
71 | g_strerror (errno)); | |
72 | return FALSE; | |
73 | } | |
74 | ||
75 | g_test_message ("Successfully set up test FUSE fs on %s", path); | |
76 | ||
77 | fuse_unmount (path, chan); | |
78 | ||
79 | if (g_rmdir (path) != 0) | |
80 | g_error ("rmdir %s: %s", path, g_strerror (errno)); | |
81 | ||
82 | fuse_opt_free_args (&args); | |
83 | ||
84 | return TRUE; | |
85 | } | |
86 | ||
87 | gboolean | |
88 | check_fuse_or_skip_test (void) | |
89 | { | |
90 | if (!check_fuse ()) | |
91 | { | |
92 | g_assert (cannot_use_fuse != NULL); | |
93 | g_test_skip (cannot_use_fuse); | |
94 | return FALSE; | |
95 | } | |
96 | ||
97 | return TRUE; | |
98 | } |
0 | /* | |
1 | * Copyright 2019-2021 Collabora Ltd. | |
2 | * SPDX-License-Identifier: LGPL-2.1-or-later | |
3 | */ | |
4 | ||
5 | #pragma once | |
6 | ||
7 | #include <glib.h> | |
8 | ||
9 | extern gchar *cannot_use_fuse; | |
10 | gboolean check_fuse (void); | |
11 | gboolean check_fuse_or_skip_test (void); |
12 | 12 | #include <gio/gunixfdlist.h> |
13 | 13 | #include <glib/gstdio.h> |
14 | 14 | |
15 | #define FUSE_USE_VERSION 26 | |
16 | #include <fuse_lowlevel.h> | |
17 | ||
18 | 15 | #include "document-portal/document-portal-dbus.h" |
16 | ||
17 | #include "can-use-fuse.h" | |
19 | 18 | |
20 | 19 | char outdir[] = "/tmp/xdp-test-XXXXXX"; |
21 | 20 | |
25 | 24 | GDBusConnection *session_bus; |
26 | 25 | XdpDbusDocuments *documents; |
27 | 26 | char *mountpoint; |
28 | static gchar *cannot_use_fuse = NULL; | |
29 | 27 | |
30 | 28 | static gboolean |
31 | 29 | set_contents_trunc (const gchar *filename, |
355 | 353 | const char *basename = "a-file"; |
356 | 354 | GError *error = NULL; |
357 | 355 | |
358 | if (cannot_use_fuse != NULL) | |
359 | { | |
360 | g_test_skip (cannot_use_fuse); | |
361 | return; | |
362 | } | |
356 | if (!check_fuse_or_skip_test ()) | |
357 | return; | |
363 | 358 | |
364 | 359 | /* Export a document */ |
365 | 360 | id = export_new_file (basename, "content", FALSE); |
470 | 465 | g_autofree char *path = NULL; |
471 | 466 | g_autofree char *app_path = NULL; |
472 | 467 | |
473 | if (cannot_use_fuse != NULL) | |
474 | { | |
475 | g_test_skip (cannot_use_fuse); | |
476 | return; | |
477 | } | |
468 | if (!check_fuse_or_skip_test ()) | |
469 | return; | |
478 | 470 | |
479 | 471 | id = export_new_file (basename, "recursive-content", FALSE); |
480 | 472 | |
512 | 504 | const char *basenames[] = { "doc1", "doc2" }; |
513 | 505 | int i; |
514 | 506 | |
515 | if (cannot_use_fuse != NULL) | |
516 | { | |
517 | g_test_skip (cannot_use_fuse); | |
518 | return; | |
519 | } | |
507 | if (!check_fuse_or_skip_test ()) | |
508 | return; | |
520 | 509 | |
521 | 510 | path1 = g_build_filename (outdir, basenames[0], NULL); |
522 | 511 | g_file_set_contents (path1, basenames[0], -1, &error); |
584 | 573 | GError *error = NULL; |
585 | 574 | gboolean res; |
586 | 575 | |
587 | if (cannot_use_fuse != NULL) | |
588 | { | |
589 | g_test_skip (cannot_use_fuse); | |
590 | return; | |
591 | } | |
576 | if (!check_fuse_or_skip_test ()) | |
577 | return; | |
592 | 578 | |
593 | 579 | id1 = export_named_file (outdir, basename1, FALSE); |
594 | 580 | |
696 | 682 | assert_doc_has_contents (id1, basename1, NULL, "foobar7"); |
697 | 683 | assert_doc_has_contents (id1, basename1, "com.test.App1", "foobar7"); |
698 | 684 | assert_doc_not_exist (id1, basename1, "com.test.App2"); |
699 | } | |
700 | ||
701 | /* | |
702 | * If we cannot use FUSE, set cannot_use_fuse and return %FALSE. | |
703 | */ | |
704 | static gboolean | |
705 | check_fuse (void) | |
706 | { | |
707 | g_autofree gchar *fusermount = NULL; | |
708 | g_autofree gchar *path = NULL; | |
709 | char *argv[] = { "xdp-fuse-test" }; | |
710 | struct fuse_args args = FUSE_ARGS_INIT (G_N_ELEMENTS (argv), argv); | |
711 | struct fuse_chan *chan = NULL; | |
712 | g_autoptr(GError) error = NULL; | |
713 | ||
714 | if (cannot_use_fuse != NULL) | |
715 | return FALSE; | |
716 | ||
717 | if (access ("/dev/fuse", W_OK) != 0) | |
718 | { | |
719 | cannot_use_fuse = g_strdup_printf ("access /dev/fuse: %s", | |
720 | g_strerror (errno)); | |
721 | return FALSE; | |
722 | } | |
723 | ||
724 | fusermount = g_find_program_in_path ("fusermount"); | |
725 | ||
726 | if (fusermount == NULL) | |
727 | { | |
728 | cannot_use_fuse = g_strdup ("fusermount not found in PATH"); | |
729 | return FALSE; | |
730 | } | |
731 | ||
732 | if (!g_file_test (fusermount, G_FILE_TEST_IS_EXECUTABLE)) | |
733 | { | |
734 | cannot_use_fuse = g_strdup_printf ("%s not executable", fusermount); | |
735 | return FALSE; | |
736 | } | |
737 | ||
738 | path = g_dir_make_tmp ("xdp-test.XXXXXX", &error); | |
739 | g_assert_no_error (error); | |
740 | ||
741 | chan = fuse_mount (path, &args); | |
742 | ||
743 | if (chan == NULL) | |
744 | { | |
745 | fuse_opt_free_args (&args); | |
746 | cannot_use_fuse = g_strdup_printf ("fuse_mount: %s", | |
747 | g_strerror (errno)); | |
748 | return FALSE; | |
749 | } | |
750 | ||
751 | g_test_message ("Successfully set up test FUSE fs on %s", path); | |
752 | ||
753 | fuse_unmount (path, chan); | |
754 | ||
755 | if (g_rmdir (path) != 0) | |
756 | g_error ("rmdir %s: %s", path, g_strerror (errno)); | |
757 | ||
758 | fuse_opt_free_args (&args); | |
759 | ||
760 | return TRUE; | |
761 | 685 | } |
762 | 686 | |
763 | 687 | static void |
918 | 842 | static void |
919 | 843 | test_version (void) |
920 | 844 | { |
921 | if (cannot_use_fuse != NULL) | |
922 | { | |
923 | g_test_skip (cannot_use_fuse); | |
924 | return; | |
925 | } | |
845 | if (!check_fuse_or_skip_test ()) | |
846 | return; | |
926 | 847 | |
927 | 848 | g_assert_cmpint (xdp_dbus_documents_get_version (documents), ==, 4); |
928 | 849 | } |
0 | #include "config.h" | |
1 | ||
2 | #include <glib.h> | |
3 | ||
4 | #include "src/xdp-utils.h" | |
5 | ||
6 | static void | |
7 | test_parse_cgroup_unified (void) | |
8 | { | |
9 | char data[] = "0::/user.slice/user-1000.slice/user@1000.service/apps.slice/snap.something.scope\n"; | |
10 | FILE *f; | |
11 | int res; | |
12 | gboolean is_snap = FALSE; | |
13 | ||
14 | f = fmemopen(data, sizeof(data), "r"); | |
15 | ||
16 | res = _xdp_parse_cgroup_file (f, &is_snap); | |
17 | g_assert_cmpint (res, ==, 0); | |
18 | g_assert_true (is_snap); | |
19 | fclose(f); | |
20 | } | |
21 | ||
22 | static void | |
23 | test_parse_cgroup_freezer (void) | |
24 | { | |
25 | char data[] = | |
26 | "12:pids:/user.slice/user-1000.slice/user@1000.service\n" | |
27 | "11:perf_event:/\n" | |
28 | "10:net_cls,net_prio:/\n" | |
29 | "9:cpuset:/\n" | |
30 | "8:memory:/user.slice/user-1000.slice/user@1000.service/apps.slice/apps-org.gnome.Terminal.slice/vte-spawn-228ae109-a869-4533-8988-65ea4c10b492.scope\n" | |
31 | "7:rdma:/\n" | |
32 | "6:devices:/user.slice\n" | |
33 | "5:blkio:/user.slice\n" | |
34 | "4:hugetlb:/\n" | |
35 | "3:freezer:/snap.portal-test\n" | |
36 | "2:cpu,cpuacct:/user.slice\n" | |
37 | "1:name=systemd:/user.slice/user-1000.slice/user@1000.service/apps.slice/apps-org.gnome.Terminal.slice/vte-spawn-228ae109-a869-4533-8988-65ea4c10b492.scope\n" | |
38 | "0::/user.slice/user-1000.slice/user@1000.service/apps.slice/apps-org.gnome.Terminal.slice/vte-spawn-228ae109-a869-4533-8988-65ea4c10b492.scope\n"; | |
39 | FILE *f; | |
40 | int res; | |
41 | gboolean is_snap = FALSE; | |
42 | ||
43 | f = fmemopen(data, sizeof(data), "r"); | |
44 | ||
45 | res = _xdp_parse_cgroup_file (f, &is_snap); | |
46 | g_assert_cmpint (res, ==, 0); | |
47 | g_assert_true (is_snap); | |
48 | fclose(f); | |
49 | } | |
50 | ||
51 | static void | |
52 | test_parse_cgroup_systemd (void) | |
53 | { | |
54 | char data[] = "1:name=systemd:/user.slice/user-1000.slice/user@1000.service/apps.slice/snap.something.scope\n"; | |
55 | FILE *f; | |
56 | int res; | |
57 | gboolean is_snap = FALSE; | |
58 | ||
59 | f = fmemopen(data, sizeof(data), "r"); | |
60 | ||
61 | res = _xdp_parse_cgroup_file (f, &is_snap); | |
62 | g_assert_cmpint (res, ==, 0); | |
63 | g_assert_true (is_snap); | |
64 | fclose(f); | |
65 | } | |
66 | ||
67 | static void | |
68 | test_parse_cgroup_not_snap (void) | |
69 | { | |
70 | char data[] = | |
71 | "12:pids:/\n" | |
72 | "11:perf_event:/\n" | |
73 | "10:net_cls,net_prio:/\n" | |
74 | "9:cpuset:/\n" | |
75 | "8:memory:/\n" | |
76 | "7:rdma:/\n" | |
77 | "6:devices:/\n" | |
78 | "5:blkio:/\n" | |
79 | "4:hugetlb:/\n" | |
80 | "3:freezer:/\n" | |
81 | "2:cpu,cpuacct:/\n" | |
82 | "1:name=systemd:/\n" | |
83 | "0::/\n"; | |
84 | ||
85 | FILE *f; | |
86 | int res; | |
87 | gboolean is_snap = FALSE; | |
88 | ||
89 | f = fmemopen(data, sizeof(data), "r"); | |
90 | ||
91 | res = _xdp_parse_cgroup_file (f, &is_snap); | |
92 | g_assert_cmpint (res, ==, 0); | |
93 | g_assert_false (is_snap); | |
94 | fclose(f); | |
95 | } | |
96 | ||
97 | static void | |
98 | test_alternate_doc_path (void) | |
99 | { | |
100 | g_autofree char *path = NULL; | |
101 | ||
102 | xdp_set_documents_mountpoint (NULL); | |
103 | ||
104 | /* If no documents mount point is set, there is no alternate path */ | |
105 | path = xdp_get_alternate_document_path ("/whatever", "app-id"); | |
106 | g_assert_cmpstr (path, ==, NULL); | |
107 | ||
108 | xdp_set_documents_mountpoint ("/doc/portal"); | |
109 | ||
110 | /* Paths outside of the document portal do not have an alternate path */ | |
111 | path = xdp_get_alternate_document_path ("/whatever", "app-id"); | |
112 | g_assert_cmpstr (path, ==, NULL); | |
113 | ||
114 | /* The doc portal mount point itself does not have an alternate path */ | |
115 | path = xdp_get_alternate_document_path ("/doc/portal", "app-id"); | |
116 | g_assert_cmpstr (path, ==, NULL); | |
117 | ||
118 | /* Paths under the doc portal mount point have an alternate path */ | |
119 | path = xdp_get_alternate_document_path ("/doc/portal/foo/bar", "app-id"); | |
120 | g_assert_cmpstr (path, ==, "/doc/portal/by-app/app-id/foo/bar"); | |
121 | ||
122 | g_clear_pointer (&path, g_free); | |
123 | path = xdp_get_alternate_document_path ("/doc/portal/foo/bar", "second-app"); | |
124 | g_assert_cmpstr (path, ==, "/doc/portal/by-app/second-app/foo/bar"); | |
125 | ||
126 | xdp_set_documents_mountpoint (NULL); | |
127 | } | |
128 | ||
129 | int main (int argc, char **argv) | |
130 | { | |
131 | g_test_init (&argc, &argv, NULL); | |
132 | g_test_add_func ("/parse-cgroup/unified", test_parse_cgroup_unified); | |
133 | g_test_add_func ("/parse-cgroup/freezer", test_parse_cgroup_freezer); | |
134 | g_test_add_func ("/parse-cgroup/systemd", test_parse_cgroup_systemd); | |
135 | g_test_add_func ("/parse-cgroup/not-snap", test_parse_cgroup_not_snap); | |
136 | g_test_add_func ("/alternate-doc-path", test_alternate_doc_path); | |
137 | return g_test_run (); | |
138 | } |