1
0
forked from pool/virtualbox

Accepting request 690451 from home:frispete:kernel

Hi Larry,

here's is my current state of VB affairs. It's more a RFC, but it
contains everything to build that biest for the most prominent
distributions.

The new patch virtualbox-fix-ui-background-color.patch is an attempt
to deuglify the UI with certain color schemes.

Again, RFC stuff for you to look at.

Thanks,
Pete


- adjust patch virtualbox-fix-ui-background-color.patch to really
  fix the background color messing...

- add patch to stop UI messing with Highlight Color for background
- apply fixes_for_qt5.13.patch for Qt versions >= 5.13.0 only

- Add setBadness('permissions-unauthorized-file',333) to rpmlintrc
- Remove suid attributes from all files
- add libgsoap version dependency >= 2.8.50 (recv_maxlength)

- Fix virtualbox wrapper script virtualbox-wrapper.sh to check
  60-vboxdrv.rules in /usr/lib/udev/rules.d, not /etc/udev/rules.d
  Logic is still flawed, until it doesn't take both locations into 
  account
- Add custom /etc/permission.d/virtualbox{,.paranoid} definitions
- Add compatibility symlink to keep old desktop links functional

OBS-URL: https://build.opensuse.org/request/show/690451
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=479
This commit is contained in:
Larry Finger 2019-04-05 14:49:14 +00:00 committed by Git OBS Bridge
parent 5447aabb6c
commit 606a5f1184
7 changed files with 381 additions and 11 deletions

View File

