summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB Stack <bgstack15@gmail.com>2020-05-25 10:23:52 -0400
committerB Stack <bgstack15@gmail.com>2020-05-25 10:23:52 -0400
commitbb8e473a98989ec53bce11aa9a45ddfd58405986 (patch)
tree8678259b80948ffcf319cd04bdc07027f2522045
parentMerge branch 'freefilesync-bump' into 'master' (diff)
downloadstackrpms-bb8e473a98989ec53bce11aa9a45ddfd58405986.tar.gz
stackrpms-bb8e473a98989ec53bce11aa9a45ddfd58405986.tar.bz2
stackrpms-bb8e473a98989ec53bce11aa9a45ddfd58405986.zip
rebase veracrypt dpkg to overlay Unit193
Unit193 is still actively maintaining veracrypt dpkgs so remove my old fork and just add a stackrpms overlay for myself.
-rw-r--r--veracrypt/README.md16
-rw-r--r--veracrypt/credits.md2
-rw-r--r--veracrypt/debian/changelog155
-rw-r--r--veracrypt/debian/compat2
-rw-r--r--veracrypt/debian/control7
-rw-r--r--veracrypt/debian/patches/001-indicator-support.patch194
-rw-r--r--veracrypt/debian/patches/001-user-guide-location.diff22
-rw-r--r--veracrypt/debian/patches/002-build-flags.diff33
-rw-r--r--veracrypt/debian/patches/004-fixup-install.diff52
-rw-r--r--veracrypt/debian/patches/series4
-rw-r--r--veracrypt/debian/prerm2
-rw-r--r--veracrypt/debian/references1
-rwxr-xr-xveracrypt/debian/rules12
-rwxr-xr-xveracrypt/debian/scripts/mount.veracrypt23
-rwxr-xr-xveracrypt/debian/stackrpms-diff.sh3
-rw-r--r--veracrypt/debian/veracrypt.install1
16 files changed, 298 insertions, 231 deletions
diff --git a/veracrypt/README.md b/veracrypt/README.md
index 1efc9b5..de20d12 100644
--- a/veracrypt/README.md
+++ b/veracrypt/README.md
@@ -1,16 +1,19 @@
# VeraCrypt upstream
https://www.veracrypt.fr/code/VeraCrypt/snapshot/VeraCrypt_1.24.tar.gz
https://gitlab.com/bgstack15/big-sources/raw/master/veracrypt/VeraCrypt_1.24.tar.gz
-Spec file forked from https://copr-be.cloud.fedoraproject.org/results/scx/veracrypt/fedora-27-x86_64/00657099-veracrypt/veracrypt.spec
+Rpm spec forked from [scx copr](https://copr-be.cloud.fedoraproject.org/results/scx/veracrypt/fedora-27-x86_64/00657099-veracrypt/veracrypt.spec which also provides) which also provides the GTK2/3 options
+My dpkg is now an overlay on top of [Unit193 on salsa](https://salsa.debian.org/debian-edu-pkg-team/veracrypt)
# Reason for being in stackrpms
Fedora does not package veracrypt because its license is tricky. Devuan does not package the application either.
# Alternatives
-https://copr.fedorainfracloud.org/coprs/pmdpalma/bucket/build/712274/
-https://copr-be.cloud.fedoraproject.org/results/scx/veracrypt/fedora-27-x86_64/00657099-veracrypt/veracrypt-1.21-3.fc27.src.rpm
-https://copr.fedorainfracloud.org/coprs/cyfrost/packages/package/veracrypt/
-Additional references are available in [credits.md](credits.md)
+* pmdpalma
+ * [fedora copr](https://copr.fedorainfracloud.org/coprs/pmdpalma/bucket/build/712274/)
+ * [opensuse variant](https://build.opensuse.org/package/view_file/home:pmdpalma:bucket/veracrypt/veracrypt.spec?expand=1)
+* [scx](https://copr-be.cloud.fedoraproject.org/results/scx/veracrypt/fedora-27-x86_64/00657099-veracrypt/veracrypt-1.21-3.fc27.src.rpm)
+* [cyfrost](https://copr.fedorainfracloud.org/coprs/cyfrost/packages/package/veracrypt/)
+* [Unit193 on Launchpad (Ubuntu)](https://launchpad.net/~unit193/+archive/ubuntu/encryption/+packages)
# Reverse dependency matrix
Distro | VeraCrypt version
@@ -18,4 +21,5 @@ Distro | VeraCrypt version
All | 1.24
# Differences from upstream
-None
+##Dpkg
+stackrpms/veracrypt/debian/stackrpms-diff.sh | vi -
diff --git a/veracrypt/credits.md b/veracrypt/credits.md
deleted file mode 100644
index cc48934..0000000
--- a/veracrypt/credits.md
+++ /dev/null
@@ -1,2 +0,0 @@
-* Provides variable for wxGTK[23] https://copr-be.cloud.fedoraproject.org/results/scx/veracrypt/fedora-27-x86_64/00657099-veracrypt/veracrypt.spec
-* opensuse variant https://build.opensuse.org/package/view_file/home:pmdpalma:bucket/veracrypt/veracrypt.spec?expand=1
diff --git a/veracrypt/debian/changelog b/veracrypt/debian/changelog
index 4edcb0c..e4aa435 100644
--- a/veracrypt/debian/changelog
+++ b/veracrypt/debian/changelog
@@ -1,110 +1,55 @@
veracrypt (1.24-Update4-1+devuan) obs; urgency=medium
- * 1.24-Update4 (January 23rd, 2020)
- - Linux
- * Fix regression that limited the size available for hidden volumes created on disk or partition.
-
- -- Ben Stack <bgstack15@gmail.com> Mon, 27 Jan 2020 08:55:59 -0500
-
-veracrypt (1.24-Update3-1+devuan) obs; urgency=medium
-
- * 1.24-Update3 (December 21st, 2019)
- - Linux
- * Fix console-only build to remove dependency on GTK that is not wanted on headless servers.
- * 1.24-Update2 (December 16th, 2019)
- - All OSes
- * clear AES key from stack memory when using non-optimized implementation. Doesn't apply to VeraCrypt official build (Reported and fixed by Hanno Böck)
- * Update Jitterentropy RNG Library to version 2.2.0
- * Start following IEEE 1541 agreed naming of bytes (KiB, MiB, GiB, TiB, PiB).
- * Various documentation enhancements.
- - Windows
- * Fix possible local privilege escalation vulnerability during execution of VeraCrypt Expander (CVE-2019-19501)
- * MBR bootloader:
- - workaround for SSD disks that don't allow write operations in BIOS mode with buffers less than 4096 bytes.
- - Don't restore MBR to VeraCrypt value if it is coming from a loader different from us or different from Microsoft one.
- * EFI bootloader:
- - Fix "ActionFailed" not working and add "ActionCancelled" to customize handling of user hitting ESC on password prompt
- - Fix F5 showing previous password after failed authentication attempt. Ensure that even wrong password value are cleared from memory.
- * Fix multi-OS boot compatibility by only setting VeraCrypt as first bootloader of the system if the current first bootloader is Windows one.
- * Add new registry flags for SystemFavoritesService to control updating of EFI BIOS boot menu on shutdown.
- * Allow system encrypted drive to be mounted in WindowsPE even if changing keyboard layout fails (reported and fixed by Sven Strickroth)
- * Enhancements to the mechanism preserving file timestamps, especially for keyfiles.
- * Fix RDRAND instruction not detected on AMD CPUs.
- * Detect cases where RDRAND is flawed (e.g. AMD Ryzen) to avoid using it if enabled by user.
- * Don't write extra 0x00 byte at the end of DcsProp file when modifying it through UI
- * Reduce memory usage of IOCTL_DISK_VERIFY handler used in disk verification by Windows.
- * Add switch /FastCreateFile for VeraCrypt Format.exe to speedup creation of large file container if quick format is selected.
- * Fix the checkbox for skipping verification of Rescue Disk not reflecting the value of /noisocheck switch specified in VeraCrypt Format command line.
- * check "TrueCrypt Mode" in password dialog when mounting a file container with .tc extension
- * Update XML languages files.
- - Linux
- * Fix regression causing admin password to be requested too many times in some cases
- * Fix off by one buffer overflow in function Process::Execute (Reported and fixed by Hanno Böck)
- * Make sure password gets deleted in case of internal error when mounting volume (Reported and fixed by Hanno Böck)
- * Fix passwords using Unicode characters not recognized in text mode.
- * Fix failure to run VeraCrypt binary built for console mode on headless machines.
- * Add switch to force the use of legacy maximum password length (64 UTF8 bytes)
- * Add CLI switch (--use-dummy-sudo-password) to force use of old sudo behavior of sending a dummy password
- * During uninstall, output error message to STDERR instead of STDOUT for better compatibility with package managers.
- * Make sector size mismatch error when mounting disks more verbose.
- * Speedup SHA256 in 64-bit mode by using assembly code.
- - MacOSX
- * Add switch to force the use of legacy maximum password length (64 UTF8 bytes)
- * Fix off by one buffer overflow in function Process::Execute (Reported and fixed by Hanno Böck)
- * Fix passwords using Unicode characters not recognized in text mode.
- * Make sector size mismatch error when mounting disks more verbose.
- * Speedup SHA256 in 64-bit mode by using assembly code.
- * Link against latest wxWidgets version 3.1.3
- * 1.24-Hotfix1 (October 27th, 2019)
- - Windows
- * Fix 1.24 regression that caused system favorites not to mount at boot if VeraCrypt freshly installed.
- * Fix failure to encrypt system if the current Windows username contains a Unicode non-ASCII character.
- * Make VeraCrypt Expander able to resume expansion of volumes whose previous expansion was aborted before it finishes.
- * Add "Quick Expand" option to VeraCrypt Expander to accelarate the expansion of large file containers.
- * Add several robustness checks and validation in case of system encryption to better handle some corner cases.
- * Minor UI and documentation changes.
- - Linux
- * Workaround gcc 4.4.7 bug under CentOS 6 that caused VeraCrypt built under CentOS 6 to crash when Whirlpool hash is used.
- * Fix "incorrect password attempt" written to /var/log/auth.log when mounting volumes.
- * Fix dropping file in UI not showing its correct path , specifically under GTK-3.
- * Add missing JitterEntropy implementation/
- - MacOSX
- * Fix some devices and partitions not showing in the device selection dialog under OSX 10.13 and newer.
- * Fix keyboard tab navigation between password fields in "Volume Password" page of volume creation wizard.
- * Add missing JitterEntropy implementation/
- * Support APFS filesystem for creation volumes.
- * Support Dark Mode.
-
- -- Ben Stack <bgstack15@gmail.com> Tue, 21 Jan 2020 21:03:02 -0500
-
-veracrypt (1.24-2+devuan) obs; urgency=low
-
- * Attempt a build with gtk3
-
- -- B Stack <bgstack15@gmail.com> Thu, 21 Nov 2019 10:58:35 -0500
-
-veracrypt (1.24-1+devuan) obs; urgency=low
-
- * New upstream version
--- B Stack <bgstack15@gmail.com> Tue, 08 Oct 2019 11:31 -0400
-
-veracrypt (1.23-2+devuan) manual; urgency=low
-
- * Re-release to match current naming standard
-
- -- B Stack <bgstack15@gmail.com> Sat, 29 Jun 2019 14:54 -0400
-
-veracrypt (1.23-1devuan) manual; urgency=low
-
- * Initial release for devuan
-
- -- B Stack <bgstack15@gmail.com> Wed, 30 Jan 2019 11:31:00 -0500
-
-veracrypt (1.23-0vanir1~18.10) cosmic; urgency=medium
-
- * No-change backport to cosmic
-
- -- Unit 193 <unit193@ubuntu.com> Sat, 15 Sep 2018 19:15:42 -0400
+ * adapted for stackrpms
+
+ -- Ben Stack <bgstack15@gmail.com> Mon 25, May 2020 10:23:50 -0400
+
+veracrypt (1.24-Update4-0vanir1) unstable; urgency=medium
+
+ * New upstream version 1.24-Update4
+ * Update Standards-Version to 4.5.0.
+ * d/compat, d/control:
+ - Drop d/compat in favor of debhelper-compat, bump to 12.
+
+ -- Unit 193 <unit193@ubuntu.com> Mon, 27 Jan 2020 18:31:30 -0500
+
+veracrypt (1.24-Update2-0vanir1) unstable; urgency=medium
+
+ * d/prerm: Send error messages to STDERR.
+ * New upstream version 1.24-Update2
+ - Drop upstream patches, refresh remaining.
+
+ -- Unit 193 <unit193@ubuntu.com> Thu, 19 Dec 2019 17:59:06 -0500
+
+veracrypt (1.24-Hotfix1-0vanir1) unstable; urgency=medium
+
+ * New upstream version 1.24-Hotfix1
+ - Refresh patches.
+ * d/p/002-Fix_compilation_on_non-x86_platforms.patch:
+ - Grab upstream commit to fix compilation on non-x86 platforms.
+ * d/p/003-Fix_compilation_error_if_type___u64_already_defined.patch:
+ - Fix compilation error if type __u64 is already defined by gcc.
+
+ -- Unit 193 <unit193@ubuntu.com> Wed, 30 Oct 2019 19:07:18 -0400
+
+veracrypt (1.24-0vanir1) unstable; urgency=medium
+
+ * New upstream version 1.24
+ - Drop patches applied upstream, refresh remaining patch.
+ * d/p/series, d/rules:
+ - Drop patch in favor of packing (C,CXX,LD)FLAGS into TC_EXTRA_$1.
+ * d/p/002-indicator-support.diff: Update to account for GTK3 wxgtk.
+ * d/control:
+ - Update build-depends for gtk3.
+ - Set R³ to no.
+ * d/rules:
+ - Derive ARCH from DEB_HOST_ARCH.
+ - Remove extra license file and veracrypt-uninstall.sh.
+ * d/scripts/mount.veracrypt, d/veracrypt.install:
+ - Add a script which allows use of VeraCrypt in fstab.
+ * Update Standards-Version to 4.4.1.
+
+ -- Unit 193 <unit193@ubuntu.com> Tue, 08 Oct 2019 01:27:02 -0400
veracrypt (1.23-0vanir1) unstable; urgency=medium
diff --git a/veracrypt/debian/compat b/veracrypt/debian/compat
index b4de394..48082f7 100644
--- a/veracrypt/debian/compat
+++ b/veracrypt/debian/compat
@@ -1 +1 @@
-11
+12
diff --git a/veracrypt/debian/control b/veracrypt/debian/control
index b33eb0e..3c964b9 100644
--- a/veracrypt/debian/control
+++ b/veracrypt/debian/control
@@ -2,13 +2,14 @@ Source: veracrypt
Section: non-free/utils
Priority: optional
Maintainer: B Stack <bgstack15@gmail.com>
-Build-Depends: debhelper (>= 11),
- libayatana-appindicator-dev | libappindicator-dev,
+Build-Depends: debhelper-compat (= 12),
+ libayatana-appindicator3-dev | libappindicator3-dev,
libfuse-dev,
libwxgtk3.0-gtk3-dev,
pkg-config,
yasm [any-i386 any-amd64]
-Standards-Version: 4.2.1
+Rules-Requires-Root: no
+Standards-Version: 4.5.0
Homepage: https://veracrypt.fr/
Package: veracrypt
diff --git a/veracrypt/debian/patches/001-indicator-support.patch b/veracrypt/debian/patches/001-indicator-support.patch
new file mode 100644
index 0000000..54414c7
--- /dev/null
+++ b/veracrypt/debian/patches/001-indicator-support.patch
@@ -0,0 +1,194 @@
+From: Stefan Sundin <stefan@stefansundin.com>, Unit 193 <unit193@ubuntu.com>
+Date: Fri, 06 July 2017
+Subject: Add support for Ubuntu and Ayatana application indicators.
+
+This patch adds compile-time support for application indicators.
+
+Forwarded: no
+
+Signed-off-by: Unit 193 <unit193@ubuntu.com>
+
+Index: veracrypt/src/Main/Forms/MainFrame.cpp
+===================================================================
+--- veracrypt.orig/src/Main/Forms/MainFrame.cpp
++++ veracrypt/src/Main/Forms/MainFrame.cpp
+@@ -46,6 +46,9 @@ namespace VeraCrypt
+ DEFINE_EVENT_TYPE(wxEVT_COMMAND_SHOW_WARNING)
+
+ MainFrame::MainFrame (wxWindow* parent) : MainFrameBase (parent),
++#ifdef HAVE_INDICATORS
++ indicator (NULL),
++#endif
+ ListItemRightClickEventPending (false),
+ SelectedItemIndex (-1),
+ SelectedSlotNumber (0),
+@@ -1557,6 +1560,32 @@ namespace VeraCrypt
+ }
+ }
+
++#ifdef HAVE_INDICATORS
++ void MainFrame::SetBusy (bool busy)
++ {
++ gtk_widget_set_sensitive(indicator_item_mountfavorites, !busy);
++ gtk_widget_set_sensitive(indicator_item_dismountall, !busy);
++ gtk_widget_set_sensitive(indicator_item_prefs, !busy);
++ gtk_widget_set_sensitive(indicator_item_exit, !busy /*&& CanExit()*/);
++ }
++
++ static void IndicatorOnShowHideMenuItemSelected (GtkWidget *widget, MainFrame *self) { Gui->SetBackgroundMode (!Gui->IsInBackgroundMode()); }
++ static void IndicatorOnMountAllFavoritesMenuItemSelected (GtkWidget *widget, MainFrame *self) { self->SetBusy(true); self->MountAllFavorites (); self->SetBusy(false); }
++ static void IndicatorOnDismountAllMenuItemSelected (GtkWidget *widget, MainFrame *self) { self->SetBusy(true); Gui->DismountAllVolumes(); self->SetBusy(false); }
++ static void IndicatorOnPreferencesMenuItemSelected (GtkWidget *widget, MainFrame *self) {
++ self->SetBusy(true);
++ PreferencesDialog dialog (self);
++ dialog.ShowModal();
++ self->SetBusy(false);
++ }
++ static void IndicatorOnExitMenuItemSelected (GtkWidget *widget, MainFrame *self) {
++ self->SetBusy(true);
++ if (Core->GetMountedVolumes().empty() || Gui->AskYesNo (LangString ["CONFIRM_EXIT"], false, true))
++ self->Close (true);
++ self->SetBusy(false);
++ }
++
++#endif
+ void MainFrame::ShowTaskBarIcon (bool show)
+ {
+ if (!show && mTaskBarIcon->IsIconInstalled())
+@@ -1566,8 +1595,47 @@ namespace VeraCrypt
+ else if (show && !mTaskBarIcon->IsIconInstalled())
+ {
+ #ifndef TC_MACOSX
++#ifndef HAVE_INDICATORS
+ mTaskBarIcon->SetIcon (Resources::GetVeraCryptIcon(), L"VeraCrypt");
+ #endif
++#endif
++#ifdef HAVE_INDICATORS
++ if (indicator == NULL) {
++ indicator = app_indicator_new ("veracrypt", "veracrypt", APP_INDICATOR_CATEGORY_APPLICATION_STATUS);
++ app_indicator_set_status (indicator, APP_INDICATOR_STATUS_ACTIVE);
++
++ GtkWidget *menu = gtk_menu_new();
++
++ indicator_item_showhide = gtk_menu_item_new_with_label (LangString[Gui->IsInBackgroundMode() ? "SHOW_TC" : "HIDE_TC"].mb_str());
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_showhide);
++ g_signal_connect (indicator_item_showhide, "activate", G_CALLBACK (IndicatorOnShowHideMenuItemSelected), this);
++
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new());
++
++ indicator_item_mountfavorites = gtk_menu_item_new_with_label ("Mount All Favorite Volumes");
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_mountfavorites);
++ g_signal_connect (indicator_item_mountfavorites, "activate", G_CALLBACK (IndicatorOnMountAllFavoritesMenuItemSelected), this);
++
++ indicator_item_dismountall = gtk_menu_item_new_with_label ("Dismount All Mounted Volumes");
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_dismountall);
++ g_signal_connect (indicator_item_dismountall, "activate", G_CALLBACK (IndicatorOnDismountAllMenuItemSelected), this);
++
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new());
++
++ indicator_item_prefs = gtk_menu_item_new_with_label ("Preferences...");
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_prefs);
++ g_signal_connect (indicator_item_prefs, "activate", G_CALLBACK (IndicatorOnPreferencesMenuItemSelected), this);
++
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), gtk_separator_menu_item_new());
++
++ indicator_item_exit = gtk_menu_item_new_with_label ("Exit");
++ gtk_menu_shell_append (GTK_MENU_SHELL (menu), indicator_item_exit);
++ g_signal_connect (indicator_item_exit, "activate", G_CALLBACK (IndicatorOnExitMenuItemSelected), this);
++
++ gtk_widget_show_all (menu);
++ app_indicator_set_menu (indicator, GTK_MENU (menu));
++ }
++#endif
+ }
+ }
+
+Index: veracrypt/src/Main/Forms/MainFrame.h
+===================================================================
+--- veracrypt.orig/src/Main/Forms/MainFrame.h
++++ veracrypt/src/Main/Forms/MainFrame.h
+@@ -13,6 +13,16 @@
+ #ifndef TC_HEADER_Main_Forms_MainFrame
+ #define TC_HEADER_Main_Forms_MainFrame
+
++#ifdef HAVE_INDICATORS
++#define GSocket GlibGSocket
++#ifdef UBUNTU_INDICATOR
++#include <libappindicator/app-indicator.h>
++#elif AYATANA_INDICATOR
++#include <libayatana-appindicator/app-indicator.h>
++#endif
++#undef GSocket
++#endif
++
+ #include "Forms.h"
+ #include "ChangePasswordDialog.h"
+ #ifdef TC_MACOSX
+@@ -38,6 +48,18 @@ namespace VeraCrypt
+ static FilePath GetShowRequestFifoPath () { return Application::GetConfigFilePath (L".show-request-queue", true); }
+ #endif
+
++ void MountAllFavorites ();
++
++#ifdef HAVE_INDICATORS
++ AppIndicator *indicator;
++ GtkWidget *indicator_item_showhide;
++ GtkWidget *indicator_item_mountfavorites;
++ GtkWidget *indicator_item_dismountall;
++ GtkWidget *indicator_item_prefs;
++ GtkWidget *indicator_item_exit;
++ void SetBusy (bool busy);
++
++#endif
+ protected:
+ enum
+ {
+@@ -71,7 +93,6 @@ namespace VeraCrypt
+ void LoadFavoriteVolumes ();
+ void LoadPreferences ();
+ void MountAllDevices ();
+- void MountAllFavorites ();
+ void MountVolume ();
+ void OnAboutMenuItemSelected (wxCommandEvent& event);
+ void OnQuit(wxCommandEvent& event) { Close(true); }
+Index: veracrypt/src/Main/GraphicUserInterface.cpp
+===================================================================
+--- veracrypt.orig/src/Main/GraphicUserInterface.cpp
++++ veracrypt/src/Main/GraphicUserInterface.cpp
+@@ -1754,6 +1754,10 @@ namespace VeraCrypt
+ }
+
+ BackgroundMode = state;
++
++#ifdef HAVE_INDICATORS
++ gtk_menu_item_set_label ((GtkMenuItem*) ((MainFrame*) mMainFrame)->indicator_item_showhide, LangString[Gui->IsInBackgroundMode() ? "SHOW_TC" : "HIDE_TC"].mb_str());
++#endif
+ }
+
+ void GraphicUserInterface::SetListCtrlColumnWidths (wxListCtrl *listCtrl, list <int> columnWidthPermilles, bool hasVerticalScrollbar) const
+Index: veracrypt/src/Makefile
+===================================================================
+--- veracrypt.orig/src/Makefile
++++ veracrypt/src/Makefile
+@@ -58,6 +58,21 @@ export WXCONFIG_CFLAGS :=
+ export WXCONFIG_CXXFLAGS :=
+ WX_ROOT ?= ..
+
++ifneq (,$(findstring gtk3,$(shell $(WX_CONFIG) --selected-config)))
++ INDICATOR_LIBRARY=appindicator3-0.1
++else
++ INDICATOR_LIBRARY=appindicator-0.1
++endif
++
++ifeq ($(shell pkg-config --exists $(INDICATOR_LIBRARY) && echo $$?),0)
++ export C_CXX_FLAGS += -DHAVE_INDICATORS -DUBUNTU_INDICATOR
++ export LIBS += $(shell pkg-config --libs $(INDICATOR_LIBRARY))
++ C_CXX_FLAGS += $(shell pkg-config --cflags $(INDICATOR_LIBRARY))
++else ifeq ($(shell pkg-config --exists ayatana-$(INDICATOR_LIBRARY) && echo $$?),0)
++ export C_CXX_FLAGS += -DHAVE_INDICATORS -DAYATANA_INDICATOR
++ export LIBS += $(shell pkg-config --libs ayatana-$(INDICATOR_LIBRARY))
++ C_CXX_FLAGS += $(shell pkg-config --cflags ayatana-$(INDICATOR_LIBRARY))
++endif
+
+ export TC_BUILD_CONFIG := Release
+
diff --git a/veracrypt/debian/patches/001-user-guide-location.diff b/veracrypt/debian/patches/001-user-guide-location.diff
deleted file mode 100644
index e7bddf2..0000000
--- a/veracrypt/debian/patches/001-user-guide-location.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Francis Russell <francis@unchartedbackwaters.co.uk>
-Date: Mon, 14 Jan 2013 11:44
-Subject: Move manual
-
-The user manual is installed in /usr/share/doc/veracrypt as opposed to
-/usr/share/veracrypt/doc.
-
-Forwarded: no
-
-Index: veracrypt/src/Main/GraphicUserInterface.cpp
-===================================================================
---- a/src/Main/GraphicUserInterface.cpp 2017-06-29 17:10:39.000000000 -0400
-+++ b/src/Main/GraphicUserInterface.cpp 2017-06-30 16:30:20.842509262 -0400
-@@ -1309,7 +1309,7 @@
- #elif defined (TC_MACOSX)
- htmlPath += L"/../Resources/doc/HTML/";
- #elif defined (TC_UNIX)
-- htmlPath = L"/usr/share/veracrypt/doc/HTML/";
-+ htmlPath = L"/usr/share/doc/veracrypt/HTML/";
- #else
- localFile = false;
- #endif
diff --git a/veracrypt/debian/patches/002-build-flags.diff b/veracrypt/debian/patches/002-build-flags.diff
deleted file mode 100644
index da0bdc6..0000000
--- a/veracrypt/debian/patches/002-build-flags.diff
+++ /dev/null
@@ -1,33 +0,0 @@
-From: Stefan Sundin <stefan@stefansundin.com>
-Date: Fri, 12 Sept 2013
-Subject: Add build flags
-
-Forwarded: no
-
-Index: veracrypt/src/Makefile
-===================================================================
---- veracrypt.orig/src/Makefile
-+++ veracrypt/src/Makefile
-@@ -57,6 +57,10 @@ export WXCONFIG_CFLAGS :=
- export WXCONFIG_CXXFLAGS :=
- WX_ROOT ?= ..
-
-+CPPFLAGS+=$(shell dpkg-buildflags --get CPPFLAGS)
-+CFLAGS+=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) -Wno-sequence-point
-+CXXFLAGS+=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS) -Wno-narrowing
-+LFLAGS+=$(shell dpkg-buildflags --get LDFLAGS)
-
- export TC_BUILD_CONFIG := Release
-
-diff -Naur 1.24-Update3/src/Build/Include/Makefile.inc 1.24-Update3.debian/src/Build/Include/Makefile.inc
---- 1.24-Update3/src/Build/Include/Makefile.inc 2019-12-22 10:35:56.000000000 -0500
-+++ 1.24-Update3.debian/src/Build/Include/Makefile.inc 2020-01-21 21:16:00.628555627 -0500
-@@ -14,7 +14,7 @@
-
- clean:
- @echo Cleaning $(NAME)
-- rm -f $(APPNAME) $(NAME).a $(OBJS) $(OBJSEX) $(OBJSNOOPT) $(OBJS:.o=.d) $(OBJSEX:.oo=.d) $(OBJSNOOPT:.o0=.d) *.gch
-+ rm -f $(APPNAME) $(NAME).a $(OBJS) $(OBJSNOOPT) $(OBJS:.o=.d) $(OBJSEX:.oo=.d) $(OBJSNOOPT:.o0=.d) *.gch $(RESOURCES) SystemPrecompiled.d
-
- %.o: %.c
- @echo Compiling $(<F)
diff --git a/veracrypt/debian/patches/004-fixup-install.diff b/veracrypt/debian/patches/004-fixup-install.diff
deleted file mode 100644
index 8257d10..0000000
--- a/veracrypt/debian/patches/004-fixup-install.diff
+++ /dev/null
@@ -1,52 +0,0 @@
-Description: Fixup the install target so it's usable.
- - Use a path that works from the top src dir.
- - Inverse 'doc' and 'veracrypt' in /usr/share/veracrypt/doc/
- - Don't install the uninstall script nor extra License.txt file.
- - Use our own veracrypt.desktop file.
-Author: Unit 193 <unit193@ubuntu.com>
-
-Origin: vendor
-Forwarded: no
-Last-Update: 2017-07-10
-
---- veracrypt-1.21.orig/src/Main/Main.make
-+++ veracrypt-1.21/src/Main/Main.make
-@@ -236,25 +236,25 @@ endif
-
- ifeq "$(PLATFORM)" "Linux"
- prepare: $(APPNAME)
-- rm -fr $(PWD)/Setup/Linux/usr
-- mkdir -p $(PWD)/Setup/Linux/usr/bin
-- mkdir -p $(PWD)/Setup/Linux/usr/share/$(APPNAME)/doc/HTML
-- cp $(PWD)/Main/$(APPNAME) $(PWD)/Setup/Linux/usr/bin/$(APPNAME)
-- cp $(PWD)/Setup/Linux/$(APPNAME)-uninstall.sh $(PWD)/Setup/Linux/usr/bin/$(APPNAME)-uninstall.sh
-- chmod +x $(PWD)/Setup/Linux/usr/bin/$(APPNAME)-uninstall.sh
-- cp $(PWD)/License.txt $(PWD)/Setup/Linux/usr/share/$(APPNAME)/doc/License.txt
-- cp $(PWD)/../doc/html/* "$(PWD)/Setup/Linux/usr/share/$(APPNAME)/doc/HTML"
-+ rm -fr $(CURDIR)/../Setup/Linux/usr
-+ mkdir -p $(CURDIR)/../Setup/Linux/usr/bin
-+ mkdir -p $(CURDIR)/../Setup/Linux/usr/share/doc/$(APPNAME)/HTML
-+ cp $(CURDIR)/$(APPNAME) $(CURDIR)/../Setup/Linux/usr/bin/$(APPNAME)
-+# cp $(CURDIR)/../Setup/Linux/$(APPNAME)-uninstall.sh $(CURDIR)/../Setup/Linux/usr/bin/$(APPNAME)-uninstall.sh
-+# chmod +x $(CURDIR)/../Setup/Linux/usr/bin/$(APPNAME)-uninstall.sh
-+# cp $(CURDIR)/../License.txt $(CURDIR)/../Setup/Linux/usr/share/doc/$(APPNAME)/License.txt
-+ cp $(CURDIR)/../../doc/html/* "$(CURDIR)/../Setup/Linux/usr/share/doc/$(APPNAME)/HTML"
-
- ifndef TC_NO_GUI
-- mkdir -p $(PWD)/Setup/Linux/usr/share/applications
-- mkdir -p $(PWD)/Setup/Linux/usr/share/pixmaps
-- cp $(PWD)/Resources/Icons/VeraCrypt-256x256.xpm $(PWD)/Setup/Linux/usr/share/pixmaps/$(APPNAME).xpm
-- cp $(PWD)/Setup/Linux/$(APPNAME).desktop $(PWD)/Setup/Linux/usr/share/applications/$(APPNAME).desktop
-+# mkdir -p $(CURDIR)/../Setup/Linux/usr/share/applications
-+ mkdir -p $(CURDIR)/../Setup/Linux/usr/share/pixmaps
-+ cp $(CURDIR)/../Resources/Icons/VeraCrypt-256x256.xpm $(CURDIR)/../Setup/Linux/usr/share/pixmaps/$(APPNAME).xpm
-+# cp $(CURDIR)/../Setup/Linux/$(APPNAME).desktop $(CURDIR)/../Setup/Linux/usr/share/applications/$(APPNAME).desktop
- endif
-
-
- install: prepare
-- cp -R $(CURDIR)/Setup/Linux/usr $(DESTDIR)/.
-+ cp -R $(CURDIR)/../Setup/Linux/usr $(DESTDIR)/
-
- ifeq "$(TC_BUILD_CONFIG)" "Release"
- package: prepare
diff --git a/veracrypt/debian/patches/series b/veracrypt/debian/patches/series
index 7e9c1bf..b3dc56a 100644
--- a/veracrypt/debian/patches/series
+++ b/veracrypt/debian/patches/series
@@ -1,4 +1,2 @@
-#001-user-guide-location.diff
-002-build-flags.diff
-#004-fixup-install.diff
+001-indicator-support.patch
vc_devuan.patch
diff --git a/veracrypt/debian/prerm b/veracrypt/debian/prerm
index baa2e73..887e78f 100644
--- a/veracrypt/debian/prerm
+++ b/veracrypt/debian/prerm
@@ -5,7 +5,7 @@ set -e
case "$1" in
remove|upgrade|deconfigure|failed-upgrade)
(mount | grep -q veracrypt_aux_mnt) &&
- echo "Error: all VeraCrypt volumes must be unmounted before upgrade." && exit 1
+ echo "Error: all VeraCrypt volumes must be unmounted before upgrade." >&2 && exit 1
exit 0
;;
diff --git a/veracrypt/debian/references b/veracrypt/debian/references
deleted file mode 100644
index a45addf..0000000
--- a/veracrypt/debian/references
+++ /dev/null
@@ -1 +0,0 @@
-https://launchpad.net/~unit193/+archive/ubuntu/encryption/+packages
diff --git a/veracrypt/debian/rules b/veracrypt/debian/rules
index 5cb3e9e..b02f64e 100755
--- a/veracrypt/debian/rules
+++ b/veracrypt/debian/rules
@@ -4,19 +4,27 @@
#export DH_VERBOSE=1
DPKG_EXPORT_BUILDFLAGS = 1
-include /usr/share/dpkg/buildflags.mk
+include /usr/share/dpkg/default.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+export TC_EXTRA_CFLAGS = $(CFLAGS) $(CPPFLAGS)
+export TC_EXTRA_CXXFLAGS = $(CXXFLAGS) $(CPPFLAGS)
+export TC_EXTRA_LFLAGS = $(LDFLAGS)
+
%:
dh $@ --sourcedirectory=src
override_dh_auto_build:
- dh_auto_build -- VERBOSE=1 NOSTRIP=1
+ dh_auto_build -- VERBOSE=1 NOSTRIP=1 ARCH=$(DEB_HOST_ARCH)
unset DISPLAY && src/Main/veracrypt --text --help 2>/dev/null | debian/veracrypt_help_to_troff.pl > veracrypt.1
override_dh_clean:
dh_clean veracrypt.1
+override_dh_install:
+ dh_install
+ rm -f debian/veracrypt/usr/share/doc/veracrypt/License.txt debian/veracrypt/usr/bin/veracrypt-uninstall.sh
+
override_dh_installinit:
dh_installinit --no-start -- stop 10 0 1 6 .
diff --git a/veracrypt/debian/scripts/mount.veracrypt b/veracrypt/debian/scripts/mount.veracrypt
new file mode 100755
index 0000000..499ad9b
--- /dev/null
+++ b/veracrypt/debian/scripts/mount.veracrypt
@@ -0,0 +1,23 @@
+#!/bin/bash
+DEV="$1"
+MNTPT="$2"
+VCOPTIONS=""
+OPTIONS=""
+
+shift 3
+IFS=','
+for arg in $*; do
+ case "$arg" in
+ truecrypt) VCOPTIONS=(${VCOPTIONS[*]} --truecrypt);;
+ system) VCOPTIONS=(${VCOPTIONS[*]} --mount-options=system);;
+ fs=*) VCOPTIONS=(${VCOPTIONS[*]} --filesystem=${arg#*=});;
+ keyfiles=*) VCOPTIONS=(${VCOPTIONS[*]} --keyfiles=${arg#*=});;
+ password=*) VCOPTIONS=(${VCOPTIONS[*]} --password=${arg#*=});;
+ pim=*) VCOPTIONS=(${VCOPTIONS[*]} --pim==${arg#*=});;
+ protect-hidden=*) VCOPTIONS=(${VCOPTIONS[*]} --protect-hidden=${arg#*=});;
+ slot=*) VCOPTIONS=(${VCOPTIONS[*]} --slot=${arg#*=});;
+ *) OPTIONS="${OPTIONS}${arg},";;
+ esac
+done
+
+/usr/bin/veracrypt --non-interactive --text ${VCOPTIONS[*]} --fs-options="${OPTIONS%,*}" ${DEV} ${MNTPT}
diff --git a/veracrypt/debian/stackrpms-diff.sh b/veracrypt/debian/stackrpms-diff.sh
new file mode 100755
index 0000000..42a70f6
--- /dev/null
+++ b/veracrypt/debian/stackrpms-diff.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+# Please make sure this salsa mirror is on branch upstream
+diff -x 'stackrpms-diff.sh' -x '.*swp' -Naur veracrypt/salsa/debian stackrpms/veracrypt/debian
diff --git a/veracrypt/debian/veracrypt.install b/veracrypt/debian/veracrypt.install
index 779a946..bed2dba 100644
--- a/veracrypt/debian/veracrypt.install
+++ b/veracrypt/debian/veracrypt.install
@@ -1,4 +1,5 @@
debian/scripts/30veracrypt usr/lib/pm-utils/sleep.d/
debian/scripts/veracrypt lib/systemd/system-sleep/
+debian/scripts/mount.veracrypt usr/bin/
debian/veracrypt.desktop usr/share/applications/
debian/veracrypt.xml usr/share/mime/packages/
bgstack15