mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-01-14 00:39:53 -05:00
Merge branch 'release/2.2.3' into develop
This commit is contained in:
commit
be88e93820
@ -68,10 +68,6 @@ get_apprun
|
|||||||
copy_deps
|
copy_deps
|
||||||
delete_blacklisted
|
delete_blacklisted
|
||||||
|
|
||||||
# remove dbus and systemd libs as they are not blacklisted
|
|
||||||
find . -name libdbus-1.so.3 -exec rm {} \;
|
|
||||||
find . -name libsystemd.so.0 -exec rm {} \;
|
|
||||||
|
|
||||||
get_desktop
|
get_desktop
|
||||||
get_icon
|
get_icon
|
||||||
cat << EOF > ./usr/bin/keepassxc_env
|
cat << EOF > ./usr/bin/keepassxc_env
|
||||||
@ -91,8 +87,8 @@ else
|
|||||||
fi
|
fi
|
||||||
EOF
|
EOF
|
||||||
chmod +x ./usr/bin/keepassxc_env
|
chmod +x ./usr/bin/keepassxc_env
|
||||||
sed -i 's/Exec=keepassxc/Exec=keepassxc_env/' org.keepassxc.desktop
|
sed -i 's/Exec=keepassxc/Exec=keepassxc_env/' org.${LOWERAPP}.desktop
|
||||||
get_desktopintegration $LOWERAPP
|
get_desktopintegration "org.${LOWERAPP}"
|
||||||
|
|
||||||
GLIBC_NEEDED=$(glibc_needed)
|
GLIBC_NEEDED=$(glibc_needed)
|
||||||
|
|
||||||
|
76
Dockerfile
76
Dockerfile
@ -14,44 +14,72 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
FROM centos:7
|
FROM ubuntu:14.04
|
||||||
|
|
||||||
|
ENV QT5_VERSION=59
|
||||||
|
ENV QT5_PPA_VERSION=${QT5_VERSION}2
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& curl "https://copr.fedorainfracloud.org/coprs/bugzy/keepassxc/repo/epel-7/bugzy-keepassxc-epel-7.repo" \
|
&& apt-get update -y \
|
||||||
> /etc/yum.repos.d/bugzy-keepassxc-epel-7.repo
|
&& apt-get -y install software-properties-common
|
||||||
|
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& yum clean -y all \
|
&& add-apt-repository ppa:beineri/opt-qt${QT5_PPA_VERSION}-trusty
|
||||||
&& yum install -y epel-release \
|
|
||||||
&& yum upgrade -y
|
RUN set -x \
|
||||||
|
&& apt-get update -y \
|
||||||
|
&& apt-get upgrade -y
|
||||||
|
|
||||||
# build and runtime dependencies
|
# build and runtime dependencies
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& yum install -y \
|
&& apt-get install -y \
|
||||||
make \
|
|
||||||
automake \
|
|
||||||
gcc-c++ \
|
|
||||||
cmake3 \
|
cmake3 \
|
||||||
libgcrypt16-devel \
|
g++ \
|
||||||
qt5-qtbase-devel \
|
libgcrypt20-dev \
|
||||||
qt5-linguist \
|
qt${QT5_VERSION}base \
|
||||||
qt5-qttools \
|
qt${QT5_VERSION}tools \
|
||||||
zlib-devel \
|
qt${QT5_VERSION}x11extras \
|
||||||
qt5-qtx11extras \
|
zlib1g-dev \
|
||||||
qt5-qtx11extras-devel \
|
libxi-dev \
|
||||||
libXi-devel \
|
libxtst-dev \
|
||||||
libXtst-devel \
|
mesa-common-dev
|
||||||
libyubikey-devel \
|
|
||||||
ykpers-devel
|
ENV CMAKE_PREFIX_PATH=/opt/qt${QT5_VERSION}/lib/cmake
|
||||||
|
ENV LD_LIBRARY_PATH=/opt/qt${QT5_VERSION}/lib
|
||||||
|
RUN set -x \
|
||||||
|
&& echo /opt/qt${QT_VERSION}/lib > /etc/ld.so.conf.d/qt${QT5_VERSION}.conf
|
||||||
|
|
||||||
# AppImage dependencies
|
# AppImage dependencies
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& yum install -y \
|
&& apt-get install -y \
|
||||||
wget \
|
wget \
|
||||||
fuse-libs
|
libfuse2
|
||||||
|
|
||||||
|
# build libyubikey
|
||||||
|
ENV YUBIKEY_VERSION=1.13
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& ln -s /usr/bin/cmake3 /usr/bin/cmake
|
&& wget "https://developers.yubico.com/yubico-c/Releases/libyubikey-${YUBIKEY_VERSION}.tar.gz" \
|
||||||
|
&& tar xf libyubikey-${YUBIKEY_VERSION}.tar.gz \
|
||||||
|
&& cd libyubikey-${YUBIKEY_VERSION} \
|
||||||
|
&& ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& cd .. \
|
||||||
|
&& rm -Rf libyubikey-${YUBIKEY_VERSION}*
|
||||||
|
|
||||||
|
# build libykpers-1
|
||||||
|
ENV YKPERS_VERSION=1.18.0
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get install -y libusb-dev
|
||||||
|
RUN set -x \
|
||||||
|
&& wget "https://developers.yubico.com/yubikey-personalization/Releases/ykpers-${YKPERS_VERSION}.tar.gz" \
|
||||||
|
&& tar xf ykpers-${YKPERS_VERSION}.tar.gz \
|
||||||
|
&& cd ykpers-${YKPERS_VERSION} \
|
||||||
|
&& ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& cd .. \
|
||||||
|
&& rm -Rf ykpers-${YKPERS_VERSION}*
|
||||||
|
|
||||||
VOLUME /keepassxc/src
|
VOLUME /keepassxc/src
|
||||||
VOLUME /keepassxc/out
|
VOLUME /keepassxc/out
|
||||||
|
@ -95,11 +95,16 @@ void DatabaseOpenWidget::showEvent(QShowEvent* event)
|
|||||||
m_ui->editPassword->setFocus();
|
m_ui->editPassword->setFocus();
|
||||||
|
|
||||||
#ifdef WITH_XC_YUBIKEY
|
#ifdef WITH_XC_YUBIKEY
|
||||||
connect(YubiKey::instance(), SIGNAL(detected(int,bool)), SLOT(yubikeyDetected(int,bool)), Qt::QueuedConnection);
|
// showEvent() may be called twice, so make sure we are only polling once
|
||||||
|
if (!m_yubiKeyBeingPolled) {
|
||||||
|
connect(YubiKey::instance(), SIGNAL(detected(int, bool)), SLOT(yubikeyDetected(int, bool)),
|
||||||
|
Qt::QueuedConnection);
|
||||||
connect(YubiKey::instance(), SIGNAL(detectComplete()), SLOT(yubikeyDetectComplete()), Qt::QueuedConnection);
|
connect(YubiKey::instance(), SIGNAL(detectComplete()), SLOT(yubikeyDetectComplete()), Qt::QueuedConnection);
|
||||||
connect(YubiKey::instance(), SIGNAL(notFound()), SLOT(noYubikeyFound()), Qt::QueuedConnection);
|
connect(YubiKey::instance(), SIGNAL(notFound()), SLOT(noYubikeyFound()), Qt::QueuedConnection);
|
||||||
|
|
||||||
pollYubikey();
|
pollYubikey();
|
||||||
|
m_yubiKeyBeingPolled = true;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,6 +115,7 @@ void DatabaseOpenWidget::hideEvent(QHideEvent* event)
|
|||||||
#ifdef WITH_XC_YUBIKEY
|
#ifdef WITH_XC_YUBIKEY
|
||||||
// Don't listen to any Yubikey events if we are hidden
|
// Don't listen to any Yubikey events if we are hidden
|
||||||
disconnect(YubiKey::instance(), 0, this, 0);
|
disconnect(YubiKey::instance(), 0, this, 0);
|
||||||
|
m_yubiKeyBeingPolled = false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,10 +317,12 @@ void DatabaseOpenWidget::yubikeyDetectComplete()
|
|||||||
m_ui->checkChallengeResponse->setEnabled(true);
|
m_ui->checkChallengeResponse->setEnabled(true);
|
||||||
m_ui->buttonRedetectYubikey->setEnabled(true);
|
m_ui->buttonRedetectYubikey->setEnabled(true);
|
||||||
m_ui->yubikeyProgress->setVisible(false);
|
m_ui->yubikeyProgress->setVisible(false);
|
||||||
|
m_yubiKeyBeingPolled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DatabaseOpenWidget::noYubikeyFound()
|
void DatabaseOpenWidget::noYubikeyFound()
|
||||||
{
|
{
|
||||||
m_ui->buttonRedetectYubikey->setEnabled(true);
|
m_ui->buttonRedetectYubikey->setEnabled(true);
|
||||||
m_ui->yubikeyProgress->setVisible(false);
|
m_ui->yubikeyProgress->setVisible(false);
|
||||||
|
m_yubiKeyBeingPolled = false;
|
||||||
}
|
}
|
||||||
|
@ -73,6 +73,7 @@ protected:
|
|||||||
QString m_filename;
|
QString m_filename;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool m_yubiKeyBeingPolled = false;
|
||||||
Q_DISABLE_COPY(DatabaseOpenWidget)
|
Q_DISABLE_COPY(DatabaseOpenWidget)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -884,7 +884,7 @@ void MainWindow::toggleWindow()
|
|||||||
raise();
|
raise();
|
||||||
activateWindow();
|
activateWindow();
|
||||||
|
|
||||||
#if defined(Q_OS_LINUX) && ! defined(QT_NO_DBUS)
|
#if defined(Q_OS_LINUX) && ! defined(QT_NO_DBUS) && (QT_VERSION < QT_VERSION_CHECK(5, 9, 0))
|
||||||
// re-register global D-Bus menu (needed on Ubuntu with Unity)
|
// re-register global D-Bus menu (needed on Ubuntu with Unity)
|
||||||
// see https://github.com/keepassxreboot/keepassxc/issues/271
|
// see https://github.com/keepassxreboot/keepassxc/issues/271
|
||||||
// and https://bugreports.qt.io/browse/QTBUG-58723
|
// and https://bugreports.qt.io/browse/QTBUG-58723
|
||||||
|
Loading…
Reference in New Issue
Block a user