@ -0,0 +1,301 @@
Index: b/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/tools/UITools.cpp
@@ -114,10 +114,6 @@ void UITools::preparePalette()
{
/* Setup palette: */
setAutoFillBackground(true);
- QPalette pal = palette();
- QColor bodyColor = pal.color(QPalette::Active, QPalette::Midlight).darker(110);
- pal.setColor(QPalette::Window, bodyColor);
- setPalette(pal);
}
void UITools::prepareLayout()
Index: b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
@@ -1299,7 +1299,7 @@ void UIVirtualBoxManager::prepareMenuBar
/* Make sure menu-bar fills own solid background: */
menuBar()->setAutoFillBackground(true);
QPalette pal = menuBar()->palette();
- const QColor color = pal.color(QPalette::Active, QPalette::Mid).lighter(160);
+ const QColor color = pal.color(QPalette::Active, QPalette::Window);
pal.setColor(QPalette::Active, QPalette::Button, color);
menuBar()->setPalette(pal);
}
Index: b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooser.cpp
@@ -121,10 +121,6 @@ void UIChooser::preparePalette()
{
/* Setup palette: */
setAutoFillBackground(true);
- QPalette pal = palette();
- QColor bodyColor = pal.color(QPalette::Active, QPalette::Midlight).darker(110);
- pal.setColor(QPalette::Window, bodyColor);
- setPalette(pal);
}
void UIChooser::prepareLayout()
Index: b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
@@ -1025,7 +1025,7 @@ void UIChooserItemMachine::paintBackgrou
else
{
/* Prepare color: */
- QColor backgroundColor = pal.color(QPalette::Active, QPalette::Mid);
+ QColor backgroundColor = pal.color(QPalette::Active, QPalette::Button);
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iDefaultLightnessMax));
@@ -1054,7 +1054,7 @@ void UIChooserItemMachine::paintBackgrou
/* Default background: */
else
{
- QColor backgroundColor = pal.color(QPalette::Active, QPalette::Mid);
+ QColor backgroundColor = pal.color(QPalette::Active, QPalette::Button);
color1 = backgroundColor.lighter(m_iDefaultLightnessMax);
color2 = backgroundColor.lighter(m_iDefaultLightnessMax - 70);
}
@@ -1075,7 +1075,7 @@ void UIChooserItemMachine::paintBackgrou
/* Default background: */
else
{
- QColor backgroundColor = pal.color(QPalette::Active, QPalette::Mid);
+ QColor backgroundColor = pal.color(QPalette::Active, QPalette::Button);
color1 = backgroundColor.lighter(m_iDefaultLightnessMin);
color2 = backgroundColor.lighter(m_iDefaultLightnessMin - 40);
}
@@ -1110,7 +1110,7 @@ void UIChooserItemMachine::paintFrame(QP
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
- strokeColor = pal.color(QPalette::Active, QPalette::Mid).lighter(m_iDefaultLightnessMin);
+ strokeColor = pal.color(QPalette::Active, QPalette::Button).lighter(m_iDefaultLightnessMin);
/* Create/assign pen: */
QPen pen(strokeColor);
Index: b/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
@@ -710,7 +710,7 @@ void UIToolsItem::paintBackground(QPaint
/* Prepare color: */
const QColor backgroundColor = isEnabled()
? pal.color(QPalette::Active, QPalette::Highlight)
- : pal.color(QPalette::Disabled, QPalette::Midlight);
+ : pal.color(QPalette::Disabled, QPalette::Highlight);
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iHighlightLightnessMax));
@@ -749,7 +749,7 @@ void UIToolsItem::paintBackground(QPaint
/* Prepare color: */
const QColor backgroundColor = isEnabled()
? pal.color(QPalette::Active, QPalette::Highlight)
- : pal.color(QPalette::Disabled, QPalette::Midlight);
+ : pal.color(QPalette::Disabled, QPalette::Highlight);
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iHoverLightnessMax));
@@ -787,8 +787,8 @@ void UIToolsItem::paintBackground(QPaint
{
/* Prepare color: */
const QColor backgroundColor = isEnabled()
- ? pal.color(QPalette::Active, QPalette::Mid)
- : pal.color(QPalette::Disabled, QPalette::Midlight);
+ ? pal.color(QPalette::Active, QPalette::Window)
+ : pal.color(QPalette::Disabled, QPalette::Window);
/* Draw gradient: */
QLinearGradient bgGrad(rectangle.topLeft(), rectangle.bottomLeft());
bgGrad.setColorAt(0, backgroundColor.lighter(m_iDefaultLightnessMax));
@@ -821,7 +821,7 @@ void UIToolsItem::paintFrame(QPainter *p
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
- strokeColor = pal.color(QPalette::Active, QPalette::Mid).lighter(m_iDefaultLightnessMin);
+ strokeColor = pal.color(QPalette::Active, QPalette::Button).lighter(m_iDefaultLightnessMin);
/* Create/assign pen: */
QPen pen(strokeColor);
Index: b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
@@ -355,14 +355,6 @@ void UIVirtualBoxManagerWidget::prepare(
{
/* Configure palette: */
setAutoFillBackground(true);
- QPalette pal = palette();
-#ifdef VBOX_WS_MAC
- const QColor color = pal.color(QPalette::Active, QPalette::Mid).lighter(145);
-#else
- const QColor color = pal.color(QPalette::Active, QPalette::Mid).lighter(160);
-#endif
- pal.setColor(QPalette::Window, color);
- setPalette(pal);
/* Prepare: */
prepareWidgets();
@@ -490,7 +482,7 @@ void UIVirtualBoxManagerWidget::prepareW
}
/* Adjust splitter colors according to main widgets it splits: */
- m_pSplitter->configureColor(palette().color(QPalette::Active, QPalette::Midlight).darker(110));
+ m_pSplitter->configureColor(palette().color(QPalette::Active, QPalette::Button).darker(110));
/* Set the initial distribution. The right site is bigger. */
m_pSplitter->setStretchFactor(0, 2);
m_pSplitter->setStretchFactor(1, 3);
Index: b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
@@ -642,7 +642,7 @@ void UIChooserItem::paintFlatButton(QPai
/* Prepare colors: */
const QPalette pal = QApplication::palette();
- const QColor color = pal.color(QPalette::Active, QPalette::Mid);
+ const QColor color = pal.color(QPalette::Active, QPalette::Button);
/* Prepare pen: */
QPen pen;
Index: b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserView.cpp
@@ -178,10 +178,6 @@ void UIChooserView::prepare()
void UIChooserView::preparePalette()
{
/* Setup palette: */
- QPalette pal = qApp->palette();
- const QColor bodyColor = pal.color(QPalette::Active, QPalette::Midlight).darker(110);
- pal.setColor(QPalette::Base, bodyColor);
- setPalette(pal);
}
void UIChooserView::resizeEvent(QResizeEvent *pEvent)
Index: b/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsView.cpp
@@ -182,10 +182,6 @@ void UIToolsView::prepare()
void UIToolsView::preparePalette()
{
/* Setup palette: */
- QPalette pal = qApp->palette();
- const QColor bodyColor = pal.color(QPalette::Active, QPalette::Midlight).darker(110);
- pal.setColor(QPalette::Base, bodyColor);
- setPalette(pal);
}
void UIToolsView::resizeEvent(QResizeEvent *pEvent)
Index: b/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
@@ -667,7 +667,7 @@ void UIDetailsElement::paintBackground(Q
const QPalette pal = palette();
/* Paint default background: */
- const QColor defaultColor = pal.color(QPalette::Active, QPalette::Mid);
+ const QColor defaultColor = pal.color(QPalette::Active, QPalette::Window);
const QColor dcTone1 = defaultColor.lighter(m_iDefaultToneFinal);
const QColor dcTone2 = defaultColor.lighter(m_iDefaultToneStart);
QLinearGradient gradientDefault(fullRect.topLeft(), fullRect.bottomLeft());
@@ -708,7 +708,7 @@ void UIDetailsElement::paintFrame(QPaint
: optionRect;
/* Paint frame: */
- const QColor strokeColor = palette().color(QPalette::Active, QPalette::Mid).lighter(m_iDefaultToneStart);
+ const QColor strokeColor = palette().color(QPalette::Active, QPalette::Window).lighter(m_iDefaultToneStart);
QPen pen(strokeColor);
pen.setWidth(0);
pPainter->setPen(pen);
Index: b/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIToolBar.cpp
@@ -110,7 +110,7 @@ void UIToolBar::paintEvent(QPaintEvent *
const QRect rectangle = pEvent->rect();
/* Prepare gradient: */
- const QColor backgroundColor = palette().color(QPalette::Active, QPalette::Mid);
+ const QColor backgroundColor = palette().color(QPalette::Active, QPalette::Window);
QLinearGradient gradient(rectangle.topLeft(), rectangle.bottomLeft());
gradient.setColorAt(0, backgroundColor.lighter(130));
gradient.setColorAt(1, backgroundColor.lighter(125));
Index: b/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsSet.cpp
@@ -700,7 +700,7 @@ void UIDetailsSet::paintBackground(QPain
const QRect optionRect = pOptions->rect;
/* Paint default background: */
- const QColor defaultColor = palette().color(QPalette::Active, QPalette::Midlight).darker(110);
+ const QColor defaultColor = palette().color(QPalette::Active, QPalette::Window).darker(110);
pPainter->fillRect(optionRect, defaultColor);
/* Restore painter: */
Index: b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
@@ -655,7 +655,7 @@ void UIChooserItemGlobal::paintBackgroun
pPainter->fillRect(rectangle, bgGrad);
#else
/* Prepare color: */
- QColor backgroundColor = pal.color(QPalette::Active, QPalette::Mid).lighter(160);
+ QColor backgroundColor = pal.color(QPalette::Active, QPalette::Window).lighter(160);
/* Draw gradient: */
pPainter->fillRect(rectangle, backgroundColor);
#endif
@@ -686,7 +686,7 @@ void UIChooserItemGlobal::paintFrame(QPa
strokeColor = pal.color(QPalette::Active, QPalette::Highlight).lighter(m_iHoverLightnessMin - 50);
/* Default frame: */
else
- strokeColor = pal.color(QPalette::Active, QPalette::Mid).lighter(m_iDefaultLightnessMin);
+ strokeColor = pal.color(QPalette::Active, QPalette::Window).lighter(m_iDefaultLightnessMin);
/* Create/assign pen: */
QPen pen(strokeColor);
Index: b/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsGroup.cpp
@@ -288,7 +288,7 @@ void UIDetailsGroup::paintBackground(QPa
#ifdef VBOX_WS_MAC
const QColor defaultColor = palette().color(QPalette::Active, QPalette::Mid).lighter(145);
#else
- const QColor defaultColor = palette().color(QPalette::Active, QPalette::Mid).lighter(160);
+ const QColor defaultColor = palette().color(QPalette::Active, QPalette::Window).lighter(160);
#endif
pPainter->fillRect(optionRect, defaultColor);
Index: b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
===================================================================
--- a/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
@@ -1630,7 +1630,7 @@ void UIChooserItemGroup::paintBackground
const QPalette pal = palette();
const QColor headerColor = pal.color(QPalette::Active,
model()->currentItems().contains(this) ?
- QPalette::Highlight : QPalette::Midlight);
+ QPalette::Highlight : QPalette::Button);
/* Root-item: */
if (isRoot())
@@ -1714,7 +1714,7 @@ void UIChooserItemGroup::paintFrame(QPai
const QPalette pal = palette();
const QColor strokeColor = pal.color(QPalette::Active,
model()->currentItems().contains(this) ?
- QPalette::Highlight : QPalette::Midlight).darker(headerDarkness() + 10);
+ QPalette::Highlight : QPalette::Button).darker(headerDarkness() + 10);
/* Create/assign pen: */
QPen pen(strokeColor);

View File

@ -1,3 +1,4 @@
addFilter("incoherent-init-script-name vboxdrv")
addFilter("incoherent-init-script-name vboxadd")
addFilter("xorg-x11-driver-virtualbox-ose.* shlib-policy-missing-suffix")
setBadness("permissions-unauthorized-file", 333)

View File

@ -6,7 +6,7 @@ export QT_NO_KDE_INTEGRATION=1
# Handle the issue regarding USB passthru
# The following conditions apply:
# 1. If ~/.vbox/enable exists, the user accepts the security risk.
# 2. If ~/.vbox/disable exists, the user does not accept the risk. That file will contain the inode of /etc/udev/rules.d/60-vboxdrv.rules.
# 2. If ~/.vbox/disable exists, the user does not accept the risk. That file will contain the inode of /usr/lib/udev/rules.d/60-vboxdrv.rules.
# When that changes, the VBoxUSB_DevRules will again be displayed as that means that VB has been reloaded.
#
devrules()
@ -26,8 +26,8 @@ devrules()
#
# Ensure that ~/.vbox exists
mkdir -p ~/.vbox/
# Get the inode for /etc/udev/rules.d/60-vboxdrv.rules
INODE=$(stat /etc/udev/rules.d/60-vboxdrv.rules | grep Inode | cut -d' ' -f3)
# Get the inode for /usr/lib/udev/rules.d/60-vboxdrv.rules
INODE=$(stat /usr/lib/udev/rules.d/60-vboxdrv.rules | grep Inode | cut -d' ' -f3)
if [ ! -f ~/.vbox/enable ] && [ ! -f ~/.vbox/disable ] ; then
# Neither file exists - find what the user wants
devrules
@ -38,7 +38,7 @@ if [ -f ~/.vbox/disable ] ; then
else
LINE=" "
fi
# If user originally declined, make certain that /etc/udev/rules.d/60-vboxdrv.rules has not been changed
# If user originally declined, make certain that /usr/lib/udev/rules.d/60-vboxdrv.rules has not been changed
if [ -f ~/.vbox/disable ] && [ "$LINE" != "$INODE" ] && [ "$LINE" != "" ] ; then
# disable is selected and the Inode has changed - ask again
devrules

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Sun Mar 31 21:02:36 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
- adjust patch virtualbox-fix-ui-background-color.patch to really
fix the background color messing...
-------------------------------------------------------------------
Sat Mar 30 18:36:47 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
- add patch to stop UI messing with Highlight Color for background
- apply fixes_for_qt5.13.patch for Qt versions >= 5.13.0 only
-------------------------------------------------------------------
Thu Mar 28 00:20:43 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
@ -13,6 +25,23 @@ Wed Feb 20 16:31:23 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>
- Remove requires on libvncserver for virtualbox-vnc.
-------------------------------------------------------------------
Tue Feb 12 12:05:48 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
- Add setBadness('permissions-unauthorized-file',333) to rpmlintrc
- Remove suid attributes from all files
- add libgsoap version dependency >= 2.8.50 (recv_maxlength)
-------------------------------------------------------------------
Mon Feb 11 12:46:26 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
- Fix virtualbox wrapper script virtualbox-wrapper.sh to check
60-vboxdrv.rules in /usr/lib/udev/rules.d, not /etc/udev/rules.d
Logic is still flawed, until it doesn't take both locations into
account
- Add custom /etc/permission.d/virtualbox{,.paranoid} definitions
- Add compatibility symlink to keep old desktop links functional
-------------------------------------------------------------------
Thu Jan 31 19:31:20 UTC 2019 - Larry Finger <Larry.Finger@gmail.com>

9
virtualbox.permissions Normal file
View File

@ -0,0 +1,9 @@
# virtualbox
/usr/lib/virtualbox/VBoxNetNAT root:vboxusers 4750
/usr/lib/virtualbox/VBoxNetDHCP root:vboxusers 4750
/usr/lib/virtualbox/VBoxNetAdpCtl root:vboxusers 4750
/usr/lib/virtualbox/VBoxHeadless root:vboxusers 4750
# Virtualbox-qt
/usr/lib/virtualbox/VirtualBoxVM root:vboxusers 4750
/usr/lib/virtualbox/VBoxSDL root:vboxusers 4750

View File

@ -0,0 +1,9 @@
# virtualbox
/usr/lib/virtualbox/VBoxNetNAT root:vboxusers 0750
/usr/lib/virtualbox/VBoxNetDHCP root:vboxusers 0750
/usr/lib/virtualbox/VBoxNetAdpCtl root:vboxusers 0750
/usr/lib/virtualbox/VBoxHeadless root:vboxusers 0750
# Virtualbox-qt
/usr/lib/virtualbox/VirtualBoxVM root:vboxusers 0750
/usr/lib/virtualbox/VBoxSDL root:vboxusers 0750

View File

@ -16,6 +16,8 @@
#
%define qt5ver %(rpm -q --queryformat %%{version} libQt5Core5|perl -ne '/(\\d+)\\.(\\d+)\\.(\\d+)?/&&printf "%%d%%02d%%02d\\n",$1,$2,$3')
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
@ -62,6 +64,8 @@ Source8: %{name}-guest-preamble
Source9: %{name}-wrapper.sh
Source10: %{name}-LocalConfig.kmk
Source11: %{name}-60-vboxdrv.rules
Source12: %{name}.permissions
Source13: %{name}.permissions.paranoid
Source14: vboxdrv.service
Source15: vboxadd-service.service
Source16: vboxconfig.sh
@ -138,6 +142,7 @@ Patch130: fixes_for_5.1.patch
# Fixes for Qt5.13
Patch131: fixes_for_qt5.13.patch
#endif
Patch999: virtualbox-fix-ui-background-color.patch
#
BuildRequires: LibVNCServer-devel
BuildRequires: SDL-devel
@ -160,7 +165,7 @@ BuildRequires: fdupes
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glibc-devel-static
BuildRequires: gsoap-devel
BuildRequires: gsoap-devel >= 2.8.50
BuildRequires: java-devel >= 1.6.0
BuildRequires: kbuild >= 0.1.9998svn3101
#BuildRequires: kernel-syms
@ -440,7 +445,11 @@ as an "extpack" for VirtualBox. The implementation is licensed under GPL.
%patch128 -p1
%patch129 -p1
%patch130 -p1
%if %{qt5ver} >= 51300
%patch131 -p1
%endif
%patch999 -p1
#copy user manual
cp %{SOURCE1} UserManual.pdf
@ -569,6 +578,8 @@ install -d -m 755 %{buildroot}%{_libdir}/dri
install -d -m 755 %{buildroot}%{_libdir}/xorg/modules/drivers
install -d -m 755 %{buildroot}%{_libdir}/xorg/modules/input
install -d -m 755 %{buildroot}%{_sysconfdir}/default
install -d -m 755 %{buildroot}%{_sysconfdir}/init.d
install -d -m 755 %{buildroot}%{_sysconfdir}/permissions.d
install -d %{buildroot}%{_unitdir}
install -d %{buildroot}%{_unitdir}/multi-user.target.wants
install -d -m 755 %{buildroot}%{_sysconfdir}/vbox
@ -655,6 +666,8 @@ install -m 755 VBoxNetDHCP %{buildroot}%{_vbox_instdir}
install -m 755 VBoxNetAdpCtl %{buildroot}%{_vbox_instdir}
install -m 755 VirtualBox %{buildroot}%{_vbox_instdir}/VirtualBox6
install -m 755 VirtualBoxVM %{buildroot}%{_vbox_instdir}
# compatibility symlink in order to keep old desktop links functional
ln -s %{_vbox_instdir}/VirtualBoxVM %{buildroot}%{_vbox_instdir}/VirtualBox
install -m 755 VBoxEFI*.fd %{buildroot}%{_vbox_instdir}
install -m 755 VBoxSysInfo.sh %{buildroot}%{_vbox_instdir}
install -m 644 *.so %{buildroot}%{_vbox_instdir}
@ -682,6 +695,10 @@ install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/default/virtualbox
#install wrapper script
install -m 644 %{SOURCE9} %{buildroot}%{_bindir}/VirtualBox
# permissions
install -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/permissions.d/virtualbox
install -m 644 %{SOURCE13} %{buildroot}%{_sysconfdir}/permissions.d/virtualbox.paranoid
# Service files to load kernel modules on boot
install -m 0644 %{SOURCE14} %{buildroot}%{_unitdir}/vboxdrv.service
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rcvboxdrv
@ -934,10 +951,13 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_sbindir}/rcvboxdrv
/sbin/vboxconfig
%{_vbox_instdir}/VBoxCreateUSBNode.sh
%verify(not mode) %attr(4755,root,vboxusers) %{_vbox_instdir}/VBoxNetNAT
%verify(not mode) %attr(4750,root,vboxusers) %{_vbox_instdir}/VBoxNetDHCP
%verify(not mode) %attr(4750,root,vboxusers) %{_vbox_instdir}/VBoxNetAdpCtl
%verify(not mode) %attr(4750,root,vboxusers) %{_vbox_instdir}/VBoxHeadless
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VBoxNetNAT
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VBoxNetDHCP
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VBoxNetAdpCtl
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VBoxHeadless
# not %config tagged for security reasons
%{_sysconfdir}/permissions.d/virtualbox
%{_sysconfdir}/permissions.d/virtualbox.paranoid
%dir %{_sysconfdir}/vbox
%attr(1775,root,vboxusers) %{_sysconfdir}/vbox
%config %attr(644,root,vboxusers) %{_sysconfdir}/vbox/vbox.cfg
@ -948,8 +968,9 @@ export DISABLE_RESTART_ON_UPDATE=yes
%attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxPermissionMessage
%attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxUSB_DevRules
%attr(0755,root,vboxusers) %{_vbox_instdir}/VirtualBox6
%verify(not mode) %attr(4750,root,vboxusers) %{_vbox_instdir}/VirtualBoxVM
%verify(not mode) %attr(4750,root,vboxusers) %{_vbox_instdir}/VBoxSDL
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VirtualBoxVM
%verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VBoxSDL
%{_vbox_instdir}/VirtualBox
#wrapper script is in bindir
%attr(0755,root,root) %{_bindir}/VirtualBox
#rules fixing script is in /sbin