Use a shell script to lock hal according to the hal-lock(1) man page so that
device notifications and automounts and other DE stuff don't get in the way of the application. svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=944542
This commit is contained in:
parent
b663b3f273
commit
d60496137a
|
@ -40,15 +40,21 @@ install(TARGETS partitionmanagerprivate ${INSTALL_TARGETS_DEFAULT_ARGS})
|
|||
|
||||
############################################
|
||||
|
||||
file(GLOB partitionmanager_SRCS main.cpp)
|
||||
file(GLOB partitionmanager-bin_SRCS main.cpp)
|
||||
|
||||
kde4_add_app_icon(partitionmanager_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../icons/hi*-apps-partitionmanager.png")
|
||||
kde4_add_app_icon(partitionmanager-bin_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../icons/hi*-apps-partitionmanager.png")
|
||||
|
||||
kde4_add_executable(partitionmanager ${partitionmanager_SRCS})
|
||||
kde4_add_executable(partitionmanager-bin ${partitionmanager-bin_SRCS})
|
||||
|
||||
target_link_libraries(partitionmanager partitionmanagerprivate)
|
||||
target_link_libraries(partitionmanager-bin partitionmanagerprivate)
|
||||
|
||||
install(TARGETS partitionmanager ${INSTALL_TARGETS_DEFAULT_ARGS})
|
||||
if(UNIX)
|
||||
add_custom_target(partitionmanager ALL
|
||||
COMMAND sed -e 's,@INSTALL_PATH@,${BIN_INSTALL_DIR},g' < ${CMAKE_CURRENT_SOURCE_DIR}/partitionmanager.in > ${CMAKE_CURRENT_BINARY_DIR}/partitionmanager
|
||||
)
|
||||
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/partitionmanager DESTINATION ${BIN_INSTALL_DIR})
|
||||
endif(UNIX)
|
||||
install(TARGETS partitionmanager-bin ${INSTALL_TARGETS_DEFAULT_ARGS})
|
||||
install(FILES gui/partitionmanagerui.rc DESTINATION ${DATA_INSTALL_DIR}/partitionmanager)
|
||||
install(FILES partitionmanager.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2009 by Volker Lanz <vl@fidra.de>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the
|
||||
# Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
HAL_LOCK=`which hal-lock`
|
||||
PARTITIONMANAGER_BIN=@INSTALL_PATH@/partitionmanager-bin
|
||||
RUN_WITHOUT_LOCK=1
|
||||
|
||||
if [ "x$HAL_LOCK" != "x" ]; then
|
||||
$HAL_LOCK --interface org.freedesktop.Hal.Device.Storage --exclusive --run "$PARTITIONMANAGER_BIN $*" && RUN_WITHOUT_LOCK=0
|
||||
fi
|
||||
|
||||
if [ $RUN_WITHOUT_LOCK -eq 1 ]; then
|
||||
$PARTITIONMANAGER_BIN $*
|
||||
fi
|
||||
|
Loading…
Reference in New Issue