Changeset 43715 in vbox
- Timestamp:
- Oct 24, 2012 8:32:14 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 11 edited
-
Config.kmk (modified) (1 diff)
-
configure (modified) (6 diffs)
-
debian/postinst.in (modified) (1 diff)
-
debian/rules (modified) (1 diff)
-
src/VBox/Installer/linux/Makefile.kmk (modified) (1 diff)
-
src/VBox/Installer/linux/debian/postinst.in (modified) (1 diff)
-
src/VBox/Installer/linux/debian/rules (modified) (1 diff)
-
src/VBox/Installer/linux/install.sh (modified) (1 diff)
-
src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec (modified) (2 diffs)
-
src/VBox/Main/src-server/linux/PerformanceLinux.cpp (modified) (4 diffs)
-
src/apps/Makefile.kmk (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r43683 r43715 458 458 # Enable performance API. 459 459 VBOX_WITH_RESOURCE_USAGE_API = 1 460 # Use VBoxVolInfo for getting FS dependecies. 461 if1of ($(KBUILD_TARGET), linux) 462 VBOX_WITH_DEVMAPPER = 1 463 endif 460 464 # Enable BusLogic SCSI host adapter 461 465 VBOX_WITH_BUSLOGIC = 1 -
trunk/configure
r43674 r43715 87 87 WITH_PULSE=1 88 88 WITH_DBUS=1 89 WITH_DEVMAPPER=1 89 90 WITH_KMODS=1 90 91 WITH_OPENGL=1 … … 128 129 INCVNCSERVER="" 129 130 LIBVNCSERVER="-lvncserver" 131 INCDEVMAPPER="" 132 LIBDEVMAPPER="-ldevmapper" 130 133 CXX_FLAGS="" 131 134 if [ "$OS" = "freebsd" ]; then … … 748 751 749 752 # 753 # Check for libdevmapper, needed by the VBoxVolInfo 754 # 755 check_libdevmapper() 756 { 757 test_header libdevmapper 758 cat > $ODIR.tmp_src.cc << EOF 759 #include <cstdio> 760 extern "C" { 761 #define private 762 #include <libdevmapper.h> 763 int main() 764 { 765 char version[80]; 766 767 if (!dm_get_library_version(version, sizeof(version))) 768 { 769 printf("dm_get_library_version() failed.\n"); 770 return 1; 771 } 772 773 const char* v=version; 774 unsigned int major = 0, minor = 0, micro = 0; 775 776 for (; *v !='.' && *v != '\0'; v++) major = major*10 + *v-'0'; 777 if (*v == '.') v++; 778 for (; *v !='.' && *v != '\0'; v++) minor = minor*10 + *v-'0'; 779 if (*v == '.') v++; 780 for (; *v !='.' && *v != '\0'; v++) micro = micro*10 + *v-'0'; 781 782 printf("found version %s", version); 783 if (major*10000 + minor*100 + micro >= 10200) 784 { 785 printf(", OK.\n"); 786 return 0; 787 } 788 else 789 { 790 printf(", expected version 1.02 or higher\n"); 791 return 1; 792 } 793 } 794 } 795 EOF 796 if test_compile "$LIBDEVMAPPER $INCDEVMAPPER" libdevmapper libdevmapper; then 797 if test_execute; then 798 cnf_append "VBOX_WITH_DEVMAPPER" "1" 799 fi 800 fi 801 } 802 803 804 # 750 805 # Check for openssl, needed for RDP and S3 751 806 # … … 2130 2185 cat << EOF 2131 2186 --disable-udptunnel disable UDP tunnel networking 2187 --disable-devmapper disable device mapper library access 2132 2188 --disable-hardening don't be strict about /dev/vboxdrv access 2133 2189 --build-libxml2 build libxml2 from sources … … 2334 2390 WITH_VDE=1 2335 2391 ;; 2392 --disable-devmapper) 2393 WITH_DEVMAPPER=0 2394 ;; 2336 2395 --build-debug|-d) 2337 2396 BUILD_TYPE=debug … … 2569 2628 if [ $WITH_DBUS -eq 0 ]; then 2570 2629 cnf_append "VBOX_WITH_DBUS" "" 2630 fi 2631 if [ $WITH_DEVMAPPER -eq 1 ]; then 2632 check_libdevmapper 2633 else 2634 cnf_append "VBOX_WITH_DEVMAPPER" "" 2571 2635 fi 2572 2636 check_libcap -
trunk/debian/postinst.in
r43316 r43715 69 69 if ! dpkg-statoverride --list /usr/lib/virtualbox/VBoxNetAdpCtl > /dev/null 2>&1; then 70 70 chmod 4511 /usr/lib/virtualbox/VBoxNetAdpCtl 71 fi 72 if ! dpkg-statoverride --list /usr/lib/virtualbox/VBoxVolInfo > /dev/null 2>&1; then 73 chmod 4511 /usr/lib/virtualbox/VBoxVolInfo 71 74 fi 72 75 -
trunk/debian/rules
r43613 r43715 222 222 mv $(archdir)/VBoxNetDHCP $(prefix)/usr/lib/$(package) 223 223 mv $(archdir)/VBoxNetAdpCtl $(prefix)/usr/lib/$(package) 224 mv $(archdir)/VBoxVolInfo $(prefix)/usr/lib/$(package) 224 225 mv $(archdir)/VBoxXPCOMIPCD $(prefix)/usr/lib/$(package) 225 226 mv $(archdir)/components $(prefix)/usr/lib/$(package)/components -
trunk/src/VBox/Installer/linux/Makefile.kmk
r43580 r43715 150 150 VBoxNetDHCP $(if $(VBOX_WITH_HARDENING),VBoxNetDHCP.so,) \ 151 151 VBoxNetAdpCtl \ 152 VBoxVolInfo \ 152 153 VBoxSVC \ 153 154 VBoxXPCOM.so \ -
trunk/src/VBox/Installer/linux/debian/postinst.in
r43122 r43715 69 69 if ! dpkg-statoverride --list /usr/lib/virtualbox/VBoxNetAdpCtl > /dev/null 2>&1; then 70 70 chmod 4511 /usr/lib/virtualbox/VBoxNetAdpCtl 71 fi 72 if ! dpkg-statoverride --list /usr/lib/virtualbox/VBoxVolInfo > /dev/null 2>&1; then 73 chmod 4511 /usr/lib/virtualbox/VBoxVolInfo 71 74 fi 72 75 -
trunk/src/VBox/Installer/linux/debian/rules
r43365 r43715 246 246 mv $(archdir)/VBoxNetDHCP $(prefix)/usr/lib/$(package) 247 247 mv $(archdir)/VBoxNetAdpCtl $(prefix)/usr/lib/$(package) 248 mv $(archdir)/VBoxVolInfo $(prefix)/usr/lib/$(package) 248 249 mv $(archdir)/VBoxXPCOMIPCD $(prefix)/usr/lib/$(package) 249 250 mv $(archdir)/components $(prefix)/usr/lib/$(package)/components -
trunk/src/VBox/Installer/linux/install.sh
r43268 r43715 370 370 fi 371 371 372 # This binar y needsto be suid root in any case, even if not hardened372 # This binaries need to be suid root in any case, even if not hardened 373 373 test -e $INSTALLATION_DIR/VBoxNetAdpCtl && chmod 4511 $INSTALLATION_DIR/VBoxNetAdpCtl 374 test -e $INSTALLATION_DIR/VBoxVolInfo && chmod 4511 $INSTALLATION_DIR/VBoxVolInfo 374 375 375 376 # Install runlevel scripts -
trunk/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec
r43122 r43715 81 81 mv VBoxNetDHCP $RPM_BUILD_ROOT/usr/lib/virtualbox 82 82 mv VBoxNetAdpCtl $RPM_BUILD_ROOT/usr/lib/virtualbox 83 mv VBoxVolInfo $RPM_BUILD_ROOT/usr/lib/virtualbox 83 84 mv VBoxXPCOMIPCD $RPM_BUILD_ROOT/usr/lib/virtualbox 84 85 mv components $RPM_BUILD_ROOT/usr/lib/virtualbox/components … … 117 118 mv $i $RPM_BUILD_ROOT/usr/lib/virtualbox; done 118 119 fi 119 for i in VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl ; do120 for i in VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl VBoxVolInfo; do 120 121 chmod 4511 $RPM_BUILD_ROOT/usr/lib/virtualbox/$i; done 121 122 if [ -d ExtensionPacks/VNC ]; then -
trunk/src/VBox/Main/src-server/linux/PerformanceLinux.cpp
r43629 r43715 28 28 #include <iprt/err.h> 29 29 #include <iprt/param.h> 30 #include <iprt/path.h> 30 31 #include <iprt/string.h> 31 32 #include <iprt/mp.h> … … 36 37 #include "Logging.h" 37 38 #include "Performance.h" 39 40 #define VBOXVOLINFO_NAME "VBoxVolInfo" 38 41 39 42 namespace pm { … … 365 368 } 366 369 370 static void addVolumeDependencies(const char *pcszVolume, DiskList& listDisks) 371 { 372 char szVolInfo[RTPATH_MAX]; 373 int rc = RTPathExecDir(szVolInfo, sizeof(szVolInfo) - sizeof("/" VBOXVOLINFO_NAME " ") - strlen(pcszVolume)); 374 if (RT_FAILURE(rc)) 375 { 376 LogRel(("VolInfo: Failed to get program path, rc=%Rrc\n", rc)); 377 return VERR_INVALID_PARAMETER; 378 } 379 strcat(szVolInfo, "/" VBOXVOLINFO_NAME " "); 380 strcat(szVolInfo, pcszVolume); 381 382 FILE *fp = popen(szVolInfo, "r"); 383 if (fp) 384 { 385 char szBuf[128]; 386 387 while (fgets(szBuf, sizeof(szBuf), fp)) 388 listDisks.push_back(RTCString(szBuf)); 389 390 pclose(fp); 391 } 392 else 393 listDisks.push_back(RTCString(pcszVolume)); 394 } 367 395 368 396 int getDiskListByFs(const char *pszPath, DiskList& listDisks) … … 376 404 if (strcmp(pszPath, mntent->mnt_dir) == 0) 377 405 { 378 char szDevName[32]; 379 listDisks.push_back(RTCString(getDiskName(szDevName, sizeof(szDevName), mntent->mnt_fsname))); 406 char szDevName[128]; 407 getDiskName(szDevName, sizeof(szDevName), mntent->mnt_fsname); 408 if (strncmp(mntent->mnt_fsname, "/dev/mapper", 11)) 409 listDisks.push_back(RTCString(szDevName)); 410 else 411 addVolumeDependencies(szDevName, listDisks); 380 412 break; 381 413 } -
trunk/src/apps/Makefile.kmk
r41477 r43715 34 34 endif 35 35 endif 36 ifdef VBOX_WITH_DEVMAPPER 37 ifneq ($(wildcard $(PATH_SUB_CURRENT)/volinfo),) 38 include $(PATH_SUB_CURRENT)/volinfo/Makefile.kmk 39 endif 40 endif 36 41 37 42 include $(FILE_KBUILD_SUB_FOOTER)
Note:
See TracChangeset
for help on using the changeset viewer.

