Commit 9a109e5e authored by Michael Terry's avatar Michael Terry

Support parallel installs via a profile meson argument

parent 7fbf878d
Pipeline #49162 passed with stage
in 10 minutes
......@@ -7,9 +7,19 @@ flatpak:
extends: .flatpak
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:3.28
variables:
MANIFEST_PATH: "flatpak/org.gnome.DejaDup.json"
MANIFEST_PATH: "flatpak/org.gnome.DejaDupDevel.yaml"
MESON_ARGS: "-Dprofile=Devel"
FLATPAK_MODULE: "deja-dup"
RUNTIME_REPO: "https://sdk.gnome.org/gnome.flatpakrepo"
APP_ID: "org.gnome.DejaDup"
APP_ID: "org.gnome.DejaDupDevel"
review:
extends: .review
stage: deploy
dependencies:
- flatpak
stop_review:
extends: .stop_review
stage: deploy
......@@ -16,40 +16,10 @@ That will give you a full shell pointing at all your built executables.
* data: shared schemas, icons, etc
* vapi: some helper APIs for vala
= Development Notes =
== Flatpak ==
== How to Release ==
To build a local flatpak, run 'make flatpak'. You'll want an up-to-date flatpak-builder though.
Steps:
* Grab latest translations from LP, integrate
* Update help documentation (new arguments, new gui labels)
* make check dist
* debuild, install (to catch any foolish errors that check missed)
* Update toplevel meson.build version
* Tag git with new release number (4.0 for 4.0)
* Update LP (new release, new download)
* NEWSTABLE: Update LP testing recipe version
* STABLE: New screenshots if needed for wiki [1]
* Announce on LP
* Mark bugs fix released on LP
[1] Screenshots:
* Alt+PrntScreen to get just the current window
== TODO ==
* use GResource
== Backend Split Notes ==
What do we need?
* describe-credentials like:
* username
* password
* folder
* here-are-credentials (secret how?)
* put-these
* get-these
* list
* size-of-these (to make sure there is room)
basically, same as duplicity, duh!
If you're on Ubuntu:
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
......@@ -23,12 +23,15 @@ all: configure
@[ "$@" = "Makefile" ] || ninja -C builddir $@
configure:
@[ -f builddir/build.ninja ] || meson -Dprofile=Devel builddir
distconfigure:
@[ -f builddir/build.ninja ] || meson builddir
check: all
LC_ALL=C.UTF-8 meson test -C builddir
dist: configure screenshots pot
dist: clean distconfigure screenshots pot
rm -f builddir/meson-dist/*
ninja -C builddir dist
gpg --armor --sign --detach-sig builddir/meson-dist/deja-dup-*.tar.xz
......@@ -78,9 +81,11 @@ copy-po:
git add deja-dup/help/*/*.po
flatpak:
mkdir -p builddir
rm -fr builddir/flatpak
cd builddir && flatpak-builder --repo=$(HOME)/repo ./flatpak ../flatpak/org.gnome.DejaDup.json
flatpak update --user org.gnome.DejaDup
flatpak-builder --repo=$(HOME)/repo \
--force-clean \
--state-dir=builddir/.flatpak-builder \
builddir/flatpak \
flatpak/org.gnome.DejaDupDevel.yaml
flatpak update --user -y org.gnome.DejaDupDevel
.PHONY: configure clean dist all copy-po check screenshots flatpak
.PHONY: configure distconfigure clean dist all copy-po check screenshots flatpak
This diff is collapsed.
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:cc='http://creativecommons.org/ns#' xmlns:dc='http://purl.org/dc/elements/1.1/' sodipodi:docname='deja-dup-symbolic.svg' height='16' id='svg7384' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:svg='http://www.w3.org/2000/svg' inkscape:version='0.48.2 r9819' version='1.1' width='16.000004' xmlns='http://www.w3.org/2000/svg'>
<metadata id='metadata90'>
<rdf:RDF>
<cc:Work rdf:about=''>
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage'/>
<dc:title>Gnome Symbolic Icon Theme</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview inkscape:bbox-paths='true' bordercolor='#666666' borderopacity='1' inkscape:current-layer='layer9' inkscape:cx='-26.084377' inkscape:cy='3.8786298' gridtolerance='10' inkscape:guide-bbox='true' guidetolerance='10' id='namedview88' inkscape:object-nodes='false' inkscape:object-paths='false' objecttolerance='10' pagecolor='#555753' inkscape:pageopacity='1' inkscape:pageshadow='2' showborder='false' showgrid='false' showguides='true' inkscape:snap-bbox='false' inkscape:snap-bbox-midpoints='false' inkscape:snap-global='true' inkscape:snap-grids='true' inkscape:snap-nodes='true' inkscape:snap-others='false' inkscape:snap-to-guides='true' inkscape:window-height='1381' inkscape:window-maximized='1' inkscape:window-width='2560' inkscape:window-x='1600' inkscape:window-y='27' inkscape:zoom='8'>
<inkscape:grid empspacing='2' enabled='true' id='grid4866' snapvisiblegridlinesonly='true' spacingx='1px' spacingy='1px' type='xygrid' visible='true'/>
</sodipodi:namedview>
<title id='title9167'>Gnome Symbolic Icon Theme</title>
<defs id='defs7386'/>
<g inkscape:groupmode='layer' id='layer9' inkscape:label='apps' style='display:inline' transform='translate(-283.0002,-215)'>
<path inkscape:connector-curvature='0' d='m 286.15645,216 c -1.18715,0 -2.15625,0.892 -2.15625,2 l 0,10 c 0,1.108 0.9691,2 2.15625,2 l 10.84375,0 c 0,0 1,0 1,-1 l 0,-12 c 0,-1 -1,-1 -1,-1 z m 0.21875,1 10.25,0 c 0.21139,0 0.375,0.17565 0.375,0.40625 l 0,11.1875 c 0,0.23064 -0.16361,0.40625 -0.375,0.40625 l -10.25,0 c -0.21137,0 -0.375,-0.17561 -0.375,-0.40625 l 0,-11.1875 c 0,-0.2306 0.16363,-0.40625 0.375,-0.40625 z m 1,1 c -0.20679,0 -0.34375,0.17516 -0.34375,0.40625 l 0,9.1875 c 0,0.23108 0.13696,0.40625 0.34375,0.40625 l 8.25,0 c 0.20678,0 0.375,-0.17517 0.375,-0.40625 l 0,-9.1875 c 0,-0.23109 -0.16822,-0.40625 -0.375,-0.40625 z m 4.0625,2 c 0.47901,-0.0152 0.93858,0.10167 1.375,0.375 l 0.0312,0.0312 c 1.16448,0.74186 1.49186,2.27302 0.75,3.4375 -0.74186,1.16448 -2.27302,1.49186 -3.4375,0.75 -1.16448,-0.74186 -1.49186,-2.27302 -0.75,-3.4375 0.46114,-0.72384 1.2329,-1.13098 2.03125,-1.15625 z m -0.0625,1.5 c -0.2655,0.0385 -0.50061,0.1932 -0.65625,0.4375 -0.2782,0.43668 -0.15543,1.00305 0.28125,1.28125 0.43668,0.2782 1.00305,0.15543 1.28125,-0.28125 0.2782,-0.43668 0.15543,-1.00305 -0.28125,-1.28125 -0.10911,-0.0683 -0.22413,-0.13677 -0.34375,-0.15625 -0.0897,-0.0146 -0.19275,-0.0128 -0.28125,0 z' id='path3708' sodipodi:nodetypes='sssscsccssssssssssssssssssssccsssssssscss' style='fill:#bebebe;fill-opacity:1;stroke:none'/>
<rect height='2' id='rect15969' rx='0.41625243' ry='0.41625243' style='fill:#bebebe;fill-opacity:1;stroke:none' width='2.00371' x='283.00018' y='219'/>
<rect height='2' id='rect15971' rx='0.41625243' ry='0.41625243' style='fill:#bebebe;fill-opacity:1;stroke:none' width='2.0037117' x='283.00018' y='225'/>
</g>
</svg>
hicolor/symbolic/apps/org.gnome.DejaDup-symbolic.svg
\ No newline at end of file
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:cc='http://creativecommons.org/ns#' xmlns:dc='http://purl.org/dc/elements/1.1/' sodipodi:docname='deja-dup-symbolic.svg' height='16' id='svg7384' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:svg='http://www.w3.org/2000/svg' inkscape:version='0.48.2 r9819' version='1.1' width='16.000004' xmlns='http://www.w3.org/2000/svg'>
<metadata id='metadata90'>
<rdf:RDF>
<cc:Work rdf:about=''>
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage'/>
<dc:title>Gnome Symbolic Icon Theme</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview inkscape:bbox-paths='true' bordercolor='#666666' borderopacity='1' inkscape:current-layer='layer9' inkscape:cx='-26.084377' inkscape:cy='3.8786298' gridtolerance='10' inkscape:guide-bbox='true' guidetolerance='10' id='namedview88' inkscape:object-nodes='false' inkscape:object-paths='false' objecttolerance='10' pagecolor='#555753' inkscape:pageopacity='1' inkscape:pageshadow='2' showborder='false' showgrid='false' showguides='true' inkscape:snap-bbox='false' inkscape:snap-bbox-midpoints='false' inkscape:snap-global='true' inkscape:snap-grids='true' inkscape:snap-nodes='true' inkscape:snap-others='false' inkscape:snap-to-guides='true' inkscape:window-height='1381' inkscape:window-maximized='1' inkscape:window-width='2560' inkscape:window-x='1600' inkscape:window-y='27' inkscape:zoom='8'>
<inkscape:grid empspacing='2' enabled='true' id='grid4866' snapvisiblegridlinesonly='true' spacingx='1px' spacingy='1px' type='xygrid' visible='true'/>
</sodipodi:namedview>
<title id='title9167'>Gnome Symbolic Icon Theme</title>
<defs id='defs7386'/>
<g inkscape:groupmode='layer' id='layer9' inkscape:label='apps' style='display:inline' transform='translate(-283.0002,-215)'>
<path inkscape:connector-curvature='0' d='m 286.15645,216 c -1.18715,0 -2.15625,0.892 -2.15625,2 l 0,10 c 0,1.108 0.9691,2 2.15625,2 l 10.84375,0 c 0,0 1,0 1,-1 l 0,-12 c 0,-1 -1,-1 -1,-1 z m 0.21875,1 10.25,0 c 0.21139,0 0.375,0.17565 0.375,0.40625 l 0,11.1875 c 0,0.23064 -0.16361,0.40625 -0.375,0.40625 l -10.25,0 c -0.21137,0 -0.375,-0.17561 -0.375,-0.40625 l 0,-11.1875 c 0,-0.2306 0.16363,-0.40625 0.375,-0.40625 z m 1,1 c -0.20679,0 -0.34375,0.17516 -0.34375,0.40625 l 0,9.1875 c 0,0.23108 0.13696,0.40625 0.34375,0.40625 l 8.25,0 c 0.20678,0 0.375,-0.17517 0.375,-0.40625 l 0,-9.1875 c 0,-0.23109 -0.16822,-0.40625 -0.375,-0.40625 z m 4.0625,2 c 0.47901,-0.0152 0.93858,0.10167 1.375,0.375 l 0.0312,0.0312 c 1.16448,0.74186 1.49186,2.27302 0.75,3.4375 -0.74186,1.16448 -2.27302,1.49186 -3.4375,0.75 -1.16448,-0.74186 -1.49186,-2.27302 -0.75,-3.4375 0.46114,-0.72384 1.2329,-1.13098 2.03125,-1.15625 z m -0.0625,1.5 c -0.2655,0.0385 -0.50061,0.1932 -0.65625,0.4375 -0.2782,0.43668 -0.15543,1.00305 0.28125,1.28125 0.43668,0.2782 1.00305,0.15543 1.28125,-0.28125 0.2782,-0.43668 0.15543,-1.00305 -0.28125,-1.28125 -0.10911,-0.0683 -0.22413,-0.13677 -0.34375,-0.15625 -0.0897,-0.0146 -0.19275,-0.0128 -0.28125,0 z' id='path3708' sodipodi:nodetypes='sssscsccssssssssssssssssssssccsssssssscss' style='fill:#bebebe;fill-opacity:1;stroke:none'/>
<rect height='2' id='rect15969' rx='0.41625243' ry='0.41625243' style='fill:#bebebe;fill-opacity:1;stroke:none' width='2.00371' x='283.00018' y='219'/>
<rect height='2' id='rect15971' rx='0.41625243' ry='0.41625243' style='fill:#bebebe;fill-opacity:1;stroke:none' width='2.0037117' x='283.00018' y='225'/>
</g>
</svg>
hicolor/scalable/apps/org.gnome.DejaDup.svg
\ No newline at end of file
This diff is collapsed.
......@@ -16,8 +16,15 @@
# You should have received a copy of the GNU General Public License
# along with Déjà Dup. If not, see <http://www.gnu.org/licenses/>.
install_subdir(join_paths('icons', 'hicolor'),
install_dir: join_paths(datadir, 'icons'))
configure_file(input: join_paths('icons', 'org.gnome.DejaDup.svg'),
output: '@0@.svg'.format(application_id),
configuration: configuration_data(),
install_dir: join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps'))
configure_file(input: join_paths('icons', 'org.gnome.DejaDup-symbolic.svg'),
output: '@0@-symbolic.svg'.format(application_id),
configuration: configuration_data(),
install_dir: join_paths(datadir, 'icons', 'hicolor', 'symbolic', 'apps'))
install_data('deja-dup.convert',
install_dir: join_paths(datadir, 'GConf', 'gsettings'))
......@@ -32,25 +39,32 @@ test('validate-gschema', glib_compile_schemas,
join_paths(meson.current_source_dir(), 'org.gnome.DejaDup.gschema.xml')])
conf_data = configuration_data()
conf_data.set('appid', application_id)
conf_data.set('bindir', bindir)
configure_file(input: 'org.gnome.DejaDup.service.in',
output: 'org.gnome.DejaDup.service',
output: '@0@.service'.format(application_id),
configuration: conf_data,
install_dir: join_paths(datadir, 'dbus-1', 'services'))
conf_data = configuration_data()
conf_data.set('icon', application_id)
conf_data.set('pkglibexecdir', pkglibexecdir)
monitor_desktop = configure_file(input: 'org.gnome.DejaDup.Monitor.desktop.in',
output: 'org.gnome.DejaDup.Monitor.desktop',
output: '@0@.Monitor.desktop'.format(application_id),
configuration: conf_data,
install_dir: join_paths(etcdir, 'xdg', 'autostart'))
test('validate-monitor-desktop', desktop_file_validate,
args: [monitor_desktop])
conf_data = configuration_data()
conf_data.set('icon', application_id)
vars = configure_file(input: 'org.gnome.DejaDup.desktop.in',
output: 'org.gnome.DejaDup.vars.desktop.in',
configuration: conf_data)
deja_dup_desktop = custom_target('org.gnome.DejaDup.desktop',
input: 'org.gnome.DejaDup.desktop',
output: 'org.gnome.DejaDup.desktop',
input: vars,
output: '@0@.desktop'.format(application_id),
# List keywords due to https://savannah.gnu.org/support/?108887
command: [msgfmt, '--desktop', '--keyword=Name', '--keyword=Comment', '--keyword=Keywords', '--template', '@INPUT@', '-d', podir, '-o', '@OUTPUT@'],
install: true,
......@@ -60,6 +74,7 @@ test('validate-desktop', desktop_file_validate,
args: [deja_dup_desktop.full_path()])
conf_data = configuration_data()
conf_data.set('appid', application_id)
conf_data.set('series', series)
conf_data.set('version', meson.project_version())
vars = configure_file(input: 'org.gnome.DejaDup.appdata.xml.in',
......@@ -67,7 +82,7 @@ vars = configure_file(input: 'org.gnome.DejaDup.appdata.xml.in',
configuration: conf_data)
deja_dup_appdata = custom_target('org.gnome.DejaDup.appdata.xml',
input: vars,
output: 'org.gnome.DejaDup.appdata.xml',
output: '@0@.appdata.xml'.format(application_id),
command: [msgfmt, '--xml', '--template', '@INPUT@', '-d', podir, '-o', '@OUTPUT@'],
install: true,
install_dir: join_paths(datadir, 'metainfo'))
......@@ -76,14 +91,23 @@ test('validate-appstream', appstream_util,
args: ['--nonet', 'validate-relax', deja_dup_appdata.full_path()])
conf_data = configuration_data()
conf_data.set('appid', application_id)
conf_data.set('icon', application_id)
conf_data.set('pkglibexecdir', pkglibexecdir)
configure_file(input: 'org.gnome.DejaDup.policy.in',
output: 'org.gnome.DejaDup.policy',
output: '@0@.policy'.format(application_id),
configuration: conf_data,
install_dir: join_paths(datadir, 'polkit-1', 'actions'))
resources = gnome.compile_resources('resources', 'resources.xml',
conf_data = configuration_data()
conf_data.set('icon', application_id)
conf_data.set('profile', profile)
resources_xml = configure_file(input: 'resources.xml',
output: 'resources.vars.xml',
configuration: conf_data)
resources = gnome.compile_resources('resources', resources_xml,
source_dir: ['ui'])
meson.add_install_script('post-install.sh', datadir)
message('''You may need to recompile your gsettings schemas or regenerate
your icon cache after installation.''')
......@@ -4,7 +4,7 @@ Version=1.0
Name=Backup Monitor
Comment=Schedules backups at regular intervals
Icon=org.gnome.DejaDup
Icon=@icon@
Exec=@pkglibexecdir@/deja-dup-monitor
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- For copyright information, see AUTHORS. -->
<component type="desktop-application">
<id>org.gnome.DejaDup.desktop</id>
<id>@appid@.desktop</id>
<metadata_license>CC-BY-SA-4.0</metadata_license>
<project_license>GPL-3.0+</project_license>
<name>Déjà Dup Backup Tool</name>
......
......@@ -4,8 +4,7 @@ Version=1.1
Name=Backups
Comment=Change your backup settings
# Translators: this is the icon name, you probably don't need to change this
Icon=org.gnome.DejaDup
Icon=@icon@
Exec=deja-dup
......
......@@ -4,9 +4,9 @@
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
<policyconfig>
<icon_name>deja-dup</icon_name>
<icon_name>@icon@</icon_name>
<action id="org.gnome.DejaDup.duplicity">
<action id="@appid@.duplicity">
<description gettext-domain="deja-dup">Restore</description>
<message gettext-domain="deja-dup">Privileges are required to restore files to system locations</message>
<defaults>
......
[D-BUS Service]
Name=org.gnome.DejaDup
Name=@appid@
Exec=@bindir@/deja-dup --gapplication-service
#!/bin/sh
# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 2; coding: utf-8 -*-
if [ -z "$DESTDIR" ]; then
datadir="$1"
echo "Updating icon cache..."
gtk-update-icon-cache -f -t "$datadir/icons/hicolor"
echo "Updating gsettings cache..."
glib-compile-schemas "$datadir/glib-2.0/schemas"
fi
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/DejaDup">
<gresource prefix="/org/gnome/DejaDup@profile@">
<file compressed="true">restore-missing.ui</file>
<file compressed="true">server-hint.ui</file>
<file compressed="true">icons/deja-dup-cloud.svg</file>
<!-- add our main app icons as fallbacks of last resort -->
<file compressed="true">icons/org.gnome.DejaDup.svg</file>
<file compressed="true">icons/org.gnome.DejaDup-symbolic.svg</file>
<file compressed="true" alias="icons/@icon@.svg">icons/org.gnome.DejaDup.svg</file>
<file compressed="true" alias="icons/@icon@-symbolic.svg">icons/org.gnome.DejaDup-symbolic.svg</file>
</gresource>
<gresource prefix="/org/gnome/DejaDup/gtk">
<gresource prefix="/org/gnome/DejaDup@profile@/gtk">
<file compressed="true">help-overlay.ui</file>
<file compressed="true">menus.ui</file>
</gresource>
......
......@@ -135,7 +135,7 @@ public class AssistantRestoreMissing : AssistantRestore {
* components to it. Deleted files are dynamically added on-the-fly by
* applicable functions.
*/
var builder = new Gtk.Builder.from_resource("/org/gnome/DejaDup/restore-missing.ui");
var builder = new Gtk.Builder.from_resource("/org/gnome/DejaDup%s/restore-missing.ui".printf(Config.PROFILE));
builder.connect_signals(this);
var page = builder.get_object("restore-missing-files") as Gtk.Widget;
......
......@@ -112,7 +112,7 @@ public class Preferences : Gtk.Grid
label_sizes = new Gtk.SizeGroup(Gtk.SizeGroupMode.HORIZONTAL);
w = new Gtk.Image.from_icon_name("org.gnome.DejaDup-symbolic", Gtk.IconSize.DIALOG);
w = new Gtk.Image.from_icon_name(Config.ICON_NAME + "-symbolic", Gtk.IconSize.DIALOG);
w.halign = Gtk.Align.CENTER;
w.valign = Gtk.Align.START;
table.attach(w, 0, row, 1, 3);
......
......@@ -55,7 +55,7 @@ void show_prompt_notification(Gtk.Application app)
{
var note = new Notification(get_header());
note.set_body(get_body());
note.set_icon(new ThemedIcon("org.gnome.DejaDup"));
note.set_icon(new ThemedIcon(Config.ICON_NAME));
note.set_default_action("app.prompt-ok");
note.add_button(get_cancel_button(false), "app.prompt-cancel");
note.add_button(get_ok_button(false), "app.prompt-ok");
......
......@@ -68,7 +68,7 @@ public abstract class StatusIcon : Object
var note = new Notification(msg);
if (more != null)
note.set_body(more);
note.set_icon(new ThemedIcon("org.gnome.DejaDup"));
note.set_icon(new ThemedIcon(Config.ICON_NAME));
note.set_priority(priority);
note.set_default_action("app.op-show");
Application.get_default().send_notification("backup-status", note);
......@@ -91,7 +91,7 @@ class ShellStatusIcon : StatusIcon
construct {
if (automatic && op.mode == DejaDup.ToolJob.Mode.BACKUP) {
var note = new Notification(_("Starting scheduled backup"));
note.set_icon(new ThemedIcon("org.gnome.DejaDup"));
note.set_icon(new ThemedIcon(Config.ICON_NAME));
note.set_default_action("app.op-show");
Application.get_default().send_notification("backup-status", note);
}
......
......@@ -16,10 +16,7 @@
<license href="http://creativecommons.org/licenses/by-sa/3.0/"><p>Creative Commons Attribution-Share Alike 3.0 Unported License</p></license>
</info>
<title>
<media type="image" mime="image/png" src="figures/deja-dup-icon.png"/>
Backup Help
</title>
<title>Backup Help</title>
<section id="backup" style="2column">
<title>Backing Up</title>
......
......@@ -70,7 +70,7 @@ msgstr ""
#: C/backup-first.page:11
#: C/restore-full.page:20
msgid "Open your <gui>Backups</gui> settings."
msgstr "Abra su configuración de <gui>Respaldos<gui>."
msgstr "Abra su configuración de <gui>Respaldos</gui>."
#. (itstool) path: item/p
#: C/backup-auto.page:13
......
......@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Déjà Dup. If not, see <http://www.gnu.org/licenses/>.
gnome.yelp('org.gnome.DejaDup',
gnome.yelp(application_id,
sources: ['backup-auto.page',
'backup-first.page',
'contribute.page',
......@@ -29,7 +29,6 @@ gnome.yelp('org.gnome.DejaDup',
'restore-revert.page',
'restore-worst-case.page',
'support.page'],
media: ['figures/deja-dup-icon.png'],
symlink_media: true)
validate_help_linguas = find_program('./validate-linguas')
......
......@@ -211,9 +211,6 @@ msgstr "Rencontrar l'equipa"
#: C/credits.page:11
msgid "Credits"
msgstr ""
"La còla occitana de traduccion d'Ubuntu <ubuntu-l10n-oci@lists.ubuntu.com>, "
"2016\r\n"
"Associacion Tot en òc (www.totenoc.eu)"
#. (itstool) path: section/title
#: C/credits.page:14
......
......@@ -54,7 +54,7 @@ public class DejaDupApp : Gtk.Application
public DejaDupApp()
{
Object(application_id: "org.gnome.DejaDup",
Object(application_id: Config.APPLICATION_ID,
flags: ApplicationFlags.HANDLES_COMMAND_LINE);
add_main_option_entries(options);
}
......@@ -141,6 +141,13 @@ public class DejaDupApp : Gtk.Application
return 0;
}
public void register_window(Gtk.Window w)
{
if (Config.PROFILE != "")
w.get_style_context().add_class("devel");
add_window(w);
}
public override void activate()
{
base.activate();
......@@ -176,7 +183,7 @@ public class DejaDupApp : Gtk.Application
prefs.app = this;
prefs.border_width = 12;
main_window.add(prefs);
add_window(main_window);
register_window(main_window);
main_window.show_all();
}
}
......@@ -213,7 +220,7 @@ public class DejaDupApp : Gtk.Application
this.op = op;
this.op.destroy.connect(clear_op);
quit_action.set_enabled(false);
add_window(op);
register_window(op);
op.show_all();
Gdk.notify_startup_complete();
......@@ -230,14 +237,15 @@ public class DejaDupApp : Gtk.Application
{
var note = new Notification(_("Scheduled backup delayed"));
note.set_body(reason);
note.set_icon(new ThemedIcon("org.gnome.DejaDup"));
note.set_icon(new ThemedIcon(Config.ICON_NAME));
send_notification("backup-status", note);
}
void help()
{
unowned List<Gtk.Window> list = get_windows();
DejaDup.show_uri(list == null ? null : list.data, "help:org.gnome.DejaDup");
DejaDup.show_uri(list == null ? null : list.data,
"help:" + Config.APPLICATION_ID);
}
void about()
......@@ -245,7 +253,7 @@ public class DejaDupApp : Gtk.Application
unowned List<Gtk.Window> list = get_windows();
Gtk.show_about_dialog(list == null ? null : list.data,
"license-type", Gtk.License.GPL_3_0,
"logo-icon-name", "org.gnome.DejaDup",
"logo-icon-name", Config.ICON_NAME,
"translator-credits", _("translator-credits"),
"version", Config.VERSION,
"website", "https://wiki.gnome.org/Apps/DejaDup");
......@@ -317,10 +325,13 @@ int main(string[] args)
// context is itself a reference to both the underlying command line tool
// "duplicity" and the act of duplicating data for backup. As a whole, the
// phrase "Déjà Dup" may not be very translatable.
Environment.set_application_name(_("Déjà Dup Backup Tool"));
Environment.set_prgname("org.gnome.DejaDup");
var appname = _("Déjà Dup Backup Tool");
if (Config.PROFILE != "")
appname = "%s (%s)".printf(appname, Config.PROFILE);
Gtk.Window.set_default_icon_name("org.gnome.DejaDup");
Environment.set_application_name(appname);
Environment.set_prgname(Config.APPLICATION_ID);
Gtk.Window.set_default_icon_name(Config.ICON_NAME);
resources_get_resource()._register();
......
......@@ -116,8 +116,8 @@ static async void call_remote(string action, string[] args = {})
var deja = yield new DBusProxy.for_bus(BusType.SESSION,
DBusProxyFlags.NONE,
null,
"org.gnome.DejaDup",
"/org/gnome/DejaDup",
Config.APPLICATION_ID,
"/org/gnome/DejaDup" + Config.PROFILE,
"org.freedesktop.Application",
null);
yield deja.call("ActivateAction",
......@@ -301,7 +301,7 @@ static int main(string[] args)
var loop = new MainLoop(null, false);
Idle.add(() => {
// quit if we can't get the bus name or become disconnected
Bus.own_name(BusType.SESSION, "org.gnome.DejaDup.Monitor",
Bus.own_name(BusType.SESSION, Config.APPLICATION_ID + ".Monitor",
BusNameOwnerFlags.NONE, ()=>{},
()=>{begin_monitoring();},
()=>{loop.quit();});
......
......@@ -53,7 +53,7 @@ public class ConfigLocationCustom : ConfigLocationTable
Gtk.Popover create_hint(Gtk.Entry parent)
{
var builder = new Gtk.Builder.from_resource("/org/gnome/DejaDup/server-hint.ui");
var builder = new Gtk.Builder.from_resource("/org/gnome/DejaDup%s/server-hint.ui".printf(Config.PROFILE));
var popover = builder.get_object("server_adresses_popover") as Gtk.Popover;
popover.relative_to = parent;
return popover;
......
# If we use /tmp or /var/tmp, gvfs on the other side of flatpak's container
# won't see our /var/tmp/xxx path and error out. So let's restrict ourselves
# to the user's home dir.
diff --git a/libdeja/CommonUtils.vala b/libdeja/CommonUtils.vala
index 208d5405..eb38561d 100644
--- a/libdeja/CommonUtils.vala
+++ b/libdeja/CommonUtils.vala
@@ -731,8 +731,7 @@ public string[] get_tempdirs()
return {tempdir};
// Prefer directories that have their own cleanup logic in case ours isn't
// run for a while. (e.g. /tmp every boot, /var/tmp every now and then)
- return {Environment.get_tmp_dir(), "/var/tmp",
- Path.build_filename(Environment.get_user_cache_dir(), Config.PACKAGE,
+ return {Path.build_filename(Environment.get_user_cache_dir(), Config.PACKAGE,
"tmp")};
}
{
"app-id": "org.gnome.DejaDup",
"runtime": "org.gnome.Platform",
"runtime-version": "3.28",
"sdk": "org.gnome.Sdk",
"command": "deja-dup",
"finish-args": [
"--socket=wayland",
"--socket=x11",
"--share=ipc",
"--filesystem=host",
"--share=network",
"--system-talk-name=org.freedesktop.NetworkManager",
"--talk-name=org.gtk.vfs",
"--talk-name=org.gtk.vfs.*",
"--talk-name=org.freedesktop.secrets",
"--talk-name=org.gnome.OnlineAccounts",
"--filesystem=xdg-run/dconf",
"--filesystem=~/.config/dconf:ro",
"--talk-name=ca.desrt.dconf",
"--env=DCONF_USER_CONFIG_DIR=.config/dconf"
],
"modules": [
{
"name": "librest",
"sources": [
{
"type": "git",
"url": "https://gitlab.gnome.org/GNOME/librest.git",
"tag": "0.8.1"
}
]
},
{
"name": "gnome-online-accounts",
"config-opts": [ "--disable-telepathy", "--disable-documentation", "--disable-gtk-doc" ],
"sources": [
{
"type": "git",
"url": "https://gitlab.gnome.org/GNOME/gnome-online-accounts.git",
"tag": "3.28.0"
}
]
},
{
"name": "libpeas",
"sources": [
{
"type": "git",
"url": "https://gitlab.gnome.org/GNOME/libpeas.git",
"tag": "libpeas-1.22.0"
}
]
},
{
"name": "libgpg-error",
"sources": [
{
"type": "archive",
"url": "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.27.tar.bz2",
"sha256": "4f93aac6fecb7da2b92871bb9ee33032be6a87b174f54abf8ddf0911a22d29d2"
}
]
},
{
"name": "librsync",
"config-opts": ["--enable-shared", "--disable-static"],
"sources": [
{
"type": "archive",
"url": "https://downloads.sourceforge.net/project/librsync/librsync/0.9.7/librsync-0.9.7.tar.gz",
"sha256": "6633e4605662763a03bb6388529cbdfd3b11a9ec55b8845351c1bd9a92bc41d6"
}
]
},
{
"name": "python-six",
"buildsystem": "simple",
"build-commands": [
"python2 setup.py build",
"python2 setup.py install --single-version-externally-managed --root=/ --prefix /app"
],
"sources": [
{
"type": "archive",
"url": "https://pypi.python.org/packages/b3/b2/238e2590826bfdd113244a40d9d3eb26918bd798fc187e2360a8367068db/six-1.10.0.tar.gz",
"sha256": "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a"
}
]
},
{
"name": "python-monotonic",
"buildsystem": "simple",
"build-commands": [
"python2 setup.py build",
"python2 setup.py install --single-version-externally-managed --root=/ --prefix /app"
],
"sources": [
{
"type": "archive",
"url": "https://pypi.python.org/packages/96/b3/3e9fa0bdf132a971571cbf0e3f0c8b38834f4f7af8ca9523794f4f5895e0/monotonic-1.3.tar.gz",
"sha256": "2b469e2d7dd403f7f7f79227fe5ad551ee1e76f8bb300ae935209884b93c7c1b"
}
]
},
{
"name": "python-fasteners",
"buildsystem": "simple",
"build-commands": [
"python2 setup.py build",
"python2 setup.py install --single-version-externally-managed --root=/ --prefix /app"
],
"sources": [
{
"type": "archive",
"url": "https://pypi.python.org/packages/f4/6f/41b835c9bf69b03615630f8a6f6d45dafbec95eb4e2bb816638f043552b2/fasteners-0.14.1.tar.gz",
"sha256": "427c76773fe036ddfa41e57d89086ea03111bbac57c55fc55f3006d027107e18"
}
]
},
{
"name": "duplicity",
"buildsystem": "simple",
"build-commands": [
"python2 setup.py build",
"python2 setup.py install --prefix /app"
],
"sources": [
{
"type": "archive",
"url": "https://launchpad.net/duplicity/0.7-series/0.7.14/+download/duplicity-0.7.14.tar.gz",
"sha256": "7a3eb74a2a36b004b10add2970b37cfbac0bd693d79513e6311c8e4b8c3dd73e"
}
]
},
{
"name": "python-boto",
"buildsystem": "simple",
"build-commands": [
"python2 setup.py build",
"python2 setup.py install --single-version-externally-managed --root=/ --prefix /app"
],
"sources": [
{
"type": "archive",