summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2012-10-16 20:08:12 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2012-10-16 20:08:12 -0400
commit4a0d84ee70b7ed0343eeb0c09df08c991ff7d95c (patch)
tree37e7b194c0bafd56472413dcf948e94b4765baef /libre
parent68fa07be35a2514835c1272884219adc110abc3b (diff)
parent7701a796e16a4196b4e0602d37b9fabbcb077ba8 (diff)
downloadabslibre-4a0d84ee70b7ed0343eeb0c09df08c991ff7d95c.tar.gz
abslibre-4a0d84ee70b7ed0343eeb0c09df08c991ff7d95c.tar.bz2
abslibre-4a0d84ee70b7ed0343eeb0c09df08c991ff7d95c.zip
Merge branch 'master' of ssh://parabolagnulinux.org:1863/srv/git/abslibre
Diffstat (limited to 'libre')
-rwxr-xr-x[-rw-r--r--]libre/abiword-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/abiword-libre/abiword-2.8.6-libpng15.patch0
-rwxr-xr-x[-rw-r--r--]libre/abiword-libre/abiword-2.8.6-no-undefined.patch0
-rwxr-xr-x[-rw-r--r--]libre/abiword-libre/abiword-libre.install0
-rwxr-xr-x[-rw-r--r--]libre/abiword-libre/compat_libwpg_0_9.patch0
-rwxr-xr-x[-rw-r--r--]libre/abiword-libre/liberation-fonts.patch0
-rwxr-xr-x[-rw-r--r--]libre/abs-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/abs-libre/abs.install0
-rwxr-xr-x[-rw-r--r--]libre/abuse-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/abuse-libre/abuse.install0
-rwxr-xr-x[-rw-r--r--]libre/abuse-libre/non-claudio.patch0
-rwxr-xr-x[-rw-r--r--]libre/abuse-libre/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/aif-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/apache-ant/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/apache-ant/apache-ant.csh0
-rwxr-xr-x[-rw-r--r--]libre/apache-ant/apache-ant.sh0
-rwxr-xr-x[-rw-r--r--]libre/aspell-pl-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/atool-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/atool-libre/atool.changelog0
-rwxr-xr-x[-rw-r--r--]libre/atool-libre/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/audacious-plugins-libre/PKGBUILD10
-rwxr-xr-x[-rw-r--r--]libre/audacity-libre/.directory0
-rwxr-xr-x[-rw-r--r--]libre/audacity-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/audacity-libre/audacity-libre.install0
-rwxr-xr-x[-rw-r--r--]libre/audacity-libre/remove-unfree-nyquist.patch0
-rwxr-xr-x[-rw-r--r--]libre/blackbox-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/blackbox-libre/bbdock.patch0
-rwxr-xr-x[-rw-r--r--]libre/blackbox-libre/bsetbg-feh.patch0
-rwxr-xr-x[-rw-r--r--]libre/blackbox-libre/gcc4.3.patch0
-rwxr-xr-x[-rw-r--r--]libre/blackbox-libre/menu0
-rwxr-xr-x[-rw-r--r--]libre/blackbox-libre/textpropertytostring-unconditional.patch0
-rwxr-xr-x[-rw-r--r--]libre/blender-libre/PKGBUILD14
-rwxr-xr-x[-rw-r--r--]libre/blender-libre/blender.install0
-rwxr-xr-x[-rw-r--r--]libre/blender-libre/boost-1.50.patch0
-rwxr-xr-x[-rw-r--r--]libre/blender-libre/ffmpeg-0.11.patch0
-rwxr-xr-x[-rw-r--r--]libre/bogofilter-libre/PKGBUILD0
-rw-r--r--libre/cdfs-libre/PKGBUILD40
-rw-r--r--libre/cdfs-libre/cdfs-3.0.patch274
-rw-r--r--libre/cdfs-libre/cdfs-3.2.patch12
-rw-r--r--libre/cdfs-libre/cdfs-3.4.patch12
-rw-r--r--libre/cdfs-libre/cdfs.install14
-rwxr-xr-x[-rw-r--r--]libre/cdrkit-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/clementine-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch0
-rwxr-xr-x[-rw-r--r--]libre/clementine-libre/clementine-fresh-start.patch0
-rwxr-xr-x[-rw-r--r--]libre/clementine-libre/clementine.install0
-rwxr-xr-x[-rw-r--r--]libre/clementine-libre/imobiledevice.patch0
-rwxr-xr-x[-rw-r--r--]libre/clementine-libre/remove-and-disable-spotify.patch0
-rwxr-xr-x[-rw-r--r--]libre/clementine-libre/remove-nonfree-references-on-translations.patch0
-rwxr-xr-x[-rw-r--r--]libre/crosstool-ng/PKGBUILD4
-rwxr-xr-x[-rw-r--r--]libre/crosstool-ng/libc_ports_short_name.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-filters-libre/PKGBUILD18
-rw-r--r--libre/cups-filters-libre/buildfix_dlopen.diff31
-rw-r--r--libre/cups-filters-libre/buildfix_poppler.diff224
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/PKGBUILD25
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups-avahi-1-config.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups-avahi-2-backend.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups-avahi-3-timeouts.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups-avahi-4-poll.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups-avahi-5-services.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups-no-export-ssllibs.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups-no-gcrypt.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups-no-gzip-man.patch0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups.install0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups.logrotate0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/cups.pam0
-rwxr-xr-x[-rw-r--r--]libre/cups-libre/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/debhelper/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/dpkg/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/dpkg/dpkg-arch.patch0
-rwxr-xr-x[-rw-r--r--]libre/dpkg/dpkg-rsyncable.patch0
-rwxr-xr-x[-rw-r--r--]libre/dvdrip-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/dvdrip-libre/dvdrip.desktop0
-rwxr-xr-x[-rw-r--r--]libre/dvdrip-libre/dvdrip.install0
-rwxr-xr-x[-rw-r--r--]libre/dvdrip-libre/libre.patch0
-rwxr-xr-x[-rw-r--r--]libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch0
-rwxr-xr-x[-rw-r--r--]libre/epdfview-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/epdfview-libre/epdfview.desktop.patch0
-rwxr-xr-x[-rw-r--r--]libre/epdfview-libre/epdfview.install0
-rwxr-xr-x[-rw-r--r--]libre/epdfview-libre/glib2_headers.patch0
-rwxr-xr-x[-rw-r--r--]libre/file-roller-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/file-roller-libre/file-roller.install0
-rwxr-xr-x[-rw-r--r--]libre/file-roller-libre/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/PKGBUILD28
-rwxr-xr-x[-rw-r--r--]libre/filesystem/crypttab0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/filesystem.install4
-rwxr-xr-x[-rw-r--r--]libre/filesystem/fstab0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/group1
-rwxr-xr-x[-rw-r--r--]libre/filesystem/gshadow1
-rwxr-xr-x[-rw-r--r--]libre/filesystem/host.conf0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/hosts0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/issue0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/ld.so.conf0
-rw-r--r--libre/filesystem/locale.sh28
-rwxr-xr-x[-rw-r--r--]libre/filesystem/modprobe.d.usb-load-ehci-first0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/motd0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/nsswitch.conf0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/os-release0
-rw-r--r--libre/filesystem/parabola.7.txt81
-rwxr-xr-x[-rw-r--r--]libre/filesystem/passwd1
-rwxr-xr-x[-rw-r--r--]libre/filesystem/profile0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/resolv.conf0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/securetty0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/shadow0
-rwxr-xr-x[-rw-r--r--]libre/filesystem/shells0
-rwxr-xr-x[-rw-r--r--]libre/foomatic-filters-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/ghostscript-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/ghostscript-libre/svn_rev11948.diff0
-rwxr-xr-x[-rw-r--r--]libre/gnu-ghostscript/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/gnu-ghostscript/gnu-ghostscript-cups-rgbw.patch0
-rwxr-xr-x[-rw-r--r--]libre/gnu-ghostscript/libtool.patch0
-rwxr-xr-x[-rw-r--r--]libre/gnustep-base-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/gnustep-make-libre/PKGBUILD0
-rw-r--r--libre/grub-legacy/040_all_grub-0.96-nxstack.patch (renamed from libre/grub/040_all_grub-0.96-nxstack.patch)0
-rw-r--r--libre/grub-legacy/05-grub-0.97-initrdaddr.diff (renamed from libre/grub/05-grub-0.97-initrdaddr.diff)0
-rw-r--r--libre/grub-legacy/PKGBUILD107
-rw-r--r--libre/grub-legacy/ext4.patch (renamed from libre/grub/ext4.patch)0
-rw-r--r--libre/grub-legacy/grub-0.97-gpt.patch (renamed from libre/grub/grub-0.97-gpt.patch)0
-rw-r--r--libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch (renamed from libre/grub/grub-0.97-ldflags-objcopy-remove-build-id.patch)0
-rw-r--r--libre/grub-legacy/grub-inode-size.patch (renamed from libre/grub/grub-inode-size.patch)0
-rw-r--r--libre/grub-legacy/grub.install20
-rw-r--r--libre/grub-legacy/i2o.patch (renamed from libre/grub/i2o.patch)0
-rw-r--r--libre/grub-legacy/install-grub (renamed from libre/grub/install-grub)0
-rw-r--r--libre/grub-legacy/intelmac.patch (renamed from libre/grub/intelmac.patch)0
-rw-r--r--libre/grub-legacy/menu.lst (renamed from libre/grub/menu.lst)0
-rw-r--r--libre/grub-legacy/more-raid.patch (renamed from libre/grub/more-raid.patch)0
-rw-r--r--libre/grub-legacy/rePKGBUILD (renamed from libre/grub/rePKGBUILD)0
-rw-r--r--libre/grub-legacy/special-devices.patch (renamed from libre/grub/special-devices.patch)0
-rw-r--r--libre/grub/05_archtheme6
-rw-r--r--libre/grub/20_memtest86+29
-rwxr-xr-x[-rw-r--r--]libre/grub/PKGBUILD333
-rw-r--r--libre/grub/fix_stack_pointer_handling_16_relocator.patch13
-rw-r--r--libre/grub/grub-install.fix11
-rw-r--r--libre/grub/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch15
-rw-r--r--libre/grub/grub.cfg139
-rw-r--r--libre/grub/grub.default47
-rwxr-xr-x[-rw-r--r--]libre/grub/grub.install27
-rw-r--r--libre/grub/grub2.install33
-rw-r--r--libre/grub/grub2_automake_1.11.2_pkglib_to_pkgdata.patch134
-rw-r--r--libre/grub/grub2_bzr_export.sh113
-rw-r--r--libre/grub/grub_bzr_export.sh113
-rw-r--r--libre/grub/grub_extras_lua_args_fix.patch13
-rw-r--r--libre/grub/parabola-mkconfig.patch32
-rw-r--r--libre/grub/parabola_grub_mkconfig_fixes.patch152
-rwxr-xr-x[-rw-r--r--]libre/grub2/05_archtheme0
-rwxr-xr-x[-rw-r--r--]libre/grub2/20_memtest86+0
-rwxr-xr-x[-rw-r--r--]libre/grub2/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/grub2/fix_stack_pointer_handling_16_relocator.patch0
-rwxr-xr-x[-rw-r--r--]libre/grub2/grub-install.fix0
-rwxr-xr-x[-rw-r--r--]libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch0
-rwxr-xr-x[-rw-r--r--]libre/grub2/grub.cfg0
-rwxr-xr-x[-rw-r--r--]libre/grub2/grub.default0
-rwxr-xr-x[-rw-r--r--]libre/grub2/grub2.install0
-rwxr-xr-x[-rw-r--r--]libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch0
-rwxr-xr-x[-rw-r--r--]libre/grub2/grub2_bzr_export.sh0
-rwxr-xr-x[-rw-r--r--]libre/grub2/grub_extras_lua_args_fix.patch0
-rwxr-xr-x[-rw-r--r--]libre/grub2/parabola-mkconfig.patch0
-rwxr-xr-x[-rw-r--r--]libre/grub2/parabola_grub_mkconfig_fixes.patch0
-rwxr-xr-x[-rw-r--r--]libre/gstreamer0.10-bad-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install0
-rwxr-xr-x[-rw-r--r--]libre/gstreamer0.10-good/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install0
-rwxr-xr-x[-rw-r--r--]libre/h-client/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/hardinfo/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/hardinfo/fixsensors.patch0
-rwxr-xr-x[-rw-r--r--]libre/hardinfo/hardinfo.distro0
-rwxr-xr-x[-rw-r--r--]libre/hplip-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/hplip-libre/hplip.install0
-rwxr-xr-x[-rw-r--r--]libre/iceape-i18n/.gitignore0
-rwxr-xr-x[-rw-r--r--]libre/iceape-i18n/Makefile0
-rwxr-xr-x[-rw-r--r--]libre/iceape-i18n/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/iceape-i18n/PKGBUILD.in0
-rwxr-xr-x[-rw-r--r--]libre/iceape-libre/PKGBUILD8
-rwxr-xr-x[-rw-r--r--]libre/iceape-libre/clrf.patch0
-rwxr-xr-x[-rw-r--r--]libre/iceape-libre/gcc47.patch0
-rwxr-xr-x[-rw-r--r--]libre/iceape-libre/iceape-2.0-lang.patch0
-rwxr-xr-x[-rw-r--r--]libre/iceape-libre/iceape.desktop0
-rwxr-xr-x[-rw-r--r--]libre/iceape-libre/iceape.install0
-rwxr-xr-x[-rw-r--r--]libre/iceape-libre/libre.patch0
-rwxr-xr-x[-rw-r--r--]libre/iceape-libre/mozconfig0
-rwxr-xr-x[-rw-r--r--]libre/icecat-i18n/.gitignore0
-rwxr-xr-x[-rw-r--r--]libre/icecat-i18n/Makefile0
-rwxr-xr-x[-rw-r--r--]libre/icecat-i18n/PKGBUILD324
-rwxr-xr-x[-rw-r--r--]libre/icecat-i18n/PKGBUILD.in0
-rwxr-xr-x[-rw-r--r--]libre/icecat/PKGBUILD205
-rwxr-xr-x[-rw-r--r--]libre/icecat/cairo.patch14
-rwxr-xr-x[-rw-r--r--]libre/icecat/gcc47.patch0
-rwxr-xr-x[-rw-r--r--]libre/icecat/icecat-install-dir.patch13
-rwxr-xr-x[-rw-r--r--]libre/icecat/icecat-safe.desktop0
-rwxr-xr-x[-rw-r--r--]libre/icecat/icecat.desktop0
-rwxr-xr-x[-rw-r--r--]libre/icecat/icecat.install0
-rwxr-xr-x[-rw-r--r--]libre/icecat/libre.patch161
-rwxr-xr-x[-rw-r--r--]libre/icecat/mozconfig0
-rwxr-xr-x[-rw-r--r--]libre/icecat/mozconfig.pgo0
-rwxr-xr-x[-rw-r--r--]libre/icecat/vendor.js0
-rwxr-xr-x[-rw-r--r--]libre/icecat/xulrunner-copy-stub.patch6
-rwxr-xr-x[-rw-r--r--]libre/icedove-i18n/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/channel-prefs.js0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/clrf.patch0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/gcc47.patch0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/icedove.desktop0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/icedove.install0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/makefile.patch0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/mozconfig0
-rwxr-xr-x[-rw-r--r--]libre/icedove-libre/vendor.js0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-i18n/.gitignore0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-i18n/Makefile0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-i18n/PKGBUILD184
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-i18n/PKGBUILD.in0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch143
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/PKGBUILD18
-rw-r--r--libre/iceweasel-libre/iceweasel-install-dir.patch49
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/iceweasel.install0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/libre.patch36
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/mozconfig0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/mozconfig.pgo0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/shared-libs.patch0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/vendor.js0
-rwxr-xr-x[-rw-r--r--]libre/iceweasel-libre/xulrunner-copy-stub.patch0
-rwxr-xr-x[-rw-r--r--]libre/initscripts/0001-remove-run-nologin-before-leaving-rc.multi.patch0
-rwxr-xr-x[-rw-r--r--]libre/initscripts/PKGBUILD16
-rwxr-xr-x[-rw-r--r--]libre/initscripts/initscripts.install7
-rw-r--r--libre/initscripts/split-hwclock-calls.diff21
-rwxr-xr-x[-rw-r--r--]libre/initscripts/wireless.conf.d0
-rwxr-xr-x[-rw-r--r--]libre/java-asm2/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/java-asm3/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/java-ow-util-ant-tasks/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/java-ow-util-ant-tasks/SRCBUILD0
-rwxr-xr-x[-rw-r--r--]libre/kdebase-konqueror-libre/PKGBUILD6
-rwxr-xr-x[-rw-r--r--]libre/kdebase-konqueror-libre/kdebase-konqueror.install0
-rwxr-xr-x[-rw-r--r--]libre/kdebase-konqueror-libre/konq-about-fsdg.diff0
-rw-r--r--libre/kdebase-runtime-libre/PKGBUILD8
-rwxr-xr-x[-rw-r--r--]libre/kdelibs-libre/PKGBUILD8
-rwxr-xr-x[-rw-r--r--]libre/kdelibs-libre/fix-kmail-crash.patch0
-rwxr-xr-x[-rw-r--r--]libre/kdelibs-libre/kde-applications-menu.patch0
-rwxr-xr-x[-rw-r--r--]libre/kdelibs-libre/kdelibs.install0
-rwxr-xr-x[-rw-r--r--]libre/kdelibs-libre/khtml-fsdg.diff0
-rwxr-xr-x[-rw-r--r--]libre/kdelibs-libre/use-pythondontwritebytecode.patch0
-rwxr-xr-x[-rw-r--r--]libre/kdenetwork-kopete-libre/PKGBUILD6
-rwxr-xr-x[-rw-r--r--]libre/kdenetwork-kopete-libre/kdenetwork-kopete.install0
-rwxr-xr-x[-rw-r--r--]libre/kdenetwork-kopete-libre/kdenetwork.install0
-rwxr-xr-x[-rw-r--r--]libre/kdeutils-ark-libre/PKGBUILD6
-rwxr-xr-x[-rw-r--r--]libre/kdeutils-ark-libre/kdeutils-ark.install0
-rwxr-xr-x[-rw-r--r--]libre/kdeutils-ark-libre/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-lts/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-lts/buildfix-gcc46.diff0
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-lts/config.i6860
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-lts/config.x86_640
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-lts/kernel26-libre-lts.install0
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-lts/kernel26-lts.preset0
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-lts/libata-alignment.patch0
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-lts/packages/.svn/entries0
-rwxr-xr-x[-rw-r--r--]libre/kernel26-libre-manpages/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/kile-libre/PKGBUILD6
-rwxr-xr-x[-rw-r--r--]libre/kile-libre/kile.install0
-rwxr-xr-x[-rw-r--r--]libre/kile-libre/no-acroread.patch0
-rwxr-xr-x[-rw-r--r--]libre/lame-libre/PKGBUILD1
-rwxr-xr-x[-rw-r--r--]libre/lesspipe-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/lesspipe-libre/lesspipe.sh0
-rwxr-xr-x[-rw-r--r--]libre/lesspipe-libre/rePKGBUILD0
-rw-r--r--libre/lib32-mesa-demos-libre/PKGBUILD45
-rwxr-xr-xlibre/lib32-mesa-demos-libre/mesa-demos-libre.patch1192
-rw-r--r--libre/lib32-sdl-libre/PKGBUILD60
-rw-r--r--libre/lib32-sdl-libre/fix_joystick_misc_axes.diff13
-rw-r--r--libre/lib32-sdl-libre/libre.patch (renamed from libre/sdl-libre/riva_mmio.patch)24
-rw-r--r--libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch63
-rw-r--r--libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch13
-rw-r--r--libre/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch23
-rw-r--r--libre/libcl-libre/PKGBUILD98
-rwxr-xr-x[-rw-r--r--]libre/libquicktime-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/libretools/PKGBUILD65
-rwxr-xr-x[-rw-r--r--]libre/libretools/libretools.install4
-rwxr-xr-x[-rw-r--r--]libre/libui-sh/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/ZopePublicLicense.txt0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/cc-by-3.0.txt0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/cc-by-sa-3.0.txt0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/cc-readme.txt0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/cddl-1.0.txt0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/cpl-1.0.txt0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/eclipse-1.0.txt0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/perlartistic.txt0
-rwxr-xr-x[-rw-r--r--]libre/licenses-libre/python-2.txt0
-rwxr-xr-x[-rw-r--r--]libre/liferea-libre/PKGBUILD14
-rwxr-xr-x[-rw-r--r--]libre/liferea-libre/libnotify-0.7.patch0
-rwxr-xr-x[-rw-r--r--]libre/liferea-libre/liferea.install6
-rwxr-xr-x[-rw-r--r--]libre/liferea-libre/remove-non-free-suggestions.patch0
-rwxr-xr-x[-rw-r--r--]libre/lilo/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/lilo/lilo.conf0
-rwxr-xr-x[-rw-r--r--]libre/lilo/lilo.install0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-api-headers/PKGBUILD4
-rw-r--r--libre/linux-libre-firmware/PKGBUILD49
-rw-r--r--libre/linux-libre-kmod-alx/PKGBUILD36
-rw-r--r--libre/linux-libre-kmod-alx/linux-libre-kmod-alx.install33
-rw-r--r--libre/linux-libre-lts-kmod-alx/PKGBUILD36
-rw-r--r--libre/linux-libre-lts-kmod-alx/linux-libre-lts-kmod-alx.install33
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/Kbuild0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/Kbuild.platforms0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/PKGBUILD28
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/boot-logo.patch0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/change-default-console-loglevel.patch0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/config.i68614
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/config.x86_6414
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/ext4-options.patch0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/i915-fix-ghost-tv-output.patch0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/linux-libre-lts.install4
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-lts/linux-libre-lts.preset0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-manpages/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-tools/PKGBUILD18
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-tools/cpupower.conf5
-rw-r--r--libre/linux-libre-tools/cpupower.pmutils37
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-tools/cpupower.rc1
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-tools/cpupower.service0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-tools/cpupower.systemd0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-tools/usbipd.conf0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-tools/usbipd.rc0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre-tools/usbipd.service0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/ChangeLog0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/Kbuild0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/Kbuild.platforms0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/PKGBUILD33
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/boot-logo.patch0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/change-default-console-loglevel.patch0
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/config.i686169
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/config.x86_64173
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/linux-libre.install4
-rwxr-xr-x[-rw-r--r--]libre/linux-libre/linux-libre.preset0
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/PKGBUILD46
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/irexec.conf0
-rw-r--r--libre/lirc-libre/irexec.service11
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/irexecd0
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/kernel-2.6.39.patch0
-rw-r--r--libre/lirc-libre/lirc-utils.install7
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/lirc.install2
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/lirc.logrotate0
-rw-r--r--libre/lirc-libre/lirc.service11
-rw-r--r--libre/lirc-libre/lirc.tmpfiles1
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/lirc_atiusb-kfifo.patch0
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/lirc_wpc8769l.patch0
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/lircd0
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/lircd-handle-large-config.patch0
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/lircd.conf0
-rw-r--r--libre/lirc-libre/lircm.service11
-rwxr-xr-x[-rw-r--r--]libre/lirc-libre/lircmd0
-rwxr-xr-x[-rw-r--r--]libre/lsb-release-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/lsb-release-libre/lsb-release.install0
-rwxr-xr-x[-rw-r--r--]libre/luxblend25/PKGBUILD50
-rw-r--r--libre/luxrays-libre/PKGBUILD42
-rw-r--r--libre/luxrender-libre/PKGBUILD54
-rw-r--r--libre/luxrender-libre/boost_1.50_fix.diff131
-rwxr-xr-x[-rw-r--r--]libre/mariadb/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/mariadb/mariadb.install0
-rwxr-xr-x[-rw-r--r--]libre/mariadb/my.cnf0
-rwxr-xr-x[-rw-r--r--]libre/mariadb/mysql.install0
-rwxr-xr-x[-rw-r--r--]libre/mariadb/mysqld0
-rwxr-xr-x[-rw-r--r--]libre/maven-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/maven-libre/maven.csh0
-rwxr-xr-x[-rw-r--r--]libre/maven-libre/maven.sh0
-rwxr-xr-x[-rw-r--r--]libre/mesa-demos-libre/LICENSE0
-rwxr-xr-x[-rw-r--r--]libre/mesa-demos-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/metalog/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/metalog/metalog0
-rwxr-xr-x[-rw-r--r--]libre/metalog/metalog.confd0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-devscripts/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/duck-duck-go-lite.xml0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/internet-archive.xml0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/jamendo-en.xml0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/logless-search.xml0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/parabola-packages.xml0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/parabola-wiki-en.xml0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/seeks-search.xml0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/wikipedia.xml0
-rwxr-xr-x[-rw-r--r--]libre/mozilla-searchplugins/yacy.xml0
-rwxr-xr-x[-rw-r--r--]libre/mplayer-libre/.directory0
-rwxr-xr-x[-rw-r--r--]libre/mplayer-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/mplayer-libre/mplayer.desktop0
-rwxr-xr-x[-rw-r--r--]libre/mplayer-libre/mplayer.install0
-rwxr-xr-x[-rw-r--r--]libre/mplayer-libre/mplayer.pngbin1982 -> 1982 bytes
-rwxr-xr-x[-rw-r--r--]libre/mplayer-vaapi-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/mplayer-vaapi-libre/mplayer-vaapi.install0
-rwxr-xr-x[-rw-r--r--]libre/mplayer-vaapi-libre/tweak-desktop-file.patch0
-rwxr-xr-x[-rw-r--r--]libre/p7zip-libre/7zFM.desktop0
-rwxr-xr-x[-rw-r--r--]libre/p7zip-libre/9.04-makefile.patch0
-rwxr-xr-x[-rw-r--r--]libre/p7zip-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/p7zip-libre/install0
-rwxr-xr-x[-rw-r--r--]libre/p7zip-libre/p7zip-libre.patch0
-rwxr-xr-x[-rw-r--r--]libre/pacman-mirrorlist-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch0
-rwxr-xr-x[-rw-r--r--]libre/pacman/0002-Check-empty-subdirectory-ownership.patch0
-rwxr-xr-x[-rw-r--r--]libre/pacman/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/pacman/makepkg.conf0
-rwxr-xr-x[-rw-r--r--]libre/pacman/pacman.conf0
-rwxr-xr-x[-rw-r--r--]libre/pacman/pacman.conf.mips64el0
-rwxr-xr-x[-rw-r--r--]libre/pacman/pacman.conf.x86_640
-rwxr-xr-x[-rw-r--r--]libre/pacman/pacman.install0
-rwxr-xr-x[-rw-r--r--]libre/pacman/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/parabola-archiso-git/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/parabola-keyring/PKGBUILD6
-rwxr-xr-x[-rw-r--r--]libre/parabola-keyring/parabola-keyring.install0
-rwxr-xr-x[-rw-r--r--]libre/parabola-themes-slim/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/parabolaweb-git/Makefile0
-rwxr-xr-x[-rw-r--r--]libre/parabolaweb-git/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/parabolaweb-git/deps-ver.txt0
-rwxr-xr-x[-rw-r--r--]libre/parabolaweb-git/parabolaweb.init.sh0
-rwxr-xr-x[-rw-r--r--]libre/parabolaweb-git/parabolaweb.update.sh.in0
-rwxr-xr-x[-rw-r--r--]libre/parabolaweb-git/requirements_prod.txt0
-rwxr-xr-x[-rw-r--r--]libre/psutils-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/psutils-libre/psutils-1.17.diff0
-rwxr-xr-x[-rw-r--r--]libre/python-reportlab-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/python-reportlab-libre/free-fonts.patch0
-rwxr-xr-x[-rw-r--r--]libre/python2-ply/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/rp-pppoe-libre/PKGBUILD63
-rwxr-xr-x[-rw-r--r--]libre/rp-pppoe-libre/adsl0
-rw-r--r--libre/rp-pppoe-libre/adsl.service10
-rw-r--r--libre/rp-pppoe-libre/rp-pppoe-libre.patch34
-rwxr-xr-x[-rw-r--r--]libre/rp-pppoe-libre/rp-pppoe.install0
-rwxr-xr-x[-rw-r--r--]libre/sdl-libre/PKGBUILD40
-rw-r--r--libre/sdl-libre/fix_joystick_misc_axes.diff13
-rw-r--r--libre/sdl-libre/libre.patch578
-rw-r--r--libre/sdl-libre/libsdl-1.2.15-resizing.patch63
-rw-r--r--libre/sdl-libre/no-riva-accel.patch24
-rwxr-xr-x[-rw-r--r--]libre/sdl-libre/sdl-1.2.14-disable-mmx.patch0
-rwxr-xr-x[-rw-r--r--]libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/clrf.patch0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/gcc47.patch0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/gnuzilla-addons.patch0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/libvpx.patch0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/mozconfig0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/python27.patch0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/seamonkey-2.0-lang.patch0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/seamonkey.desktop0
-rwxr-xr-x[-rw-r--r--]libre/seamonkey-libre/seamonkey.install0
-rw-r--r--libre/spectrwm-libre/LICENSE47
-rw-r--r--libre/spectrwm-libre/PKGBUILD65
-rw-r--r--libre/spectrwm-libre/baraction.sh82
-rwxr-xr-x[-rw-r--r--]libre/sqlite3-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/sqlite3-libre/license.txt0
-rwxr-xr-x[-rw-r--r--]libre/sqlite3/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/sqlite3/license.txt0
-rwxr-xr-x[-rw-r--r--]libre/syslinux/PKGBUILD23
-rwxr-xr-x[-rw-r--r--]libre/syslinux/avoid-using-ext2_fs.patch0
-rwxr-xr-x[-rw-r--r--]libre/syslinux/fix-undefined-type-umode_t.patch0
-rwxr-xr-x[-rw-r--r--]libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch5
-rwxr-xr-x[-rw-r--r--]libre/syslinux/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/syslinux/splash.pngbin9932 -> 9932 bytes
-rwxr-xr-x[-rw-r--r--]libre/syslinux/syslinux-dont-build-dos-windows-targets.patch0
-rwxr-xr-x[-rw-r--r--]libre/syslinux/syslinux-install_update0
-rwxr-xr-x[-rw-r--r--]libre/syslinux/syslinux.cfg0
-rwxr-xr-x[-rw-r--r--]libre/syslinux/syslinux.install0
-rwxr-xr-x[-rw-r--r--]libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch0
-rwxr-xr-x[-rw-r--r--]libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch0
-rwxr-xr-x[-rw-r--r--]libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch0
-rwxr-xr-x[-rw-r--r--]libre/systemd/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/systemd/os-release0
-rwxr-xr-x[-rw-r--r--]libre/systemd/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/systemd/systemd.install0
-rwxr-xr-x[-rw-r--r--]libre/texlive-bin-libre/09-texlive-fonts.conf0
-rwxr-xr-x[-rw-r--r--]libre/texlive-bin-libre/PKGBUILD5
-rwxr-xr-x[-rw-r--r--]libre/texlive-bin-libre/fix-fontforge-encoding.patch0
-rwxr-xr-x[-rw-r--r--]libre/texlive-bin-libre/luatex-poppler-0.20.patch0
-rwxr-xr-x[-rw-r--r--]libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch0
-rwxr-xr-x[-rw-r--r--]libre/texlive-bin-libre/poppler-0.20.patch0
-rwxr-xr-x[-rw-r--r--]libre/texlive-bin-libre/texlive.install16
-rwxr-xr-x[-rw-r--r--]libre/texlive-bin-libre/texmf.cnf0
-rwxr-xr-x[-rw-r--r--]libre/texlive-core-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/texlive-core-libre/texlive-core.maps0
-rwxr-xr-x[-rw-r--r--]libre/texlive-core-libre/texlive.install0
-rwxr-xr-x[-rw-r--r--]libre/texlive-fontsextra-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/texlive-fontsextra-libre/texlive-fontsextra.maps0
-rwxr-xr-x[-rw-r--r--]libre/texlive-fontsextra-libre/texlive.install0
-rwxr-xr-x[-rw-r--r--]libre/texlive-latexextra-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/texlive-latexextra-libre/texlive-latexextra.maps0
-rwxr-xr-x[-rw-r--r--]libre/texlive-latexextra-libre/texlive.install0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/.directory0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/channel-prefs.js0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/clrf.patch0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/gcc47.patch0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/mozconfig0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/searchplugins-libre.patch0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/thunderbird-install-dir.patch0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/thunderbird.desktop0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/thunderbird.install0
-rwxr-xr-x[-rw-r--r--]libre/thunderbird-libre/vendor.js0
-rw-r--r--libre/tp_smapi-libre/PKGBUILD63
-rw-r--r--libre/tp_smapi-libre/tp_smapi.install13
-rwxr-xr-x[-rw-r--r--]libre/ttf-thai-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/ttf-thai-libre/ttf.install0
-rwxr-xr-x[-rw-r--r--]libre/unarchiver/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/unarchiver/libz.patch0
-rwxr-xr-x[-rw-r--r--]libre/unarchiver/native_obj_exceptions.patch0
-rwxr-xr-x[-rw-r--r--]libre/unrar-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/ununrar/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/unzip-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/unzip-libre/SRCBUILD0
-rwxr-xr-x[-rw-r--r--]libre/unzip-libre/match.patch0
-rwxr-xr-x[-rw-r--r--]libre/vhba-module-libre/60-vhba.rules0
-rwxr-xr-x[-rw-r--r--]libre/vhba-module-libre/PKGBUILD7
-rwxr-xr-x[-rw-r--r--]libre/vhba-module-libre/vhba-module.install2
-rw-r--r--libre/virtualbox-libre-modules-lts/LocalConfig.kmk19
-rw-r--r--libre/virtualbox-libre-modules-lts/PKGBUILD196
-rwxr-xr-xlibre/virtualbox-libre-modules-lts/build.sh20
-rw-r--r--libre/virtualbox-libre-modules-lts/free-distros.patch1383
-rw-r--r--libre/virtualbox-libre-modules-lts/libre.patch5765
-rw-r--r--libre/virtualbox-libre-modules-lts/os_blag.pngbin1411 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_blag_64.pngbin1549 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_dragora.pngbin2375 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_dragora_64.pngbin2430 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_dynebolic.pngbin1621 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_gnewsense.pngbin2315 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_gnewsense_64.pngbin2470 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_gnu.pngbin2728 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_gnu_64.pngbin2705 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_gnuhurd.pngbin2728 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_gnulinux.pngbin2728 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_gnulinux_64.pngbin2705 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_musix.pngbin2451 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_musix_64.pngbin2581 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_os64base.pngbin1300 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_os64base.xcfbin2844 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_osbase.pngbin1042 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_osbase.xcfbin2748 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_parabola.pngbin1931 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_parabola_64.pngbin2096 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_trisquel.pngbin2451 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_trisquel_64.pngbin2592 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_ututo.pngbin2615 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_ututo_64.pngbin2751 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/os_venenux.pngbin1653 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules-lts/virtualbox-libre-guest-modules-lts.install (renamed from libre/virtualbox-libre-modules-lts/virtualbox-libre-parabola-modules-lts.install)0
-rw-r--r--libre/virtualbox-libre-modules-lts/virtualbox-libre-host-modules-lts.install (renamed from libre/virtualbox-libre-modules-lts/virtualbox-libre-modules-lts.install)2
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre-modules/.directory0
-rw-r--r--libre/virtualbox-libre-modules/60-vboxguest.rules2
-rw-r--r--libre/virtualbox-libre-modules/LocalConfig.kmk19
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre-modules/PKGBUILD204
-rwxr-xr-xlibre/virtualbox-libre-modules/build.sh20
-rw-r--r--libre/virtualbox-libre-modules/free-distros.patch1383
-rw-r--r--libre/virtualbox-libre-modules/libre.patch5765
-rw-r--r--libre/virtualbox-libre-modules/linux34.patch12
-rw-r--r--libre/virtualbox-libre-modules/os_blag.pngbin1411 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_blag_64.pngbin1549 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_dragora.pngbin2375 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_dragora_64.pngbin2430 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_dynebolic.pngbin1621 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_gnewsense.pngbin2315 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_gnewsense_64.pngbin2470 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_gnu.pngbin2728 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_gnu_64.pngbin2705 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_gnuhurd.pngbin2728 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_gnulinux.pngbin2728 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_gnulinux_64.pngbin2705 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_musix.pngbin2451 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_musix_64.pngbin2581 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_os64base.pngbin1300 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_os64base.xcfbin2844 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_osbase.pngbin1042 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_osbase.xcfbin2748 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_parabola.pngbin1931 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_parabola_64.pngbin2096 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_trisquel.pngbin2451 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_trisquel_64.pngbin2592 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_ututo.pngbin2615 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_ututo_64.pngbin2751 -> 0 bytes
-rw-r--r--libre/virtualbox-libre-modules/os_venenux.pngbin1653 -> 0 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre-modules/virtualbox-libre-guest-modules.install (renamed from libre/virtualbox-libre-modules/virtualbox-libre-parabola-modules.install)6
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre-modules/virtualbox-libre-host-modules.install (renamed from libre/virtualbox-libre-modules/virtualbox-libre-modules.install)2
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/10-vboxdrv.rules0
-rw-r--r--libre/virtualbox-libre/60-vboxguest.rules (renamed from libre/virtualbox-libre-modules-lts/60-vboxguest.rules)0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/LocalConfig.kmk0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/PKGBUILD284
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/change_default_driver_dir.patch0
-rw-r--r--libre/virtualbox-libre/free-distros.patch2301
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/gsoap.patch0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/ipv6_vnc.patch0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/libre.patch412
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_blag.pngbin1411 -> 1411 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_blag_64.pngbin1549 -> 1549 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_dragora.pngbin2375 -> 2375 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_dragora_64.pngbin2430 -> 2430 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_dynebolic.pngbin1621 -> 1621 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_gnewsense.pngbin2315 -> 2315 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_gnewsense_64.pngbin2470 -> 2470 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_gnu.pngbin2728 -> 2728 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_gnu_64.pngbin2705 -> 2705 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_gnuhurd.pngbin2728 -> 2728 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_gnulinux.pngbin2728 -> 2728 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_gnulinux_64.pngbin2705 -> 2705 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_musix.pngbin2451 -> 2451 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_musix_64.pngbin2581 -> 2581 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_os64base.pngbin1300 -> 1300 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_os64base.xcfbin2844 -> 2844 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_osbase.pngbin1042 -> 1042 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_osbase.xcfbin2748 -> 2748 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_parabola.pngbin1931 -> 1931 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_parabola_64.pngbin2096 -> 2096 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_trisquel.pngbin2451 -> 2451 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_trisquel_64.pngbin2592 -> 2592 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_ututo.pngbin2615 -> 2615 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_ututo_64.pngbin2751 -> 2751 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/os_venenux.pngbin1653 -> 1653 bytes
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/vboxbuild0
-rw-r--r--libre/virtualbox-libre/vboxdrv-reference.patch12
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/vboxservice.conf0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/vboxservice.rc0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/vboxservice.service0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/vboxweb.conf0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/vboxweb.rc0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/vboxweb.service0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/virtualbox-libre-guest-source.install (renamed from libre/virtualbox-libre/virtualbox-libre-parabola-source.install)1
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/virtualbox-libre-guest-utils.install (renamed from libre/virtualbox-libre/virtualbox-libre-parabola-additions.install)0
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/virtualbox-libre-host-source.install (renamed from libre/virtualbox-libre/virtualbox-libre-source.install)1
-rwxr-xr-x[-rw-r--r--]libre/virtualbox-libre/virtualbox-libre.install0
-rwxr-xr-x[-rw-r--r--]libre/xarchiver-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/xarchiver-libre/rePKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch0
-rwxr-xr-x[-rw-r--r--]libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch0
-rwxr-xr-x[-rw-r--r--]libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch0
-rwxr-xr-x[-rw-r--r--]libre/xarchiver-libre/xarchiver.install0
-rwxr-xr-x[-rw-r--r--]libre/xchat-libre/ChangeLog0
-rwxr-xr-x[-rw-r--r--]libre/xchat-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/xchat-libre/no-firefox.patch0
-rwxr-xr-x[-rw-r--r--]libre/xchat-libre/remove-non-free-suggestion.patch0
-rwxr-xr-x[-rw-r--r--]libre/xchat-libre/xchat-2.8.8-glib-2.31.patch0
-rwxr-xr-x[-rw-r--r--]libre/xchat-libre/xchat-2.8.8-libnotify07.patch0
-rwxr-xr-x[-rw-r--r--]libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch0
-rwxr-xr-x[-rw-r--r--]libre/xchat-libre/xchat.install0
-rwxr-xr-x[-rw-r--r--]libre/xmlstarlet/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/xorg-fonts-100dpi-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/xorg-fonts-100dpi-libre/xfonts.install0
-rwxr-xr-x[-rw-r--r--]libre/xorg-fonts-75dpi-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/xorg-fonts-75dpi-libre/xfonts.install0
-rwxr-xr-x[-rw-r--r--]libre/xorg-fonts-type1-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/xorg-fonts-type1-libre/xfonts.install0
-rwxr-xr-x[-rw-r--r--]libre/xscreensaver-libre/LICENSE0
-rwxr-xr-x[-rw-r--r--]libre/xscreensaver-libre/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/xscreensaver-libre/add-electricsheep.diff0
-rwxr-xr-x[-rw-r--r--]libre/xscreensaver-libre/libre.patch0
-rwxr-xr-x[-rw-r--r--]libre/xscreensaver-libre/xscreensaver.pam0
-rwxr-xr-x[-rw-r--r--]libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch143
-rwxr-xr-x[-rw-r--r--]libre/xulrunner-libre/PKGBUILD10
-rwxr-xr-x[-rw-r--r--]libre/xulrunner-libre/mozconfig0
-rwxr-xr-x[-rw-r--r--]libre/xulrunner-libre/mozilla-pkgconfig.patch0
-rwxr-xr-x[-rw-r--r--]libre/your-freedom/PKGBUILD0
-rwxr-xr-x[-rw-r--r--]libre/your-freedom/your-freedom.install0
649 files changed, 7294 insertions, 17909 deletions
diff --git a/libre/abiword-libre/PKGBUILD b/libre/abiword-libre/PKGBUILD
index 4286d258a..4286d258a 100644..100755
--- a/libre/abiword-libre/PKGBUILD
+++ b/libre/abiword-libre/PKGBUILD
diff --git a/libre/abiword-libre/abiword-2.8.6-libpng15.patch b/libre/abiword-libre/abiword-2.8.6-libpng15.patch
index 7eded4c83..7eded4c83 100644..100755
--- a/libre/abiword-libre/abiword-2.8.6-libpng15.patch
+++ b/libre/abiword-libre/abiword-2.8.6-libpng15.patch
diff --git a/libre/abiword-libre/abiword-2.8.6-no-undefined.patch b/libre/abiword-libre/abiword-2.8.6-no-undefined.patch
index c07000edb..c07000edb 100644..100755
--- a/libre/abiword-libre/abiword-2.8.6-no-undefined.patch
+++ b/libre/abiword-libre/abiword-2.8.6-no-undefined.patch
diff --git a/libre/abiword-libre/abiword-libre.install b/libre/abiword-libre/abiword-libre.install
index 2eaa60550..2eaa60550 100644..100755
--- a/libre/abiword-libre/abiword-libre.install
+++ b/libre/abiword-libre/abiword-libre.install
diff --git a/libre/abiword-libre/compat_libwpg_0_9.patch b/libre/abiword-libre/compat_libwpg_0_9.patch
index cf36e188e..cf36e188e 100644..100755
--- a/libre/abiword-libre/compat_libwpg_0_9.patch
+++ b/libre/abiword-libre/compat_libwpg_0_9.patch
diff --git a/libre/abiword-libre/liberation-fonts.patch b/libre/abiword-libre/liberation-fonts.patch
index a009b18f5..a009b18f5 100644..100755
--- a/libre/abiword-libre/liberation-fonts.patch
+++ b/libre/abiword-libre/liberation-fonts.patch
diff --git a/libre/abs-libre/PKGBUILD b/libre/abs-libre/PKGBUILD
index 1abcd02dc..1abcd02dc 100644..100755
--- a/libre/abs-libre/PKGBUILD
+++ b/libre/abs-libre/PKGBUILD
diff --git a/libre/abs-libre/abs.install b/libre/abs-libre/abs.install
index ac814c2fc..ac814c2fc 100644..100755
--- a/libre/abs-libre/abs.install
+++ b/libre/abs-libre/abs.install
diff --git a/libre/abuse-libre/PKGBUILD b/libre/abuse-libre/PKGBUILD
index 829871791..829871791 100644..100755
--- a/libre/abuse-libre/PKGBUILD
+++ b/libre/abuse-libre/PKGBUILD
diff --git a/libre/abuse-libre/abuse.install b/libre/abuse-libre/abuse.install
index 4d28ebacd..4d28ebacd 100644..100755
--- a/libre/abuse-libre/abuse.install
+++ b/libre/abuse-libre/abuse.install
diff --git a/libre/abuse-libre/non-claudio.patch b/libre/abuse-libre/non-claudio.patch
index 2a29e53f0..2a29e53f0 100644..100755
--- a/libre/abuse-libre/non-claudio.patch
+++ b/libre/abuse-libre/non-claudio.patch
diff --git a/libre/abuse-libre/rePKGBUILD b/libre/abuse-libre/rePKGBUILD
index 3c9a0082d..3c9a0082d 100644..100755
--- a/libre/abuse-libre/rePKGBUILD
+++ b/libre/abuse-libre/rePKGBUILD
diff --git a/libre/aif-libre/PKGBUILD b/libre/aif-libre/PKGBUILD
index 7decd9531..7decd9531 100644..100755
--- a/libre/aif-libre/PKGBUILD
+++ b/libre/aif-libre/PKGBUILD
diff --git a/libre/apache-ant/PKGBUILD b/libre/apache-ant/PKGBUILD
index 77e0dfe94..77e0dfe94 100644..100755
--- a/libre/apache-ant/PKGBUILD
+++ b/libre/apache-ant/PKGBUILD
diff --git a/libre/apache-ant/apache-ant.csh b/libre/apache-ant/apache-ant.csh
index fdc04b2f8..fdc04b2f8 100644..100755
--- a/libre/apache-ant/apache-ant.csh
+++ b/libre/apache-ant/apache-ant.csh
diff --git a/libre/apache-ant/apache-ant.sh b/libre/apache-ant/apache-ant.sh
index 6e4809da5..6e4809da5 100644..100755
--- a/libre/apache-ant/apache-ant.sh
+++ b/libre/apache-ant/apache-ant.sh
diff --git a/libre/aspell-pl-libre/PKGBUILD b/libre/aspell-pl-libre/PKGBUILD
index 6da90e449..6da90e449 100644..100755
--- a/libre/aspell-pl-libre/PKGBUILD
+++ b/libre/aspell-pl-libre/PKGBUILD
diff --git a/libre/atool-libre/PKGBUILD b/libre/atool-libre/PKGBUILD
index ea1dfec52..ea1dfec52 100644..100755
--- a/libre/atool-libre/PKGBUILD
+++ b/libre/atool-libre/PKGBUILD
diff --git a/libre/atool-libre/atool.changelog b/libre/atool-libre/atool.changelog
index ce0b12c2b..ce0b12c2b 100644..100755
--- a/libre/atool-libre/atool.changelog
+++ b/libre/atool-libre/atool.changelog
diff --git a/libre/atool-libre/rePKGBUILD b/libre/atool-libre/rePKGBUILD
index e684320d0..e684320d0 100644..100755
--- a/libre/atool-libre/rePKGBUILD
+++ b/libre/atool-libre/rePKGBUILD
diff --git a/libre/audacious-plugins-libre/PKGBUILD b/libre/audacious-plugins-libre/PKGBUILD
index d5b1e5313..1644c5576 100644..100755
--- a/libre/audacious-plugins-libre/PKGBUILD
+++ b/libre/audacious-plugins-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 164182 2012-07-27 00:15:41Z bisson $
+# $Id: PKGBUILD 166974 2012-09-23 22:57:12Z bisson $
# Contributor: Alexander Fehr <pizzapunk gmail com>
# Contributor: William Rea <sillywilly@gmail.com>
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
@@ -7,12 +7,12 @@
_pkgname=audacious-plugins
pkgname=audacious-plugins-libre
-pkgver=3.3.1
+pkgver=3.3.2
pkgrel=1
pkgdesc='Plugins for Audacious without unfree plugins'
url='http://audacious-media-player.org/'
+license=('GPL' 'GPL3' 'LGPL' 'custom:BSD')
arch=('i686' 'x86_64')
-license=('GPL' 'GPL3' 'LGPL' 'custom')
# Licensing issues:
# The plugins 'scrobbler', stereoplugin', 'wavepack' and 'plugin_echo' have no license notice
@@ -60,7 +60,8 @@ optdepends=('oss: Open Sound System v4 output'
'libcue: CUE playlist format')
source=("http://distfiles.audacious-media-player.org/${_pkgname}-${pkgver}.tar.bz2")
-sha1sums=('7775ff82a7fe2a1de7eb8a76322718c845a1f225')
+sha1sums=('869d3820263ff35609bfc6f2e69885a00d660513')
+
build() {
# Retrieve upstream & remove plugin 'psf' due to issues mentioned above.
sed -i s/enable_psf=yes/enable_psf=no/ ${_pkgname}-$pkgver/configure
@@ -115,4 +116,5 @@ build() {
package() {
cd "${srcdir}/${_pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/libre/audacity-libre/.directory b/libre/audacity-libre/.directory
index a65007814..a65007814 100644..100755
--- a/libre/audacity-libre/.directory
+++ b/libre/audacity-libre/.directory
diff --git a/libre/audacity-libre/PKGBUILD b/libre/audacity-libre/PKGBUILD
index 6d6f287b3..6d6f287b3 100644..100755
--- a/libre/audacity-libre/PKGBUILD
+++ b/libre/audacity-libre/PKGBUILD
diff --git a/libre/audacity-libre/audacity-libre.install b/libre/audacity-libre/audacity-libre.install
index 028c9f62a..028c9f62a 100644..100755
--- a/libre/audacity-libre/audacity-libre.install
+++ b/libre/audacity-libre/audacity-libre.install
diff --git a/libre/audacity-libre/remove-unfree-nyquist.patch b/libre/audacity-libre/remove-unfree-nyquist.patch
index b2f9f31e3..b2f9f31e3 100644..100755
--- a/libre/audacity-libre/remove-unfree-nyquist.patch
+++ b/libre/audacity-libre/remove-unfree-nyquist.patch
diff --git a/libre/blackbox-libre/PKGBUILD b/libre/blackbox-libre/PKGBUILD
index c76d7cba5..c76d7cba5 100644..100755
--- a/libre/blackbox-libre/PKGBUILD
+++ b/libre/blackbox-libre/PKGBUILD
diff --git a/libre/blackbox-libre/bbdock.patch b/libre/blackbox-libre/bbdock.patch
index 709b6cfe1..709b6cfe1 100644..100755
--- a/libre/blackbox-libre/bbdock.patch
+++ b/libre/blackbox-libre/bbdock.patch
diff --git a/libre/blackbox-libre/bsetbg-feh.patch b/libre/blackbox-libre/bsetbg-feh.patch
index 17a612ff0..17a612ff0 100644..100755
--- a/libre/blackbox-libre/bsetbg-feh.patch
+++ b/libre/blackbox-libre/bsetbg-feh.patch
diff --git a/libre/blackbox-libre/gcc4.3.patch b/libre/blackbox-libre/gcc4.3.patch
index 40a9dcdef..40a9dcdef 100644..100755
--- a/libre/blackbox-libre/gcc4.3.patch
+++ b/libre/blackbox-libre/gcc4.3.patch
diff --git a/libre/blackbox-libre/menu b/libre/blackbox-libre/menu
index 9cba27d16..9cba27d16 100644..100755
--- a/libre/blackbox-libre/menu
+++ b/libre/blackbox-libre/menu
diff --git a/libre/blackbox-libre/textpropertytostring-unconditional.patch b/libre/blackbox-libre/textpropertytostring-unconditional.patch
index ed320388a..ed320388a 100644..100755
--- a/libre/blackbox-libre/textpropertytostring-unconditional.patch
+++ b/libre/blackbox-libre/textpropertytostring-unconditional.patch
diff --git a/libre/blender-libre/PKGBUILD b/libre/blender-libre/PKGBUILD
index 6e3228359..f7005d739 100644..100755
--- a/libre/blender-libre/PKGBUILD
+++ b/libre/blender-libre/PKGBUILD
@@ -3,8 +3,8 @@
_pkgname=blender
pkgname=blender-libre
-pkgver=2.63a
-pkgrel=5
+pkgver=2.64
+pkgrel=1
pkgdesc="A fully integrated 3D graphics creation suite (without nonfree cuda-toolkit support)"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
@@ -21,17 +21,17 @@ install=${_pkgname}.install
source=(http://download.${_pkgname}.org/source/${_pkgname}-${pkgver}.tar.gz
ffmpeg-0.11.patch
boost-1.50.patch)
-md5sums=('31a60b3ce5466d965cb7e2648995e092'
+md5sums=('caec080d2a3dcd57fe1ca20c51c00e53'
'9e5649403e51654615d30b10bc460217'
'0bab80da07d980c47b8ce3cb998edaef')
build() {
cd "${srcdir}/${_pkgname}-${pkgver}"
- patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch
- patch -Np1 < "${srcdir}"/boost-1.50.patch
- sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h
- sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c
+ #patch -Np1 < "${srcdir}"/ffmpeg-0.11.patch
+ #patch -Np1 < "${srcdir}"/boost-1.50.patch
+ #sed -i "/<libavcodec\/opt.h>/d" intern/ffmpeg/ffmpeg_compat.h
+ #sed -i "/<libavcodec\/opt.h>/d" source/blender/blenkernel/intern/writeffmpeg.c
mkdir build
cd build
diff --git a/libre/blender-libre/blender.install b/libre/blender-libre/blender.install
index 724bfce00..724bfce00 100644..100755
--- a/libre/blender-libre/blender.install
+++ b/libre/blender-libre/blender.install
diff --git a/libre/blender-libre/boost-1.50.patch b/libre/blender-libre/boost-1.50.patch
index fa698a3a6..fa698a3a6 100644..100755
--- a/libre/blender-libre/boost-1.50.patch
+++ b/libre/blender-libre/boost-1.50.patch
diff --git a/libre/blender-libre/ffmpeg-0.11.patch b/libre/blender-libre/ffmpeg-0.11.patch
index 45144140c..45144140c 100644..100755
--- a/libre/blender-libre/ffmpeg-0.11.patch
+++ b/libre/blender-libre/ffmpeg-0.11.patch
diff --git a/libre/bogofilter-libre/PKGBUILD b/libre/bogofilter-libre/PKGBUILD
index c5718a9fd..c5718a9fd 100644..100755
--- a/libre/bogofilter-libre/PKGBUILD
+++ b/libre/bogofilter-libre/PKGBUILD
diff --git a/libre/cdfs-libre/PKGBUILD b/libre/cdfs-libre/PKGBUILD
new file mode 100644
index 000000000..5afccbcfb
--- /dev/null
+++ b/libre/cdfs-libre/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: J. Santiago Hirschfeld <jsantiagoh@yahoo.com.ar>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=cdfs
+pkgname=cdfs-libre
+pkgver=2.6.27
+pkgrel=31
+pkgdesc="File system module libre that 'exports' all tracks and boot images on a CD as normal files."
+arch=(i686 x86_64)
+url="http://www.elis.UGent.be/~ronsse/cdfs/"
+license=('GPL')
+makedepends=('linux-libre-headers')
+replaces=('cdfs')
+conflicts=('cdfs')
+provides=("cdfs=${pkgver}")
+install=cdfs.install
+source=("http://www.elis.UGent.be/~ronsse/cdfs/download/$_pkgname-$pkgver.tar.bz2"
+ "cdfs-3.0.patch"
+ "cdfs-3.2.patch"
+ "cdfs-3.4.patch")
+md5sums=('ac64c014a90e3c488394832ea29605b3'
+ 'aba7da94a9dcbb8a93ea423cb6958fef'
+ 'e934407b3460257a301822ffc4ab3933'
+ '9215e7bdac728bd2f889fb525e543454')
+
+build() {
+ _kernver=`pacman -Q linux-libre | cut -d . -f 2 | cut -f 1 -d -`
+ depends=("linux-libre>=3.${_kernver}" "linux-libre<3.`expr ${_kernver} + 1`")
+ _kernverfull=`cat /usr/lib/modules/extramodules-3.${_kernver}-LIBRE/version`
+
+ cd $srcdir/$_pkgname-$pkgver
+ patch -p1 <$srcdir/cdfs-3.0.patch
+ patch -p1 <$srcdir/cdfs-3.2.patch
+ patch -p1 <$srcdir/cdfs-3.4.patch
+ make KDIR=/usr/lib/modules/${_kernverfull}/build
+ install -Dm0644 cdfs.ko $pkgdir/usr/lib/modules/extramodules-3.${_kernver}-LIBRE/cdfs.ko
+ sed -i "s|extramodules-.*-LIBRE|extramodules-3.${_kernver}-LIBRE|" $startdir/cdfs.install
+}
diff --git a/libre/cdfs-libre/cdfs-3.0.patch b/libre/cdfs-libre/cdfs-3.0.patch
new file mode 100644
index 000000000..20194b848
--- /dev/null
+++ b/libre/cdfs-libre/cdfs-3.0.patch
@@ -0,0 +1,274 @@
+diff -wbBur cdfs-2.6.27/cddata.c cdfs-2.6.27.my/cddata.c
+--- cdfs-2.6.27/cddata.c 2009-12-21 17:04:03.000000000 +0300
++++ cdfs-2.6.27.my/cddata.c 2011-07-24 21:18:44.000000000 +0400
+@@ -83,7 +83,7 @@
+ #else
+ .mmap = generic_file_readonly_mmap,
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
+- .sendfile = generic_file_sendfile
++// .sendfile = generic_file_sendfile
+ #else
+ .splice_read = generic_file_splice_read
+ #endif
+diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c
+--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300
++++ cdfs-2.6.27.my/root.c 2011-07-25 13:16:59.000000000 +0400
+@@ -32,19 +30,14 @@
+ * Added code to transform /proc/cdfs into a sequential synthetic file. *
+ *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+
+-
+ #include <linux/seq_file.h>
+-
+-#ifndef OLD_KERNEL
+ #include <linux/statfs.h>
+-#endif
++#include <linux/sched.h>
+
+ extern struct seq_operations cdfs_operations;
+ extern struct _track_info *dummy_track_p;
+
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24)
+ struct inode *cdfs_iget(struct super_block *sp, unsigned long ino);
+-#endif
+ /*============================================================================*
+ * cdfs_open() *
+ * Description: *
+@@ -115,15 +108,8 @@
+
+ /********************************************************************/
+
+-#ifdef OLD_KERNEL
+-static struct super_block * cdfs_mount(struct super_block *sb, void *data, int silent){
+- kdev_t dev = sb->s_dev;
+- int i, j, t;
+- struct cdrom_tochdr hdr;
+-#else
+ static int cdfs_fill_super(struct super_block *sb, void *data, int silent){
+ int i, t;
+-#endif
+ struct cdrom_tocentry entry;
+ int no_audio=0, no_data=0;
+ cd * this_cd;
+@@ -131,24 +117,13 @@
+
+ PRINT("cdfs_mount\n");
+
+-#ifdef OLD_KERNEL
+- MOD_INC_USE_COUNT;
+-
+- set_blocksize(dev, CD_FRAMESIZE); // voor bread met ide-cd
+-#else
+ sb_set_blocksize(sb, CD_FRAMESIZE); // voor bread met ide-cd
+-#endif
+
+ sb->s_blocksize = CD_FRAMESIZE;
+ sb->s_blocksize_bits = 11;
+
+ if (!(this_cd = cdfs_info(sb) = kmalloc(sizeof(cd), GFP_KERNEL))){
+-#ifdef OLD_KERNEL
+- MOD_DEC_USE_COUNT;
+- return NULL;
+-#else
+ return -ENOMEM;
+-#endif
+ }
+
+ this_cd->mode = MODE;
+@@ -160,13 +135,8 @@
+
+ // Initialize cache for maximum sector size
+ if (!(this_cd->cache = kmalloc(CD_FRAMESIZE_RAWER*CACHE_SIZE, GFP_KERNEL))) {
+-#ifdef OLD_KERNEL
+- MOD_DEC_USE_COUNT;
+- return NULL;
+-#else
+ kfree(cdfs_info(sb));
+ return -ENOMEM;
+-#endif
+ }
+
+ // Cache is still invalid
+@@ -183,23 +153,13 @@
+ if (this_cd->toc_scsi){
+ if (cdfs_toc_read_full(sb)){
+ printk("TOC read failed\n");
+-#ifdef OLD_KERNEL
+- MOD_DEC_USE_COUNT;
+- return NULL;
+-#else
+ goto invalid;
+-#endif
+ }
+ } else {
+ //if (cdfs_ioctl(sb, CDROMREADTOCHDR, (unsigned long)&hdr)){
+ if (cdfs_toc_read(sb)){
+ printk("cdfs_toc_read failed\n");
+-#ifdef OLD_KERNEL
+- MOD_DEC_USE_COUNT;
+- return NULL;
+-#else
+ goto invalid;
+-#endif
+ }
+ }
+
+@@ -365,11 +325,7 @@
+ sb->s_flags |= MS_RDONLY;
+ sb->s_op = &cdfs_ops;
+ /* always get inode status */
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24)
+ retinode=cdfs_iget(sb, 0);
+-#else
+- retinode=iget(sb, 0);
+-#endif
+ if ( IS_ERR(retinode) )
+ return PTR_ERR(retinode);
+
+@@ -379,16 +335,12 @@
+
+ cdfs_proc_cd = this_cd;
+
+-#ifdef OLD_KERNEL
+- return sb;
+-#else
+ return 0;
+
+ invalid:
+ kfree(this_cd->cache);
+ kfree(cdfs_info(sb));
+ return -EINVAL;
+-#endif
+ }
+
+ /************************************************************************/
+@@ -410,27 +362,12 @@
+ // Remove /proc entry
+ cdfs_proc_cd = NULL;
+ kfree(cdfs_info(sb));
+-
+-#ifdef OLD_KERNEL
+- MOD_DEC_USE_COUNT;
+-#endif
+-
+ }
+
+ /************************************************************************/
+
+-#ifdef OLD_KERNEL
+-static int cdfs_statfs(struct super_block *sb, struct statfs *buf) {
+- cd * this_cd = cdfs_info(sb);
+-#else
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
+ static int cdfs_statfs(struct dentry *d, struct kstatfs *buf) {
+ cd * this_cd = cdfs_info(d->d_sb);
+-#else
+-static int cdfs_statfs(struct super_block *sb, struct kstatfs *buf) {
+- cd * this_cd = cdfs_info(sb);
+-#endif
+-#endif
+ PRINT("rmfs_statfs\n");
+
+ buf->f_type = CDFS_MAGIC;
+@@ -460,11 +397,7 @@
+
+ /************************************************************************/
+
+-#ifdef OLD_KERNEL
+-static struct dentry * cdfs_lookup(struct inode *dir, struct dentry *dentry){
+-#else
+ static struct dentry * cdfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd){
+-#endif
+ struct inode * inode;
+ int i;
+ cd * this_cd = cdfs_info(dir->i_sb);
+@@ -480,15 +413,9 @@
+ /* Use goto and read inode with iget()/cdfs_iget() */
+ /* Thanks to David Howells for patch and Master class in his mail */
+ found:
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24)
+ inode = cdfs_iget(dir->i_sb, i);
+ if (IS_ERR(inode))
+ return ERR_CAST(inode);
+-#else
+- inode = iget(dir->i_sb, i);
+- if (!inode)
+- return ERR_PTR(-ENOMEM);
+-#endif
+ d_add(dentry, inode);
+ return NULL;
+ }
+@@ -529,12 +456,8 @@
+ i->i_fop = &cdfs_dir_operations;
+ } else { /* file */
+ i->i_size = this_cd->track[i->i_ino].size;
+-#ifdef OLD_KERNEL
+- i->i_mtime = i->i_atime = i->i_ctime = this_cd->track[i->i_ino].time;
+-#else
+ i->i_mtime.tv_sec = i->i_atime.tv_sec = i->i_ctime.tv_sec = this_cd->track[i->i_ino].time;
+ i->i_mtime.tv_nsec = i->i_atime.tv_nsec = i->i_ctime.tv_nsec = 0;
+-#endif
+ i->i_mode = this_cd->mode;
+ if ((this_cd->track[i->i_ino].type==DATA) && this_cd->track[i->i_ino].iso_size) {
+ i->i_fop = &cdfs_cddata_file_operations;
+@@ -587,33 +510,21 @@
+ /******************************************************************/
+
+ static struct super_operations cdfs_ops = {
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+- .read_inode = cdfs_read_inode,
+-#endif
+ .put_super = cdfs_umount,
+ .statfs = cdfs_statfs
+ };
+
+-#ifdef OLD_KERNEL
+-static DECLARE_FSTYPE_DEV(cdfs_fs_type, FSNAME, cdfs_mount);
+-#else
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
+-static int cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt) {
+- return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super, mnt);
+-#else
+-static struct super_block *cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) {
+- return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super);
+-#endif
+-}
++//static int cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt) {
++// return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super, mnt);
++//}
+
+ static struct file_system_type cdfs_fs_type = {
+ .owner = THIS_MODULE,
+ .name = "cdfs",
+- .get_sb = cdfs_get_sb,
++// .get_sb = cdfs_get_sb,
+ .kill_sb = kill_block_super,
+ .fs_flags = FS_REQUIRES_DEV
+ };
+-#endif
+
+ /******************************************************/
+
+@@ -621,10 +532,6 @@
+ MODULE_DESCRIPTION("CDfs: a CD filesystem");
+ MODULE_LICENSE("GPL");
+
+-#ifdef OLD_KERNEL
+-EXPORT_NO_SYMBOLS;
+-#endif
+-
+ /******************************************************************/
+
+ static int __init cdfs_init(void) {
+@@ -676,11 +583,7 @@
+
+ if (!options) return;
+
+-#ifdef OLD_KERNEL
+- for (this_char = strtok(options,","); this_char; this_char = strtok(NULL,",")) {
+-#else
+ while ((this_char = strsep(&options,",")) != NULL) {
+-#endif
+
+ if (!strcmp(this_char,"single"))
+ this_cd->single=TRUE;
diff --git a/libre/cdfs-libre/cdfs-3.2.patch b/libre/cdfs-libre/cdfs-3.2.patch
new file mode 100644
index 000000000..d3300bdbc
--- /dev/null
+++ b/libre/cdfs-libre/cdfs-3.2.patch
@@ -0,0 +1,12 @@
+diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c
+--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300
++++ cdfs-2.6.27.my/root.c 2012-01-18 11:23:03.000000000 +0400
+@@ -517,7 +517,7 @@
+
+ i->i_uid = this_cd->uid;
+ i->i_gid = this_cd->gid;
+- i->i_nlink = 1;
++ i->__i_nlink = 1;
+ i->i_op = &cdfs_inode_operations;
+ i->i_fop = NULL;
+ i->i_data.a_ops = NULL;
diff --git a/libre/cdfs-libre/cdfs-3.4.patch b/libre/cdfs-libre/cdfs-3.4.patch
new file mode 100644
index 000000000..5c2cb9b24
--- /dev/null
+++ b/libre/cdfs-libre/cdfs-3.4.patch
@@ -0,0 +1,12 @@
+diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c
+--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300
++++ cdfs-2.6.27.my/root.c 2012-06-15 17:09:27.000000000 +0400
+@@ -375,7 +375,7 @@
+
+ PRINT("retinode = %ld\n", retinode->i_ino);
+
+- sb->s_root = d_alloc_root(retinode);
++ sb->s_root = d_make_root(retinode);
+
+ cdfs_proc_cd = this_cd;
+
diff --git a/libre/cdfs-libre/cdfs.install b/libre/cdfs-libre/cdfs.install
new file mode 100644
index 000000000..aa71a92ac
--- /dev/null
+++ b/libre/cdfs-libre/cdfs.install
@@ -0,0 +1,14 @@
+post_install() {
+ EXTRAMODULES='extramodules-3.6-LIBRE'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_upgrade() {
+ EXTRAMODULES='extramodules-3.6-LIBRE'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_remove() {
+ EXTRAMODULES='extramodules-3.6-LIBRE'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
diff --git a/libre/cdrkit-libre/PKGBUILD b/libre/cdrkit-libre/PKGBUILD
index 5e71171f9..5e71171f9 100644..100755
--- a/libre/cdrkit-libre/PKGBUILD
+++ b/libre/cdrkit-libre/PKGBUILD
diff --git a/libre/clementine-libre/PKGBUILD b/libre/clementine-libre/PKGBUILD
index 473fd3cce..473fd3cce 100644..100755
--- a/libre/clementine-libre/PKGBUILD
+++ b/libre/clementine-libre/PKGBUILD
diff --git a/libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch b/libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch
index d7e64388c..d7e64388c 100644..100755
--- a/libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch
+++ b/libre/clementine-libre/clementine-fix-albumcoverfetch-crash.patch
diff --git a/libre/clementine-libre/clementine-fresh-start.patch b/libre/clementine-libre/clementine-fresh-start.patch
index 9bf12973d..9bf12973d 100644..100755
--- a/libre/clementine-libre/clementine-fresh-start.patch
+++ b/libre/clementine-libre/clementine-fresh-start.patch
diff --git a/libre/clementine-libre/clementine.install b/libre/clementine-libre/clementine.install
index 2f0338d8a..2f0338d8a 100644..100755
--- a/libre/clementine-libre/clementine.install
+++ b/libre/clementine-libre/clementine.install
diff --git a/libre/clementine-libre/imobiledevice.patch b/libre/clementine-libre/imobiledevice.patch
index 9d387fd2f..9d387fd2f 100644..100755
--- a/libre/clementine-libre/imobiledevice.patch
+++ b/libre/clementine-libre/imobiledevice.patch
diff --git a/libre/clementine-libre/remove-and-disable-spotify.patch b/libre/clementine-libre/remove-and-disable-spotify.patch
index 9cfc3092a..9cfc3092a 100644..100755
--- a/libre/clementine-libre/remove-and-disable-spotify.patch
+++ b/libre/clementine-libre/remove-and-disable-spotify.patch
diff --git a/libre/clementine-libre/remove-nonfree-references-on-translations.patch b/libre/clementine-libre/remove-nonfree-references-on-translations.patch
index f80e7f5a7..f80e7f5a7 100644..100755
--- a/libre/clementine-libre/remove-nonfree-references-on-translations.patch
+++ b/libre/clementine-libre/remove-nonfree-references-on-translations.patch
diff --git a/libre/crosstool-ng/PKGBUILD b/libre/crosstool-ng/PKGBUILD
index 425e3d9e4..6cfb023cb 100644..100755
--- a/libre/crosstool-ng/PKGBUILD
+++ b/libre/crosstool-ng/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
pkgname=crosstool-ng
-pkgver=1.15.3
+pkgver=1.16.0
pkgrel=1
pkgdesc="A versatile cross toolchain generator (eglibc addons patch)"
arch=('i686' 'x86_64')
@@ -27,4 +27,4 @@ package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install
}
-md5sums=('a56d55f7173161b5200c144cdff6f564')
+md5sums=('900f5f72df3ab9b48b6d1efd1d6634b8')
diff --git a/libre/crosstool-ng/libc_ports_short_name.patch b/libre/crosstool-ng/libc_ports_short_name.patch
index b511fa183..b511fa183 100644..100755
--- a/libre/crosstool-ng/libc_ports_short_name.patch
+++ b/libre/crosstool-ng/libc_ports_short_name.patch
diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD
index 1f4ba1f6e..addf86ef3 100644..100755
--- a/libre/cups-filters-libre/PKGBUILD
+++ b/libre/cups-filters-libre/PKGBUILD
@@ -1,37 +1,29 @@
-# $Id: PKGBUILD 163769 2012-07-19 15:52:39Z andyrtr $
+# $Id: PKGBUILD 166387 2012-09-07 13:33:10Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=cups-filters-libre
_pkgname=cups-filters
-pkgver=1.0.19
+pkgver=1.0.24
pkgrel=1
pkgdesc="OpenPrinting CUPS Filters"
arch=('i686' 'x86_64')
url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting"
license=('GPL')
-depends=('lcms2' 'poppler>=0.20.1')
+depends=('lcms2' 'poppler>=0.20.3' 'qpdf')
makedepends=('ghostscript' 'ttf-dejavu') # ttf-dejavu for make check
optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly')
backup=(etc/fonts/conf.d/99pdftoopvp.conf)
options=(!libtool)
-source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz
- buildfix_poppler.diff
- buildfix_dlopen.diff)
-md5sums=('e3c9ad58ec005eda2f0ac2f3190a63b3'
- 'b3d5b60a50568d06d1ef43c285ce7802'
- '8b0c8874ef5c985287cada55db75d8d1')
+source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz)
+md5sums=('242ea48cd41f8546d71b00bf2b06c564')
replaces=("${_pkgname}")
conflicts=("${_pkgname}")
provides=("${_pkgname}=${pkgver}")
build() {
cd "$srcdir/$_pkgname-$pkgver"
- # https://bugs.linuxfoundation.org/show_bug.cgi?id=1055
- patch -Np0 -i ${srcdir}/buildfix_poppler.diff
- patch -Np0 -i ${srcdir}/buildfix_dlopen.diff
- autoreconf -v
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf
diff --git a/libre/cups-filters-libre/buildfix_dlopen.diff b/libre/cups-filters-libre/buildfix_dlopen.diff
deleted file mode 100644
index eea5f506c..000000000
--- a/libre/cups-filters-libre/buildfix_dlopen.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-=== modified file 'Makefile.am'
---- Makefile.am 2012-06-22 15:40:53 +0000
-+++ Makefile.am 2012-07-19 09:36:30 +0000
-@@ -329,7 +329,8 @@
- $(FREETYPE_LIBS) \
- $(FONTCONFIG_LIBS) \
- $(LIBPNG_LIBS) \
-- $(POPPLER_LIBS)
-+ $(POPPLER_LIBS) \
-+ $(DLOPEN_LIBS)
-
- EXTRA_DIST += $(pkgfontconfig_DATA)
-
-=== modified file 'configure.ac'
---- configure.ac 2012-07-19 14:02:32 +0000
-+++ configure.ac 2012-07-19 14:39:25 +0000
-@@ -110,6 +110,13 @@
- AC_DEFINE(PDFTOPDF, [], [Needed for pdftopdf filter compilation])
- AC_DEFINE_DIR(BANNERTOPDF_DATADIR, "{CUPS_DATADIR}/data", [Directory where bannertopdf finds its data files (PDF templates)])
-
-+AC_SEARCH_LIBS([dlopen],
-+ [dl],
-+ DLOPEN_LIBS="-ldl",
-+ AC_MSG_ERROR([unable to find the dlopen() function])
-+)
-+AC_SUBST(DLOPEN_LIBS)
-+
- # ======================
- # Check system functions
- # ======================
-
diff --git a/libre/cups-filters-libre/buildfix_poppler.diff b/libre/cups-filters-libre/buildfix_poppler.diff
deleted file mode 100644
index 6f3cbc0b3..000000000
--- a/libre/cups-filters-libre/buildfix_poppler.diff
+++ /dev/null
@@ -1,224 +0,0 @@
-=== modified file 'NEWS'
---- NEWS 2012-07-11 19:48:23 +0000
-+++ NEWS 2012-07-19 14:02:32 +0000
-@@ -1,6 +1,11 @@
--NEWS - OpenPrinting CUPS Filters v1.0.19 - 2012-07-11
-+NEWS - OpenPrinting CUPS Filters v1.0.20 - 2012-07-19
- -----------------------------------------------------
-
-+CHANGES IN V1.0.20
-+
-+ - Made the Poppler-based filters pdftopdf and pdftoopvp build with
-+ both Poppler 0.18.x and 0.20.x (Bug #1055).
-+
- CHANGES IN V1.0.19
-
- - Fixes according to Coverity scan results (Bug #1054).
-
-=== modified file 'configure.ac'
---- configure.ac 2012-07-11 19:48:23 +0000
-+++ configure.ac 2012-07-19 14:02:32 +0000
-@@ -202,6 +202,7 @@
- # ================
- POPPLER_INCLUDEDIR=`pkg-config poppler --variable includedir`
- AC_CHECK_HEADER([UGooString.h], [AC_DEFINE([HAVE_UGOOSTRING_H],,[Have UGooString.h])], [])
-+AC_CHECK_HEADER([poppler/cpp/poppler-version.h], [AC_DEFINE([HAVE_CPP_POPPLER_VERSION_H],,[Define if you have Poppler's "cpp/poppler-version.h" header file.])], [])
- # FIXME:
- # Use proper c compile check not greps and then just link again poppler with all the features
- # instead of this and all the libs.
-
-=== modified file 'filter/PDFError.h'
---- filter/PDFError.h 2012-03-29 14:06:07 +0000
-+++ filter/PDFError.h 2012-07-19 14:02:32 +0000
-@@ -31,6 +31,9 @@
- #include <config.h>
- #include <stdarg.h>
- #include <Error.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
-
- #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
- #define pdfError(pos,...) error(errInternal,pos,__VA_ARGS__)
-
-=== modified file 'filter/pdftoijs.cxx'
---- filter/pdftoijs.cxx 2012-06-04 16:46:44 +0000
-+++ filter/pdftoijs.cxx 2012-07-19 14:02:32 +0000
-@@ -30,6 +30,9 @@
- #include <config.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include <goo/GooString.h>
- #include <goo/gmem.h>
- #include <Object.h>
-
-=== modified file 'filter/pdftoopvp/OPVPError.h'
---- filter/pdftoopvp/OPVPError.h 2012-03-29 14:06:07 +0000
-+++ filter/pdftoopvp/OPVPError.h 2012-07-19 14:02:32 +0000
-@@ -31,6 +31,9 @@
- #include <config.h>
- #include <stdarg.h>
- #include <Error.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
-
- #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
- #define opvpError(pos,...) error(errInternal,pos,__VA_ARGS__)
-
-=== modified file 'filter/pdftoopvp/OPVPOutputDev.cxx'
---- filter/pdftoopvp/OPVPOutputDev.cxx 2012-03-29 09:42:35 +0000
-+++ filter/pdftoopvp/OPVPOutputDev.cxx 2012-07-19 14:02:32 +0000
-@@ -8,6 +8,9 @@
- //========================================================================
-
- #include <config.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
-
- #ifdef USE_GCC_PRAGMAS
- #pragma implementation
-
-=== modified file 'filter/pdftoopvp/oprs/OPVPSplash.cxx'
---- filter/pdftoopvp/oprs/OPVPSplash.cxx 2012-03-29 09:42:35 +0000
-+++ filter/pdftoopvp/oprs/OPVPSplash.cxx 2012-07-19 14:02:32 +0000
-@@ -5,6 +5,9 @@
- //========================================================================
-
- #include <config.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
-
- #ifdef USE_GCC_PRAGMAS
- #pragma implementation
-
-=== modified file 'filter/pdftoopvp/oprs/OPVPSplashState.cxx'
---- filter/pdftoopvp/oprs/OPVPSplashState.cxx 2012-03-29 09:42:35 +0000
-+++ filter/pdftoopvp/oprs/OPVPSplashState.cxx 2012-07-19 14:02:32 +0000
-@@ -11,6 +11,9 @@
- #endif
-
- #include <string.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include "goo/gmem.h"
- #include "splash/SplashPattern.h"
- #include "splash/SplashScreen.h"
-
-=== modified file 'filter/pdftoopvp/oprs/OPVPSplashState.h'
---- filter/pdftoopvp/oprs/OPVPSplashState.h 2012-03-29 09:42:35 +0000
-+++ filter/pdftoopvp/oprs/OPVPSplashState.h 2012-07-19 14:02:32 +0000
-@@ -11,6 +11,9 @@
- #pragma interface
- #endif
-
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include "splash/SplashTypes.h"
- #include "splash/SplashState.h"
- #include "splash/Splash.h"
-
-=== modified file 'filter/pdftoopvp/oprs/OPVPSplashXPath.cxx'
---- filter/pdftoopvp/oprs/OPVPSplashXPath.cxx 2012-03-29 09:42:35 +0000
-+++ filter/pdftoopvp/oprs/OPVPSplashXPath.cxx 2012-07-19 14:02:32 +0000
-@@ -1,5 +1,8 @@
- #include <config.h>
- #include <stdio.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include "splash/Splash.h"
- #include "splash/SplashMath.h"
- #include "OPVPSplashClip.h"
-
-=== modified file 'filter/pdftoopvp/oprs/OPVPSplashXPath.h'
---- filter/pdftoopvp/oprs/OPVPSplashXPath.h 2012-03-29 09:42:35 +0000
-+++ filter/pdftoopvp/oprs/OPVPSplashXPath.h 2012-07-19 14:02:32 +0000
-@@ -2,6 +2,9 @@
- #define OPVPSPLASHXPATH_H
-
- #include <config.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include "splash/SplashXPath.h"
- #include "OPVPSplashPath.h"
- #include "OPVPSplashState.h"
-
-=== modified file 'filter/pdftoopvp/pdftoopvp.cxx'
---- filter/pdftoopvp/pdftoopvp.cxx 2012-06-04 16:46:44 +0000
-+++ filter/pdftoopvp/pdftoopvp.cxx 2012-07-19 14:02:32 +0000
-@@ -13,6 +13,9 @@
- #include <unistd.h>
- #include <ctype.h>
- #include <math.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include "goo/GooString.h"
- #define GSTRING_H // for old GooString.h
- #include "goo/gmem.h"
-
-=== modified file 'filter/pdftopdf/P2PError.h'
---- filter/pdftopdf/P2PError.h 2012-03-29 14:06:07 +0000
-+++ filter/pdftopdf/P2PError.h 2012-07-19 14:02:32 +0000
-@@ -31,6 +31,9 @@
- #include <config.h>
- #include <stdarg.h>
- #include <Error.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
-
- #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
- #define p2pError(pos,...) error(errInternal,pos,__VA_ARGS__)
-
-=== modified file 'filter/pdftopdf/P2PFont.cxx'
---- filter/pdftopdf/P2PFont.cxx 2012-03-29 09:42:35 +0000
-+++ filter/pdftopdf/P2PFont.cxx 2012-07-19 14:02:32 +0000
-@@ -32,6 +32,9 @@
- #include <sys/types.h>
- #include <unistd.h>
- #include <fcntl.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include "goo/gmem.h"
- #include "P2PFont.h"
- #include "GfxFont.h"
-
-=== modified file 'filter/pdftopdf/pdftopdf.cxx'
---- filter/pdftopdf/pdftopdf.cxx 2012-06-04 16:46:44 +0000
-+++ filter/pdftopdf/pdftopdf.cxx 2012-07-19 14:02:32 +0000
-@@ -29,6 +29,9 @@
- #include <config.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include "goo/GooString.h"
- #include "goo/gmem.h"
- #include "Object.h"
-
-=== modified file 'filter/pdftoraster.cxx'
---- filter/pdftoraster.cxx 2012-06-04 16:46:44 +0000
-+++ filter/pdftoraster.cxx 2012-07-19 14:02:32 +0000
-@@ -31,6 +31,9 @@
- #include <config.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#ifdef HAVE_CPP_POPPLER_VERSION_H
-+#include "cpp/poppler-version.h"
-+#endif
- #include "goo/GooString.h"
- #include "goo/gmem.h"
- #include "Object.h"
-
diff --git a/libre/cups-libre/PKGBUILD b/libre/cups-libre/PKGBUILD
index e46b5d356..105bea193 100644..100755
--- a/libre/cups-libre/PKGBUILD
+++ b/libre/cups-libre/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 159509 2012-05-25 16:34:34Z andyrtr $
+# $Id: PKGBUILD 160055 2012-05-28 16:48:32Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase="cups"
pkgname=('libcups' 'cups-libre')
pkgver=1.5.3
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://www.cups.org/"
-makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'poppler>=0.12.3'
+makedepends=('libtiff>=4.0.0' 'libpng>=1.5.7' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'cups-filters' 'bc'
'xinetd' 'gzip' 'autoconf' 'php' 'libusb' 'dbus-core' 'avahi' 'hicolor-icon-theme')
source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
cups-avahi-1-config.patch
@@ -22,8 +22,8 @@ source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2
cups cups.logrotate cups.pam)
#options=('!emptydirs')
md5sums=('e1ad15257aa6f162414ea3beae0c5df8'
- '8ec0d9d4b6fe3a8902042ed2432fb8b4'
- 'c80bd1ff8d342cdf379ce5f445b9e944'
+ '12c8af5bcd3b8f84240280b3dfaf9e89'
+ 'cdc1322c8014297ae349e2db78a03c5a'
'1a5112f63958643f2888abc9418dbcac'
'c37d1bf1bb76acc3fe93362c80d91b7c'
'5d302860559960042f3b47a91b97c5fe'
@@ -119,11 +119,8 @@ backup=(etc/cups/cupsd.conf
etc/logrotate.d/cups
etc/pam.d/cups
etc/xinetd.d/cups-lpd)
-depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'poppler>=0.12.3' 'libusb' 'dbus-core' 'hicolor-icon-theme')
+depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'cups-filters' 'bc' 'libusb' 'dbus-core' 'hicolor-icon-theme')
optdepends=('php: for included phpcups.so module'
- 'ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
- 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
- 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly'
'xdg-utils: xdg .desktop file support')
cd ${srcdir}/${pkgbase}-${pkgver}
@@ -143,14 +140,10 @@ optdepends=('php: for included phpcups.so module'
chmod 755 ${pkgdir}/var/spool
chmod 755 ${pkgdir}/etc
- # serial backend needs to run as root (http://bugs.archlinux.org/task/20396)
- chmod 700 ${pkgdir}/usr/lib/cups/backend/serial
-
# install ssl directory where to store the certs, solves some samba issues
install -dm700 -g lp ${pkgdir}/etc/cups/ssl
# remove directory from package, we create it in cups rc.d file
rm -rf ${pkgdir}/var/run
-# install -dm511 -g lp ${pkgdir}/var/run/cups/certs
# install some more configuration files that will get filled by cupsd
touch ${pkgdir}/etc/cups/printers.conf
@@ -166,4 +159,10 @@ optdepends=('php: for included phpcups.so module'
# remove client.conf man page
rm -f ${pkgdir}/usr/share/man/man5/client.conf.5
+
+ # remove files now part of cups-filters
+ rm -v ${pkgdir}/usr/lib/cups/backend/{parallel,serial}
+ rm -v ${pkgdir}/usr/lib/cups/filter/{commandtoescpx,commandtopclx,imagetops,imagetoraster,pdftops,rastertoescpx,rastertopclx,texttops}
+ rm -v ${pkgdir}/usr/share/cups/banners/{classified,confidential,secret,standard,topsecret,unclassified}
+ rm -v ${pkgdir}/usr/share/cups/data/testprint
}
diff --git a/libre/cups-libre/cups b/libre/cups-libre/cups
index 744c8e663..744c8e663 100644..100755
--- a/libre/cups-libre/cups
+++ b/libre/cups-libre/cups
diff --git a/libre/cups-libre/cups-avahi-1-config.patch b/libre/cups-libre/cups-avahi-1-config.patch
index 516e01fa9..516e01fa9 100644..100755
--- a/libre/cups-libre/cups-avahi-1-config.patch
+++ b/libre/cups-libre/cups-avahi-1-config.patch
diff --git a/libre/cups-libre/cups-avahi-2-backend.patch b/libre/cups-libre/cups-avahi-2-backend.patch
index 9fa367729..9fa367729 100644..100755
--- a/libre/cups-libre/cups-avahi-2-backend.patch
+++ b/libre/cups-libre/cups-avahi-2-backend.patch
diff --git a/libre/cups-libre/cups-avahi-3-timeouts.patch b/libre/cups-libre/cups-avahi-3-timeouts.patch
index daf852a0f..daf852a0f 100644..100755
--- a/libre/cups-libre/cups-avahi-3-timeouts.patch
+++ b/libre/cups-libre/cups-avahi-3-timeouts.patch
diff --git a/libre/cups-libre/cups-avahi-4-poll.patch b/libre/cups-libre/cups-avahi-4-poll.patch
index d7fa5fd56..d7fa5fd56 100644..100755
--- a/libre/cups-libre/cups-avahi-4-poll.patch
+++ b/libre/cups-libre/cups-avahi-4-poll.patch
diff --git a/libre/cups-libre/cups-avahi-5-services.patch b/libre/cups-libre/cups-avahi-5-services.patch
index 820b3c32b..820b3c32b 100644..100755
--- a/libre/cups-libre/cups-avahi-5-services.patch
+++ b/libre/cups-libre/cups-avahi-5-services.patch
diff --git a/libre/cups-libre/cups-no-export-ssllibs.patch b/libre/cups-libre/cups-no-export-ssllibs.patch
index 9be3c819b..9be3c819b 100644..100755
--- a/libre/cups-libre/cups-no-export-ssllibs.patch
+++ b/libre/cups-libre/cups-no-export-ssllibs.patch
diff --git a/libre/cups-libre/cups-no-gcrypt.patch b/libre/cups-libre/cups-no-gcrypt.patch
index 42f71d0d4..42f71d0d4 100644..100755
--- a/libre/cups-libre/cups-no-gcrypt.patch
+++ b/libre/cups-libre/cups-no-gcrypt.patch
diff --git a/libre/cups-libre/cups-no-gzip-man.patch b/libre/cups-libre/cups-no-gzip-man.patch
index 6786c4430..6786c4430 100644..100755
--- a/libre/cups-libre/cups-no-gzip-man.patch
+++ b/libre/cups-libre/cups-no-gzip-man.patch
diff --git a/libre/cups-libre/cups.install b/libre/cups-libre/cups.install
index 47c3d9b82..47c3d9b82 100644..100755
--- a/libre/cups-libre/cups.install
+++ b/libre/cups-libre/cups.install
diff --git a/libre/cups-libre/cups.logrotate b/libre/cups-libre/cups.logrotate
index 9c49bbdaf..9c49bbdaf 100644..100755
--- a/libre/cups-libre/cups.logrotate
+++ b/libre/cups-libre/cups.logrotate
diff --git a/libre/cups-libre/cups.pam b/libre/cups-libre/cups.pam
index 53724d1f8..53724d1f8 100644..100755
--- a/libre/cups-libre/cups.pam
+++ b/libre/cups-libre/cups.pam
diff --git a/libre/cups-libre/rePKGBUILD b/libre/cups-libre/rePKGBUILD
index 5f55000cc..5f55000cc 100644..100755
--- a/libre/cups-libre/rePKGBUILD
+++ b/libre/cups-libre/rePKGBUILD
diff --git a/libre/debhelper/PKGBUILD b/libre/debhelper/PKGBUILD
index 60ff8f267..60ff8f267 100644..100755
--- a/libre/debhelper/PKGBUILD
+++ b/libre/debhelper/PKGBUILD
diff --git a/libre/dpkg/PKGBUILD b/libre/dpkg/PKGBUILD
index 175b80610..175b80610 100644..100755
--- a/libre/dpkg/PKGBUILD
+++ b/libre/dpkg/PKGBUILD
diff --git a/libre/dpkg/dpkg-arch.patch b/libre/dpkg/dpkg-arch.patch
index 66e7a2ef2..66e7a2ef2 100644..100755
--- a/libre/dpkg/dpkg-arch.patch
+++ b/libre/dpkg/dpkg-arch.patch
diff --git a/libre/dpkg/dpkg-rsyncable.patch b/libre/dpkg/dpkg-rsyncable.patch
index e7e58dfdf..e7e58dfdf 100644..100755
--- a/libre/dpkg/dpkg-rsyncable.patch
+++ b/libre/dpkg/dpkg-rsyncable.patch
diff --git a/libre/dvdrip-libre/PKGBUILD b/libre/dvdrip-libre/PKGBUILD
index 2069f1c8a..2069f1c8a 100644..100755
--- a/libre/dvdrip-libre/PKGBUILD
+++ b/libre/dvdrip-libre/PKGBUILD
diff --git a/libre/dvdrip-libre/dvdrip.desktop b/libre/dvdrip-libre/dvdrip.desktop
index dd19b4aae..dd19b4aae 100644..100755
--- a/libre/dvdrip-libre/dvdrip.desktop
+++ b/libre/dvdrip-libre/dvdrip.desktop
diff --git a/libre/dvdrip-libre/dvdrip.install b/libre/dvdrip-libre/dvdrip.install
index e111ef946..e111ef946 100644..100755
--- a/libre/dvdrip-libre/dvdrip.install
+++ b/libre/dvdrip-libre/dvdrip.install
diff --git a/libre/dvdrip-libre/libre.patch b/libre/dvdrip-libre/libre.patch
index cc24ef467..cc24ef467 100644..100755
--- a/libre/dvdrip-libre/libre.patch
+++ b/libre/dvdrip-libre/libre.patch
diff --git a/libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch b/libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch
index e077a15cf..e077a15cf 100644..100755
--- a/libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch
+++ b/libre/epdfview-libre/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch
diff --git a/libre/epdfview-libre/PKGBUILD b/libre/epdfview-libre/PKGBUILD
index 28c77eed8..28c77eed8 100644..100755
--- a/libre/epdfview-libre/PKGBUILD
+++ b/libre/epdfview-libre/PKGBUILD
diff --git a/libre/epdfview-libre/epdfview.desktop.patch b/libre/epdfview-libre/epdfview.desktop.patch
index d86fc3088..d86fc3088 100644..100755
--- a/libre/epdfview-libre/epdfview.desktop.patch
+++ b/libre/epdfview-libre/epdfview.desktop.patch
diff --git a/libre/epdfview-libre/epdfview.install b/libre/epdfview-libre/epdfview.install
index c317fbaca..c317fbaca 100644..100755
--- a/libre/epdfview-libre/epdfview.install
+++ b/libre/epdfview-libre/epdfview.install
diff --git a/libre/epdfview-libre/glib2_headers.patch b/libre/epdfview-libre/glib2_headers.patch
index b5bc5c211..b5bc5c211 100644..100755
--- a/libre/epdfview-libre/glib2_headers.patch
+++ b/libre/epdfview-libre/glib2_headers.patch
diff --git a/libre/file-roller-libre/PKGBUILD b/libre/file-roller-libre/PKGBUILD
index 3fe40c4a9..3fe40c4a9 100644..100755
--- a/libre/file-roller-libre/PKGBUILD
+++ b/libre/file-roller-libre/PKGBUILD
diff --git a/libre/file-roller-libre/file-roller.install b/libre/file-roller-libre/file-roller.install
index 8b17fa3d4..8b17fa3d4 100644..100755
--- a/libre/file-roller-libre/file-roller.install
+++ b/libre/file-roller-libre/file-roller.install
diff --git a/libre/file-roller-libre/rePKGBUILD b/libre/file-roller-libre/rePKGBUILD
index a83d218f1..a83d218f1 100644..100755
--- a/libre/file-roller-libre/rePKGBUILD
+++ b/libre/file-roller-libre/rePKGBUILD
diff --git a/libre/filesystem/PKGBUILD b/libre/filesystem/PKGBUILD
index add2fa659..32be5dd3c 100644..100755
--- a/libre/filesystem/PKGBUILD
+++ b/libre/filesystem/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 163827 2012-07-20 23:47:38Z tomegun $
+# $Id: PKGBUILD 167924 2012-10-03 20:35:33Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Maintainer (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgname=filesystem
-pkgver=2012.7
+pkgver=2012.10
pkgrel=1
pkgdesc='Base filesystem for Parabola'
arch=('any')
@@ -12,13 +12,20 @@ license=('GPL')
url='https://parabolagnulinux.org'
groups=('base')
install='filesystem.install'
+makedepends=('asciidoc')
depends=('iana-etc' 'bash' 'coreutils')
backup=('etc/fstab' 'etc/crypttab' 'etc/group' 'etc/hosts' 'etc/ld.so.conf' 'etc/passwd'
'etc/shadow' 'etc/gshadow' 'etc/resolv.conf' 'etc/motd' 'etc/nsswitch.conf'
'etc/shells' 'etc/host.conf' 'etc/securetty' 'etc/profile' 'etc/issue')
source=('group' 'issue' 'nsswitch.conf' 'securetty' 'host.conf' 'ld.so.conf'
'passwd' 'shadow' 'fstab' 'crypttab' 'hosts' 'motd' 'os-release' 'resolv.conf'
- 'shells' 'gshadow' 'profile' 'modprobe.d.usb-load-ehci-first')
+ 'shells' 'gshadow' 'profile' 'modprobe.d.usb-load-ehci-first' 'parabola.7.txt'
+ 'locale.sh')
+
+build() {
+ cd ${srcdir}
+ a2x -d manpage -f manpage parabola.7.txt
+}
package() {
cd ${pkgdir}
@@ -47,6 +54,7 @@ package() {
done
touch etc/arch-release
install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf
+ install -m755 ${srcdir}/locale.sh etc/profile.d/locale.sh
# setup /var
for d in cache/man local opt log/old lib/misc empty; do
@@ -69,6 +77,10 @@ package() {
install -d -m755 usr/share/man/man${d}
done
+ #
+ # install parabola(7) manpage
+ #
+ install -D -m644 ${srcdir}/parabola.7 usr/share/man/man7/parabola.7
#
# setup /usr/local hierarchy
@@ -78,13 +90,13 @@ package() {
done
ln -s ../man usr/local/share/man
}
-md5sums=('45940618da782cc391c59f88ab3333c3'
+md5sums=('004013ac940ef3d3cdd8c596e7accfe1'
'6be47d893fd49b2e4a8c0e811b350861'
'13753e4e0964f3652b0cc60a28528bdf'
'4c4540eeb748bf1f71d631b8c1dcf0b3'
'f28150d4c0b22a017be51b9f7f9977ed'
'6e488ffecc8ba142c0cf7e2d7aeb832e'
- '8a9042a2cedf6b6b47eb8973f14289cb'
+ '455b78cada80f40b6f6968f5cbd97a2e'
'b8355d9d2782f424f4cedcf682651be0'
'ca716f853860199c1286e7939b2f2666'
'1745349eb24ed21b4cfaa6f423bddb76'
@@ -93,6 +105,8 @@ md5sums=('45940618da782cc391c59f88ab3333c3'
'0e145e18fea8fd190b30d45764f5707c'
'6f48288b6fcaf0065fcb7b0e525413e0'
'22518e922891f9359f971f4f5b4e793c'
- 'f95416882cef800edef08382a1176b7d'
+ '677523dbe94b79299aa91b35ed8203b6'
'f3b6ae7db8adffaaa4bffc6099dcbd50'
- 'a8a962370cd0128465d514e6a1f74130')
+ 'a8a962370cd0128465d514e6a1f74130'
+ '3674fcb22044d2946934e7826aa0c632'
+ '3807d07215d9116331fe1cf8feeaa0f8')
diff --git a/libre/filesystem/crypttab b/libre/filesystem/crypttab
index 195945a74..195945a74 100644..100755
--- a/libre/filesystem/crypttab
+++ b/libre/filesystem/crypttab
diff --git a/libre/filesystem/filesystem.install b/libre/filesystem/filesystem.install
index c8717f01b..34fcc0dee 100644..100755
--- a/libre/filesystem/filesystem.install
+++ b/libre/filesystem/filesystem.install
@@ -41,8 +41,10 @@ post_upgrade() {
_addgroup scanner -g 96
_addgroup rfkill -g 24
_addgroup lock -g 54
+ _addgroup uuidd -g 68
+ _adduser uuidd -u 68 -d / -g uuidd -s /sbin/nologin
- # sync gshadow to group (fixes FS#19869
+ # sync gshadow to group (fixes FS#19869)
if ! grep -q '^lock:' etc/gshadow; then
grpconv >/dev/null
fi
diff --git a/libre/filesystem/fstab b/libre/filesystem/fstab
index f7f9298d4..f7f9298d4 100644..100755
--- a/libre/filesystem/fstab
+++ b/libre/filesystem/fstab
diff --git a/libre/filesystem/group b/libre/filesystem/group
index 6e8e773d8..cfee1f23e 100644..100755
--- a/libre/filesystem/group
+++ b/libre/filesystem/group
@@ -20,6 +20,7 @@ smmsp:x:25:
http:x:33:
games:x:50:
lock:x:54:
+uuidd:x:68:
network:x:90:
video:x:91:
audio:x:92:
diff --git a/libre/filesystem/gshadow b/libre/filesystem/gshadow
index c5c76354e..c5ac18581 100644..100755
--- a/libre/filesystem/gshadow
+++ b/libre/filesystem/gshadow
@@ -20,6 +20,7 @@ smmsp:::
http:::
games:::
lock:::
+uuidd:!::
network:x::
video:x::
audio:::
diff --git a/libre/filesystem/host.conf b/libre/filesystem/host.conf
index cf52fe561..cf52fe561 100644..100755
--- a/libre/filesystem/host.conf
+++ b/libre/filesystem/host.conf
diff --git a/libre/filesystem/hosts b/libre/filesystem/hosts
index 1747f9196..1747f9196 100644..100755
--- a/libre/filesystem/hosts
+++ b/libre/filesystem/hosts
diff --git a/libre/filesystem/issue b/libre/filesystem/issue
index b001c55dd..b001c55dd 100644..100755
--- a/libre/filesystem/issue
+++ b/libre/filesystem/issue
diff --git a/libre/filesystem/ld.so.conf b/libre/filesystem/ld.so.conf
index dfac45683..dfac45683 100644..100755
--- a/libre/filesystem/ld.so.conf
+++ b/libre/filesystem/ld.so.conf
diff --git a/libre/filesystem/locale.sh b/libre/filesystem/locale.sh
new file mode 100644
index 000000000..5fd4174d5
--- /dev/null
+++ b/libre/filesystem/locale.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES \
+ LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
+
+if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
+ . "$XDG_CONFIG_HOME/locale.conf"
+elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
+ . "$HOME/.config/locale.conf"
+elif [ -r /etc/locale.conf ]; then
+ . /etc/locale.conf
+elif [ -r /etc/rc.conf ]; then
+ LANG=$(. /etc/rc.conf 2>/dev/null; echo "$LOCALE")
+fi
+
+export LANG="${LANG:-C}"
+[ -n "$LC_CTYPE" ] && export LC_CTYPE
+[ -n "$LC_NUMERIC" ] && export LC_NUMERIC
+[ -n "$LC_TIME" ] && export LC_TIME
+[ -n "$LC_COLLATE" ] && export LC_COLLATE
+[ -n "$LC_MONETARY" ] && export LC_MONETARY
+[ -n "$LC_MESSAGES" ] && export LC_MESSAGES
+[ -n "$LC_PAPER" ] && export LC_PAPER
+[ -n "$LC_NAME" ] && export LC_NAME
+[ -n "$LC_ADDRESS" ] && export LC_ADDRESS
+[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE
+[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT
+[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
diff --git a/libre/filesystem/modprobe.d.usb-load-ehci-first b/libre/filesystem/modprobe.d.usb-load-ehci-first
index 947379411..947379411 100644..100755
--- a/libre/filesystem/modprobe.d.usb-load-ehci-first
+++ b/libre/filesystem/modprobe.d.usb-load-ehci-first
diff --git a/libre/filesystem/motd b/libre/filesystem/motd
index e69de29bb..e69de29bb 100644..100755
--- a/libre/filesystem/motd
+++ b/libre/filesystem/motd
diff --git a/libre/filesystem/nsswitch.conf b/libre/filesystem/nsswitch.conf
index 6e459adb6..6e459adb6 100644..100755
--- a/libre/filesystem/nsswitch.conf
+++ b/libre/filesystem/nsswitch.conf
diff --git a/libre/filesystem/os-release b/libre/filesystem/os-release
index fe5f20b4f..fe5f20b4f 100644..100755
--- a/libre/filesystem/os-release
+++ b/libre/filesystem/os-release
diff --git a/libre/filesystem/parabola.7.txt b/libre/filesystem/parabola.7.txt
new file mode 100644
index 000000000..f7da03147
--- /dev/null
+++ b/libre/filesystem/parabola.7.txt
@@ -0,0 +1,81 @@
+/////
+vim:set ts=4 sw=4 syntax=asciidoc noet:
+/////
+parabola(7)
+============
+
+NAME
+----
+parabola - basic configuration
+
+SYNOPSIS
+--------
+Overview of the basic configuration of Parabola GNU/Linux-libre.
+
+DESCRIPTION
+-----------
+Parabola exposes the user to the system without hiding any details. This manpage gives a
+brief overview of the configuration files that should be set up on a fresh install.
+
+INITSCRIPTS[[I]]
+----------------
+The initscripts are configured in rc.conf. Here you configure what daemons to start on boot, what storage
+technologies should be enabled and, optionally, a basic network setup.
+
+HOSTNAME[[H]]
+-------------
+The hostname of the machine should be set in /etc/hostname. Additionally, either /etc/hosts should be
+configured accordingly, or nss-myhostname should be used. This is needed so the hostname can always
+be resolved to the current machine, which is required by some programs.
+
+LOCALIZATION[[L]]
+-----------------
+Various locales may be enabled in /etc/locale.gen, and generated by locale-gen. The system-wide locale to be used
+can be configured in /etc/locale.conf. These settings can be overridden on a par-user basis by keeping a
+user-spcefic locale.conf in $HOME/.config/locale.conf. The user-specific file will take precedence if it exists.
+
+VIRTUAL CONSOLE[[V]]
+--------------------
+The virtual console is configured in /etc/vconsole.conf. It allows you to set a font and a keyboard layout, among
+other things. Note that these settings only apply to the console, and not if you use X.
+
+TIME[[T]]
+---------
+The local timezone is configured by *symlinking* /etc/localtime to the correct zoneinfo file under
+/usr/share/zoneinfo/. E.g.,
+
+ /etc/localtime -> /usr/share/zoneinfo/Europe/Paris
+
+The real-time clock, which keeps track of time when the computer is off, can be configured to either
+be in UTC or in localtime in /etc/adjtime. The default is UTC.
+
+FILESYSTEMS[[F]]
+----------------
+Filesystems are configured in /etc/fstab, and encryption mappings are configured in /etc/crypttab.
+
+INITRAMFS[[R]]
+--------------
+The initramfs is generated by mkinitcpio, and can be configured in /etc/mkinitcpio.conf.
+
+PACKAGE MANAGER[[P]]
+--------------------
+The package manager, pacman, is configured in /etc/pacman.conf.
+
+BOOTLOADER[[B]]
+---------------
+GRUB's configuration is generated from /etc/default/grub by grub-mkconfig. Syslinux is configured in /boot/syslinux/syslinux.cfg
+
+MODULES[[M]]
+------------
+Most modules should be loaded on-demand. Modules to be unconditionally loaded at boot can be specified in /etc/modules-load.d/,
+and modules to be blacklisted from auto-loading can be configured in /etc/modprobe.d/.
+
+SEE ALSO
+--------
+
+rc.conf(5), hostname(5), hosts(5), nsswitch.conf(5), locale.conf(5), vconsole.conf(5), timezone(3), hwclock(8), fstab(5), crypttab(5),
+mkinitcpio(8), pacman(8), pacman.conf(5), grub-mkconfig(8), syslinux(1), modules-load.d(5), modprobe.d(5)
+
+AUTHORS
+-------
+Written by Tom Gundersen. Rebranded for Parabola by Nicolás Reynolds and André Silva.
diff --git a/libre/filesystem/passwd b/libre/filesystem/passwd
index a4a24e34f..cb9fec7ff 100644..100755
--- a/libre/filesystem/passwd
+++ b/libre/filesystem/passwd
@@ -4,4 +4,5 @@ daemon:x:2:2:daemon:/sbin:/bin/false
mail:x:8:12:mail:/var/spool/mail:/bin/false
ftp:x:14:11:ftp:/srv/ftp:/bin/false
http:x:33:33:http:/srv/http:/bin/false
+uuidd:x:68:68:uuidd:/:/sbin/nologin
nobody:x:99:99:nobody:/:/bin/false
diff --git a/libre/filesystem/profile b/libre/filesystem/profile
index 3bc22db9f..3bc22db9f 100644..100755
--- a/libre/filesystem/profile
+++ b/libre/filesystem/profile
diff --git a/libre/filesystem/resolv.conf b/libre/filesystem/resolv.conf
index cecafba03..cecafba03 100644..100755
--- a/libre/filesystem/resolv.conf
+++ b/libre/filesystem/resolv.conf
diff --git a/libre/filesystem/securetty b/libre/filesystem/securetty
index 5a2235ce7..5a2235ce7 100644..100755
--- a/libre/filesystem/securetty
+++ b/libre/filesystem/securetty
diff --git a/libre/filesystem/shadow b/libre/filesystem/shadow
index ccab68d33..ccab68d33 100644..100755
--- a/libre/filesystem/shadow
+++ b/libre/filesystem/shadow
diff --git a/libre/filesystem/shells b/libre/filesystem/shells
index 18c1aeffa..18c1aeffa 100644..100755
--- a/libre/filesystem/shells
+++ b/libre/filesystem/shells
diff --git a/libre/foomatic-filters-libre/PKGBUILD b/libre/foomatic-filters-libre/PKGBUILD
index 73a7af6c4..73a7af6c4 100644..100755
--- a/libre/foomatic-filters-libre/PKGBUILD
+++ b/libre/foomatic-filters-libre/PKGBUILD
diff --git a/libre/ghostscript-libre/PKGBUILD b/libre/ghostscript-libre/PKGBUILD
index 656f49fb5..656f49fb5 100644..100755
--- a/libre/ghostscript-libre/PKGBUILD
+++ b/libre/ghostscript-libre/PKGBUILD
diff --git a/libre/ghostscript-libre/svn_rev11948.diff b/libre/ghostscript-libre/svn_rev11948.diff
index 92abb0d98..92abb0d98 100644..100755
--- a/libre/ghostscript-libre/svn_rev11948.diff
+++ b/libre/ghostscript-libre/svn_rev11948.diff
diff --git a/libre/gnu-ghostscript/PKGBUILD b/libre/gnu-ghostscript/PKGBUILD
index c7f952833..c7f952833 100644..100755
--- a/libre/gnu-ghostscript/PKGBUILD
+++ b/libre/gnu-ghostscript/PKGBUILD
diff --git a/libre/gnu-ghostscript/gnu-ghostscript-cups-rgbw.patch b/libre/gnu-ghostscript/gnu-ghostscript-cups-rgbw.patch
index 81b52a2e6..81b52a2e6 100644..100755
--- a/libre/gnu-ghostscript/gnu-ghostscript-cups-rgbw.patch
+++ b/libre/gnu-ghostscript/gnu-ghostscript-cups-rgbw.patch
diff --git a/libre/gnu-ghostscript/libtool.patch b/libre/gnu-ghostscript/libtool.patch
index 4271ce69b..4271ce69b 100644..100755
--- a/libre/gnu-ghostscript/libtool.patch
+++ b/libre/gnu-ghostscript/libtool.patch
diff --git a/libre/gnustep-base-libre/PKGBUILD b/libre/gnustep-base-libre/PKGBUILD
index 4b5fa1731..4b5fa1731 100644..100755
--- a/libre/gnustep-base-libre/PKGBUILD
+++ b/libre/gnustep-base-libre/PKGBUILD
diff --git a/libre/gnustep-make-libre/PKGBUILD b/libre/gnustep-make-libre/PKGBUILD
index 7abc014c6..7abc014c6 100644..100755
--- a/libre/gnustep-make-libre/PKGBUILD
+++ b/libre/gnustep-make-libre/PKGBUILD
diff --git a/libre/grub/040_all_grub-0.96-nxstack.patch b/libre/grub-legacy/040_all_grub-0.96-nxstack.patch
index 121941c75..121941c75 100644
--- a/libre/grub/040_all_grub-0.96-nxstack.patch
+++ b/libre/grub-legacy/040_all_grub-0.96-nxstack.patch
diff --git a/libre/grub/05-grub-0.97-initrdaddr.diff b/libre/grub-legacy/05-grub-0.97-initrdaddr.diff
index ccf5f3e54..ccf5f3e54 100644
--- a/libre/grub/05-grub-0.97-initrdaddr.diff
+++ b/libre/grub-legacy/05-grub-0.97-initrdaddr.diff
diff --git a/libre/grub-legacy/PKGBUILD b/libre/grub-legacy/PKGBUILD
new file mode 100644
index 000000000..d63a33ec9
--- /dev/null
+++ b/libre/grub-legacy/PKGBUILD
@@ -0,0 +1,107 @@
+# $Id: PKGBUILD 141999 2011-11-03 21:16:38Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer (Parabola): Jorge López <jorginho@adinet.com.uy>
+
+pkgname=grub
+pkgver=0.97
+pkgrel=21.4
+pkgdesc="A GNU multiboot boot loader (Parabola rebranded)"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnu.org/software/grub/"
+groups=('base')
+depends=('ncurses' 'diffutils' 'sed')
+optdepends=('xfsprogs: freezing of xfs /boot in install-grub script')
+source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz
+ menu.lst
+ install-grub
+ 040_all_grub-0.96-nxstack.patch
+ 05-grub-0.97-initrdaddr.diff
+ i2o.patch
+ special-devices.patch
+ more-raid.patch
+ intelmac.patch
+ grub-inode-size.patch
+ ext4.patch
+ grub-0.97-ldflags-objcopy-remove-build-id.patch)
+backup=('boot/grub/menu.lst')
+install=grub.install
+sha1sums=('2580626c4579bd99336d3af4482c346c95dac4fb'
+ 'e13bf0f91510fd6bb9451e6eb1b2a6e4a03e8b5f'
+ '3e23bfee50285c8c7b9ef9ec07964310278b1e09'
+ '157b81dbad3576536b08642242accfa1aeb093a9'
+ 'adbb4685c98797ffb4dc83561ec75698991dddbd'
+ 'f2e0dff29a7c8a45e90aa07298a1b2a9a9d29afc'
+ 'c5e2c94ed0e759590b9eb38c9d979f075d19d7c0'
+ '45fe668a3779664fb292591f426976b6c784d6c8'
+ '066d7ab1ae442f88e94c9e4f1867ac6682965d06'
+ '0436aa6fa0b6f768289172f983a3f4b69384629e'
+ 'a36f34e51efed540f1ddafd78e9c9f6d83e4c8d4'
+ '61c4b58d2eaa3c1561d8e9d8fc41341ce8882869')
+
+#set destination architecture here
+#DESTARCH="i686"
+DESTARCH="x86_64"
+
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g'
+
+ # optimizations break the build -- disable them
+ # adding special devices to grub, patches are from fedora
+ patch -Np1 -i ../special-devices.patch
+ patch -Np1 -i ../i2o.patch
+ patch -Np1 -i ../more-raid.patch
+ patch -Np1 -i ../intelmac.patch
+ # Add support for bigger inode size to e2fs_stage1_5
+ patch -Np1 -i ../grub-inode-size.patch
+ # Add ext4 support
+ # http://www.mail-archive.com/bug-grub@gnu.org/msg11458.html
+ patch -Np1 -i ../ext4.patch
+ # binutils fix
+ patch -Np1 -i ../grub-0.97-ldflags-objcopy-remove-build-id.patch
+
+ sed -e'/^AC_PROG_CC/ a\AM_PROG_CC_C_O\ ' -i "${srcdir}/${pkgname}-${pkgver}/configure.ac"
+ sed -e'/^AC_PROG_CC/ a\AM_PROG_AS\ ' -i "${srcdir}/${pkgname}-${pkgver}/configure.ac"
+
+ ## recreate ./configure script with the required changes in LDFLAGS and objcopy
+ aclocal
+ autoconf
+ autoreconf
+ automake
+
+ #arch64 fixes for static build
+ if [ "$CARCH" = "x86_64" ]; then ## correcting problems for new wersion of autotools
+
+ echo "this package has to be built on i686, won't compile on x86_64"
+ sleep 5
+ else
+ if [ "$DESTARCH" = "x86_64" ]; then
+ # patch from gentoo for fixing a segfault
+ patch -Np1 -i ../040_all_grub-0.96-nxstack.patch
+ # patch from frugalware to make it boot when more than 2GB ram installed
+ patch -Np1 -i ../05-grub-0.97-initrdaddr.diff
+ CFLAGS="-static -fno-strict-aliasing" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin \
+ --mandir=/usr/share/man --infodir=/usr/share/info
+ else
+ CFLAGS="-fno-strict-aliasing" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin \
+ --mandir=/usr/share/man --infodir=/usr/share/info
+ fi
+ fi
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ CFLAGS= make
+ make DESTDIR=$pkgdir install
+ install -D -m644 ../menu.lst $pkgdir/boot/grub/menu.lst
+ install -D -m755 ../install-grub $pkgdir/sbin/install-grub
+
+ if [ "$DESTARCH" = "x86_64" ]; then
+ # fool makepkg into building a x86_64 package
+ export CARCH="x86_64"
+ fi
+}
diff --git a/libre/grub/ext4.patch b/libre/grub-legacy/ext4.patch
index 8a2f9bdb0..8a2f9bdb0 100644
--- a/libre/grub/ext4.patch
+++ b/libre/grub-legacy/ext4.patch
diff --git a/libre/grub/grub-0.97-gpt.patch b/libre/grub-legacy/grub-0.97-gpt.patch
index 7b1a55cd8..7b1a55cd8 100644
--- a/libre/grub/grub-0.97-gpt.patch
+++ b/libre/grub-legacy/grub-0.97-gpt.patch
diff --git a/libre/grub/grub-0.97-ldflags-objcopy-remove-build-id.patch b/libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch
index 2b7cc32d0..2b7cc32d0 100644
--- a/libre/grub/grub-0.97-ldflags-objcopy-remove-build-id.patch
+++ b/libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch
diff --git a/libre/grub/grub-inode-size.patch b/libre/grub-legacy/grub-inode-size.patch
index f5ceb110b..f5ceb110b 100644
--- a/libre/grub/grub-inode-size.patch
+++ b/libre/grub-legacy/grub-inode-size.patch
diff --git a/libre/grub-legacy/grub.install b/libre/grub-legacy/grub.install
new file mode 100644
index 000000000..c1f077d59
--- /dev/null
+++ b/libre/grub-legacy/grub.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(grub.info multiboot.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/libre/grub/i2o.patch b/libre/grub-legacy/i2o.patch
index 2af846c90..2af846c90 100644
--- a/libre/grub/i2o.patch
+++ b/libre/grub-legacy/i2o.patch
diff --git a/libre/grub/install-grub b/libre/grub-legacy/install-grub
index affc9c38a..affc9c38a 100644
--- a/libre/grub/install-grub
+++ b/libre/grub-legacy/install-grub
diff --git a/libre/grub/intelmac.patch b/libre/grub-legacy/intelmac.patch
index a3fabc733..a3fabc733 100644
--- a/libre/grub/intelmac.patch
+++ b/libre/grub-legacy/intelmac.patch
diff --git a/libre/grub/menu.lst b/libre/grub-legacy/menu.lst
index f405baa91..f405baa91 100644
--- a/libre/grub/menu.lst
+++ b/libre/grub-legacy/menu.lst
diff --git a/libre/grub/more-raid.patch b/libre/grub-legacy/more-raid.patch
index 39db23474..39db23474 100644
--- a/libre/grub/more-raid.patch
+++ b/libre/grub-legacy/more-raid.patch
diff --git a/libre/grub/rePKGBUILD b/libre/grub-legacy/rePKGBUILD
index a73289fb5..a73289fb5 100644
--- a/libre/grub/rePKGBUILD
+++ b/libre/grub-legacy/rePKGBUILD
diff --git a/libre/grub/special-devices.patch b/libre/grub-legacy/special-devices.patch
index 894f3e887..894f3e887 100644
--- a/libre/grub/special-devices.patch
+++ b/libre/grub-legacy/special-devices.patch
diff --git a/libre/grub/05_archtheme b/libre/grub/05_archtheme
new file mode 100644
index 000000000..4d1b6fb20
--- /dev/null
+++ b/libre/grub/05_archtheme
@@ -0,0 +1,6 @@
+#!/bin/bash -e
+
+cat << EOF
+set menu_color_normal=light-blue/black
+set menu_color_highlight=light-cyan/blue
+EOF
diff --git a/libre/grub/20_memtest86+ b/libre/grub/20_memtest86+
new file mode 100644
index 000000000..1d3096f6b
--- /dev/null
+++ b/libre/grub/20_memtest86+
@@ -0,0 +1,29 @@
+#! /bin/sh -e
+########################################################
+# This script generates a memtest86+ entry on grub.cfg #
+# if memtest is installed on the system. #
+########################################################
+
+prefix="/usr"
+exec_prefix="${prefix}"
+
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+
+. "${datadir}/grub/grub-mkconfig_lib"
+
+MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin"
+CLASS="--class memtest86 --class gnu --class tool"
+
+if [ -e $MEMTEST86_IMAGE ] && is_path_readable_by_grub $MEMTEST86_IMAGE; then
+ # image exists, create menu entry
+ echo "Found memtest86+ image: $MEMTEST86_IMAGE" >&2
+ cat << EOF
+menuentry "Memory test (memtest86+)" $CLASS {
+EOF
+ prepare_grub_to_access_device `${grub_probe} --target=device $MEMTEST86_IMAGE` | sed -e "s/^/ /"
+ cat << EOF
+ linux16 (\$root)`make_system_path_relative_to_its_root $MEMTEST86_IMAGE`
+}
+EOF
+fi
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index d63a33ec9..8a1c01434 100644..100755
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -1,107 +1,250 @@
-# $Id: PKGBUILD 141999 2011-11-03 21:16:38Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
-# Maintainer (Parabola): Jorge López <jorginho@adinet.com.uy>
-pkgname=grub
-pkgver=0.97
-pkgrel=21.4
-pkgdesc="A GNU multiboot boot loader (Parabola rebranded)"
+_grub_lua_ver=24
+_grub_ntldr_ver=21
+_grub_915_ver=9
+
+pkgname=('grub-common' 'grub-bios' 'grub-efi-i386')
+pkgbase=grub
+pkgver=2.00
+pkgrel=1
+url="https://www.gnu.org/software/grub/"
arch=('i686' 'x86_64')
-license=('GPL')
-url="http://www.gnu.org/software/grub/"
-groups=('base')
-depends=('ncurses' 'diffutils' 'sed')
-optdepends=('xfsprogs: freezing of xfs /boot in install-grub script')
-source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz
- menu.lst
- install-grub
- 040_all_grub-0.96-nxstack.patch
- 05-grub-0.97-initrdaddr.diff
- i2o.patch
- special-devices.patch
- more-raid.patch
- intelmac.patch
- grub-inode-size.patch
- ext4.patch
- grub-0.97-ldflags-objcopy-remove-build-id.patch)
-backup=('boot/grub/menu.lst')
-install=grub.install
-sha1sums=('2580626c4579bd99336d3af4482c346c95dac4fb'
- 'e13bf0f91510fd6bb9451e6eb1b2a6e4a03e8b5f'
- '3e23bfee50285c8c7b9ef9ec07964310278b1e09'
- '157b81dbad3576536b08642242accfa1aeb093a9'
- 'adbb4685c98797ffb4dc83561ec75698991dddbd'
- 'f2e0dff29a7c8a45e90aa07298a1b2a9a9d29afc'
- 'c5e2c94ed0e759590b9eb38c9d979f075d19d7c0'
- '45fe668a3779664fb292591f426976b6c784d6c8'
- '066d7ab1ae442f88e94c9e4f1867ac6682965d06'
- '0436aa6fa0b6f768289172f983a3f4b69384629e'
- 'a36f34e51efed540f1ddafd78e9c9f6d83e4c8d4'
- '61c4b58d2eaa3c1561d8e9d8fc41341ce8882869')
-
-#set destination architecture here
-#DESTARCH="i686"
-DESTARCH="x86_64"
+license=('GPL3')
+makedepends=('xz' 'bdf-unifont' 'ttf-dejavu' 'python' 'autogen'
+ 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse')
+
+source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz"
+ 'parabola_grub_mkconfig_fixes.patch'
+ 'grub.default'
+ 'grub.cfg'
+ '20_memtest86+'
+ 'grub_bzr_export.sh')
+
+noextract=("grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
+ "grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
+ "grub2_extras_915resolution_r${_grub_915_ver}.tar.xz")
+
+sha1sums=('274d91e96b56a5b9dd0a07accff69dbb6dfb596b'
+ '89290031b974780c6df76893836d2477d4add895'
+ 'eb4b35b4c36b64f9405cbcbc538cb205171c1c0a'
+ 'd5ae2efec25616028a9d89e98b6e454f1c4c415f'
+ '31aa740fc225b3f3ed4917843038f9e8658a71be'
+ '79a0e597f19e15bd4c256384e0ef998bc6d06cc8'
+ 'fb69af1ff6c0b7fdf7ce7d42d0f048edc1a50a45'
+ 'ce35d7ae75cd1b5b677e894e528f96add40e77b9'
+ '0cfd4e51cdb14a92f06cfd3c607f2aa21f3e55fc')
+
+_build_grub-common_and_bios() {
+
+ ## copy the source for building the common/bios package
+ cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub_bios-${pkgver}"
+ cd "${srcdir}/grub_bios-${pkgver}"
+
+ ## Apply Parabola specific fixes to enable grub-mkconfig detect Libre kernels and initramfs
+ patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
+ echo
+
+ ## fix unifont.bdf location so that grub-mkfont can create *.pf2 files
+ sed 's|/usr/share/fonts/unifont|/usr/share/fonts/unifont /usr/share/fonts/misc|g' -i "${srcdir}/grub_bios-${pkgver}/configure.ac"
+
+ ## fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme
+ sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub_bios-${pkgver}/configure.ac"
+
+ ## add the grub-extra sources
+ export GRUB_CONTRIB="${srcdir}/grub_bios-${pkgver}/grub-extras/"
+ install -d "${srcdir}/grub_bios-${pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz" \
+ -C "${srcdir}/grub_bios-${pkgver}/grub-extras"
+
+ ## Requires python2
+ # sed 's|python |python2 |g' -i "${srcdir}/grub_bios-${pkgver}/autogen.sh"
+
+ ## start the actual build process
+ cd "${srcdir}/grub_bios-${pkgver}"
+ ./autogen.sh
+ echo
+
+ CFLAGS="" ./configure \
+ --with-platform="pc" \
+ --target="i386" \
+ --host="${CARCH}-unknown-linux-gnu" \
+ "${_EFIEMU}" \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/sbin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-werror
+ echo
+
+ CFLAGS="" make
+ echo
+
+}
+
+_build_grub-efi-i386() {
+
+ ## copy the source for building the efi package
+ cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub_efi-${pkgver}"
+ cd "${srcdir}/grub_efi-${pkgver}"
+
+ export GRUB_CONTRIB="${srcdir}/grub_efi-${pkgver}/grub-extras/"
+ install -d "${srcdir}/grub_efi-${pkgver}/grub-extras"
+
+ bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \
+ -C "${srcdir}/grub_efi-${pkgver}/grub-extras"
+
+ cd "${srcdir}/grub_efi-${pkgver}"
+ ./autogen.sh
+ echo
+
+ CFLAGS="" ./configure \
+ --with-platform="efi" \
+ --target="i386" \
+ --host="${CARCH}-unknown-linux-gnu" \
+ --disable-efiemu \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/sbin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-werror
+ echo
+
+ CFLAGS="" make
+ echo
+}
build() {
- cd $srcdir/$pkgname-$pkgver
- fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g'
-
- # optimizations break the build -- disable them
- # adding special devices to grub, patches are from fedora
- patch -Np1 -i ../special-devices.patch
- patch -Np1 -i ../i2o.patch
- patch -Np1 -i ../more-raid.patch
- patch -Np1 -i ../intelmac.patch
- # Add support for bigger inode size to e2fs_stage1_5
- patch -Np1 -i ../grub-inode-size.patch
- # Add ext4 support
- # http://www.mail-archive.com/bug-grub@gnu.org/msg11458.html
- patch -Np1 -i ../ext4.patch
- # binutils fix
- patch -Np1 -i ../grub-0.97-ldflags-objcopy-remove-build-id.patch
-
- sed -e'/^AC_PROG_CC/ a\AM_PROG_CC_C_O\ ' -i "${srcdir}/${pkgname}-${pkgver}/configure.ac"
- sed -e'/^AC_PROG_CC/ a\AM_PROG_AS\ ' -i "${srcdir}/${pkgname}-${pkgver}/configure.ac"
-
- ## recreate ./configure script with the required changes in LDFLAGS and objcopy
- aclocal
- autoconf
- autoreconf
- automake
-
- #arch64 fixes for static build
- if [ "$CARCH" = "x86_64" ]; then ## correcting problems for new wersion of autotools
-
- echo "this package has to be built on i686, won't compile on x86_64"
- sleep 5
- else
- if [ "$DESTARCH" = "x86_64" ]; then
- # patch from gentoo for fixing a segfault
- patch -Np1 -i ../040_all_grub-0.96-nxstack.patch
- # patch from frugalware to make it boot when more than 2GB ram installed
- patch -Np1 -i ../05-grub-0.97-initrdaddr.diff
- CFLAGS="-static -fno-strict-aliasing" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin \
- --mandir=/usr/share/man --infodir=/usr/share/info
- else
- CFLAGS="-fno-strict-aliasing" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin \
- --mandir=/usr/share/man --infodir=/usr/share/info
- fi
- fi
+
+ ## set architecture dependent variables
+ if [[ "${CARCH}" == 'x86_64' ]]; then
+ _EFIEMU="--enable-efiemu"
+ else
+ _EFIEMU="--disable-efiemu"
+ fi
+
+ _HOST="${CARCH}"
+
+ cd "${srcdir}/grub-${pkgver}"
+ # _get_locale_files
+
+ _build_grub-common_and_bios
+ echo
+
+ _build_grub-efi-i386
+ echo
+
+}
+
+package_grub-common() {
+
+ pkgdesc="GNU GRand Unified Bootloader - Utilities and Common Files (Parabola rebranded)"
+ depends=('sh' 'xz' 'freetype2' 'gettext' 'device-mapper' 'fuse')
+ conflicts=('grub-legacy' 'grub')
+ replaces=('grub2-common')
+ provides=('grub2-common')
+ backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom')
+ optdepends=('libisoburn: provides xorriso for generating grub rescue iso using grub-mkrescue'
+ 'os-prober: to detect other OSes when generating grub.cfg in BIOS systems'
+ 'mtools: for grub-mkrescue FAT FS support')
+ install="grub.install"
+ options=('strip' 'purge' 'docs' 'zipman' '!emptydirs')
+
+ cd "${srcdir}/grub_bios-${pkgver}"
+ make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
+ echo
+
+ ## install extra /etc/grub.d/ files
+ install -D -m0755 "${srcdir}/20_memtest86+" "${pkgdir}/etc/grub.d/20_memtest86+"
+
+ ## install /etc/default/grub (used by grub-mkconfig)
+ install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
+
+ ## install grub.cfg (needed so it doesn't get removed on upgrading because it was previously here)
+ install -D -m0644 "${srcdir}/grub.cfg" "${pkgdir}/boot/grub/grub.cfg"
+
+ # remove platform specific files
+ rm -rf "${pkgdir}/usr/lib/grub/i386-pc/"
+
}
-package() {
- cd $srcdir/$pkgname-$pkgver
+package_grub-bios() {
+
+ pkgdesc="GNU GRand Unified Bootloader - i386 PC BIOS Modules"
+ depends=("grub-common=${pkgver}")
+ options=('!strip' '!emptydirs')
+ replaces=('grub2-bios')
+ provides=('grub2-bios')
+
+ cd "${srcdir}/grub_bios-${pkgver}"
+ make DESTDIR="${pkgdir}/" install
+ echo
+
+ ## remove non platform-specific files
+ rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
+
+ ## remove gdb debugging related files
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
+}
+
+package_grub-efi-i386() {
+
+ pkgdesc="GNU GRand Unified Bootloader - i386 UEFI Modules"
+ depends=("grub-common=${pkgver}" 'dosfstools' 'efibootmgr')
+ options=('!strip' '!emptydirs')
+ replaces=('grub2-efi-i386')
+ provides=('grub2-efi-i386')
+
+ cd "${srcdir}/grub_efi-${pkgver}"
+ make DESTDIR="${pkgdir}/" install
+ echo
+
+ ## remove non platform-specific files
+ rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}}
- CFLAGS= make
- make DESTDIR=$pkgdir install
- install -D -m644 ../menu.lst $pkgdir/boot/grub/menu.lst
- install -D -m755 ../install-grub $pkgdir/sbin/install-grub
+ ## remove gdb debugging related files
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
- if [ "$DESTARCH" = "x86_64" ]; then
- # fool makepkg into building a x86_64 package
- export CARCH="x86_64"
- fi
}
diff --git a/libre/grub/fix_stack_pointer_handling_16_relocator.patch b/libre/grub/fix_stack_pointer_handling_16_relocator.patch
new file mode 100644
index 000000000..edc0ef502
--- /dev/null
+++ b/libre/grub/fix_stack_pointer_handling_16_relocator.patch
@@ -0,0 +1,13 @@
+diff --git a/grub-core/lib/i386/relocator16.S b/grub-core/lib/i386/relocator16.S
+index c3768f4..982415d 100644
+--- a/grub-core/lib/i386/relocator16.S
++++ b/grub-core/lib/i386/relocator16.S
+@@ -130,7 +130,7 @@ VARIABLE(grub_relocator16_ss)
+ .byte 0xb8
+ VARIABLE(grub_relocator16_sp)
+ .word 0
+- movw %ax, %ss
++ movzwl %ax, %esp
+
+ /* movw imm32, %edx. */
+ .byte 0x66, 0xba
diff --git a/libre/grub/grub-install.fix b/libre/grub/grub-install.fix
new file mode 100644
index 000000000..29e74bd44
--- /dev/null
+++ b/libre/grub/grub-install.fix
@@ -0,0 +1,11 @@
+=== modified file 'grub-core/kern/emu/hostdisk.c'
+--- grub-core/kern/emu/hostdisk.c 2012-04-18 21:48:52 +0000
++++ grub-core/kern/emu/hostdisk.c 2012-04-19 18:35:06 +0000
+@@ -1081,7 +1081,7 @@
+ {
+ int fd;
+ grub_disk_addr_t max = ~0ULL;
+- fd = open_device (disk, sector, O_RDONLY, &max);
++ fd = open_device (disk, sector, O_WRONLY, &max);
+ if (fd < 0)
+ return grub_errno;
diff --git a/libre/grub/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch b/libre/grub/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch
new file mode 100644
index 000000000..e1de26859
--- /dev/null
+++ b/libre/grub/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch
@@ -0,0 +1,15 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 859c2e8..c4391dc 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -40,7 +40,9 @@ self=`basename $0`
+ grub_probe="${sbindir}/`echo grub-probe | sed "${transform}"`"
+ grub_script_check="${bindir}/`echo grub-script-check | sed "${transform}"`"
+
+-GRUB_PREFIX=`echo '/@bootdirname@/@grubdirname@' | sed "s,//*,/,g"`
++if test -z "${GRUB_PREFIX}"; then
++ GRUB_PREFIX=`echo '/@bootdirname@/@grubdirname@' | sed "s,//*,/,g"`
++fi
+
+ . "${datadir}/@PACKAGE@/grub-mkconfig_lib"
+
diff --git a/libre/grub/grub.cfg b/libre/grub/grub.cfg
new file mode 100644
index 000000000..7f583e102
--- /dev/null
+++ b/libre/grub/grub.cfg
@@ -0,0 +1,139 @@
+#
+# DO NOT EDIT THIS FILE
+#
+# It is automatically generated by grub-mkconfig using templates
+# from /etc/grub.d and settings from /etc/default/grub
+#
+
+### BEGIN /etc/grub.d/00_header ###
+insmod part_gpt
+insmod part_msdos
+if [ -s $prefix/grubenv ]; then
+ load_env
+fi
+set default="0"
+
+if [ x"${feature_menuentry_id}" = xy ]; then
+ menuentry_id_option="--id"
+else
+ menuentry_id_option=""
+fi
+
+export menuentry_id_option
+
+if [ "${prev_saved_entry}" ]; then
+ set saved_entry="${prev_saved_entry}"
+ save_env saved_entry
+ set prev_saved_entry=
+ save_env prev_saved_entry
+ set boot_once=true
+fi
+
+function savedefault {
+ if [ -z "${boot_once}" ]; then
+ saved_entry="${chosen}"
+ save_env saved_entry
+ fi
+}
+
+function load_video {
+ if [ x$feature_all_video_module = xy ]; then
+ insmod all_video
+ else
+ insmod efi_gop
+ insmod efi_uga
+ insmod ieee1275_fb
+ insmod vbe
+ insmod vga
+ insmod video_bochs
+ insmod video_cirrus
+ fi
+}
+
+if [ x$feature_default_font_path = xy ] ; then
+ font=unicode
+else
+insmod part_msdos
+insmod ext2
+set root='hd0,msdos5'
+if [ x$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467
+else
+ search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467
+fi
+ font="/usr/share/grub/unicode.pf2"
+fi
+
+if loadfont $font ; then
+ set gfxmode=auto
+ load_video
+ insmod gfxterm
+ set locale_dir=$prefix/locale
+ set lang=en_US
+ insmod gettext
+fi
+terminal_input console
+terminal_output gfxterm
+set timeout=5
+### END /etc/grub.d/00_header ###
+
+### BEGIN /etc/grub.d/10_linux ###
+menuentry 'Parabola GNU/Linux-libre, with Linux-libre core repo kernel' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467' {
+ load_video
+ set gfxpayload=keep
+ insmod gzio
+ insmod part_msdos
+ insmod ext2
+ set root='hd0,msdos5'
+ if [ x$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467
+ else
+ search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467
+ fi
+ echo 'Loading Linux libre core repo kernel ...'
+ linux /boot/vmlinuz-linux-libre root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
+ echo 'Loading initial ramdisk ...'
+ initrd /boot/initramfs-linux-libre.img
+}
+menuentry 'Parabola GNU/Linux-libre, with Linux libre repo kernel (Fallback initramfs)' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-ad4103fa-d940-47ca-8506-301d8071d467' {
+ load_video
+ set gfxpayload=keep
+ insmod gzio
+ insmod part_msdos
+ insmod ext2
+ set root='hd0,msdos5'
+ if [ x$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467
+ else
+ search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467
+ fi
+ echo 'Loading Linux libre core repo kernel ...'
+ linux /boot/vmlinuz-linux-libre root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet
+ echo 'Loading initial ramdisk ...'
+ initrd /boot/initramfs-linux-libre-fallback.img
+}
+
+### END /etc/grub.d/10_linux ###
+
+### BEGIN /etc/grub.d/20_linux_xen ###
+### END /etc/grub.d/20_linux_xen ###
+
+### BEGIN /etc/grub.d/20_memtest86+ ###
+### END /etc/grub.d/20_memtest86+ ###
+
+### BEGIN /etc/grub.d/30_os-prober ###
+### END /etc/grub.d/30_os-prober ###
+
+### BEGIN /etc/grub.d/40_custom ###
+# This file provides an easy way to add custom menu entries. Simply type the
+# menu entries you want to add after this comment. Be careful not to change
+# the 'exec tail' line above.
+### END /etc/grub.d/40_custom ###
+
+### BEGIN /etc/grub.d/41_custom ###
+if [ -f ${config_directory}/custom.cfg ]; then
+ source ${config_directory}/custom.cfg
+elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
+ source $prefix/custom.cfg;
+fi
+### END /etc/grub.d/41_custom ###
diff --git a/libre/grub/grub.default b/libre/grub/grub.default
new file mode 100644
index 000000000..2ceb40543
--- /dev/null
+++ b/libre/grub/grub.default
@@ -0,0 +1,47 @@
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=5
+GRUB_DISTRIBUTOR="Parabola GNU/Linux-libre"
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX=""
+
+# Preload both GPT and MBR modules so that they are not missed
+GRUB_PRELOAD_MODULES="part_gpt part_msdos"
+
+# Uncomment to enable Hidden Menu, and optionally hide the timeout count
+#GRUB_HIDDEN_TIMEOUT=5
+#GRUB_HIDDEN_TIMEOUT_QUIET=true
+
+# Uncomment to use basic console
+GRUB_TERMINAL_INPUT=console
+
+# Uncomment to disable graphical terminal
+#GRUB_TERMINAL_OUTPUT=console
+
+# The resolution used on graphical terminal
+# note that you can use only modes which your graphic card supports via VBE
+# you can see them in real GRUB with the command `vbeinfo'
+GRUB_GFXMODE=auto
+
+# Uncomment to allow the kernel use the same resolution used by grub
+GRUB_GFXPAYLOAD_LINUX=keep
+
+# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
+# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
+#GRUB_DISABLE_LINUX_UUID=true
+
+# Uncomment to disable generation of recovery mode menu entries
+GRUB_DISABLE_RECOVERY=true
+
+# Uncomment and set to the desired menu colors. Used by normal and wallpaper
+# modes only. Entries specified as foreground/background.
+GRUB_COLOR_NORMAL="magenta/black"
+GRUB_COLOR_HIGHLIGHT="white/magenta"
+
+# Uncomment one of them for the gfx desired, a image background or a gfxtheme
+#GRUB_BACKGROUND="/path/to/wallpaper"
+#GRUB_THEME="/path/to/gfxtheme"
+
+# Uncomment to get a beep at GRUB start
+#GRUB_INIT_TUNE="480 440 1"
+
+#GRUB_SAVEDEFAULT="true"
diff --git a/libre/grub/grub.install b/libre/grub/grub.install
index c1f077d59..9188b357a 100644..100755
--- a/libre/grub/grub.install
+++ b/libre/grub/grub.install
@@ -1,20 +1,33 @@
-infodir=/usr/share/info
-filelist=(grub.info multiboot.info)
+infodir="usr/share/info"
+filelist=('grub.info' 'grub-dev.info')
post_install() {
- [ -x usr/bin/install-info ] || return 0
+ if [ -f /boot/grub/grub.cfg.pacsave ]; then
+ echo "Copying /boot/grub/grub.cfg.pacsave to /boot/grub/grub.cfg"
+ install -D -m0644 /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg
+ fi
+
+ cat << 'EOM'
+Generating grub.cfg.example config file...
+This may fail on some machines running a custom kernel.
+EOM
+
+ grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null
+ echo "done."
+
for file in ${filelist[@]}; do
- install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null
done
}
post_upgrade() {
- post_install $1
+ for file in ${filelist[@]}; do
+ install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null
+ done
}
pre_remove() {
- [ -x usr/bin/install-info ] || return 0
for file in ${filelist[@]}; do
- install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ install-info --delete ${infodir}/${file} ${infodir}/dir 2> /dev/null
done
}
diff --git a/libre/grub/grub2.install b/libre/grub/grub2.install
new file mode 100644
index 000000000..000533553
--- /dev/null
+++ b/libre/grub/grub2.install
@@ -0,0 +1,33 @@
+infodir=usr/share/info
+filelist=(grub.info grub-dev.info)
+
+post_install() {
+ if [ -f /boot/grub/grub.cfg.pacsave ]; then
+ echo "Copying /boot/grub/grub.cfg.pacsave to /boot/grub/grub.cfg"
+ install -Dm644 /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg
+ fi
+
+ cat << 'EOM'
+Generating grub.cfg.example config file...
+This may fail on some machines running a custom kernel.
+EOM
+
+ grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null
+ echo "done."
+
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/libre/grub/grub2_automake_1.11.2_pkglib_to_pkgdata.patch b/libre/grub/grub2_automake_1.11.2_pkglib_to_pkgdata.patch
new file mode 100644
index 000000000..0e396b210
--- /dev/null
+++ b/libre/grub/grub2_automake_1.11.2_pkglib_to_pkgdata.patch
@@ -0,0 +1,134 @@
+diff --git a/ChangeLog_Keshav b/ChangeLog_Keshav
+new file mode 100644
+index 0000000..0eafd65
+--- /dev/null
++++ b/ChangeLog_Keshav
+@@ -0,0 +1,12 @@
++2012-01-04 Keshav P R <the.ridikulus.rat@gmail.com>
++
++ Fixes for automake 1.11.2
++
++ * conf/Makefile.common: Change pkglib_SCRIPTS to pkgdata_SCRIPTS.
++ * conf/Makefile.common: Change pkglib_DATA to pkgdata_DATA.
++ * Makefile.am: Likewise.
++ * gentpl.py: Likewise.
++ * util/grub-mkstandalone.in: Likewise.
++ * util/grub-mknetdir.in: Likewise.
++ * util/grub-mkrescue.in: Likewise.
++ * util/grub-mkstandalone.in: Likewise.
+diff --git a/Makefile.am b/Makefile.am
+index c5f486e..395b0dd 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -101,8 +101,8 @@ CLEANFILES += widthspec.h
+ # Install config.h into platformdir
+ platform_HEADERS = config.h
+
+-pkglib_DATA += grub-mkconfig_lib
+-pkglib_DATA += update-grub_lib
++pkgdata_DATA += grub-mkconfig_lib
++pkgdata_DATA += update-grub_lib
+
+
+ if COND_i386_coreboot
+diff --git a/conf/Makefile.common b/conf/Makefile.common
+index 751188b..bbd59cc 100644
+--- a/conf/Makefile.common
++++ b/conf/Makefile.common
+@@ -137,7 +137,7 @@ KERNEL_HEADER_FILES =
+
+ man_MANS =
+ noinst_DATA =
+-pkglib_DATA =
++pkgdata_DATA =
+ bin_SCRIPTS =
+ sbin_SCRIPTS =
+ bin_PROGRAMS =
+@@ -147,7 +147,7 @@ check_SCRIPTS =
+ grubconf_DATA =
+ check_PROGRAMS =
+ noinst_SCRIPTS =
+-pkglib_SCRIPTS =
++pkgdata_SCRIPTS =
+ noinst_PROGRAMS =
+ grubconf_SCRIPTS =
+ noinst_LIBRARIES =
+diff --git a/gentpl.py b/gentpl.py
+index 3008b80..a935f4d 100644
+--- a/gentpl.py
++++ b/gentpl.py
+@@ -512,7 +512,7 @@ def script(platform):
+ r += "[+ ENDIF +]"
+
+ r += rule("[+ name +]", platform_sources(platform) + " $(top_builddir)/config.status", """
+-$(top_builddir)/config.status --file=-:$< | sed -e 's,@pkglib_DATA@,$(pkglib_DATA),g' > $@
++$(top_builddir)/config.status --file=-:$< | sed -e 's,@pkgdata_DATA@,$(pkgdata_DATA),g' > $@
+ chmod a+x [+ name +]
+ """)
+
+diff --git a/util/grub-mknetdir.in b/util/grub-mknetdir.in
+index e5a2172..7f6a36d 100644
+--- a/util/grub-mknetdir.in
++++ b/util/grub-mknetdir.in
+@@ -30,7 +30,7 @@ PACKAGE_VERSION=@PACKAGE_VERSION@
+ host_os=@host_os@
+ localedir=@datadir@/locale
+ datarootdir=@datarootdir@
+-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
+
+ self=`basename $0`
+
+@@ -183,7 +183,7 @@ process_input_dir ()
+ cp -f "$file" "$grubdir/"
+ fi
+ done
+- for file in ${pkglib_DATA}; do
++ for file in ${pkgdata_DATA}; do
+ if test -f "${input_dir}/${file}"; then
+ cp -f "${input_dir}/${file}" "$grubdir/"
+ fi
+diff --git a/util/grub-mkrescue.in b/util/grub-mkrescue.in
+index eff7708..f6b96d4 100644
+--- a/util/grub-mkrescue.in
++++ b/util/grub-mkrescue.in
+@@ -27,7 +27,7 @@ libdir=@libdir@
+ PACKAGE_NAME=@PACKAGE_NAME@
+ PACKAGE_TARNAME=@PACKAGE_TARNAME@
+ PACKAGE_VERSION=@PACKAGE_VERSION@
+-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
+
+ self=`basename $0`
+
+@@ -163,7 +163,7 @@ process_input_dir ()
+ cp -f "$file" ${iso9660_dir}/boot/grub/${platform}/
+ fi
+ done
+- for file in ${pkglib_DATA}; do
++ for file in ${pkgdata_DATA}; do
+ if test -f "${input_dir}/${file}"; then
+ cp -f "${input_dir}/${file}" ${iso9660_dir}/boot/grub/${platform}/
+ fi
+diff --git a/util/grub-mkstandalone.in b/util/grub-mkstandalone.in
+index b0dbf9b..92b7306 100644
+--- a/util/grub-mkstandalone.in
++++ b/util/grub-mkstandalone.in
+@@ -27,7 +27,7 @@ libdir=@libdir@
+ PACKAGE_NAME=@PACKAGE_NAME@
+ PACKAGE_TARNAME=@PACKAGE_TARNAME@
+ PACKAGE_VERSION=@PACKAGE_VERSION@
+-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst"
+
+ self=`basename $0`
+
+@@ -163,7 +163,7 @@ for file in "${source_directory}/"*.mod "${source_directory}/"efiemu32.o "${sour
+ fi
+ done
+
+-for file in ${pkglib_DATA}; do
++for file in ${pkgdata_DATA}; do
+ if test -f "${source_directory}/${file}"; then
+ cp -f "${source_directory}/${file}" "${memdisk_dir}"/boot/grub/
+ fi
diff --git a/libre/grub/grub2_bzr_export.sh b/libre/grub/grub2_bzr_export.sh
new file mode 100644
index 000000000..f40588f82
--- /dev/null
+++ b/libre/grub/grub2_bzr_export.sh
@@ -0,0 +1,113 @@
+#!/bin/bash
+
+## For actual repos
+
+# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/lua lua
+# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/gpxe gpxe
+# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/ntldr-img ntldr-img
+# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/915resolution 915resolution
+
+## For launchpad mirror
+
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-lua lua
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-gpxe gpxe
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-ntldr-img ntldr-img
+# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-915resolution 915resolution
+
+## grub-extras zfs is integrated into grub2 bzr main repo and is no longer needed separately.
+
+_WD="${PWD}/"
+_OUTPUT_DIR="${_WD}/"
+
+_ACTUAL_PKGVER="1.99"
+
+_GRUB2_BZR_REPO_DIR="${_WD}/grub2_BZR/"
+_GRUB2_BZR_EXP_REPO_DIR="${_WD}/grub2_experimental_BZR/"
+_GRUB2_EXTRAS_REPOS_DIR="${_WD}/grub2_extras_BZR/"
+
+_MAIN_SNAPSHOT() {
+
+ cd "${_GRUB2_BZR_REPO_DIR}/"
+ echo
+
+ _REVNUM="$(bzr revno ${_GRUB2_BZR_REPO_DIR})"
+ bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub2_r${_REVNUM}.tar"
+ echo
+
+ cd "${_OUTPUT_DIR}/"
+
+ xz -9 "${_OUTPUT_DIR}/grub2_r${_REVNUM}.tar"
+ echo
+
+}
+
+_EXP_SNAPSHOT() {
+
+ cd "${_GRUB2_BZR_EXP_REPO_DIR}/"
+ echo
+
+ _REVNUM="$(bzr revno ${_GRUB2_BZR_EXP_REPO_DIR})"
+ bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub2_exp_r${_REVNUM}.tar"
+ echo
+
+ cd "${_OUTPUT_DIR}/"
+
+ xz -9 "${_OUTPUT_DIR}/grub2_exp_r${_REVNUM}.tar"
+ echo
+
+}
+
+_EXTRAS_SNAPSHOT() {
+
+ cd "${_GRUB2_EXTRAS_REPOS_DIR}/${_GRUB2_EXTRAS_NAME}/"
+ echo
+
+ _REVNUM="$(bzr revno ${_GRUB2_EXTRAS_REPOS_DIR}/${_GRUB2_EXTRAS_NAME})"
+ bzr export --root="${_GRUB2_EXTRAS_NAME}" --format=tar "${_OUTPUT_DIR}/grub2_extras_${_GRUB2_EXTRAS_NAME}_r${_REVNUM}.tar"
+ echo
+
+ cd "${_OUTPUT_DIR}/"
+ echo
+
+ xz -9 "${_OUTPUT_DIR}/grub2_extras_${_GRUB2_EXTRAS_NAME}_r${_REVNUM}.tar"
+ echo
+
+}
+
+echo
+
+set -x -e
+
+echo
+
+_MAIN_SNAPSHOT
+
+echo
+
+# _EXP_SNAPSHOT
+
+echo
+
+_GRUB2_EXTRAS_NAME="lua"
+_EXTRAS_SNAPSHOT
+
+_GRUB2_EXTRAS_NAME="gpxe"
+_EXTRAS_SNAPSHOT
+
+_GRUB2_EXTRAS_NAME="ntldr-img"
+_EXTRAS_SNAPSHOT
+
+_GRUB2_EXTRAS_NAME="915resolution"
+_EXTRAS_SNAPSHOT
+
+echo
+
+set +x +e
+
+echo
+
+unset _WD
+unset _OUTPUT_DIR
+unset _GRUB2_BZR_REPO_DIR
+unset _GRUB2_EXTRAS_REPOS_DIR
+unset _GRUB2_EXTRAS_NAME
diff --git a/libre/grub/grub_bzr_export.sh b/libre/grub/grub_bzr_export.sh
new file mode 100644
index 000000000..ff8f99ecc
--- /dev/null
+++ b/libre/grub/grub_bzr_export.sh
@@ -0,0 +1,113 @@
+#!/usr/bin/env bash
+
+## For actual repos
+
+# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/lua lua
+# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/gpxe gpxe
+# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/ntldr-img ntldr-img
+# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/915resolution 915resolution
+
+## For launchpad mirror
+
+# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-lua lua
+# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-gpxe gpxe
+# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-ntldr-img ntldr-img
+# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-915resolution 915resolution
+
+## grub-extras zfs is integrated into grub bzr main repo and is no longer needed separately.
+
+_WD="${PWD}/"
+_OUTPUT_DIR="${_WD}/"
+
+_ACTUAL_PKGVER="2.00"
+
+_GRUB_BZR_REPO_DIR="${_WD}/grub_mainline_BZR/"
+_GRUB_BZR_EXP_REPO_DIR="${_WD}/grub_experimental_BZR/"
+_GRUB_EXTRAS_REPOS_DIR="${_WD}/grub_extras_BZR/"
+
+_MAIN_SNAPSHOT() {
+
+ cd "${_GRUB_BZR_REPO_DIR}/"
+ echo
+
+ _REVNUM="$(bzr revno ${_GRUB_BZR_REPO_DIR})"
+ bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub_r${_REVNUM}.tar"
+ echo
+
+ cd "${_OUTPUT_DIR}/"
+
+ xz -9 "${_OUTPUT_DIR}/grub_r${_REVNUM}.tar"
+ echo
+
+}
+
+_EXP_SNAPSHOT() {
+
+ cd "${_GRUB_BZR_EXP_REPO_DIR}/"
+ echo
+
+ _REVNUM="$(bzr revno ${_GRUB_BZR_EXP_REPO_DIR})"
+ bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub_exp_r${_REVNUM}.tar"
+ echo
+
+ cd "${_OUTPUT_DIR}/"
+
+ xz -9 "${_OUTPUT_DIR}/grub_exp_r${_REVNUM}.tar"
+ echo
+
+}
+
+_EXTRAS_SNAPSHOT() {
+
+ cd "${_GRUB_EXTRAS_REPOS_DIR}/${_GRUB_EXTRAS_NAME}/"
+ echo
+
+ _REVNUM="$(bzr revno ${_GRUB_EXTRAS_REPOS_DIR}/${_GRUB_EXTRAS_NAME})"
+ bzr export --root="${_GRUB_EXTRAS_NAME}" --format="tar" "${_OUTPUT_DIR}/grub_extras_${_GRUB_EXTRAS_NAME}_r${_REVNUM}.tar"
+ echo
+
+ cd "${_OUTPUT_DIR}/"
+ echo
+
+ xz -9 "${_OUTPUT_DIR}/grub_extras_${_GRUB_EXTRAS_NAME}_r${_REVNUM}.tar"
+ echo
+
+}
+
+echo
+
+set -x -e
+
+echo
+
+_MAIN_SNAPSHOT
+
+echo
+
+# _EXP_SNAPSHOT
+
+echo
+
+_GRUB_EXTRAS_NAME="lua"
+_EXTRAS_SNAPSHOT
+
+# _GRUB_EXTRAS_NAME="gpxe"
+# _EXTRAS_SNAPSHOT
+
+_GRUB_EXTRAS_NAME="ntldr-img"
+_EXTRAS_SNAPSHOT
+
+_GRUB_EXTRAS_NAME="915resolution"
+_EXTRAS_SNAPSHOT
+
+echo
+
+set +x +e
+
+echo
+
+unset _WD
+unset _OUTPUT_DIR
+unset _GRUB_BZR_REPO_DIR
+unset _GRUB_EXTRAS_REPOS_DIR
+unset _GRUB_EXTRAS_NAME
diff --git a/libre/grub/grub_extras_lua_args_fix.patch b/libre/grub/grub_extras_lua_args_fix.patch
new file mode 100644
index 000000000..5cb317ce3
--- /dev/null
+++ b/libre/grub/grub_extras_lua_args_fix.patch
@@ -0,0 +1,13 @@
+diff --git a/grub-extras/lua/grub_lib.c b/grub-extras/lua/grub_lib.c
+index 9014320..055d620 100644
+--- a/grub-extras/lua/grub_lib.c
++++ b/grub-extras/lua/grub_lib.c
+@@ -466,7 +466,7 @@ grub_lua_add_menu (lua_State *state)
+ if (! p)
+ return push_result (state);
+
+- grub_normal_add_menu_entry (n, args, NULL, NULL, NULL, NULL, p, 0);
++ grub_normal_add_menu_entry (n, args, NULL, NULL, NULL, NULL, NULL, p, 0);
+ }
+ else
+ {
diff --git a/libre/grub/parabola-mkconfig.patch b/libre/grub/parabola-mkconfig.patch
new file mode 100644
index 000000000..7c18a4cc2
--- /dev/null
+++ b/libre/grub/parabola-mkconfig.patch
@@ -0,0 +1,32 @@
+diff -ru grub-1.99.orig/util/grub.d/10_linux.in grub-1.99/util/grub.d/10_linux.in
+--- grub-1.99.orig/util/grub.d/10_linux.in 2011-08-11 15:54:52.051246328 +0200
++++ grub-1.99/util/grub.d/10_linux.in 2011-08-11 15:55:41.297910793 +0200
+@@ -134,7 +134,7 @@
+
+ case x`uname -m` in
+ xi?86 | xx86_64)
+- list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* /boot/vmlinuz26-* ; do
++ list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* /boot/vmlinuz26-* /boot/vmlinuz26 ; do
+ if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
+ done` ;;
+ *)
+@@ -163,7 +163,8 @@
+ "initrd-${alt_version}" "initramfs-${alt_version}.img" \
+ "initramfs-genkernel-${version}" \
+ "initramfs-genkernel-${alt_version}" \
+- "${basename/vmlinuz/kernel}.img"; do
++ "${basename/vmlinuz/kernel}.img" \
++ "${basename/vmlinuz/initramfs}.img"; do
+ if test -e "${dirname}/${i}" ; then
+ initrd="$i"
+ break
+@@ -194,7 +195,8 @@
+ linux_entry "${OS}" "${version}" false \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+ for i in "initramfs-${version}-fallback.img" \
+- "${basename/vmlinuz/kernel}-fallback.img"; do
++ "${basename/vmlinuz/kernel}-fallback.img" \
++ "${basename/vmlinuz/initramfs}-fallback.img"; do
+ if test -e "${dirname}/${i}"; then
+ initrd="$i"
+ linux_entry "${OS}" "${version}" true \
diff --git a/libre/grub/parabola_grub_mkconfig_fixes.patch b/libre/grub/parabola_grub_mkconfig_fixes.patch
new file mode 100644
index 000000000..19022aec6
--- /dev/null
+++ b/libre/grub/parabola_grub_mkconfig_fixes.patch
@@ -0,0 +1,152 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 516be86..5f37db2 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -213,6 +213,8 @@ export GRUB_DEFAULT \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
+ GRUB_DISABLE_OS_PROBER \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index 765bfdc..b148558 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -115,6 +115,14 @@ cat <<EOF
+
+ EOF
+
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++ cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index 14402e8..64c9bb5 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -31,7 +31,7 @@
+ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
+ OS=GNU/Linux
+ else
+- OS="${GRUB_DISTRIBUTOR} GNU/Linux"
++ OS="${GRUB_DISTRIBUTOR}"
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
+ fi
+
+@@ -87,6 +87,8 @@ linux_entry ()
+ case $type in
+ recovery)
+ title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;;
++ fallback)
++ title="$(gettext_printf "%s, with Linux %s (Fallback initramfs)" "${os}" "${version}")" ;;
+ *)
+ title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
+ esac
+@@ -100,7 +102,7 @@ linux_entry ()
+ else
+ echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
+ fi
+- if [ x$type != xrecovery ] ; then
++ if [ x$type != xrecovery ] && [ x$type != xfallback ] ; then
+ save_default_entry | sed -e "s/^/\t/"
+ fi
+
+@@ -132,7 +134,8 @@ linux_entry ()
+ fi
+ printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
+ fi
+- message="$(gettext_printf "Loading Linux %s ..." ${version})"
++
++ message="$(gettext_printf "Loading Linux %s ..." "${version}")"
+ sed "s/^/$submenu_indentation/" << EOF
+ echo '$message'
+ linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
+@@ -190,7 +193,22 @@ while [ "x$list" != "x" ] ; do
+ alt_version=`echo $version | sed -e "s,\.old$,,g"`
+ linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+
++ if test -e "/etc/arch-release" ; then
++ if echo "${basename}" | grep -q 'vmlinuz-linux' ; then
++ version="`echo "${basename}" | sed -e 's,vmlinuz-linux,,g'`"
++
++ if [ "x${version}" = "x" ] ; then
++ version="core repo kernel"
++ else
++ version="`echo "${version}" | sed -e 's,-,,g'`"
++ version="${version} kernel"
++ fi
++ fi
++ fi
++
+ initrd=
++ initrd_arch="`echo "${basename}" | sed -e 's,vmlinuz,initramfs,g'`"
++
+ for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
+ "initrd-${version}" "initramfs-${version}.img" \
+ "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
+@@ -198,7 +216,8 @@ while [ "x$list" != "x" ] ; do
+ "initramfs-genkernel-${version}" \
+ "initramfs-genkernel-${alt_version}" \
+ "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
+- "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
++ "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \
++ "${initrd_arch}.img" ; do
+ if test -e "${dirname}/${i}" ; then
+ initrd="$i"
+ break
+@@ -226,6 +245,22 @@ while [ "x$list" != "x" ] ; do
+ linux_root_device_thisversion=${GRUB_DEVICE}
+ fi
+
++ if test -e "/etc/arch-release" ; then
++ is_first_entry="false"
++
++ linux_entry "${OS}" "${version}" true \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++
++ for i in "${initrd_arch}-fallback.img" "initramfs-${version}-fallback.img" ; do
++ if test -e "${dirname}/${i}" ; then
++ initrd="${i}"
++ linux_entry "${OS}" "${version}" fallback \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ break
++ fi
++ done
++ fi
++
+ if [ "x$is_first_entry" = xtrue ]; then
+ linux_entry "${OS}" "${version}" simple \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+@@ -239,8 +274,11 @@ while [ "x$list" != "x" ] ; do
+ echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
+ fi
+
++ if ! test -e "/etc/arch-release" ; then
+ linux_entry "${OS}" "${version}" advanced \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ fi
++
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ linux_entry "${OS}" "${version}" recovery \
+ "single ${GRUB_CMDLINE_LINUX}"
+@@ -252,8 +290,10 @@ done
+
+ # If at least one kernel was found, then we need to
+ # add a closing '}' for the submenu command.
++if ! test -e "/etc/arch-release" ; then
+ if [ x"$is_first_entry" != xtrue ]; then
+ echo '}'
+ fi
++fi
+
+ echo "$title_correction_code"
diff --git a/libre/grub2/05_archtheme b/libre/grub2/05_archtheme
index 4d1b6fb20..4d1b6fb20 100644..100755
--- a/libre/grub2/05_archtheme
+++ b/libre/grub2/05_archtheme
diff --git a/libre/grub2/20_memtest86+ b/libre/grub2/20_memtest86+
index 1d3096f6b..1d3096f6b 100644..100755
--- a/libre/grub2/20_memtest86+
+++ b/libre/grub2/20_memtest86+
diff --git a/libre/grub2/PKGBUILD b/libre/grub2/PKGBUILD
index 5b1769f95..5b1769f95 100644..100755
--- a/libre/grub2/PKGBUILD
+++ b/libre/grub2/PKGBUILD
diff --git a/libre/grub2/fix_stack_pointer_handling_16_relocator.patch b/libre/grub2/fix_stack_pointer_handling_16_relocator.patch
index edc0ef502..edc0ef502 100644..100755
--- a/libre/grub2/fix_stack_pointer_handling_16_relocator.patch
+++ b/libre/grub2/fix_stack_pointer_handling_16_relocator.patch
diff --git a/libre/grub2/grub-install.fix b/libre/grub2/grub-install.fix
index 29e74bd44..29e74bd44 100644..100755
--- a/libre/grub2/grub-install.fix
+++ b/libre/grub2/grub-install.fix
diff --git a/libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch b/libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch
index e1de26859..e1de26859 100644..100755
--- a/libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch
+++ b/libre/grub2/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch
diff --git a/libre/grub2/grub.cfg b/libre/grub2/grub.cfg
index 6e60c70c4..6e60c70c4 100644..100755
--- a/libre/grub2/grub.cfg
+++ b/libre/grub2/grub.cfg
diff --git a/libre/grub2/grub.default b/libre/grub2/grub.default
index d0c959059..d0c959059 100644..100755
--- a/libre/grub2/grub.default
+++ b/libre/grub2/grub.default
diff --git a/libre/grub2/grub2.install b/libre/grub2/grub2.install
index 000533553..000533553 100644..100755
--- a/libre/grub2/grub2.install
+++ b/libre/grub2/grub2.install
diff --git a/libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch b/libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch
index 0e396b210..0e396b210 100644..100755
--- a/libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch
+++ b/libre/grub2/grub2_automake_1.11.2_pkglib_to_pkgdata.patch
diff --git a/libre/grub2/grub2_bzr_export.sh b/libre/grub2/grub2_bzr_export.sh
index f40588f82..f40588f82 100644..100755
--- a/libre/grub2/grub2_bzr_export.sh
+++ b/libre/grub2/grub2_bzr_export.sh
diff --git a/libre/grub2/grub_extras_lua_args_fix.patch b/libre/grub2/grub_extras_lua_args_fix.patch
index 5cb317ce3..5cb317ce3 100644..100755
--- a/libre/grub2/grub_extras_lua_args_fix.patch
+++ b/libre/grub2/grub_extras_lua_args_fix.patch
diff --git a/libre/grub2/parabola-mkconfig.patch b/libre/grub2/parabola-mkconfig.patch
index 7c18a4cc2..7c18a4cc2 100644..100755
--- a/libre/grub2/parabola-mkconfig.patch
+++ b/libre/grub2/parabola-mkconfig.patch
diff --git a/libre/grub2/parabola_grub_mkconfig_fixes.patch b/libre/grub2/parabola_grub_mkconfig_fixes.patch
index 19022aec6..19022aec6 100644..100755
--- a/libre/grub2/parabola_grub_mkconfig_fixes.patch
+++ b/libre/grub2/parabola_grub_mkconfig_fixes.patch
diff --git a/libre/gstreamer0.10-bad-libre/PKGBUILD b/libre/gstreamer0.10-bad-libre/PKGBUILD
index b74958e3c..b74958e3c 100644..100755
--- a/libre/gstreamer0.10-bad-libre/PKGBUILD
+++ b/libre/gstreamer0.10-bad-libre/PKGBUILD
diff --git a/libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install b/libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install
index 3a36b0ccb..3a36b0ccb 100644..100755
--- a/libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install
+++ b/libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install
diff --git a/libre/gstreamer0.10-good/PKGBUILD b/libre/gstreamer0.10-good/PKGBUILD
index abe7dc0ef..abe7dc0ef 100644..100755
--- a/libre/gstreamer0.10-good/PKGBUILD
+++ b/libre/gstreamer0.10-good/PKGBUILD
diff --git a/libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install b/libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install
index e343beea5..e343beea5 100644..100755
--- a/libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install
+++ b/libre/gstreamer0.10-good/gstreamer0.10-good-plugins.install
diff --git a/libre/h-client/PKGBUILD b/libre/h-client/PKGBUILD
index 821517397..821517397 100644..100755
--- a/libre/h-client/PKGBUILD
+++ b/libre/h-client/PKGBUILD
diff --git a/libre/hardinfo/PKGBUILD b/libre/hardinfo/PKGBUILD
index 1987e191e..1987e191e 100644..100755
--- a/libre/hardinfo/PKGBUILD
+++ b/libre/hardinfo/PKGBUILD
diff --git a/libre/hardinfo/fixsensors.patch b/libre/hardinfo/fixsensors.patch
index 812c29458..812c29458 100644..100755
--- a/libre/hardinfo/fixsensors.patch
+++ b/libre/hardinfo/fixsensors.patch
diff --git a/libre/hardinfo/hardinfo.distro b/libre/hardinfo/hardinfo.distro
index cf378523a..cf378523a 100644..100755
--- a/libre/hardinfo/hardinfo.distro
+++ b/libre/hardinfo/hardinfo.distro
diff --git a/libre/hplip-libre/PKGBUILD b/libre/hplip-libre/PKGBUILD
index aa7dea706..aa7dea706 100644..100755
--- a/libre/hplip-libre/PKGBUILD
+++ b/libre/hplip-libre/PKGBUILD
diff --git a/libre/hplip-libre/hplip.install b/libre/hplip-libre/hplip.install
index 74532cde3..74532cde3 100644..100755
--- a/libre/hplip-libre/hplip.install
+++ b/libre/hplip-libre/hplip.install
diff --git a/libre/iceape-i18n/.gitignore b/libre/iceape-i18n/.gitignore
index 3e1eb57b5..3e1eb57b5 100644..100755
--- a/libre/iceape-i18n/.gitignore
+++ b/libre/iceape-i18n/.gitignore
diff --git a/libre/iceape-i18n/Makefile b/libre/iceape-i18n/Makefile
index 89aaccfdc..89aaccfdc 100644..100755
--- a/libre/iceape-i18n/Makefile
+++ b/libre/iceape-i18n/Makefile
diff --git a/libre/iceape-i18n/PKGBUILD b/libre/iceape-i18n/PKGBUILD
index d146e02dd..d146e02dd 100644..100755
--- a/libre/iceape-i18n/PKGBUILD
+++ b/libre/iceape-i18n/PKGBUILD
diff --git a/libre/iceape-i18n/PKGBUILD.in b/libre/iceape-i18n/PKGBUILD.in
index 6891b2672..6891b2672 100644..100755
--- a/libre/iceape-i18n/PKGBUILD.in
+++ b/libre/iceape-i18n/PKGBUILD.in
diff --git a/libre/iceape-libre/PKGBUILD b/libre/iceape-libre/PKGBUILD
index 20aa8b8e7..e1079d74e 100644..100755
--- a/libre/iceape-libre/PKGBUILD
+++ b/libre/iceape-libre/PKGBUILD
@@ -1,9 +1,9 @@
# Maintainer : Márcio Silva <coadde@lavabit.com>
-# Maintainer : André Silva <andre.paulista@lavabit.com>
+# Maintainer : André Silva <emulatorman@lavabit.com>
# We're getting this from Debian Sid
_debname=iceape
-_debver=2.7.6
+_debver=2.7.7
_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -29,8 +29,8 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
${_pkgname}-2.0-lang.patch
clrf.patch
libre.patch)
-md5sums=('7177342dcd4d445b166c36935c1d4ca5'
- '5adb3b2c718311e664d8541bb4a16304'
+md5sums=('c1b1a38a1ee2d9ea7c4320ab6a45e380'
+ '0cb9bb2194cf4f9e4eb3e3d4281fef6e'
'60ba9e8f2fafd20e41268af534a55ea7'
'7266333e31731af8bb50c2eca8d0bd26'
'25b6fe16ac24cd5c852213e5c1adb272'
diff --git a/libre/iceape-libre/clrf.patch b/libre/iceape-libre/clrf.patch
index 375708ac4..375708ac4 100644..100755
--- a/libre/iceape-libre/clrf.patch
+++ b/libre/iceape-libre/clrf.patch
diff --git a/libre/iceape-libre/gcc47.patch b/libre/iceape-libre/gcc47.patch
index 115d65131..115d65131 100644..100755
--- a/libre/iceape-libre/gcc47.patch
+++ b/libre/iceape-libre/gcc47.patch
diff --git a/libre/iceape-libre/iceape-2.0-lang.patch b/libre/iceape-libre/iceape-2.0-lang.patch
index b9f4a5cde..b9f4a5cde 100644..100755
--- a/libre/iceape-libre/iceape-2.0-lang.patch
+++ b/libre/iceape-libre/iceape-2.0-lang.patch
diff --git a/libre/iceape-libre/iceape.desktop b/libre/iceape-libre/iceape.desktop
index 0868e5058..0868e5058 100644..100755
--- a/libre/iceape-libre/iceape.desktop
+++ b/libre/iceape-libre/iceape.desktop
diff --git a/libre/iceape-libre/iceape.install b/libre/iceape-libre/iceape.install
index 709ad81f2..709ad81f2 100644..100755
--- a/libre/iceape-libre/iceape.install
+++ b/libre/iceape-libre/iceape.install
diff --git a/libre/iceape-libre/libre.patch b/libre/iceape-libre/libre.patch
index 96fefccbb..96fefccbb 100644..100755
--- a/libre/iceape-libre/libre.patch
+++ b/libre/iceape-libre/libre.patch
diff --git a/libre/iceape-libre/mozconfig b/libre/iceape-libre/mozconfig
index 5227d77a5..5227d77a5 100644..100755
--- a/libre/iceape-libre/mozconfig
+++ b/libre/iceape-libre/mozconfig
diff --git a/libre/icecat-i18n/.gitignore b/libre/icecat-i18n/.gitignore
index 3987fdafb..3987fdafb 100644..100755
--- a/libre/icecat-i18n/.gitignore
+++ b/libre/icecat-i18n/.gitignore
diff --git a/libre/icecat-i18n/Makefile b/libre/icecat-i18n/Makefile
index d1aaf7bff..d1aaf7bff 100644..100755
--- a/libre/icecat-i18n/Makefile
+++ b/libre/icecat-i18n/Makefile
diff --git a/libre/icecat-i18n/PKGBUILD b/libre/icecat-i18n/PKGBUILD
index e6f2e82b8..aebc6cef0 100644..100755
--- a/libre/icecat-i18n/PKGBUILD
+++ b/libre/icecat-i18n/PKGBUILD
@@ -1,7 +1,8 @@
# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: Figue <ffigue@gmail.com>
-# Contributor: emulatorman <andre.paulista@adinet.com.uy>
+# Maintainer : Márcio Silva <coadde@lavabit.com>
+# Maintainer : André Silva <emulatorman@lavabit.com>
# Based on firefox-i18n package
@@ -10,125 +11,230 @@
# - (optionally) edit PKGBUILD.in
# - Run 'make'. It will take care of everything else for you.
-_langpacks=(af ak ar as ast be bg bn-BD bn-IN br bs ca cs csb cy da de el en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja kk kn ko ku lg lij lt lv mai mk ml mr nb-NO nl nn-NO nso or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta-LK ta te th tr uk vi zh-CN zh-TW zu)
+_langpacks=(
+ af
+ ak
+ ar
+ as
+ ast
+ be
+ bg
+ bn-BD
+ bn-IN
+ br
+ bs
+ ca
+ cs
+ csb
+ cy
+ da
+ de
+ el
+ en-GB
+ en-US
+ en-ZA
+ eo
+ es-AR
+ es-CL
+ es-ES
+ es-MX
+ et
+ eu
+ fa
+ ff
+ fi
+ fr
+ fy-NL
+ ga-IE
+ gd
+ gl
+ gu-IN
+ he
+ hi-IN
+ hr
+ hu
+ hy-AM
+ id
+ is
+ it
+ ja
+ kk
+ km
+ kn
+ ko
+ ku
+ lg
+ lij
+ lt
+ lv
+ mai
+ mk
+ ml
+ mr
+ nb-NO
+ nl
+ nn-NO
+ nso
+ or
+ pa-IN
+ pl
+ pt-BR
+ pt-PT
+ rm
+ ro
+ ru
+ si
+ sk
+ sl
+ son
+ sq
+ sr
+ sv-SE
+ ta-LK
+ ta
+ te
+ th
+ tr
+ uk
+ vi
+ zh-CN
+ zh-TW
+ zu
+)
-pkgbase='icecat-i18n'
-pkgname=($(for lang in ${_langpacks[@]}
- do echo icecat-i18n-$lang | tr A-Z a-z
- done))
-_pkgver=12.0
-pkgver=12.0
-pkgrel=2
-pkgdesc="Language packs for GNUzilla IceCat."
-arch=('any')
-license=('MPL')
-url="http://www.gnu.org/software/gnuzilla/"
-depends=("icecat=${pkgver}")
-source=($(for lang in ${_langpacks[@]}
- do echo http://ftp.gnu.org/gnu/gnuzilla/lang/$pkgver/$lang.xpi
- done))
-noextract=($(for lang in ${_langpacks[@]}
- do echo $lang.xpi
- done))
+pkgbase=icecat-i18n
+pkgname=(
+ $(for lang in ${_langpacks[@]}
+ do echo icecat-i18n-$lang | tr A-Z a-z
+ done)
+)
+_pkgver=14.0
+pkgver=14.0
+pkgrel=1
+pkgdesc='Language packs for GNUzilla IceCat.'
+arch=(
+ any
+)
+license=(
+ MPL
+)
+url=http://www.gnu.org/software/gnuzilla/
+depends=(
+ ${pkgbase%-i18n}=$pkgver
+)
+source=(
+ $(for lang in ${_langpacks[@]}
+ do echo http://ftp.gnu.org/gnu/gnuzilla/lang/$pkgver/$lang.xpi
+ done)
+)
+noextract=(
+ $(for lang in ${_langpacks[@]}
+ do echo $lang.xpi
+ done)
+)
build() {
- cd "${srcdir}"
+ cd $srcdir
}
-_path="/usr/lib/icecat/extensions/"
+_path=/usr/lib/${pkgbase%-i18n}/extensions/
for lang in ${_langpacks[@]}
do
eval "
package_icecat-i18n-$(echo $lang | tr A-Z a-z) () {
- install -Dm644 '$srcdir/$lang.xpi' \"\${pkgdir}\"'${_path}langpack-$lang@firefox.mozilla.org.xpi'
+ install -Dm644 $srcdir/$lang.xpi \"\${pkgdir}\"'${_path}langpack-${lang}@firefox.mozilla.org.xpi'
}
"
done
-md5sums=('334d06cd9e32b2c3df5129dba4f0f474'
- '99954e582ddb9bbd8965e6468e7d9799'
- 'a2b777edb9a595b4c427716458ffdeb6'
- '2d1796a37f2e927b5939de257dddab4e'
- '17589c7d8994d4f62fd95fddc2c0c796'
- '27f9d4029dbab73d9f5c6a7c169c1811'
- '5d13f0aeb780e4d3693bf62be21e6e11'
- 'c47f6aaa0b33261e7277f6d807e88396'
- '0d87bb53f0b71634c189eeb3f3d64bc5'
- '2ada422bef681cee2bd7e667a9090d6a'
- 'fc8bc018c6d41c2fcb883734e37b518a'
- '5e9b488cd52a42e235169de3a4b4cea2'
- '0b781ce69f571797d3dc1fd5b70d882c'
- '5ae943ee2293fd427a0072f1c95dd2e9'
- '15d2a2076008efefdb7d031f4d0b1663'
- '71a45cefe3b5f45de4ff784ca1a4fe1e'
- '98e6f6de8c0184f339cc1b88e31e285b'
- '43f9c2a3e9580b6a2adcc36dba4c0755'
- 'a12665f7c8e6121e82c6c0be91da3f2a'
- '7268181e8190cb62685c365fb99d9102'
- '6f60912c53bd21acd99ee11abd5862d9'
- '25f2c8a6665f6aef75204b1bcd0c0ff1'
- '6e3516383f6eaad4bc1abe5fdd212d26'
- 'c76f8a91086735c8252eab0d90e163e6'
- '85cf430e36e70713b715fca4e1ac3410'
- '60f3573882bbd1dc0ed0f16518660bf9'
- '6c51beefb2da7add8c8c635efc2fc565'
- 'e2d4d8182716b329249619d227d449f1'
- '28facbc470554488b0a722cb0c3d53d3'
- '3b167b50c188ef190fbad18077aacc0d'
- 'f8edd8921fb8fa24099d1725fc478a2b'
- '5b90202d9288d073e5f401b498355c13'
- 'ec8478b6e0420484de8d7332bafafac2'
- '9d932bc91062a58b0509b5395403c708'
- 'bba6d905218c4a2b3d6e289e3ef35186'
- 'b32d1ad6e5c8ed52cde0ea351290fd17'
- 'd0d1d307c87ec8c8102527944f05887e'
- '2605d5226c23205f3c7cd5466059b802'
- '2b800c1c729d3b65ae38050bd4c06af1'
- '8744ce05e573acefa9f802e53da2aea4'
- 'edd3e216b37ee32fd517c2b49e85439a'
- 'd9786706c058b1e4acac62f07deac285'
- '6377004ddaa6731734696509be6dda53'
- 'c73bd01ab8c5a25e234e51082978f7f5'
- 'b44a3df07e663803234c72f359d06422'
- '81c646a84b4f56d4721bec4013c123bf'
- '9b678f5dbb7243b9e5751d04b988b640'
- 'c237afb9ed6819a6219383590a8ee448'
- 'b27c9236866dd55ee01a6e3929752767'
- '8d527119a84f22840a919bc35ed612c0'
- '1b51158c8c218544654245c418943c3a'
- '1314bbc8cde2babcf6e807f7f958152c'
- '59eb9146f16189932d9d5eea536cd8af'
- 'a427b45282c6f8f4f1646050e9a93f71'
- '618771f03f807603b2efed2760f6004c'
- '56ca63d8c797d47fd3b6c094390990d7'
- '24bde56465d7ab923fed3e23eca59d42'
- 'ff9858a371df54c25f77ea4a5d1091f9'
- '6135b885b12ccc64d5c93f385d5c62ad'
- 'f98347a6ae9db6faef247373fd5092df'
- 'e58f094448b085636c9e9435ef22fb53'
- 'ed073cd4a1f3bbdcec1ee56334d8b9d3'
- '988a1c279f94941bd4ab3b90cfad0bbe'
- 'd8bc3ee80be944051f975a2534651ce1'
- 'bd94ef18efe11eeee93a0ff1dc602301'
- '20a8381c88b1735c558316936469c1a9'
- '064d6f05f7b4c1ce8c5e0f083eccef15'
- 'c22c4fb9da7cdee2cb29119e7c4f3696'
- '50071d48b92f373713f6f8ee483b6f7d'
- '518fbbf3838332da2e561565d29281bf'
- '2a5a42ad2110e7e24c967233fdc0dc2c'
- 'd21424a551ff625034b6e015f0eddcc4'
- '829a1e6fe575e761f97564f68a1859ec'
- 'd1047468370b7cbb766ed688107ca879'
- '27f3609a99c3be8e59cfc700e251a5d7'
- 'c7eb3ef0bedc610065713da9a55e2bf9'
- '9125fcb792da1e58f00c43ec5b7bce97'
- '5b9dd2a8ac84aace97a6095042ea537b'
- '13be748a3331f2a9fac691dec7173aa8'
- '0b694233f5385e0e5898d4b64a683bbc'
- 'ad037272aabcc3b58fd2141447113905'
- '347f53738950c9927b19ec3462840696'
- '4fc25f81dd0b744aaaea5705dd36d943'
- '5c96e79fc7463907b1c635586c910a71'
- '50b1dcbd0eaf9d62b3f9050598298933'
- 'c40de39f9502a8789f8301581cad25b4')
+sha512sums=(
+ 765390ba04d88b4b56cebab007f9f593e33c54fe3cd8dbbafdb48171db68e23cd4e1c3d8360f2ef641a537e27f1d6db1aa8a0bdade854d3151359ecab6676af9
+ 2b21f849299e7185163ce99e91aa612f64094cdf792bb855eb8836be940c0ef1cdfd33da080a793def714874810b269373f0c80830f42919f967417356efb86f
+ 86a79b1a785c967d56bb492a1c5867c42ac00832813a72027cc0a51dd940c1020dc7c911109efd9eb4ef1a9d996eea6382cd0a03a6a53e3347f909a28a3a943d
+ 727e3f44812c9c56620b7871fcffb28ebabef460fc52f483402fae787d90f3f197703e0bbde689a744e1135602b5ee765023402e0d365812e8521f8cf9dd2791
+ 06989be3fd8d73f7887dae3bac7b0bdc80c7a11b7e6c8630da0ee4652f0ffbd60e01c049242ab3b61555f84485ce9b2f098c80cf6dba41538442cdc5cbdded9b
+ bc9e19e9e216df4acb8d9bccae2e0e426ab402998934ad9393cf86a2a81c6d20c7ba622d1f312dd70a62c8659b611421904ba0aa5aa7e3eb7ece5ed578cbdd81
+ f12d343a5b5f9f35d3d112f041baa29919bfda8bf4c22353ac899ee65eda438c6a9ed243e7a03fb659aff0f9c448bfa5146807b8d3eafa9dd7b8384d7a0d8124
+ 11cedfcd91a550fa1f65d1eca4ebac97ecd7c823e7a41e74f908ae1dc0b36b7cbb0c91c2640de5a0ba61c6820c0101c195bb31482376880025b494b280c7274d
+ 51f0b5e575f99b718b5ca96416148cced3a2c3fcd512e7135d3062fbc6e3c0ede86cb5bbda4a0bed43f6bd73d5c493a97c5bfbf373a92edb48b4a299b27a4f4d
+ de166d28ba81758d002712c408eada0ca5955e9b6275bc5f491177496f79f8de9dd5d5cd10cda5bc7671c56d7b5d15e136910d671da58ab1363b4dae769b58c9
+ 79c0d107c1c61cd6281e0c545f10389a9968b7f49f27a4ff531c729c608cfff9107430f6d7b323a9f00cd2259ef5787db817b7aaa226272e7347413e0a50be83
+ a1f5399254c5ce261468dbf539072371a51796de02331e173f8c44704f95d7784280115f7ba1deb46874caeccdeb925d9fe540dc8b5ada5970df6274a06f3429
+ 11a278717f5da5a6d284242863bda3142ba4263946104fdbd86545f741127a368138bd4f7d0bd7bf377795d5d36fc61544b585dc044d5a6ddf93ce077f1e747f
+ 34a995016f4d7bff5c972bb4ef252a0ddac4f0b36943c7e4f8fbb899827aec307a081a7a30f1cb1fdf8c84af82f8f32675c57c45c39f7e47f21aacb75438be48
+ fc5d410a903912f05886c4573a3b199efae22f8c9810a7bfc6acf8b5851b1791d97bd562a9c77204b7cf9091e0731ffe332c640d8693165f69cb934e8d523e04
+ ab03d3e5391f806b6733078501d8a767cf2267d126cba284d473de21a7c976e55bd7ba63e3489336232ee9f5a7672b8c436e19adcfc68fe2a69db4e08b6f4b19
+ fa55b4a26a346c21f0b98c137c4fabbd7aaaa61de45da89ca26c78044d23be8333f2d0c849ec5a34ff7517a556a979ee98b1ce87f02174fcb695632bbbb5edeb
+ 1ac410bd9b30d917b77ebac3ba08e25adaa4a20a6a77d13229a0efedca7a3b650777a6ca71675fde69f06137b09150dd2dee89760b93801dcf14b2801e6e5ad8
+ 0b37ef6936f78c0384c36be7ad174cb90b5ca55b77128de6cdb6663de191144392728fccabc2baca25cb2d0f1ba69b80598bbf531e18b473a9515b553c1f594c
+ e2d4d6f1fc470d17dfc35b193c20f23b07dfbe54cad1b4f47d2f534493ea297dbdaf15e6c9b1556049c2db314dde66701a0624ef8af8f85f9cebbbf30f50ab3f
+ c3874b81b84de34fd9cfbb8b009dd033e57ffc726f7b607d895a917e4eb7ef9770ec0e24e0c41cdcd82f29c8140438101c1d1263ee64fbe0117c6b1510c0ed54
+ e06f5da5fd157045be13459635b881cd09c92cc5f56af7d745afbdb52889ff18e23a75475331cc13471d9e7aefe157f43ae83074856d81e4f4ad0a9b275d58a5
+ f04c77b037b04bf69929cdd712126b6c08a786d7a66181b3e536ca97c750506963b699dd8c4374fc01a86e694100f3fd9ed15d88ada0ef52364f492c5f61bb16
+ f538442bf340e7856522288498de54a28dd0b25f36ad7897d1e444e46e98d17c0e5432c6f40e02c49cacacbe5b6b87a4db0dfec3f79e52df91ef278e15afdd73
+ 9154c78adb5ec3d4c5dcb69bd61fb2b9a98a908f3fb6344ca5ba2ac96145ab8e770ad786b2c704f522c9f6cf61fdaf256e309e85bf105bbd83df892840804fca
+ 5c80bddaf0e51984034aac3d211327f89209673cceee5fc30dc4d9958cf44f564ce7aae995795987885c560a427a0098958fdcbf4534f5c84ec9778a3cd555c5
+ 1d8a8a3fe5b2ade77dbd7b6f7fee74cd82452ec4eeee42bcb590b6f919fbccd9d345dc1ac2c171d265882e3583b6826778df73713e23df4c4ca66cfed594971b
+ 6d060b98e0a1d27b87d2e3b4c038756897af223759a53e3ce31beca9244d27f71610e5bc87ffbc5c53aced569165067ebf07720e33ee2ac27105a981dbc201d4
+ 646eaaedec5aca57f26c0e1a8cc415e1607efc72a1f37205c40a22ee38e334ec138851375b0091c5d5ea5d8c5d7a2e2e90422e6aec0ddf6079a46f09696911b0
+ a7619e2cd951f2b6c87f54386159fbffe5ef3895b05ac5422c76403b8cfd31b05ce98e3dd1532b79e81629adab828149c7154ba861d0bd4760a24ba74a8f4293
+ 06dc48e0368927111fc7b4d3ea86c1a8a3a4b077fe0bddd434cf388c9048d2ea0cbd6184becfb2d02005c2e3ed6351e019a086a705c558a8e1e2df0a2816516f
+ 5b2120ffe02f469c1b52f0c4d9255619781aeac36e40c8df700707c955118ec298b78474ac2a17cf9d2823f049e9e15596fc58c4cffb5ac07315f9a73f7e2ad3
+ c3141419942b85f93b2d6f5643544987f57e2805f1586c40ba91b814876cdf635f2500d350ad2a335cf440405716ed8e212221a7a9140cd8a4c3edee67fd3658
+ 5fab16a0210bb6d6bcd18701ec0ff669bf5a971dd9f6953186864e09758ca37283af88c7dfec120cef87b9372bad61ac76d8248dad2bea68ca86b3a6410bc446
+ d793679d2b51ecf41c0265e9bd9549d8bdae7d1db2afee631088bbf0aee314f16037840fcef8a1241519b952cdebec7f3eecedf3583ccdb92514d855d8577eb8
+ bf658f472d23871cb3b54f9100bf3e935985625b4607330dff318315b9b56eae913c020ec69b0465f6a5cb3ac508e39bc0597e65cc940c20db7a63e3728dd632
+ be75a19e56a39b597a88133071ca8f8d8ad2931d9accf47db3370d72c5d0dc9fd1c206f70ba64643a1657198ee930eb8884f36e2f9a2e7dbafb9bcd624c1c993
+ b2ba8025736c7c8b40661826908c046e9ba8d61c1f273594d043c56f62dec39ed8e27c428a9444b946c2f638bdf60af5b9c5bd90b578d37dcdd884a9b0766d83
+ cb140b72c26eb8e0d150cfac0da9a74932f2764911764d2ba326a6c059547e8e6ad1a5b5f6630b55f8dff1290182672c0c6016cf863b22a0e17524a79c1b835e
+ 5b6426c3c68ead2e9dd4975d18d671bdead44e455ee2802935fa34d153a9a651af765f25731ff0cd462823c85e60b3ad13b9e4a340c80e5b6435d9cb74545a89
+ 03501a4808ba5cb0c9a94b61843a33604fde88d00bac2cc0e141975cef5ccc2ad4de219bcc077b92191fa45ba228dff3920c206add564a4331ccfbe02a8f69db
+ 5277580baa12169d15396ee08d019f5a1fa4cca86ba52e0e2dd05b0f497599cd5c560638ed502b842328c3e767a0f2bffcb6cfdbeada4d7613ff9f9040bd416f
+ 6656d0508d65c6e860fe66f5d1180c6040f03ac0579a85dded1f3e2b3d26341be4da8c423029927443ac99dfd52a954aa21f1a06a729ecaa4dca1522ccdd9333
+ 4dcc6b8f1305d3b9ee3b6f90a92d169d8c9a3d6aec52b92c320a9cad88fc7c26567a343e201d943c56e721c587d2bbd74bbcfdb29fc0a2691f85e9262fad5dbd
+ 046b6d47386940892f07a10f564b9bbd0fdf7094a0e1f468f42d4b33514d8122b54a78fd6de09ad442a497eba266ad459733a86eda417c87db91d988c9d1ce2d
+ 0334bb286b560fa28ce9763868110970043155a24f6fec9b01611639add7b2f98781692d4ef84244d67c91afe477a9b1984aaedcba570ad0169c77d904cf865f
+ 6dda8b0cd0b5862520812ad2e2d4a5ee7d4be030565dcec55cefb0ff3eb960fb1f18aa52ee437d96890ccc35483d93b4fa684ea042cbb530d038d99770e45760
+ 5ba5df20669dd3b337dae8de5f909def9747f4c22c041108ca30398ff59004c4a37dbfe88c243d55af23ef85fbe4509d4a4ddda772626f5170573f89a6f7990b
+ 9dd8b244130b291d16390fabf3470235892ae2506f7020fb5e1a3dcf142a5f771e3ebc91a6b14036721dd216751764a2d5cd74a6f60db92cdbe62e97f69d6af5
+ a64ef951b6f0e23d8407414b9c1a5f5c8eabf89d7680fcbedb5acb70a9ca7e4c3253437e2af23c4287ecb5638587bceed4a87edc990056b26199e8cd9b955275
+ 57459b8e13110e89acaa042a3c7bcfdde40c8f5e7fe00277f38960e23a9e750b1a85fba35fff29c8eca0d0d6c2e38a357cc2692a80af70feef8816225a88805b
+ 33cd4be72524c0d0877760a882c79e47fff8036e455103a2587d2eb694715f081a5c95355a8a536df08da4a62c8872001db2a9a1431fe9803d2267a3e02334e9
+ 5e653ab0eb49e89408b51f34a549f0f1ac20868d121f9688f04a53788748b69f7f4628355fb23de6c1f69aefbb244d646debf345bed8f98a9f16f1fbd785f116
+ 04bcfcf4683ff0f0596e703ea280d843d42f5e883a7c252518c1cc1953b7a7391b38adcab720a020164fa6adfbdfc8f40255109641880c83815b4b5bdb218378
+ 6d550a3a1b4e1c375e6754e0e81e049bb10c04ec87614266123076dbc71b518bac4dc03233c7f8fb022302e1d5f7ed0064efdf6a21a98d17b8b0600b04b540fb
+ a8a14d0095ed6cb5b6e06f9737cbd7923c4fbce394671e510e275198312144706fa3e3063f4f57a3cd4ec9b08714f8e6b9d01943613b0147502be77647cc9440
+ 3fa8938e38ea904b31a086b7cf8221b5ec4aa3c125fab79a9c88e68cc799595117d2199b6fc80e8b7cc1a809e1a10c230a929f420e4ef25bbd04775a0dfd52e1
+ 1cb6fca6e8214603b1d60f5c0a187514b002704d33811ce229129a223fd63d55b4aafb1ccd1ed21d003f32b983bff8f785c74b488673edb8a5027f336dfde5d4
+ 6566215d680dabf8184ba6edd33ddeeec09d2e2544250e7cf5026c4ea420de6273568056ac403739649d1f2636764459525b847f9d6e21ff860d211bdd3a0eed
+ 2c085539c1ab882b0370b2112d517b8f1be1f5869560fa5c0242ccc159c01b9f1c770593e72cafa6eecc3e3e623fe33a9901b2e0d576d98c85219122cdb34317
+ 1f7e9eb6351e8de6b709c0a31b1cfcbfa108288da5b5b99ea88235e568b84ee0a3eabd8814c5f4b9935caca467f4a8e4531317ba8abf2d6d3121def8682fa961
+ fde912f0a7cfac59fad72a56ddfe6c7ff10fc51a53ac5b89229f08f18c4ff689eb15d2980d32433b640f62941e7b38c4bf147b7728c22849fb04da46a13ec707
+ e8b4de904e52503028ba50ec96fc4cf151ccae03bf42240c680204fa1794233374db6a4cc3a2e13965c28af2984be9f55288b0a9f522ec0d1ae738829da04b52
+ 5bf071de14dce19ef5faa4b0b35a0618eb65093283c22d4da16b45839b6b3cfd4314fb8173f419dd3596b9684fd7c6ca1258098e0b9c4167b1546987c0e93b1e
+ ba0af0ad267b49e2890e77568882eae7d34846208472bfa3299934ae6d40a9864e39340a8228dd6215988a3238dd59dc84856e0d7cb4375601b0018683e867e7
+ 3aac042bc0107e8f5d25009266f61272edbb70cad3dd0e984344738995a2119df247a4664bbd1c2bf9f7f889d0f8cb7039b6e852208f2f0c6040ef8953072cc4
+ 8c1621ad105104b6dff50fa769c2504d66ef0d1c716f954ab1eb83742efad48be22ec718d4520a262bc733b42c72ef1a0085d1a1868124c5c18a1b4141b89041
+ 1da09d13349b54f21ccaa46c0d96c320ee940af10591755a55e8953187a6159b1e1ebe087e3061888dbdc43ee767ed59259312d10e04f1374c45a715d09935ff
+ f0430e711a97bc9b0603620ac4a9adf7f63916c5ccdea3db588679df6a36fc4ccf7a17c9f581f7fab679002c50e4f0b8708ae5a2ee9bce4cb1d39bcc2dc05aef
+ bef2db0771b5f7053366d0a2f4fc9cce96649af1aec497bb5f38b9fd3affa0fc662a194d2f69f8cc49121037350690b6506da6f6659c41bef734089c8c7da784
+ b7585ac1320f12915f01359a573eeff3524fbe24a583476f12a18ce16389c00802f4e48ebc2d4ecdb002dbcca97a44ad5721b0445bcfe0dee220f7d90abef4a5
+ 59e278a846484b7c57c978b66658031d23dfc297f63bd756f82701b700906f74322de60988cd481a84c48a7d5e828e411e2ca7e4e58f7f695016b6ffbd680af1
+ 21dc4bcdece71d8d310e179c010dc6c4b089ab55315ba7c67aee7da5a93b3ffc22f27e0c10087137c594adf1114abdbeda2424d5ee8c4944e6ad2a780d93acfb
+ bf16ae0501316c61656147bdff8140e9f75bfbc9ee625e791b11531d019a6431d9c9ee4110f2d566ae4f11c8d6d4d035c3ebed1a0f6ee0d98f2ede52bcc91e16
+ 32161e5a951c353456564b6b0a203e148986322eccf7169630bda6fe8e3913485d431940595a27ff3e9ed71d3a9f2b2a2fd2835363e5db69a2982273e321186c
+ 01f6d21908175d58123faa91ec0545a173226052632ef636a3b6ded2b77bd6554532eb94e2a87ae2a64ef62cceacf3fc800360232b11a51cc91dfde4397190d8
+ 8f8275d5a4582b524a6dd31ee81afffe1ca8371a87f50cfb663ab397a5906f6ad485b7ed7c49781af9bce82ef5e34f2d3de883ed45a5972ccb187cdbdae9c7c7
+ 7183274b7d97652ae635a971dd539d46d16a397eac1f3e51c93c53fb8abfd6eb01cdfd41f7c951847291b033a17e6566ea2b9a629dc5796f012bf1993ca14b40
+ b35822f1b09062a9c5b6fa41e036657f68def07a15ee9d5f078d372fdc17bb36fa42f08c1a3ed73bb7eb63d290041f441a580c19ee1f2fe789575aa6361b0293
+ c9d05ac24a63799805ebe257c11675c1400a014e0d8c408a02e9b3842ec7bf40922a76120297b6796bba3adff0d2449abe1068085176f0deec0463756e3b5c3d
+ 28ff49291b5cfc51acd878fee3e2de6693bc060ac8f4b1233d44cd5797bf2815c0a563f07decd38647d384f183fb9f945e1040d77bfde4503320a5af2b91482f
+ 8a137bc5d30e662a28fb809615ebf480503e278a5882aa81b71260d8c548b73e0401e458a6dc4cf0e9e9a61bbadb72a5d8c4e636d7ce616672bf7f10bd4dc810
+ cfa399cf459b2487f260a7287b1ddfcbc8ecde9bda160f6f8036bbff7389a383be5acadbfad092b72cbf7d77d8b053fbe98b3df0ae6f01029b92e78bbbf681ba
+ 5553b2e0193fe0aa65cc88171b5358949906ee01292bc2b2aaf1bc7c330b703d998901999aa5dd923861886b589411b221ae00fc3323cc3bb23068dd21220601
+ 502426fc851b9ce8782a7c73b6024492b8e7a46764eaaf2a3b4fef7546312dde9ae9d6a83619f93c3fa96e85767d0cae668f3f9d4cf16427d9b8e7f55163df41
+ 5b48c402f4ac36366d157a30db3c36e0bbbf6f8601a498ef0d7cfac4899ed5a168826caae7427f949cef7c54fada0c4886b5f7b7c9efb933fc246781845d5db4
+ e8b0a1580757da961551580dcb83fe5dca1a99e446fc9b0bf302e7eded06f4ad795650743b387c0ce05840f238940e0013019b4b36d9eaff1272057fe2949c0a
+ b2d8be6934966c477c07f6c7fbe341148b7cdb75aeb51ac0fbe15b72c933a2886454057237ae968a3ce7d3d8b7132b8d9f488dac8e68f6ed451c608c17738f27
+)
diff --git a/libre/icecat-i18n/PKGBUILD.in b/libre/icecat-i18n/PKGBUILD.in
index 90c901e31..90c901e31 100644..100755
--- a/libre/icecat-i18n/PKGBUILD.in
+++ b/libre/icecat-i18n/PKGBUILD.in
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
index 88bd70c09..fd050fb27 100644..100755
--- a/libre/icecat/PKGBUILD
+++ b/libre/icecat/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: Figue <ffigue at gmail>
# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
# Contributor (Parabola): vando <facundo@esdebian.org>
-# Contributor (Parabola): emulatorman <andre.paulista@adinet.com.uy>
-# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy>
+# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com>
# Thank you very much to the older contributors:
# Contributor: evr <evanroman at gmail>
@@ -14,108 +14,102 @@
# the value for 'browser.dictionaries.download.url' in 'libre.patch'
_pgo=false
-
-_pkgname=icecat
-pkgver=13.0.1
+pkgname=icecat
+pkgver=14.0
pkgrel=2
-
-if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi
-if $_pgo; then
- pkgname+='-pgo'
-fi
-
-pkgdesc="The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!"
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL2' 'MPL' 'LGPL')
+pkgdesc='The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!'
+arch=(i686 x86_64 mips64el)
+license=(GPL2 MPL LGPL)
depends=(
- 'alsa-lib'
- 'dbus-glib'
- 'desktop-file-utils'
- 'gtk2'
- 'hicolor-icon-theme'
- 'hunspell'
- 'libevent'
- 'libnotify'
- 'libvpx'
- 'libxt'
- 'mime-types'
- 'mozilla-common'
- 'mozilla-searchplugins'
- 'nss>=3.13.1'
- 'sqlite3'
- 'startup-notification'
+ alsa-lib
+ dbus-glib
+ desktop-file-utils
+ gtk2
+ hicolor-icon-theme
+ hunspell
+ libevent
+ libnotify
+ libvpx
+ libxt
+ mime-types
+ mozilla-common
+ mozilla-searchplugins
+ 'nss>=3.13.3'
+ sqlite3
+ startup-notification
)
makedepends=(
- 'autoconf2.13'
- 'diffutils'
- 'imagemagick'
- 'libidl2'
- 'librsvg'
- 'libxslt'
- 'mesa'
- 'pkg-config'
- 'python2'
- 'unzip'
- 'wireless_tools'
- 'zip'
+ autoconf2.13
+ diffutils
+ imagemagick
+ libidl2
+ librsvg
+ libxslt
+ mesa
+ pkg-config
+ python2
+ unzip
+ wireless_tools
+ zip
+)
+optdepends=(
+ 'wireless_tools: Location detection via available WiFi networks'
)
if $_pgo; then
- makedepends+=('xorg-server-xvfb')
+ makedepends+=(xorg-server-xvfb)
options=(!ccache)
fi
-
-url="http://www.gnu.org/software/gnuzilla/"
-install=icecat.install
-source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver::4}/${pkgname}-${pkgver}.tar.gz
- mozconfig
- mozconfig.pgo
- xulrunner-copy-stub.patch
- libre.patch
- icecat.desktop
- icecat-safe.desktop
- icecat-install-dir.patch
- vendor.js
- cairo.patch)
-
-md5sums=('ba249f3e889089dc64615333dd324791'
- '3117865902d1a20ab61d75707be9888e'
- 'ac29b01c189f20abae2f3eef1618ffc0'
- '683c4540ab84c220937feb7d1a1450ee'
- 'cd52a6e3f138fa92267600cc53ff4247'
- 'e81ad01dbc16ba28bf92ba4b7c309ca7'
- 'd93fe402b87cd000a869e1fd6badc6c9'
- '268e65c8fcae6152e156c09760a18dfd'
- '0d053487907de4376d67d8f499c5502b'
- '721c59ffc14f14cb0d3a90b7e84df70e')
-
-if [ "$_pkgname" != "$pkgname" ]; then
- provides+=("$_pkgname")
- conflicts+=("$_pkgname")
-fi
+options=(!emptydirs)
+url=http://www.gnu.org/software/gnuzilla/
+install=$pkgname.install
+source=(
+ ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver::4}/$pkgname-$pkgver.tar.gz
+ mozconfig
+ mozconfig.pgo
+ xulrunner-copy-stub.patch
+ libre.patch
+ $pkgname.desktop
+ $pkgname-safe.desktop
+ $pkgname-install-dir.patch
+ vendor.js
+ cairo.patch
+)
+md5sums=(
+ 6bb02202cd568e8a4f43239b8f52a4a7
+ 3117865902d1a20ab61d75707be9888e
+ ac29b01c189f20abae2f3eef1618ffc0
+ 3009b176cc5f9b1e416b1bf7c45b064b
+ 72e6bb9ebebe555b4ab961add3df3b27
+ e81ad01dbc16ba28bf92ba4b7c309ca7
+ d93fe402b87cd000a869e1fd6badc6c9
+ b320085e7effa2890a79f4f45760614b
+ 0d053487907de4376d67d8f499c5502b
+ c8552d030494443218d88792f4dbbd0f
+)
build() {
- export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname"
- export PYTHON="/usr/bin/python2"
- mv "$_pkgname-$pkgver" "$srcdir/mozilla-build"
- cd "$srcdir/mozilla-build"
-
- patch -Np1 -i "$srcdir/icecat-install-dir.patch" # install to /usr/lib/$pkgname
- patch -Np1 -i "$srcdir/xulrunner-copy-stub.patch" # small fix
- patch -Np1 -i "$srcdir/libre.patch" # Remove Google+Mozilla stuff
- patch -Np1 -i "$srcdir/cairo.patch"
-
- cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch
+ mv $pkgname-$pkgver $srcdir/gnuzilla-build
+ cd $srcdir/gnuzilla-build
+ cp $srcdir/mozconfig .mozconfig # Load our build config, disable SafeSearch
if $_pgo; then
- cat "$srcdir/mozconfig.pgo" >> .mozconfig
+ cat $srcdir/mozconfig.pgo >> .mozconfig
fi
+ patch -Np1 -i $srcdir/$pkgname-install-dir.patch # install to /usr/lib/$pkgname
+ patch -Np1 -i $srcdir/xulrunner-copy-stub.patch # small fix
+ patch -Np1 -i $srcdir/libre.patch # Remove Google+Mozilla stuff
+ patch -Np1 -i $srcdir/cairo.patch # fix cairo
+
+ # Fix for use nspr, sqlite and nss external
+ sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' \
+ browser/installer/Makefile.in
# Fix PRE_RELEASE_SUFFIX
sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
browser/base/Makefile.in
# This is a bug, we should fix it.
- if [ "$CARCH" = "mips64el" ]; then
+ if [ $CARCH = mips64el ]; then
# Fix MIPS N32 support.
sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \
js/src/assembler/wtf/Platform.h
@@ -129,44 +123,43 @@ build() {
fi
chmod +x build/unix/run-icecat.sh # fix bug for bad file permition
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgname"
+ export PYTHON=/usr/bin/python2
if $_pgo; then
LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 &
- LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS"
+ LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS=$MAKEFLAGS
kill $! || true
else
- LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS"
+ LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS=$MAKEFLAGS
fi
}
package() {
- cd "$srcdir/mozilla-build"
- make -j1 -f client.mk DESTDIR="$pkgdir" install
+ cd $srcdir/gnuzilla-build
+ make -j1 -f client.mk DESTDIR=$pkgdir install
- install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref"
+ install -Dm644 $srcdir/vendor.js $pkgdir/usr/lib/$pkgname/defaults/pref
- brandingdir="browser/branding/unofficial"
- icondir="$pkgdir/usr/share/icons/hicolor"
+ brandingdir=browser/branding/unofficial
+ icondir=$pkgdir/usr/share/icons/hicolor
for i in 16x16 32x32 48x48; do
- install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png"
+ install -Dm644 $brandingdir/default${i/x*/}.png $icondir/$i/apps/$pkgname.png
done
- install -d "$pkgdir/usr/share/applications"
- install -m644 "$srcdir/icecat.desktop" "$pkgdir/usr/share/applications"
- install -m644 "$srcdir/icecat-safe.desktop" "$pkgdir/usr/share/applications"
+ for d in $pkgname $pkgname-safe; do
+ install -Dm644 $srcdir/$d.desktop $pkgdir/usr/share/applications/$d.desktop
+ done
- rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation,searchplugins,plugins}
- ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries"
- ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation"
- ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/plugins"
- ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/searchplugins"
+ rm -rf $pkgdir/usr/lib/$pkgname/{dictionaries,hyphenation,searchplugins,plugins}
+ ln -sf /usr/share/hunspell $pkgdir/usr/lib/$pkgname/dictionaries
+ ln -sf /usr/share/hyphen $pkgdir/usr/lib/$pkgname/hyphenation
+ ln -sf /usr/lib/mozilla/plugins $pkgdir/usr/lib/$pkgname/plugins
+ ln -sf /usr/lib/mozilla/searchplugins $pkgdir/usr/lib/$pkgname/searchplugins
# We don't want the development stuff
- rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl}
-
- # Fix a bug with https-everywhere (duplicate rules)
- #rm -f "$pkgdir/usr/lib/$pkgname/extensions/https-everywhere@eff.org/chrome/content/rules/GoogleMaps.xml~HEAD"
+ rm -rf $pkgdir/usr/{include,lib/$pkgname-devel,share/idl}
# Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850
- ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin"
+ ln -sf $pkgname $pkgdir/usr/lib/$pkgname/$pkgname-bin
}
diff --git a/libre/icecat/cairo.patch b/libre/icecat/cairo.patch
index 981eff883..a1fabee90 100644..100755
--- a/libre/icecat/cairo.patch
+++ b/libre/icecat/cairo.patch
@@ -1,16 +1,6 @@
-From: Uli Schlachter <psychon@znc.in>
-Date: Thu, 17 May 2012 10:51:11 +0200
-Subject: Bug 722975 - Make system cairo work again
-
----
- gfx/thebes/gfxPlatform.cpp | 16 ++++------------
- 1 file changed, 4 insertions(+), 12 deletions(-)
-
-diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
-index fb06fba..a0edefc 100644
--- a/gfx/thebes/gfxPlatform.cpp
+++ b/gfx/thebes/gfxPlatform.cpp
-@@ -436,11 +436,9 @@ void SourceBufferDestroy(void *srcBuffer)
+@@ -459,11 +459,9 @@ void SourceBufferDestroy(void *srcBuffer)
static_cast<SourceSurface*>(srcBuffer)->Release();
}
@@ -24,7 +14,7 @@ index fb06fba..a0edefc 100644
origSurf->SetData(&kSourceSurface, NULL, NULL);
}
-@@ -512,14 +510,8 @@ gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurfa
+@@ -535,14 +533,8 @@ gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurfa
imgSurface->Stride(),
format);
diff --git a/libre/icecat/gcc47.patch b/libre/icecat/gcc47.patch
index 829d59510..829d59510 100644..100755
--- a/libre/icecat/gcc47.patch
+++ b/libre/icecat/gcc47.patch
diff --git a/libre/icecat/icecat-install-dir.patch b/libre/icecat/icecat-install-dir.patch
index 6609650da..eb698f307 100644..100755
--- a/libre/icecat/icecat-install-dir.patch
+++ b/libre/icecat/icecat-install-dir.patch
@@ -1,9 +1,8 @@
-diff -Nur icecat-12.0.orig/config/autoconf.mk.in icecat-12.0/config/autoconf.mk.in
---- icecat-12.0.orig/config/autoconf.mk.in 2011-12-31 17:07:52.000000000 -0500
-+++ icecat-12.0/config/autoconf.mk.in 2011-12-31 17:11:18.000000000 -0500
+--- a/config/autoconf.mk.in
++++ b/config/autoconf.mk.in
@@ -74,8 +74,8 @@
mandir = @mandir@
- idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+ idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
@@ -12,9 +11,9 @@ diff -Nur icecat-12.0.orig/config/autoconf.mk.in icecat-12.0/config/autoconf.mk.
DIST = $(DEPTH)/dist
LIBXUL_SDK = @LIBXUL_SDK@
-diff -Nur icecat-12.0.orig/js/src/config/autoconf.mk.in icecat-12.0/js/src/config/autoconf.mk.in
---- icecat-12.0.orig/js/src/config/autoconf.mk.in 2011-12-20 18:28:21.000000000 -0500
-+++ icecat-12.0/js/src/config/autoconf.mk.in 2011-12-31 17:11:43.000000000 -0500
+diff -Nur a/js/src/config/autoconf.mk.in b/js/src/config/autoconf.mk.in
+--- a/js/src/config/autoconf.mk.in
++++ b/js/src/config/autoconf.mk.in
@@ -60,8 +60,8 @@
datadir = @datadir@
mandir = @mandir@
diff --git a/libre/icecat/icecat-safe.desktop b/libre/icecat/icecat-safe.desktop
index 87acc970c..87acc970c 100644..100755
--- a/libre/icecat/icecat-safe.desktop
+++ b/libre/icecat/icecat-safe.desktop
diff --git a/libre/icecat/icecat.desktop b/libre/icecat/icecat.desktop
index 8a7cad93d..8a7cad93d 100644..100755
--- a/libre/icecat/icecat.desktop
+++ b/libre/icecat/icecat.desktop
diff --git a/libre/icecat/icecat.install b/libre/icecat/icecat.install
index c1fe8284a..c1fe8284a 100644..100755
--- a/libre/icecat/icecat.install
+++ b/libre/icecat/icecat.install
diff --git a/libre/icecat/libre.patch b/libre/icecat/libre.patch
index a4c76b6f5..18dfcc177 100644..100755
--- a/libre/icecat/libre.patch
+++ b/libre/icecat/libre.patch
@@ -1,36 +1,27 @@
-diff -Naur icecat-13.0.1/browser/app/profile/firefox.js icecat-13.0.1-libre/browser/app/profile/firefox.js
---- icecat-13.0.1/browser/app/profile/firefox.js 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/browser/app/profile/firefox.js 2012-07-17 21:35:32.600229972 -0300
-@@ -65,6 +65,7 @@
+diff -Nur a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
+--- a/browser/app/profile/firefox.js
++++ b/browser/app/profile/firefox.js
+@@ -70,6 +70,7 @@
pref("extensions.getAddons.cache.enabled", true);
pref("extensions.getAddons.maxResults", 15);
- pref("extensions.getAddons.get.url", "http://www.gnu.org/software/gnuzilla/addons.html");
-+pref("extensions.getAddons.getWithPerformance.url", "http://www.gnu.org/s/gnuzilla/addons.html");
- pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html");
- pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html");
- pref("extensions.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html");
-@@ -82,7 +83,7 @@
+ pref("extensions.getAddons.get.url","http://www.gnu.org/software/gnuzilla/addons.html");
++pref("extensions.getAddons.getWithPerformance.url","http://www.gnu.org/s/gnuzilla/addons.html");
+ pref("extensions.getAddons.search.browseURL","http://www.gnu.org/software/gnuzilla/addons.html");
+ pref("extensions.getAddons.search.url","http://www.gnu.org/software/gnuzilla/addons.html");
+ pref("extensions.webservice.discoverURL","http://www.gnu.org/software/gnuzilla/addons.html");
+@@ -87,7 +88,7 @@
pref("extensions.update.autoUpdateDefault", true);
// Dictionary download preference
-pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
-+pref("browser.dictionaries.download.url", "about:blank");
++pref("browser.dictionaries.download.url","http://www.gnu.org/software/gnuzilla/addons.html");
// The minimum delay in seconds for the timer to fire.
// default=2 minutes
-@@ -247,7 +248,7 @@
- // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
- // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
- pref("browser.startup.page", 1);
--pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties");
-+pref("browser.startup.homepage", "about:home");
-
- // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
- // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
-diff -Naur icecat-13.0.1/browser/base/content/aboutHome.js icecat-13.0.1-libre/browser/base/content/abouthome/aboutHome.js
---- icecat-13.0.1/browser/base/content/abouthome/aboutHome.js 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/browser/base/content/abouthome/aboutHome.js 2012-07-17 23:19:05.593724417 -0300
-@@ -37,104 +37,6 @@
+diff -Nur a/browser/base/content/aboutHome.js b/browser/base/content/abouthome/aboutHome.js
+--- a/browser/base/content/abouthome/aboutHome.js
++++ b/browser/base/content/abouthome/aboutHome.js
+@@ -38,104 +38,6 @@
*
* ***** END LICENSE BLOCK ***** */
@@ -135,18 +126,19 @@ diff -Naur icecat-13.0.1/browser/base/content/aboutHome.js icecat-13.0.1-libre/b
// The process of adding a new default snippet involves:
// * add a new entity to aboutHome.dtd
// * add a <span/> for it in aboutHome.xhtml
-@@ -142,7 +44,7 @@
+@@ -143,7 +45,7 @@
// The <a/> part of the snippet will be linked to the corresponding url.
const DEFAULT_SNIPPETS_URLS = [
- "http://www.mozilla.com/firefox/features/?WT.mc_ID=default1"
+- "http://www.mozilla.com/firefox/features/?WT.mc_ID=default1"
-, "https://addons.mozilla.org/firefox/?src=snippet&WT.mc_ID=default2"
++ "https://www.gnu.org/software/gnuzilla/?WT.mc_ID=default1"
+, "http://www.gnu.org/software/gnuzilla/addons.html?src=snippet&WT.mc_ID=default2"
];
const SNIPPETS_UPDATE_INTERVAL_MS = 86400000; // 1 Day.
-diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.properties icecat-13.0.1-libre/browser/locales/en-US/chrome/browser-region/region.properties
---- icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.properties 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/browser/locales/en-US/chrome/browser-region/region.properties 2012-07-17 22:01:56.786224684 -0300
+diff -Nur a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties
+--- a/browser/locales/en-US/chrome/browser-region/region.properties
++++ b/browser/locales/en-US/chrome/browser-region/region.properties
@@ -1,28 +1,28 @@
# Default search engine
-browser.search.defaultenginename=Google
@@ -183,7 +175,7 @@ diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.prop
# TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site
# to be searched and the user's search query. Place them in the appropriate location
# for your locale's URL but do not translate them.
--browser.search.siteSearchURL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms}
+-browser.search.siteSearchURL=https://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms}
+browser.search.siteSearchURL=https://duckduckgo.com/lite/?q=site%3A{moz:domain}+{searchTerms}
# increment this number when anything gets changed in the list below. This will
@@ -210,9 +202,9 @@ diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.prop
+# The default set of protocol handlers for ircs:
+gecko.handlerService.schemes.ircs.0.name=Freenode
+gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net/
-diff -Naur icecat-13.0.1/browser/locales/generic/profile/bookmarks.html.in icecat-13.0.1-libre/browser/locales/generic/profile/bookmarks.html.in
---- icecat-13.0.1/browser/locales/generic/profile/bookmarks.html.in 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/browser/locales/generic/profile/bookmarks.html.in 2012-07-17 23:34:22.488558721 -0300
+diff -Nur a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in
+--- a/browser/locales/generic/profile/bookmarks.html.in
++++ b/browser/locales/generic/profile/bookmarks.html.in
@@ -11,13 +11,20 @@
<DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">@bookmarks_toolbarfolder@</H3>
<DD>@bookmarks_toolbarfolder_description@
@@ -240,9 +232,9 @@ diff -Naur icecat-13.0.1/browser/locales/generic/profile/bookmarks.html.in iceca
+ <DT><A HREF="http://www.h-node.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAC7zrYAWYhNANjj1QA9fEcAEEwBAHTQkwAeVRkAPXMvALvOtwASVQEAHFcUAH/bpgB60p8AKnQmAGO1fgAjaRwALmA1AA5EAQDM2sgAN3ApAG7EjgC5zbQAVJxrAChwIgC0ya8ALmczAHXJmQBNf0EAgd6oADhwKgC8z7cA7vPtANTg0QANPwAARIhSADtyLQBzzpQAus21AEeKVQDC070AieyzALzPuAB93qEALGYvAO/z7gBEiVAAasWFAFuJTwBKil4AXotSAEuKXgAORQEAD0gBABlDFwBWpmoALGYwAGCNVQAbYBAAHGAQABBOAQCI6rIAjPG3AB1bDgAaXg4A////AGaRWwB/2qYAUYJEAEx+PwAZXAwAm7eUAD51MADN28oAJmwhACRiFAAzeTYAasaFAB9eDwBkt34Aus62AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT09PT09PT09PT09PT09PT09PT0OIjALPRQmMkI9PT09PT09OkcHNQU+Q0oQPT09PT09PToVGDQtI0ABKz09PT09PT06JRg0Nh1ALxk9PT09PT09OiUYIS4TQC83PT09PT09PTpPSDsGG0BEAz09PT09PT06T0BGMRIsTRY9PT09PT09OgACJx8gQwooPT09PT09PToICAkJCUkkPT09PT09PT05HggETio9PT09PT09PT09Px4IERw9PT09PT09PT09PUUpCDMMPT09PT09PT09PT0NOEEEGj09PT09PT09PT09TBcPSzw9PT09PT09PT09PT09PT09PT09PT09PQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D">h-node</A>
</DL><p>
</DL><p>
-diff -Naur icecat-13.0.1/build/pgo/blueprint/elements.html icecat-13.0.1-libre/build/pgo/blueprint/elements.html
---- icecat-13.0.1/build/pgo/blueprint/elements.html 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/build/pgo/blueprint/elements.html 2012-07-17 21:44:48.052812473 -0300
+diff -Nur a/build/pgo/blueprint/elements.html b/build/pgo/blueprint/elements.html
+--- a/build/pgo/blueprint/elements.html
++++ b/build/pgo/blueprint/elements.html
@@ -143,7 +143,7 @@
</p>
<p>
@@ -252,9 +244,9 @@ diff -Naur icecat-13.0.1/build/pgo/blueprint/elements.html icecat-13.0.1-libre/b
</p>
<p>
<abbr title="extended abbr text should show when mouse over">&lt;abbr&gt; abbr - extended text when mouseover.</abbr><br>
-diff -Naur icecat-13.0.1/dom/ipc/test.xul icecat-13.0.1-libre/dom/ipc/test.xul
---- icecat-13.0.1/dom/ipc/test.xul 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/dom/ipc/test.xul 2012-07-17 21:48:08.242020288 -0300
+diff -Nur a/dom/ipc/test.xul b/dom/ipc/test.xul
+--- a/dom/ipc/test.xul
++++ b/dom/ipc/test.xul
@@ -294,6 +294,6 @@
oncommand="document.getElementById('page').QueryInterface(Components.interfaces.nsIFrameLoaderOwner).frameLoader.delayRemoteDialogs = this.checked;"/>
</toolbar>
@@ -263,9 +255,9 @@ diff -Naur icecat-13.0.1/dom/ipc/test.xul icecat-13.0.1-libre/dom/ipc/test.xul
+ <browser type="content" src="https://duckduckgo.com/lite" flex="1" id="page" remote="true"/>
<label id="messageLog" value="" crop="center"/>
</window>
-diff -Naur icecat-13.0.1/layout/ipc/test-ipcbrowser.xul icecat-13.0.1-libre/layout/ipc/test-ipcbrowser.xul
---- icecat-13.0.1/layout/ipc/test-ipcbrowser.xul 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/layout/ipc/test-ipcbrowser.xul 2012-07-17 21:48:50.526879514 -0300
+diff -Nur a/layout/ipc/test-ipcbrowser.xul b/layout/ipc/test-ipcbrowser.xul
+--- a/layout/ipc/test-ipcbrowser.xul
++++ b/layout/ipc/test-ipcbrowser.xul
@@ -69,6 +69,6 @@
label="setViewportScale"/>
</toolbar>
@@ -274,10 +266,10 @@ diff -Naur icecat-13.0.1/layout/ipc/test-ipcbrowser.xul icecat-13.0.1-libre/layo
+ <browser type="content" src="https://duckduckgo.com/lite" flex="1" id="content"
remote="true"/>
</window>
-diff -Naur icecat-13.0.1/mobile/android/app/mobile.js icecat-13.0.1-libre/mobile/android/app/mobile.js
---- icecat-13.0.1/mobile/android/app/mobile.js 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/mobile/android/app/mobile.js 2012-07-17 22:14:47.293560718 -0300
-@@ -226,13 +226,13 @@
+diff -Nur a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
+--- a/mobile/android/app/mobile.js
++++ b/mobile/android/app/mobile.js
+@@ -230,13 +230,13 @@
/* preferences for the Get Add-ons pane */
pref("extensions.getAddons.cache.enabled", true);
pref("extensions.getAddons.maxResults", 15);
@@ -288,28 +280,19 @@ diff -Naur icecat-13.0.1/mobile/android/app/mobile.js icecat-13.0.1-libre/mobile
-pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/android/");
-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/android/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%");
-pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/android/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
-+pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.recommended.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.getWithPerformance.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.recommended.browseURL","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.recommended.url","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.browseAddons","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.get.url","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.getWithPerformance.url","http://www.gnu.org/s/gnuzilla/addons.html");
/* preference for the locale picker */
pref("extensions.getLocales.get.url", "");
-@@ -252,7 +252,7 @@
- pref("dom.disable_window_open_dialog_feature", true);
-
- pref("keyword.enabled", true);
--pref("keyword.URL", "http://www.google.com/m?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=");
-+pref("keyword.URL", "https://duckduckgo.com/lite/?q=");
-
- pref("accessibility.typeaheadfind", false);
- pref("accessibility.typeaheadfind.timeout", 5000);
-diff -Naur icecat-13.0.1/mobile/locales/en-US/chrome/region.properties icecat-13.0.1-libre/mobile/locales/en-US/chrome/region.properties
---- icecat-13.0.1/mobile/locales/en-US/chrome/region.properties 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/mobile/locales/en-US/chrome/region.properties 2012-07-17 22:01:03.952816711 -0300
+diff -Nur a/mobile/locales/en-US/chrome/region.properties b/mobile/locales/en-US/chrome/region.properties
+--- a/mobile/locales/en-US/chrome/region.properties
++++ b/mobile/locales/en-US/chrome/region.properties
@@ -1,18 +1,18 @@
# Default search engine
-browser.search.defaultenginename=Google
@@ -331,7 +314,7 @@ diff -Naur icecat-13.0.1/mobile/locales/en-US/chrome/region.properties icecat-13
+browser.contentHandlers.types.1.uri=about:blank
# Keyword URL (for location bar searches)
--keyword.URL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
+-keyword.URL=https://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
+keyword.URL=https://duckduckgo.com/lite/?q=
# increment this number when anything gets changed in the list below. This will
@@ -354,9 +337,9 @@ diff -Naur icecat-13.0.1/mobile/locales/en-US/chrome/region.properties icecat-13
+gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
+gecko.handlerService.schemes.mailto.1.name=
+gecko.handlerService.schemes.mailto.1.uriTemplate=about:blank
-diff -Naur icecat-13.0.1/mobile/xul/app/mobile.js icecat-13.0.1-libre/mobile/xul/app/mobile.js
---- icecat-13.0.1/mobile/xul/app/mobile.js 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/mobile/xul/app/mobile.js 2012-07-17 22:08:34.513828987 -0300
+diff -Nur a/mobile/xul/app/mobile.js b/mobile/xul/app/mobile.js
+--- a/mobile/xul/app/mobile.js
++++ b/mobile/xul/app/mobile.js
@@ -221,13 +221,13 @@
/* preferences for the Get Add-ons pane */
pref("extensions.getAddons.cache.enabled", true);
@@ -368,13 +351,13 @@ diff -Naur icecat-13.0.1/mobile/xul/app/mobile.js icecat-13.0.1-libre/mobile/xul
-pref("extensions.getAddons.browseAddons", "https://addons.mozilla.org/%LOCALE%/mobile/");
-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%");
-pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/mobile/api/%API_VERSION%/search/guid:%IDS%?src=mobile&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
-+pref("extensions.getAddons.recommended.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.recommended.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.getWithPerformance.url", "http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.recommended.browseURL","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.recommended.url","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.browseURL","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.search.url","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.browseAddons","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.get.url","http://www.gnu.org/s/gnuzilla/addons.html");
++pref("extensions.getAddons.getWithPerformance.url","http://www.gnu.org/s/gnuzilla/addons.html");
/* preference for the locale picker */
pref("extensions.getLocales.get.url", "");
@@ -382,26 +365,26 @@ diff -Naur icecat-13.0.1/mobile/xul/app/mobile.js icecat-13.0.1-libre/mobile/xul
pref("dom.disable_window_open_dialog_feature", true);
pref("keyword.enabled", true);
--pref("keyword.URL", "http://www.google.com/m?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=");
-+pref("keyword.URL", "https://duckduckgo.com/lite/?q=");
+-pref("keyword.URL", "https://www.google.com/m?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=");
++pref("keyword.URL","https://duckduckgo.com/lite/?q=");
pref("accessibility.typeaheadfind", false);
pref("accessibility.typeaheadfind.timeout", 5000);
-diff -Naur icecat-13.0.1/modules/libpref/src/init/all.js icecat-13.0.1-libre/modules/libpref/src/init/all.js
---- icecat-13.0.1/modules/libpref/src/init/all.js 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/modules/libpref/src/init/all.js 2012-07-17 22:16:45.176878991 -0300
-@@ -47,7 +47,7 @@
- // SYNTAX HINTS: dashes are delimiters. Use underscores instead.
- // The first character after a period must be alphabetic.
+diff -Nur a/modules/libpref/src/init/all.js b/modules/libpref/src/init/all.js
+--- a/modules/libpref/src/init/all.js
++++ b/modules/libpref/src/init/all.js
+@@ -52,7 +52,7 @@
+ * - Computed values (e.g. 50 * 1024) don't work.
+ */
--pref("keyword.URL", "http://www.google.com/search?ie=UTF-8&oe=utf-8&q=");
-+pref("keyword.URL", "https://duckduckgo.com/lite/?q=");
+-pref("keyword.URL", "https://www.google.com/search?ie=UTF-8&oe=utf-8&q=");
++pref("keyword.URL","https://duckduckgo.com/lite/?q=");
pref("keyword.enabled", false);
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
pref("general.useragent.compatMode.firefox", false);
-diff -Naur icecat-13.0.1/toolkit/locales/en-US/chrome/global-region/region.properties icecat-13.0.1-libre/toolkit/locales/en-US/chrome/global-region/region.properties
---- icecat-13.0.1/toolkit/locales/en-US/chrome/global-region/region.properties 2012-07-12 14:27:37.000000000 -0300
-+++ icecat-13.0.1-libre/toolkit/locales/en-US/chrome/global-region/region.properties 2012-07-17 21:58:17.176492031 -0300
+diff -Naur a/toolkit/locales/en-US/chrome/global-region/region.properties b/toolkit/locales/en-US/chrome/global-region/region.properties
+--- a/toolkit/locales/en-US/chrome/global-region/region.properties
++++ b/toolkit/locales/en-US/chrome/global-region/region.properties
@@ -4,10 +4,10 @@
pluginStartupMessage=Starting Plugin for type
diff --git a/libre/icecat/mozconfig b/libre/icecat/mozconfig
index c09eacaca..c09eacaca 100644..100755
--- a/libre/icecat/mozconfig
+++ b/libre/icecat/mozconfig
diff --git a/libre/icecat/mozconfig.pgo b/libre/icecat/mozconfig.pgo
index b0c249ebf..b0c249ebf 100644..100755
--- a/libre/icecat/mozconfig.pgo
+++ b/libre/icecat/mozconfig.pgo
diff --git a/libre/icecat/vendor.js b/libre/icecat/vendor.js
index d8d606bc1..d8d606bc1 100644..100755
--- a/libre/icecat/vendor.js
+++ b/libre/icecat/vendor.js
diff --git a/libre/icecat/xulrunner-copy-stub.patch b/libre/icecat/xulrunner-copy-stub.patch
index d69bb4b16..8ccf127df 100644..100755
--- a/libre/icecat/xulrunner-copy-stub.patch
+++ b/libre/icecat/xulrunner-copy-stub.patch
@@ -1,6 +1,6 @@
---- icecat-12.0/browser/app/Makefile.in~ 2011-12-25 16:19:29.000000000 -0500
-+++ icecat-12.0/browser/app/Makefile.in 2011-12-25 16:19:55.000000000 -0500
-@@ -224,7 +224,7 @@
+--- a/browser/app/Makefile.in
++++ b/browser/app/Makefile.in
+@@ -233,7 +233,7 @@
else
ifdef LIBXUL_SDK
libs::
diff --git a/libre/icedove-i18n/PKGBUILD b/libre/icedove-i18n/PKGBUILD
index 8213076af..8213076af 100644..100755
--- a/libre/icedove-i18n/PKGBUILD
+++ b/libre/icedove-i18n/PKGBUILD
diff --git a/libre/icedove-libre/PKGBUILD b/libre/icedove-libre/PKGBUILD
index 6bd50cd47..6bd50cd47 100644..100755
--- a/libre/icedove-libre/PKGBUILD
+++ b/libre/icedove-libre/PKGBUILD
diff --git a/libre/icedove-libre/channel-prefs.js b/libre/icedove-libre/channel-prefs.js
index 13b1ba388..13b1ba388 100644..100755
--- a/libre/icedove-libre/channel-prefs.js
+++ b/libre/icedove-libre/channel-prefs.js
diff --git a/libre/icedove-libre/clrf.patch b/libre/icedove-libre/clrf.patch
index 375708ac4..375708ac4 100644..100755
--- a/libre/icedove-libre/clrf.patch
+++ b/libre/icedove-libre/clrf.patch
diff --git a/libre/icedove-libre/gcc47.patch b/libre/icedove-libre/gcc47.patch
index 115d65131..115d65131 100644..100755
--- a/libre/icedove-libre/gcc47.patch
+++ b/libre/icedove-libre/gcc47.patch
diff --git a/libre/icedove-libre/icedove.desktop b/libre/icedove-libre/icedove.desktop
index ef2cd76e9..ef2cd76e9 100644..100755
--- a/libre/icedove-libre/icedove.desktop
+++ b/libre/icedove-libre/icedove.desktop
diff --git a/libre/icedove-libre/icedove.install b/libre/icedove-libre/icedove.install
index 4d4a283db..4d4a283db 100644..100755
--- a/libre/icedove-libre/icedove.install
+++ b/libre/icedove-libre/icedove.install
diff --git a/libre/icedove-libre/makefile.patch b/libre/icedove-libre/makefile.patch
index 8f8137bec..8f8137bec 100644..100755
--- a/libre/icedove-libre/makefile.patch
+++ b/libre/icedove-libre/makefile.patch
diff --git a/libre/icedove-libre/mozconfig b/libre/icedove-libre/mozconfig
index 58f8ce24f..58f8ce24f 100644..100755
--- a/libre/icedove-libre/mozconfig
+++ b/libre/icedove-libre/mozconfig
diff --git a/libre/icedove-libre/vendor.js b/libre/icedove-libre/vendor.js
index 279bdc158..279bdc158 100644..100755
--- a/libre/icedove-libre/vendor.js
+++ b/libre/icedove-libre/vendor.js
diff --git a/libre/iceweasel-i18n/.gitignore b/libre/iceweasel-i18n/.gitignore
index 3e1eb57b5..3e1eb57b5 100644..100755
--- a/libre/iceweasel-i18n/.gitignore
+++ b/libre/iceweasel-i18n/.gitignore
diff --git a/libre/iceweasel-i18n/Makefile b/libre/iceweasel-i18n/Makefile
index d596111f3..d596111f3 100644..100755
--- a/libre/iceweasel-i18n/Makefile
+++ b/libre/iceweasel-i18n/Makefile
diff --git a/libre/iceweasel-i18n/PKGBUILD b/libre/iceweasel-i18n/PKGBUILD
index 16f117255..899c009f6 100644..100755
--- a/libre/iceweasel-i18n/PKGBUILD
+++ b/libre/iceweasel-i18n/PKGBUILD
@@ -9,8 +9,8 @@
# - Run 'make'. It will take care of everything else for you.
_debname=iceweasel
-_debver=14.0.1
-_debrel=2
+_debver=16.0.1
+_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -20,9 +20,9 @@ pkgbase=iceweasel-i18n
pkgname=($(for lang in ${_langpacks[@]}
do echo $pkgbase-$lang | tr A-Z a-z
done))
-_pkgver=14.0.1
+_pkgver=16.0.1
pkgver=${_debver}.${_debrel}
-pkgrel=2
+pkgrel=1
pkgdesc="Language packs for Debian Iceweasel."
arch=('any')
@@ -40,7 +40,7 @@ build() {
for f in *.deb
do
bsdtar xf $f
- bsdtar xf data.tar.gz
+ bsdtar xf data.tar.xz
done
}
@@ -56,90 +56,90 @@ package_iceweasel-i18n-$(echo $lang | tr A-Z a-z)() {
"
done
-md5sums=('5dbcf3c8505ea994eff5d0acb15212e2'
- '093fb9d627ea2bcc39e95cda8308c07c'
- '427f4163eae1095e0e3be610f5f846d0'
- '50119c3ffdac18ae2df52a46e4655e5a'
- 'd0707bb9946c0a27f2b33af081cef4a5'
- '1ada65da05be04a6ad914fad2aa298bc'
- '06d3ff7c4204f7b426168fe2d585770a'
- 'd033fdd61508953a0722c6328fe075d8'
- '67e56c4382d44040f30d2a0e9aa062aa'
- 'e98bc2ddd0c4f14e03def6c2df3957a6'
- '4b1859cd09bbeecb237c96489900e5cf'
- '73b919dcf6ae7f99f720e1663d90ea6e'
- '116c9ff17523c2f266534b525e37d9d6'
- '7d3b4380052ff083fad73c1d67b5dd44'
- '90ae8638c6ba5e206d723282e92e2b4a'
- '382d425cecf79d03122700a49dc0a1e1'
- '689264c005413858c23ba36d85bc70e9'
- '296e06f04ad3a4ec08c782679c4648f5'
- '144ffb16d13c246c1614ed4a47ddb91a'
- '5a7189208bb083164a37294b0906df6b'
- '324ce70af22e92d1f27899cb68f73045'
- '7e8bd44385e0dd1b7fddd24763d53d0d'
- '9f93cedb8c0944c84b9521d80a8f1df8'
- 'bb86603af183212d7ea21850fc6b29de'
- '407f885a228a9749f85f0196d91d2fc2'
- '8d0d5d304b19476469a5e420a0f4cc6c'
- '0a73d219723c014024adea95e16d1f05'
- '948e672aecb65d8b106df4a07e69a81e'
- '8ab485858ffb7d7a2318eb23cdbad9bc'
- '6d1dece438ee2ef35e7cd18a48a04a6a'
- 'cfb060a8b9587895c892b1741120bd30'
- '7c9389eb1992d1b90bd3d13bad4ea99e'
- '7ada62ede579765142804eb7fbf31556'
- '068454a1f2e4e95a9ca6be00cb7ae679'
- 'd24b9b2bb4924d179f2685735a823054'
- '5e957199698370322cece21d774c7f68'
- 'a60e60ac350a81b2ac547a7c1fe1c4a0'
- 'd86486dee2f1a316c5a386b39b3bd717'
- '054229f80d2df10247870c0b65330b67'
- '1725e81231cc3ff6d95781e749f2b959'
- 'ac404aa939294948ad3d6e70df1cede1'
- '59c1192284bcbde4656b3319131e2eec'
- '9f29e2ed16768b1d7a78bf5640ed2332'
- 'd704d145dc15203ab0e5687d0aad8bfe'
- '53b610ec98c5d8b956f2a893bec24e27'
- 'bff195ac895b92333323c2bf22e1f61e'
- '69f039841fbd31b32a583ad8737c3aca'
- '95c70c4c5dd7d1c456ca36ec346a9c12'
- '24e936478bcb8b8dfe7c905c3ca2a8dc'
- '306172bd7802fb9d8da86101add3de9c'
- 'c104bb81dd70d6ec3dfe864ef03474c1'
- '2be0cce97e74762a01b47ee2c647ca4c'
- '3b2cf401cbce2339f2b7c54bb817af1c'
- '16815d1d5e2a8748a1074bc878f34919'
- '231db84b5ef6ee4c1f72cf3eaa920952'
- '84a5a5e773a9340557d8e4b92031d9f2'
- 'cc8a65ce72f818ce2a65bcba592b5493'
- 'a9e0f71ef5e221b78395da7581eca0c1'
- '4b9c21aeccd082e2241987ea8a1885bc'
- '5d7a0e8d58729c4263449044c23b5f09'
- '7e42a0bf231e4935d3320b102a314da1'
- '94f318cc46669eeaf67c4367f9701511'
- '5c70c86327d806e58e6c5f204849ba51'
- 'c569a5c51b711d7403e0f8c99647ea34'
- '076ca5bc5b46894160e6015f0e888d0f'
- '252851999ea99ce03cd9c50e6ab6c348'
- '8db75829b397159116cd06c1992bbc5f'
- '7516889bc11013f08b95ceea06e57aa2'
- '915bfc417d1cfd7cb44c2ba571c9b152'
- '356ba91ec47e31dc22a6898b72010a34'
- 'bca1dcf5cd3be873b6a1e64e33f3c581'
- 'b83cfa17f58a8394bd19253a304a1792'
- 'b40cdb01f00b94ea3ca4d6bf29cf69ba'
- '88b5c9176131ddf792b94e197094eef4'
- 'a2903206a4b309636ec38d478b268946'
- 'b4ad0c985f48c6fefb125bf7bfc853c6'
- '764fcdff3486b68b724f0975d4f6451d'
- '7dd864a7f81dc54534ce3ee4abf8c8e6'
- 'b0dae765abfac086c464c8fe975219e9'
- 'c5d5e5189b9c7bf705b18c8030d09b58'
- '1bfaa781fe701baa51c9089571686cd1'
- '27e8c25b11e9e305ca4c3b9f5661936d'
- 'b2b8fbbd0b42bdc79c7abae3443da189'
- '5210197343b334229fb8f07ad6aa33ea'
- '06771b3e460077b5fb994d415168b548'
- '9804d07cb3bc46c490c1c9e7d0d10edc'
- '0917b254d82079138c76878d10ad631e')
+md5sums=('2f40a462c2850b50a604371e875fc47c'
+ 'b49d42e9000a1163fd74d213624d8e86'
+ '385aa5d0bb43d43abb5ccddaae45bdf6'
+ 'fce90fb3c7fddc26aa50978182f8b831'
+ '163277191a666f36a2885cf92a163961'
+ 'e99bb607fd025990604e3229ce9aa8f6'
+ '35dcd2dd926b6e87dda1c11405b66472'
+ 'debafd1aeb232448241953c66b89e63b'
+ 'd23722619bb0d7f94894d2357060f629'
+ 'cad3e2bf6d1d97fc8dd76426591e4511'
+ '72b529f4aa744b2368703c19080940f7'
+ 'f0b1b1ee217230bd735c80b881657c92'
+ '9335e2678d66366a03ddfb4028b5c15e'
+ 'a173f9f07df4cc614e23694b0e2f3ca1'
+ '5cd9492c24fe0476431ecb83dfa660ee'
+ '9f7c84b8269c756ac9feb96e59e4c903'
+ 'a7dc03ef8409f2da04fc3a0a52016631'
+ '10e89e4953f1b9269e873345f03b867b'
+ 'd893c8d240fc27a60b39f91f53a309cc'
+ '34b2d538d41fdcfd01d34a7cfb147135'
+ '1ce5f6b8a2e3e4921263d5af004f40bb'
+ 'e59d36431f7f12eed4b7c89e2597fa6e'
+ '68684fce0eb66875f6d64f93b2e5fb4f'
+ 'ecbf294dc3ac7bc558969479b3619501'
+ 'a6226b0ab4b404d5e15194b7fd613604'
+ 'a7234e85380e6cb647026a40275416e9'
+ '7b2877ea2915bdbabd2748ef4b180755'
+ '2adee8f256369fe890445eeffcd361c6'
+ 'd9b1853f350d4124e5ebc2561beb8814'
+ 'df6fa75a7165973d426c7d74e6c06cee'
+ '8ca0f965013836a32e4583da92149099'
+ 'f007c9402015858a7a817be7f9038bbe'
+ 'a7e87b3320cfea4d7b5d95b3f6769cd7'
+ '05659f1784f63c55dfe6735823b2e23a'
+ 'a08a8a2504a8b5f2e419ed9f969a32be'
+ 'ce7d8708af5982b26d645b7cd7e5b33b'
+ '77d7d6a32bffdcd46e8d4444f05b645d'
+ '5fcf6fd003938edeea07be704c92de74'
+ '8a83c45d55ee7b69cb895e33db3cfeb4'
+ '561255aeb09362d5ed5b3c4bfdf8f293'
+ '77f3d9c38dca64141d32babed3c4afb7'
+ 'c30689f2cf263d4780bd106af2a68d0c'
+ 'd25d040fd7d824f848b3b9a5fbddb446'
+ '30af6b1339fdda31b1acffa87a914363'
+ '582116acc9c6e38226bc8e256ab6bb9b'
+ '51811e3139cc4e514cf3d8c29e468e7c'
+ '987fab8eccf60ffbbb685e7af297030b'
+ '60f217af071d95743aad066daadc1a95'
+ '649e1a6e583aed2811427f3493b0aa74'
+ '33ba3c51cff806110324d0f27a63848f'
+ '8dbd143d46cc51b373f6b61f1a27d6f4'
+ '3fb0bec111ccc6dabe6c785810c40620'
+ 'fc71d03873e7e1d4099702c1ab24c6da'
+ '775894f40a434b91f3489ff19f8237ee'
+ '71416fc9bf41b2c6719bc0b3c55e7b7b'
+ '30f988322526cfc25b15cb9179d69be4'
+ '195a1099a613215160c8be5f63169ce3'
+ 'b59a10c70e33920d08750b76349ae764'
+ 'd9f0b1dd204b34a78faca8b0de73fe2a'
+ 'dd3eae36828975d87477fe465406e1e6'
+ 'f8fbcee8171a6f7e0e81f8e0e3a381df'
+ 'd5e5b6d7f4018b34fe01980548221332'
+ '7db06a1a09551d6ad943feb398affe57'
+ '7e7e0ccae292b3423d5d1a5dd848abe0'
+ '8397c0e05c04c6b054de4fe524a95c42'
+ '89becfa004fb398d2409800f5fb15179'
+ 'd90fbc489d9993177a36ae788f9f23ed'
+ 'b5aa84fbfa8e7ab12417b23f003fb17e'
+ 'faf8056065dcf815e9a305b2739d0063'
+ '2e42ba1813720717da72041989c02880'
+ 'a37d32a8cd3b8a5d4247527e6bc82380'
+ 'd651717b27c2ffd4ce52d3c51b18dd85'
+ '2cc13f741a6910db6c3d00e7c53fb575'
+ '31755af06ea85ac187588076d20fa991'
+ 'ff2ff3b748ef2dab4371897bfdc96dd4'
+ '2f38fda847f928bee7fba4772360699b'
+ '4e8c459c0c5d009c633e843a0420d113'
+ '4ce85d3534267db686f7d8181c499f17'
+ '465dd984f2f96407213c174ec832e51d'
+ 'aade2355978099d9fc25d0aebb3add7f'
+ 'c66934fca336e18aa90938b0bc5991d7'
+ 'cc128b35d45e14047f769ee6f0c7af76'
+ '2357b049d7a7eb241b1a86f359aaa576'
+ '78f9371eb4c4c48a9ecd35f9e5c90461'
+ '9c06a7d81fb49995b56a3dfb4c77db9d'
+ '4af51a779abaa49a6bae6b90ccdb3fd8'
+ '3ee205c981dcc548f3e501aa06167df4')
diff --git a/libre/iceweasel-i18n/PKGBUILD.in b/libre/iceweasel-i18n/PKGBUILD.in
index 05477caef..05477caef 100644..100755
--- a/libre/iceweasel-i18n/PKGBUILD.in
+++ b/libre/iceweasel-i18n/PKGBUILD.in
diff --git a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
index 4a0507271..a5fe02165 100644..100755
--- a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
+++ b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
@@ -41,10 +41,10 @@ index 0e8ccf5..fa46c08 100644
brandBundle.getFormattedString("homePageImport", [appName]);
var oldHomePage = document.getElementById("oldHomePage");
diff --git a/browser/components/migration/content/migration.xul b/browser/components/migration/content/migration.xul
-index 4bcc1d9..c4db956 100644
+index f030756..23e37ff 100644
--- a/browser/components/migration/content/migration.xul
+++ b/browser/components/migration/content/migration.xul
-@@ -74,7 +74,7 @@
+@@ -42,7 +42,7 @@
#elifdef XP_UNIX
<radio id="chrome" label="&importFromChrome.label;" accesskey="&importFromChrome.accesskey;"/>
#endif
@@ -54,7 +54,7 @@ index 4bcc1d9..c4db956 100644
</radiogroup>
<label id="noSources" hidden="true">&noMigrationSources.label;</label>
diff --git a/browser/components/migration/src/BrowserProfileMigrators.manifest b/browser/components/migration/src/BrowserProfileMigrators.manifest
-index 527771f..782b38f 100644
+index d7fec75..d531b83 100644
--- a/browser/components/migration/src/BrowserProfileMigrators.manifest
+++ b/browser/components/migration/src/BrowserProfileMigrators.manifest
@@ -3,7 +3,7 @@ contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737
@@ -63,11 +63,11 @@ index 527771f..782b38f 100644
component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js
-contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386}
+contract @mozilla.org/profile/migrator;1?app=browser&type=self {91185366-ba97-4438-acba-48deaca63386}
+ #ifdef HAS_IE_MIGRATOR
component {3d2532e3-4932-4774-b7ba-968f5899d3a4} IEProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=ie {3d2532e3-4932-4774-b7ba-968f5899d3a4}
- component {4b609ecf-60b2-4655-9df4-dc149e474da1} SafariProfileMigrator.js
diff --git a/browser/components/migration/src/FirefoxProfileMigrator.js b/browser/components/migration/src/FirefoxProfileMigrator.js
-index 8f14f49..8dc175d 100644
+index a6598fe..8f83da8 100644
--- a/browser/components/migration/src/FirefoxProfileMigrator.js
+++ b/browser/components/migration/src/FirefoxProfileMigrator.js
@@ -88,7 +88,7 @@ Object.defineProperty(FirefoxProfileMigrator.prototype, "startupOnlyMigrator", {
@@ -80,7 +80,7 @@ index 8f14f49..8dc175d 100644
const NSGetFactory = XPCOMUtils.generateNSGetFactory([FirefoxProfileMigrator]);
diff --git a/browser/components/migration/src/MigrationUtils.jsm b/browser/components/migration/src/MigrationUtils.jsm
-index 9460e6d..8db6827 100644
+index 0669aa8..19552e3 100644
--- a/browser/components/migration/src/MigrationUtils.jsm
+++ b/browser/components/migration/src/MigrationUtils.jsm
@@ -403,11 +403,6 @@ let MigrationUtils = Object.freeze({
@@ -126,10 +126,10 @@ index 744f117..59e5a4c 100644
classDescription: "Profile Migrator",
contractID: "@mozilla.org/toolkit/profile-migrator;1",
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.dtd b/browser/locales/en-US/chrome/browser/migration/migration.dtd
-index 0b4b776..ce26fbd 100644
+index 21cf405..f3c1a6b 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.dtd
+++ b/browser/locales/en-US/chrome/browser/migration/migration.dtd
-@@ -13,8 +13,6 @@
+@@ -17,8 +17,6 @@
<!ENTITY importFromSafari.accesskey "S">
<!ENTITY importFromChrome.label "Chrome">
<!ENTITY importFromChrome.accesskey "C">
@@ -139,10 +139,10 @@ index 0b4b776..ce26fbd 100644
<!ENTITY noMigrationSources.label "No programs that contain bookmarks, history or password data could be found.">
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.properties b/browser/locales/en-US/chrome/browser/migration/migration.properties
-index f522a66..be26460 100644
+index 260bc29..52b32cc 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.properties
+++ b/browser/locales/en-US/chrome/browser/migration/migration.properties
-@@ -4,7 +4,6 @@ profileName_format=%S %S
+@@ -8,7 +8,6 @@ profileName_format=%S %S
sourceNameIE=Internet Explorer
sourceNameSafari=Safari
sourceNameChrome=Google Chrome
@@ -150,7 +150,7 @@ index f522a66..be26460 100644
importedBookmarksFolder=From %S
-@@ -18,29 +17,29 @@ importedSafariReadingList=Reading List (From Safari)
+@@ -24,22 +23,22 @@ importedSafariReadingList=Reading List (From Safari)
2_ie=Cookies
2_safari=Cookies
2_chrome=Cookies
@@ -177,79 +177,72 @@ index f522a66..be26460 100644
32_ie=Favorites
32_safari=Bookmarks
- 32_chrome=Bookmarks
--32_firefox=Bookmarks
-+32_self=Bookmarks
-
+@@ -48,4 +47,4 @@ importedSafariReadingList=Reading List (From Safari)
64_ie=Other Data
64_safari=Other Data
64_chrome=Other Data
-64_firefox=Bookmarks Backups
+64_self=Bookmarks Backups
-diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
-index 957d4d8..1af3629 100644
---- a/toolkit/content/aboutSupport.js
-+++ b/toolkit/content/aboutSupport.js
-@@ -616,13 +616,13 @@ function populateResetBox() {
- .getService(Ci.nsIToolkitProfileService);
+diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
+index 339ffda..6999b26 100644
+--- a/toolkit/content/jar.mn
++++ b/toolkit/content/jar.mn
+@@ -38,7 +38,7 @@ toolkit.jar:
+ + content/global/mozilla.xhtml (mozilla.xhtml)
+ content/global/nsDragAndDrop.js (nsDragAndDrop.js)
+ content/global/resetProfile.css (resetProfile.css)
+-* content/global/resetProfile.js (resetProfile.js)
++ content/global/resetProfile.js (resetProfile.js)
+ content/global/resetProfile.xul (resetProfile.xul)
+ content/global/resetProfileProgress.xul (resetProfileProgress.xul)
+ content/global/treeUtils.js (treeUtils.js)
+diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
+index dcb4065..09c1146 100644
+--- a/toolkit/content/resetProfile.js
++++ b/toolkit/content/resetProfile.js
+@@ -36,13 +36,13 @@ function resetSupported() {
+ getService(Ci.nsIToolkitProfileService);
let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
-
- // Only show the reset box for the default profile if the self-migrator used for reset exists.
+ // Reset is only supported for the default profile if the self-migrator used for reset exists.
try {
- if (!currentProfileDir.equals(profileService.selectedProfile.rootDir) ||
-- !("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc))
-+ !("@mozilla.org/toolkit/profile-migrator;1" in Cc))
-+ return;
-+ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
-+ if (!("canMigrate" in pm) || !pm.canMigrate("self"))
- return;
- document.getElementById("reset-box").style.visibility = "visible";
+- return currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
+- ("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc);
++ if (currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
++ "@mozilla.org/toolkit/profile-migrator;1" in Cc) {
++ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
++ return ("canMigrate" in pm) && pm.canMigrate("self");
++ }
} catch (e) {
-diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
-index 84de6cd..3126da6 100644
---- a/toolkit/content/resetProfile.js
-+++ b/toolkit/content/resetProfile.js
-@@ -6,6 +6,7 @@ Components.utils.import("resource://gre/modules/Services.jsm");
+ // Catch exception when there is no selected profile.
+ Cu.reportError(e);
+@@ -53,9 +53,6 @@ function resetSupported() {
+ function getMigratedData() {
+ Components.utils.import("resource:///modules/MigrationUtils.jsm");
- // based on onImportItemsPageShow from migration.js
- function onResetProfileLoad() {
-+<<<<<<< HEAD
- #expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
- #expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
-
-@@ -16,16 +17,22 @@ function onResetProfileLoad() {
- "8_" + MOZ_APP_NAME, // Form History
- "2_" + MOZ_APP_NAME, // Cookies
- ];
-+=======
-+ Components.utils.import("resource:///modules/MigrationUtils.jsm");
-+ const MAX_MIGRATED_TYPES = 16;
-+>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic
-
- var migratedItems = document.getElementById("migratedItems");
-- var bundle = Services.strings.createBundle("chrome://" + MOZ_BUILD_APP +
-- "/locale/migration/migration.properties");
-
- // Loop over possible data to migrate to give the user a list of what will be preserved.
- for (var itemStringName of MIGRATED_TYPES) {
+-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
+-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
+-
+ // From migration.properties
+ const MIGRATED_TYPES = [
+ 4, // History and Bookmarks
+@@ -68,7 +65,7 @@ function getMigratedData() {
+ let dataTypes = [];
+ for (let itemID of MIGRATED_TYPES) {
try {
- var checkbox = document.createElement("label");
-+<<<<<<< HEAD
- checkbox.setAttribute("value", bundle.GetStringFromName(itemStringName));
-+=======
-+ checkbox.setAttribute("value", MigrationUtils.getLocalizedString(itemID + "_self"));
-+>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic
- migratedItems.appendChild(checkbox);
+- let typeName = MigrationUtils.getLocalizedString(itemID + "_" + MOZ_APP_NAME);
++ let typeName = MigrationUtils.getLocalizedString(itemID + "_self");
+ dataTypes.push(typeName);
} catch (x) {
// Catch exceptions when the string for a data type doesn't exist.
diff --git a/toolkit/profile/nsIProfileMigrator.idl b/toolkit/profile/nsIProfileMigrator.idl
-index e941336..5b264af 100644
+index f35c227..7062886 100644
--- a/toolkit/profile/nsIProfileMigrator.idl
+++ b/toolkit/profile/nsIProfileMigrator.idl
-@@ -69,7 +69,7 @@ interface nsIProfileStartup : nsISupports
+@@ -37,7 +37,7 @@ interface nsIProfileStartup : nsISupports
* @client Toolkit (Startup code)
* @obtainable service, contractid("@mozilla.org/toolkit/profile-migrator;1")
*/
@@ -258,7 +251,7 @@ index e941336..5b264af 100644
interface nsIProfileMigrator : nsISupports
{
/**
-@@ -92,6 +92,14 @@ interface nsIProfileMigrator : nsISupports
+@@ -60,6 +60,14 @@ interface nsIProfileMigrator : nsISupports
* @note The startup code ignores COM exceptions thrown from this method.
*/
void migrate(in nsIProfileStartup aStartup, in ACString aKey);
@@ -274,15 +267,15 @@ index e941336..5b264af 100644
%{C++
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index d2db0e2..45a4b0d 100644
+index 60348b5..c240c4f 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3642,7 +3642,7 @@ XREMain::XRE_mainRun()
- if (gDoProfileReset) {
- // Automatically migrate from the current application if we just
- // reset the profile.
-- aKey = MOZ_APP_NAME;
-+ aKey = "self";
+@@ -3651,7 +3651,7 @@ XREMain::XRE_mainRun()
+ if (gDoProfileReset) {
+ // Automatically migrate from the current application if we just
+ // reset the profile.
+- aKey = MOZ_APP_NAME;
++ aKey = "self";
+ }
pm->Migrate(&mDirProvider, aKey);
- // Set the new profile as the default after migration.
- rv = SetCurrentProfileAsDefault(mProfileSvc, mProfD);
+ }
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index 259413591..fc68357e7 100644..100755
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -14,15 +14,15 @@ _pgo=false
# We're getting this from Debian Experimental
_debname=iceweasel
-_debver=14.0.1
-_debrel=2
+_debver=16.0.1
+_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
_pkgname=iceweasel
pkgname=iceweasel-libre
pkgver=${_debver}.${_debrel}
-pkgrel=2
+pkgrel=1
if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi
if $_pgo; then
@@ -52,16 +52,16 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
vendor.js
shared-libs.patch
Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch)
-md5sums=('8e4f3987d37c8e73b168948d0771b872'
- '8689c150a4d3a0a688ad2db6044feac6'
+md5sums=('33e50f7ddfa7274e5a3bd393c37fb3b3'
+ 'ddfcf225ea0e3d7b4b377f4a63d5e8c4'
'eab149c1994ab14392e55af3abb08e80'
'ac29b01c189f20abae2f3eef1618ffc0'
'a485a2b5dc544a8a2bd40c985d2e5813'
- '6d8816d2577263556d76f1aa4527b55b'
- 'e529742c0a425648087bc3ce537fe4c5'
+ '8768dfc39e9f1057c2956bf4405ae58e'
+ 'abf5ecb74caa857abb42bcfbb3442d9c'
'0d053487907de4376d67d8f499c5502b'
'52e52f840a49eb1d14be1c0065b03a93'
- '88350bc611361a1ff635f5c960c6d6ee')
+ '0a31239f1008038df5057982fe745dec')
if [ "$_pkgname" != "$pkgname" ]; then
provides+=("$_pkgname=$pkgver")
@@ -129,7 +129,7 @@ package() {
cd "${srcdir}/${DEBIAN_BUILD}"
make -j1 -f client.mk DESTDIR="$pkgdir" install
- install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref"
+ install -Dm644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/preferences/vendor.js"
# I don't even know why we're hitting the objdir, and ConnOS didn't.
_brandingdir=debian/branding
diff --git a/libre/iceweasel-libre/iceweasel-install-dir.patch b/libre/iceweasel-libre/iceweasel-install-dir.patch
index f80a3eca9..a44aef496 100644
--- a/libre/iceweasel-libre/iceweasel-install-dir.patch
+++ b/libre/iceweasel-libre/iceweasel-install-dir.patch
@@ -1,28 +1,31 @@
-diff -Nur iceweasel-9.0.1.orig/config/autoconf.mk.in iceweasel-9.0.1/config/autoconf.mk.in
---- iceweasel-9.0.1.orig/config/autoconf.mk.in 2011-12-31 17:07:52.000000000 -0500
-+++ iceweasel-9.0.1/config/autoconf.mk.in 2011-12-31 17:11:18.000000000 -0500
-@@ -68,8 +68,8 @@
- mandir = @mandir@
- idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+diff -Nur iceweasel-16.0.1.orig/config/baseconfig.mk iceweasel-16.0.1/config/baseconfig.mk
+--- iceweasel-16.0.1.orig/config/baseconfig.mk 2012-10-10 19:42:45.000000000 -0200
++++ iceweasel-16.0.1/config/baseconfig.mk 2012-10-12 05:40:32.346949927 -0200
+@@ -1,10 +1,10 @@
+ INCLUDED_AUTOCONF_MK = 1
--installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
--sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_BASE_VERSION)
-+installdir = $(libdir)/$(MOZ_APP_NAME)
-+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+ MOZ_APP_BASE_VERSION = $(firstword $(subst ., ,$(MOZ_APP_VERSION))).$(word 2,$(subst ., ,$(MOZ_APP_VERSION)))
+-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_BASE_VERSION)
++includedir := $(includedir)/$(MOZ_APP_NAME)
++idldir = $(datadir)/idl/$(MOZ_APP_NAME)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+ DIST = $(DEPTH)/dist
- DIST = $(DEPTH)/dist
- LIBXUL_SDK = @LIBXUL_SDK@
-diff -Nur iceweasel-9.0.1.orig/js/src/config/autoconf.mk.in iceweasel-9.0.1/js/src/config/autoconf.mk.in
---- iceweasel-9.0.1.orig/js/src/config/autoconf.mk.in 2011-12-20 18:28:21.000000000 -0500
-+++ iceweasel-9.0.1/js/src/config/autoconf.mk.in 2011-12-31 17:11:43.000000000 -0500
-@@ -60,8 +60,8 @@
- datadir = @datadir@
- mandir = @mandir@
+ # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
+diff -Nur iceweasel-16.0.1.orig/js/src/config/baseconfig.mk iceweasel-16.0.1/js/src/config/baseconfig.mk
+--- iceweasel-16.0.1.orig/js/src/config/baseconfig.mk 2012-10-10 19:43:05.000000000 -0200
++++ iceweasel-16.0.1/js/src/config/baseconfig.mk 2012-10-12 05:08:23.064066227 -0200
+@@ -1,7 +1,7 @@
+ INCLUDED_AUTOCONF_MK = 1
--installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
--sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
-+installdir = $(libdir)/$(MOZ_APP_NAME)
-+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
- TOP_DIST = @TOP_DIST@
ifneq (,$(filter /%,$(TOP_DIST)))
+ DIST = $(TOP_DIST)
diff --git a/libre/iceweasel-libre/iceweasel.install b/libre/iceweasel-libre/iceweasel.install
index c1fe8284a..c1fe8284a 100644..100755
--- a/libre/iceweasel-libre/iceweasel.install
+++ b/libre/iceweasel-libre/iceweasel.install
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
index 9ffaf3a9a..7e7b7290f 100644..100755
--- a/libre/iceweasel-libre/libre.patch
+++ b/libre/iceweasel-libre/libre.patch
@@ -1,7 +1,7 @@
-diff -urN iceweasel-13.0.orig/browser/app/profile/firefox.js iceweasel-13.0/browser/app/profile/firefox.js
---- mozilla-build.orig/browser/app/profile/firefox.js 2012-06-01 09:03:47.000000000 -0300
-+++ mozilla-build/browser/app/profile/firefox.js 2012-06-05 19:53:08.847012282 -0300
-@@ -64,11 +64,11 @@
+diff -urN iceweasel-16.0.orig/browser/app/profile/firefox.js iceweasel-16.0/browser/app/profile/firefox.js
+--- iceweasel-16.0.orig/browser/app/profile/firefox.js 2012-10-05 20:01:58.000000000 -0300
++++ iceweasel-16.0/browser/app/profile/firefox.js 2012-10-11 17:19:44.984225170 -0200
+@@ -37,11 +37,11 @@
// Preferences for AMO integration
pref("extensions.getAddons.cache.enabled", true);
pref("extensions.getAddons.maxResults", 15);
@@ -18,16 +18,7 @@ diff -urN iceweasel-13.0.orig/browser/app/profile/firefox.js iceweasel-13.0/brow
// Blocklist preferences
pref("extensions.blocklist.enabled", true);
-@@ -92,7 +92,7 @@
- pref("extensions.autoDisableScopes", 15);
-
- // Dictionary download preference
--pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
-+pref("browser.dictionaries.download.url", "about:blank");
-
- // The minimum delay in seconds for the timer to fire.
- // default=2 minutes
-@@ -218,7 +218,7 @@
+@@ -194,7 +194,7 @@
pref("extensions.update.interval", 86400); // Check for updates to Extensions and
// Themes every day
// Non-symmetric (not shared by extensions) extension-specific [update] preferences
@@ -36,25 +27,16 @@ diff -urN iceweasel-13.0.orig/browser/app/profile/firefox.js iceweasel-13.0/brow
pref("extensions.dss.enabled", false); // Dynamic Skin Switching
pref("extensions.dss.switchPending", false); // Non-dynamic switch pending after next
// restart.
-@@ -252,7 +252,7 @@
- // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
- // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
- pref("browser.startup.page", 1);
--pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties");
-+pref("browser.startup.homepage", "about:home");
-
- // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
- // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
-@@ -345,7 +345,7 @@
- pref("browser.download.manager.resumeOnWakeDelay", 10000);
+@@ -327,7 +327,7 @@
+ pref("browser.download.panel.removeFinishedDownloads", false);
// search engines URL
-pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
-+pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
++pref("browser.search.searchEnginesURL", "http://www.gnu.org/software/gnuzilla/addons.html#search%20engines");
// pointer to the default engine name
pref("browser.search.defaultenginename", "chrome://browser-region/locale/region.properties");
-@@ -593,7 +593,7 @@
+@@ -584,7 +584,7 @@
pref("accessibility.typeaheadfind.flashBar", 1);
// plugin finder service url
diff --git a/libre/iceweasel-libre/mozconfig b/libre/iceweasel-libre/mozconfig
index e79896323..e79896323 100644..100755
--- a/libre/iceweasel-libre/mozconfig
+++ b/libre/iceweasel-libre/mozconfig
diff --git a/libre/iceweasel-libre/mozconfig.pgo b/libre/iceweasel-libre/mozconfig.pgo
index b0c249ebf..b0c249ebf 100644..100755
--- a/libre/iceweasel-libre/mozconfig.pgo
+++ b/libre/iceweasel-libre/mozconfig.pgo
diff --git a/libre/iceweasel-libre/shared-libs.patch b/libre/iceweasel-libre/shared-libs.patch
index 1f22b2b0d..1f22b2b0d 100644..100755
--- a/libre/iceweasel-libre/shared-libs.patch
+++ b/libre/iceweasel-libre/shared-libs.patch
diff --git a/libre/iceweasel-libre/vendor.js b/libre/iceweasel-libre/vendor.js
index d8d606bc1..d8d606bc1 100644..100755
--- a/libre/iceweasel-libre/vendor.js
+++ b/libre/iceweasel-libre/vendor.js
diff --git a/libre/iceweasel-libre/xulrunner-copy-stub.patch b/libre/iceweasel-libre/xulrunner-copy-stub.patch
index e3b8e9376..e3b8e9376 100644..100755
--- a/libre/iceweasel-libre/xulrunner-copy-stub.patch
+++ b/libre/iceweasel-libre/xulrunner-copy-stub.patch
diff --git a/libre/initscripts/0001-remove-run-nologin-before-leaving-rc.multi.patch b/libre/initscripts/0001-remove-run-nologin-before-leaving-rc.multi.patch
index a9b7a2423..a9b7a2423 100644..100755
--- a/libre/initscripts/0001-remove-run-nologin-before-leaving-rc.multi.patch
+++ b/libre/initscripts/0001-remove-run-nologin-before-leaving-rc.multi.patch
diff --git a/libre/initscripts/PKGBUILD b/libre/initscripts/PKGBUILD
index 0eefec6df..1f68a6356 100644..100755
--- a/libre/initscripts/PKGBUILD
+++ b/libre/initscripts/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 164178 2012-07-26 23:40:45Z tomegun $
+# $Id: PKGBUILD 167943 2012-10-03 23:12:35Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Thomas Bächler <thomas@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
# Maintainer (Parabola): Nicolas Reynolds <fauno@kiwwwi.com.ar>
pkgname=initscripts
-pkgver=2012.08.21
+pkgver=2012.10.5
pkgrel=1
pkgdesc="System initialization/bootup scripts (Parabola branding)"
arch=('any')
@@ -16,18 +16,22 @@ provides=('initscripts-systemd')
conflicts=('initscripts-systemd')
replaces=('initscripts-systemd')
backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown)
-depends=('glibc' 'bash' 'coreutils' 'systemd-tools' 'iproute2' 'ncurses' 'findutils' 'sysvinit')
+depends=('glibc' 'bash' 'coreutils' 'systemd-tools' 'iproute2' 'ncurses' 'findutils' 'sysvinit-tools')
optdepends=('dhcpcd: DHCP network configuration'
'bridge-utils: Legacy network bridging support'
'net-tools: Legacy network support'
- 'wireless_tools: Legacy wireless networking')
+ 'wireless_tools: Legacy wireless networking'
+ 'sysvinit: Legacy init support')
makedepends=(asciidoc)
install=initscripts.install
source=("https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.xz"{,.sig})
-md5sums=('abf911f25417e8fd3c7d787e6f4f1e9e'
- '993fd80840cb8d0090e2c93b95a2b71c')
package() {
cd ${srcdir}/${pkgname}-${pkgver}
+
make DESTDIR=${pkgdir} install
}
+md5sums=('16039aeb4c996194d9466a8c66a06f5a'
+ '522804c7981c32c3c779964844d64377')
+md5sums=('3be94446496bda58051141e0d3863a7b'
+ '3f03d3a5c7d8b7e1ddebb13334441440')
diff --git a/libre/initscripts/initscripts.install b/libre/initscripts/initscripts.install
index 963713bee..557faafe4 100644..100755
--- a/libre/initscripts/initscripts.install
+++ b/libre/initscripts/initscripts.install
@@ -16,4 +16,11 @@ post_upgrade() {
echo "If using non-bash-compatible shell, please set LANG in /etc/locale.conf,"
echo "as LOCALE in /etc/rc.conf no longer works."
fi
+ if [ "$(vercmp $2 2012.08.1)" -lt 0 ]; then
+ echo "----"
+ echo "> initscripts now ships a compatibility layer to make systemd use MODULES and"
+ echo "> DAEMONS from rc.conf; and run rc.local and rc.local.shutdown on boot and"
+ echo "> shutdown, respectively. Refer to arch-modules-load(8) and arch-daemons(8)."
+ echo "----"
+ fi
}
diff --git a/libre/initscripts/split-hwclock-calls.diff b/libre/initscripts/split-hwclock-calls.diff
new file mode 100644
index 000000000..c0a6a4fd6
--- /dev/null
+++ b/libre/initscripts/split-hwclock-calls.diff
@@ -0,0 +1,21 @@
+diff --git a/rc.sysinit b/rc.sysinit
+index eb49e2b..8f9727b 100755
+--- a/rc.sysinit
++++ b/rc.sysinit
+@@ -34,7 +34,6 @@ bootlogd -p /run/bootlogd.pid
+
+ run_hook sysinit_start
+
+-HWCLOCK_PARAMS="--systz"
+ case $HARDWARECLOCK in
+ "") ;;
+ UTC) HWCLOCK_PARAMS+=" --utc --noadjfile";;
+@@ -54,7 +53,7 @@ if [[ $HWCLOCK_PARAMS ]]; then
+
+ [[ $TIMEZONE ]] && export TZ=$TIMEZONE
+
+- hwclock $HWCLOCK_PARAMS && stat_done || stat_fail
++ { hwclock $HWCLOCK_PARAMS && hwclock --systz; } && stat_done || stat_fail
+
+ unset TZ
+ fi
diff --git a/libre/initscripts/wireless.conf.d b/libre/initscripts/wireless.conf.d
index 47540ef40..47540ef40 100644..100755
--- a/libre/initscripts/wireless.conf.d
+++ b/libre/initscripts/wireless.conf.d
diff --git a/libre/java-asm2/PKGBUILD b/libre/java-asm2/PKGBUILD
index 4853d79c0..4853d79c0 100644..100755
--- a/libre/java-asm2/PKGBUILD
+++ b/libre/java-asm2/PKGBUILD
diff --git a/libre/java-asm3/PKGBUILD b/libre/java-asm3/PKGBUILD
index 7e66a5b5a..7e66a5b5a 100644..100755
--- a/libre/java-asm3/PKGBUILD
+++ b/libre/java-asm3/PKGBUILD
diff --git a/libre/java-ow-util-ant-tasks/PKGBUILD b/libre/java-ow-util-ant-tasks/PKGBUILD
index 023048188..023048188 100644..100755
--- a/libre/java-ow-util-ant-tasks/PKGBUILD
+++ b/libre/java-ow-util-ant-tasks/PKGBUILD
diff --git a/libre/java-ow-util-ant-tasks/SRCBUILD b/libre/java-ow-util-ant-tasks/SRCBUILD
index 01241907d..01241907d 100644..100755
--- a/libre/java-ow-util-ant-tasks/SRCBUILD
+++ b/libre/java-ow-util-ant-tasks/SRCBUILD
diff --git a/libre/kdebase-konqueror-libre/PKGBUILD b/libre/kdebase-konqueror-libre/PKGBUILD
index bed0b129a..17fafa08c 100644..100755
--- a/libre/kdebase-konqueror-libre/PKGBUILD
+++ b/libre/kdebase-konqueror-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 164089 2012-07-26 16:54:32Z andrea $
+# $Id: PKGBUILD 165939 2012-09-03 21:49:19Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
@@ -6,7 +6,7 @@
_pkgname='kdebase-konqueror'
pkgname='kdebase-konqueror-libre'
-pkgver=4.9.0
+pkgver=4.9.2
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://kde.org/applications/internet/konqueror/"
@@ -15,7 +15,7 @@ groups=('kde' 'kdebase')
makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml')
source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz"
"konq-about-fsdg.diff")
-sha1sums=('f5c358e3c7902b15328908a9966f98774827988e'
+sha1sums=('8b5a45cfd77e7e67a57c06cdbf387692e8547b66'
'f41541371414dcbe5e76687835e648112b3ff364')
pkgdesc='KDE File Manager & Web Browser'
depends=('kdebase-dolphin' 'kdebase-keditbookmarks')
diff --git a/libre/kdebase-konqueror-libre/kdebase-konqueror.install b/libre/kdebase-konqueror-libre/kdebase-konqueror.install
index 5495fb1b5..5495fb1b5 100644..100755
--- a/libre/kdebase-konqueror-libre/kdebase-konqueror.install
+++ b/libre/kdebase-konqueror-libre/kdebase-konqueror.install
diff --git a/libre/kdebase-konqueror-libre/konq-about-fsdg.diff b/libre/kdebase-konqueror-libre/konq-about-fsdg.diff
index 06b2103c3..06b2103c3 100644..100755
--- a/libre/kdebase-konqueror-libre/konq-about-fsdg.diff
+++ b/libre/kdebase-konqueror-libre/konq-about-fsdg.diff
diff --git a/libre/kdebase-runtime-libre/PKGBUILD b/libre/kdebase-runtime-libre/PKGBUILD
index ea7ec4e00..008b94310 100644
--- a/libre/kdebase-runtime-libre/PKGBUILD
+++ b/libre/kdebase-runtime-libre/PKGBUILD
@@ -5,10 +5,10 @@
_pkgname=kdebase-runtime
pkgname=kdebase-runtime-libre
-pkgver=4.9.0
-pkgrel=3
+pkgver=4.9.2
+pkgrel=2
pkgdesc="Plugins and applications necessary for the running of KDE applications (without non-privacy search providers)"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
url='https://projects.kde.org/projects/kde/kde-runtime'
license=('GPL' 'LGPL')
depends=('nepomuk-core' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons' 'xorg-xauth'
@@ -25,7 +25,7 @@ provides=("${_pkgname}=${pkgver}")
install="${_pkgname}.install"
source=("http://download.kde.org/stable/${pkgver}/src/kde-runtime-${pkgver}.tar.xz"
'duckduckgo_lite.desktop')
-sha1sums=('89a9e5c7e52cb925217b45a568a354cc041bc28d'
+sha1sums=('97c811e404322e520f62320c919eecd73db8c5dd'
'265d4ca95c3a022b5f6f1d5daea6f8e3a25dee85')
build() {
diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD
index 27fb5d504..d63eb96f7 100644..100755
--- a/libre/kdelibs-libre/PKGBUILD
+++ b/libre/kdelibs-libre/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 164789 2012-08-05 12:10:43Z andrea $
+# $Id: PKGBUILD 167425 2012-10-02 09:09:06Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=kdelibs
pkgname=kdelibs-libre
-pkgver=4.9.0
-pkgrel=4
+pkgver=4.9.2
+pkgrel=2
pkgdesc="KDE Core Libraries"
arch=('i686' 'x86_64' 'mips64el')
url='https://projects.kde.org/projects/kde/kdelibs'
@@ -25,7 +25,7 @@ source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.
'kde-applications-menu.patch'
'use-pythondontwritebytecode.patch'
'khtml-fsdg.diff')
-sha1sums=('9daa3a93182ac3c50759d7369a7c1db30890cf46'
+sha1sums=('e86ee16ac7c412b0f6abe3754cb372a45d41c71b'
'86ee8c8660f19de8141ac99cd6943964d97a1ed7'
'bbacbbe2194f3961cd7557d98a9ddef158ca11aa'
'a1502a964081ad583a00cf90c56e74bf60121830')
diff --git a/libre/kdelibs-libre/fix-kmail-crash.patch b/libre/kdelibs-libre/fix-kmail-crash.patch
index 27caa25f0..27caa25f0 100644..100755
--- a/libre/kdelibs-libre/fix-kmail-crash.patch
+++ b/libre/kdelibs-libre/fix-kmail-crash.patch
diff --git a/libre/kdelibs-libre/kde-applications-menu.patch b/libre/kdelibs-libre/kde-applications-menu.patch
index 4b513298a..4b513298a 100644..100755
--- a/libre/kdelibs-libre/kde-applications-menu.patch
+++ b/libre/kdelibs-libre/kde-applications-menu.patch
diff --git a/libre/kdelibs-libre/kdelibs.install b/libre/kdelibs-libre/kdelibs.install
index c77e68041..c77e68041 100644..100755
--- a/libre/kdelibs-libre/kdelibs.install
+++ b/libre/kdelibs-libre/kdelibs.install
diff --git a/libre/kdelibs-libre/khtml-fsdg.diff b/libre/kdelibs-libre/khtml-fsdg.diff
index 1a531b3c8..1a531b3c8 100644..100755
--- a/libre/kdelibs-libre/khtml-fsdg.diff
+++ b/libre/kdelibs-libre/khtml-fsdg.diff
diff --git a/libre/kdelibs-libre/use-pythondontwritebytecode.patch b/libre/kdelibs-libre/use-pythondontwritebytecode.patch
index e221e939a..e221e939a 100644..100755
--- a/libre/kdelibs-libre/use-pythondontwritebytecode.patch
+++ b/libre/kdelibs-libre/use-pythondontwritebytecode.patch
diff --git a/libre/kdenetwork-kopete-libre/PKGBUILD b/libre/kdenetwork-kopete-libre/PKGBUILD
index 1244e21bb..d5211499b 100644..100755
--- a/libre/kdenetwork-kopete-libre/PKGBUILD
+++ b/libre/kdenetwork-kopete-libre/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 164151 2012-07-26 16:58:38Z andrea $
+# $Id: PKGBUILD 165994 2012-09-03 21:52:07Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgbase=kdenetwork
pkgname=('kdenetwork-kopete-libre')
-pkgver=4.9.0
+pkgver=4.9.2
pkgrel=1
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -16,7 +16,7 @@ makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp'
'v4l-utils' 'libidn' 'qimageblitz' 'libxdamage' 'libgadu' 'libmsn'
'libktorrent' 'libmms' 'mediastreamer' 'telepathy-qt')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz")
-sha1sums=('f5963684301d6569af4cfce2a39dbef140c1dc4d')
+sha1sums=('6779039e5354fae02cf7faa3442385b95befb430')
build() {
cd "${srcdir}"
diff --git a/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install b/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install
index 5495fb1b5..5495fb1b5 100644..100755
--- a/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install
+++ b/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install
diff --git a/libre/kdenetwork-kopete-libre/kdenetwork.install b/libre/kdenetwork-kopete-libre/kdenetwork.install
index e70c054ec..e70c054ec 100644..100755
--- a/libre/kdenetwork-kopete-libre/kdenetwork.install
+++ b/libre/kdenetwork-kopete-libre/kdenetwork.install
diff --git a/libre/kdeutils-ark-libre/PKGBUILD b/libre/kdeutils-ark-libre/PKGBUILD
index 7d80e341e..68954e29b 100644..100755
--- a/libre/kdeutils-ark-libre/PKGBUILD
+++ b/libre/kdeutils-ark-libre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 164156 2012-07-26 16:58:54Z andrea $
+# $Id: PKGBUILD 165999 2012-09-03 21:52:22Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=kdeutils-ark
pkgname=kdeutils-ark-libre
-pkgver=4.9.0
+pkgver=4.9.2
pkgrel=1
pkgdesc='Archiving Tool'
url='http://kde.org/applications/utilities/ark/'
@@ -19,7 +19,7 @@ provides=("kdeutils-ark=$pkgver")
replaces=('kdeutils-ark')
conflicts=('kdeutils-ark')
source=("http://download.kde.org/stable/${pkgver}/src/ark-${pkgver}.tar.xz")
-sha1sums=('60c535370da1edf03481fdc1ef3f04f9269d54e2')
+sha1sums=('180ad836ebfc6bdc26d245e6bd27c2fc7a59918c')
build() {
cd "${srcdir}"
diff --git a/libre/kdeutils-ark-libre/kdeutils-ark.install b/libre/kdeutils-ark-libre/kdeutils-ark.install
index 78681144b..78681144b 100644..100755
--- a/libre/kdeutils-ark-libre/kdeutils-ark.install
+++ b/libre/kdeutils-ark-libre/kdeutils-ark.install
diff --git a/libre/kdeutils-ark-libre/rePKGBUILD b/libre/kdeutils-ark-libre/rePKGBUILD
index f40b19d3f..f40b19d3f 100644..100755
--- a/libre/kdeutils-ark-libre/rePKGBUILD
+++ b/libre/kdeutils-ark-libre/rePKGBUILD
diff --git a/libre/kernel26-libre-lts/PKGBUILD b/libre/kernel26-libre-lts/PKGBUILD
index 7c444e8ff..7c444e8ff 100644..100755
--- a/libre/kernel26-libre-lts/PKGBUILD
+++ b/libre/kernel26-libre-lts/PKGBUILD
diff --git a/libre/kernel26-libre-lts/buildfix-gcc46.diff b/libre/kernel26-libre-lts/buildfix-gcc46.diff
index 595f97d66..595f97d66 100644..100755
--- a/libre/kernel26-libre-lts/buildfix-gcc46.diff
+++ b/libre/kernel26-libre-lts/buildfix-gcc46.diff
diff --git a/libre/kernel26-libre-lts/config.i686 b/libre/kernel26-libre-lts/config.i686
index b9fc967af..b9fc967af 100644..100755
--- a/libre/kernel26-libre-lts/config.i686
+++ b/libre/kernel26-libre-lts/config.i686
diff --git a/libre/kernel26-libre-lts/config.x86_64 b/libre/kernel26-libre-lts/config.x86_64
index 751f759e6..751f759e6 100644..100755
--- a/libre/kernel26-libre-lts/config.x86_64
+++ b/libre/kernel26-libre-lts/config.x86_64
diff --git a/libre/kernel26-libre-lts/kernel26-libre-lts.install b/libre/kernel26-libre-lts/kernel26-libre-lts.install
index 0e4b44fa3..0e4b44fa3 100644..100755
--- a/libre/kernel26-libre-lts/kernel26-libre-lts.install
+++ b/libre/kernel26-libre-lts/kernel26-libre-lts.install
diff --git a/libre/kernel26-libre-lts/kernel26-lts.preset b/libre/kernel26-libre-lts/kernel26-lts.preset
index b65e064b4..b65e064b4 100644..100755
--- a/libre/kernel26-libre-lts/kernel26-lts.preset
+++ b/libre/kernel26-libre-lts/kernel26-lts.preset
diff --git a/libre/kernel26-libre-lts/libata-alignment.patch b/libre/kernel26-libre-lts/libata-alignment.patch
index edd96f3b1..edd96f3b1 100644..100755
--- a/libre/kernel26-libre-lts/libata-alignment.patch
+++ b/libre/kernel26-libre-lts/libata-alignment.patch
diff --git a/libre/kernel26-libre-lts/packages/.svn/entries b/libre/kernel26-libre-lts/packages/.svn/entries
index 809dc9428..809dc9428 100644..100755
--- a/libre/kernel26-libre-lts/packages/.svn/entries
+++ b/libre/kernel26-libre-lts/packages/.svn/entries
diff --git a/libre/kernel26-libre-manpages/PKGBUILD b/libre/kernel26-libre-manpages/PKGBUILD
index 284d09de9..284d09de9 100644..100755
--- a/libre/kernel26-libre-manpages/PKGBUILD
+++ b/libre/kernel26-libre-manpages/PKGBUILD
diff --git a/libre/kile-libre/PKGBUILD b/libre/kile-libre/PKGBUILD
index be5acfd2f..fcc53e9d9 100644..100755
--- a/libre/kile-libre/PKGBUILD
+++ b/libre/kile-libre/PKGBUILD
@@ -2,11 +2,11 @@
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
-# Contributor (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=kile
pkgname=kile-libre
-pkgver=2.1.2
+pkgver=2.1.3
pkgrel=1
pkgdesc="A user friendly TeX/LaTeX frontend for KDE"
arch=("i686" "x86_64")
@@ -20,7 +20,7 @@ provides=('kile')
install=${_pkgname}.install
source=("http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.bz2"
"no-acroread.patch")
-sha1sums=('238a8fde4fca00e06b314c13671ff53e2ac4845c'
+sha1sums=('1a80748d5f01f359b5e5c28140ec90691f0166c5'
'9bbe5d1b0e2a78b13667fcf4e5e21f801447f9d6')
build() {
diff --git a/libre/kile-libre/kile.install b/libre/kile-libre/kile.install
index 9fe93eeac..9fe93eeac 100644..100755
--- a/libre/kile-libre/kile.install
+++ b/libre/kile-libre/kile.install
diff --git a/libre/kile-libre/no-acroread.patch b/libre/kile-libre/no-acroread.patch
index 7d305a2d0..7d305a2d0 100644..100755
--- a/libre/kile-libre/no-acroread.patch
+++ b/libre/kile-libre/no-acroread.patch
diff --git a/libre/lame-libre/PKGBUILD b/libre/lame-libre/PKGBUILD
index 65ec64426..2dac12636 100644..100755
--- a/libre/lame-libre/PKGBUILD
+++ b/libre/lame-libre/PKGBUILD
@@ -35,7 +35,6 @@ package() {
cd "$srcdir/$_pkgname-$pkgver"
make DESTDIR="$pkgdir" install
- rm -rf ${pkgdir}/usr/share/man
}
# vim:set ts=2 sw=2 et:
diff --git a/libre/lesspipe-libre/PKGBUILD b/libre/lesspipe-libre/PKGBUILD
index 48d5ebe0f..48d5ebe0f 100644..100755
--- a/libre/lesspipe-libre/PKGBUILD
+++ b/libre/lesspipe-libre/PKGBUILD
diff --git a/libre/lesspipe-libre/lesspipe.sh b/libre/lesspipe-libre/lesspipe.sh
index 05526e46c..05526e46c 100644..100755
--- a/libre/lesspipe-libre/lesspipe.sh
+++ b/libre/lesspipe-libre/lesspipe.sh
diff --git a/libre/lesspipe-libre/rePKGBUILD b/libre/lesspipe-libre/rePKGBUILD
index cb388a715..cb388a715 100644..100755
--- a/libre/lesspipe-libre/rePKGBUILD
+++ b/libre/lesspipe-libre/rePKGBUILD
diff --git a/libre/lib32-mesa-demos-libre/PKGBUILD b/libre/lib32-mesa-demos-libre/PKGBUILD
new file mode 100644
index 000000000..1719f138d
--- /dev/null
+++ b/libre/lib32-mesa-demos-libre/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 94667 2010-10-09 11:21:35Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgbasename=mesa-demos-libre
+pkgname=lib32-$_pkgbasename
+pkgver=8.0.1
+pkgrel=2
+arch=(x86_64)
+pkgdesc="Mesa demos and tools (32-bit), libre"
+url="http://mesa3d.sourceforge.net"
+license=('custom')
+depends=('lib32-glew>=1.5.6' mesa-demos-libre)
+provides=("lib32-mesa-demos=$pkgver")
+replaces=('lib32-mesa-demos')
+conflicts=('lib32-mesa-demos')
+makedepends=(gcc-multilib)
+source=(ftp://ftp.freedesktop.org/pub/mesa/demos/${pkgver}/mesa-demos-${pkgver}.tar.bz2
+ mesa-demos-libre.patch)
+md5sums=('320c2a4b6edc6faba35d9cb1e2a30bf4'
+ '1858e95d40ac9e5e0b59753ce9e673e3')
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd "${srcdir}/mesa-demos-${pkgver}"
+ patch -Np1 -i "${srcdir}/mesa-demos-libre.patch"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/mesa-demos-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ for i in "$pkgdir/usr/bin/"*; do
+ mv "$i" "$i"32
+ done
+
+ mkdir -p "$pkgdir/usr/share/licenses"
+ ln -s mesa-demos "$pkgdir/usr/share/licenses/lib32-mesa-demos"
+}
diff --git a/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch b/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch
new file mode 100755
index 000000000..c5261f8e9
--- /dev/null
+++ b/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch
@@ -0,0 +1,1192 @@
+diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.am mesa-demos-8.0.1//src/demos/Makefile.am
+--- Desktop/mesa-demos-8.0.1//src/demos/Makefile.am 2010-07-13 14:46:40.000000000 -0400
++++ mesa-demos-8.0.1/src/demos/Makefile.am 2011-06-04 15:34:18.000000000 -0400
+@@ -62,7 +62,6 @@ bin_PROGRAMS = \
+ morph3d \
+ multiarb \
+ paltex \
+- pointblast \
+ projtex \
+ ray \
+ readpix \
+@@ -71,7 +70,6 @@ bin_PROGRAMS = \
+ shadowtex \
+ singlebuffer \
+ spectex \
+- spriteblast \
+ stex3d \
+ teapot \
+ terrain \
+diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.in mesa-demos-8.0.1//src/demos/Makefile.in
+--- Desktop/mesa-demos-8.0.1//src/demos/Makefile.in 2010-07-13 14:53:23.000000000 -0400
++++ mesa-demos-8.0.1/src/demos/Makefile.in 2011-06-04 15:35:32.000000000 -0400
+@@ -73,11 +73,10 @@ host_triplet = @host@
+ @HAVE_GLUT_TRUE@ ipers$(EXEEXT) isosurf$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ lodbias$(EXEEXT) morph3d$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ multiarb$(EXEEXT) paltex$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ pointblast$(EXEEXT) projtex$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ ray$(EXEEXT) readpix$(EXEEXT) reflect$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ renormal$(EXEEXT) shadowtex$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ singlebuffer$(EXEEXT) spectex$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ spriteblast$(EXEEXT) stex3d$(EXEEXT) \
++@HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \
++@HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \
++@HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \
++@HAVE_GLUT_TRUE@ spectex$(EXEEXT) stex3d$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ teapot$(EXEEXT) terrain$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ tessdemo$(EXEEXT) texcyl$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ texenv$(EXEEXT) textures$(EXEEXT) \
+@@ -188,9 +187,6 @@ multiarb_DEPENDENCIES = ../util/libutil.
+ paltex_SOURCES = paltex.c
+ paltex_OBJECTS = paltex.$(OBJEXT)
+ paltex_LDADD = $(LDADD)
+-pointblast_SOURCES = pointblast.c
+-pointblast_OBJECTS = pointblast.$(OBJEXT)
+-pointblast_LDADD = $(LDADD)
+ projtex_SOURCES = projtex.c
+ projtex_OBJECTS = projtex.$(OBJEXT)
+ projtex_DEPENDENCIES = ../util/libutil.la
+@@ -215,9 +211,6 @@ singlebuffer_LDADD = $(LDADD)
+ spectex_SOURCES = spectex.c
+ spectex_OBJECTS = spectex.$(OBJEXT)
+ spectex_LDADD = $(LDADD)
+-spriteblast_SOURCES = spriteblast.c
+-spriteblast_OBJECTS = spriteblast.$(OBJEXT)
+-spriteblast_LDADD = $(LDADD)
+ stex3d_SOURCES = stex3d.c
+ stex3d_OBJECTS = stex3d.$(OBJEXT)
+ stex3d_LDADD = $(LDADD)
+@@ -285,21 +278,20 @@ SOURCES = arbfplight.c arbfslight.c arbo
+ fbo_firecube.c fbotexture.c fire.c fogcoord.c fplight.c \
+ fslight.c gamma.c gearbox.c gears.c geartrain.c glinfo.c \
+ gloss.c gltestperf.c ipers.c isosurf.c lodbias.c morph3d.c \
+- multiarb.c paltex.c pointblast.c projtex.c ray.c readpix.c \
+- reflect.c renormal.c shadowtex.c singlebuffer.c spectex.c \
+- spriteblast.c stex3d.c teapot.c terrain.c tessdemo.c texcyl.c \
+- texenv.c textures.c trispd.c $(tunnel_SOURCES) tunnel2.c \
+- vao_demo.c winpos.c
++ multiarb.c paltex.c projtex.c ray.c readpix.c reflect.c \
++ renormal.c shadowtex.c singlebuffer.c spectex.c stex3d.c \
++ teapot.c terrain.c tessdemo.c texcyl.c texenv.c textures.c \
++ trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c winpos.c
+ DIST_SOURCES = arbfplight.c arbfslight.c arbocclude.c bounce.c \
+ clearspd.c copypix.c cubemap.c dinoshade.c dissolve.c \
+ drawpix.c engine.c fbo_firecube.c fbotexture.c fire.c \
+ fogcoord.c fplight.c fslight.c gamma.c gearbox.c gears.c \
+ geartrain.c glinfo.c gloss.c gltestperf.c ipers.c isosurf.c \
+- lodbias.c morph3d.c multiarb.c paltex.c pointblast.c projtex.c \
+- ray.c readpix.c reflect.c renormal.c shadowtex.c \
+- singlebuffer.c spectex.c spriteblast.c stex3d.c teapot.c \
+- terrain.c tessdemo.c texcyl.c texenv.c textures.c trispd.c \
+- $(tunnel_SOURCES) tunnel2.c vao_demo.c winpos.c
++ lodbias.c morph3d.c multiarb.c paltex.c projtex.c ray.c \
++ readpix.c reflect.c renormal.c shadowtex.c singlebuffer.c \
++ spectex.c stex3d.c teapot.c terrain.c tessdemo.c texcyl.c \
++ texenv.c textures.c trispd.c $(tunnel_SOURCES) tunnel2.c \
++ vao_demo.c winpos.c
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -653,9 +645,6 @@ multiarb$(EXEEXT): $(multiarb_OBJECTS) $
+ paltex$(EXEEXT): $(paltex_OBJECTS) $(paltex_DEPENDENCIES)
+ @rm -f paltex$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(paltex_OBJECTS) $(paltex_LDADD) $(LIBS)
+-pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES)
+- @rm -f pointblast$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS)
+ projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES)
+ @rm -f projtex$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS)
+@@ -680,9 +669,6 @@ singlebuffer$(EXEEXT): $(singlebuffer_OB
+ spectex$(EXEEXT): $(spectex_OBJECTS) $(spectex_DEPENDENCIES)
+ @rm -f spectex$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS)
+-spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES)
+- @rm -f spriteblast$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS)
+ stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES)
+ @rm -f stex3d$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS)
+@@ -756,7 +742,6 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/morph3d.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiarb.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paltex.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pointblast.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projtex.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readpix.Po@am__quote@
+@@ -765,7 +750,6 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowtex.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/singlebuffer.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spectex.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spriteblast.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stex3d.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/teapot.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@
+diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/pointblast.c mesa-demos-8.0.1//src/demos/pointblast.c
+--- Desktop/mesa-demos-8.0.1//src/demos/pointblast.c 2010-07-07 13:57:15.000000000 -0400
++++ mesa-demos-8.0.1/src/demos/pointblast.c 1969-12-31 19:00:00.000000000 -0500
+@@ -1,504 +0,0 @@
+-
+-/* Copyright (c) Mark J. Kilgard, 1997. */
+-
+-/* This program is freely distributable without licensing fees
+- and is provided without guarantee or warrantee expressed or
+- implied. This program is -not- in the public domain. */
+-
+-/* This example demonstrates how to render particle effects
+- with OpenGL. A cloud of pinkish/orange particles explodes with the
+- particles bouncing off the ground. When the EXT_point_parameters
+- is present , the particle size is attenuated based on eye distance. */
+-
+-
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <math.h> /* for cos(), sin(), and sqrt() */
+-#ifdef _WIN32
+-#include <windows.h>
+-#endif
+-#include <GL/glew.h>
+-#include <GL/glut.h>
+-
+-/* Some <math.h> files do not define M_PI... */
+-#ifndef M_PI
+-#define M_PI 3.14159265
+-#endif
+-
+-#if 0 /* For debugging. */
+-#undef GL_EXT_point_parameters
+-#endif
+-
+-static GLfloat angle = -150; /* in degrees */
+-static int spin = 0;
+-static int moving, begin;
+-static int newModel = 1;
+-static float theTime;
+-static int repeat = 1;
+-static int blend = 1;
+-int useMipmaps = 1;
+-int linearFiltering = 1;
+-
+-static GLfloat constant[3] = { 1/5.0, 0.0, 0.0 };
+-static GLfloat linear[3] = { 0.0, 1/5.0, 0.0 };
+-static GLfloat theQuad[3] = { 0.25, 0.0, 1/60.0 };
+-
+-#define MAX_POINTS 2000
+-
+-static int numPoints = 200;
+-
+-static GLfloat pointList[MAX_POINTS][3];
+-static GLfloat pointTime[MAX_POINTS];
+-static GLfloat pointVelocity[MAX_POINTS][2];
+-static GLfloat pointDirection[MAX_POINTS][2];
+-static int colorList[MAX_POINTS];
+-static int animate = 1, motion = 0;
+-
+-static GLfloat colorSet[][4] = {
+- /* Shades of red. */
+- { 0.7, 0.2, 0.4, 0.5 },
+- { 0.8, 0.0, 0.7, 0.5 },
+- { 1.0, 0.0, 0.0, 0.5 },
+- { 0.9, 0.3, 0.6, 0.5 },
+- { 1.0, 0.4, 0.0, 0.5 },
+- { 1.0, 0.0, 0.5, 0.5 },
+-};
+-
+-#define NUM_COLORS (sizeof(colorSet)/sizeof(colorSet[0]))
+-
+-#define DEAD (NUM_COLORS+1)
+-
+-
+-#if 0 /* drand48 might be better on Unix machines */
+-#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * drand48())
+-#else
+-static float float_rand(void) { return rand() / (float) RAND_MAX; }
+-#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * float_rand())
+-#endif
+-
+-#define MEAN_VELOCITY 3.0
+-#define GRAVITY 2.0
+-
+-/* Modeling units of ground extent in each X and Z direction. */
+-#define EDGE 12
+-
+-static void
+-makePointList(void)
+-{
+- float angle, velocity, direction;
+- int i;
+-
+- motion = 1;
+- for (i=0; i<numPoints; i++) {
+- pointList[i][0] = 0.0;
+- pointList[i][1] = 0.0;
+- pointList[i][2] = 0.0;
+- pointTime[i] = 0.0;
+- angle = (RANDOM_RANGE(60.0, 70.0)) * M_PI/180.0;
+- direction = RANDOM_RANGE(0.0, 360.0) * M_PI/180.0;
+- pointDirection[i][0] = cos(direction);
+- pointDirection[i][1] = sin(direction);
+- velocity = MEAN_VELOCITY + RANDOM_RANGE(-0.8, 1.0);
+- pointVelocity[i][0] = velocity * cos(angle);
+- pointVelocity[i][1] = velocity * sin(angle);
+- colorList[i] = rand() % NUM_COLORS;
+- }
+- theTime = 0.0;
+-}
+-
+-static void
+-updatePointList(void)
+-{
+- float distance;
+- int i;
+-
+- static double t0 = -1.;
+- double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
+- if (t0 < 0.0)
+- t0 = t;
+- dt = t - t0;
+- t0 = t;
+-
+- motion = 0;
+- for (i=0; i<numPoints; i++) {
+- distance = pointVelocity[i][0] * theTime;
+-
+- /* X and Z */
+- pointList[i][0] = pointDirection[i][0] * distance;
+- pointList[i][2] = pointDirection[i][1] * distance;
+-
+- /* Z */
+- pointList[i][1] =
+- (pointVelocity[i][1] - 0.5 * GRAVITY * pointTime[i])*pointTime[i];
+-
+- /* If we hit the ground, bounce the point upward again. */
+- if (pointList[i][1] <= 0.0) {
+- if (distance > EDGE) {
+- /* Particle has hit ground past the distance duration of
+- the particles. Mark particle as dead. */
+- colorList[i] = NUM_COLORS; /* Not moving. */
+- continue;
+- }
+-
+- pointVelocity[i][1] *= 0.8; /* 80% of previous up velocity. */
+- pointTime[i] = 0.0; /* Reset the particles sense of up time. */
+- }
+- motion = 1;
+- pointTime[i] += dt;
+- }
+- theTime += dt;
+- if (!motion && !spin) {
+- if (repeat) {
+- makePointList();
+- } else {
+- glutIdleFunc(NULL);
+- }
+- }
+-}
+-
+-static void
+-idle(void)
+-{
+- updatePointList();
+- if (spin) {
+- angle += 0.3;
+- newModel = 1;
+- }
+- glutPostRedisplay();
+-}
+-
+-static void
+-visible(int vis)
+-{
+- if (vis == GLUT_VISIBLE) {
+- if (animate && (motion || spin)) {
+- glutIdleFunc(idle);
+- }
+- } else {
+- glutIdleFunc(NULL);
+- }
+-}
+-
+-static void
+-recalcModelView(void)
+-{
+- glPopMatrix();
+- glPushMatrix();
+- glRotatef(angle, 0.0, 1.0, 0.0);
+- newModel = 0;
+-}
+-
+-static void
+-redraw(void)
+-{
+- int i;
+-
+- glDepthMask(GL_TRUE);
+- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+- if (newModel)
+- recalcModelView();
+-
+-
+- /* Draw the floor. */
+-/* glEnable(GL_TEXTURE_2D);*/
+- glColor3f(0.5, 1.0, 0.5);
+- glBegin(GL_QUADS);
+- glTexCoord2f(0.0, 0.0);
+- glVertex3f(-EDGE, -0.05, -EDGE);
+- glTexCoord2f(20.0, 0.0);
+- glVertex3f(EDGE, -0.05, -EDGE);
+- glTexCoord2f(20.0, 20.0);
+- glVertex3f(EDGE, -0.05, EDGE);
+- glTexCoord2f(0.0, 20.0);
+- glVertex3f(-EDGE, -0.05, EDGE);
+- glEnd();
+-
+- /* Allow particles to blend with each other. */
+- glDepthMask(GL_FALSE);
+-
+- if (blend)
+- glEnable(GL_BLEND);
+-
+- glDisable(GL_TEXTURE_2D);
+- glBegin(GL_POINTS);
+- for (i=0; i<numPoints; i++) {
+- /* Draw alive particles. */
+- if (colorList[i] != DEAD) {
+- glColor4fv(colorSet[colorList[i]]);
+- glVertex3fv(pointList[i]);
+- }
+- }
+- glEnd();
+-
+- glDisable(GL_BLEND);
+-
+- glutSwapBuffers();
+-}
+-
+-/* ARGSUSED2 */
+-static void
+-mouse(int button, int state, int x, int y)
+-{
+- /* Scene can be spun around Y axis using left
+- mouse button movement. */
+- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
+- moving = 1;
+- begin = x;
+- }
+- if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
+- moving = 0;
+- }
+-}
+-
+-/* ARGSUSED1 */
+-static void
+-mouseMotion(int x, int y)
+-{
+- if (moving) {
+- angle = angle + (x - begin);
+- begin = x;
+- newModel = 1;
+- glutPostRedisplay();
+- }
+-}
+-
+-static void
+-menu(int option)
+-{
+- switch (option) {
+- case 0:
+- makePointList();
+- break;
+-#ifdef GL_ARB_point_parameters
+- case 1:
+- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, constant);
+- break;
+- case 2:
+- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, linear);
+- break;
+- case 3:
+- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
+- break;
+-#endif
+- case 4:
+- blend = 1;
+- break;
+- case 5:
+- blend = 0;
+- break;
+-#ifdef GL_ARB_point_parameters
+- case 6:
+- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 1.0);
+- break;
+- case 7:
+- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 10.0);
+- break;
+-#endif
+- case 8:
+- glEnable(GL_POINT_SMOOTH);
+- break;
+- case 9:
+- glDisable(GL_POINT_SMOOTH);
+- break;
+- case 10:
+- glPointSize(2.0);
+- break;
+- case 11:
+- glPointSize(4.0);
+- break;
+- case 12:
+- glPointSize(8.0);
+- break;
+- case 13:
+- spin = 1 - spin;
+- if (animate && (spin || motion)) {
+- glutIdleFunc(idle);
+- } else {
+- glutIdleFunc(NULL);
+- }
+- break;
+- case 14:
+- numPoints = 200;
+- break;
+- case 15:
+- numPoints = 500;
+- break;
+- case 16:
+- numPoints = 1000;
+- break;
+- case 17:
+- numPoints = 2000;
+- break;
+- case 666:
+- exit(0);
+- }
+- glutPostRedisplay();
+-}
+-
+-/* ARGSUSED1 */
+-static void
+-key(unsigned char c, int x, int y)
+-{
+- switch (c) {
+- case 13:
+- animate = 1 - animate; /* toggle. */
+- if (animate && (motion || spin)) {
+- glutIdleFunc(idle);
+- } else {
+- glutIdleFunc(NULL);
+- }
+- break;
+- case ' ':
+- animate = 1;
+- makePointList();
+- glutIdleFunc(idle);
+- break;
+- case 27:
+- exit(0);
+- }
+-}
+-
+-/* Nice floor texture tiling pattern. */
+-static char *circles[] = {
+- "....xxxx........",
+- "..xxxxxxxx......",
+- ".xxxxxxxxxx.....",
+- ".xxx....xxx.....",
+- "xxx......xxx....",
+- "xxx......xxx....",
+- "xxx......xxx....",
+- "xxx......xxx....",
+- ".xxx....xxx.....",
+- ".xxxxxxxxxx.....",
+- "..xxxxxxxx......",
+- "....xxxx........",
+- "................",
+- "................",
+- "................",
+- "................",
+-};
+-
+-static void
+-makeFloorTexture(void)
+-{
+- GLubyte floorTexture[16][16][3];
+- GLubyte *loc;
+- int s, t;
+-
+- /* Setup RGB image for the texture. */
+- loc = (GLubyte*) floorTexture;
+- for (t = 0; t < 16; t++) {
+- for (s = 0; s < 16; s++) {
+- if (circles[t][s] == 'x') {
+- /* Nice blue. */
+- loc[0] = 0x1f;
+- loc[1] = 0x1f;
+- loc[2] = 0x8f;
+- } else {
+- /* Light gray. */
+- loc[0] = 0xca;
+- loc[1] = 0xca;
+- loc[2] = 0xca;
+- }
+- loc += 3;
+- }
+- }
+-
+- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+-
+- if (useMipmaps) {
+- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
+- GL_LINEAR_MIPMAP_LINEAR);
+- gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 16, 16,
+- GL_RGB, GL_UNSIGNED_BYTE, floorTexture);
+- } else {
+- if (linearFiltering) {
+- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+- } else {
+- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+- }
+- glTexImage2D(GL_TEXTURE_2D, 0, 3, 16, 16, 0,
+- GL_RGB, GL_UNSIGNED_BYTE, floorTexture);
+- }
+-}
+-
+-int
+-main(int argc, char **argv)
+-{
+- int i;
+-
+- glutInitWindowSize(300, 300);
+- glutInit(&argc, argv);
+- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE);
+-
+- for (i=1; i<argc; i++) {
+- if(!strcmp("-noms", argv[i])) {
+- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
+- printf("forcing no multisampling\n");
+- } else if(!strcmp("-nomipmaps", argv[i])) {
+- useMipmaps = 0;
+- } else if(!strcmp("-nearest", argv[i])) {
+- linearFiltering = 0;
+- }
+- }
+-
+- glutCreateWindow("point burst");
+- glewInit();
+- glutDisplayFunc(redraw);
+- glutMouseFunc(mouse);
+- glutMotionFunc(mouseMotion);
+- glutVisibilityFunc(visible);
+- glutKeyboardFunc(key);
+- glutCreateMenu(menu);
+- glutAddMenuEntry("Reset time", 0);
+- glutAddMenuEntry("Constant", 1);
+- glutAddMenuEntry("Linear", 2);
+- glutAddMenuEntry("Quadratic", 3);
+- glutAddMenuEntry("Blend on", 4);
+- glutAddMenuEntry("Blend off", 5);
+- glutAddMenuEntry("Threshold 1", 6);
+- glutAddMenuEntry("Threshold 10", 7);
+- glutAddMenuEntry("Point smooth on", 8);
+- glutAddMenuEntry("Point smooth off", 9);
+- glutAddMenuEntry("Point size 2", 10);
+- glutAddMenuEntry("Point size 4", 11);
+- glutAddMenuEntry("Point size 8", 12);
+- glutAddMenuEntry("Toggle spin", 13);
+- glutAddMenuEntry("200 points ", 14);
+- glutAddMenuEntry("500 points ", 15);
+- glutAddMenuEntry("1000 points ", 16);
+- glutAddMenuEntry("2000 points ", 17);
+- glutAddMenuEntry("Quit", 666);
+- glutAttachMenu(GLUT_RIGHT_BUTTON);
+-
+- if (!glutExtensionSupported("GL_ARB_point_parameters")) {
+- fprintf(stderr, "Sorry, GL_ARB_point_parameters is not supported.\n");
+- return -1;
+- }
+-
+- glShadeModel(GL_FLAT);
+- glEnable(GL_DEPTH_TEST);
+- glEnable(GL_POINT_SMOOTH);
+- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+- glPointSize(8.0);
+-#if GL_ARB_point_parameters
+- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
+-#endif
+- glMatrixMode(GL_PROJECTION);
+- gluPerspective( /* field of view in degree */ 40.0,
+- /* aspect ratio */ 1.0,
+- /* Z near */ 0.5, /* Z far */ 40.0);
+- glMatrixMode(GL_MODELVIEW);
+- gluLookAt(0.0, 1.0, 8.0, /* eye location */
+- 0.0, 1.0, 0.0, /* center is at (0,0,0) */
+- 0.0, 1.0, 0.); /* up is in postivie Y direction */
+- glPushMatrix(); /* dummy push so we can pop on model
+- recalc */
+-
+- makePointList();
+- makeFloorTexture();
+-
+- glutMainLoop();
+- return 0; /* ANSI C requires main to return int. */
+-}
+diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/spriteblast.c mesa-demos-8.0.1//src/demos/spriteblast.c
+--- Desktop/mesa-demos-8.0.1//src/demos/spriteblast.c 2010-07-07 13:57:15.000000000 -0400
++++ mesa-demos-8.0.1/src/demos/spriteblast.c 1969-12-31 19:00:00.000000000 -0500
+@@ -1,555 +0,0 @@
+-
+-/* Copyright (c) Mark J. Kilgard, 1997. */
+-
+-/* This program is freely distributable without licensing fees
+- and is provided without guarantee or warrantee expressed or
+- implied. This program is -not- in the public domain. */
+-
+-/* This example demonstrates how to render particle effects
+- with OpenGL. A cloud of pinkish/orange particles explodes with the
+- particles bouncing off the ground. When the EXT_point_parameters
+- is present , the particle size is attenuated based on eye distance. */
+-
+-
+-/* Modified by Brian Paul to test GL_ARB_point_sprite */
+-
+-
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <math.h> /* for cos(), sin(), and sqrt() */
+-#ifdef _WIN32
+-#include <windows.h>
+-#endif
+-#include <GL/glew.h>
+-#include <GL/glut.h>
+-
+-/* Some <math.h> files do not define M_PI... */
+-#ifndef M_PI
+-#define M_PI 3.14159265
+-#endif
+-
+-#if 0 /* For debugging. */
+-#undef GL_EXT_point_parameters
+-#endif
+-
+-static GLfloat angle = -150; /* in degrees */
+-static int spin = 0;
+-static int moving, begin;
+-static float theTime;
+-static int repeat = 1;
+-static int blend = 1;
+-int useMipmaps = 1;
+-int linearFiltering = 1;
+-
+-static GLfloat constant[3] = { .2, 0.0, 0.0 };
+-static GLfloat linear[3] = { .0, .1, 0.0 };
+-static GLfloat theQuad[3] = { .005, 0.1, 1/600.0 };
+-
+-#define MAX_POINTS 2000
+-
+-static int numPoints = 200;
+-
+-static GLfloat pointList[MAX_POINTS][3];
+-static GLfloat pointTime[MAX_POINTS];
+-static GLfloat pointVelocity[MAX_POINTS][2];
+-static GLfloat pointDirection[MAX_POINTS][2];
+-static int colorList[MAX_POINTS];
+-static int animate = 1, motion = 0, org = 0, sprite = 1, smooth = 1;
+-
+-static GLfloat colorSet[][4] = {
+- /* Shades of red. */
+- { 0.7, 0.2, 0.4, 0.5 },
+- { 0.8, 0.0, 0.7, 0.5 },
+- { 1.0, 0.0, 0.0, 0.5 },
+- { 0.9, 0.3, 0.6, 0.5 },
+- { 1.0, 0.4, 0.0, 0.5 },
+- { 1.0, 0.0, 0.5, 0.5 },
+-};
+-
+-#define NUM_COLORS (sizeof(colorSet)/sizeof(colorSet[0]))
+-
+-#define DEAD (NUM_COLORS+1)
+-
+-
+-/* GL */
+-static GLint spritePattern[16][16] = {
+- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+- { 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
+- { 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
+- { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0 },
+- { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
+- { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
+- { 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0 },
+- { 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0 },
+- { 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0 },
+- { 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0 },
+- { 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0 },
+- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+-};
+-
+-
+-
+-
+-#if 0 /* drand48 might be better on Unix machines */
+-#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * drand48())
+-#else
+-static float float_rand(void) { return rand() / (float) RAND_MAX; }
+-#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * float_rand())
+-#endif
+-
+-#define MEAN_VELOCITY 3.0
+-#define GRAVITY 2.0
+-
+-/* Modeling units of ground extent in each X and Z direction. */
+-#define EDGE 12
+-
+-static void
+-makePointList(void)
+-{
+- float angle, velocity, direction;
+- int i;
+-
+- motion = 1;
+- for (i=0; i<numPoints; i++) {
+- pointList[i][0] = 0.0;
+- pointList[i][1] = 0.0;
+- pointList[i][2] = 0.0;
+- pointTime[i] = 0.0;
+- angle = (RANDOM_RANGE(60.0, 70.0)) * M_PI/180.0;
+- direction = RANDOM_RANGE(0.0, 360.0) * M_PI/180.0;
+- pointDirection[i][0] = cos(direction);
+- pointDirection[i][1] = sin(direction);
+- velocity = MEAN_VELOCITY + RANDOM_RANGE(-0.8, 1.0);
+- pointVelocity[i][0] = velocity * cos(angle);
+- pointVelocity[i][1] = velocity * sin(angle);
+- colorList[i] = rand() % NUM_COLORS;
+- }
+- theTime = 0.0;
+-}
+-
+-static void
+-updatePointList(void)
+-{
+- float distance;
+- int i;
+-
+- static double t0 = -1.;
+- double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
+- if (t0 < 0.0)
+- t0 = t;
+- dt = t - t0;
+- t0 = t;
+-
+- motion = 0;
+- for (i=0; i<numPoints; i++) {
+- distance = pointVelocity[i][0] * theTime;
+-
+- /* X and Z */
+- pointList[i][0] = pointDirection[i][0] * distance;
+- pointList[i][2] = pointDirection[i][1] * distance;
+-
+- /* Z */
+- pointList[i][1] =
+- (pointVelocity[i][1] - 0.5 * GRAVITY * pointTime[i])*pointTime[i];
+-
+- /* If we hit the ground, bounce the point upward again. */
+- if (pointList[i][1] <= 0.0) {
+- if (distance > EDGE) {
+- /* Particle has hit ground past the distance duration of
+- the particles. Mark particle as dead. */
+- colorList[i] = NUM_COLORS; /* Not moving. */
+- continue;
+- }
+-
+- pointVelocity[i][1] *= 0.8; /* 80% of previous up velocity. */
+- pointTime[i] = 0.0; /* Reset the particles sense of up time. */
+- }
+- motion = 1;
+- pointTime[i] += dt;
+- }
+- theTime += dt;
+- if (!motion && !spin) {
+- if (repeat) {
+- makePointList();
+- } else {
+- glutIdleFunc(NULL);
+- }
+- }
+-}
+-
+-static void
+-idle(void)
+-{
+- updatePointList();
+- if (spin) {
+- angle += 0.3;
+- }
+- glutPostRedisplay();
+-}
+-
+-static void
+-visible(int vis)
+-{
+- if (vis == GLUT_VISIBLE) {
+- if (animate && (motion || spin)) {
+- glutIdleFunc(idle);
+- }
+- } else {
+- glutIdleFunc(NULL);
+- }
+-}
+-
+-static void
+-redraw(void)
+-{
+- int i;
+-
+- glDepthMask(GL_TRUE);
+- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+-
+- glPushMatrix();
+- glRotatef(15.0, 1.0, 0.0, 0.0);
+- glRotatef(angle, 0.0, 1.0, 0.0);
+-
+-
+- /* Draw the floor. */
+-/* glEnable(GL_TEXTURE_2D);*/
+- glColor3f(0.1, 0.5, 1.0);
+- glBegin(GL_QUADS);
+- glTexCoord2f(0.0, 0.0);
+- glVertex3f(-EDGE, -0.05, -EDGE);
+- glTexCoord2f(20.0, 0.0);
+- glVertex3f(EDGE, -0.05, -EDGE);
+- glTexCoord2f(20.0, 20.0);
+- glVertex3f(EDGE, -0.05, EDGE);
+- glTexCoord2f(0.0, 20.0);
+- glVertex3f(-EDGE, -0.05, EDGE);
+- glEnd();
+-
+- /* Allow particles to blend with each other. */
+- glDepthMask(GL_FALSE);
+-
+- if (blend)
+- glEnable(GL_BLEND);
+-
+- if (sprite) {
+- glEnable(GL_TEXTURE_2D);
+-#ifdef GL_ARB_point_sprite
+- glEnable(GL_POINT_SPRITE_ARB);
+-#endif
+- }
+-
+- glColor3f(1,1,1);
+- glBegin(GL_POINTS);
+- for (i=0; i<numPoints; i++) {
+- /* Draw alive particles. */
+- if (colorList[i] != DEAD) {
+- if (!sprite) glColor4fv(colorSet[colorList[i]]);
+- glVertex3fv(pointList[i]);
+- }
+- }
+- glEnd();
+-
+- glDisable(GL_TEXTURE_2D);
+-#ifdef GL_ARB_point_sprite
+- glDisable(GL_POINT_SPRITE_ARB);
+-#endif
+- glDisable(GL_BLEND);
+-
+- glPopMatrix();
+-
+- glutSwapBuffers();
+-}
+-
+-/* ARGSUSED2 */
+-static void
+-mouse(int button, int state, int x, int y)
+-{
+- /* Scene can be spun around Y axis using left
+- mouse button movement. */
+- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
+- moving = 1;
+- begin = x;
+- }
+- if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
+- moving = 0;
+- }
+-}
+-
+-/* ARGSUSED1 */
+-static void
+-mouseMotion(int x, int y)
+-{
+- if (moving) {
+- angle = angle + (x - begin);
+- begin = x;
+- glutPostRedisplay();
+- }
+-}
+-
+-static void
+-menu(int option)
+-{
+- switch (option) {
+- case 0:
+- makePointList();
+- break;
+-#ifdef GL_ARB_point_parameters
+- case 1:
+- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, constant);
+- break;
+- case 2:
+- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, linear);
+- break;
+- case 3:
+- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
+- break;
+-#endif
+- case 4:
+- blend = 1;
+- break;
+- case 5:
+- blend = 0;
+- break;
+-#ifdef GL_ARB_point_parameters
+- case 6:
+- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 1.0);
+- break;
+- case 7:
+- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 10.0);
+- break;
+-#endif
+- case 8:
+- glEnable(GL_POINT_SMOOTH);
+- smooth = 1;
+- break;
+- case 9:
+- glDisable(GL_POINT_SMOOTH);
+- smooth = 0;
+- break;
+- case 10:
+- glPointSize(16.0);
+- break;
+- case 11:
+- glPointSize(32.0);
+- break;
+- case 12:
+- glPointSize(64.0);
+- break;
+- case 13:
+- spin = 1 - spin;
+- if (animate && (spin || motion)) {
+- glutIdleFunc(idle);
+- } else {
+- glutIdleFunc(NULL);
+- }
+- break;
+- case 14:
+- numPoints = 200;
+- break;
+- case 15:
+- numPoints = 500;
+- break;
+- case 16:
+- numPoints = 1000;
+- break;
+- case 17:
+- numPoints = 2000;
+- break;
+- case 666:
+- exit(0);
+- }
+- glutPostRedisplay();
+-}
+-
+-/* ARGSUSED1 */
+-static void
+-key(unsigned char c, int x, int y)
+-{
+- switch (c) {
+- case 13:
+- animate = 1 - animate; /* toggle. */
+- if (animate && (motion || spin)) {
+- glutIdleFunc(idle);
+- } else {
+- glutIdleFunc(NULL);
+- }
+- break;
+- case ' ':
+- animate = 1;
+- makePointList();
+- glutIdleFunc(idle);
+- break;
+- case 'o':
+- case 'O':
+- org ^= 1;
+-#ifdef GL_VERSION_2_0
+-#ifdef GL_ARB_point_parameters
+- glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN,
+- org ? GL_LOWER_LEFT : GL_UPPER_LEFT);
+-#endif
+-#endif
+- glutPostRedisplay();
+- break;
+- case 't':
+- case 'T':
+- sprite ^= 1;
+- glutPostRedisplay();
+- break;
+- case 's':
+- case 'S':
+- (smooth ^= 1) ? glEnable(GL_POINT_SMOOTH) : glDisable(GL_POINT_SMOOTH);
+- glutPostRedisplay();
+- break;
+- case '0':
+- glPointSize(1.0);
+- glutPostRedisplay();
+- break;
+- case '1':
+- glPointSize(16.0);
+- glutPostRedisplay();
+- break;
+- case '2':
+- glPointSize(32.0);
+- glutPostRedisplay();
+- break;
+- case '3':
+- glPointSize(64.0);
+- glutPostRedisplay();
+- break;
+- case '4':
+- glPointSize(128.0);
+- glutPostRedisplay();
+- break;
+- case 27:
+- exit(0);
+- }
+-}
+-
+-
+-
+-static void
+-makeSprite(void)
+-{
+- GLubyte texture[16][16][4];
+- int i, j;
+-
+- if (!glutExtensionSupported("GL_ARB_point_sprite")) {
+- printf("Sorry, this demo requires GL_ARB_point_sprite.\n");
+- exit(0);
+- }
+- if (!glutExtensionSupported("GL_ARB_point_parameters")) {
+- printf("Sorry, this demo requires GL_ARB_point_parameters.\n");
+- exit(0);
+- }
+-
+- for (i = 0; i < 16; i++) {
+- for (j = 0; j < 16; j++) {
+- if (spritePattern[i][j]) {
+- texture[i][j][0] = 255;
+- texture[i][j][1] = 255;
+- texture[i][j][2] = 255;
+- texture[i][j][3] = 255;
+- }
+- else {
+- texture[i][j][0] = 255;
+- texture[i][j][1] = 0;
+- texture[i][j][2] = 0;
+- texture[i][j][3] = 0;
+- }
+- }
+- }
+-
+- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE,
+- texture);
+- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+-#ifdef GL_ARB_point_sprite
+- glTexEnvi(GL_POINT_SPRITE_ARB, GL_COORD_REPLACE_ARB, GL_TRUE);
+-#endif
+-}
+-
+-
+-static void
+-reshape(int width, int height)
+-{
+- GLfloat h = (GLfloat) height / (GLfloat) width;
+-
+- glViewport(0, 0, (GLint) width, (GLint) height);
+- glMatrixMode(GL_PROJECTION);
+- glLoadIdentity();
+- glFrustum(-1.0, 1.0, -h, h, 2.0, 30.0);
+- glMatrixMode(GL_MODELVIEW);
+- glLoadIdentity();
+- glTranslatef(0.0, 0.0, -10.0);
+-}
+-
+-int
+-main(int argc, char **argv)
+-{
+- int i;
+-
+- glutInitWindowSize(600,300);
+- glutInit(&argc, argv);
+- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE);
+-
+- for (i=1; i<argc; i++) {
+- if(!strcmp("-noms", argv[i])) {
+- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
+- printf("forcing no multisampling\n");
+- } else if(!strcmp("-nomipmaps", argv[i])) {
+- useMipmaps = 0;
+- } else if(!strcmp("-nearest", argv[i])) {
+- linearFiltering = 0;
+- }
+- }
+- glutCreateWindow("sprite blast");
+- glewInit();
+- glutReshapeFunc(reshape);
+- glutDisplayFunc(redraw);
+- glutMouseFunc(mouse);
+- glutMotionFunc(mouseMotion);
+- glutVisibilityFunc(visible);
+- glutKeyboardFunc(key);
+- glutCreateMenu(menu);
+- glutAddMenuEntry("Reset time", 0);
+- glutAddMenuEntry("Constant", 1);
+- glutAddMenuEntry("Linear", 2);
+- glutAddMenuEntry("Quadratic", 3);
+- glutAddMenuEntry("Blend on", 4);
+- glutAddMenuEntry("Blend off", 5);
+- glutAddMenuEntry("Threshold 1", 6);
+- glutAddMenuEntry("Threshold 10", 7);
+- glutAddMenuEntry("Point smooth on", 8);
+- glutAddMenuEntry("Point smooth off", 9);
+- glutAddMenuEntry("Point size 16", 10);
+- glutAddMenuEntry("Point size 32", 11);
+- glutAddMenuEntry("Point size 64", 12);
+- glutAddMenuEntry("Toggle spin", 13);
+- glutAddMenuEntry("200 points ", 14);
+- glutAddMenuEntry("500 points ", 15);
+- glutAddMenuEntry("1000 points ", 16);
+- glutAddMenuEntry("2000 points ", 17);
+- glutAddMenuEntry("Quit", 666);
+- glutAttachMenu(GLUT_RIGHT_BUTTON);
+-
+- makePointList();
+- makeSprite();
+-
+- glShadeModel(GL_FLAT);
+- glEnable(GL_DEPTH_TEST);
+- glEnable(GL_POINT_SMOOTH);
+- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+- glPointSize(32.0);
+-#ifdef GL_ARB_point_parameters
+- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
+-#endif
+-
+- glutMainLoop();
+- return 0; /* ANSI C requires main to return int. */
+-}
diff --git a/libre/lib32-sdl-libre/PKGBUILD b/libre/lib32-sdl-libre/PKGBUILD
new file mode 100644
index 000000000..a1fa02a0a
--- /dev/null
+++ b/libre/lib32-sdl-libre/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id$
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgbasename=sdl-libre
+pkgname=lib32-$_pkgbasename
+pkgver=1.2.15
+pkgrel=3
+pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (32-bit)"
+arch=('x86_64')
+url="http://www.libsdl.org"
+license=('LGPL')
+provides=("lib32-sdl=${pkgver}")
+conflicts=('lib32-sdl')
+replaces=('lib32-sdl')
+depends=('lib32-libxext' 'lib32-libxrender' 'lib32-libx11' $_pkgbasename)
+makedepends=('lib32-alsa-lib' 'lib32-mesa' 'lib32-libpulse' gcc-multilib)
+optdepends=('lib32-alsa-lib: ALSA audio driver'
+ 'lib32-libpulse: PulseAudio audio driver')
+options=('!libtool')
+source=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz
+ sdl-1.2.14-fix-mouse-clicking.patch
+ sdl-1.2.14-disable-mmx.patch
+ fix_joystick_misc_axes.diff
+ libsdl-1.2.15-resizing.patch
+ libre.patch)
+md5sums=('9d96df8417572a2afb781a7c4c811a85'
+ '04d8c179f125e04bcd4c9d60e013c2d7'
+ 'e5c16b7611f62c7cb25f0534eff68852'
+ '687586a108b597a2a6b73070c1d37e51'
+ '3dd50347d8856160a9cbd7f80383a1f8'
+ '5c665f72b8a2adc97a91f6db6f2da79a')
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd SDL-$pkgver
+ patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch
+ patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch
+ patch -Np1 -i ../fix_joystick_misc_axes.diff
+ patch -Np1 -i ../libsdl-1.2.15-resizing.patch
+ patch -Np0 -i ../libre.patch
+ ./configure --prefix=/usr --disable-nasm --enable-alsa \
+ --with-x --disable-rpath --disable-static --libdir=/usr/lib32
+ make
+}
+
+package() {
+ cd SDL-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ rm -rf "$pkgdir"/usr/{include,share}
+
+ cd "$pkgdir/usr/bin"
+ mv sdl-config sdl-config-32
+}
diff --git a/libre/lib32-sdl-libre/fix_joystick_misc_axes.diff b/libre/lib32-sdl-libre/fix_joystick_misc_axes.diff
new file mode 100644
index 000000000..75e3755c9
--- /dev/null
+++ b/libre/lib32-sdl-libre/fix_joystick_misc_axes.diff
@@ -0,0 +1,13 @@
+diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c
+index ee43974..80e46e4 100644
+--- a/src/joystick/linux/SDL_sysjoystick.c
++++ b/src/joystick/linux/SDL_sysjoystick.c
+@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd)
+ ++joystick->nbuttons;
+ }
+ }
+- for ( i=0; i<ABS_MISC; ++i ) {
++ for ( i=0; i<ABS_MAX; ++i ) {
+ /* Skip hats */
+ if ( i == ABS_HAT0X ) {
+ i = ABS_HAT3Y;
diff --git a/libre/sdl-libre/riva_mmio.patch b/libre/lib32-sdl-libre/libre.patch
index 945d9bf9b..72f7da56a 100644
--- a/libre/sdl-libre/riva_mmio.patch
+++ b/libre/lib32-sdl-libre/libre.patch
@@ -552,3 +552,27 @@
/* The Riva has an accelerated color fill */
this->info.blit_fill = 1;
+--- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200
++++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200
+@@ -46,7 +46,6 @@
+ #include "SDL_fbevents_c.h"
+ #include "SDL_fb3dfx.h"
+ #include "SDL_fbmatrox.h"
+-#include "SDL_fbriva.h"
+
+ /*#define FBCON_DEBUG*/
+
+@@ -769,13 +768,6 @@
+ #endif
+ FB_3DfxAccel(this, finfo.accel);
+ break;
+- case FB_ACCEL_NV3:
+- case FB_ACCEL_NV4:
+-#ifdef FBACCEL_DEBUG
+- printf("NVidia hardware accelerator!\n");
+-#endif
+- FB_RivaAccel(this, finfo.accel);
+- break;
+ default:
+ #ifdef FBACCEL_DEBUG
+ printf("Unknown hardware accelerator.\n");
diff --git a/libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch b/libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch
new file mode 100644
index 000000000..0655a13e1
--- /dev/null
+++ b/libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch
@@ -0,0 +1,63 @@
+Description: Revert change that breaks window corner resizing
+ http://bugzilla.libsdl.org/show_bug.cgi?id=1430
+Author: Andrew Caudwell <acaudwell@gmail.com>
+Last-Update: 2012-04-10
+Bug-Debian: http://bugs.debian.org/665779
+
+diff -r c787fb1b5699 src/video/x11/SDL_x11events.c
+--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300
+@@ -57,12 +57,6 @@
+ static SDLKey MISC_keymap[256];
+ SDLKey X11_TranslateKeycode(Display *display, KeyCode kc);
+
+-/*
+- Pending resize target for ConfigureNotify (so outdated events don't
+- cause inappropriate resize events)
+-*/
+-int X11_PendingConfigureNotifyWidth = -1;
+-int X11_PendingConfigureNotifyHeight = -1;
+
+ #ifdef X_HAVE_UTF8_STRING
+ Uint32 Utf8ToUcs4(const Uint8 *utf8)
+@@ -825,16 +819,6 @@
+ #ifdef DEBUG_XEVENTS
+ printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height);
+ #endif
+- if ((X11_PendingConfigureNotifyWidth != -1) &&
+- (X11_PendingConfigureNotifyHeight != -1)) {
+- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) &&
+- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) {
+- /* Event is from before the resize, so ignore. */
+- break;
+- }
+- X11_PendingConfigureNotifyWidth = -1;
+- X11_PendingConfigureNotifyHeight = -1;
+- }
+ if ( SDL_VideoSurface ) {
+ if ((xevent.xconfigure.width != SDL_VideoSurface->w) ||
+ (xevent.xconfigure.height != SDL_VideoSurface->h)) {
+diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h
+--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300
+@@ -27,8 +27,3 @@
+ extern void X11_InitOSKeymap(_THIS);
+ extern void X11_PumpEvents(_THIS);
+ extern void X11_SetKeyboardState(Display *display, const char *key_vec);
+-
+-/* Variables to be exported */
+-extern int X11_PendingConfigureNotifyWidth;
+-extern int X11_PendingConfigureNotifyHeight;
+-
+diff -r c787fb1b5699 src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300
+@@ -1182,8 +1182,6 @@
+ current = NULL;
+ goto done;
+ }
+- X11_PendingConfigureNotifyWidth = width;
+- X11_PendingConfigureNotifyHeight = height;
+ } else {
+ if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) {
+ current = NULL;
diff --git a/libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch b/libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch
new file mode 100644
index 000000000..1bb6e0e47
--- /dev/null
+++ b/libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch
@@ -0,0 +1,13 @@
+# and another one from FS#26020
+
+--- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700
++++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700
+@@ -89,6 +89,8 @@
+ #include "SDL_yuvfuncs.h"
+ #include "SDL_yuv_sw_c.h"
+
++#undef __OPTIMIZE__
++
+ /* The functions used to manipulate software video overlays */
+ static struct private_yuvhwfuncs sw_yuvfuncs = {
+ SDL_LockYUV_SW,
diff --git a/libre/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch b/libre/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch
new file mode 100644
index 000000000..7d3e5acfc
--- /dev/null
+++ b/libre/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch
@@ -0,0 +1,23 @@
+--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700
++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700
+@@ -423,12 +423,15 @@
+ if ( xevent.xcrossing.mode == NotifyUngrab )
+ printf("Mode: NotifyUngrab\n");
+ #endif
+- if ( this->input_grab == SDL_GRAB_OFF ) {
+- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ if ( (xevent.xcrossing.mode != NotifyGrab) &&
++ (xevent.xcrossing.mode != NotifyUngrab) ) {
++ if ( this->input_grab == SDL_GRAB_OFF ) {
++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ }
++ posted = SDL_PrivateMouseMotion(0, 0,
++ xevent.xcrossing.x,
++ xevent.xcrossing.y);
+ }
+- posted = SDL_PrivateMouseMotion(0, 0,
+- xevent.xcrossing.x,
+- xevent.xcrossing.y);
+ }
+ break;
+
diff --git a/libre/libcl-libre/PKGBUILD b/libre/libcl-libre/PKGBUILD
new file mode 100644
index 000000000..a564c2ffb
--- /dev/null
+++ b/libre/libcl-libre/PKGBUILD
@@ -0,0 +1,98 @@
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+
+pkgname=libcl-libre
+true && pkgver=9.0.git20120905
+true && pkgrel=1
+arch=(
+ i686
+ x86_64
+ mips64el
+)
+makedepends=(
+ clang
+ dri2proto
+ git
+ glproto
+ imake
+ libdrm
+ libxdamage
+ libxext
+ libxml2
+ llvm
+ python2
+)
+license=(
+ MIT
+ Khronos
+ LGPL
+)
+url=http://mesa3d.sourceforge.net
+depends=(
+ gcc-libs
+ libdrm
+ libffi
+ libxcb
+ udev
+)
+conflicts=(
+ ${pkgname%-libre}
+)
+provides=(
+ ${pkgname%-libre}
+)
+replaces=(
+ ${pkgname%-libre}
+)
+pkgdesc='A libre version of OpenCL library and ICD loader, (Mesa OpenCL)'
+#source=(
+# ftp://ftp.freedesktop.org/pub/mesa/$pkgver/MesaLib-$pkgver.tar.bz2
+#)
+#sha512sums=(
+# b7e8879e92252d0588d9eeeed904fd502ce1f48551b9a97f52aeb1318c79a80fab27504521107d61fbb5d986b2d778d89023a892baf9f1c5a5d2ee3746fefa57
+#)
+
+_gitroot=git://anongit.freedesktop.org/git/mesa/mesa
+_gitname=mesa
+
+build() {
+ msg 'Connecting to git.freedesktop.org GIT server....'
+ if [ -d $_gitname ] ; then
+ cd $_gitname && git pull origin
+ else
+ git clone $_gitroot --depth 1
+ fi
+ msg 'GIT checkout done or server timeout'
+ msg 'Starting make...'
+
+ cd $srcdir
+
+ # Cleanup and prepare the build dir
+ [ -d build ] && rm -rf build
+ cp -r $_gitname build
+ cd build
+
+ #cd $srcdir/Mesa-$pkgver
+
+ autoreconf -vfi
+ ./autogen.sh --prefix=/usr \
+ --enable-opencl \
+ --enable-gallium-llvm \
+ --enable-r600-llvm-compiler \
+ --with-clang-libdir=/usr/lib \
+ --with-dri-drivers=nouveau,radeon,swrast \
+ --with-gallium-drivers=r300,r600,nouveau,swrast
+ make
+}
+
+package() {
+ make -C $srcdir/build/src/gallium/targets/opencl DESTDIR=$pkgdir install
+
+ cd $srcdir/build
+ #install -m755 -d $pkgdir/usr/lib/opencl
+ install -m755 -d $pkgdir/usr/share/licenses/${pkgname%-libre}
+ #bin/minstall src/gallium/targets/opencl/libOpenCL.la $pkgdir/usr/lib
+ #bin/minstall lib/libOpenCL.so* $pkgdir/usr/lib
+ #bin/minstall src/gallium/targets/pipe-loader/*.so $pkgdir/usr/lib/${pkgname%-libre}
+ bin/minstall docs/COPYING $pkgdir/usr/share/licenses/${pkgname%-libre}
+ bin/minstall docs/license.html $pkgdir/usr/share/licenses/${pkgname%-libre}
+}
diff --git a/libre/libquicktime-libre/PKGBUILD b/libre/libquicktime-libre/PKGBUILD
index b800c1444..b800c1444 100644..100755
--- a/libre/libquicktime-libre/PKGBUILD
+++ b/libre/libquicktime-libre/PKGBUILD
diff --git a/libre/libretools/PKGBUILD b/libre/libretools/PKGBUILD
index ecbba4e47..dec731c97 100644..100755
--- a/libre/libretools/PKGBUILD
+++ b/libre/libretools/PKGBUILD
@@ -3,7 +3,7 @@
pkgbase=libretools
pkgname=(libretools libretools-pr libretools-mips64el)
-pkgver=20111231
+pkgver=$(date -u +%Y%m%d)
pkgrel=2
pkgdesc="Scripts for easing Parabola's tasks"
arch=('any')
@@ -12,7 +12,6 @@ license=('GPL3+')
depends=(openssh rsync git wget)
optdepends=('devtools: For chroot (libremkchroot, librechroot, libremakepkg)')
makedepends=(git)
-backup=(etc/libretools.conf)
install=libretools.install
source=()
md5sums=()
@@ -36,42 +35,52 @@ build() {
}
package_libretools() {
-
- install -d ${pkgdir}/etc
- install -m644 ${_gitname}/libretools.conf ${pkgdir}/etc/
+ backup=(etc/libretools.conf)
install -d ${pkgdir}/etc/libretools.d
- install -m644 ${_gitname}/cleansystem ${pkgdir}/etc/libretools.d
+ install -m644 ${_gitname}/libretools.conf ${pkgdir}/etc/
install -d ${pkgdir}/usr/bin
- install -m755 ${_gitname}/abslibre-commit ${pkgdir}/usr/bin
- install -m755 ${_gitname}/add-mips64el ${pkgdir}/usr/bin
- install -m755 ${_gitname}/aur ${pkgdir}/usr/bin
- install -m755 ${_gitname}/createworkdir ${pkgdir}/usr/bin/
- install -m755 ${_gitname}/diff-unfree ${pkgdir}/usr/bin
- install -m755 ${_gitname}/fullpkg ${pkgdir}/usr/bin
- install -m755 ${_gitname}/is_built ${pkgdir}/usr/bin
- install -m755 ${_gitname}/lb ${pkgdir}/usr/bin
- install -m755 ${_gitname}/librechroot ${pkgdir}/usr/bin/
- install -m755 ${_gitname}/librecommit ${pkgdir}/usr/bin/
- install -m755 ${_gitname}/librediff ${pkgdir}/usr/bin/
- install -m755 ${_gitname}/libremessages ${pkgdir}/usr/bin/
- install -m755 ${_gitname}/libremkchroot ${pkgdir}/usr/bin
- install -m755 ${_gitname}/librerelease ${pkgdir}/usr/bin/
- install -m755 ${_gitname}/librerepkg ${pkgdir}/usr/bin
- install -m755 ${_gitname}/librestage ${pkgdir}/usr/bin/
- install -m755 ${_gitname}/pkgbuild-check-nonfree ${pkgdir}/usr/bin/
- install -m755 ${_gitname}/toru ${pkgdir}/usr/bin
- install -m755 ${_gitname}/updateabslibre ${pkgdir}/usr/bin
-
install -d ${pkgdir}/usr/sbin
- install -m755 ${_gitname}/libremakepkg ${pkgdir}/usr/sbin/
+ install -m755 ${_gitname}/abslibre-commit ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/add-mips64el ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/aur ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/buildenv ${pkgdir}/usr/sbin
+ install -m755 ${_gitname}/chcleanup ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/createworkdir ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/diff-unfree ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/fullpkg ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/fullpkg-build ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/fullpkg-find ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/is_built ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/is_unfree ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/lb ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/libreaddiff ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/librebasebuilder ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/librechroot ${pkgdir}/usr/sbin
+ install -m755 ${_gitname}/librecommit ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/librediff ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/libremakepkg ${pkgdir}/usr/sbin
+ install -m755 ${_gitname}/libremessages ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/libremkchroot ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/librerelease ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/librerepkg ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/librestage ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/pkgbuild-check-nonfree ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/toru ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/toru-path ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/toru-utils ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/toru-where ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/updateabslibre ${pkgdir}/usr/bin
+ install -m755 ${_gitname}/update-cleansystem ${pkgdir}/usr/sbin
install -d ${pkgdir}/usr/share/pacman
install -m755 ${_gitname}/rePKGBUILD.proto ${pkgdir}/usr/share/pacman
}
package_libretools-pr() {
+ backup=('etc/libretools.d/prtools.conf')
+
install -d ${pkgdir}/etc/libretools.d
install -m644 ${_gitname}/prtools/prtools.conf ${pkgdir}/etc/libretools.d
@@ -82,6 +91,8 @@ package_libretools-pr() {
}
package_libretools-mips64el() {
+ backup=('etc/libretools.d/mips64el.conf')
+
install -d ${pkgdir}/etc/libretools.d
install -m755 ${_gitname}/mips64el/mips64el.conf ${pkgdir}/etc/libretools.d
diff --git a/libre/libretools/libretools.install b/libre/libretools/libretools.install
index 6f8c09d5c..69a0f2467 100644..100755
--- a/libre/libretools/libretools.install
+++ b/libre/libretools/libretools.install
@@ -1,3 +1,5 @@
+#!/bin/sh
+
# arg 1: the new package version
post_install() {
cat <<EOF
@@ -8,6 +10,7 @@ If you plan using fullpkg you should read http://wiki.parabolagnulinux.org/fullp
and install libretools-$arch if avaliable
EOF
+ update-cleansystem
}
## arg 1: the new package version
@@ -19,6 +22,7 @@ Check your /etc/libretools.conf
If using fullpkg, you should install libretools-$arch if avaliable
EOF
+ update-cleansystem
}
# vim:set ts=2 sw=2 et:
diff --git a/libre/libui-sh/PKGBUILD b/libre/libui-sh/PKGBUILD
index 075d8c0a6..075d8c0a6 100644..100755
--- a/libre/libui-sh/PKGBUILD
+++ b/libre/libui-sh/PKGBUILD
diff --git a/libre/licenses-libre/PKGBUILD b/libre/licenses-libre/PKGBUILD
index 8a3d62929..8a3d62929 100644..100755
--- a/libre/licenses-libre/PKGBUILD
+++ b/libre/licenses-libre/PKGBUILD
diff --git a/libre/licenses-libre/ZopePublicLicense.txt b/libre/licenses-libre/ZopePublicLicense.txt
index 0f06d960d..0f06d960d 100644..100755
--- a/libre/licenses-libre/ZopePublicLicense.txt
+++ b/libre/licenses-libre/ZopePublicLicense.txt
diff --git a/libre/licenses-libre/cc-by-3.0.txt b/libre/licenses-libre/cc-by-3.0.txt
index 4c79aa8ae..4c79aa8ae 100644..100755
--- a/libre/licenses-libre/cc-by-3.0.txt
+++ b/libre/licenses-libre/cc-by-3.0.txt
diff --git a/libre/licenses-libre/cc-by-sa-3.0.txt b/libre/licenses-libre/cc-by-sa-3.0.txt
index 7252d9ca5..7252d9ca5 100644..100755
--- a/libre/licenses-libre/cc-by-sa-3.0.txt
+++ b/libre/licenses-libre/cc-by-sa-3.0.txt
diff --git a/libre/licenses-libre/cc-readme.txt b/libre/licenses-libre/cc-readme.txt
index d71e2254f..d71e2254f 100644..100755
--- a/libre/licenses-libre/cc-readme.txt
+++ b/libre/licenses-libre/cc-readme.txt
diff --git a/libre/licenses-libre/cddl-1.0.txt b/libre/licenses-libre/cddl-1.0.txt
index d83893249..d83893249 100644..100755
--- a/libre/licenses-libre/cddl-1.0.txt
+++ b/libre/licenses-libre/cddl-1.0.txt
diff --git a/libre/licenses-libre/cpl-1.0.txt b/libre/licenses-libre/cpl-1.0.txt
index c48081b33..c48081b33 100644..100755
--- a/libre/licenses-libre/cpl-1.0.txt
+++ b/libre/licenses-libre/cpl-1.0.txt
diff --git a/libre/licenses-libre/eclipse-1.0.txt b/libre/licenses-libre/eclipse-1.0.txt
index f61d34dfe..f61d34dfe 100644..100755
--- a/libre/licenses-libre/eclipse-1.0.txt
+++ b/libre/licenses-libre/eclipse-1.0.txt
diff --git a/libre/licenses-libre/perlartistic.txt b/libre/licenses-libre/perlartistic.txt
index aaf7c8801..aaf7c8801 100644..100755
--- a/libre/licenses-libre/perlartistic.txt
+++ b/libre/licenses-libre/perlartistic.txt
diff --git a/libre/licenses-libre/python-2.txt b/libre/licenses-libre/python-2.txt
index 454f4ea69..454f4ea69 100644..100755
--- a/libre/licenses-libre/python-2.txt
+++ b/libre/licenses-libre/python-2.txt
diff --git a/libre/liferea-libre/PKGBUILD b/libre/liferea-libre/PKGBUILD
index 706b2d0d7..582234b13 100644..100755
--- a/libre/liferea-libre/PKGBUILD
+++ b/libre/liferea-libre/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 161863 2012-06-15 23:14:52Z eric $
+# $Id: PKGBUILD 165910 2012-09-03 19:19:26Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
# Contributor (Parabola): bitlord
# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=liferea
pkgname=liferea-libre
-pkgver=1.8.7
+pkgver=1.8.9
pkgrel=1
pkgdesc="A desktop news aggregator for online news feeds and weblogs"
arch=('i686' 'x86_64')
@@ -18,23 +18,23 @@ depends=('gconf' 'libwebkit' 'libnotify' 'libunique' 'json-glib' 'hicolor-icon-t
makedepends=('intltool')
options=('!libtool' '!emptydirs')
install=liferea.install
-source=(http://downloads.sourceforge.net/sourceforge/${_pkgname}/${_pkgname}-${pkgver}.tar.gz
+source=(http://downloads.sourceforge.net/sourceforge/liferea/liferea-${pkgver}.tar.gz
remove-non-free-suggestions.patch)
-sha1sums=('3cdadae3b3bcec2da048257b72a5d7c11a9621f1'
+sha1sums=('35452b46d987ba37d5a81ea3e4c0f7199c9c0403'
'0d68c567c3d37932a49709c58c37c3f138fd19cb')
build() {
- cd "${srcdir}/${_pkgname}-${pkgver}"
+ cd "${srcdir}/liferea-${pkgver}"
patch -Np1 -i "$srcdir/remove-non-free-suggestions.patch"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-schemas-install
make
}
package() {
- cd "${srcdir}/${_pkgname}-${pkgver}"
+ cd "${srcdir}/liferea-${pkgver}"
make DESTDIR="${pkgdir}" install
install -d "${pkgdir}/usr/share/gconf/schemas"
- gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" "${pkgdir}"/etc/gconf/schemas/*.schemas
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${_pkgname}.schemas" "${pkgdir}"/etc/gconf/schemas/*.schemas
rm -f "${pkgdir}"/etc/gconf/schemas/*.schemas
}
diff --git a/libre/liferea-libre/libnotify-0.7.patch b/libre/liferea-libre/libnotify-0.7.patch
index 6dbbffb87..6dbbffb87 100644..100755
--- a/libre/liferea-libre/libnotify-0.7.patch
+++ b/libre/liferea-libre/libnotify-0.7.patch
diff --git a/libre/liferea-libre/liferea.install b/libre/liferea-libre/liferea.install
index 7d812ccdb..3e1aa5820 100644..100755
--- a/libre/liferea-libre/liferea.install
+++ b/libre/liferea-libre/liferea.install
@@ -1,7 +1,7 @@
-pkgname=liferea
+pkgname=liferea-libre
post_install() {
- usr/sbin/gconfpkg --install ${pkgname}
+ usr/sbin/gconfpkg --install ${_pkgname}
gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}
@@ -14,7 +14,7 @@ post_upgrade() {
}
pre_remove() {
- usr/sbin/gconfpkg --uninstall ${pkgname}
+ usr/sbin/gconfpkg --uninstall ${_pkgname}
}
post_remove() {
diff --git a/libre/liferea-libre/remove-non-free-suggestions.patch b/libre/liferea-libre/remove-non-free-suggestions.patch
index 325017567..325017567 100644..100755
--- a/libre/liferea-libre/remove-non-free-suggestions.patch
+++ b/libre/liferea-libre/remove-non-free-suggestions.patch
diff --git a/libre/lilo/PKGBUILD b/libre/lilo/PKGBUILD
index 8103a1ac1..8103a1ac1 100644..100755
--- a/libre/lilo/PKGBUILD
+++ b/libre/lilo/PKGBUILD
diff --git a/libre/lilo/lilo.conf b/libre/lilo/lilo.conf
index dea0dbe58..dea0dbe58 100644..100755
--- a/libre/lilo/lilo.conf
+++ b/libre/lilo/lilo.conf
diff --git a/libre/lilo/lilo.install b/libre/lilo/lilo.install
index 7375fddf8..7375fddf8 100644..100755
--- a/libre/lilo/lilo.install
+++ b/libre/lilo/lilo.install
diff --git a/libre/linux-libre-api-headers/PKGBUILD b/libre/linux-libre-api-headers/PKGBUILD
index cf2fdca23..2aaf0e3fc 100644..100755
--- a/libre/linux-libre-api-headers/PKGBUILD
+++ b/libre/linux-libre-api-headers/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=linux-libre-api-headers
_basekernel=3.5
-_sublevel=1
+_sublevel=5
pkgver=${_basekernel}.${_sublevel}
pkgrel=1
pkgdesc="Kernel libre headers sanitized for use in userspace"
@@ -19,7 +19,7 @@ replaces=('linux-api-headers')
source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz"
"http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz")
md5sums=('2407fc9563a74acaf38aa0c06516eb1c'
- '67b650dd355fbca16035510df063420b')
+ '2e138b46c5855fff8e0d7afe760a4150')
build() {
cd ${srcdir}/linux-${_basekernel}
diff --git a/libre/linux-libre-firmware/PKGBUILD b/libre/linux-libre-firmware/PKGBUILD
new file mode 100644
index 000000000..57488f6de
--- /dev/null
+++ b/libre/linux-libre-firmware/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: André Silva <emulatorman@lavabit.com>
+# Contributor: Márcio Silva <coadde@lavabit.com>
+
+pkgname=linux-libre-firmware
+pkgver=3.6
+pkgrel=2
+pkgdesc='Free firmware files for Linux-libre'
+arch=('any')
+url='http://linux-libre.fsfla.org/'
+license=('GPL2')
+provides=('linux-firmware=20120625'
+ 'kernel26-firmware=2.6.34.99')
+conflicts=('linux-firmware'
+ 'linux-firmware-git'
+ 'kernel26-firmware'
+ 'ar9170-fw'
+ 'iwlwifi-1000-ucode'
+ 'iwlwifi-3945-ucode'
+ 'iwlwifi-4965-ucode'
+ 'iwlwifi-5000-ucode'
+ 'iwlwifi-5150-ucode'
+ 'iwlwifi-6000-ucode'
+ 'rt2870usb-fw'
+ 'rt2x00-rt61-fw'
+ 'rt2x00-rt71w-fw')
+replaces=('linux-firmware'
+ 'kernel26-firmware'
+ 'ar9170-fw'
+ 'iwlwifi-1000-ucode'
+ 'iwlwifi-3945-ucode'
+ 'iwlwifi-4965-ucode'
+ 'iwlwifi-5000-ucode'
+ 'iwlwifi-5150-ucode'
+ 'iwlwifi-6000-ucode'
+ 'rt2870usb-fw'
+ 'rt2x00-rt61-fw'
+ 'rt2x00-rt71w-fw')
+source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/$pkgver-gnu/linux-libre-$pkgver-gnu.tar.xz")
+md5sums=('a2312edd0265b5b07bd4b50afae2b380')
+
+package() {
+ cd $srcdir/linux-$pkgver
+
+ make INSTALL_FW_PATH=$pkgdir/usr/lib/firmware firmware_install
+
+ # move WHENCE file to linux-libre-firmware license folder
+ install -d -m755 $pkgdir/usr/share/licenses/$pkgname
+ mv firmware/WHENCE $pkgdir/usr/share/licenses/$pkgname
+}
diff --git a/libre/linux-libre-kmod-alx/PKGBUILD b/libre/linux-libre-kmod-alx/PKGBUILD
new file mode 100644
index 000000000..fc86511e9
--- /dev/null
+++ b/libre/linux-libre-kmod-alx/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: André Silva <emulatorman@lavabit.com>
+
+_kernver=3.6.2
+pkgname=('linux-libre-kmod-alx')
+pkgver=20121003
+pkgrel=1
+pkgdesc='Atheros alx ethernet device driver for linux-libre kernel'
+arch=('i686' 'x86_64')
+url='http://linuxwireless.org/'
+license=('GPL2')
+depends=("linux-libre=$_kernver")
+makedepends=("linux-libre-headers=$_kernver")
+install=linux-libre-kmod-alx.install
+source=(http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2012-10-03-pc.tar.bz2)
+
+md5sums=('7d541af2ae06eeaaadaba5b4fbcbfb13')
+
+
+build() {
+ # current extramodules version
+ _extraver=extramodules-3.6-LIBRE
+
+ cd ${srcdir}/compat-wireless-2012-10-03-pc
+
+ # replacing to specific linux-libre kernel version
+ sed -i -e 's/lib\/modules\/\$(shell uname -r)/usr\/lib\/modules\/3.6.2-1-LIBRE/' Makefile
+
+ ./scripts/driver-select alx
+ make
+ cd ${srcdir}/compat-wireless-2012-10-03-pc/compat
+ gzip -9 compat.ko
+ install -D -m 0644 compat.ko.gz ${pkgdir}/lib/modules/$_extraver/compat.ko.gz
+ cd ${srcdir}/compat-wireless-2012-10-03-pc/drivers/net/ethernet/atheros/alx
+ gzip -9 alx.ko
+ install -D -m 0644 alx.ko.gz ${pkgdir}/lib/modules/$_extraver/alx.ko.gz
+}
diff --git a/libre/linux-libre-kmod-alx/linux-libre-kmod-alx.install b/libre/linux-libre-kmod-alx/linux-libre-kmod-alx.install
new file mode 100644
index 000000000..aad4270cd
--- /dev/null
+++ b/libre/linux-libre-kmod-alx/linux-libre-kmod-alx.install
@@ -0,0 +1,33 @@
+generic() {
+ echo " > Running depmod now..."
+ depmod -a
+}
+
+unload() {
+ lsmod | grep alx > /dev/null
+ if [ "$?" = "0" ]; then
+ rmmod alx
+ fi
+}
+
+post_install() {
+ generic
+ echo " > Reloading alx module..."
+ echo " Please note that you may REBOOT your system to get it works!"
+ unload
+ sleep 0.5
+ modprobe alx
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ generic
+ echo " > Unloading memory resident module..."
+ unload
+ rmmod compat
+ echo " Module unloaded!."
+}
+
diff --git a/libre/linux-libre-lts-kmod-alx/PKGBUILD b/libre/linux-libre-lts-kmod-alx/PKGBUILD
new file mode 100644
index 000000000..646b3658a
--- /dev/null
+++ b/libre/linux-libre-lts-kmod-alx/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: André Silva <emulatorman@lavabit.com>
+
+_kernver=3.0.46
+pkgname=('linux-libre-lts-kmod-alx')
+pkgver=20121003
+pkgrel=1
+pkgdesc='Atheros alx ethernet device driver for linux-libre-lts kernel'
+arch=('i686' 'x86_64')
+url='http://linuxwireless.org/'
+license=('GPL2')
+depends=("linux-libre-lts=$_kernver")
+makedepends=("linux-libre-lts-headers=$_kernver")
+install=linux-libre-lts-kmod-alx.install
+source=(http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2012-10-03-pc.tar.bz2)
+
+md5sums=('7d541af2ae06eeaaadaba5b4fbcbfb13')
+
+
+build() {
+ # current extramodules version
+ _extraver=extramodules-3.0-LIBRE-LTS
+
+ cd ${srcdir}/compat-wireless-2012-10-03-pc
+
+ # replacing to specific linux-libre-lts kernel version
+ sed -i -e 's/lib\/modules\/\$(shell uname -r)/usr\/lib\/modules\/3.0.46-1-LIBRE-LTS/' Makefile
+
+ ./scripts/driver-select alx
+ make
+ cd ${srcdir}/compat-wireless-2012-10-03-pc/compat
+ gzip -9 compat.ko
+ install -D -m 0644 compat.ko.gz ${pkgdir}/lib/modules/$_extraver/compat.ko.gz
+ cd ${srcdir}/compat-wireless-2012-10-03-pc/drivers/net/ethernet/atheros/alx
+ gzip -9 alx.ko
+ install -D -m 0644 alx.ko.gz ${pkgdir}/lib/modules/$_extraver/alx.ko.gz
+}
diff --git a/libre/linux-libre-lts-kmod-alx/linux-libre-lts-kmod-alx.install b/libre/linux-libre-lts-kmod-alx/linux-libre-lts-kmod-alx.install
new file mode 100644
index 000000000..aad4270cd
--- /dev/null
+++ b/libre/linux-libre-lts-kmod-alx/linux-libre-lts-kmod-alx.install
@@ -0,0 +1,33 @@
+generic() {
+ echo " > Running depmod now..."
+ depmod -a
+}
+
+unload() {
+ lsmod | grep alx > /dev/null
+ if [ "$?" = "0" ]; then
+ rmmod alx
+ fi
+}
+
+post_install() {
+ generic
+ echo " > Reloading alx module..."
+ echo " Please note that you may REBOOT your system to get it works!"
+ unload
+ sleep 0.5
+ modprobe alx
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ generic
+ echo " > Unloading memory resident module..."
+ unload
+ rmmod compat
+ echo " Module unloaded!."
+}
+
diff --git a/libre/linux-libre-lts/Kbuild b/libre/linux-libre-lts/Kbuild
index 8a9d7dceb..8a9d7dceb 100644..100755
--- a/libre/linux-libre-lts/Kbuild
+++ b/libre/linux-libre-lts/Kbuild
diff --git a/libre/linux-libre-lts/Kbuild.platforms b/libre/linux-libre-lts/Kbuild.platforms
index 90a226888..90a226888 100644..100755
--- a/libre/linux-libre-lts/Kbuild.platforms
+++ b/libre/linux-libre-lts/Kbuild.platforms
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index e7d044b92..d544abb26 100644..100755
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -7,10 +7,10 @@
pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.0
-_sublevel=41
+_sublevel=46
pkgver=${_basekernel}.${_sublevel}
pkgrel=1
-_lxopkgver=${_basekernel}.41 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.45 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -29,13 +29,10 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'i915-fix-ghost-tv-output.patch'
'ext4-options.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
-
-_kernelname=${pkgbase#linux-libre}
-_localversionname=-LIBRE-LTS
md5sums=('5f64180fe7df4e574dac5911b78f5067'
- 'b4ebaa2ebf8418c75aba96fd4dd6daf3'
- '8cd05778fc1c2d8145b3b9932b4e3164'
- '87a54dc6251cf2adf35f72ddeddb6ea8'
+ 'a2ced38cb23963b9efef79100f5885c5'
+ 'aed25ab047e1c0b020a1516c235c6a74'
+ '7d37e8ce0f4bd5a957172b12ae742ea0'
'c072b17032e80debc6a8626299245d46'
'2967cecc3af9f954ccc822fd63dca6ff'
'8267264d9a8966e57fdacd1fa1fc65c4'
@@ -43,13 +40,16 @@ md5sums=('5f64180fe7df4e574dac5911b78f5067'
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
'f36222e7ce20c8e4dc27376f9be60f6c'
- '1f082cc9e5a18e227f7a044ff429914a')
+ '2fb6f217d649733bd5d977bf32c1f292')
if [ "$CARCH" != "mips64el" ]; then
# Don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
unset md5sums[${#md5sums[@]}-1]
fi
+_kernelname=${pkgbase#linux-libre}
+_localversionname=-LIBRE-LTS
+
build() {
cd "${srcdir}/linux-${_basekernel}"
@@ -90,7 +90,7 @@ build() {
# https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README
# and make USB storage support builtin (e.g. for booting from USB
# disks without slowly loading an initramfs)
- sed -ri -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
+ sed -ri \
-e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
-e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \
-e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_localversionname}\"|g" \
@@ -154,7 +154,7 @@ build() {
_package() {
pkgdesc="The ${pkgbase} kernel and modules - stable longtime supported kernel package suitable for servers"
[ "${pkgbase}" = "linux-libre" ] && groups=('base')
- depends=('coreutils' 'kmod')
+ depends=('coreutils' 'linux-libre-firmware' 'kmod')
optdepends=('crda: to set the correct wireless channels of your country')
provides=("kernel26${_kernelname}=${pkgver}" "linux${_kernelname}=${pkgver}")
conflicts=("kernel26${_kernelname}" "kernel26-libre${_kernelname}" "linux${_kernelname}")
@@ -224,11 +224,11 @@ _package() {
mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--LIBRE-LTS}"
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--LIBRE-LTS}/version"
- # move module tree /lib -> /usr/lib
- mv "$pkgdir/lib" "$pkgdir/usr"
-
# Now we call depmod...
depmod -b "$pkgdir" -F System.map "$_kernver"
+
+ # move module tree /lib -> /usr/lib
+ mv "$pkgdir/lib" "$pkgdir/usr"
}
_package-headers() {
diff --git a/libre/linux-libre-lts/boot-logo.patch b/libre/linux-libre-lts/boot-logo.patch
index c392928a5..c392928a5 100644..100755
--- a/libre/linux-libre-lts/boot-logo.patch
+++ b/libre/linux-libre-lts/boot-logo.patch
diff --git a/libre/linux-libre-lts/change-default-console-loglevel.patch b/libre/linux-libre-lts/change-default-console-loglevel.patch
index 63435d84f..63435d84f 100644..100755
--- a/libre/linux-libre-lts/change-default-console-loglevel.patch
+++ b/libre/linux-libre-lts/change-default-console-loglevel.patch
diff --git a/libre/linux-libre-lts/config.i686 b/libre/linux-libre-lts/config.i686
index f4e10c441..823d65d18 100644..100755
--- a/libre/linux-libre-lts/config.i686
+++ b/libre/linux-libre-lts/config.i686
@@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
-# Linux/i386 3.0.40-2 Kernel Configuration
+# Linux/i386 3.0.43-1 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -81,7 +81,7 @@ CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
+CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
@@ -107,7 +107,6 @@ CONFIG_IRQ_FORCED_THREADING=y
# RCU Subsystem
#
CONFIG_TREE_RCU=y
-# CONFIG_TREE_PREEMPT_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
@@ -3446,6 +3445,7 @@ CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_SR030PC30=m
+CONFIG_VIDEO_VIA_CAMERA=m
CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_M5MOLS=m
CONFIG_SOC_CAMERA=m
@@ -3871,7 +3871,9 @@ CONFIG_FB_I810_I2C=y
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
-# CONFIG_FB_VIA is not set
+CONFIG_FB_VIA=m
+CONFIG_FB_VIA_DIRECT_PROCFS=y
+CONFIG_FB_VIA_X_COMPATIBILITY=y
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
@@ -5052,7 +5054,7 @@ CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_NILFS2_FS=m
CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=m
+CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
@@ -5067,7 +5069,7 @@ CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=m
+CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
diff --git a/libre/linux-libre-lts/config.x86_64 b/libre/linux-libre-lts/config.x86_64
index 80f5a7aca..89eed9382 100644..100755
--- a/libre/linux-libre-lts/config.x86_64
+++ b/libre/linux-libre-lts/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated make config: don't edit
-# Linux/x86_64 3.0.40-2 Kernel Configuration
+# Linux/x86_64 3.0.43-1 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
@@ -82,7 +82,7 @@ CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
+CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
@@ -108,7 +108,6 @@ CONFIG_IRQ_FORCED_THREADING=y
# RCU Subsystem
#
CONFIG_TREE_RCU=y
-# CONFIG_TREE_PREEMPT_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=64
@@ -3280,6 +3279,7 @@ CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_SR030PC30=m
+CONFIG_VIDEO_VIA_CAMERA=m
CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_M5MOLS=m
CONFIG_SOC_CAMERA=m
@@ -3684,7 +3684,9 @@ CONFIG_FB_EFI=y
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
-# CONFIG_FB_VIA is not set
+CONFIG_FB_VIA=m
+CONFIG_FB_VIA_DIRECT_PROCFS=y
+CONFIG_FB_VIA_X_COMPATIBILITY=y
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
@@ -4793,7 +4795,7 @@ CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_NILFS2_FS=m
CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=m
+CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
@@ -4809,7 +4811,7 @@ CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
-CONFIG_AUTOFS4_FS=m
+CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
diff --git a/libre/linux-libre-lts/ext4-options.patch b/libre/linux-libre-lts/ext4-options.patch
index ef1b2417d..ef1b2417d 100644..100755
--- a/libre/linux-libre-lts/ext4-options.patch
+++ b/libre/linux-libre-lts/ext4-options.patch
diff --git a/libre/linux-libre-lts/i915-fix-ghost-tv-output.patch b/libre/linux-libre-lts/i915-fix-ghost-tv-output.patch
index 3b631361a..3b631361a 100644..100755
--- a/libre/linux-libre-lts/i915-fix-ghost-tv-output.patch
+++ b/libre/linux-libre-lts/i915-fix-ghost-tv-output.patch
diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install
index e92e5eb16..57f19a417 100644..100755
--- a/libre/linux-libre-lts/linux-libre-lts.install
+++ b/libre/linux-libre-lts/linux-libre-lts.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-lts
-KERNEL_VERSION=3.0.41-1-LIBRE-LTS
+KERNEL_VERSION=3.0.46-1-LIBRE-LTS
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
@@ -33,7 +33,7 @@ post_install () {
post_upgrade() {
pacman -Q grub &>/dev/null
hasgrub=$?
- pacman -Q grub2-common &>/dev/null
+ pacman -Q grub-common &>/dev/null
hasgrub2=$?
pacman -Q lilo &>/dev/null
haslilo=$?
diff --git a/libre/linux-libre-lts/linux-libre-lts.preset b/libre/linux-libre-lts/linux-libre-lts.preset
index 37cf35ed0..37cf35ed0 100644..100755
--- a/libre/linux-libre-lts/linux-libre-lts.preset
+++ b/libre/linux-libre-lts/linux-libre-lts.preset
diff --git a/libre/linux-libre-manpages/PKGBUILD b/libre/linux-libre-manpages/PKGBUILD
index e6cc4238c..e6cc4238c 100644..100755
--- a/libre/linux-libre-manpages/PKGBUILD
+++ b/libre/linux-libre-manpages/PKGBUILD
diff --git a/libre/linux-libre-tools/PKGBUILD b/libre/linux-libre-tools/PKGBUILD
index dfcb95561..d3154ac86 100644..100755
--- a/libre/linux-libre-tools/PKGBUILD
+++ b/libre/linux-libre-tools/PKGBUILD
@@ -4,11 +4,11 @@
pkgbase=linux-libre-tools
pkgname=('perf-libre' 'cpupower-libre' 'x86_energy_perf_policy-libre' 'usbip-libre')
-_basekernel=3.5
+_basekernel=3.6
#_sublevel=1
#pkgver=${_basekernel}.${_sublevel}
pkgver=${_basekernel}
-pkgrel=4
+pkgrel=1
license=('GPL2')
arch=('i686' 'x86_64' 'mips64el')
url='http://linux-libre.fsfla.org/'
@@ -29,16 +29,14 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'cpupower.rc'
'cpupower.systemd'
'cpupower.service'
- 'cpupower.pmutils'
'usbipd.conf'
'usbipd.rc'
'usbipd.service')
-md5sums=('2407fc9563a74acaf38aa0c06516eb1c'
- '18d5aa9e4c6bb23bb02bf65e155e0f0e'
- '1d9214637968b91706b6e616a100d44b'
+md5sums=('a2312edd0265b5b07bd4b50afae2b380'
+ '56883c159381ba89e50ab8ea65efec77'
+ '5fc1fcda4cef93f16e752b1931db23e3'
'c0d17b5295fe964623c772a2dd981771'
'2450e8ff41b30eb58d43b5fffbfde1f4'
- '1c2743ce57b56e16feec86a8b49f3391'
'e8fac9c45a628015644b4150b139278a'
'8a3831d962ff6a9968c0c20fd601cdec'
'ba7c1c513314dd21fb2334fb8417738f')
@@ -104,7 +102,7 @@ package_cpupower-libre() {
pkgdesc='Linux-libre kernel tool to examine and tune power saving related features of your processor'
backup=('etc/conf.d/cpupower')
depends=('bash' 'pciutils')
- replaces=('cpupower')
+ replaces=('cpupower' 'cpufrequtils')
conflicts=('cpupower' 'cpufrequtils')
provides=("cpupower=$pkgver")
@@ -120,8 +118,6 @@ package_cpupower-libre() {
install -Dm 644 cpupower.conf "$pkgdir/etc/conf.d/cpupower"
install -Dm 644 cpupower.service "$pkgdir/usr/lib/systemd/system/cpupower.service"
install -Dm 755 cpupower.systemd "$pkgdir/usr/lib/systemd/scripts/cpupower"
- # install pm-utils hook
- install -Dm 755 cpupower.pmutils "$pkgdir/usr/lib/pm-utils/power.d/cpupower"
}
package_x86_energy_perf_policy-libre() {
@@ -156,4 +152,4 @@ package_usbip-libre() {
install -Dm 644 usbipd.service "$pkgdir/usr/lib/systemd/system/usbipd.service"
}
-# vim:set ts=2 sw=2 ft=sh et:
+# vim:set ts=2 sw=2 et:
diff --git a/libre/linux-libre-tools/cpupower.conf b/libre/linux-libre-tools/cpupower.conf
index f4e9cc4c8..b5c522ea1 100644..100755
--- a/libre/linux-libre-tools/cpupower.conf
+++ b/libre/linux-libre-tools/cpupower.conf
@@ -8,10 +8,11 @@
#max_freq="3GHz"
# Specific frequency to be set.
-# Requires userspace governor to be available and loaded.
+# Requires userspace governor to be available.
+# Do not set governor field if you use this one.
#freq=
-# Utilizes cores in one processor package/socket first before processes are
+# Utilizes cores in one processor package/socket first before processes are
# scheduled to other processor packages/sockets.
# See man (1) CPUPOWER-SET for additional details.
#mc_scheduler=
diff --git a/libre/linux-libre-tools/cpupower.pmutils b/libre/linux-libre-tools/cpupower.pmutils
deleted file mode 100644
index fb93cd7c1..000000000
--- a/libre/linux-libre-tools/cpupower.pmutils
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-
-[[ -x /usr/bin/cpupower ]] || exit $NA
-
-CPUPOWER_GOVERNOR_AC=${CPUPOWER_GOVERNOR_AC:-ondemand}
-CPUPOWER_GOVERNOR_BAT=${CPUPOWER_GOVERNOR_BAT:-conservative}
-
-help() {
- cat <<EOF
---------
-$0: Select cpupower frequency governor.
-
-Parameters:
-CPUPOWER_GOVERNOR_AC = Governor to use on AC.
-Defaults to ondemand.
-
-CPUPOWER_GOVERNOR_BAT = Governor to use on battery.
-Defaults to conservative.
-
-EOF
-}
-
-cpupow() {
- printf 'Setting cpupower frequency governor to %s...' "$1"
- cpupower -c all frequency-set -g "$1"
-}
-
-case $1 in
- true) cpupow "$CPUPOWER_GOVERNOR_BAT" ;;
- false) cpupow "$CPUPOWER_GOVERNOR_AC" ;;
- help) help;;
- *) exit $NA ;;
-esac
-
-exit 0
-
-# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/linux-libre-tools/cpupower.rc b/libre/linux-libre-tools/cpupower.rc
index 2c4441c4e..88edaf791 100644..100755
--- a/libre/linux-libre-tools/cpupower.rc
+++ b/libre/linux-libre-tools/cpupower.rc
@@ -2,7 +2,6 @@
. /etc/rc.conf
. /etc/rc.d/functions
-. /etc/conf.d/${0##*/}
case "$1" in
start|restart)
diff --git a/libre/linux-libre-tools/cpupower.service b/libre/linux-libre-tools/cpupower.service
index aaeba2b08..aaeba2b08 100644..100755
--- a/libre/linux-libre-tools/cpupower.service
+++ b/libre/linux-libre-tools/cpupower.service
diff --git a/libre/linux-libre-tools/cpupower.systemd b/libre/linux-libre-tools/cpupower.systemd
index f45b02bc8..f45b02bc8 100644..100755
--- a/libre/linux-libre-tools/cpupower.systemd
+++ b/libre/linux-libre-tools/cpupower.systemd
diff --git a/libre/linux-libre-tools/usbipd.conf b/libre/linux-libre-tools/usbipd.conf
index 5990b857a..5990b857a 100644..100755
--- a/libre/linux-libre-tools/usbipd.conf
+++ b/libre/linux-libre-tools/usbipd.conf
diff --git a/libre/linux-libre-tools/usbipd.rc b/libre/linux-libre-tools/usbipd.rc
index 15a1bcf00..15a1bcf00 100644..100755
--- a/libre/linux-libre-tools/usbipd.rc
+++ b/libre/linux-libre-tools/usbipd.rc
diff --git a/libre/linux-libre-tools/usbipd.service b/libre/linux-libre-tools/usbipd.service
index ac2f5f7c1..ac2f5f7c1 100644..100755
--- a/libre/linux-libre-tools/usbipd.service
+++ b/libre/linux-libre-tools/usbipd.service
diff --git a/libre/linux-libre/ChangeLog b/libre/linux-libre/ChangeLog
index b41198fe5..b41198fe5 100644..100755
--- a/libre/linux-libre/ChangeLog
+++ b/libre/linux-libre/ChangeLog
diff --git a/libre/linux-libre/Kbuild b/libre/linux-libre/Kbuild
index 8a9d7dceb..8a9d7dceb 100644..100755
--- a/libre/linux-libre/Kbuild
+++ b/libre/linux-libre/Kbuild
diff --git a/libre/linux-libre/Kbuild.platforms b/libre/linux-libre/Kbuild.platforms
index 90a226888..90a226888 100644..100755
--- a/libre/linux-libre/Kbuild.platforms
+++ b/libre/linux-libre/Kbuild.platforms
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD
index 661fec088..a0f8777e6 100644..100755
--- a/libre/linux-libre/PKGBUILD
+++ b/libre/linux-libre/PKGBUILD
@@ -9,11 +9,11 @@
pkgbase=linux-libre # Build stock -LIBRE kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
-_basekernel=3.5
+_basekernel=3.6
_sublevel=2
pkgver=${_basekernel}.${_sublevel}
-pkgrel=1.1
-_lxopkgver=${_basekernel}.2 # nearly always the same as pkgver
+pkgrel=1
+_lxopkgver=${_basekernel}.1 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -30,25 +30,25 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'boot-logo.patch'
'change-default-console-loglevel.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
-
-_kernelname=${pkgbase#linux-libre}
-_localversionname=-LIBRE
-md5sums=('2407fc9563a74acaf38aa0c06516eb1c'
- 'b081f37b73c652cbb0d5193174092709'
- '3ba164b409d8024fdd433f3cc4ae1fea'
- 'fa1e2ab2f036974199374f015f5a2c46'
+md5sums=('a2312edd0265b5b07bd4b50afae2b380'
+ '1014a197e2bea449600d7b2cca415eec'
+ '600af9b069c8a1c18dd5ef1f25bf7080'
+ 'c18004748092bf4ee57ade7e25fdef22'
'e49ac236dfeef709f91a3d993ea7b62c'
'2967cecc3af9f954ccc822fd63dca6ff'
'8267264d9a8966e57fdacd1fa1fc65c4'
'04b21c79df0a952c22d681dd4f4562df'
'9d3c56a4b999c8bfbd4018089a62f662'
- 'd822cc131b20090f39b0d448b0e1f8be')
+ '1690532ad271b11a87e8824f7da65101')
if [ "$CARCH" != "mips64el" ]; then
# Don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
unset md5sums[${#md5sums[@]}-1]
fi
+_kernelname=${pkgbase#linux-libre}
+_localversionname=-LIBRE
+
build() {
cd "${srcdir}/linux-${_basekernel}"
@@ -59,7 +59,6 @@ build() {
# Add freedo as boot logo
patch -Np1 -i "${srcdir}/boot-logo.patch"
-
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
@@ -77,7 +76,7 @@ build() {
# https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README
# and make USB storage support builtin (e.g. for booting from USB
# disks without slowly loading an initramfs)
- sed -ri -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
+ sed -ri \
-e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
-e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \
-e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_localversionname}\"|g" \
@@ -141,7 +140,7 @@ build() {
_package() {
pkgdesc="The ${pkgbase} kernel and modules"
[ "${pkgbase}" = "linux-libre" ] && groups=('base')
- depends=('coreutils' 'kmod')
+ depends=('coreutils' 'linux-libre-firmware' 'kmod')
optdepends=('crda: to set the correct wireless channels of your country')
provides=("kernel26${_kernelname}=${pkgver}" "linux${_kernelname}=${pkgver}")
conflicts=("kernel26${_kernelname}" "kernel26-libre${_kernelname}" "linux${_kernelname}")
@@ -211,11 +210,11 @@ _package() {
mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--LIBRE}"
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--LIBRE}/version"
- # move module tree /lib -> /usr/lib
- mv "$pkgdir/lib" "$pkgdir/usr"
-
# Now we call depmod...
depmod -b "$pkgdir" -F System.map "$_kernver"
+
+ # move module tree /lib -> /usr/lib
+ mv "$pkgdir/lib" "$pkgdir/usr"
}
_package-headers() {
diff --git a/libre/linux-libre/boot-logo.patch b/libre/linux-libre/boot-logo.patch
index c392928a5..c392928a5 100644..100755
--- a/libre/linux-libre/boot-logo.patch
+++ b/libre/linux-libre/boot-logo.patch
diff --git a/libre/linux-libre/change-default-console-loglevel.patch b/libre/linux-libre/change-default-console-loglevel.patch
index 63435d84f..63435d84f 100644..100755
--- a/libre/linux-libre/change-default-console-loglevel.patch
+++ b/libre/linux-libre/change-default-console-loglevel.patch
diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686
index 54db12ba1..e553c3d44 100644..100755
--- a/libre/linux-libre/config.i686
+++ b/libre/linux-libre/config.i686
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/i386 3.5.0-2 Kernel Configuration
+# Linux/i386 3.6.0 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -73,7 +73,7 @@ CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
+CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
@@ -134,10 +134,8 @@ CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_MEM_RES_CTLR_KMEM=y
+# CONFIG_MEMCG is not set
+# CONFIG_CGROUP_HUGETLB is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
@@ -152,7 +150,6 @@ CONFIG_IPC_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
-CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
@@ -230,6 +227,7 @@ CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
@@ -334,7 +332,7 @@ CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_X86_32_IRIS=m
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
-CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
# CONFIG_XEN_PRIVILEGED_GUEST is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
@@ -443,6 +441,7 @@ CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
@@ -516,7 +515,7 @@ CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_CAN_PM_TRACE=y
+CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_PM_TRACE_RTC is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
@@ -604,6 +603,7 @@ CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
CONFIG_INTEL_IDLE=y
#
@@ -747,6 +747,7 @@ CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
@@ -838,6 +839,8 @@ CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=m
@@ -1298,6 +1301,7 @@ CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -1321,14 +1325,13 @@ CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
-CONFIG_NL80211_TESTMODE=y
+# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
@@ -1343,6 +1346,7 @@ CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_WIMAX=m
CONFIG_WIMAX_DEBUG_LEVEL=8
@@ -1393,6 +1397,7 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_CMA is not set
CONFIG_CONNECTOR=y
@@ -1639,9 +1644,6 @@ CONFIG_EEPROM_93CX6=m
CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
#
# Texas Instruments shared transport line discipline
@@ -1683,7 +1685,6 @@ CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
@@ -1943,7 +1944,6 @@ CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-# CONFIG_DM_DEBUG_SPACE_MAPS is not set
CONFIG_DM_MIRROR=m
CONFIG_DM_RAID=m
CONFIG_DM_LOG_USERSPACE=m
@@ -2002,6 +2002,7 @@ CONFIG_IEEE802154_FAKEHARD=m
CONFIG_IEEE802154_FAKELB=m
CONFIG_IFB=m
CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
@@ -2287,6 +2288,7 @@ CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
@@ -2440,13 +2442,13 @@ CONFIG_HOSTAP_CS=m
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
#
# Debugging Options
#
# CONFIG_IWLWIFI_DEBUG is not set
CONFIG_IWLWIFI_DEVICE_TRACING=y
-CONFIG_IWLWIFI_DEVICE_TESTMODE=y
# CONFIG_IWLWIFI_P2P is not set
# CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set
CONFIG_IWLEGACY=m
@@ -2457,9 +2459,6 @@ CONFIG_IWL3945=m
# iwl3945 / iwl4965 Debugging Options
#
# CONFIG_IWLEGACY_DEBUG is not set
-CONFIG_IWM=m
-# CONFIG_IWM_DEBUG is not set
-CONFIG_IWM_TRACING=y
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_CS=m
@@ -2488,6 +2487,7 @@ CONFIG_RT2800PCI=m
CONFIG_RT2800PCI_RT33XX=y
CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
@@ -2514,6 +2514,7 @@ CONFIG_WL_TI=y
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
CONFIG_WL12XX=m
+CONFIG_WL18XX=m
CONFIG_WLCORE=m
CONFIG_WLCORE_SDIO=m
CONFIG_WL12XX_PLATFORM_DATA=y
@@ -2529,8 +2530,6 @@ CONFIG_MWIFIEX_USB=m
#
CONFIG_WIMAX_I2400M=m
CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-# CONFIG_WIMAX_IWMC3200_SDIO is not set
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
# CONFIG_WAN is not set
CONFIG_VMXNET3=m
@@ -2809,11 +2808,13 @@ CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_MAX11801=m
CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_HTCPEN=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_UCB1400=m
@@ -3041,6 +3042,7 @@ CONFIG_I2C_SCMI=m
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
+CONFIG_I2C_DESIGNWARE_CORE=m
CONFIG_I2C_DESIGNWARE_PCI=m
CONFIG_I2C_EG20T=m
# CONFIG_I2C_GPIO is not set
@@ -3115,6 +3117,7 @@ CONFIG_GPIO_ICH=m
#
# I2C GPIO expanders:
#
+CONFIG_GPIO_ARIZONA=m
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
@@ -3125,6 +3128,7 @@ CONFIG_GPIO_ICH=m
# PCI GPIO expanders:
#
CONFIG_GPIO_CS5535=y
+CONFIG_GPIO_AMD8111=m
# CONFIG_GPIO_LANGWELL is not set
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
@@ -3163,6 +3167,7 @@ CONFIG_BATTERY_OLPC=m
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_SMB347 is not set
+CONFIG_POWER_AVS=y
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
@@ -3201,6 +3206,7 @@ CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_GPIO_FAN is not set
+CONFIG_SENSORS_HIH6130=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
@@ -3384,6 +3390,7 @@ CONFIG_BCMA=m
CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
+CONFIG_BCMA_DRIVER_GMAC_CMN=y
# CONFIG_BCMA_DEBUG is not set
#
@@ -3400,6 +3407,10 @@ CONFIG_TPS65010=m
CONFIG_TPS6507X=m
CONFIG_MFD_TPS65217=m
# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
CONFIG_MFD_PCF50633=m
CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=m
@@ -3421,22 +3432,28 @@ CONFIG_MEDIA_SUPPORT=m
#
# Multimedia core support
#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_DVB_CORE=m
CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
#
-# Multimedia drivers
+# Media drivers
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_RC_CORE=m
-CONFIG_LIRC=m
CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
@@ -3445,7 +3462,7 @@ CONFIG_IR_SONY_DECODER=m
CONFIG_IR_RC5_SZ_DECODER=m
CONFIG_IR_SANYO_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
+CONFIG_RC_DEVICES=y
CONFIG_RC_ATI_REMOTE=m
CONFIG_IR_ENE=m
CONFIG_IR_IMON=m
@@ -3456,6 +3473,7 @@ CONFIG_IR_NUVOTON=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
CONFIG_RC_LOOPBACK=m
CONFIG_IR_GPIO_CIR=m
CONFIG_MEDIA_ATTACH=y
@@ -3483,6 +3501,8 @@ CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_VIDEO_V4L2=m
@@ -3565,6 +3585,7 @@ CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
CONFIG_VIDEO_ADV7343=m
+CONFIG_VIDEO_ADV7393=m
CONFIG_VIDEO_AK881X=m
#
@@ -3603,7 +3624,10 @@ CONFIG_VIDEO_THS7303=m
CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_VIVI=m
CONFIG_V4L_USB_DRIVERS=y
-CONFIG_VIDEO_AU0828=m
+
+#
+# Webcam devices
+#
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
@@ -3653,15 +3677,32 @@ CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_VICAM=m
CONFIG_USB_GSPCA_XIRLINK_CIT=m
CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Webcam and/or TV USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+
+#
+# TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=m
CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_RC=y
@@ -3671,14 +3712,6 @@ CONFIG_VIDEO_TM6000=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_VIDEO_CPIA2=m
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
CONFIG_V4L_PCI_DRIVERS=y
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
@@ -3724,6 +3757,8 @@ CONFIG_I2C_SI470X=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
CONFIG_I2C_SI4713=m
CONFIG_RADIO_SI4713=m
CONFIG_USB_KEENE=m
@@ -3859,7 +3894,6 @@ CONFIG_DVB_DDBRIDGE=m
#
# Supported DVB Frontends
#
-# CONFIG_DVB_FE_CUSTOMISE is not set
#
# Multistandard (satellite) frontends
@@ -3926,6 +3960,7 @@ CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
#
# DVB-C (cable) frontends
@@ -4029,6 +4064,7 @@ CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=m
CONFIG_DRM_GMA600=y
CONFIG_DRM_GMA3600=y
@@ -4090,7 +4126,9 @@ CONFIG_FB_I810_I2C=y
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
-# CONFIG_FB_VIA is not set
+CONFIG_FB_VIA=m
+CONFIG_FB_VIA_DIRECT_PROCFS=y
+CONFIG_FB_VIA_X_COMPATIBILITY=y
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
@@ -4356,6 +4394,7 @@ CONFIG_AC97_BUS=m
#
CONFIG_HID=m
CONFIG_HIDRAW=y
+CONFIG_UHID=m
CONFIG_HID_GENERIC=m
#
@@ -4386,6 +4425,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
@@ -4775,13 +4815,16 @@ CONFIG_LEDS_LT3593=m
CONFIG_LEDS_DELL_NETBOOKS=m
CONFIG_LEDS_MC13783=m
CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM3556=m
CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
CONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_GPIO=m
@@ -4799,6 +4842,7 @@ CONFIG_EDAC=y
#
# Reporting subsystems
#
+CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
CONFIG_EDAC_MCE_INJ=m
@@ -4916,6 +4960,7 @@ CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
CONFIG_UIO_NETX=m
+# CONFIG_VFIO is not set
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
@@ -4946,14 +4991,14 @@ CONFIG_COMEDI=m
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
-CONFIG_COMEDI_MISC_DRIVERS=m
+CONFIG_COMEDI_MISC_DRIVERS=y
CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_BOND=m
CONFIG_COMEDI_TEST=m
CONFIG_COMEDI_PARPORT=m
CONFIG_COMEDI_SERIAL2002=m
CONFIG_COMEDI_SKEL=m
-CONFIG_COMEDI_ISA_DRIVERS=m
+CONFIG_COMEDI_ISA_DRIVERS=y
CONFIG_COMEDI_ACL7225B=m
CONFIG_COMEDI_PCL711=m
CONFIG_COMEDI_PCL724=m
@@ -4999,7 +5044,7 @@ CONFIG_COMEDI_PCMMIO=m
CONFIG_COMEDI_PCMUIO=m
CONFIG_COMEDI_MULTIQ3=m
CONFIG_COMEDI_POC=m
-CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCI_DRIVERS=y
CONFIG_COMEDI_ADDI_APCI_035=m
CONFIG_COMEDI_ADDI_APCI_1032=m
CONFIG_COMEDI_ADDI_APCI_1500=m
@@ -5051,13 +5096,16 @@ CONFIG_COMEDI_NI_6527=m
CONFIG_COMEDI_NI_65XX=m
CONFIG_COMEDI_NI_660X=m
CONFIG_COMEDI_NI_670X=m
+CONFIG_COMEDI_NI_LABPC=m
CONFIG_COMEDI_NI_PCIDIO=m
CONFIG_COMEDI_NI_PCIMIO=m
CONFIG_COMEDI_RTD520=m
CONFIG_COMEDI_S526=m
CONFIG_COMEDI_S626=m
CONFIG_COMEDI_SSV_DNP=m
-CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_MITE=m
+CONFIG_COMEDI_NI_TIOCMD=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=y
CONFIG_COMEDI_CB_DAS16_CS=m
CONFIG_COMEDI_DAS08_CS=m
CONFIG_COMEDI_NI_DAQ_700_CS=m
@@ -5065,22 +5113,19 @@ CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
CONFIG_COMEDI_NI_LABPC_CS=m
CONFIG_COMEDI_NI_MIO_CS=m
CONFIG_COMEDI_QUATECH_DAQP_CS=m
-CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=m
CONFIG_COMEDI_USBDUX=m
CONFIG_COMEDI_USBDUXFAST=m
CONFIG_COMEDI_USBDUXSIGMA=m
CONFIG_COMEDI_VMK80XX=m
-CONFIG_COMEDI_NI_COMMON=m
-CONFIG_COMEDI_MITE=m
-CONFIG_COMEDI_NI_TIO=m
-CONFIG_COMEDI_NI_LABPC=m
CONFIG_COMEDI_8255=m
CONFIG_COMEDI_FC=m
CONFIG_COMEDI_AMPLC_DIO200=m
CONFIG_COMEDI_AMPLC_PC236=m
CONFIG_COMEDI_AMPLC_PC263=m
CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_NI_TIO=m
# CONFIG_FB_OLPC_DCON is not set
CONFIG_ASUS_OLED=m
# CONFIG_PANEL is not set
@@ -5193,6 +5238,7 @@ CONFIG_WIMAX_GDM72XX_WIMAX2=y
CONFIG_WIMAX_GDM72XX_USB=y
# CONFIG_WIMAX_GDM72XX_SDIO is not set
CONFIG_WIMAX_GDM72XX_USB_PM=y
+CONFIG_CSR_WIFI=m
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -5251,6 +5297,7 @@ CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
+CONFIG_OF_IOMMU=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
@@ -5271,9 +5318,11 @@ CONFIG_EXTCON=m
# Extcon Device Drivers
#
CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_ARIZONA=m
CONFIG_MEMORY=y
# CONFIG_IIO is not set
# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
#
# Firmware Drivers
@@ -5334,7 +5383,7 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
CONFIG_NILFS2_FS=m
CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=m
+CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
@@ -5349,7 +5398,7 @@ CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=m
+CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
@@ -5444,6 +5493,8 @@ CONFIG_OMFS_FS=m
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
CONFIG_PSTORE_RAM=m
# CONFIG_SYSV_FS is not set
CONFIG_UFS_FS=m
@@ -5454,10 +5505,11 @@ CONFIG_EXOFS_FS=m
CONFIG_ORE=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
-CONFIG_NFS_V2=y
-CONFIG_NFS_V3=y
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
+CONFIG_NFS_V4=m
+# CONFIG_NFS_SWAP is not set
# CONFIG_NFS_V4_1 is not set
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
@@ -5635,7 +5687,7 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_LKDTM=m
-CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_DEBUG_PAGEALLOC is not set
@@ -5702,6 +5754,7 @@ CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_SET_MODULE_RONX is not set
# CONFIG_DEBUG_NX_TEST is not set
CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
@@ -5786,6 +5839,8 @@ CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=m
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
#
# Authenticated Encryption with Associated Data
@@ -5891,6 +5946,7 @@ CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
CONFIG_KVM_MMU_AUDIT=y
CONFIG_VHOST_NET=m
+CONFIG_TCM_VHOST=m
CONFIG_LGUEST=m
CONFIG_BINARY_PRINTF=y
@@ -5956,6 +6012,7 @@ CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
CONFIG_CORDIC=m
diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64
index 31da569ad..479c39929 100644..100755
--- a/libre/linux-libre/config.x86_64
+++ b/libre/linux-libre/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.5.0-2 Kernel Configuration
+# Linux/x86_64 3.6.0 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
@@ -74,7 +74,7 @@ CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
-# CONFIG_FHANDLE is not set
+CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
@@ -136,10 +136,8 @@ CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-# CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED is not set
-CONFIG_CGROUP_MEM_RES_CTLR_KMEM=y
+# CONFIG_MEMCG is not set
+# CONFIG_CGROUP_HUGETLB is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
@@ -154,7 +152,6 @@ CONFIG_IPC_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
-CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
@@ -231,6 +228,7 @@ CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
@@ -335,7 +333,7 @@ CONFIG_X86_MPPARSE=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
-CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
@@ -429,6 +427,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
@@ -505,7 +504,7 @@ CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_CAN_PM_TRACE=y
+CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_PM_TRACE_RTC is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
@@ -577,6 +576,7 @@ CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
CONFIG_INTEL_IDLE=y
#
@@ -668,7 +668,7 @@ CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_BINFMT_MISC=y
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=m
-# CONFIG_X86_X32 is not set
+CONFIG_X86_X32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
@@ -712,6 +712,7 @@ CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
@@ -803,6 +804,8 @@ CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=m
@@ -1255,6 +1258,7 @@ CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
@@ -1278,14 +1282,13 @@ CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
-CONFIG_NL80211_TESTMODE=y
+# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
@@ -1300,6 +1303,7 @@ CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_WIMAX=m
CONFIG_WIMAX_DEBUG_LEVEL=8
@@ -1351,6 +1355,7 @@ CONFIG_SYS_HYPERVISOR=y
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
@@ -1575,9 +1580,6 @@ CONFIG_EEPROM_93CX6=m
CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
#
# Texas Instruments shared transport line discipline
@@ -1619,7 +1621,6 @@ CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
@@ -1854,7 +1855,6 @@ CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-# CONFIG_DM_DEBUG_SPACE_MAPS is not set
CONFIG_DM_MIRROR=m
CONFIG_DM_RAID=m
CONFIG_DM_LOG_USERSPACE=m
@@ -1914,6 +1914,7 @@ CONFIG_IEEE802154_FAKEHARD=m
CONFIG_IEEE802154_FAKELB=m
CONFIG_IFB=m
CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
@@ -2170,6 +2171,7 @@ CONFIG_CICADA_PHY=m
CONFIG_VITESSE_PHY=m
CONFIG_SMSC_PHY=m
CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
@@ -2321,13 +2323,13 @@ CONFIG_HOSTAP_CS=m
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
#
# Debugging Options
#
# CONFIG_IWLWIFI_DEBUG is not set
CONFIG_IWLWIFI_DEVICE_TRACING=y
-CONFIG_IWLWIFI_DEVICE_TESTMODE=y
# CONFIG_IWLWIFI_P2P is not set
# CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set
CONFIG_IWLEGACY=m
@@ -2338,9 +2340,6 @@ CONFIG_IWL3945=m
# iwl3945 / iwl4965 Debugging Options
#
# CONFIG_IWLEGACY_DEBUG is not set
-CONFIG_IWM=m
-# CONFIG_IWM_DEBUG is not set
-CONFIG_IWM_TRACING=y
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_CS=m
@@ -2369,6 +2368,7 @@ CONFIG_RT2800PCI=m
CONFIG_RT2800PCI_RT33XX=y
CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
@@ -2395,6 +2395,7 @@ CONFIG_WL_TI=y
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
CONFIG_WL12XX=m
+CONFIG_WL18XX=m
CONFIG_WLCORE=m
CONFIG_WLCORE_SDIO=m
CONFIG_WL12XX_PLATFORM_DATA=y
@@ -2410,8 +2411,6 @@ CONFIG_MWIFIEX_USB=m
#
CONFIG_WIMAX_I2400M=m
CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-# CONFIG_WIMAX_IWMC3200_SDIO is not set
CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
# CONFIG_WAN is not set
CONFIG_XEN_NETDEV_FRONTEND=m
@@ -2671,10 +2670,12 @@ CONFIG_TOUCHSCREEN_WACOM_W8001=m
CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_MAX11801=m
CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
CONFIG_TOUCHSCREEN_UCB1400=m
@@ -2898,6 +2899,7 @@ CONFIG_I2C_SCMI=m
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
+CONFIG_I2C_DESIGNWARE_CORE=m
CONFIG_I2C_DESIGNWARE_PCI=m
CONFIG_I2C_EG20T=m
# CONFIG_I2C_GPIO is not set
@@ -2968,6 +2970,7 @@ CONFIG_GPIO_ICH=m
#
# I2C GPIO expanders:
#
+CONFIG_GPIO_ARIZONA=m
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
@@ -2978,6 +2981,7 @@ CONFIG_GPIO_ICH=m
# PCI GPIO expanders:
#
CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
CONFIG_GPIO_LANGWELL=y
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
@@ -3014,6 +3018,7 @@ CONFIG_TEST_POWER=m
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_SMB347 is not set
+CONFIG_POWER_AVS=y
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
@@ -3052,6 +3057,7 @@ CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_GPIO_FAN is not set
+CONFIG_SENSORS_HIH6130=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
@@ -3228,12 +3234,13 @@ CONFIG_BCMA=m
CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
+CONFIG_BCMA_DRIVER_GMAC_CMN=y
# CONFIG_BCMA_DEBUG is not set
#
# Multifunction device drivers
#
-CONFIG_MFD_CORE=m
+CONFIG_MFD_CORE=y
CONFIG_MFD_SM501=m
CONFIG_MFD_SM501_GPIO=y
CONFIG_HTC_PASIC3=m
@@ -3244,6 +3251,10 @@ CONFIG_TPS65010=m
CONFIG_TPS6507X=m
CONFIG_MFD_TPS65217=m
# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
CONFIG_MFD_PCF50633=m
CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=m
@@ -3265,22 +3276,28 @@ CONFIG_MEDIA_SUPPORT=m
#
# Multimedia core support
#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_V4L2_COMMON=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_DVB_CORE=m
CONFIG_DVB_NET=y
-CONFIG_VIDEO_MEDIA=m
#
-# Multimedia drivers
+# Media drivers
#
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_RC_CORE=m
-CONFIG_LIRC=m
CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
@@ -3289,7 +3306,7 @@ CONFIG_IR_SONY_DECODER=m
CONFIG_IR_RC5_SZ_DECODER=m
CONFIG_IR_SANYO_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
+CONFIG_RC_DEVICES=y
CONFIG_RC_ATI_REMOTE=m
CONFIG_IR_ENE=m
CONFIG_IR_IMON=m
@@ -3300,6 +3317,7 @@ CONFIG_IR_NUVOTON=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
CONFIG_RC_LOOPBACK=m
CONFIG_IR_GPIO_CIR=m
CONFIG_MEDIA_ATTACH=y
@@ -3327,6 +3345,8 @@ CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_VIDEO_V4L2=m
@@ -3409,6 +3429,7 @@ CONFIG_VIDEO_SAA7185=m
CONFIG_VIDEO_ADV7170=m
CONFIG_VIDEO_ADV7175=m
CONFIG_VIDEO_ADV7343=m
+CONFIG_VIDEO_ADV7393=m
CONFIG_VIDEO_AK881X=m
#
@@ -3447,7 +3468,10 @@ CONFIG_VIDEO_THS7303=m
CONFIG_VIDEO_M52790=m
CONFIG_VIDEO_VIVI=m
CONFIG_V4L_USB_DRIVERS=y
-CONFIG_VIDEO_AU0828=m
+
+#
+# Webcam devices
+#
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
@@ -3497,15 +3521,32 @@ CONFIG_USB_GSPCA_VC032X=m
CONFIG_USB_GSPCA_VICAM=m
CONFIG_USB_GSPCA_XIRLINK_CIT=m
CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Webcam and/or TV USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+
+#
+# TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX_RC=m
CONFIG_VIDEO_TLG2300=m
CONFIG_VIDEO_CX231XX=m
CONFIG_VIDEO_CX231XX_RC=y
@@ -3515,14 +3556,6 @@ CONFIG_VIDEO_TM6000=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_VIDEO_CPIA2=m
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
CONFIG_V4L_PCI_DRIVERS=y
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
@@ -3568,6 +3601,8 @@ CONFIG_I2C_SI470X=m
CONFIG_USB_MR800=m
CONFIG_USB_DSBR=m
CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
CONFIG_I2C_SI4713=m
CONFIG_RADIO_SI4713=m
CONFIG_USB_KEENE=m
@@ -3702,7 +3737,6 @@ CONFIG_DVB_DDBRIDGE=m
#
# Supported DVB Frontends
#
-# CONFIG_DVB_FE_CUSTOMISE is not set
#
# Multistandard (satellite) frontends
@@ -3769,6 +3803,7 @@ CONFIG_DVB_EC100=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_CXD2820R=m
CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
#
# DVB-C (cable) frontends
@@ -3866,6 +3901,7 @@ CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=m
CONFIG_DRM_GMA600=y
CONFIG_DRM_GMA3600=y
@@ -3924,7 +3960,9 @@ CONFIG_FB_EFI=y
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
-# CONFIG_FB_VIA is not set
+CONFIG_FB_VIA=m
+CONFIG_FB_VIA_DIRECT_PROCFS=y
+CONFIG_FB_VIA_X_COMPATIBILITY=y
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
@@ -4153,6 +4191,7 @@ CONFIG_AC97_BUS=m
#
CONFIG_HID=m
CONFIG_HIDRAW=y
+CONFIG_UHID=m
CONFIG_HID_GENERIC=m
#
@@ -4183,6 +4222,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
@@ -4571,13 +4611,16 @@ CONFIG_LEDS_LT3593=m
CONFIG_LEDS_DELL_NETBOOKS=m
CONFIG_LEDS_MC13783=m
CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM3556=m
CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
CONFIG_LEDS_TRIGGERS=y
#
# LED Triggers
#
CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_GPIO=m
@@ -4595,6 +4638,7 @@ CONFIG_EDAC=y
#
# Reporting subsystems
#
+CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_DECODE_MCE=m
CONFIG_EDAC_MCE_INJ=m
@@ -4710,6 +4754,7 @@ CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
CONFIG_UIO_NETX=m
+# CONFIG_VFIO is not set
CONFIG_VIRTIO=m
CONFIG_VIRTIO_RING=m
@@ -4747,6 +4792,7 @@ CONFIG_XEN_TMEM=y
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_ACPI_PROCESSOR=m
+# CONFIG_XEN_MCE_LOG is not set
CONFIG_STAGING=y
CONFIG_ET131X=m
CONFIG_SLICOSS=m
@@ -4761,14 +4807,14 @@ CONFIG_COMEDI=m
# CONFIG_COMEDI_DEBUG is not set
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
-CONFIG_COMEDI_MISC_DRIVERS=m
+CONFIG_COMEDI_MISC_DRIVERS=y
CONFIG_COMEDI_KCOMEDILIB=m
CONFIG_COMEDI_BOND=m
CONFIG_COMEDI_TEST=m
CONFIG_COMEDI_PARPORT=m
CONFIG_COMEDI_SERIAL2002=m
CONFIG_COMEDI_SKEL=m
-CONFIG_COMEDI_PCI_DRIVERS=m
+CONFIG_COMEDI_PCI_DRIVERS=y
CONFIG_COMEDI_ADDI_APCI_035=m
CONFIG_COMEDI_ADDI_APCI_1032=m
CONFIG_COMEDI_ADDI_APCI_1500=m
@@ -4820,13 +4866,16 @@ CONFIG_COMEDI_NI_6527=m
CONFIG_COMEDI_NI_65XX=m
CONFIG_COMEDI_NI_660X=m
CONFIG_COMEDI_NI_670X=m
+CONFIG_COMEDI_NI_LABPC=m
CONFIG_COMEDI_NI_PCIDIO=m
CONFIG_COMEDI_NI_PCIMIO=m
CONFIG_COMEDI_RTD520=m
CONFIG_COMEDI_S526=m
CONFIG_COMEDI_S626=m
CONFIG_COMEDI_SSV_DNP=m
-CONFIG_COMEDI_PCMCIA_DRIVERS=m
+CONFIG_COMEDI_MITE=m
+CONFIG_COMEDI_NI_TIOCMD=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=y
CONFIG_COMEDI_CB_DAS16_CS=m
CONFIG_COMEDI_DAS08_CS=m
CONFIG_COMEDI_NI_DAQ_700_CS=m
@@ -4834,22 +4883,19 @@ CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
CONFIG_COMEDI_NI_LABPC_CS=m
CONFIG_COMEDI_NI_MIO_CS=m
CONFIG_COMEDI_QUATECH_DAQP_CS=m
-CONFIG_COMEDI_USB_DRIVERS=m
+CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=m
CONFIG_COMEDI_USBDUX=m
CONFIG_COMEDI_USBDUXFAST=m
CONFIG_COMEDI_USBDUXSIGMA=m
CONFIG_COMEDI_VMK80XX=m
-CONFIG_COMEDI_NI_COMMON=m
-CONFIG_COMEDI_MITE=m
-CONFIG_COMEDI_NI_TIO=m
-CONFIG_COMEDI_NI_LABPC=m
CONFIG_COMEDI_8255=m
CONFIG_COMEDI_FC=m
CONFIG_COMEDI_AMPLC_DIO200=m
CONFIG_COMEDI_AMPLC_PC236=m
CONFIG_COMEDI_AMPLC_PC263=m
CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_NI_TIO=m
CONFIG_ASUS_OLED=m
# CONFIG_PANEL is not set
CONFIG_R8187SE=m
@@ -4961,6 +5007,7 @@ CONFIG_WIMAX_GDM72XX_WIMAX2=y
CONFIG_WIMAX_GDM72XX_USB=y
# CONFIG_WIMAX_GDM72XX_SDIO is not set
CONFIG_WIMAX_GDM72XX_USB_PM=y
+CONFIG_CSR_WIFI=m
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACERHDF=m
@@ -5040,9 +5087,11 @@ CONFIG_EXTCON=m
# Extcon Device Drivers
#
CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_ARIZONA=m
CONFIG_MEMORY=y
# CONFIG_IIO is not set
# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
#
# Firmware Drivers
@@ -5103,7 +5152,7 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
CONFIG_NILFS2_FS=m
CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=m
+CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
@@ -5119,7 +5168,7 @@ CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
-CONFIG_AUTOFS4_FS=m
+CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
@@ -5214,6 +5263,8 @@ CONFIG_OMFS_FS=m
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
CONFIG_PSTORE_RAM=m
# CONFIG_SYSV_FS is not set
CONFIG_UFS_FS=m
@@ -5224,10 +5275,11 @@ CONFIG_EXOFS_FS=m
CONFIG_ORE=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
-CONFIG_NFS_V2=y
-CONFIG_NFS_V3=y
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
+CONFIG_NFS_V4=m
+# CONFIG_NFS_SWAP is not set
# CONFIG_NFS_V4_1 is not set
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
@@ -5404,7 +5456,7 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_LKDTM=m
-CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_DEBUG_PAGEALLOC is not set
@@ -5470,6 +5522,7 @@ CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
@@ -5555,6 +5608,8 @@ CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=m
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
#
# Authenticated Encryption with Associated Data
@@ -5625,11 +5680,13 @@ CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_X86_64=m
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
+CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
#
# Compression
@@ -5662,6 +5719,7 @@ CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
CONFIG_KVM_MMU_AUDIT=y
CONFIG_VHOST_NET=m
+CONFIG_TCM_VHOST=m
CONFIG_BINARY_PRINTF=y
#
@@ -5725,6 +5783,7 @@ CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_LRU_CACHE=m
CONFIG_AVERAGE=y
CONFIG_CORDIC=m
diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install
index 59b77b82d..e5af2a1bd 100644..100755
--- a/libre/linux-libre/linux-libre.install
+++ b/libre/linux-libre/linux-libre.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=3.5.2-1.1-LIBRE
+KERNEL_VERSION=3.6.2-1-LIBRE
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
@@ -33,7 +33,7 @@ post_install () {
post_upgrade() {
pacman -Q grub &>/dev/null
hasgrub=$?
- pacman -Q grub2-common &>/dev/null
+ pacman -Q grub-common &>/dev/null
hasgrub2=$?
pacman -Q lilo &>/dev/null
haslilo=$?
diff --git a/libre/linux-libre/linux-libre.preset b/libre/linux-libre/linux-libre.preset
index 0ac59eb14..0ac59eb14 100644..100755
--- a/libre/linux-libre/linux-libre.preset
+++ b/libre/linux-libre/linux-libre.preset
diff --git a/libre/lirc-libre/PKGBUILD b/libre/lirc-libre/PKGBUILD
index 4b3384c25..d4d91c412 100644..100755
--- a/libre/lirc-libre/PKGBUILD
+++ b/libre/lirc-libre/PKGBUILD
@@ -6,32 +6,24 @@ _pkgbase=lirc
pkgbase=lirc-libre
pkgname=('lirc-libre' 'lirc-utils-libre')
pkgver=0.9.0
-pkgrel=25
+pkgrel=31
epoch=1
-_extramodules=extramodules-3.5-LIBRE
+_extramodules=extramodules-3.6-LIBRE
arch=('i686' 'x86_64' 'mips64el')
url="http://www.lirc.org/"
license=('GPL')
### NOTICE don't forget to bump version in depends in package_lirc
-makedepends=('help2man' 'linux-libre-headers>=3.5' 'linux-libre-headers<3.6' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2')
+makedepends=('help2man' 'linux-libre-headers>=3.6' 'linux-libre-headers<3.7' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2')
options=('!makeflags' '!strip')
source=(http://prdownloads.sourceforge.net/${_pkgbase}/${_pkgbase}-${pkgver}.tar.bz2
lirc_wpc8769l.patch
lircd-handle-large-config.patch
lirc_atiusb-kfifo.patch
kernel-2.6.39.patch
- lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd)
-md5sums=('b232aef26f23fe33ea8305d276637086'
- '1cce37e18e3f6f46044abab29016d18f'
- 'b70cc9640505205446ec47b7d4779f38'
- '1f8b104a2365d9f93404b143f499059b'
- '087a7d102e1c96bf1179f38db2b0b237'
- '8d0e238dc0eda95e340fe570605da492'
- '85f7fdac55e5256967241864049bf5e9'
- '3deb02604b37811d41816e9b4385fcc3'
- '5b1f8c9cd788a39a6283f93302ce5c6e'
- 'f0c0ac930326168035f0c8e24357ae55'
- '69d099e6deedfa3c1ee2b6e82d9b8bfb')
+ lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd
+ lirc.service lircm.service irexec.service
+ lirc.tmpfiles
+ )
build() {
_kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
@@ -63,8 +55,8 @@ build() {
}
package_lirc-libre() {
- pkgdesc="Linux-libre Infrared Remote Control kernel modules for stock libre kernel"
- depends=('lirc-utils-libre' 'linux-libre>=3.4' 'linux-libre<3.5')
+ pkgdesc="Linux-libre Infrared Remote Control kernel modules for stock kernel libre"
+ depends=('lirc-utils-libre' 'linux-libre>=3.6' 'linux-libre<3.7')
replaces=('lirc' 'lirc+pctv')
conflicts=('lirc')
provides=("lirc=$pkgver")
@@ -88,11 +80,16 @@ package_lirc-utils-libre() {
conflicts=('lirc-utils')
provides=("lirc-utils=$pkgver")
backup=('etc/conf.d/lircd.conf' 'etc/conf.d/irexec.conf')
+ install=lirc-utils.install
cd "${srcdir}/lirc-${pkgver}"
make DESTDIR="${pkgdir}" install
install -d "${pkgdir}/usr/share/lirc" "${pkgdir}/etc/rc.d"
cp "${srcdir}"/{lircd,lircmd,irexecd} "${pkgdir}/etc/rc.d"
+ install -D -m644 "${srcdir}"/lirc.service "${pkgdir}"/usr/lib/systemd/system/lirc.service
+ install -D -m644 "${srcdir}"/lircm.service "${pkgdir}"/usr/lib/systemd/system/lircm.service
+ install -D -m644 "${srcdir}"/irexec.service "${pkgdir}"/usr/lib/systemd/system/irexec.service
+ install -D -m644 "${srcdir}"/lirc.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lirc.conf
cp -rp remotes "${pkgdir}/usr/share/lirc"
chmod -R go-w "${pkgdir}/usr/share/lirc/"
@@ -110,3 +107,18 @@ package_lirc-utils-libre() {
# remove built modules
rm -r "${pkgdir}/usr/lib/modules"
}
+md5sums=('b232aef26f23fe33ea8305d276637086'
+ '1cce37e18e3f6f46044abab29016d18f'
+ 'b70cc9640505205446ec47b7d4779f38'
+ '1f8b104a2365d9f93404b143f499059b'
+ '087a7d102e1c96bf1179f38db2b0b237'
+ '8d0e238dc0eda95e340fe570605da492'
+ '85f7fdac55e5256967241864049bf5e9'
+ '3deb02604b37811d41816e9b4385fcc3'
+ '5b1f8c9cd788a39a6283f93302ce5c6e'
+ 'f0c0ac930326168035f0c8e24357ae55'
+ '69d099e6deedfa3c1ee2b6e82d9b8bfb'
+ 'dab8a73bcc5fd5479d8750493d8d97dc'
+ 'c2e20fe68b034df752dba2773db16ebe'
+ '07131d117fcfe9dcd50c453c3a5e9531'
+ 'febf25c154a7d36f01159e84f26c2d9a') \ No newline at end of file
diff --git a/libre/lirc-libre/irexec.conf b/libre/lirc-libre/irexec.conf
index f911c7515..f911c7515 100644..100755
--- a/libre/lirc-libre/irexec.conf
+++ b/libre/lirc-libre/irexec.conf
diff --git a/libre/lirc-libre/irexec.service b/libre/lirc-libre/irexec.service
new file mode 100644
index 000000000..5d7915b29
--- /dev/null
+++ b/libre/lirc-libre/irexec.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=IR Exec
+After=lirc.service
+Wants=lirc.service
+
+[Service]
+ExecStart=/usr/bin/irexec --daemon
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/lirc-libre/irexecd b/libre/lirc-libre/irexecd
index a64b033a5..a64b033a5 100644..100755
--- a/libre/lirc-libre/irexecd
+++ b/libre/lirc-libre/irexecd
diff --git a/libre/lirc-libre/kernel-2.6.39.patch b/libre/lirc-libre/kernel-2.6.39.patch
index 7353d61ca..7353d61ca 100644..100755
--- a/libre/lirc-libre/kernel-2.6.39.patch
+++ b/libre/lirc-libre/kernel-2.6.39.patch
diff --git a/libre/lirc-libre/lirc-utils.install b/libre/lirc-libre/lirc-utils.install
new file mode 100644
index 000000000..293d1ed7c
--- /dev/null
+++ b/libre/lirc-libre/lirc-utils.install
@@ -0,0 +1,7 @@
+post_install() {
+ systemd-tmpfiles --create lirc.conf
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/libre/lirc-libre/lirc.install b/libre/lirc-libre/lirc.install
index b39282da6..976f5ab8a 100644..100755
--- a/libre/lirc-libre/lirc.install
+++ b/libre/lirc-libre/lirc.install
@@ -1,4 +1,4 @@
-EXTRAMODULES=extramodules-3.5-LIBRE
+EXTRAMODULES=extramodules-3.6-LIBRE
post_install() {
# updating module dependencies
diff --git a/libre/lirc-libre/lirc.logrotate b/libre/lirc-libre/lirc.logrotate
index 623c4f328..623c4f328 100644..100755
--- a/libre/lirc-libre/lirc.logrotate
+++ b/libre/lirc-libre/lirc.logrotate
diff --git a/libre/lirc-libre/lirc.service b/libre/lirc-libre/lirc.service
new file mode 100644
index 000000000..953601fd3
--- /dev/null
+++ b/libre/lirc-libre/lirc.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Linux Infrared Remote Control
+
+[Service]
+ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd
+ExecStart=/usr/sbin/lircd --pidfile=/run/lirc/lircd.pid
+Type=forking
+PIDFile=/run/lirc/lircd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/lirc-libre/lirc.tmpfiles b/libre/lirc-libre/lirc.tmpfiles
new file mode 100644
index 000000000..0b80e2e47
--- /dev/null
+++ b/libre/lirc-libre/lirc.tmpfiles
@@ -0,0 +1 @@
+d /run/lirc 0755 root root -
diff --git a/libre/lirc-libre/lirc_atiusb-kfifo.patch b/libre/lirc-libre/lirc_atiusb-kfifo.patch
index a64984dce..a64984dce 100644..100755
--- a/libre/lirc-libre/lirc_atiusb-kfifo.patch
+++ b/libre/lirc-libre/lirc_atiusb-kfifo.patch
diff --git a/libre/lirc-libre/lirc_wpc8769l.patch b/libre/lirc-libre/lirc_wpc8769l.patch
index e4e2a049b..e4e2a049b 100644..100755
--- a/libre/lirc-libre/lirc_wpc8769l.patch
+++ b/libre/lirc-libre/lirc_wpc8769l.patch
diff --git a/libre/lirc-libre/lircd b/libre/lirc-libre/lircd
index e9739b36e..e9739b36e 100644..100755
--- a/libre/lirc-libre/lircd
+++ b/libre/lirc-libre/lircd
diff --git a/libre/lirc-libre/lircd-handle-large-config.patch b/libre/lirc-libre/lircd-handle-large-config.patch
index 85bc20518..85bc20518 100644..100755
--- a/libre/lirc-libre/lircd-handle-large-config.patch
+++ b/libre/lirc-libre/lircd-handle-large-config.patch
diff --git a/libre/lirc-libre/lircd.conf b/libre/lirc-libre/lircd.conf
index 760dab065..760dab065 100644..100755
--- a/libre/lirc-libre/lircd.conf
+++ b/libre/lirc-libre/lircd.conf
diff --git a/libre/lirc-libre/lircm.service b/libre/lirc-libre/lircm.service
new file mode 100644
index 000000000..6b258e312
--- /dev/null
+++ b/libre/lirc-libre/lircm.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=LIRC Mouse
+After=lirc.service
+Wants=lirc.service
+
+[Service]
+ExecStart=/usr/sbin/lircmd -u
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/lirc-libre/lircmd b/libre/lirc-libre/lircmd
index 220c47c9c..220c47c9c 100644..100755
--- a/libre/lirc-libre/lircmd
+++ b/libre/lirc-libre/lircmd
diff --git a/libre/lsb-release-libre/PKGBUILD b/libre/lsb-release-libre/PKGBUILD
index 51ec79bea..51ec79bea 100644..100755
--- a/libre/lsb-release-libre/PKGBUILD
+++ b/libre/lsb-release-libre/PKGBUILD
diff --git a/libre/lsb-release-libre/lsb-release.install b/libre/lsb-release-libre/lsb-release.install
index 62d404892..62d404892 100644..100755
--- a/libre/lsb-release-libre/lsb-release.install
+++ b/libre/lsb-release-libre/lsb-release.install
diff --git a/libre/luxblend25/PKGBUILD b/libre/luxblend25/PKGBUILD
index d9934e179..3ce9b57db 100644..100755
--- a/libre/luxblend25/PKGBUILD
+++ b/libre/luxblend25/PKGBUILD
@@ -1,28 +1,44 @@
-# $Id$
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
pkgname=luxblend25
-pkgver=1.0rc3
-_pkgver=2d621c653196
+pkgver=1.0rc4
+_pkgver=06194cf93745
_blender=2.63
pkgrel=1
-pkgdesc="A LuxRender exporter for Blender-libre"
-arch=('any')
-url="http://www.luxrender.net/"
-license=('GPL')
-depends=('blender' 'luxrender')
-replaces=('luxblend25')
-conflicts=('luxblend25')
-provides=("luxblend25=$pkgver")
-source=(https://bitbucket.org/luxrender/luxblend25/get/$_pkgver.tar.bz2)
-md5sums=('c5719c2a0e8567cd9f0aef429a2996f0')
+pkgdesc='A LuxRender exporter for Blender-libre'
+arch=(
+ any
+)
+url=http://www.{pkgname::3}render.net/
+license=(
+ GPL
+)
+depends=(
+ blender=$_blender
+ ${pkgname::3}render
+)
+replaces=(
+ $pkgname
+)
+conflicts=(
+ $pkgname
+)
+provides=(
+ $pkgname=$pkgver
+)
+source=(
+ https://bitbucket.org/${pkgname::3}render/$pkgname/get/$_pkgver.tar.bz2
+)
+md5sums=(
+ c5719c2a0e8567cd9f0aef429a2996f0
+)
package() {
- install -d -m755 "$pkgdir"/usr/share/blender/$_blender/scripts/addons
- cp -a "$srcdir"/luxrender-luxblend25-$_pkgver/src/luxrender \
- "$pkgdir"/usr/share/blender/$_blender/scripts/addons
+ install -d -m755 $pkgdir/usr/share/blender/$_blender/scripts/addons
+ cp -a $srcdir/${pkgname::3}render-$pkgname-$_pkgver/src/${pkgname::3}render \
+ $pkgdir/usr/share/blender/$_blender/scripts/addons
# change the search path in exporter so it finds pylux in its new location
- sed -i 's|from.*import pylux|import pylux|' "$pkgdir/usr/share/blender/$_blender/scripts/addons/luxrender/outputs/pure_api.py"
+ sed -i 's|from.*import pylux|import pylux|' $pkgdir/usr/share/blender/$_blender/scripts/addons/${pkgname::3}render/outputs/pure_api.py
}
# vim:set ts=2 sw=2 et:
diff --git a/libre/luxrays-libre/PKGBUILD b/libre/luxrays-libre/PKGBUILD
deleted file mode 100644
index 279e6622e..000000000
--- a/libre/luxrays-libre/PKGBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# $Id$
-# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
-# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
-_pkgname=luxrays
-pkgname=luxrays-libre
-pkgver=1.0rc3
-_pkgver=eb749c000ffc
-pkgrel=1
-epoch=0
-pkgdesc="Accelerate the ray intersection process by using CPUs (without OpenCL)"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://www.luxrender.net/"
-license=('GPL')
-depends=('freeimage' 'freeglut' 'glew')
-makedepends=('cmake' 'boost')
-replaces=('luxrays')
-conflicts=('luxrays')
-provides=("luxrays=$pkgver")
-source=(https://bitbucket.org/luxrender/luxrays/get/$_pkgver.tar.bz2)
-md5sums=('f5f4b53df22a1c7ad301c78d046edd7d')
-
-build() {
- cd "$srcdir/luxrender-$_pkgname-$_pkgver"
-
- export CXXFLAGS="$CXXFLAGS -lpthread"
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_SKIP_RPATH=ON \
- -DLUXRAYS_DISABLE_OPENCL=ON \
- .
- make
-}
-
-package() {
- cd "$srcdir/luxrender-$_pkgname-$_pkgver"
-
- install -d -m755 "$pkgdir"/usr/{bin,include,lib}
- install -m755 bin/* "$pkgdir"/usr/bin
- install -m644 lib/* "$pkgdir"/usr/lib
- cp -a include/luxrays "$pkgdir"/usr/include
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/libre/luxrender-libre/PKGBUILD b/libre/luxrender-libre/PKGBUILD
deleted file mode 100644
index be6fd88e8..000000000
--- a/libre/luxrender-libre/PKGBUILD
+++ /dev/null
@@ -1,54 +0,0 @@
-# $Id$
-# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
-# Initial contributor: flixie <69one@gmx.net>
-# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org>
-# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
-pkgname=luxrender-libre
-pkgver=1.0rc3
-_pkgver=9ed6b94cef05
-pkgrel=1
-pkgdesc="Rendering system for physically correct, unbiased image synthesis (without OpenCL)"
-arch=('i686' 'x86_64' 'mips64el')
-url="http://www.luxrender.net/"
-license=('GPL')
-depends=('boost-libs' 'freeimage' 'openexr')
-optdepends=('luxblend25: Blender exporter' 'qt: Qt GUI' \
- 'python: Python interface (pylux)')
-makedepends=('cmake' 'boost' 'qt' 'luxrays-libre' 'python')
-replaces=('luxrender')
-conflicts=('luxrender')
-provides=("luxrender=$pkgver")
-source=(https://bitbucket.org/luxrender/lux/get/$_pkgver.tar.bz2 \
- boost_1.50_fix.diff)
-md5sums=('54ff625a7833541c3cff5f0a77a93863'
- '8c7774bb0c97aadd77d9e665d8fa4aab')
-
-build() {
- cd "$srcdir"/luxrender-lux-$_pkgver
-
- # fix for boost 1.50
- # the boost::TIME_UTC has been renamed due to the conflict with C++11
- patch -Np1 < "$srcdir"/boost_1.50_fix.diff || true
-
- export CXXFLAGS="$CXXFLAGS -lpthread"
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
- -DLUXRAYS_DISABLE_OPENCL=ON \
- -DPYTHON_CUSTOM=ON \
- -DPYTHON_LIBRARIES=/usr/lib/libpython3.2mu.so \
- -DPYTHON_INCLUDE_PATH=/usr/include/python3.2mu/ \
- .
- make
-}
-
-package() {
- cd "$srcdir"/luxrender-lux-$_pkgver
- make DESTDIR="$pkgdir" install
-
- # fix library path on x86_64
- [ "$CARCH" = "x86_64" ] && mv "$pkgdir"/usr/lib64 "$pkgdir"/usr/lib
-
- #install pylux
- install -D -m644 pylux.so "$pkgdir"/usr/lib/python3.2/pylux.so
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/libre/luxrender-libre/boost_1.50_fix.diff b/libre/luxrender-libre/boost_1.50_fix.diff
deleted file mode 100644
index c1aa0a8e2..000000000
--- a/libre/luxrender-libre/boost_1.50_fix.diff
+++ /dev/null
@@ -1,131 +0,0 @@
-diff -rup luxrender-lux-008805644181/core/film.cpp luxrender-lux-008805644181.new/core/film.cpp
---- luxrender-lux-008805644181/core/film.cpp 2012-06-02 08:40:33.000000000 +0200
-+++ luxrender-lux-008805644181.new/core/film.cpp 2012-07-07 15:44:59.867492295 +0200
-@@ -618,7 +618,7 @@ Film::Film(u_int xres, u_int yres, Filte
- int yRealHeight = Floor2Int(yPixelStart + .5f + yPixelCount + filter->yWidth) - Floor2Int(yPixelStart + .5f - filter->yWidth);
- samplePerPass = xRealWidth * yRealHeight;
-
-- boost::xtime_get(&creationTime, boost::TIME_UTC);
-+ boost::xtime_get(&creationTime, boost::TIME_UTC_);
-
- //Queryable parameters
- AddIntAttribute(*this, "xResolution", "Horizontal resolution (pixels)", &Film::GetXResolution);
-@@ -855,7 +855,7 @@ void Film::AddSampleCount(float count) {
- if (haltTime > 0) {
- // Check if we have met the enough rendering time condition
- boost::xtime t;
-- boost::xtime_get(&t, boost::TIME_UTC);
-+ boost::xtime_get(&t, boost::TIME_UTC_);
- if (t.sec - creationTime.sec > haltTime)
- enoughSamplesPerPixel = true;
- }
-diff -rup luxrender-lux-008805644181/core/photonmap.cpp luxrender-lux-008805644181.new/core/photonmap.cpp
---- luxrender-lux-008805644181/core/photonmap.cpp 2012-06-02 08:40:33.000000000 +0200
-+++ luxrender-lux-008805644181.new/core/photonmap.cpp 2012-07-07 15:44:59.870825579 +0200
-@@ -474,13 +474,13 @@ void PhotonMapPreprocess(const RandomGen
-
- boost::xtime photonShootingStartTime;
- boost::xtime lastUpdateTime;
-- boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC);
-- boost::xtime_get(&lastUpdateTime, boost::TIME_UTC);
-+ boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC_);
-+ boost::xtime_get(&lastUpdateTime, boost::TIME_UTC_);
- u_int nshot = 0;
- while ((!radianceDone || !directDone || !causticDone || !indirectDone) && !scene.terminated) {
- // Dade - print some progress information
- boost::xtime currentTime;
-- boost::xtime_get(&currentTime, boost::TIME_UTC);
-+ boost::xtime_get(&currentTime, boost::TIME_UTC_);
- if (currentTime.sec - lastUpdateTime.sec > 5) {
- ss.str("");
- ss << "Photon shooting progress: Direct[" << directPhotons.size();
-@@ -686,7 +686,7 @@ void PhotonMapPreprocess(const RandomGen
- return;
-
- boost::xtime photonShootingEndTime;
-- boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC);
-+ boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC_);
- LOG(LUX_INFO,LUX_NOERROR) << "Photon shooting done (" << ( photonShootingEndTime.sec - photonShootingStartTime.sec ) << "s)";
-
- if (computeRadianceMap) {
-@@ -700,7 +700,7 @@ void PhotonMapPreprocess(const RandomGen
- for (u_int i = 0; i < radiancePhotons.size(); ++i) {
- // Dade - print some progress info
- boost::xtime currentTime;
-- boost::xtime_get(&currentTime, boost::TIME_UTC);
-+ boost::xtime_get(&currentTime, boost::TIME_UTC_);
- if (currentTime.sec - lastUpdateTime.sec > 5) {
- LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computation progress: " << i << " (" << (100 * i / radiancePhotons.size()) << "%)";
-
-@@ -740,7 +740,7 @@ void PhotonMapPreprocess(const RandomGen
-
-
- boost::xtime radianceComputeEndTime;
-- boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC);
-+ boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC_);
- LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computed (" << ( radianceComputeEndTime.sec - photonShootingEndTime.sec ) << "s)";
- }
-
-diff -rup luxrender-lux-008805644181/core/renderfarm.cpp luxrender-lux-008805644181.new/core/renderfarm.cpp
---- luxrender-lux-008805644181/core/renderfarm.cpp 2012-06-02 08:40:33.000000000 +0200
-+++ luxrender-lux-008805644181.new/core/renderfarm.cpp 2012-07-07 15:44:59.870825579 +0200
-@@ -100,7 +100,7 @@ void FilmUpdaterThread::updateFilm(FilmU
- // Dade - thread to update the film with data from servers
-
- boost::xtime reft;
-- boost::xtime_get(&reft, boost::TIME_UTC);
-+ boost::xtime_get(&reft, boost::TIME_UTC_);
-
- while (filmUpdaterThread->signal == SIG_NONE) {
- // Dade - check signal every 1 sec
-@@ -108,7 +108,7 @@ void FilmUpdaterThread::updateFilm(FilmU
- for(;;) {
- // Dade - sleep for 1 sec
- boost::xtime xt;
-- boost::xtime_get(&xt, boost::TIME_UTC);
-+ boost::xtime_get(&xt, boost::TIME_UTC_);
- xt.sec += 1;
- boost::thread::sleep(xt);
-
-diff -rup luxrender-lux-008805644181/film/fleximage.cpp luxrender-lux-008805644181.new/film/fleximage.cpp
---- luxrender-lux-008805644181/film/fleximage.cpp 2012-06-02 08:40:33.000000000 +0200
-+++ luxrender-lux-008805644181.new/film/fleximage.cpp 2012-07-07 15:44:59.877492150 +0200
-@@ -191,7 +191,7 @@ FlexImageFilm::FlexImageFilm(u_int xres,
- m_CameraResponseEnabled = d_CameraResponseEnabled = m_CameraResponseFile != "";
-
- // init timer
-- boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC);
-+ boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC_);
- lastWriteFLMTime = lastWriteImageTime;
- }
-
-@@ -812,7 +812,7 @@ void FlexImageFilm::CheckWriteOuputInter
- {
- // Check write output interval
- boost::xtime currentTime;
-- boost::xtime_get(&currentTime, boost::TIME_UTC);
-+ boost::xtime_get(&currentTime, boost::TIME_UTC_);
- bool timeToWriteImage = (currentTime.sec - lastWriteImageTime.sec > writeInterval);
- bool timeToWriteFLM = (currentTime.sec - lastWriteFLMTime.sec > flmWriteInterval);
-
-@@ -834,7 +834,7 @@ void FlexImageFilm::CheckWriteOuputInter
- // WriteImage can take a very long time to be executed (i.e. by saving
- // the film. It is better to refresh timestamps after the
- // execution of WriteImage instead than before.
-- boost::xtime_get(&currentTime, boost::TIME_UTC);
-+ boost::xtime_get(&currentTime, boost::TIME_UTC_);
-
- if (timeToWriteImage)
- lastWriteImageTime = currentTime;
-diff -rup luxrender-lux-008805644181/renderers/sppmrenderer.h luxrender-lux-008805644181.new/renderers/sppmrenderer.h
---- luxrender-lux-008805644181/renderers/sppmrenderer.h 2012-06-02 08:40:33.000000000 +0200
-+++ luxrender-lux-008805644181.new/renderers/sppmrenderer.h 2012-07-07 15:44:59.874158864 +0200
-@@ -126,7 +126,7 @@ public:
- {
- while (state == PAUSE && !boost::this_thread::interruption_requested()) {
- boost::xtime xt;
-- boost::xtime_get(&xt, boost::TIME_UTC);
-+ boost::xtime_get(&xt, boost::TIME_UTC_);
- xt.sec += 1;
- boost::thread::sleep(xt);
- }
diff --git a/libre/mariadb/PKGBUILD b/libre/mariadb/PKGBUILD
index a5b733e9f..a5b733e9f 100644..100755
--- a/libre/mariadb/PKGBUILD
+++ b/libre/mariadb/PKGBUILD
diff --git a/libre/mariadb/mariadb.install b/libre/mariadb/mariadb.install
index f56a0dcaa..f56a0dcaa 100644..100755
--- a/libre/mariadb/mariadb.install
+++ b/libre/mariadb/mariadb.install
diff --git a/libre/mariadb/my.cnf b/libre/mariadb/my.cnf
index 9a41b4fc3..9a41b4fc3 100644..100755
--- a/libre/mariadb/my.cnf
+++ b/libre/mariadb/my.cnf
diff --git a/libre/mariadb/mysql.install b/libre/mariadb/mysql.install
index 9a4479215..9a4479215 100644..100755
--- a/libre/mariadb/mysql.install
+++ b/libre/mariadb/mysql.install
diff --git a/libre/mariadb/mysqld b/libre/mariadb/mysqld
index 1ac88a7cc..1ac88a7cc 100644..100755
--- a/libre/mariadb/mysqld
+++ b/libre/mariadb/mysqld
diff --git a/libre/maven-libre/PKGBUILD b/libre/maven-libre/PKGBUILD
index 2bd99940e..2bd99940e 100644..100755
--- a/libre/maven-libre/PKGBUILD
+++ b/libre/maven-libre/PKGBUILD
diff --git a/libre/maven-libre/maven.csh b/libre/maven-libre/maven.csh
index f5750cfc8..f5750cfc8 100644..100755
--- a/libre/maven-libre/maven.csh
+++ b/libre/maven-libre/maven.csh
diff --git a/libre/maven-libre/maven.sh b/libre/maven-libre/maven.sh
index b6655cc22..b6655cc22 100644..100755
--- a/libre/maven-libre/maven.sh
+++ b/libre/maven-libre/maven.sh
diff --git a/libre/mesa-demos-libre/LICENSE b/libre/mesa-demos-libre/LICENSE
index ae33d2709..ae33d2709 100644..100755
--- a/libre/mesa-demos-libre/LICENSE
+++ b/libre/mesa-demos-libre/LICENSE
diff --git a/libre/mesa-demos-libre/PKGBUILD b/libre/mesa-demos-libre/PKGBUILD
index 31170b19f..31170b19f 100644..100755
--- a/libre/mesa-demos-libre/PKGBUILD
+++ b/libre/mesa-demos-libre/PKGBUILD
diff --git a/libre/metalog/PKGBUILD b/libre/metalog/PKGBUILD
index 41a570b7c..41a570b7c 100644..100755
--- a/libre/metalog/PKGBUILD
+++ b/libre/metalog/PKGBUILD
diff --git a/libre/metalog/metalog b/libre/metalog/metalog
index d30f47289..d30f47289 100644..100755
--- a/libre/metalog/metalog
+++ b/libre/metalog/metalog
diff --git a/libre/metalog/metalog.confd b/libre/metalog/metalog.confd
index 3d76ffab3..3d76ffab3 100644..100755
--- a/libre/metalog/metalog.confd
+++ b/libre/metalog/metalog.confd
diff --git a/libre/mozilla-devscripts/PKGBUILD b/libre/mozilla-devscripts/PKGBUILD
index ef7ea7641..ef7ea7641 100644..100755
--- a/libre/mozilla-devscripts/PKGBUILD
+++ b/libre/mozilla-devscripts/PKGBUILD
diff --git a/libre/mozilla-searchplugins/PKGBUILD b/libre/mozilla-searchplugins/PKGBUILD
index 288ce698d..288ce698d 100644..100755
--- a/libre/mozilla-searchplugins/PKGBUILD
+++ b/libre/mozilla-searchplugins/PKGBUILD
diff --git a/libre/mozilla-searchplugins/duck-duck-go-lite.xml b/libre/mozilla-searchplugins/duck-duck-go-lite.xml
index 3142d3410..3142d3410 100644..100755
--- a/libre/mozilla-searchplugins/duck-duck-go-lite.xml
+++ b/libre/mozilla-searchplugins/duck-duck-go-lite.xml
diff --git a/libre/mozilla-searchplugins/internet-archive.xml b/libre/mozilla-searchplugins/internet-archive.xml
index 1556a2d8c..1556a2d8c 100644..100755
--- a/libre/mozilla-searchplugins/internet-archive.xml
+++ b/libre/mozilla-searchplugins/internet-archive.xml
diff --git a/libre/mozilla-searchplugins/jamendo-en.xml b/libre/mozilla-searchplugins/jamendo-en.xml
index 91d6df6e4..91d6df6e4 100644..100755
--- a/libre/mozilla-searchplugins/jamendo-en.xml
+++ b/libre/mozilla-searchplugins/jamendo-en.xml
diff --git a/libre/mozilla-searchplugins/logless-search.xml b/libre/mozilla-searchplugins/logless-search.xml
index 1538d1ef0..1538d1ef0 100644..100755
--- a/libre/mozilla-searchplugins/logless-search.xml
+++ b/libre/mozilla-searchplugins/logless-search.xml
diff --git a/libre/mozilla-searchplugins/parabola-packages.xml b/libre/mozilla-searchplugins/parabola-packages.xml
index 8f20628dc..8f20628dc 100644..100755
--- a/libre/mozilla-searchplugins/parabola-packages.xml
+++ b/libre/mozilla-searchplugins/parabola-packages.xml
diff --git a/libre/mozilla-searchplugins/parabola-wiki-en.xml b/libre/mozilla-searchplugins/parabola-wiki-en.xml
index d218b21f8..d218b21f8 100644..100755
--- a/libre/mozilla-searchplugins/parabola-wiki-en.xml
+++ b/libre/mozilla-searchplugins/parabola-wiki-en.xml
diff --git a/libre/mozilla-searchplugins/seeks-search.xml b/libre/mozilla-searchplugins/seeks-search.xml
index 5025f5a06..5025f5a06 100644..100755
--- a/libre/mozilla-searchplugins/seeks-search.xml
+++ b/libre/mozilla-searchplugins/seeks-search.xml
diff --git a/libre/mozilla-searchplugins/wikipedia.xml b/libre/mozilla-searchplugins/wikipedia.xml
index 36b8ed494..36b8ed494 100644..100755
--- a/libre/mozilla-searchplugins/wikipedia.xml
+++ b/libre/mozilla-searchplugins/wikipedia.xml
diff --git a/libre/mozilla-searchplugins/yacy.xml b/libre/mozilla-searchplugins/yacy.xml
index 61201ad20..61201ad20 100644..100755
--- a/libre/mozilla-searchplugins/yacy.xml
+++ b/libre/mozilla-searchplugins/yacy.xml
diff --git a/libre/mplayer-libre/.directory b/libre/mplayer-libre/.directory
index 724f09760..724f09760 100644..100755
--- a/libre/mplayer-libre/.directory
+++ b/libre/mplayer-libre/.directory
diff --git a/libre/mplayer-libre/PKGBUILD b/libre/mplayer-libre/PKGBUILD
index 3e9d0a44d..3e9d0a44d 100644..100755
--- a/libre/mplayer-libre/PKGBUILD
+++ b/libre/mplayer-libre/PKGBUILD
diff --git a/libre/mplayer-libre/mplayer.desktop b/libre/mplayer-libre/mplayer.desktop
index 07acea13f..07acea13f 100644..100755
--- a/libre/mplayer-libre/mplayer.desktop
+++ b/libre/mplayer-libre/mplayer.desktop
diff --git a/libre/mplayer-libre/mplayer.install b/libre/mplayer-libre/mplayer.install
index 660593cf5..660593cf5 100644..100755
--- a/libre/mplayer-libre/mplayer.install
+++ b/libre/mplayer-libre/mplayer.install
diff --git a/libre/mplayer-libre/mplayer.png b/libre/mplayer-libre/mplayer.png
index 799769335..799769335 100644..100755
--- a/libre/mplayer-libre/mplayer.png
+++ b/libre/mplayer-libre/mplayer.png
Binary files differ
diff --git a/libre/mplayer-vaapi-libre/PKGBUILD b/libre/mplayer-vaapi-libre/PKGBUILD
index 41f84e022..41f84e022 100644..100755
--- a/libre/mplayer-vaapi-libre/PKGBUILD
+++ b/libre/mplayer-vaapi-libre/PKGBUILD
diff --git a/libre/mplayer-vaapi-libre/mplayer-vaapi.install b/libre/mplayer-vaapi-libre/mplayer-vaapi.install
index a44f19aef..a44f19aef 100644..100755
--- a/libre/mplayer-vaapi-libre/mplayer-vaapi.install
+++ b/libre/mplayer-vaapi-libre/mplayer-vaapi.install
diff --git a/libre/mplayer-vaapi-libre/tweak-desktop-file.patch b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
index 606e356b0..606e356b0 100644..100755
--- a/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
+++ b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
diff --git a/libre/p7zip-libre/7zFM.desktop b/libre/p7zip-libre/7zFM.desktop
index 62b8e8562..62b8e8562 100644..100755
--- a/libre/p7zip-libre/7zFM.desktop
+++ b/libre/p7zip-libre/7zFM.desktop
diff --git a/libre/p7zip-libre/9.04-makefile.patch b/libre/p7zip-libre/9.04-makefile.patch
index 93a99cc90..93a99cc90 100644..100755
--- a/libre/p7zip-libre/9.04-makefile.patch
+++ b/libre/p7zip-libre/9.04-makefile.patch
diff --git a/libre/p7zip-libre/PKGBUILD b/libre/p7zip-libre/PKGBUILD
index 2e6ab6e01..2e6ab6e01 100644..100755
--- a/libre/p7zip-libre/PKGBUILD
+++ b/libre/p7zip-libre/PKGBUILD
diff --git a/libre/p7zip-libre/install b/libre/p7zip-libre/install
index 7f3cc4358..7f3cc4358 100644..100755
--- a/libre/p7zip-libre/install
+++ b/libre/p7zip-libre/install
diff --git a/libre/p7zip-libre/p7zip-libre.patch b/libre/p7zip-libre/p7zip-libre.patch
index 742faf52d..742faf52d 100644..100755
--- a/libre/p7zip-libre/p7zip-libre.patch
+++ b/libre/p7zip-libre/p7zip-libre.patch
diff --git a/libre/pacman-mirrorlist-libre/PKGBUILD b/libre/pacman-mirrorlist-libre/PKGBUILD
index 9117277a7..9117277a7 100644..100755
--- a/libre/pacman-mirrorlist-libre/PKGBUILD
+++ b/libre/pacman-mirrorlist-libre/PKGBUILD
diff --git a/libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch b/libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
index 85622aaac..85622aaac 100644..100755
--- a/libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
+++ b/libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
diff --git a/libre/pacman/0002-Check-empty-subdirectory-ownership.patch b/libre/pacman/0002-Check-empty-subdirectory-ownership.patch
index 6cf496d16..6cf496d16 100644..100755
--- a/libre/pacman/0002-Check-empty-subdirectory-ownership.patch
+++ b/libre/pacman/0002-Check-empty-subdirectory-ownership.patch
diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD
index 4f05be586..4f05be586 100644..100755
--- a/libre/pacman/PKGBUILD
+++ b/libre/pacman/PKGBUILD
diff --git a/libre/pacman/makepkg.conf b/libre/pacman/makepkg.conf
index 08a44167b..08a44167b 100644..100755
--- a/libre/pacman/makepkg.conf
+++ b/libre/pacman/makepkg.conf
diff --git a/libre/pacman/pacman.conf b/libre/pacman/pacman.conf
index 115217b59..115217b59 100644..100755
--- a/libre/pacman/pacman.conf
+++ b/libre/pacman/pacman.conf
diff --git a/libre/pacman/pacman.conf.mips64el b/libre/pacman/pacman.conf.mips64el
index f286c3290..f286c3290 100644..100755
--- a/libre/pacman/pacman.conf.mips64el
+++ b/libre/pacman/pacman.conf.mips64el
diff --git a/libre/pacman/pacman.conf.x86_64 b/libre/pacman/pacman.conf.x86_64
index 4c67b089f..4c67b089f 100644..100755
--- a/libre/pacman/pacman.conf.x86_64
+++ b/libre/pacman/pacman.conf.x86_64
diff --git a/libre/pacman/pacman.install b/libre/pacman/pacman.install
index 5dc55c0c2..5dc55c0c2 100644..100755
--- a/libre/pacman/pacman.install
+++ b/libre/pacman/pacman.install
diff --git a/libre/pacman/rePKGBUILD b/libre/pacman/rePKGBUILD
index 810eff5b9..810eff5b9 100644..100755
--- a/libre/pacman/rePKGBUILD
+++ b/libre/pacman/rePKGBUILD
diff --git a/libre/parabola-archiso-git/PKGBUILD b/libre/parabola-archiso-git/PKGBUILD
index 0b07ddf8d..0b07ddf8d 100644..100755
--- a/libre/parabola-archiso-git/PKGBUILD
+++ b/libre/parabola-archiso-git/PKGBUILD
diff --git a/libre/parabola-keyring/PKGBUILD b/libre/parabola-keyring/PKGBUILD
index 7a95abd0b..9d77543ce 100644..100755
--- a/libre/parabola-keyring/PKGBUILD
+++ b/libre/parabola-keyring/PKGBUILD
@@ -2,7 +2,7 @@
# Maintainer: André Silva <emulatorman@lavabit.com>
pkgname=parabola-keyring
-pkgver=20120816
+pkgver=20121012
pkgrel=1
pkgdesc='Parabola GNU/Linux-libre PGP keyring'
arch=('any')
@@ -16,5 +16,5 @@ package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make PREFIX=/usr DESTDIR=${pkgdir} install
}
-md5sums=('4163ebfce3ccc32e2398e18c19158fc1'
- 'b4b1b532657eb754ef2e9f7cf4d0a09a')
+md5sums=('386550a6b179ebd158bc7469362bf0b8'
+ '4794d17dd40d51069eca315c2243528b')
diff --git a/libre/parabola-keyring/parabola-keyring.install b/libre/parabola-keyring/parabola-keyring.install
index 1c70f1a8d..1c70f1a8d 100644..100755
--- a/libre/parabola-keyring/parabola-keyring.install
+++ b/libre/parabola-keyring/parabola-keyring.install
diff --git a/libre/parabola-themes-slim/PKGBUILD b/libre/parabola-themes-slim/PKGBUILD
index a921253da..a921253da 100644..100755
--- a/libre/parabola-themes-slim/PKGBUILD
+++ b/libre/parabola-themes-slim/PKGBUILD
diff --git a/libre/parabolaweb-git/Makefile b/libre/parabolaweb-git/Makefile
index 55115aba3..55115aba3 100644..100755
--- a/libre/parabolaweb-git/Makefile
+++ b/libre/parabolaweb-git/Makefile
diff --git a/libre/parabolaweb-git/PKGBUILD b/libre/parabolaweb-git/PKGBUILD
index 4641ea8d3..4641ea8d3 100644..100755
--- a/libre/parabolaweb-git/PKGBUILD
+++ b/libre/parabolaweb-git/PKGBUILD
diff --git a/libre/parabolaweb-git/deps-ver.txt b/libre/parabolaweb-git/deps-ver.txt
index 67fe6848b..67fe6848b 100644..100755
--- a/libre/parabolaweb-git/deps-ver.txt
+++ b/libre/parabolaweb-git/deps-ver.txt
diff --git a/libre/parabolaweb-git/parabolaweb.init.sh b/libre/parabolaweb-git/parabolaweb.init.sh
index cb9f2441e..cb9f2441e 100644..100755
--- a/libre/parabolaweb-git/parabolaweb.init.sh
+++ b/libre/parabolaweb-git/parabolaweb.init.sh
diff --git a/libre/parabolaweb-git/parabolaweb.update.sh.in b/libre/parabolaweb-git/parabolaweb.update.sh.in
index 8c3aef0f0..8c3aef0f0 100644..100755
--- a/libre/parabolaweb-git/parabolaweb.update.sh.in
+++ b/libre/parabolaweb-git/parabolaweb.update.sh.in
diff --git a/libre/parabolaweb-git/requirements_prod.txt b/libre/parabolaweb-git/requirements_prod.txt
index 78eb51250..78eb51250 100644..100755
--- a/libre/parabolaweb-git/requirements_prod.txt
+++ b/libre/parabolaweb-git/requirements_prod.txt
diff --git a/libre/psutils-libre/PKGBUILD b/libre/psutils-libre/PKGBUILD
index 25e88f492..25e88f492 100644..100755
--- a/libre/psutils-libre/PKGBUILD
+++ b/libre/psutils-libre/PKGBUILD
diff --git a/libre/psutils-libre/psutils-1.17.diff b/libre/psutils-libre/psutils-1.17.diff
index 4af32bd7f..4af32bd7f 100644..100755
--- a/libre/psutils-libre/psutils-1.17.diff
+++ b/libre/psutils-libre/psutils-1.17.diff
diff --git a/libre/python-reportlab-libre/PKGBUILD b/libre/python-reportlab-libre/PKGBUILD
index 7ead18cba..7ead18cba 100644..100755
--- a/libre/python-reportlab-libre/PKGBUILD
+++ b/libre/python-reportlab-libre/PKGBUILD
diff --git a/libre/python-reportlab-libre/free-fonts.patch b/libre/python-reportlab-libre/free-fonts.patch
index 9c79839b6..9c79839b6 100644..100755
--- a/libre/python-reportlab-libre/free-fonts.patch
+++ b/libre/python-reportlab-libre/free-fonts.patch
diff --git a/libre/python2-ply/PKGBUILD b/libre/python2-ply/PKGBUILD
index fec80926a..fec80926a 100644..100755
--- a/libre/python2-ply/PKGBUILD
+++ b/libre/python2-ply/PKGBUILD
diff --git a/libre/rp-pppoe-libre/PKGBUILD b/libre/rp-pppoe-libre/PKGBUILD
index a360e113e..f418684b5 100644..100755
--- a/libre/rp-pppoe-libre/PKGBUILD
+++ b/libre/rp-pppoe-libre/PKGBUILD
@@ -1,59 +1,48 @@
-# $Id: PKGBUILD 119995 2011-04-18 07:09:47Z daniel $
+# $Id: PKGBUILD 166893 2012-09-20 23:56:51Z eric $
# Maintainer: Daniel Isenmann <daniel@archlinux.org>
# Contributor: orelien <aurelien.foret@wanadoo.fr>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+_pkgname=rp-pppoe
pkgname=rp-pppoe-libre
-pkgver=3.10
-pkgrel=7
+pkgver=3.11
+pkgrel=1
pkgdesc="Roaring Penguin's Point-to-Point Protocol over Ethernet client. Unfree software recommendation removed."
arch=('i686' 'x86_64')
url="http://www.roaringpenguin.com/pppoe/"
license=('GPL')
depends=('ppp>=2.4.5' 'sh' 'net-tools')
+backup=(etc/ppp/pppoe.conf etc/ppp/firewall-standalone etc/ppp/firewall-masq
+ etc/ppp/pppoe-server-options)
options=('!makeflags')
-backup=(etc/ppp/pppoe.conf etc/ppp/firewall-standalone etc/ppp/firewall-masq etc/ppp/pppoe-server-options)
-source=(http://repo.parabolagnulinux.org/other/$pkgname-$pkgver.tar.gz adsl
- $pkgname.patch)
-install=rp-pppoe.install
provides=("rp-pppoe=$pkgver")
replaces=('rp-pppoe')
conflicts=('rp-pppoe')
+install=rp-pppoe.install
+source=(http://www.roaringpenguin.com/files/download/rp-pppoe-$pkgver.tar.gz{,.sig}
+ adsl adsl.service $pkgname.patch)
+md5sums=('13b5900c56bd602df6cc526e5e520722'
+ '8fc724aa146dba52ef7b3fbe5b8784c6'
+ 'adace1ad441aa88dcb3db52fb7f9c97f'
+ 'af234125f956f3a356ab0d0fcaa9e8a2'
+ '3c53d550ac408608abb0b6cd6b76b6c2')
-mksource() {
- wget http://www.roaringpenguin.com/files/download/rp-pppoe-$pkgver.tar.gz \
- -O - | tar xzf -
-
- pushd rp-pppoe-$pkgver >/dev/null
-
- patch -Np1 -i ../rp-pppoe-libre.patch
-
- popd >/dev/null
-
- mv -v rp-pppoe-$pkgver $pkgname-$pkgver
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ ## Adding patch to remove unfree software recommendation (ServPoET)
+ patch -Np1 -i "$srcdir/rp-pppoe-libre.patch"
- tar czvf $pkgname-$pkgver.tar.gz $pkgname-$pkgver/
-}
+ cd ./src
-build() {
- cd $srcdir/$pkgname-$pkgver/src
./configure --prefix=/usr --enable-plugin
- make PLUGIN_DIR="/usr/lib/rp-pppoe"
+ make PLUGIN_DIR="/usr/lib/rp-pppoe" all rp-pppoe.so
}
package() {
- cd $srcdir/$pkgname-$pkgver/src
- make DESTDIR=$pkgdir install
-
- #moving .so files to /usr/lib according to FS#13876
- mkdir -p ${pkgdir}/usr/lib/rp-pppoe
- mv ${pkgdir}/etc/ppp/plugins/rp-pppoe.so ${pkgdir}/usr/lib/rp-pppoe/
- #not necessary after moving the plugin
- rm -rf ${pkgdir}/etc/ppp/plugins
- #changing config to the new path
- #sed -i 's/LINUX_PLUGIN=/LINUX_PLUGIN=\/usr\/lib\/rp-pppoe\/rp-pppoe.so/g' ${pkgdir}/etc/ppp/pppoe.conf
+ cd "$srcdir/$_pkgname-$pkgver/src"
+ make PLUGIN_DIR="/usr/lib/rp-pppoe" DESTDIR="$pkgdir" install
- install -Dm755 $srcdir/adsl $pkgdir/etc/rc.d/adsl
+ install -Dm755 "$srcdir/adsl" "$pkgdir/etc/rc.d/adsl"
+ install -Dm755 "$srcdir/adsl.service" "$pkgdir/usr/lib/systemd/system/adsl.service"
}
-md5sums=('2c4a678fa684269ff4579bb639674198'
- 'adace1ad441aa88dcb3db52fb7f9c97f'
- '9f0d49c3a550c5ad76bb70d65c9d97b2')
diff --git a/libre/rp-pppoe-libre/adsl b/libre/rp-pppoe-libre/adsl
index 33bd91839..33bd91839 100644..100755
--- a/libre/rp-pppoe-libre/adsl
+++ b/libre/rp-pppoe-libre/adsl
diff --git a/libre/rp-pppoe-libre/adsl.service b/libre/rp-pppoe-libre/adsl.service
new file mode 100644
index 000000000..324164943
--- /dev/null
+++ b/libre/rp-pppoe-libre/adsl.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=ADSL Deamon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/pppoe-start
+ExecStop=/usr/sbin/pppoe-stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/rp-pppoe-libre/rp-pppoe-libre.patch b/libre/rp-pppoe-libre/rp-pppoe-libre.patch
index 4f2302496..9cf16d7d7 100644
--- a/libre/rp-pppoe-libre/rp-pppoe-libre.patch
+++ b/libre/rp-pppoe-libre/rp-pppoe-libre.patch
@@ -1,7 +1,7 @@
-diff -rauNp rp-pppoe-3.10/rp-pppoe.spec rp-pppoe-3.10-libre//rp-pppoe.spec
---- rp-pppoe-3.10/rp-pppoe.spec 2008-06-30 11:00:41.000000000 -0300
-+++ rp-pppoe-3.10-libre//rp-pppoe.spec 2011-06-05 21:03:06.000000000 -0300
-@@ -55,7 +55,7 @@ rm -rf $RPM_BUILD_ROOT
+diff -Nur rp-pppoe-3.11.orig/rp-pppoe.spec rp-pppoe-3.11/rp-pppoe.spec
+--- rp-pppoe-3.11.orig/rp-pppoe.spec 2012-08-17 15:31:25.000000000 -0300
++++ rp-pppoe-3.11/rp-pppoe.spec 2012-10-05 01:42:29.964508454 -0300
+@@ -55,7 +55,7 @@
%files
%defattr(-,root,root)
@@ -10,9 +10,9 @@ diff -rauNp rp-pppoe-3.10/rp-pppoe.spec rp-pppoe-3.10-libre//rp-pppoe.spec
%config(noreplace) /etc/ppp/pppoe.conf
%config(noreplace) /etc/ppp/pppoe-server-options
%config(noreplace) /etc/ppp/firewall-masq
-diff -rauNp rp-pppoe-3.10/SERVPOET rp-pppoe-3.10-libre//SERVPOET
---- rp-pppoe-3.10/SERVPOET 2008-06-30 11:00:41.000000000 -0300
-+++ rp-pppoe-3.10-libre//SERVPOET 1969-12-31 21:00:00.000000000 -0300
+diff -Nur rp-pppoe-3.11.orig/SERVPOET /dev/null
+--- rp-pppoe-3.11.orig/SERVPOET 2012-08-17 15:31:25.000000000 -0300
++++ /dev/null 2012-10-05 01:27:08.580078512 -0300
@@ -1,18 +0,0 @@
-# LIC: GPL
-
@@ -32,10 +32,10 @@ diff -rauNp rp-pppoe-3.10/SERVPOET rp-pppoe-3.10-libre//SERVPOET
-
---
-David F. Skoll <dfs@roaringpenguin.com>
-diff -rauNp rp-pppoe-3.10/src/Makefile.in rp-pppoe-3.10-libre//src/Makefile.in
---- rp-pppoe-3.10/src/Makefile.in 2008-06-30 11:00:42.000000000 -0300
-+++ rp-pppoe-3.10-libre//src/Makefile.in 2011-06-05 21:03:51.000000000 -0300
-@@ -44,9 +44,6 @@ PPPOE_RELAY=@PPPOE_RELAY@
+diff -Nur rp-pppoe-3.11.orig/src/Makefile.in rp-pppoe-3.11/src/Makefile.in
+--- rp-pppoe-3.11.orig/src/Makefile.in 2012-08-17 15:31:25.000000000 -0300
++++ rp-pppoe-3.11/src/Makefile.in 2012-10-05 01:46:13.121336619 -0300
+@@ -44,9 +44,6 @@
PPPOE_PATH=$(sbindir)/pppoe
PPPD_PATH=@PPPD@
@@ -45,7 +45,7 @@ diff -rauNp rp-pppoe-3.10/src/Makefile.in rp-pppoe-3.10-libre//src/Makefile.in
# Kernel-mode plugin gets installed here.
PLUGIN_DIR=/etc/ppp/plugins
PLUGIN_PATH=$(PLUGIN_DIR)/rp-pppoe.so
-@@ -151,7 +148,6 @@ install: all
+@@ -152,7 +149,6 @@
$(install) -m 644 ../doc/HOW-TO-CONNECT $(DESTDIR)$(docdir)
$(install) -m 644 ../doc/LICENSE $(DESTDIR)$(docdir)
$(install) -m 644 ../README $(DESTDIR)$(docdir)
@@ -53,7 +53,7 @@ diff -rauNp rp-pppoe-3.10/src/Makefile.in rp-pppoe-3.10-libre//src/Makefile.in
$(install) -m 644 ../configs/pap-secrets $(DESTDIR)$(docdir)
-mkdir -p $(DESTDIR)$(mandir)/man8
for i in $(TARGETS) ; do \
-@@ -209,25 +205,15 @@ install: all
+@@ -210,25 +206,15 @@
@echo ""
@echo "Type 'pppoe-setup' to configure the software."
@@ -80,7 +80,7 @@ diff -rauNp rp-pppoe-3.10/src/Makefile.in rp-pppoe-3.10-libre//src/Makefile.in
cp ../$$i ../rp-pppoe-$(VERSION)$(BETA) || exit 1; \
done
mkdir ../rp-pppoe-$(VERSION)$(BETA)/gui
-@@ -282,10 +268,6 @@ rpms: tgz
+@@ -286,10 +272,6 @@
/usr/src/redhat/RPMS/i386/rp-pppoe-$(VERSION)-1.i386.rpm \
/usr/src/redhat/RPMS/i386/rp-pppoe-gui-$(VERSION)-1.i386.rpm
@@ -89,9 +89,9 @@ diff -rauNp rp-pppoe-3.10/src/Makefile.in rp-pppoe-3.10-libre//src/Makefile.in
- cd .. && rpm -ba servpoet.spec
-
clean:
- rm -f *.o pppoe pppoe-sniff pppoe-server core rp-pppoe.so plugin/*.o plugin/libplugin.a *~
+ rm -f *.o pppoe-relay pppoe pppoe-sniff pppoe-server core rp-pppoe.so plugin/*.o plugin/libplugin.a *~
test -f licensed-only/Makefile && $(MAKE) -C licensed-only clean || true
-@@ -300,15 +282,13 @@ distclean: clean
+@@ -304,15 +286,13 @@
update-version:
sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
@@ -104,7 +104,7 @@ diff -rauNp rp-pppoe-3.10/src/Makefile.in rp-pppoe-3.10-libre//src/Makefile.in
licensed-only:
- $(MAKE) -C licensed-only all VERSION=$(VERSION) SERVPOET_VERSION=$(SERVPOET_VERSION)
-+ $(MAKE) -C licensed-only all VERSION=$(VERSION)
++ $(MAKE) -C licensed-only all VERSION=$(VERSION)
l2tp: libevent/libevent.a
$(MAKE) -C l2tp all
diff --git a/libre/rp-pppoe-libre/rp-pppoe.install b/libre/rp-pppoe-libre/rp-pppoe.install
index 1d4bccce2..1d4bccce2 100644..100755
--- a/libre/rp-pppoe-libre/rp-pppoe.install
+++ b/libre/rp-pppoe-libre/rp-pppoe.install
diff --git a/libre/sdl-libre/PKGBUILD b/libre/sdl-libre/PKGBUILD
index 662bcba99..9822d5df7 100644..100755
--- a/libre/sdl-libre/PKGBUILD
+++ b/libre/sdl-libre/PKGBUILD
@@ -1,46 +1,52 @@
-# $Id: PKGBUILD 135310 2011-08-12 14:45:48Z ibiru $
-#mips64el Maintainer: Allan McRae <allan@archlinux.org>
+# $Id: PKGBUILD 166672 2012-09-15 09:39:11Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
-# Maintainer (Connochaetos): Henry Jensen <hjensen@connochaetos.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Maintainer (Connochaetos): Henry Jensen <hjensen@connochaetos.org>
pkgname=sdl-libre
pkgver=1.2.15
-pkgrel=1.2
+pkgrel=3
pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard"
arch=('i686' 'x86_64')
url="http://www.libsdl.org"
license=('LGPL')
provides=("sdl=${pkgver}")
conflicts=('sdl')
+replaces=('sdl')
depends=('glibc' 'libxext' 'libxrender' 'libx11')
makedepends=('alsa-lib' 'mesa' 'libpulse')
-replaces=('sdl')
+optdepends=('alsa-lib: ALSA audio driver'
+ 'libpulse: PulseAudio audio driver')
options=('!libtool')
source=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz
sdl-1.2.14-fix-mouse-clicking.patch
sdl-1.2.14-disable-mmx.patch
- riva_mmio.patch
- no-riva-accel.patch)
+ fix_joystick_misc_axes.diff
+ libsdl-1.2.15-resizing.patch
+ libre.patch)
md5sums=('9d96df8417572a2afb781a7c4c811a85'
'04d8c179f125e04bcd4c9d60e013c2d7'
'e5c16b7611f62c7cb25f0534eff68852'
- 'f5ab9ba6ba2bb8df74d0f768f9df3ea8'
- 'eb2f5899db608ad27b379faa5e0beb80')
+ '687586a108b597a2a6b73070c1d37e51'
+ '3dd50347d8856160a9cbd7f80383a1f8'
+ '5c665f72b8a2adc97a91f6db6f2da79a')
build() {
- cd ${srcdir}/SDL-${pkgver}
- patch -Np1 -i $srcdir/sdl-1.2.14-fix-mouse-clicking.patch
- patch -Np1 -i $srcdir/sdl-1.2.14-disable-mmx.patch
- patch -Np0 -i $srcdir/riva_mmio.patch
- patch -Np0 -i $srcdir/no-riva-accel.patch
- ./configure --prefix=/usr --disable-nasm --enable-alsa --enable-esd \
+ cd SDL-$pkgver
+ patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch
+ patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch
+ patch -Np1 -i ../fix_joystick_misc_axes.diff
+ patch -Np1 -i ../libsdl-1.2.15-resizing.patch
+ patch -Np0 -i ../libre.patch
+ ./configure --prefix=/usr --disable-nasm --enable-alsa \
--with-x --disable-rpath --disable-static
make
}
package() {
- cd ${srcdir}/SDL-${pkgver}
- make DESTDIR=${pkgdir} install
+ cd SDL-$pkgver
+ make DESTDIR="$pkgdir" install
}
diff --git a/libre/sdl-libre/fix_joystick_misc_axes.diff b/libre/sdl-libre/fix_joystick_misc_axes.diff
new file mode 100644
index 000000000..75e3755c9
--- /dev/null
+++ b/libre/sdl-libre/fix_joystick_misc_axes.diff
@@ -0,0 +1,13 @@
+diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c
+index ee43974..80e46e4 100644
+--- a/src/joystick/linux/SDL_sysjoystick.c
++++ b/src/joystick/linux/SDL_sysjoystick.c
+@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd)
+ ++joystick->nbuttons;
+ }
+ }
+- for ( i=0; i<ABS_MISC; ++i ) {
++ for ( i=0; i<ABS_MAX; ++i ) {
+ /* Skip hats */
+ if ( i == ABS_HAT0X ) {
+ i = ABS_HAT3Y;
diff --git a/libre/sdl-libre/libre.patch b/libre/sdl-libre/libre.patch
new file mode 100644
index 000000000..72f7da56a
--- /dev/null
+++ b/libre/sdl-libre/libre.patch
@@ -0,0 +1,578 @@
+--- src/video/fbcon/riva_mmio.h 2012-01-19 04:30:06.000000000 -0200
++++ /dev/null 2012-04-01 13:58:27.776718756 -0300
+@@ -1,449 +0,0 @@
+-/***************************************************************************\
+-|* *|
+-|* Copyright 1993-1999 NVIDIA, Corporation. All rights reserved. *|
+-|* *|
+-|* NOTICE TO USER: The source code is copyrighted under U.S. and *|
+-|* international laws. Users and possessors of this source code are *|
+-|* hereby granted a nonexclusive, royalty-free copyright license to *|
+-|* use this code in individual and commercial software. *|
+-|* *|
+-|* Any use of this source code must include, in the user documenta- *|
+-|* tion and internal comments to the code, notices to the end user *|
+-|* as follows: *|
+-|* *|
+-|* Copyright 1993-1999 NVIDIA, Corporation. All rights reserved. *|
+-|* *|
+-|* NVIDIA, CORPORATION MAKES NO REPRESENTATION ABOUT THE SUITABILITY *|
+-|* OF THIS SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" *|
+-|* WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. NVIDIA, CORPOR- *|
+-|* ATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOURCE CODE, *|
+-|* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGE- *|
+-|* MENT, AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL *|
+-|* NVIDIA, CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT, INCI- *|
+-|* DENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RE- *|
+-|* SULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION *|
+-|* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *|
+-|* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. *|
+-|* *|
+-|* U.S. Government End Users. This source code is a "commercial *|
+-|* item," as that term is defined at 48 C.F.R. 2.101 (OCT 1995), *|
+-|* consisting of "commercial computer software" and "commercial *|
+-|* computer software documentation," as such terms are used in *|
+-|* 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Govern- *|
+-|* ment only as a commercial end item. Consistent with 48 C.F.R. *|
+-|* 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), *|
+-|* all U.S. Government End Users acquire the source code with only *|
+-|* those rights set forth herein. *|
+-|* *|
+-\***************************************************************************/
+-
+-#ifndef __RIVA_HW_H__
+-#define __RIVA_HW_H__
+-#define RIVA_SW_VERSION 0x00010003
+-
+-/*
+- * Typedefs to force certain sized values.
+- */
+-typedef Uint8 U008;
+-typedef Uint16 U016;
+-typedef Uint32 U032;
+-
+-/*
+- * HW access macros.
+- */
+-#define NV_WR08(p,i,d) (((U008 *)(p))[i]=(d))
+-#define NV_RD08(p,i) (((U008 *)(p))[i])
+-#define NV_WR16(p,i,d) (((U016 *)(p))[(i)/2]=(d))
+-#define NV_RD16(p,i) (((U016 *)(p))[(i)/2])
+-#define NV_WR32(p,i,d) (((U032 *)(p))[(i)/4]=(d))
+-#define NV_RD32(p,i) (((U032 *)(p))[(i)/4])
+-#define VGA_WR08(p,i,d) NV_WR08(p,i,d)
+-#define VGA_RD08(p,i) NV_RD08(p,i)
+-
+-/*
+- * Define supported architectures.
+- */
+-#define NV_ARCH_03 0x03
+-#define NV_ARCH_04 0x04
+-#define NV_ARCH_10 0x10
+-/***************************************************************************\
+-* *
+-* FIFO registers. *
+-* *
+-\***************************************************************************/
+-
+-/*
+- * Raster OPeration. Windows style ROP3.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 Rop3;
+-} RivaRop;
+-/*
+- * 8X8 Monochrome pattern.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BD];
+- U032 Shape;
+- U032 reserved03[0x001];
+- U032 Color0;
+- U032 Color1;
+- U032 Monochrome[2];
+-} RivaPattern;
+-/*
+- * Scissor clip rectangle.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 TopLeft;
+- U032 WidthHeight;
+-} RivaClip;
+-/*
+- * 2D filled rectangle.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop[1];
+- U032 reserved01[0x0BC];
+- U032 Color;
+- U032 reserved03[0x03E];
+- U032 TopLeft;
+- U032 WidthHeight;
+-} RivaRectangle;
+-/*
+- * 2D screen-screen BLT.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 TopLeftSrc;
+- U032 TopLeftDst;
+- U032 WidthHeight;
+-} RivaScreenBlt;
+-/*
+- * 2D pixel BLT.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop[1];
+- U032 reserved01[0x0BC];
+- U032 TopLeft;
+- U032 WidthHeight;
+- U032 WidthHeightIn;
+- U032 reserved02[0x03C];
+- U032 Pixels;
+-} RivaPixmap;
+-/*
+- * Filled rectangle combined with monochrome expand. Useful for glyphs.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 reserved03[(0x040)-1];
+- U032 Color1A;
+- struct
+- {
+- U032 TopLeft;
+- U032 WidthHeight;
+- } UnclippedRectangle[64];
+- U032 reserved04[(0x080)-3];
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClipB;
+- U032 Color1B;
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClippedRectangle[64];
+- U032 reserved05[(0x080)-5];
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClipC;
+- U032 Color1C;
+- U032 WidthHeightC;
+- U032 PointC;
+- U032 MonochromeData1C;
+- U032 reserved06[(0x080)+121];
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClipD;
+- U032 Color1D;
+- U032 WidthHeightInD;
+- U032 WidthHeightOutD;
+- U032 PointD;
+- U032 MonochromeData1D;
+- U032 reserved07[(0x080)+120];
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClipE;
+- U032 Color0E;
+- U032 Color1E;
+- U032 WidthHeightInE;
+- U032 WidthHeightOutE;
+- U032 PointE;
+- U032 MonochromeData01E;
+-} RivaBitmap;
+-/*
+- * 3D textured, Z buffered triangle.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BC];
+- U032 TextureOffset;
+- U032 TextureFormat;
+- U032 TextureFilter;
+- U032 FogColor;
+-/* This is a problem on LynxOS */
+-#ifdef Control
+-#undef Control
+-#endif
+- U032 Control;
+- U032 AlphaTest;
+- U032 reserved02[0x339];
+- U032 FogAndIndex;
+- U032 Color;
+- float ScreenX;
+- float ScreenY;
+- float ScreenZ;
+- float EyeM;
+- float TextureS;
+- float TextureT;
+-} RivaTexturedTriangle03;
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 ColorKey;
+- U032 TextureOffset;
+- U032 TextureFormat;
+- U032 TextureFilter;
+- U032 Blend;
+-/* This is a problem on LynxOS */
+-#ifdef Control
+-#undef Control
+-#endif
+- U032 Control;
+- U032 FogColor;
+- U032 reserved02[0x39];
+- struct
+- {
+- float ScreenX;
+- float ScreenY;
+- float ScreenZ;
+- float EyeM;
+- U032 Color;
+- U032 Specular;
+- float TextureS;
+- float TextureT;
+- } Vertex[16];
+- U032 DrawTriangle3D;
+-} RivaTexturedTriangle05;
+-/*
+- * 2D line.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop[1];
+- U032 reserved01[0x0BC];
+- U032 Color; /* source color 0304-0307*/
+- U032 Reserved02[0x03e];
+- struct { /* start aliased methods in array 0400- */
+- U032 point0; /* y_x S16_S16 in pixels 0- 3*/
+- U032 point1; /* y_x S16_S16 in pixels 4- 7*/
+- } Lin[16]; /* end of aliased methods in array -047f*/
+- struct { /* start aliased methods in array 0480- */
+- U032 point0X; /* in pixels, 0 at left 0- 3*/
+- U032 point0Y; /* in pixels, 0 at top 4- 7*/
+- U032 point1X; /* in pixels, 0 at left 8- b*/
+- U032 point1Y; /* in pixels, 0 at top c- f*/
+- } Lin32[8]; /* end of aliased methods in array -04ff*/
+- U032 PolyLin[32]; /* y_x S16_S16 in pixels 0500-057f*/
+- struct { /* start aliased methods in array 0580- */
+- U032 x; /* in pixels, 0 at left 0- 3*/
+- U032 y; /* in pixels, 0 at top 4- 7*/
+- } PolyLin32[16]; /* end of aliased methods in array -05ff*/
+- struct { /* start aliased methods in array 0600- */
+- U032 color; /* source color 0- 3*/
+- U032 point; /* y_x S16_S16 in pixels 4- 7*/
+- } ColorPolyLin[16]; /* end of aliased methods in array -067f*/
+-} RivaLine;
+-/*
+- * 2D/3D surfaces
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BE];
+- U032 Offset;
+-} RivaSurface;
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BD];
+- U032 Pitch;
+- U032 RenderBufferOffset;
+- U032 ZBufferOffset;
+-} RivaSurface3D;
+-
+-/***************************************************************************\
+-* *
+-* Virtualized RIVA H/W interface. *
+-* *
+-\***************************************************************************/
+-
+-struct _riva_hw_inst;
+-struct _riva_hw_state;
+-/*
+- * Virtialized chip interface. Makes RIVA 128 and TNT look alike.
+- */
+-typedef struct _riva_hw_inst
+-{
+- /*
+- * Chip specific settings.
+- */
+- U032 Architecture;
+- U032 Version;
+- U032 CrystalFreqKHz;
+- U032 RamAmountKBytes;
+- U032 MaxVClockFreqKHz;
+- U032 RamBandwidthKBytesPerSec;
+- U032 EnableIRQ;
+- U032 IO;
+- U032 VBlankBit;
+- U032 FifoFreeCount;
+- U032 FifoEmptyCount;
+- /*
+- * Non-FIFO registers.
+- */
+- volatile U032 *PCRTC;
+- volatile U032 *PRAMDAC;
+- volatile U032 *PFB;
+- volatile U032 *PFIFO;
+- volatile U032 *PGRAPH;
+- volatile U032 *PEXTDEV;
+- volatile U032 *PTIMER;
+- volatile U032 *PMC;
+- volatile U032 *PRAMIN;
+- volatile U032 *FIFO;
+- volatile U032 *CURSOR;
+- volatile U032 *CURSORPOS;
+- volatile U032 *VBLANKENABLE;
+- volatile U032 *VBLANK;
+- volatile U008 *PCIO;
+- volatile U008 *PVIO;
+- volatile U008 *PDIO;
+- /*
+- * Common chip functions.
+- */
+- int (*Busy)(struct _riva_hw_inst *);
+- void (*CalcStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *,int,int,int,int,int,int,int,int,int,int,int,int,int);
+- void (*LoadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *);
+- void (*UnloadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *);
+- void (*SetStartAddress)(struct _riva_hw_inst *,U032);
+- void (*SetSurfaces2D)(struct _riva_hw_inst *,U032,U032);
+- void (*SetSurfaces3D)(struct _riva_hw_inst *,U032,U032);
+- int (*ShowHideCursor)(struct _riva_hw_inst *,int);
+- void (*LockUnlock)(struct _riva_hw_inst *, int);
+- /*
+- * Current extended mode settings.
+- */
+- struct _riva_hw_state *CurrentState;
+- /*
+- * FIFO registers.
+- */
+- RivaRop *Rop;
+- RivaPattern *Patt;
+- RivaClip *Clip;
+- RivaPixmap *Pixmap;
+- RivaScreenBlt *Blt;
+- RivaBitmap *Bitmap;
+- RivaLine *Line;
+- RivaTexturedTriangle03 *Tri03;
+- RivaTexturedTriangle05 *Tri05;
+-} RIVA_HW_INST;
+-/*
+- * Extended mode state information.
+- */
+-typedef struct _riva_hw_state
+-{
+- U032 bpp;
+- U032 width;
+- U032 height;
+- U032 repaint0;
+- U032 repaint1;
+- U032 screen;
+- U032 pixel;
+- U032 horiz;
+- U032 arbitration0;
+- U032 arbitration1;
+- U032 vpll;
+- U032 pllsel;
+- U032 general;
+- U032 config;
+- U032 cursor0;
+- U032 cursor1;
+- U032 cursor2;
+- U032 offset0;
+- U032 offset1;
+- U032 offset2;
+- U032 offset3;
+- U032 pitch0;
+- U032 pitch1;
+- U032 pitch2;
+- U032 pitch3;
+-} RIVA_HW_STATE;
+-
+-/*
+- * FIFO Free Count. Should attempt to yield processor if RIVA is busy.
+- */
+-
+-#define RIVA_FIFO_FREE(hwptr,cnt) \
+-{ \
+- while (FifoFreeCount < (cnt)) \
+- FifoFreeCount = hwptr->FifoFree >> 2; \
+- FifoFreeCount -= (cnt); \
+-}
+-#endif /* __RIVA_HW_H__ */
+-
+--- src/video/fbcon/SDL_fbriva.c 2012-01-19 04:30:06.000000000 -0200
++++ src/video/fbcon/SDL_fbriva.c 2012-04-01 15:10:10.108451467 -0300
+@@ -24,12 +24,10 @@
+ #include "SDL_video.h"
+ #include "../SDL_blit.h"
+ #include "SDL_fbriva.h"
+-#include "riva_mmio.h"
+ #include "riva_regs.h"
+
+
+ static int FifoEmptyCount = 0;
+-static int FifoFreeCount = 0;
+
+ /* Wait for vertical retrace */
+ static void WaitVBL(_THIS)
+@@ -41,20 +39,6 @@
+ while ( !(*port & 0x08) )
+ ;
+ }
+-static void NV3WaitIdle(_THIS)
+-{
+- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET);
+- while ( (Rop->FifoFree < FifoEmptyCount) ||
+- (*(mapped_io + PGRAPH_OFFSET + 0x000006B0) & 0x01) )
+- ;
+-}
+-static void NV4WaitIdle(_THIS)
+-{
+- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET);
+- while ( (Rop->FifoFree < FifoEmptyCount) ||
+- (*(mapped_io + PGRAPH_OFFSET + 0x00000700) & 0x01) )
+- ;
+-}
+
+ #if 0 /* Not yet implemented? */
+ /* Sets video mem colorkey and accelerated blit function */
+@@ -74,7 +58,6 @@
+ {
+ int dstX, dstY;
+ int dstW, dstH;
+- RivaBitmap *Bitmap = (RivaBitmap *)(mapped_io + BITMAP_OFFSET);
+
+ /* Don't blit to the display surface when switched away */
+ if ( switched_away ) {
+@@ -93,13 +76,6 @@
+ dstX += rect->x;
+ dstY += rect->y;
+
+- RIVA_FIFO_FREE(Bitmap, 1);
+- Bitmap->Color1A = color;
+-
+- RIVA_FIFO_FREE(Bitmap, 2);
+- Bitmap->UnclippedRectangle[0].TopLeft = (dstX << 16) | dstY;
+- Bitmap->UnclippedRectangle[0].WidthHeight = (dstW << 16) | dstH;
+-
+ FB_AddBusySurface(dst);
+
+ if ( dst == this->screen ) {
+@@ -115,7 +91,6 @@
+ int srcX, srcY;
+ int dstX, dstY;
+ int dstW, dstH;
+- RivaScreenBlt *Blt = (RivaScreenBlt *)(mapped_io + BLT_OFFSET);
+
+ /* FIXME: For now, only blit to display surface */
+ if ( dst->pitch != SDL_VideoSurface->pitch ) {
+@@ -142,11 +117,6 @@
+ dstX += dstrect->x;
+ dstY += dstrect->y;
+
+- RIVA_FIFO_FREE(Blt, 3);
+- Blt->TopLeftSrc = (srcY << 16) | srcX;
+- Blt->TopLeftDst = (dstY << 16) | dstX;
+- Blt->WidthHeight = (dstH << 16) | dstW;
+-
+ FB_AddBusySurface(src);
+ FB_AddBusySurface(dst);
+
+@@ -185,23 +155,15 @@
+
+ void FB_RivaAccel(_THIS, __u32 card)
+ {
+- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET);
+
+ /* We have hardware accelerated surface functions */
+ this->CheckHWBlit = CheckHWBlit;
+ wait_vbl = WaitVBL;
+ switch (card) {
+- case FB_ACCEL_NV3:
+- wait_idle = NV3WaitIdle;
+- break;
+- case FB_ACCEL_NV4:
+- wait_idle = NV4WaitIdle;
+- break;
+ default:
+ /* Hmm... FIXME */
+ break;
+ }
+- FifoEmptyCount = Rop->FifoFree;
+
+ /* The Riva has an accelerated color fill */
+ this->info.blit_fill = 1;
+--- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200
++++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200
+@@ -46,7 +46,6 @@
+ #include "SDL_fbevents_c.h"
+ #include "SDL_fb3dfx.h"
+ #include "SDL_fbmatrox.h"
+-#include "SDL_fbriva.h"
+
+ /*#define FBCON_DEBUG*/
+
+@@ -769,13 +768,6 @@
+ #endif
+ FB_3DfxAccel(this, finfo.accel);
+ break;
+- case FB_ACCEL_NV3:
+- case FB_ACCEL_NV4:
+-#ifdef FBACCEL_DEBUG
+- printf("NVidia hardware accelerator!\n");
+-#endif
+- FB_RivaAccel(this, finfo.accel);
+- break;
+ default:
+ #ifdef FBACCEL_DEBUG
+ printf("Unknown hardware accelerator.\n");
diff --git a/libre/sdl-libre/libsdl-1.2.15-resizing.patch b/libre/sdl-libre/libsdl-1.2.15-resizing.patch
new file mode 100644
index 000000000..0655a13e1
--- /dev/null
+++ b/libre/sdl-libre/libsdl-1.2.15-resizing.patch
@@ -0,0 +1,63 @@
+Description: Revert change that breaks window corner resizing
+ http://bugzilla.libsdl.org/show_bug.cgi?id=1430
+Author: Andrew Caudwell <acaudwell@gmail.com>
+Last-Update: 2012-04-10
+Bug-Debian: http://bugs.debian.org/665779
+
+diff -r c787fb1b5699 src/video/x11/SDL_x11events.c
+--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300
+@@ -57,12 +57,6 @@
+ static SDLKey MISC_keymap[256];
+ SDLKey X11_TranslateKeycode(Display *display, KeyCode kc);
+
+-/*
+- Pending resize target for ConfigureNotify (so outdated events don't
+- cause inappropriate resize events)
+-*/
+-int X11_PendingConfigureNotifyWidth = -1;
+-int X11_PendingConfigureNotifyHeight = -1;
+
+ #ifdef X_HAVE_UTF8_STRING
+ Uint32 Utf8ToUcs4(const Uint8 *utf8)
+@@ -825,16 +819,6 @@
+ #ifdef DEBUG_XEVENTS
+ printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height);
+ #endif
+- if ((X11_PendingConfigureNotifyWidth != -1) &&
+- (X11_PendingConfigureNotifyHeight != -1)) {
+- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) &&
+- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) {
+- /* Event is from before the resize, so ignore. */
+- break;
+- }
+- X11_PendingConfigureNotifyWidth = -1;
+- X11_PendingConfigureNotifyHeight = -1;
+- }
+ if ( SDL_VideoSurface ) {
+ if ((xevent.xconfigure.width != SDL_VideoSurface->w) ||
+ (xevent.xconfigure.height != SDL_VideoSurface->h)) {
+diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h
+--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300
+@@ -27,8 +27,3 @@
+ extern void X11_InitOSKeymap(_THIS);
+ extern void X11_PumpEvents(_THIS);
+ extern void X11_SetKeyboardState(Display *display, const char *key_vec);
+-
+-/* Variables to be exported */
+-extern int X11_PendingConfigureNotifyWidth;
+-extern int X11_PendingConfigureNotifyHeight;
+-
+diff -r c787fb1b5699 src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300
+@@ -1182,8 +1182,6 @@
+ current = NULL;
+ goto done;
+ }
+- X11_PendingConfigureNotifyWidth = width;
+- X11_PendingConfigureNotifyHeight = height;
+ } else {
+ if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) {
+ current = NULL;
diff --git a/libre/sdl-libre/no-riva-accel.patch b/libre/sdl-libre/no-riva-accel.patch
deleted file mode 100644
index 89f8ebeed..000000000
--- a/libre/sdl-libre/no-riva-accel.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200
-+++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200
-@@ -46,7 +46,6 @@
- #include "SDL_fbevents_c.h"
- #include "SDL_fb3dfx.h"
- #include "SDL_fbmatrox.h"
--#include "SDL_fbriva.h"
-
- /*#define FBCON_DEBUG*/
-
-@@ -769,13 +768,6 @@
- #endif
- FB_3DfxAccel(this, finfo.accel);
- break;
-- case FB_ACCEL_NV3:
-- case FB_ACCEL_NV4:
--#ifdef FBACCEL_DEBUG
-- printf("NVidia hardware accelerator!\n");
--#endif
-- FB_RivaAccel(this, finfo.accel);
-- break;
- default:
- #ifdef FBACCEL_DEBUG
- printf("Unknown hardware accelerator.\n");
diff --git a/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch b/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch
index 1bb6e0e47..1bb6e0e47 100644..100755
--- a/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch
+++ b/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch
diff --git a/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch b/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch
index 7d3e5acfc..7d3e5acfc 100644..100755
--- a/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch
+++ b/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch
diff --git a/libre/seamonkey-libre/PKGBUILD b/libre/seamonkey-libre/PKGBUILD
index dd4bcd0a9..dd4bcd0a9 100644..100755
--- a/libre/seamonkey-libre/PKGBUILD
+++ b/libre/seamonkey-libre/PKGBUILD
diff --git a/libre/seamonkey-libre/clrf.patch b/libre/seamonkey-libre/clrf.patch
index 5a77f2b01..5a77f2b01 100644..100755
--- a/libre/seamonkey-libre/clrf.patch
+++ b/libre/seamonkey-libre/clrf.patch
diff --git a/libre/seamonkey-libre/gcc47.patch b/libre/seamonkey-libre/gcc47.patch
index 080502c23..080502c23 100644..100755
--- a/libre/seamonkey-libre/gcc47.patch
+++ b/libre/seamonkey-libre/gcc47.patch
diff --git a/libre/seamonkey-libre/gnuzilla-addons.patch b/libre/seamonkey-libre/gnuzilla-addons.patch
index 32a28b3e4..32a28b3e4 100644..100755
--- a/libre/seamonkey-libre/gnuzilla-addons.patch
+++ b/libre/seamonkey-libre/gnuzilla-addons.patch
diff --git a/libre/seamonkey-libre/libvpx.patch b/libre/seamonkey-libre/libvpx.patch
index d0f9a0f4c..d0f9a0f4c 100644..100755
--- a/libre/seamonkey-libre/libvpx.patch
+++ b/libre/seamonkey-libre/libvpx.patch
diff --git a/libre/seamonkey-libre/mozconfig b/libre/seamonkey-libre/mozconfig
index 4d04c96d5..4d04c96d5 100644..100755
--- a/libre/seamonkey-libre/mozconfig
+++ b/libre/seamonkey-libre/mozconfig
diff --git a/libre/seamonkey-libre/python27.patch b/libre/seamonkey-libre/python27.patch
index f00681fd2..f00681fd2 100644..100755
--- a/libre/seamonkey-libre/python27.patch
+++ b/libre/seamonkey-libre/python27.patch
diff --git a/libre/seamonkey-libre/seamonkey-2.0-lang.patch b/libre/seamonkey-libre/seamonkey-2.0-lang.patch
index b9f4a5cde..b9f4a5cde 100644..100755
--- a/libre/seamonkey-libre/seamonkey-2.0-lang.patch
+++ b/libre/seamonkey-libre/seamonkey-2.0-lang.patch
diff --git a/libre/seamonkey-libre/seamonkey.desktop b/libre/seamonkey-libre/seamonkey.desktop
index dd92a2432..dd92a2432 100644..100755
--- a/libre/seamonkey-libre/seamonkey.desktop
+++ b/libre/seamonkey-libre/seamonkey.desktop
diff --git a/libre/seamonkey-libre/seamonkey.install b/libre/seamonkey-libre/seamonkey.install
index 709ad81f2..709ad81f2 100644..100755
--- a/libre/seamonkey-libre/seamonkey.install
+++ b/libre/seamonkey-libre/seamonkey.install
diff --git a/libre/spectrwm-libre/LICENSE b/libre/spectrwm-libre/LICENSE
new file mode 100644
index 000000000..24c04f3a0
--- /dev/null
+++ b/libre/spectrwm-libre/LICENSE
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
+ * Copyright (c) 2009 Ryan McBride <mcbride@countersiege.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/*
+ * Much code and ideas taken from dwm under the following license:
+ * MIT/X Consortium License
+ *
+ * 2006-2008 Anselm R Garbe <garbeam at gmail dot com>
+ * 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
+ * 2006-2007 Jukka Salmi <jukka at salmi dot ch>
+ * 2007 Premysl Hruby <dfenze at gmail dot com>
+ * 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
+ * 2007 Christof Musik <christof at sendfax dot de>
+ * 2007-2008 Enno Gottox Boland <gottox at s01 dot de>
+ * 2007-2008 Peter Hartlich <sgkkr at hartlich dot com>
+ * 2008 Martin Hurton <martin dot hurton at gmail dot com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
diff --git a/libre/spectrwm-libre/PKGBUILD b/libre/spectrwm-libre/PKGBUILD
new file mode 100644
index 000000000..4b4bccec3
--- /dev/null
+++ b/libre/spectrwm-libre/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id$
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+_pkgname=spectrwm
+pkgname=spectrwm-libre
+pkgver=2.0.1
+pkgrel=1
+pkgdesc="A minimalistic automatic tiling window manager that tries to stay out of the way (without unfree profont support)"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.spectrwm.org"
+_watch="https://opensource.conformal.com/snapshots/spectrwm/"
+license=('custom:ISC')
+depends=('dmenu' 'xcb-util' 'xcb-util-wm' 'xcb-util-keysyms' 'libxrandr' 'libxft' 'libxcursor')
+replaces=('spectrwm' 'scrotwm')
+conflicts=('spectrwm')
+provides=("spectrwm=${pkgver}")
+makedepends=('libxt')
+optdepends=('scrot: screenshots' 'xlockmore: screenlocking' 'terminus-font: great font')
+backup=(etc/spectrwm.conf)
+source=(http://opensource.conformal.com/snapshots/$_pkgname/$_pkgname-$pkgver.tgz \
+ LICENSE \
+ baraction.sh)
+md5sums=('ed553574e65bb364e26d359790e204f2'
+ 'a67cfe51079481e5b0eab1ad371379e3'
+ '950d663692e1da56e0ac864c6c3ed80e')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ # it is like a patch, only less fragile
+ sed -i 's|\"/usr/local/lib/libswmhack.so\"|\"libswmhack.so\"|' spectrwm.c
+ sed -i 's/verbose_layout = 0;/verbose_layout = 1;/' spectrwm.c
+ sed -i 's/# modkey = Mod1/modkey = Mod4/' spectrwm.conf
+ sed -i 's/-\*-terminus-medium-\*-\*-\*-\*/-*-profont-*-*-*-*-12/' spectrwm.conf
+
+ cd linux
+ make PREFIX="/usr"
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver/linux"
+ make PREFIX="/usr" DESTDIR="$pkgdir" install
+ install -Dm644 spectrwm.desktop "$pkgdir/usr/share/xsessions/spectrwm.desktop"
+ cd ..
+ install -Dm644 spectrwm.conf "$pkgdir/etc/spectrwm.conf"
+ install -Dm755 screenshot.sh "$pkgdir/usr/share/spectrwm/screenshot.sh"
+ mkdir -p "$pkgdir/etc/spectrwm"
+ cp spectrwm_*.conf "$pkgdir/etc/spectrwm/"
+ cd "$srcdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
+ install -Dm755 baraction.sh "$pkgdir/usr/share/spectrwm/baraction.sh"
+
+ ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so.0"
+ ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so"
+
+ # fix this for real in the makefile
+ rm "$pkgdir/usr/bin/scrotwm"
+ ln -s "/usr/bin/spectrwm" "$pkgdir/usr/bin/scrotwm"
+ mkdir -p "$pkgdir"/usr/share/man/{es,it,pt,ru}/man1/
+ mv "$pkgdir/usr/share/man/man1/spectrwm_es.1" "$pkgdir/usr/share/man/es/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_it.1" "$pkgdir/usr/share/man/it/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_pt.1" "$pkgdir/usr/share/man/pt/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_ru.1" "$pkgdir/usr/share/man/ru/man1/"
+}
diff --git a/libre/spectrwm-libre/baraction.sh b/libre/spectrwm-libre/baraction.sh
new file mode 100644
index 000000000..96a8a7b1a
--- /dev/null
+++ b/libre/spectrwm-libre/baraction.sh
@@ -0,0 +1,82 @@
+#!/bin/bash
+# baraction.sh for spectrwm status bar
+# From http://wiki.archlinux.org/index.php/Scrotwm
+
+SLEEP_SEC=5
+#loops forever outputting a line every SLEEP_SEC secs
+while :; do
+
+ eval $(cat /proc/acpi/battery/BAT0/state | awk '/charging state/ {printf "BAT_CHGSTATE=%s;", $3}; /remaining capacity/ {printf "BAT_REMNG=%s;",$3}; /present rate/ {printf "BAT_RATE=%s;",$3};' -)
+ eval $(cat /proc/acpi/battery/BAT0/info | awk '/present/ {printf "BAT_PRESENT=%s;", $2}; /last full capacity/ {printf "BAT_LASTFULL=%s;",$4};' -)
+
+ BAT_REMNG_WH=`echo "scale=1; a=($BAT_REMNG+50)/1000; print a" | bc -l`
+ BAT_RATE_W=`echo "scale=1; a=($BAT_RATE+50)/1000; print a" | bc -l`
+ BCSCRIPT="scale=0; a=(100*$BAT_REMNG / $BAT_LASTFULL); print a"
+ BAT_PCT=`echo $BCSCRIPT | bc -l`%
+
+ case $BAT_PRESENT in
+ no)
+ POWER_STR="AC, NO BATTERY"
+ ;;
+ yes)
+
+ case $BAT_CHGSTATE in
+ charged)
+ #on ac
+ AC_STATUS="ON AC"
+ TIME_REMNG="N/A"
+ POWER_STR="$AC_STATUS $BAT_CHGSTATE $BAT_PCT"
+ ;;
+ charging)
+ #on ac
+ AC_STATUS="ON AC"
+ BCSCRIPT="scale=1; a=(60*($BAT_LASTFULL - $BAT_REMNG) / $BAT_RATE); print a"
+ TIMETOFULL_MIN=`echo $BCSCRIPT | bc -l`
+ POWER_STR="$AC_STATUS $BAT_CHGSTATE $BAT_PCT C="$BAT_REMNG_WH"Wh Rate="$BAT_RATE_W"W TTF="$TIMETOFULL_MIN"min"
+ ;;
+ discharging)
+ AC_STATUS="ON BATT"
+ TIME_REMNG_MIN=`echo "scale=0; a=(60*$BAT_REMNG / $BAT_RATE); print a" | bc -l`
+ TIME_REMNG_HH=`echo "scale=0; a=($BAT_REMNG / $BAT_RATE); if (a<10) {print "0"; print a} else {print a}" | bc -l`
+
+ TIME_REMNG_MM=`echo "scale=0; a=($TIME_REMNG_MIN-60*$TIME_REMNG_HH); if (a<10) {print "0"; print a} else {print a}" | bc -l`
+ POWER_STR="$AC_STATUS $BAT_PCT C="$BAT_REMNG_WH"Wh P="$BAT_RATE_W"W R="$TIME_REMNG_HH":"$TIME_REMNG_MM
+ ;;
+ *)
+ POWER_STR=$BAT_CHGSTATE
+ ;;
+ esac
+
+ ;;
+ *)
+ POWER_STR="error"
+ ;;
+ esac
+
+ #spectrwm bar_print can't handle UTF-8 characters, such as degree symbol
+ #Core 0: +67.0°C (crit = +100.0°C)
+ eval $(sensors 2>/dev/null | sed s/[°+]//g | awk '/^Core 0/ {printf "CORE0TEMP=%s;", $3}; /^Core 1/ {printf "CORE1TEMP=%s;",$3}; /^fan1/ {printf "FANSPD=%s;",$2};' -)
+ TEMP_STR="Tcpu=$CORE0TEMP,$CORE1TEMP F=$FANSPD"
+
+ WLAN_ESSID=$(iwconfig wlan0 | awk -F "\"" '/wlan0/ { print $2 }')
+ eval $(cat /proc/net/wireless | sed s/[.]//g | awk '/wlan0/ {printf "WLAN_QULTY=%s; WLAN_SIGNL=%s; WLAN_NOISE=%s", $3,$4,$5};' -)
+ BCSCRIPT="scale=0;a=100*$WLAN_QULTY/70;print a"
+ WLAN_QPCT=`echo $BCSCRIPT | bc -l`
+ WLAN_POWER=`iwconfig 2>/dev/null| grep "Tx-Power"| awk {'print $4'}|sed s/Tx-Power=//`
+ WLAN_STR="$WLAN_ESSID: Q=$WLAN_QPCT% S/N="$WLAN_SIGNL"/"$WLAN_NOISE"dBm T="$WLAN_POWER"dBm"
+
+ CPUFREQ_STR=`echo "Freq:"$(cat /proc/cpuinfo | grep 'cpu MHz' | sed 's/.*: //g; s/\..*//g;')`
+ CPULOAD_STR="Load:$(uptime | sed 's/.*://; s/,//g')"
+
+ eval $(awk '/^MemTotal/ {printf "MTOT=%s;", $2}; /^MemFree/ {printf "MFREE=%s;",$2}' /proc/meminfo)
+ MUSED=$(( $MTOT - $MFREE ))
+ MUSEDPT=$(( ($MUSED * 100) / $MTOT ))
+ MEM_STR="Mem:${MUSEDPT}%"
+
+ echo -e "$POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR"
+ #alternatively if you prefer a different date format
+ #DATE_STR=`date +"%H:%M %a %d %b`
+ #echo -e "$DATE_STR $POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR"
+
+ sleep $SLEEP_SEC
+done
diff --git a/libre/sqlite3-libre/PKGBUILD b/libre/sqlite3-libre/PKGBUILD
index 569538fbf..569538fbf 100644..100755
--- a/libre/sqlite3-libre/PKGBUILD
+++ b/libre/sqlite3-libre/PKGBUILD
diff --git a/libre/sqlite3-libre/license.txt b/libre/sqlite3-libre/license.txt
index 118c5d5e6..118c5d5e6 100644..100755
--- a/libre/sqlite3-libre/license.txt
+++ b/libre/sqlite3-libre/license.txt
diff --git a/libre/sqlite3/PKGBUILD b/libre/sqlite3/PKGBUILD
index 2a939aa57..2a939aa57 100644..100755
--- a/libre/sqlite3/PKGBUILD
+++ b/libre/sqlite3/PKGBUILD
diff --git a/libre/sqlite3/license.txt b/libre/sqlite3/license.txt
index 118c5d5e6..118c5d5e6 100644..100755
--- a/libre/sqlite3/license.txt
+++ b/libre/sqlite3/license.txt
diff --git a/libre/syslinux/PKGBUILD b/libre/syslinux/PKGBUILD
index 608316be1..b4e9fa35a 100644..100755
--- a/libre/syslinux/PKGBUILD
+++ b/libre/syslinux/PKGBUILD
@@ -1,10 +1,11 @@
-# $Id: PKGBUILD 165001 2012-08-08 15:45:08Z tpowa $
+# $Id: PKGBUILD 165555 2012-08-23 18:27:20Z thomas $
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgname=syslinux
pkgver=4.05
-pkgrel=6
+pkgrel=7
arch=('i686' 'x86_64')
pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)"
url="http://syslinux.zytor.com/"
@@ -26,6 +27,13 @@ source=(http://www.kernel.org/pub/linux/utils/boot/syslinux/$pkgname-${pkgver}.t
avoid-using-ext2_fs.patch
handle-ctors-dtors-via-init_array-and-fini_array.patch
splash.png)
+md5sums=('82299242418385da1274c9479a778cb2'
+ '1528c376e43f0eaccaa80d8ad1bc13b4'
+ '8dc2afca3739667e892faf04eb97e7b1'
+ '680750f73dc2e587ac567d057d485813'
+ '2e2c674a71c0c0bf265d96cfc19ce985'
+ 'd016d03f15177b1bb534ce3753b2aa9b'
+ '0035b6cac6756a384b861eda8d33e4f7')
build() {
# Do not try to build syslinux with our default LDFLAGS, it will fail
@@ -39,7 +47,9 @@ build() {
patch -Np1 -i "$srcdir"/handle-ctors-dtors-via-init_array-and-fini_array.patch
# Fix FHS manpage path
sed 's|/usr/man|/usr/share/man|g' -i mk/syslinux.mk
- make
+ make installer
+ make -C utils
+ make -C com32
}
package() {
@@ -57,10 +67,3 @@ package() {
mv "$pkgdir"/sbin/extlinux "$pkgdir"/usr/sbin/extlinux
rmdir "$pkgdir"/sbin
}
-md5sums=('82299242418385da1274c9479a778cb2'
- '1528c376e43f0eaccaa80d8ad1bc13b4'
- '8dc2afca3739667e892faf04eb97e7b1'
- '680750f73dc2e587ac567d057d485813'
- '2e2c674a71c0c0bf265d96cfc19ce985'
- '12a2dbd3fe59230df2f470600dd62dac'
- '0035b6cac6756a384b861eda8d33e4f7')
diff --git a/libre/syslinux/avoid-using-ext2_fs.patch b/libre/syslinux/avoid-using-ext2_fs.patch
index 9a166eefc..9a166eefc 100644..100755
--- a/libre/syslinux/avoid-using-ext2_fs.patch
+++ b/libre/syslinux/avoid-using-ext2_fs.patch
diff --git a/libre/syslinux/fix-undefined-type-umode_t.patch b/libre/syslinux/fix-undefined-type-umode_t.patch
index 33ac6d323..33ac6d323 100644..100755
--- a/libre/syslinux/fix-undefined-type-umode_t.patch
+++ b/libre/syslinux/fix-undefined-type-umode_t.patch
diff --git a/libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch b/libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch
index 99e0d4777..aa513312b 100644..100755
--- a/libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch
+++ b/libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch
@@ -61,6 +61,7 @@ index 37ee46c..008e4ce 100644
+ KEEP (*(SORT(.dtors*)))
PROVIDE (__dtors_end = .);
}
+
+--
+1.7.6.5
---
-1.7.6.5 \ No newline at end of file
diff --git a/libre/syslinux/rePKGBUILD b/libre/syslinux/rePKGBUILD
index 33a96d1a1..33a96d1a1 100644..100755
--- a/libre/syslinux/rePKGBUILD
+++ b/libre/syslinux/rePKGBUILD
diff --git a/libre/syslinux/splash.png b/libre/syslinux/splash.png
index 43d4692ab..43d4692ab 100644..100755
--- a/libre/syslinux/splash.png
+++ b/libre/syslinux/splash.png
Binary files differ
diff --git a/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch b/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
index 2b86ab828..2b86ab828 100644..100755
--- a/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
+++ b/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
diff --git a/libre/syslinux/syslinux-install_update b/libre/syslinux/syslinux-install_update
index cd1baa572..cd1baa572 100644..100755
--- a/libre/syslinux/syslinux-install_update
+++ b/libre/syslinux/syslinux-install_update
diff --git a/libre/syslinux/syslinux.cfg b/libre/syslinux/syslinux.cfg
index 5debfef9c..5debfef9c 100644..100755
--- a/libre/syslinux/syslinux.cfg
+++ b/libre/syslinux/syslinux.cfg
diff --git a/libre/syslinux/syslinux.install b/libre/syslinux/syslinux.install
index 0dc0ece36..0dc0ece36 100644..100755
--- a/libre/syslinux/syslinux.install
+++ b/libre/syslinux/syslinux.install
diff --git a/libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch b/libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch
index 06fc30944..06fc30944 100644..100755
--- a/libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch
+++ b/libre/systemd/0001-check-for-proper-return-from-dirent_ensure_type.patch
diff --git a/libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch b/libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch
index 692d93356..692d93356 100644..100755
--- a/libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch
+++ b/libre/systemd/0001-logind-close-FIFO-before-ending-sessions-cleanly.patch
diff --git a/libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch b/libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch
index 9bf84dda6..9bf84dda6 100644..100755
--- a/libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch
+++ b/libre/systemd/0001-util-never-follow-symlinks-in-rm_rf_children.patch
diff --git a/libre/systemd/PKGBUILD b/libre/systemd/PKGBUILD
index d4f08f7d5..d4f08f7d5 100644..100755
--- a/libre/systemd/PKGBUILD
+++ b/libre/systemd/PKGBUILD
diff --git a/libre/systemd/os-release b/libre/systemd/os-release
index 65253e9c3..65253e9c3 100644..100755
--- a/libre/systemd/os-release
+++ b/libre/systemd/os-release
diff --git a/libre/systemd/rePKGBUILD b/libre/systemd/rePKGBUILD
index f825ee579..f825ee579 100644..100755
--- a/libre/systemd/rePKGBUILD
+++ b/libre/systemd/rePKGBUILD
diff --git a/libre/systemd/systemd.install b/libre/systemd/systemd.install
index 0c3e9abee..0c3e9abee 100644..100755
--- a/libre/systemd/systemd.install
+++ b/libre/systemd/systemd.install
diff --git a/libre/texlive-bin-libre/09-texlive-fonts.conf b/libre/texlive-bin-libre/09-texlive-fonts.conf
index f870fbd7a..f870fbd7a 100644..100755
--- a/libre/texlive-bin-libre/09-texlive-fonts.conf
+++ b/libre/texlive-bin-libre/09-texlive-fonts.conf
diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD
index 3dd2a8620..d5571465f 100644..100755
--- a/libre/texlive-bin-libre/PKGBUILD
+++ b/libre/texlive-bin-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 162397 2012-06-26 20:13:46Z remy $
+# $Id: PKGBUILD 165207 2012-08-13 08:28:02Z remy $
# Maintainer: Rémy Oudompheng <remy@archlinux.org>
# Contributor: francois <francois.archlinux.org>
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
@@ -6,7 +6,7 @@
pkgname=texlive-bin-libre
pkgver=2012.0
-pkgrel=2
+pkgrel=4
pkgdesc="TeX Live binaries"
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
@@ -284,7 +284,6 @@ vpl2vpl
_latexextra_scripts="
authorindex
exceltex
-exceltex
makeglossaries
pdfannotextractor
perltex
diff --git a/libre/texlive-bin-libre/fix-fontforge-encoding.patch b/libre/texlive-bin-libre/fix-fontforge-encoding.patch
index 8104b3289..8104b3289 100644..100755
--- a/libre/texlive-bin-libre/fix-fontforge-encoding.patch
+++ b/libre/texlive-bin-libre/fix-fontforge-encoding.patch
diff --git a/libre/texlive-bin-libre/luatex-poppler-0.20.patch b/libre/texlive-bin-libre/luatex-poppler-0.20.patch
index 175824f3e..175824f3e 100644..100755
--- a/libre/texlive-bin-libre/luatex-poppler-0.20.patch
+++ b/libre/texlive-bin-libre/luatex-poppler-0.20.patch
diff --git a/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch b/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
index f925a1a93..f925a1a93 100644..100755
--- a/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
+++ b/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
diff --git a/libre/texlive-bin-libre/poppler-0.20.patch b/libre/texlive-bin-libre/poppler-0.20.patch
index 3bd8183ab..3bd8183ab 100644..100755
--- a/libre/texlive-bin-libre/poppler-0.20.patch
+++ b/libre/texlive-bin-libre/poppler-0.20.patch
diff --git a/libre/texlive-bin-libre/texlive.install b/libre/texlive-bin-libre/texlive.install
index b85850123..06a40a3b3 100644..100755
--- a/libre/texlive-bin-libre/texlive.install
+++ b/libre/texlive-bin-libre/texlive.install
@@ -16,13 +16,19 @@ post_install() {
}
post_upgrade() {
+ local corename corever _pacout
echo ">>> texlive: updating the filename database..."
usr/bin/mktexlsr
- echo -n "recreating all formats..."
- usr/bin/fmtutil-sys --all 1>/dev/null
- echo " done."
- echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
-
+ _pacout=$(pacman -Q texlive-core 2>/dev/null)
+ read corename corever <<< ${_pacout}
+ if [[ ${corever} == 2012* ]]; then
+ echo -n "recreating all formats..."
+ usr/bin/fmtutil-sys --all 1>/dev/null
+ echo " done."
+ echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
+ else
+ echo "WARNING: not recreating formats since texlive-core has version '$corever'"
+ fi
[[ -x usr/bin/install-info ]] || return 0
for file in "${filelist[@]}"; do
install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
diff --git a/libre/texlive-bin-libre/texmf.cnf b/libre/texlive-bin-libre/texmf.cnf
index 76975ee5c..76975ee5c 100644..100755
--- a/libre/texlive-bin-libre/texmf.cnf
+++ b/libre/texlive-bin-libre/texmf.cnf
diff --git a/libre/texlive-core-libre/PKGBUILD b/libre/texlive-core-libre/PKGBUILD
index 41021cf24..41021cf24 100644..100755
--- a/libre/texlive-core-libre/PKGBUILD
+++ b/libre/texlive-core-libre/PKGBUILD
diff --git a/libre/texlive-core-libre/texlive-core.maps b/libre/texlive-core-libre/texlive-core.maps
index 013f15e94..013f15e94 100644..100755
--- a/libre/texlive-core-libre/texlive-core.maps
+++ b/libre/texlive-core-libre/texlive-core.maps
diff --git a/libre/texlive-core-libre/texlive.install b/libre/texlive-core-libre/texlive.install
index 601c4af19..601c4af19 100644..100755
--- a/libre/texlive-core-libre/texlive.install
+++ b/libre/texlive-core-libre/texlive.install
diff --git a/libre/texlive-fontsextra-libre/PKGBUILD b/libre/texlive-fontsextra-libre/PKGBUILD
index cabf58619..cabf58619 100644..100755
--- a/libre/texlive-fontsextra-libre/PKGBUILD
+++ b/libre/texlive-fontsextra-libre/PKGBUILD
diff --git a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps
index fbced973a..fbced973a 100644..100755
--- a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps
+++ b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps
diff --git a/libre/texlive-fontsextra-libre/texlive.install b/libre/texlive-fontsextra-libre/texlive.install
index c2c5e8165..c2c5e8165 100644..100755
--- a/libre/texlive-fontsextra-libre/texlive.install
+++ b/libre/texlive-fontsextra-libre/texlive.install
diff --git a/libre/texlive-latexextra-libre/PKGBUILD b/libre/texlive-latexextra-libre/PKGBUILD
index d806b73fd..d806b73fd 100644..100755
--- a/libre/texlive-latexextra-libre/PKGBUILD
+++ b/libre/texlive-latexextra-libre/PKGBUILD
diff --git a/libre/texlive-latexextra-libre/texlive-latexextra.maps b/libre/texlive-latexextra-libre/texlive-latexextra.maps
index b97f37fdd..b97f37fdd 100644..100755
--- a/libre/texlive-latexextra-libre/texlive-latexextra.maps
+++ b/libre/texlive-latexextra-libre/texlive-latexextra.maps
diff --git a/libre/texlive-latexextra-libre/texlive.install b/libre/texlive-latexextra-libre/texlive.install
index e8878db08..e8878db08 100644..100755
--- a/libre/texlive-latexextra-libre/texlive.install
+++ b/libre/texlive-latexextra-libre/texlive.install
diff --git a/libre/thunderbird-libre/.directory b/libre/thunderbird-libre/.directory
index 6ec9fb1ce..6ec9fb1ce 100644..100755
--- a/libre/thunderbird-libre/.directory
+++ b/libre/thunderbird-libre/.directory
diff --git a/libre/thunderbird-libre/PKGBUILD b/libre/thunderbird-libre/PKGBUILD
index 134f0efd0..134f0efd0 100644..100755
--- a/libre/thunderbird-libre/PKGBUILD
+++ b/libre/thunderbird-libre/PKGBUILD
diff --git a/libre/thunderbird-libre/channel-prefs.js b/libre/thunderbird-libre/channel-prefs.js
index 13b1ba388..13b1ba388 100644..100755
--- a/libre/thunderbird-libre/channel-prefs.js
+++ b/libre/thunderbird-libre/channel-prefs.js
diff --git a/libre/thunderbird-libre/clrf.patch b/libre/thunderbird-libre/clrf.patch
index 5a77f2b01..5a77f2b01 100644..100755
--- a/libre/thunderbird-libre/clrf.patch
+++ b/libre/thunderbird-libre/clrf.patch
diff --git a/libre/thunderbird-libre/gcc47.patch b/libre/thunderbird-libre/gcc47.patch
index 080502c23..080502c23 100644..100755
--- a/libre/thunderbird-libre/gcc47.patch
+++ b/libre/thunderbird-libre/gcc47.patch
diff --git a/libre/thunderbird-libre/mozconfig b/libre/thunderbird-libre/mozconfig
index 8950db703..8950db703 100644..100755
--- a/libre/thunderbird-libre/mozconfig
+++ b/libre/thunderbird-libre/mozconfig
diff --git a/libre/thunderbird-libre/rePKGBUILD b/libre/thunderbird-libre/rePKGBUILD
index 6a0c46222..6a0c46222 100644..100755
--- a/libre/thunderbird-libre/rePKGBUILD
+++ b/libre/thunderbird-libre/rePKGBUILD
diff --git a/libre/thunderbird-libre/searchplugins-libre.patch b/libre/thunderbird-libre/searchplugins-libre.patch
index e466a9eb3..e466a9eb3 100644..100755
--- a/libre/thunderbird-libre/searchplugins-libre.patch
+++ b/libre/thunderbird-libre/searchplugins-libre.patch
diff --git a/libre/thunderbird-libre/thunderbird-install-dir.patch b/libre/thunderbird-libre/thunderbird-install-dir.patch
index 74e692bf2..74e692bf2 100644..100755
--- a/libre/thunderbird-libre/thunderbird-install-dir.patch
+++ b/libre/thunderbird-libre/thunderbird-install-dir.patch
diff --git a/libre/thunderbird-libre/thunderbird.desktop b/libre/thunderbird-libre/thunderbird.desktop
index a626e52ba..a626e52ba 100644..100755
--- a/libre/thunderbird-libre/thunderbird.desktop
+++ b/libre/thunderbird-libre/thunderbird.desktop
diff --git a/libre/thunderbird-libre/thunderbird.install b/libre/thunderbird-libre/thunderbird.install
index 4d4a283db..4d4a283db 100644..100755
--- a/libre/thunderbird-libre/thunderbird.install
+++ b/libre/thunderbird-libre/thunderbird.install
diff --git a/libre/thunderbird-libre/vendor.js b/libre/thunderbird-libre/vendor.js
index 170b505a8..170b505a8 100644..100755
--- a/libre/thunderbird-libre/vendor.js
+++ b/libre/thunderbird-libre/vendor.js
diff --git a/libre/tp_smapi-libre/PKGBUILD b/libre/tp_smapi-libre/PKGBUILD
new file mode 100644
index 000000000..4c8910c2b
--- /dev/null
+++ b/libre/tp_smapi-libre/PKGBUILD
@@ -0,0 +1,63 @@
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: xduugu
+# Contributor: nh2
+# Contributor: Steven Davidovitz <steviedizzle ð gmail đ com>
+# Contributor: Nick B <Shirakawasuna ð gmail đ com>
+# Contributor: Christof Musik <christof ð senfdax đ de>
+# Contributor: Stefan Rupp <archlinux ð stefanrupp đ de>
+# Contributor: Ignas Anikevicius <anikevicius ð gmail đ com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+
+_pkgname=tp_smapi
+pkgname=tp_smapi-libre
+pkgver=0.41
+pkgrel=9
+pkgdesc="Modules for ThinkPad's SMAPI functionality"
+arch=('i686' 'x86_64')
+url='https://github.com/evgeni/tp_smapi'
+license=('GPL')
+depends=('linux-libre>=3.6' 'linux-libre<3.7')
+makedepends=('linux-libre-headers>=3.6' 'linux-libre-headers<3.7')
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}")
+provides=("${_pkgname}=${pkgver}")
+install="${_pkgname}.install"
+source=("https://github.com/downloads/evgeni/${_pkgname}/${_pkgname}-${pkgver}.tar.gz")
+md5sums=('63c683415c764568f6bf17c7eabe4752')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ _kernver=${_kernver:-$(uname -r)}
+ _extramodules=$(readlink -f "/usr/lib/modules/${_kernver}/extramodules" || true)
+ _kernver=$(< "${_extramodules}/version")
+
+ sed -ri -e "s/^(KVER\s*:=).*$/\1 ${_kernver}/" \
+ -e "s#^(KBASE\s*:=).*\$#\1 ${_extramodules%/*}/${_kernver}#" Makefile
+
+ make HDAPS=1
+}
+
+package() {
+ _kernver=${_kernver:-$(uname -r)}
+ _extramodules=$(readlink -f "/usr/lib/modules/${_kernver}/extramodules" || true)
+ _kernver=$(< "${_extramodules}/version")
+
+ make -C "${_extramodules%/*}/${_kernver}/build" \
+ INSTALL_MOD_PATH="${pkgdir}/${_extramodules%%/lib/*}" \
+ M="${srcdir}/${_pkgname}-${pkgver}" modules_install
+
+ cd "${pkgdir}/${_extramodules%/*}"
+ mv "${_kernver}/extra" "${_extramodules##*/}"
+ rmdir "${_kernver}"
+
+ # compress kernel libre modules
+ find "${pkgdir}" -name "*.ko" -exec gzip -9 {} +
+
+ # load module on startup
+ echo tp_smapi > "${srcdir}/${_pkgname}.conf"
+ install -Dm644 "${srcdir}/${_pkgname}.conf" "${pkgdir}/usr/lib/modules-load.d/${_pkgname}.conf"
+
+ # update kernel libre version in install file
+ sed -ri "s#^(extramodules=).*\$#\1${_extramodules}#" "${startdir}/${_pkgname}.install"
+}
diff --git a/libre/tp_smapi-libre/tp_smapi.install b/libre/tp_smapi-libre/tp_smapi.install
new file mode 100644
index 000000000..3662e7f34
--- /dev/null
+++ b/libre/tp_smapi-libre/tp_smapi.install
@@ -0,0 +1,13 @@
+extramodules=/usr/lib/modules/extramodules-3.6-ARCH
+
+post_install() {
+ depmod -v $(< "$extramodules/version") &>/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/ttf-thai-libre/PKGBUILD b/libre/ttf-thai-libre/PKGBUILD
index 3d1d4ec3d..3d1d4ec3d 100644..100755
--- a/libre/ttf-thai-libre/PKGBUILD
+++ b/libre/ttf-thai-libre/PKGBUILD
diff --git a/libre/ttf-thai-libre/ttf.install b/libre/ttf-thai-libre/ttf.install
index 203190187..203190187 100644..100755
--- a/libre/ttf-thai-libre/ttf.install
+++ b/libre/ttf-thai-libre/ttf.install
diff --git a/libre/unarchiver/PKGBUILD b/libre/unarchiver/PKGBUILD
index 9921c6d9d..9921c6d9d 100644..100755
--- a/libre/unarchiver/PKGBUILD
+++ b/libre/unarchiver/PKGBUILD
diff --git a/libre/unarchiver/libz.patch b/libre/unarchiver/libz.patch
index acba51463..acba51463 100644..100755
--- a/libre/unarchiver/libz.patch
+++ b/libre/unarchiver/libz.patch
diff --git a/libre/unarchiver/native_obj_exceptions.patch b/libre/unarchiver/native_obj_exceptions.patch
index 9c84918b2..9c84918b2 100644..100755
--- a/libre/unarchiver/native_obj_exceptions.patch
+++ b/libre/unarchiver/native_obj_exceptions.patch
diff --git a/libre/unrar-libre/PKGBUILD b/libre/unrar-libre/PKGBUILD
index e08e90220..e08e90220 100644..100755
--- a/libre/unrar-libre/PKGBUILD
+++ b/libre/unrar-libre/PKGBUILD
diff --git a/libre/ununrar/PKGBUILD b/libre/ununrar/PKGBUILD
index 2e5aa615c..2e5aa615c 100644..100755
--- a/libre/ununrar/PKGBUILD
+++ b/libre/ununrar/PKGBUILD
diff --git a/libre/unzip-libre/PKGBUILD b/libre/unzip-libre/PKGBUILD
index 20c3885f9..20c3885f9 100644..100755
--- a/libre/unzip-libre/PKGBUILD
+++ b/libre/unzip-libre/PKGBUILD
diff --git a/libre/unzip-libre/SRCBUILD b/libre/unzip-libre/SRCBUILD
index a9ada936b..a9ada936b 100644..100755
--- a/libre/unzip-libre/SRCBUILD
+++ b/libre/unzip-libre/SRCBUILD
diff --git a/libre/unzip-libre/match.patch b/libre/unzip-libre/match.patch
index 6ba65fee0..6ba65fee0 100644..100755
--- a/libre/unzip-libre/match.patch
+++ b/libre/unzip-libre/match.patch
diff --git a/libre/vhba-module-libre/60-vhba.rules b/libre/vhba-module-libre/60-vhba.rules
index e4de1dca7..e4de1dca7 100644..100755
--- a/libre/vhba-module-libre/60-vhba.rules
+++ b/libre/vhba-module-libre/60-vhba.rules
diff --git a/libre/vhba-module-libre/PKGBUILD b/libre/vhba-module-libre/PKGBUILD
index 5e5b3411f..f35ba99c9 100644..100755
--- a/libre/vhba-module-libre/PKGBUILD
+++ b/libre/vhba-module-libre/PKGBUILD
@@ -2,17 +2,18 @@
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Mateusz Herych <heniekk@gmail.com>
# Contributor: Charles Lindsay <charles@chaoslizard.org>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=vhba-module
pkgname=vhba-module-libre
pkgver=20120422
-_extramodules=extramodules-3.5-LIBRE
-pkgrel=7.1
+_extramodules=extramodules-3.6-LIBRE
+pkgrel=12
pkgdesc="Kernel libre module that emulates SCSI devices"
arch=('i686' 'x86_64')
url="http://cdemu.sourceforge.net/"
license=('GPL')
-depends=('linux-libre>=3.5' 'linux-libre<3.6')
+depends=('linux-libre>=3.6' 'linux-libre<3.7')
makedepends=('linux-libre-headers')
options=(!makeflags)
install=$_pkgname.install
diff --git a/libre/vhba-module-libre/vhba-module.install b/libre/vhba-module-libre/vhba-module.install
index b2a49a261..8bd740943 100644..100755
--- a/libre/vhba-module-libre/vhba-module.install
+++ b/libre/vhba-module-libre/vhba-module.install
@@ -1,6 +1,6 @@
_updatemod() {
echo " > Updating module dependencies..."
- EXTRAMODULES='extramodules-3.5-LIBRE'
+ EXTRAMODULES='extramodules-3.6-LIBRE'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
}
diff --git a/libre/virtualbox-libre-modules-lts/LocalConfig.kmk b/libre/virtualbox-libre-modules-lts/LocalConfig.kmk
deleted file mode 100644
index af79f90cd..000000000
--- a/libre/virtualbox-libre-modules-lts/LocalConfig.kmk
+++ /dev/null
@@ -1,19 +0,0 @@
-VBOX_WITH_ADDITION_DRIVERS =
-VBOX_WITH_INSTALLER = 1
-VBOX_WITH_LINUX_ADDITIONS = 1
-VBOX_WITH_X11_ADDITIONS =
-VBOX_WITH_TESTCASES =
-VBOX_WITH_TESTSUITE =
-VBOX_WITH_ORIGIN :=
-VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
-VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
-VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
-VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
-VBOX_PATH_APP_DOCS := /usr/share/virtualbox
-VBOX_WITH_REGISTRATION_REQUEST =
-VBOX_WITH_UPDATE_REQUEST =
-VBOX_WITH_VNC := 1
-VBOX_BLD_PYTHON = python2
-VBOX_JAVA_HOME = /usr/lib/jvm/java-6-openjdk
-VBOX_GCC_WERR =
-VBOX_GCC_WARN =
diff --git a/libre/virtualbox-libre-modules-lts/PKGBUILD b/libre/virtualbox-libre-modules-lts/PKGBUILD
index 597406075..e5112c8a9 100644
--- a/libre/virtualbox-libre-modules-lts/PKGBUILD
+++ b/libre/virtualbox-libre-modules-lts/PKGBUILD
@@ -1,153 +1,73 @@
# $Id$
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
-# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
-# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Sébastien Luttringer <seblu@aur.archlinux.org>
# Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgbase=virtualbox-libre-modules-lts
-pkgname=('virtualbox-libre-modules-lts' 'virtualbox-libre-parabola-modules-lts')
-pkgver=4.1.20
-pkgrel=2
+pkgname=('virtualbox-libre-host-modules-lts' 'virtualbox-libre-guest-modules-lts')
+pkgver=4.2.0
+pkgrel=3
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL')
-makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-libre-lts' 'linux-libre-lts-headers')
-[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
-source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
- LocalConfig.kmk 60-vboxguest.rules os_blag_64.png os_blag.png
- os_dragora_64.png os_dragora.png os_dynebolic.png os_gnewsense_64.png os_gnewsense.png
- os_gnu_64.png os_gnuhurd.png os_gnulinux_64.png os_gnulinux.png os_gnu.png
- os_musix_64.png os_musix.png os_parabola_64.png os_parabola.png os_trisquel_64.png
- os_trisquel.png os_ututo_64.png os_ututo.png os_venenux.png libre.patch
- free-distros.patch)
-md5sums=('5784c6dda8a9d53f8f21b2d41eba903c'
- '4c88bd122677a35f68abd76eb01b378b'
- 'ed1341881437455d9735875ddf455fbe'
- '8538dba8686d7449cb481c9bae9d722a'
- '545c925b46f2ac95e5f8ae407fad101a'
- 'f6416f509c2e5460e4dc624e0a57f3c1'
- 'bbfb59dd517c020a23701b480187a355'
- 'efacfdb61918286ea9bc89866b8fd239'
- '7c3eb09995e8bafeef414374e44ad4ce'
- 'a49ed3ab6bd0fb084de0ab3dd97ae93e'
- '6b432b3305ed446125eef052c38355a6'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- '6b432b3305ed446125eef052c38355a6'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- '380eb2ab6cad3da198094585853c129c'
- 'a60bb9a98abcc3c34156f9051d00df9a'
- '3a908ef6952bcf987e63ef2fe4e98d24'
- '02e87c39c353634cecacf98f1707fa15'
- '0cf41a41e7a415d404d5584e047fd450'
- '449cde3b58390284b59c5d663de3edc9'
- 'c7951fe6888d939f3a7d0dafe477e82b'
- '4da8eeb2ece7e475fc7a0d1003da26c6'
- '5e4187af59726d71c5be48d0cd816c34'
- 'a9e4724b56ddf99bb2e9a8fab8ad43ba'
- '1e47d90affabfbf6dbb07d9d42742d6a')
-
-_extramodules=extramodules-3.0-LIBRE-LTS
+makedepends=('linux-libre-lts-headers'
+ "virtualbox-libre-host-source>=$pkgver"
+ "virtualbox-libre-guest-source>=$pkgver"
+ 'expac')
build() {
- _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
- export KERN_DIR=/usr/lib/modules/${_kernver}/build/
- export KERN_INCL=/usr/src/linux-${_kernver}/include/
-
- cd "$srcdir/VirtualBox-${pkgver}"
-
- patch -Np1 -i "$srcdir/libre.patch"
- patch -Np1 -i "$srcdir/free-distros.patch"
-
- ## Removing Nonfree directories
- rm -rv "./include/VBox/ExtPack"
- rm -rv "./src/VBox/ExtPacks"
- rm -rv "./src/VBox/Main/src-helper-apps"
-
- ## Removing Oracle VM VirtualBox Extension Pack icons
- rm -v "./src/VBox/Resources/darwin/virtualbox-vbox-extpack.icns"
- rm -v "./src/VBox/Resources/other/virtualbox-vbox-extpack-"{16px,20px,24px,32px,40px,48px,64px,72px,80px,96px,128px,256px,512px}.png
- rm -v "./src/VBox/Resources/win/OSE/virtualbox-vbox-extpack.ico"
- rm -v "./src/VBox/Frontends/VirtualBox/images/extension_pack_"{16px,32px,disabled{_16px,_32px},install{_16px,_32px},install_disabled{_16px,_32px},uninstall{_16px,_32px},uninstall_disabled{_16px,_32px}}.png
-
- ## Adding free distros icons
- for i in {gnuhurd,dynebolic,venenux,{gnu{,linux},parabola,gnewsense,blag,dragora,ututo,musix,trisquel}{,_64}}; do
- cp -v "$srcdir/os_${i}.png" "./src/VBox/Frontends/VirtualBox/images"
- done
-
- ## Removing non-free OS icons
- rm -v "./src/VBox/Frontends/VirtualBox/images/os_"{{{arch,turbo}linux,debian,fedora,gentoo,linux{24,26},macosx,mandriva,{free,net,open}bsd,redhat,solaris,opensuse,oracle{,solaris},ubuntu,win{2k{3,8},7,8,vista,xp},xandros}{,_64},dos,jrockitve,l4,linux{,22,_other},netware,qnx,os2{_other,ecs,warp{3,4,45}},win{2k,31,95,98,_other,me,nt4}}.png
-
- cp "$srcdir/LocalConfig.kmk" .
-
- ./configure \
- --with-linux=/usr/src/linux-${_kernver} \
- --disable-java \
- --disable-docs \
- --disable-xpcom \
- --disable-python \
- --disable-sdl-ttf \
- --disable-alsa \
- --disable-pulse \
- --disable-dbus \
- --disable-opengl \
- --build-headless \
- --nofatal
- source ./env.sh
- kmk all
-
- make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
- make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+ # current kernel libre version
+ _kernver=$(expac -Q '%v' linux-libre-lts-headers)-LIBRE-LTS
+ # dkms need modification to be run as user
+ cp -r /var/lib/dkms .
+ echo "dkms_tree='$srcdir/dkms'" > dkms.conf
+ # build host modules
+ msg2 'Host modules'
+ dkms --dkmsframework dkms.conf build "vboxhost/$pkgver" -k "$_kernver"
+ # build guest modules
+ msg2 'Guest modules'
+ dkms --dkmsframework dkms.conf build "vboxguest/$pkgver" -k "$_kernver"
}
-package_virtualbox-libre-parabola-modules-lts(){
- pkgdesc="Additions only for Parabola guests (long-term supported kernel libre modules)"
- license=('GPL')
- install=virtualbox-libre-parabola-modules-lts.install
- depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
- replaces=('virtualbox-archlinux-modules-lts')
- conflicts=('virtualbox-archlinux-modules-lts')
- provides=("virtualbox-archlinux-modules-lts=$pkgver" 'virtualbox-archlinux-modules')
-
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
-
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
-
- for module in vboxguest.ko vboxsf.ko vboxvideo.ko; do
- install -D -m644 ${module} \
- "$pkgdir/usr/lib/modules/${_extramodules}/${module}"
- done
-
- install -D -m 0644 "$srcdir/60-vboxguest.rules" \
- "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
-
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
+package_virtualbox-libre-host-modules-lts(){
+ pkgdesc='Host kernel libre modules for VirtualBox'
+ depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
+ replaces=('virtualbox-host-modules-lts' 'virtualbox-modules-lts' 'virtualbox-libre-modules-lts')
+ conflicts=('virtualbox-host-modules-lts' 'virtualbox-modules-lts' 'virtualbox-libre-modules-lts')
+ provides=("virtualbox-host-modules-lts=$pkgver" "virtualbox-libre-host-modules=$pkgver")
+ install=virtualbox-libre-host-modules-lts.install
+
+ _kernver=$(expac -Q '%v' linux-libre-lts-headers)-LIBRE-LTS
+ #_extraver=extramodules-${_kernver%.*}-LIBRE-LTS
+ _extraver=extramodules-3.0-LIBRE-LTS
+
+ install -dm755 "$pkgdir/usr/lib/modules/$_extraver"
+ cd "dkms/vboxhost/$pkgver/$_kernver/$CARCH/module"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extraver"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+ sed -ie "s/EXTRAMODULES='.*'/EXTRAMODULES='$_extraver'/" "$startdir/virtualbox-libre-host-modules-lts.install"
}
-package_virtualbox-libre-modules-lts(){
- pkgdesc="Long-term supported kernel libre modules for VirtualBox"
- license=('GPL')
- install=virtualbox-libre-modules-lts.install
- depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
- replaces=('virtualbox-modules-lts')
- conflicts=('virtualbox-modules-lts')
- provides=("virtualbox-modules-lts=$pkgver" 'virtualbox-modules')
-
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
-
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
-
- install -D -m644 vboxdrv.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxdrv.ko"
-
- install -D -m644 vboxnetadp.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxnetadp.ko"
-
- install -D -m644 vboxnetflt.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxnetflt.ko"
-
- install -D -m644 vboxpci.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxpci.ko"
-
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} +
+package_virtualbox-libre-guest-modules-lts(){
+ pkgdesc='Guest kernel libre modules for VirtualBox'
+ license=('GPL')
+ depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1')
+ replaces=('virtualbox-guest-modules-lts' 'virtualbox-archlinux-modules-lts' 'virtualbox-libre-parabola-modules-lts')
+ conflicts=('virtualbox-guest-modules-lts' 'virtualbox-archlinux-modules-lts' 'virtualbox-libre-parabola-modules-lts')
+ provides=("virtualbox-guest-modules-lts=$pkgver" "virtualbox-libre-host-modules=$pkgver")
+ install=virtualbox-libre-guest-modules-lts.install
+
+ _kernver=$(expac -Q '%v' linux-libre-lts-headers)-LIBRE-LTS
+ #_extraver=extramodules-${_kernver%.*}-LIBRE-LTS
+ _extraver=extramodules-3.0-LIBRE-LTS
+
+ install -dm755 "$pkgdir/usr/lib/modules/$_extraver"
+ cd "dkms/vboxguest/$pkgver/$_kernver/$CARCH/module"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extraver"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+ sed -ie "s/EXTRAMODULES='.*'/EXTRAMODULES='$_extraver'/" "$startdir/virtualbox-libre-guest-modules-lts.install"
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/virtualbox-libre-modules-lts/build.sh b/libre/virtualbox-libre-modules-lts/build.sh
new file mode 100755
index 000000000..87aefbff0
--- /dev/null
+++ b/libre/virtualbox-libre-modules-lts/build.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+if (( $# != 1 )); then
+ echo "usage: $0 extra"
+ echo " $0 testing"
+ exit 1
+fi
+
+$1-i686-build
+linux32 makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-host-source-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+linux32 makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-guest-source-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+linux32 makechrootpkg -r /var/lib/archbuild/$1-i686
+
+$1-x86_64-build
+makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-host-source-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-guest-source-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+makechrootpkg -r /var/lib/archbuild/$1-x86_64
+
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/virtualbox-libre-modules-lts/free-distros.patch b/libre/virtualbox-libre-modules-lts/free-distros.patch
deleted file mode 100644
index 47857e05d..000000000
--- a/libre/virtualbox-libre-modules-lts/free-distros.patch
+++ /dev/null
@@ -1,1383 +0,0 @@
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp 2012-07-25 14:51:03.569003667 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp 2012-07-25 14:51:03.652333615 -0300
-@@ -44,94 +44,38 @@
- * first matching string found, will be used. */
- static const osTypePattern gs_OSTypePattern[] =
- {
-- { QRegExp("DOS", Qt::CaseInsensitive), "DOS" },
-
-- /* Windows */
-- { QRegExp("Wi.*98", Qt::CaseInsensitive), "Windows98" },
-- { QRegExp("Wi.*95", Qt::CaseInsensitive), "Windows95" },
-- { QRegExp("Wi.*Me", Qt::CaseInsensitive), "WindowsMe" },
-- { QRegExp("(Wi.*NT)|(NT4)", Qt::CaseInsensitive), "WindowsNT4" },
-- { QRegExp("((Wi.*XP)|(\\bXP\\b)).*64", Qt::CaseInsensitive), "WindowsXP_64" },
-- { QRegExp("(Wi.*XP)|(\\bXP\\b)", Qt::CaseInsensitive), "WindowsXP" },
-- { QRegExp("((Wi.*2003)|(W2K3)).*64", Qt::CaseInsensitive), "Windows2003_64" },
-- { QRegExp("(Wi.*2003)|(W2K3)", Qt::CaseInsensitive), "Windows2003" },
-- { QRegExp("((Wi.*V)|(Vista)).*64", Qt::CaseInsensitive), "WindowsVista_64" },
-- { QRegExp("(Wi.*V)|(Vista)", Qt::CaseInsensitive), "WindowsVista" },
-- { QRegExp("((Wi.*2008)|(W2K8)).*64", Qt::CaseInsensitive), "Windows2008_64" },
-- { QRegExp("(Wi.*2008)|(W2K8)", Qt::CaseInsensitive), "Windows2008" },
-- { QRegExp("(Wi.*2000)|(W2K)", Qt::CaseInsensitive), "Windows2000" },
-- { QRegExp("(Wi.*7.*64)|(W7.*64)", Qt::CaseInsensitive), "Windows7_64" },
-- { QRegExp("(Wi.*7)|(W7)", Qt::CaseInsensitive), "Windows7" },
-- { QRegExp("(Wi.*8.*64)|(W8.*64)", Qt::CaseInsensitive), "Windows8_64" },
-- { QRegExp("(Wi.*8)|(W8)", Qt::CaseInsensitive), "Windows8" },
-- { QRegExp("Wi.*3", Qt::CaseInsensitive), "Windows31" },
-- { QRegExp("Wi", Qt::CaseInsensitive), "WindowsXP" },
--
-- /* Solaris */
-- { QRegExp("((Op.*So)|(os20[01][0-9])|(So.*1[01])|(India)|(Neva)).*64", Qt::CaseInsensitive), "OpenSolaris_64" },
-- { QRegExp("(Op.*So)|(os20[01][0-9])|(So.*1[01])|(India)|(Neva)", Qt::CaseInsensitive), "OpenSolaris" },
-- { QRegExp("So.*64", Qt::CaseInsensitive), "Solaris_64" },
-- { QRegExp("So", Qt::CaseInsensitive), "Solaris" },
--
-- /* OS/2 */
-- { QRegExp("OS[/|!-]{,1}2.*W.*4.?5", Qt::CaseInsensitive), "OS2Warp45" },
-- { QRegExp("OS[/|!-]{,1}2.*W.*4", Qt::CaseInsensitive), "OS2Warp4" },
-- { QRegExp("OS[/|!-]{,1}2.*W", Qt::CaseInsensitive), "OS2Warp3" },
-- { QRegExp("(OS[/|!-]{,1}2.*e)|(eCS.*)", Qt::CaseInsensitive), "OS2eCS" },
-- { QRegExp("OS[/|!-]{,1}2", Qt::CaseInsensitive), "OS2" },
--
-- /* Code names for Linux distributions */
-- { QRegExp("((edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)).*64", Qt::CaseInsensitive), "Ubuntu_64" },
-- { QRegExp("(edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)", Qt::CaseInsensitive), "Ubuntu" },
-- { QRegExp("((sarge)|(etch)|(lenny)|(squeeze)|(wheezy)|(sid)).*64", Qt::CaseInsensitive), "Debian_64" },
-- { QRegExp("(sarge)|(etch)|(lenny)|(squeeze)|(wheezy)|(sid)", Qt::CaseInsensitive), "Debian" },
-- { QRegExp("((moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)).*64", Qt::CaseInsensitive), "Fedora_64" },
-- { QRegExp("(moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)", Qt::CaseInsensitive), "Fedora" },
--
-- /* Regular names of Linux distributions */
-- { QRegExp("Arc.*64", Qt::CaseInsensitive), "ArchLinux_64" },
-- { QRegExp("Arc", Qt::CaseInsensitive), "ArchLinux" },
-- { QRegExp("Deb.*64", Qt::CaseInsensitive), "Debian_64" },
-- { QRegExp("Deb", Qt::CaseInsensitive), "Debian" },
-- { QRegExp("((SU)|(Nov)|(SLE)).*64", Qt::CaseInsensitive), "OpenSUSE_64" },
-- { QRegExp("(SU)|(Nov)|(SLE)", Qt::CaseInsensitive), "OpenSUSE" },
-- { QRegExp("Fe.*64", Qt::CaseInsensitive), "Fedora_64" },
-- { QRegExp("Fe", Qt::CaseInsensitive), "Fedora" },
-- { QRegExp("((Gen)|(Sab)).*64", Qt::CaseInsensitive), "Gentoo_64" },
-- { QRegExp("(Gen)|(Sab)", Qt::CaseInsensitive), "Gentoo" },
-- { QRegExp("Man.*64", Qt::CaseInsensitive), "Mandriva_64" },
-- { QRegExp("Man", Qt::CaseInsensitive), "Mandriva" },
-- { QRegExp("((Red)|(rhel)|(cen)).*64", Qt::CaseInsensitive), "RedHat_64" },
-- { QRegExp("(Red)|(rhel)|(cen)", Qt::CaseInsensitive), "RedHat" },
-- { QRegExp("Tur.*64", Qt::CaseInsensitive), "Turbolinux_64" },
-- { QRegExp("Tur", Qt::CaseInsensitive), "Turbolinux" },
-- { QRegExp("Ub.*64", Qt::CaseInsensitive), "Ubuntu_64" },
-- { QRegExp("Ub", Qt::CaseInsensitive), "Ubuntu" },
-- { QRegExp("Xa.*64", Qt::CaseInsensitive), "Xandros_64" },
-- { QRegExp("Xa", Qt::CaseInsensitive), "Xandros" },
-- { QRegExp("((Or)|(oel)).*64", Qt::CaseInsensitive), "Oracle_64" },
-- { QRegExp("(Or)|(oel)", Qt::CaseInsensitive), "Oracle" },
-- { QRegExp("((Li)|(lnx)).*2.?2", Qt::CaseInsensitive), "Linux22" },
-- { QRegExp("((Li)|(lnx)).*2.?4.*64", Qt::CaseInsensitive), "Linux24_64" },
-- { QRegExp("((Li)|(lnx)).*2.?4", Qt::CaseInsensitive), "Linux24" },
-- { QRegExp("((((Li)|(lnx)).*2.?6)|(LFS)).*64", Qt::CaseInsensitive), "Linux26_64" },
-- { QRegExp("(((Li)|(lnx)).*2.?6)|(LFS)", Qt::CaseInsensitive), "Linux26" },
-- { QRegExp("((Li)|(lnx)).*64", Qt::CaseInsensitive), "Linux26_64" },
-- { QRegExp("(Li)|(lnx)", Qt::CaseInsensitive), "Linux26" },
-+ /* Code names for GNU/Linux distributions */
-+ { QRegExp("((Taranis)|(Dagda)|(Brigantia)).*64", Qt::CaseInsensitive), "Trisquel_64" },
-+ { QRegExp("(Taranis)|(Dagda)|(Brigantia)", Qt::CaseInsensitive), "Trisquel" },
-+ { QRegExp("((metad)|(parkes)|(three)).*64", Qt::CaseInsensitive), "gNewSense_64" },
-+ { QRegExp("(deltah)|(metad)|(parkes)|(three)", Qt::CaseInsensitive), "gNewSense" },
-+ { QRegExp("((90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)).*64", Qt::CaseInsensitive), "Blag_64" },
-+ { QRegExp("(90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)", Qt::CaseInsensitive), "Blag" },
-+
-+ /* Regular names of GNU/Linux distributions and GNU-Hurd */
-+ { QRegExp("Pa.*64", Qt::CaseInsensitive), "Parabola_64" },
-+ { QRegExp("Pa", Qt::CaseInsensitive), "Parabola" },
-+ { QRegExp("((gNe)|(new)|(Sen)).*64", Qt::CaseInsensitive), "gNewSense_64" },
-+ { QRegExp("(gNe)|(new)|(Sen)", Qt::CaseInsensitive), "gNewSense" },
-+ { QRegExp("Bla.*64", Qt::CaseInsensitive), "Blag_64" },
-+ { QRegExp("Bla", Qt::CaseInsensitive), "Blag" },
-+ { QRegExp("Dra.*64", Qt::CaseInsensitive), "Dragora_64" },
-+ { QRegExp("Dra", Qt::CaseInsensitive), "Dragora" },
-+ { QRegExp("((Utu)|(XS)).*64", Qt::CaseInsensitive), "Ututo_64" },
-+ { QRegExp("(Utu)|(XS)", Qt::CaseInsensitive), "Ututo" },
-+ { QRegExp("Mus.*64", Qt::CaseInsensitive), "Musix_64" },
-+ { QRegExp("Mus", Qt::CaseInsensitive), "Musix" },
-+ { QRegExp("Tri.*64", Qt::CaseInsensitive), "Trisquel_64" },
-+ { QRegExp("Tri", Qt::CaseInsensitive), "Trisquel" },
-+ { QRegExp("Dyn", Qt::CaseInsensitive), "Dynebolic" },
-+ { QRegExp("Ven", Qt::CaseInsensitive), "Venenux" },
-+ { QRegExp("GNU", Qt::CaseInsensitive), "GNU" },
-+ { QRegExp("Hu", Qt::CaseInsensitive), "GNUHurd" },
-+ { QRegExp("((Li)|(lnx)).*64", Qt::CaseInsensitive), "GNULinux_64" },
-+ { QRegExp("(Li)|(lnx)", Qt::CaseInsensitive), "GNULinux" },
-
- /* Other */
-- { QRegExp("L4", Qt::CaseInsensitive), "L4" },
-- { QRegExp("((Fr.*B)|(fbsd)).*64", Qt::CaseInsensitive), "FreeBSD_64" },
-- { QRegExp("(Fr.*B)|(fbsd)", Qt::CaseInsensitive), "FreeBSD" },
-- { QRegExp("Op.*B.*64", Qt::CaseInsensitive), "OpenBSD_64" },
-- { QRegExp("Op.*B", Qt::CaseInsensitive), "OpenBSD" },
-- { QRegExp("Ne.*B.*64", Qt::CaseInsensitive), "NetBSD_64" },
-- { QRegExp("Ne.*B", Qt::CaseInsensitive), "NetBSD" },
-- { QRegExp("QN", Qt::CaseInsensitive), "QNX" },
-- { QRegExp("((Mac)|(Tig)|(Leop)|(osx)).*64", Qt::CaseInsensitive), "MacOS_64" },
-- { QRegExp("(Mac)|(Tig)|(Leop)|(osx)", Qt::CaseInsensitive), "MacOS" },
-- { QRegExp("Net", Qt::CaseInsensitive), "Netware" },
-- { QRegExp("Rocki", Qt::CaseInsensitive), "JRockitVE" },
- { QRegExp("Ot", Qt::CaseInsensitive), "Other" },
- };
-
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/Settings.cpp 2012-07-25 15:14:50.498764160 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/Settings.cpp 2012-07-25 15:14:50.548761649 -0300
-@@ -3227,40 +3227,18 @@
- } aConvertOSTypes[] =
- {
- { "unknown", "Other" },
-- { "dos", "DOS" },
-- { "win31", "Windows31" },
-- { "win95", "Windows95" },
-- { "win98", "Windows98" },
-- { "winme", "WindowsMe" },
-- { "winnt4", "WindowsNT4" },
-- { "win2k", "Windows2000" },
-- { "winxp", "WindowsXP" },
-- { "win2k3", "Windows2003" },
-- { "winvista", "WindowsVista" },
-- { "win2k8", "Windows2008" },
-- { "os2warp3", "OS2Warp3" },
-- { "os2warp4", "OS2Warp4" },
-- { "os2warp45", "OS2Warp45" },
-- { "ecs", "OS2eCS" },
-- { "linux22", "Linux22" },
-- { "linux24", "Linux24" },
-- { "linux26", "Linux26" },
-- { "archlinux", "ArchLinux" },
-- { "debian", "Debian" },
-- { "opensuse", "OpenSUSE" },
-- { "fedoracore", "Fedora" },
-- { "gentoo", "Gentoo" },
-- { "mandriva", "Mandriva" },
-- { "redhat", "RedHat" },
-- { "ubuntu", "Ubuntu" },
-- { "xandros", "Xandros" },
-- { "freebsd", "FreeBSD" },
-- { "openbsd", "OpenBSD" },
-- { "netbsd", "NetBSD" },
-- { "netware", "Netware" },
-- { "solaris", "Solaris" },
-- { "opensolaris", "OpenSolaris" },
-- { "l4", "L4" }
-+ { "gnu", "GNU" },
-+ { "gnuhurd", "GNUHurd" },
-+ { "gnulinux", "GNULinux" },
-+ { "parabola", "Parabola" },
-+ { "gnewsense", "gNewSense" },
-+ { "blag", "Blag" },
-+ { "dragora", "Dragora" },
-+ { "ututo", "Ututo" },
-+ { "musix", "Musix" },
-+ { "trisquel", "Trisquel" },
-+ { "dynebolic", "Dynebolic" },
-+ { "venenux", "Venenux" },
- };
-
- void MachineConfigFile::convertOldOSType_pre1_5(Utf8Str &str)
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/SettingsConverter.xsl 2012-07-25 15:21:04.553581275 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/SettingsConverter.xsl 2012-07-25 15:21:04.593579427 -0300
-@@ -729,40 +729,18 @@
- <xsl:attribute name="OSType">
- <xsl:choose>
- <xsl:when test="@OSType='unknown'">Other</xsl:when>
-- <xsl:when test="@OSType='dos'">DOS</xsl:when>
-- <xsl:when test="@OSType='win31'">Windows31</xsl:when>
-- <xsl:when test="@OSType='win95'">Windows95</xsl:when>
-- <xsl:when test="@OSType='win98'">Windows98</xsl:when>
-- <xsl:when test="@OSType='winme'">WindowsMe</xsl:when>
-- <xsl:when test="@OSType='winnt4'">WindowsNT4</xsl:when>
-- <xsl:when test="@OSType='win2k'">Windows2000</xsl:when>
-- <xsl:when test="@OSType='winxp'">WindowsXP</xsl:when>
-- <xsl:when test="@OSType='win2k3'">Windows2003</xsl:when>
-- <xsl:when test="@OSType='winvista'">WindowsVista</xsl:when>
-- <xsl:when test="@OSType='win2k8'">Windows2008</xsl:when>
-- <xsl:when test="@OSType='os2warp3'">OS2Warp3</xsl:when>
-- <xsl:when test="@OSType='os2warp4'">OS2Warp4</xsl:when>
-- <xsl:when test="@OSType='os2warp45'">OS2Warp45</xsl:when>
-- <xsl:when test="@OSType='ecs'">OS2eCS</xsl:when>
-- <xsl:when test="@OSType='linux22'">Linux22</xsl:when>
-- <xsl:when test="@OSType='linux24'">Linux24</xsl:when>
-- <xsl:when test="@OSType='linux26'">Linux26</xsl:when>
-- <xsl:when test="@OSType='archlinux'">ArchLinux</xsl:when>
-- <xsl:when test="@OSType='debian'">Debian</xsl:when>
-- <xsl:when test="@OSType='opensuse'">OpenSUSE</xsl:when>
-- <xsl:when test="@OSType='fedoracore'">Fedora</xsl:when>
-- <xsl:when test="@OSType='gentoo'">Gentoo</xsl:when>
-- <xsl:when test="@OSType='mandriva'">Mandriva</xsl:when>
-- <xsl:when test="@OSType='redhat'">RedHat</xsl:when>
-- <xsl:when test="@OSType='ubuntu'">Ubuntu</xsl:when>
-- <xsl:when test="@OSType='xandros'">Xandros</xsl:when>
-- <xsl:when test="@OSType='freebsd'">FreeBSD</xsl:when>
-- <xsl:when test="@OSType='openbsd'">OpenBSD</xsl:when>
-- <xsl:when test="@OSType='netbsd'">NetBSD</xsl:when>
-- <xsl:when test="@OSType='netware'">Netware</xsl:when>
-- <xsl:when test="@OSType='solaris'">Solaris</xsl:when>
-- <xsl:when test="@OSType='opensolaris'">OpenSolaris</xsl:when>
-- <xsl:when test="@OSType='l4'">L4</xsl:when>
-+ <xsl:when test="@OSType='gnu'">GNU</xsl:when>
-+ <xsl:when test="@OSType='gnuhurd'">GNUHurd</xsl:when>
-+ <xsl:when test="@OSType='gnulinux'">GNULinux</xsl:when>
-+ <xsl:when test="@OSType='parabola'">Parabola</xsl:when>
-+ <xsl:when test="@OSType='gnewsense'">gNewSense</xsl:when>
-+ <xsl:when test="@OSType='blag'">Blag</xsl:when>
-+ <xsl:when test="@OSType='dragora'">Dragora</xsl:when>
-+ <xsl:when test="@OSType='ututo'">Ututo</xsl:when>
-+ <xsl:when test="@OSType='musix'">Musix</xsl:when>
-+ <xsl:when test="@OSType='trisquel'">Trisquel</xsl:when>
-+ <xsl:when test="@OSType='dynebolic'">Dynebolic</xsl:when>
-+ <xsl:when test="@OSType='venenux'">Venenux</xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:apply-templates select="@*[name()!='OSType']" mode="v1.5"/>
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/VirtualBox-settings-common.xsd 2012-07-25 15:04:37.856003691 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/VirtualBox-settings-common.xsd 2012-07-25 15:04:37.892668156 -0300
-@@ -137,75 +137,27 @@
- <xsd:simpleType name="TGuestOSType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="Other"/>
-- <xsd:enumeration value="DOS"/>
-- <xsd:enumeration value="Netware"/>
-- <xsd:enumeration value="L4"/>
-- <xsd:enumeration value="Windows31"/>
-- <xsd:enumeration value="Windows95"/>
-- <xsd:enumeration value="Windows98"/>
-- <xsd:enumeration value="WindowsMe"/>
-- <xsd:enumeration value="WindowsNT4"/>
-- <xsd:enumeration value="Windows2000"/>
-- <xsd:enumeration value="WindowsXP"/>
-- <xsd:enumeration value="WindowsXP_64"/>
-- <xsd:enumeration value="Windows2003"/>
-- <xsd:enumeration value="Windows2003_64"/>
-- <xsd:enumeration value="WindowsVista"/>
-- <xsd:enumeration value="WindowsVista_64"/>
-- <xsd:enumeration value="Windows2008"/>
-- <xsd:enumeration value="Windows2008_64"/>
-- <xsd:enumeration value="Windows7"/>
-- <xsd:enumeration value="Windows7_64"/>
-- <xsd:enumeration value="Windows8"/>
-- <xsd:enumeration value="Windows8_64"/>
-- <xsd:enumeration value="WindowsNT"/>
-- <xsd:enumeration value="OS2Warp3"/>
-- <xsd:enumeration value="OS2Warp4"/>
-- <xsd:enumeration value="OS2Warp45"/>
-- <xsd:enumeration value="OS2eCS"/>
-- <xsd:enumeration value="OS2"/>
-- <xsd:enumeration value="Linux22"/>
-- <xsd:enumeration value="Linux24"/>
-- <xsd:enumeration value="Linux24_64"/>
-- <xsd:enumeration value="Linux26"/>
-- <xsd:enumeration value="Linux26_64"/>
-- <xsd:enumeration value="ArchLinux"/>
-- <xsd:enumeration value="ArchLinux_64"/>
-- <xsd:enumeration value="Debian"/>
-- <xsd:enumeration value="Debian_64"/>
-- <xsd:enumeration value="OpenSUSE"/>
-- <xsd:enumeration value="OpenSUSE_64"/>
-- <xsd:enumeration value="Fedora"/>
-- <xsd:enumeration value="Fedora_64"/>
-- <xsd:enumeration value="Gentoo"/>
-- <xsd:enumeration value="Gentoo_64"/>
-- <xsd:enumeration value="Mandriva"/>
-- <xsd:enumeration value="Mandriva_64"/>
-- <xsd:enumeration value="RedHat"/>
-- <xsd:enumeration value="RedHat_64"/>
-- <xsd:enumeration value="Turbolinux"/>
-- <xsd:enumeration value="Turbolinux_64"/>
-- <xsd:enumeration value="Ubuntu"/>
-- <xsd:enumeration value="Ubuntu_64"/>
-- <xsd:enumeration value="Xandros"/>
-- <xsd:enumeration value="Xandros_64"/>
-- <xsd:enumeration value="Oracle"/>
-- <xsd:enumeration value="Oracle_64"/>
-- <xsd:enumeration value="Linux"/>
-- <xsd:enumeration value="FreeBSD"/>
-- <xsd:enumeration value="FreeBSD_64"/>
-- <xsd:enumeration value="OpenBSD"/>
-- <xsd:enumeration value="OpenBSD_64"/>
-- <xsd:enumeration value="NetBSD"/>
-- <xsd:enumeration value="NetBSD_64"/>
-- <xsd:enumeration value="Solaris"/>
-- <xsd:enumeration value="Solaris_64"/>
-- <xsd:enumeration value="OpenSolaris"/>
-- <xsd:enumeration value="OpenSolaris_64"/>
-- <xsd:enumeration value="QNX"/>
-- <xsd:enumeration value="MacOS"/>
-- <xsd:enumeration value="MacOS_64"/>
-- <xsd:enumeration value="JRockitVE"/>
-+ <xsd:enumeration value="GNU"/>
-+ <xsd:enumeration value="GNU_64"/>
-+ <xsd:enumeration value="GNUHurd"/>
-+ <xsd:enumeration value="GNULinux"/>
-+ <xsd:enumeration value="GNULinux_64"/>
-+ <xsd:enumeration value="Parabola"/>
-+ <xsd:enumeration value="Parabola_64"/>
-+ <xsd:enumeration value="gNewSense"/>
-+ <xsd:enumeration value="gNewSense_64"/>
-+ <xsd:enumeration value="Blag"/>
-+ <xsd:enumeration value="Blag_64"/>
-+ <xsd:enumeration value="Dragora"/>
-+ <xsd:enumeration value="Dragora_64"/>
-+ <xsd:enumeration value="Ututo"/>
-+ <xsd:enumeration value="Ututo_64"/>
-+ <xsd:enumeration value="Musix"/>
-+ <xsd:enumeration value="Musix_64"/>
-+ <xsd:enumeration value="Trisquel"/>
-+ <xsd:enumeration value="Trisquel_64"/>
-+ <xsd:enumeration value="Dynebolic"/>
-+ <xsd:enumeration value="Venenux"/>
- </xsd:restriction>
- </xsd:simpleType>
-
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-25 15:40:56.733096866 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-25 15:40:56.796426519 -0300
-@@ -1,75 +1,27 @@
- <!DOCTYPE RCC><RCC version="1.0">
- <qresource prefix="/">
-- <file alias="os_archlinux.png">images/os_archlinux.png</file>
-- <file alias="os_archlinux_64.png">images/os_archlinux_64.png</file>
-- <file alias="os_debian.png">images/os_debian.png</file>
-- <file alias="os_debian_64.png">images/os_debian_64.png</file>
-- <file alias="os_dos.png">images/os_dos.png</file>
-- <file alias="os_fedora.png">images/os_fedora.png</file>
-- <file alias="os_fedora_64.png">images/os_fedora_64.png</file>
-- <file alias="os_freebsd.png">images/os_freebsd.png</file>
-- <file alias="os_freebsd_64.png">images/os_freebsd_64.png</file>
-- <file alias="os_gentoo.png">images/os_gentoo.png</file>
-- <file alias="os_gentoo_64.png">images/os_gentoo_64.png</file>
-- <file alias="os_jrockitve.png">images/os_jrockitve.png</file>
-- <file alias="os_l4.png">images/os_l4.png</file>
-- <file alias="os_linux_other.png">images/os_linux_other.png</file>
-- <file alias="os_linux22.png">images/os_linux22.png</file>
-- <file alias="os_linux24.png">images/os_linux24.png</file>
-- <file alias="os_linux24_64.png">images/os_linux24_64.png</file>
-- <file alias="os_linux26.png">images/os_linux26.png</file>
-- <file alias="os_linux26_64.png">images/os_linux26_64.png</file>
-- <file alias="os_mandriva.png">images/os_mandriva.png</file>
-- <file alias="os_mandriva_64.png">images/os_mandriva_64.png</file>
-- <file alias="os_netbsd.png">images/os_netbsd.png</file>
-- <file alias="os_netbsd_64.png">images/os_netbsd_64.png</file>
-- <file alias="os_netware.png">images/os_netware.png</file>
-- <file alias="os_openbsd.png">images/os_openbsd.png</file>
-- <file alias="os_openbsd_64.png">images/os_openbsd_64.png</file>
-- <file alias="os_oraclesolaris.png">images/os_oraclesolaris.png</file>
-- <file alias="os_oraclesolaris_64.png">images/os_oraclesolaris_64.png</file>
-- <file alias="os_opensuse.png">images/os_opensuse.png</file>
-- <file alias="os_opensuse_64.png">images/os_opensuse_64.png</file>
-- <file alias="os_os2_other.png">images/os_os2_other.png</file>
-- <file alias="os_os2ecs.png">images/os_os2ecs.png</file>
-- <file alias="os_os2warp3.png">images/os_os2warp3.png</file>
-- <file alias="os_os2warp4.png">images/os_os2warp4.png</file>
-- <file alias="os_os2warp45.png">images/os_os2warp45.png</file>
-+ <file alias="os_parabola.png">images/os_parabola.png</file>
-+ <file alias="os_parabola_64.png">images/os_parabola_64.png</file>
-+ <file alias="os_gnewsense.png">images/os_gnewsense.png</file>
-+ <file alias="os_gnewsense_64.png">images/os_gnewsense_64.png</file>
-+ <file alias="os_blag.png">images/os_blag.png</file>
-+ <file alias="os_blag_64.png">images/os_blag_64.png</file>
-+ <file alias="os_ututo.png">images/os_ututo.png</file>
-+ <file alias="os_ututo_64.png">images/os_ututo_64.png</file>
-+ <file alias="os_gnu.png">images/os_gnu.png</file>
-+ <file alias="os_gnu_64.png">images/os_gnu_64.png</file>
-+ <file alias="os_gnuhurd.png">images/os_gnuhurd.png</file>
-+ <file alias="os_gnulinux.png">images/os_gnulinux.png</file>
-+ <file alias="os_gnulinux_64.png">images/os_gnulinux_64.png</file>
-+ <file alias="os_musix.png">images/os_musix.png</file>
-+ <file alias="os_musix_64.png">images/os_musix_64.png</file>
-+ <file alias="os_dragora.png">images/os_dragora.png</file>
-+ <file alias="os_dragora_64.png">images/os_dragora_64.png</file>
- <file alias="os_other.png">images/os_other.png</file>
-- <file alias="os_qnx.png">images/os_qnx.png</file>
-- <file alias="os_redhat.png">images/os_redhat.png</file>
-- <file alias="os_redhat_64.png">images/os_redhat_64.png</file>
-- <file alias="os_turbolinux.png">images/os_turbolinux.png</file>
-- <file alias="os_turbolinux_64.png">images/os_turbolinux_64.png</file>
-- <file alias="os_solaris.png">images/os_solaris.png</file>
-- <file alias="os_solaris_64.png">images/os_solaris_64.png</file>
-- <file alias="os_ubuntu.png">images/os_ubuntu.png</file>
-- <file alias="os_ubuntu_64.png">images/os_ubuntu_64.png</file>
-- <file alias="os_win_other.png">images/os_win_other.png</file>
-- <file alias="os_win2k.png">images/os_win2k.png</file>
-- <file alias="os_win2k3.png">images/os_win2k3.png</file>
-- <file alias="os_win2k3_64.png">images/os_win2k3_64.png</file>
-- <file alias="os_win2k8.png">images/os_win2k8.png</file>
-- <file alias="os_win2k8_64.png">images/os_win2k8_64.png</file>
-- <file alias="os_win31.png">images/os_win31.png</file>
-- <file alias="os_win7.png">images/os_win7.png</file>
-- <file alias="os_win7_64.png">images/os_win7_64.png</file>
-- <file alias="os_win8.png">images/os_win8.png</file>
-- <file alias="os_win8_64.png">images/os_win8_64.png</file>
-- <file alias="os_win95.png">images/os_win95.png</file>
-- <file alias="os_win98.png">images/os_win98.png</file>
-- <file alias="os_winme.png">images/os_winme.png</file>
-- <file alias="os_winnt4.png">images/os_winnt4.png</file>
-- <file alias="os_winvista.png">images/os_winvista.png</file>
-- <file alias="os_winvista_64.png">images/os_winvista_64.png</file>
-- <file alias="os_winxp.png">images/os_winxp.png</file>
-- <file alias="os_winxp_64.png">images/os_winxp_64.png</file>
-- <file alias="os_xandros.png">images/os_xandros.png</file>
-- <file alias="os_xandros_64.png">images/os_xandros_64.png</file>
-- <file alias="os_oracle.png">images/os_oracle.png</file>
-- <file alias="os_oracle_64.png">images/os_oracle_64.png</file>
-- <file alias="os_macosx.png">images/os_macosx.png</file>
-- <file alias="os_macosx_64.png">images/os_macosx_64.png</file>
-+ <file alias="os_dynebolic.png">images/os_dynebolic.png</file>
-+ <file alias="os_venenux.png">images/os_venenux.png</file>
-+ <file alias="os_trisquel.png">images/os_trisquel.png</file>
-+ <file alias="os_trisquel_64.png">images/os_trisquel_64.png</file>
- <file alias="hd_16px.png">images/hd_16px.png</file>
- <file alias="hd_disabled_16px.png">images/hd_disabled_16px.png</file>
- <file alias="hd_32px.png">images/hd_32px.png</file>
---- VirtualBox-4.1.20.orig/src/VBox/Main/src-all/Global.cpp 2012-08-20 11:36:24.000000000 -0300
-+++ VirtualBox-4.1.20/src/VBox/Main/src-all/Global.cpp 2012-08-21 14:22:29.148190849 -0300
-@@ -35,284 +35,90 @@
- VBOXOSTYPE_Unknown, VBOXOSHINT_NONE,
- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows31, "Windows 3.1",
-- VBOXOSTYPE_Win31, VBOXOSHINT_NONE,
-- 32, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows95, "Windows 95",
-- VBOXOSTYPE_Win95, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows98, "Windows 98",
-- VBOXOSTYPE_Win98, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsMe, "Windows Me",
-- VBOXOSTYPE_WinMe, VBOXOSHINT_NONE,
-- 64, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT4, "Windows NT 4",
-- VBOXOSTYPE_WinNT4, VBOXOSHINT_NONE,
-- 128, 16, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2000, "Windows 2000",
-- VBOXOSTYPE_Win2k, VBOXOSHINT_USBTABLET,
-- 168, 16, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP, "Windows XP",
-- VBOXOSTYPE_WinXP, VBOXOSHINT_USBTABLET,
-- 192, 16, 10 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP_64, "Windows XP (64 bit)",
-- VBOXOSTYPE_WinXP_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 192, 16, 10 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003, "Windows 2003",
-- VBOXOSTYPE_Win2k3, VBOXOSHINT_USBTABLET,
-- 256, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003_64, "Windows 2003 (64 bit)",
-- VBOXOSTYPE_Win2k3_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 256, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista, "Windows Vista",
-- VBOXOSTYPE_WinVista, VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista_64, "Windows Vista (64 bit)",
-- VBOXOSTYPE_WinVista_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008, "Windows 2008",
-- VBOXOSTYPE_Win2k8, VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008_64, "Windows 2008 (64 bit)",
-- VBOXOSTYPE_Win2k8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows7, "Windows 7",
-- VBOXOSTYPE_Win7, VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows7_64, "Windows 7 (64 bit)",
-- VBOXOSTYPE_Win7_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows8, "Windows 8",
-- VBOXOSTYPE_Win8, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_PAE,
-- 1024,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows8_64, "Windows 8 (64 bit)",
-- VBOXOSTYPE_Win8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 1536,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT, "Other Windows",
-- VBOXOSTYPE_WinNT, VBOXOSHINT_NONE,
-- 512, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux22, "Linux 2.2",
-- VBOXOSTYPE_Linux22, VBOXOSHINT_RTCUTC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux24, "Linux 2.4",
-- VBOXOSTYPE_Linux24, VBOXOSHINT_RTCUTC,
-- 128, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux24_64, "Linux 2.4 (64 bit)",
-- VBOXOSTYPE_Linux24_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 128, 4, 4 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU", "GNU", SchemaDefs_OSTypeId_GNU, "GNU",
-+ VBOXOSTYPE_GNU, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-+ { "GNU", "GNU", SchemaDefs_OSTypeId_GNU_64, "GNU (64 bit)",
-+ VBOXOSTYPE_GNU_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-+ { "GNU-Hurd", "GNU-Hurd", SchemaDefs_OSTypeId_GNUHurd, "GNU-Hurd",
-+ VBOXOSTYPE_GNUHurd, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux26, "Linux 2.6",
-- VBOXOSTYPE_Linux26, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_GNULinux, "GNU/Linux",
-+ VBOXOSTYPE_GNULinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux26_64, "Linux 2.6 (64 bit)",
-- VBOXOSTYPE_Linux26_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_GNULinux_64, "GNU/Linux (64 bit)",
-+ VBOXOSTYPE_GNULinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_ArchLinux, "Arch Linux",
-- VBOXOSTYPE_ArchLinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Parabola, "Parabola GNU/Linux-libre",
-+ VBOXOSTYPE_Parabola, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_ArchLinux_64, "Arch Linux (64 bit)",
-- VBOXOSTYPE_ArchLinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Parabola_64, "Parabola GNU/Linux-libre (64 bit)",
-+ VBOXOSTYPE_Parabola_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Debian, "Debian",
-- VBOXOSTYPE_Debian, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_gNewSense, "gNewSense",
-+ VBOXOSTYPE_gNewSense, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Debian_64, "Debian (64 bit)",
-- VBOXOSTYPE_Debian_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_gNewSense_64, "gNewSense (64 bit)",
-+ VBOXOSTYPE_gNewSense_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
-- { "Linux", "Linux", SchemaDefs_OSTypeId_OpenSUSE, "openSUSE",
-- VBOXOSTYPE_OpenSUSE, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_OpenSUSE_64, "openSUSE (64 bit)",
-- VBOXOSTYPE_OpenSUSE_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Fedora, "Fedora",
-- VBOXOSTYPE_FedoraCore, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Blag, "Blag Linux and GNU",
-+ VBOXOSTYPE_Blag, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Fedora_64, "Fedora (64 bit)",
-- VBOXOSTYPE_FedoraCore_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Blag_64, "Blag Linux and GNU (64 bit)",
-+ VBOXOSTYPE_Blag_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Gentoo, "Gentoo",
-- VBOXOSTYPE_Gentoo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dragora, "Dragora",
-+ VBOXOSTYPE_Dragora, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Gentoo_64, "Gentoo (64 bit)",
-- VBOXOSTYPE_Gentoo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dragora_64, "Dragora (64 bit)",
-+ VBOXOSTYPE_Dragora_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Mandriva, "Mandriva",
-- VBOXOSTYPE_Mandriva, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Mandriva_64, "Mandriva (64 bit)",
-- VBOXOSTYPE_Mandriva_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_RedHat, "Red Hat",
-- VBOXOSTYPE_RedHat, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Ututo, "Ututo XS",
-+ VBOXOSTYPE_Ututo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_RedHat_64, "Red Hat (64 bit)",
-- VBOXOSTYPE_RedHat_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Ututo_64, "Ututo XS (64 bit)",
-+ VBOXOSTYPE_Ututo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Turbolinux, "Turbolinux",
-- VBOXOSTYPE_Turbolinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Musix, "Musix",
-+ VBOXOSTYPE_Musix, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Turbolinux, "Turbolinux (64 bit)",
-- VBOXOSTYPE_Turbolinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Musix_64, "Musix (64 bit)",
-+ VBOXOSTYPE_Musix_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Ubuntu, "Ubuntu",
-- VBOXOSTYPE_Ubuntu, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET,
-+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Trisquel, "Trisquel",
-+ VBOXOSTYPE_Trisquel, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET,
- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Ubuntu_64, "Ubuntu (64 bit)",
-- VBOXOSTYPE_Ubuntu_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Trisquel_64, "Trisquel (64 bit)",
-+ VBOXOSTYPE_Trisquel_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Xandros, "Xandros",
-- VBOXOSTYPE_Xandros, VBOXOSHINT_RTCUTC,
-- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dynebolic, "Dyne:bolic",
-+ VBOXOSTYPE_Dynebolic, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Xandros_64, "Xandros (64 bit)",
-- VBOXOSTYPE_Xandros_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Venenux, "Venenux",
-+ VBOXOSTYPE_Venenux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Oracle, "Oracle",
-- VBOXOSTYPE_Oracle, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
-- 512, 12, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Oracle_64, "Oracle (64 bit)",
-- VBOXOSTYPE_Oracle_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 512, 12, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux, "Other Linux",
-- VBOXOSTYPE_Linux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 256, 12, 8 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_Solaris, "Oracle Solaris 10 5/09 and earlier",
-- VBOXOSTYPE_Solaris, VBOXOSHINT_NONE,
-- 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_Solaris_64, "Oracle Solaris 10 5/09 and earlier (64 bit)",
-- VBOXOSTYPE_Solaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_OpenSolaris, "Oracle Solaris 10 10/09 and later",
-- VBOXOSTYPE_OpenSolaris, VBOXOSHINT_USBTABLET,
-- 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_OpenSolaris_64, "Oracle Solaris 10 10/09 and later (64 bit)",
-- VBOXOSTYPE_OpenSolaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_FreeBSD, "FreeBSD",
-- VBOXOSTYPE_FreeBSD, VBOXOSHINT_NONE,
-- 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_FreeBSD_64, "FreeBSD (64 bit)",
-- VBOXOSTYPE_FreeBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_OpenBSD, "OpenBSD",
-- VBOXOSTYPE_OpenBSD, VBOXOSHINT_HWVIRTEX,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_OpenBSD_64, "OpenBSD (64 bit)",
-- VBOXOSTYPE_OpenBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_NetBSD, "NetBSD",
-- VBOXOSTYPE_NetBSD, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_NetBSD_64, "NetBSD (64 bit)",
-- VBOXOSTYPE_NetBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp3, "OS/2 Warp 3",
-- VBOXOSTYPE_OS2Warp3, VBOXOSHINT_HWVIRTEX,
-- 48, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp4, "OS/2 Warp 4",
-- VBOXOSTYPE_OS2Warp4, VBOXOSHINT_HWVIRTEX,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp45, "OS/2 Warp 4.5",
-- VBOXOSTYPE_OS2Warp45, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2eCS, "eComStation",
-- VBOXOSTYPE_ECS, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2, "Other OS/2",
-- VBOXOSTYPE_OS2, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS, "Mac OS X Server",
-- VBOXOSTYPE_MacOS, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
-- 1024, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
-- StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
-- ChipsetType_ICH9, AudioControllerType_HDA },
-- { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS_64, "Mac OS X Server (64 bit)",
-- VBOXOSTYPE_MacOS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
-- 1024, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
-- StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
-- ChipsetType_ICH9, AudioControllerType_HDA },
-- { "Other", "Other", SchemaDefs_OSTypeId_DOS, "DOS",
-- VBOXOSTYPE_DOS, VBOXOSHINT_NONE,
-- 32, 4, 500 * _1M, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
-- { "Other", "Other", SchemaDefs_OSTypeId_Netware, "Netware",
-- VBOXOSTYPE_Netware, VBOXOSHINT_HWVIRTEX,
-- 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_L4, "L4",
-- VBOXOSTYPE_L4, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_QNX, "QNX",
-- VBOXOSTYPE_QNX, VBOXOSHINT_HWVIRTEX,
-- 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_JRockitVE, "JRockitVE",
-- VBOXOSTYPE_JRockitVE, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_PAE,
-- 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97 },
- };
-
- /**
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp 2012-07-25 21:44:01.290876720 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp 2012-07-25 22:00:57.819380802 -0300
-@@ -4875,75 +4875,27 @@
- static const char *kOSTypeIcons [][2] =
- {
- {"Other", ":/os_other.png"},
-- {"DOS", ":/os_dos.png"},
-- {"Netware", ":/os_netware.png"},
-- {"L4", ":/os_l4.png"},
-- {"Windows31", ":/os_win31.png"},
-- {"Windows95", ":/os_win95.png"},
-- {"Windows98", ":/os_win98.png"},
-- {"WindowsMe", ":/os_winme.png"},
-- {"WindowsNT4", ":/os_winnt4.png"},
-- {"Windows2000", ":/os_win2k.png"},
-- {"WindowsXP", ":/os_winxp.png"},
-- {"WindowsXP_64", ":/os_winxp_64.png"},
-- {"Windows2003", ":/os_win2k3.png"},
-- {"Windows2003_64", ":/os_win2k3_64.png"},
-- {"WindowsVista", ":/os_winvista.png"},
-- {"WindowsVista_64", ":/os_winvista_64.png"},
-- {"Windows2008", ":/os_win2k8.png"},
-- {"Windows2008_64", ":/os_win2k8_64.png"},
-- {"Windows7", ":/os_win7.png"},
-- {"Windows7_64", ":/os_win7_64.png"},
-- {"Windows8", ":/os_win8.png"},
-- {"Windows8_64", ":/os_win8_64.png"},
-- {"WindowsNT", ":/os_win_other.png"},
-- {"OS2Warp3", ":/os_os2warp3.png"},
-- {"OS2Warp4", ":/os_os2warp4.png"},
-- {"OS2Warp45", ":/os_os2warp45.png"},
-- {"OS2eCS", ":/os_os2ecs.png"},
-- {"OS2", ":/os_os2_other.png"},
-- {"Linux22", ":/os_linux22.png"},
-- {"Linux24", ":/os_linux24.png"},
-- {"Linux24_64", ":/os_linux24_64.png"},
-- {"Linux26", ":/os_linux26.png"},
-- {"Linux26_64", ":/os_linux26_64.png"},
-- {"ArchLinux", ":/os_archlinux.png"},
-- {"ArchLinux_64", ":/os_archlinux_64.png"},
-- {"Debian", ":/os_debian.png"},
-- {"Debian_64", ":/os_debian_64.png"},
-- {"OpenSUSE", ":/os_opensuse.png"},
-- {"OpenSUSE_64", ":/os_opensuse_64.png"},
-- {"Fedora", ":/os_fedora.png"},
-- {"Fedora_64", ":/os_fedora_64.png"},
-- {"Gentoo", ":/os_gentoo.png"},
-- {"Gentoo_64", ":/os_gentoo_64.png"},
-- {"Mandriva", ":/os_mandriva.png"},
-- {"Mandriva_64", ":/os_mandriva_64.png"},
-- {"RedHat", ":/os_redhat.png"},
-- {"RedHat_64", ":/os_redhat_64.png"},
-- {"Turbolinux", ":/os_turbolinux.png"},
-- {"Turbolinux_64", ":/os_turbolinux_64.png"},
-- {"Ubuntu", ":/os_ubuntu.png"},
-- {"Ubuntu_64", ":/os_ubuntu_64.png"},
-- {"Xandros", ":/os_xandros.png"},
-- {"Xandros_64", ":/os_xandros_64.png"},
-- {"Oracle", ":/os_oracle.png"},
-- {"Oracle_64", ":/os_oracle_64.png"},
-- {"Linux", ":/os_linux_other.png"},
-- {"FreeBSD", ":/os_freebsd.png"},
-- {"FreeBSD_64", ":/os_freebsd_64.png"},
-- {"OpenBSD", ":/os_openbsd.png"},
-- {"OpenBSD_64", ":/os_openbsd_64.png"},
-- {"NetBSD", ":/os_netbsd.png"},
-- {"NetBSD_64", ":/os_netbsd_64.png"},
-- {"Solaris", ":/os_solaris.png"},
-- {"Solaris_64", ":/os_solaris_64.png"},
-- {"OpenSolaris", ":/os_oraclesolaris.png"},
-- {"OpenSolaris_64", ":/os_oraclesolaris_64.png"},
-- {"QNX", ":/os_qnx.png"},
-- {"MacOS", ":/os_macosx.png"},
-- {"MacOS_64", ":/os_macosx_64.png"},
-- {"JRockitVE", ":/os_jrockitve.png"},
-+ {"GNU", ":/os_gnu.png"},
-+ {"GNU_64", ":/os_gnu_64.png"},
-+ {"GNUHurd", ":/os_gnuhurd.png"},
-+ {"GNULinux", ":/os_gnulinux.png"},
-+ {"GNULinux_64", ":/os_gnulinux_64.png"},
-+ {"Parabola", ":/os_parabola.png"},
-+ {"Parabola_64", ":/os_parabola_64.png"},
-+ {"gNewSense", ":/os_gnewsense.png"},
-+ {"gNewSense_64", ":/os_gnewsense_64.png"},
-+ {"Blag", ":/os_blag.png"},
-+ {"Blag_64", ":/os_blag_64.png"},
-+ {"Dragora", ":/os_dragora.png"},
-+ {"Dragora_64", ":/os_dragora_64.png"},
-+ {"Ututo", ":/os_ututo.png"},
-+ {"Ututo_64", ":/os_ututo_64.png"},
-+ {"Musix", ":/os_musix.png"},
-+ {"Musix_64", ":/os_musix_64.png"},
-+ {"Trisquel", ":/os_trisquel.png"},
-+ {"Trisquel_64", ":/os_trisquel_64.png"},
-+ {"Dynebolic", ":/os_dynebolic.png"},
-+ {"Venenux", ":/os_venenux.png"},
- };
- for (uint n = 0; n < SIZEOF_ARRAY (kOSTypeIcons); ++ n)
- {
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorWidget.cpp.orig 2012-06-20 10:16:38.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorWidget.cpp 2012-07-25 22:07:51.232436783 -0300
-@@ -192,17 +192,10 @@
- if (typeIndex != -1)
- mCbType->setCurrentIndex (typeIndex);
- }
-- /* Or select WinXP item for Windows family as default */
-- else if (familyId == "Windows")
-+ /* Or select Parabola GNU/Linux-libre item for GNU/Linux family as default */
-+ else if (familyId == "GNU/Linux")
- {
-- int xpIndex = mCbType->findData ("WindowsXP", RoleTypeID);
-- if (xpIndex != -1)
-- mCbType->setCurrentIndex (xpIndex);
-- }
-- /* Or select Ubuntu item for Linux family as default */
-- else if (familyId == "Linux")
-- {
-- int ubIndex = mCbType->findData ("Ubuntu", RoleTypeID);
-+ int ubIndex = mCbType->findData ("Parabola", RoleTypeID);
- if (ubIndex != -1)
- mCbType->setCurrentIndex (ubIndex);
- }
---- VirtualBox-4.1.18.orig/include/VBox/ostypes.h 2012-06-20 10:07:51.000000000 -0300
-+++ VirtualBox-4.1.18/include/VBox/ostypes.h 2012-07-25 23:20:57.322757456 -0300
-@@ -43,77 +43,27 @@
- typedef enum VBOXOSTYPE
- {
- VBOXOSTYPE_Unknown = 0,
-- VBOXOSTYPE_DOS = 0x10000,
-- VBOXOSTYPE_Win31 = 0x15000,
-- VBOXOSTYPE_Win9x = 0x20000,
-- VBOXOSTYPE_Win95 = 0x21000,
-- VBOXOSTYPE_Win98 = 0x22000,
-- VBOXOSTYPE_WinMe = 0x23000,
-- VBOXOSTYPE_WinNT = 0x30000,
-- VBOXOSTYPE_WinNT4 = 0x31000,
-- VBOXOSTYPE_Win2k = 0x32000,
-- VBOXOSTYPE_WinXP = 0x33000,
-- VBOXOSTYPE_WinXP_x64 = 0x33100,
-- VBOXOSTYPE_Win2k3 = 0x34000,
-- VBOXOSTYPE_Win2k3_x64 = 0x34100,
-- VBOXOSTYPE_WinVista = 0x35000,
-- VBOXOSTYPE_WinVista_x64 = 0x35100,
-- VBOXOSTYPE_Win2k8 = 0x36000,
-- VBOXOSTYPE_Win2k8_x64 = 0x36100,
-- VBOXOSTYPE_Win7 = 0x37000,
-- VBOXOSTYPE_Win7_x64 = 0x37100,
-- VBOXOSTYPE_Win8 = 0x38000,
-- VBOXOSTYPE_Win8_x64 = 0x38100,
-- VBOXOSTYPE_OS2 = 0x40000,
-- VBOXOSTYPE_OS2Warp3 = 0x41000,
-- VBOXOSTYPE_OS2Warp4 = 0x42000,
-- VBOXOSTYPE_OS2Warp45 = 0x43000,
-- VBOXOSTYPE_ECS = 0x44000,
-- VBOXOSTYPE_Linux = 0x50000,
-- VBOXOSTYPE_Linux_x64 = 0x50100,
-- VBOXOSTYPE_Linux22 = 0x51000,
-- VBOXOSTYPE_Linux24 = 0x52000,
-- VBOXOSTYPE_Linux24_x64 = 0x52100,
-- VBOXOSTYPE_Linux26 = 0x53000,
-- VBOXOSTYPE_Linux26_x64 = 0x53100,
-- VBOXOSTYPE_ArchLinux = 0x54000,
-- VBOXOSTYPE_ArchLinux_x64 = 0x54100,
-- VBOXOSTYPE_Debian = 0x55000,
-- VBOXOSTYPE_Debian_x64 = 0x55100,
-- VBOXOSTYPE_OpenSUSE = 0x56000,
-- VBOXOSTYPE_OpenSUSE_x64 = 0x56100,
-- VBOXOSTYPE_FedoraCore = 0x57000,
-- VBOXOSTYPE_FedoraCore_x64 = 0x57100,
-- VBOXOSTYPE_Gentoo = 0x58000,
-- VBOXOSTYPE_Gentoo_x64 = 0x58100,
-- VBOXOSTYPE_Mandriva = 0x59000,
-- VBOXOSTYPE_Mandriva_x64 = 0x59100,
-- VBOXOSTYPE_RedHat = 0x5A000,
-- VBOXOSTYPE_RedHat_x64 = 0x5A100,
-- VBOXOSTYPE_Turbolinux = 0x5B000,
-- VBOXOSTYPE_Turbolinux_x64 = 0x5B100,
-- VBOXOSTYPE_Ubuntu = 0x5C000,
-- VBOXOSTYPE_Ubuntu_x64 = 0x5C100,
-- VBOXOSTYPE_Xandros = 0x5D000,
-- VBOXOSTYPE_Xandros_x64 = 0x5D100,
-- VBOXOSTYPE_Oracle = 0x5E000,
-- VBOXOSTYPE_Oracle_x64 = 0x5E100,
-- VBOXOSTYPE_FreeBSD = 0x60000,
-- VBOXOSTYPE_FreeBSD_x64 = 0x60100,
-- VBOXOSTYPE_OpenBSD = 0x61000,
-- VBOXOSTYPE_OpenBSD_x64 = 0x61100,
-- VBOXOSTYPE_NetBSD = 0x62000,
-- VBOXOSTYPE_NetBSD_x64 = 0x62100,
-- VBOXOSTYPE_Netware = 0x70000,
-- VBOXOSTYPE_Solaris = 0x80000,
-- VBOXOSTYPE_Solaris_x64 = 0x80100,
-- VBOXOSTYPE_OpenSolaris = 0x81000,
-- VBOXOSTYPE_OpenSolaris_x64 = 0x81100,
-- VBOXOSTYPE_L4 = 0x90000,
-- VBOXOSTYPE_QNX = 0xA0000,
-- VBOXOSTYPE_MacOS = 0xB0000,
-- VBOXOSTYPE_MacOS_x64 = 0xB0100,
-- VBOXOSTYPE_JRockitVE = 0xC0000,
-+ VBOXOSTYPE_GNU = 0x10000,
-+ VBOXOSTYPE_GNU_x64 = 0x10100,
-+ VBOXOSTYPE_GNUHurd = 0x20000,
-+ VBOXOSTYPE_GNULinux = 0x30000,
-+ VBOXOSTYPE_GNULinux_x64 = 0x30100,
-+ VBOXOSTYPE_Parabola = 0x31000,
-+ VBOXOSTYPE_Parabola_x64 = 0x31100,
-+ VBOXOSTYPE_gNewSense = 0x32000,
-+ VBOXOSTYPE_gNewSense_x64 = 0x32100,
-+ VBOXOSTYPE_Blag = 0x33000,
-+ VBOXOSTYPE_Blag_x64 = 0x33100,
-+ VBOXOSTYPE_Dragora = 0x34000,
-+ VBOXOSTYPE_Dragora_x64 = 0x34100,
-+ VBOXOSTYPE_Ututo = 0x35000,
-+ VBOXOSTYPE_Ututo_x64 = 0x35100,
-+ VBOXOSTYPE_Musix = 0x36000,
-+ VBOXOSTYPE_Musix_x64 = 0x36100,
-+ VBOXOSTYPE_Trisquel = 0x37000,
-+ VBOXOSTYPE_Trisquel_x64 = 0x37100,
-+ VBOXOSTYPE_Dynebolic = 0x38000,
-+ VBOXOSTYPE_Venenux = 0x39000,
- /** The bit number which indicates 64-bit or 32-bit. */
- #define VBOXOSTYPE_x64_BIT 8
- /** The mask which indicates 64-bit. */
-@@ -129,16 +79,11 @@
- typedef enum VBOXOSFAMILY
- {
- VBOXOSFAMILY_Unknown = 0,
-- VBOXOSFAMILY_Windows32 = 1,
-- VBOXOSFAMILY_Windows64 = 2,
-- VBOXOSFAMILY_Linux32 = 3,
-- VBOXOSFAMILY_Linux64 = 4,
-- VBOXOSFAMILY_FreeBSD32 = 5,
-- VBOXOSFAMILY_FreeBSD64 = 6,
-- VBOXOSFAMILY_Solaris32 = 7,
-- VBOXOSFAMILY_Solaris64 = 8,
-- VBOXOSFAMILY_MacOSX32 = 9,
-- VBOXOSFAMILY_MacOSX64 = 10,
-+ VBOXOSFAMILY_GNU32 = 1,
-+ VBOXOSFAMILY_GNU64 = 2,
-+ VBOXOSFAMILY_GNUHurd = 3,
-+ VBOXOSFAMILY_GNULinux32 = 4,
-+ VBOXOSFAMILY_GNULinux64 = 5,
- /** The usual 32-bit hack. */
- VBOXOSFAMILY_32BIT_HACK = 0x7fffffff
- } VBOXOSFAMILY;
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-server/ApplianceImpl.cpp 2012-06-20 10:17:35.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/src-server/ApplianceImpl.cpp 2012-07-26 01:28:50.033551279 -0300
-@@ -49,94 +49,33 @@
- g_osTypes[] =
- {
- { ovf::CIMOSType_CIMOS_Unknown, SchemaDefs_OSTypeId_Other },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp3 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp4 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp45 },
-- { ovf::CIMOSType_CIMOS_MSDOS, SchemaDefs_OSTypeId_DOS },
-- { ovf::CIMOSType_CIMOS_WIN3x, SchemaDefs_OSTypeId_Windows31 },
-- { ovf::CIMOSType_CIMOS_WIN95, SchemaDefs_OSTypeId_Windows95 },
-- { ovf::CIMOSType_CIMOS_WIN98, SchemaDefs_OSTypeId_Windows98 },
-- { ovf::CIMOSType_CIMOS_WINNT, SchemaDefs_OSTypeId_WindowsNT },
-- { ovf::CIMOSType_CIMOS_WINNT, SchemaDefs_OSTypeId_WindowsNT4 },
-- { ovf::CIMOSType_CIMOS_NetWare, SchemaDefs_OSTypeId_Netware },
-- { ovf::CIMOSType_CIMOS_NovellOES, SchemaDefs_OSTypeId_Netware },
-- { ovf::CIMOSType_CIMOS_Solaris, SchemaDefs_OSTypeId_Solaris },
-- { ovf::CIMOSType_CIMOS_SunOS, SchemaDefs_OSTypeId_Solaris },
-- { ovf::CIMOSType_CIMOS_FreeBSD, SchemaDefs_OSTypeId_FreeBSD },
-- { ovf::CIMOSType_CIMOS_NetBSD, SchemaDefs_OSTypeId_NetBSD },
-- { ovf::CIMOSType_CIMOS_QNX, SchemaDefs_OSTypeId_QNX },
-- { ovf::CIMOSType_CIMOS_Windows2000, SchemaDefs_OSTypeId_Windows2000 },
-- { ovf::CIMOSType_CIMOS_WindowsMe, SchemaDefs_OSTypeId_WindowsMe },
-- { ovf::CIMOSType_CIMOS_OpenBSD, SchemaDefs_OSTypeId_OpenBSD },
-- { ovf::CIMOSType_CIMOS_WindowsXP, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_WindowsXPEmbedded, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_WindowsEmbeddedforPointofService, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2003, SchemaDefs_OSTypeId_Windows2003 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2003_64, SchemaDefs_OSTypeId_Windows2003_64 },
-- { ovf::CIMOSType_CIMOS_WindowsXP_64, SchemaDefs_OSTypeId_WindowsXP_64 },
-- { ovf::CIMOSType_CIMOS_WindowsVista, SchemaDefs_OSTypeId_WindowsVista },
-- { ovf::CIMOSType_CIMOS_WindowsVista_64, SchemaDefs_OSTypeId_WindowsVista_64 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2008, SchemaDefs_OSTypeId_Windows2008 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2008_64, SchemaDefs_OSTypeId_Windows2008_64 },
-- { ovf::CIMOSType_CIMOS_FreeBSD_64, SchemaDefs_OSTypeId_FreeBSD_64 },
-- { ovf::CIMOSType_CIMOS_MACOS, SchemaDefs_OSTypeId_MacOS },
-- { ovf::CIMOSType_CIMOS_MACOS, SchemaDefs_OSTypeId_MacOS_64 }, // there is no CIM 64-bit type for this
--
-- // Linuxes
-- { ovf::CIMOSType_CIMOS_RedHatEnterpriseLinux, SchemaDefs_OSTypeId_RedHat },
-- { ovf::CIMOSType_CIMOS_RedHatEnterpriseLinux_64, SchemaDefs_OSTypeId_RedHat_64 },
-- { ovf::CIMOSType_CIMOS_Solaris_64, SchemaDefs_OSTypeId_Solaris_64 },
-- { ovf::CIMOSType_CIMOS_SUSE, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_SLES, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_NovellLinuxDesktop, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_SUSE_64, SchemaDefs_OSTypeId_OpenSUSE_64 },
-- { ovf::CIMOSType_CIMOS_SLES_64, SchemaDefs_OSTypeId_OpenSUSE_64 },
-- { ovf::CIMOSType_CIMOS_LINUX, SchemaDefs_OSTypeId_Linux },
-- { ovf::CIMOSType_CIMOS_LINUX, SchemaDefs_OSTypeId_Linux22 },
-- { ovf::CIMOSType_CIMOS_SunJavaDesktopSystem, SchemaDefs_OSTypeId_Linux },
-- { ovf::CIMOSType_CIMOS_TurboLinux, SchemaDefs_OSTypeId_Turbolinux },
-- { ovf::CIMOSType_CIMOS_TurboLinux_64, SchemaDefs_OSTypeId_Turbolinux_64 },
-- { ovf::CIMOSType_CIMOS_Mandriva, SchemaDefs_OSTypeId_Mandriva },
-- { ovf::CIMOSType_CIMOS_Mandriva_64, SchemaDefs_OSTypeId_Mandriva_64 },
-- { ovf::CIMOSType_CIMOS_Ubuntu, SchemaDefs_OSTypeId_Ubuntu },
-- { ovf::CIMOSType_CIMOS_Ubuntu_64, SchemaDefs_OSTypeId_Ubuntu_64 },
-- { ovf::CIMOSType_CIMOS_Debian, SchemaDefs_OSTypeId_Debian },
-- { ovf::CIMOSType_CIMOS_Debian_64, SchemaDefs_OSTypeId_Debian_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_4_x, SchemaDefs_OSTypeId_Linux24 },
-- { ovf::CIMOSType_CIMOS_Linux_2_4_x_64, SchemaDefs_OSTypeId_Linux24_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Linux26 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Linux26_64 },
-- { ovf::CIMOSType_CIMOS_Linux_64, SchemaDefs_OSTypeId_Linux26_64 },
--
-- // types that we have support for but CIM doesn't
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_ArchLinux },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_ArchLinux_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Fedora },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Fedora_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Gentoo },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Gentoo_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Xandros },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Xandros_64 },
-- { ovf::CIMOSType_CIMOS_Solaris, SchemaDefs_OSTypeId_OpenSolaris },
-- { ovf::CIMOSType_CIMOS_Solaris_64, SchemaDefs_OSTypeId_OpenSolaris_64 },
--
-- // types added with CIM 2.25.0 follow:
-- { ovf::CIMOSType_CIMOS_WindowsServer2008R2, SchemaDefs_OSTypeId_Windows2008 }, // duplicate, see above
--// { ovf::CIMOSType_CIMOS_VMwareESXi = 104, // we can't run ESX in a VM
-- { ovf::CIMOSType_CIMOS_Windows7, SchemaDefs_OSTypeId_Windows7 },
-- { ovf::CIMOSType_CIMOS_Windows7, SchemaDefs_OSTypeId_Windows7_64 }, // there is no CIM 64-bit type for this
-- { ovf::CIMOSType_CIMOS_CentOS, SchemaDefs_OSTypeId_RedHat },
-- { ovf::CIMOSType_CIMOS_CentOS_64, SchemaDefs_OSTypeId_RedHat_64 },
-- { ovf::CIMOSType_CIMOS_OracleEnterpriseLinux, SchemaDefs_OSTypeId_Oracle },
-- { ovf::CIMOSType_CIMOS_OracleEnterpriseLinux_64, SchemaDefs_OSTypeId_Oracle_64 },
-- { ovf::CIMOSType_CIMOS_eComStation, SchemaDefs_OSTypeId_OS2eCS }
--
-- // there are no CIM types for these, so these turn to "other" on export:
-- // SchemaDefs_OSTypeId_OpenBSD
-- // SchemaDefs_OSTypeId_OpenBSD_64
-- // SchemaDefs_OSTypeId_NetBSD
-- // SchemaDefs_OSTypeId_NetBSD_64
-+
-+ // Custom OS
-+ { ovf::CIMOSType_CIMOS_GNU, SchemaDefs_OSTypeId_GNU },
-+ { ovf::CIMOSType_CIMOS_GNU_64, SchemaDefs_OSTypeId_GNU_64 },
-+ { ovf::CIMOSType_CIMOS_GNUHurd, SchemaDefs_OSTypeId_GNUHurd },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_GNULinux },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_GNULinux_64 },
-+
-+ // GNU/Linux free distros
-+ { ovf::CIMOSType_CIMOS_gNewSense, SchemaDefs_OSTypeId_gNewSense },
-+ { ovf::CIMOSType_CIMOS_gNewSense_64, SchemaDefs_OSTypeId_gNewSense_64 },
-+ { ovf::CIMOSType_CIMOS_Dragora, SchemaDefs_OSTypeId_Dragora },
-+ { ovf::CIMOSType_CIMOS_Dragora_64, SchemaDefs_OSTypeId_Dragora_64 },
-+ { ovf::CIMOSType_CIMOS_Musix, SchemaDefs_OSTypeId_Musix },
-+ { ovf::CIMOSType_CIMOS_Musix_64, SchemaDefs_OSTypeId_Musix_64 },
-+ { ovf::CIMOSType_CIMOS_Trisquel, SchemaDefs_OSTypeId_Trisquel },
-+ { ovf::CIMOSType_CIMOS_Trisquel_64, SchemaDefs_OSTypeId_Trisquel_64 },
-+ { ovf::CIMOSType_CIMOS_Dynebolic, SchemaDefs_OSTypeId_Dynebolic },
-+ { ovf::CIMOSType_CIMOS_Venenux, SchemaDefs_OSTypeId_Venenux },
-+
-+ // GNU/Linux free distros that we have support for but CIM doesn't
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Parabola },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Parabola_64 },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Blag },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Blag_64 },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Ututo },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Ututo_64 },
-
- };
-
-@@ -150,53 +89,34 @@
- /* These are the 32-Bit ones. They are sorted by priority. */
- static const osTypePattern g_osTypesPattern[] =
- {
-- {"Windows NT", SchemaDefs_OSTypeId_WindowsNT4},
-- {"Windows XP", SchemaDefs_OSTypeId_WindowsXP},
-- {"Windows 2000", SchemaDefs_OSTypeId_Windows2000},
-- {"Windows 2003", SchemaDefs_OSTypeId_Windows2003},
-- {"Windows Vista", SchemaDefs_OSTypeId_WindowsVista},
-- {"Windows 2008", SchemaDefs_OSTypeId_Windows2008},
-- {"SUSE", SchemaDefs_OSTypeId_OpenSUSE},
-- {"Novell", SchemaDefs_OSTypeId_OpenSUSE},
-- {"Red Hat", SchemaDefs_OSTypeId_RedHat},
-- {"Mandriva", SchemaDefs_OSTypeId_Mandriva},
-- {"Ubuntu", SchemaDefs_OSTypeId_Ubuntu},
-- {"Debian", SchemaDefs_OSTypeId_Debian},
-- {"QNX", SchemaDefs_OSTypeId_QNX},
-- {"Linux 2.4", SchemaDefs_OSTypeId_Linux24},
-- {"Linux 2.6", SchemaDefs_OSTypeId_Linux26},
-- {"Linux", SchemaDefs_OSTypeId_Linux},
-- {"OpenSolaris", SchemaDefs_OSTypeId_OpenSolaris},
-- {"Solaris", SchemaDefs_OSTypeId_OpenSolaris},
-- {"FreeBSD", SchemaDefs_OSTypeId_FreeBSD},
-- {"NetBSD", SchemaDefs_OSTypeId_NetBSD},
-- {"Windows 95", SchemaDefs_OSTypeId_Windows95},
-- {"Windows 98", SchemaDefs_OSTypeId_Windows98},
-- {"Windows Me", SchemaDefs_OSTypeId_WindowsMe},
-- {"Windows 3.", SchemaDefs_OSTypeId_Windows31},
-- {"DOS", SchemaDefs_OSTypeId_DOS},
-- {"OS2", SchemaDefs_OSTypeId_OS2}
-+
-+ {"Parabola GNU/Linux-libre", SchemaDefs_OSTypeId_Parabola},
-+ {"gNewSense", SchemaDefs_OSTypeId_gNewSense},
-+ {"Blag Linux and GNU", SchemaDefs_OSTypeId_Blag},
-+ {"Dragora", SchemaDefs_OSTypeId_Dragora},
-+ {"Ututo XS", SchemaDefs_OSTypeId_Ututo},
-+ {"Musix", SchemaDefs_OSTypeId_Musix},
-+ {"Trisquel", SchemaDefs_OSTypeId_Trisquel},
-+ {"Dyne:bolic", SchemaDefs_OSTypeId_Dynebolic},
-+ {"Venenux", SchemaDefs_OSTypeId_Venenux},
-+ {"GNU", SchemaDefs_OSTypeId_GNU},
-+ {"GNU-Hurd", SchemaDefs_OSTypeId_GNUHurd},
-+ {"GNU/Linux", SchemaDefs_OSTypeId_GNULinux},
-+
- };
-
- /* These are the 64-Bit ones. They are sorted by priority. */
- static const osTypePattern g_osTypesPattern64[] =
- {
-- {"Windows XP", SchemaDefs_OSTypeId_WindowsXP_64},
-- {"Windows 2003", SchemaDefs_OSTypeId_Windows2003_64},
-- {"Windows Vista", SchemaDefs_OSTypeId_WindowsVista_64},
-- {"Windows 2008", SchemaDefs_OSTypeId_Windows2008_64},
-- {"SUSE", SchemaDefs_OSTypeId_OpenSUSE_64},
-- {"Novell", SchemaDefs_OSTypeId_OpenSUSE_64},
-- {"Red Hat", SchemaDefs_OSTypeId_RedHat_64},
-- {"Mandriva", SchemaDefs_OSTypeId_Mandriva_64},
-- {"Ubuntu", SchemaDefs_OSTypeId_Ubuntu_64},
-- {"Debian", SchemaDefs_OSTypeId_Debian_64},
-- {"Linux 2.4", SchemaDefs_OSTypeId_Linux24_64},
-- {"Linux 2.6", SchemaDefs_OSTypeId_Linux26_64},
-- {"Linux", SchemaDefs_OSTypeId_Linux26_64},
-- {"OpenSolaris", SchemaDefs_OSTypeId_OpenSolaris_64},
-- {"Solaris", SchemaDefs_OSTypeId_OpenSolaris_64},
-- {"FreeBSD", SchemaDefs_OSTypeId_FreeBSD_64},
-+ {"Parabola GNU/Linux-libre", SchemaDefs_OSTypeId_Parabola_64},
-+ {"gNewSense", SchemaDefs_OSTypeId_gNewSense_64},
-+ {"Blag Linux and GNU", SchemaDefs_OSTypeId_Blag_64},
-+ {"Dragora", SchemaDefs_OSTypeId_Dragora_64},
-+ {"Ututo XS", SchemaDefs_OSTypeId_Ututo_64},
-+ {"Musix", SchemaDefs_OSTypeId_Musix_64},
-+ {"Trisquel", SchemaDefs_OSTypeId_Trisquel_64},
-+ {"GNU", SchemaDefs_OSTypeId_GNU_64},
-+ {"GNU/Linux", SchemaDefs_OSTypeId_GNULinux_64},
- };
-
- /**
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ovfreader.h 2012-06-20 10:17:34.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/include/ovfreader.h 2012-07-26 03:51:21.807619186 -0300
-@@ -34,119 +34,24 @@
-
- enum CIMOSType_T
- {
-- CIMOSType_CIMOS_Unknown = 0,
-- CIMOSType_CIMOS_Other = 1,
-- CIMOSType_CIMOS_MACOS = 2,
-- CIMOSType_CIMOS_ATTUNIX = 3,
-- CIMOSType_CIMOS_DGUX = 4,
-- CIMOSType_CIMOS_DECNT = 5,
-- CIMOSType_CIMOS_Tru64UNIX = 6,
-- CIMOSType_CIMOS_OpenVMS = 7,
-- CIMOSType_CIMOS_HPUX = 8,
-- CIMOSType_CIMOS_AIX = 9,
-- CIMOSType_CIMOS_MVS = 10,
-- CIMOSType_CIMOS_OS400 = 11,
-- CIMOSType_CIMOS_OS2 = 12,
-- CIMOSType_CIMOS_JavaVM = 13,
-- CIMOSType_CIMOS_MSDOS = 14,
-- CIMOSType_CIMOS_WIN3x = 15,
-- CIMOSType_CIMOS_WIN95 = 16,
-- CIMOSType_CIMOS_WIN98 = 17,
-- CIMOSType_CIMOS_WINNT = 18,
-- CIMOSType_CIMOS_WINCE = 19,
-- CIMOSType_CIMOS_NCR3000 = 20,
-- CIMOSType_CIMOS_NetWare = 21,
-- CIMOSType_CIMOS_OSF = 22,
-- CIMOSType_CIMOS_DCOS = 23,
-- CIMOSType_CIMOS_ReliantUNIX = 24,
-- CIMOSType_CIMOS_SCOUnixWare = 25,
-- CIMOSType_CIMOS_SCOOpenServer = 26,
-- CIMOSType_CIMOS_Sequent = 27,
-- CIMOSType_CIMOS_IRIX = 28,
-- CIMOSType_CIMOS_Solaris = 29,
-- CIMOSType_CIMOS_SunOS = 30,
-- CIMOSType_CIMOS_U6000 = 31,
-- CIMOSType_CIMOS_ASERIES = 32,
-- CIMOSType_CIMOS_HPNonStopOS = 33,
-- CIMOSType_CIMOS_HPNonStopOSS = 34,
-- CIMOSType_CIMOS_BS2000 = 35,
-- CIMOSType_CIMOS_LINUX = 36,
-- CIMOSType_CIMOS_Lynx = 37,
-- CIMOSType_CIMOS_XENIX = 38,
-- CIMOSType_CIMOS_VM = 39,
-- CIMOSType_CIMOS_InteractiveUNIX = 40,
-- CIMOSType_CIMOS_BSDUNIX = 41,
-- CIMOSType_CIMOS_FreeBSD = 42,
-- CIMOSType_CIMOS_NetBSD = 43,
-- CIMOSType_CIMOS_GNUHurd = 44,
-- CIMOSType_CIMOS_OS9 = 45,
-- CIMOSType_CIMOS_MACHKernel = 46,
-- CIMOSType_CIMOS_Inferno = 47,
-- CIMOSType_CIMOS_QNX = 48,
-- CIMOSType_CIMOS_EPOC = 49,
-- CIMOSType_CIMOS_IxWorks = 50,
-- CIMOSType_CIMOS_VxWorks = 51,
-- CIMOSType_CIMOS_MiNT = 52,
-- CIMOSType_CIMOS_BeOS = 53,
-- CIMOSType_CIMOS_HPMPE = 54,
-- CIMOSType_CIMOS_NextStep = 55,
-- CIMOSType_CIMOS_PalmPilot = 56,
-- CIMOSType_CIMOS_Rhapsody = 57,
-- CIMOSType_CIMOS_Windows2000 = 58,
-- CIMOSType_CIMOS_Dedicated = 59,
-- CIMOSType_CIMOS_OS390 = 60,
-- CIMOSType_CIMOS_VSE = 61,
-- CIMOSType_CIMOS_TPF = 62,
-- CIMOSType_CIMOS_WindowsMe = 63,
-- CIMOSType_CIMOS_CalderaOpenUNIX = 64,
-- CIMOSType_CIMOS_OpenBSD = 65,
-- CIMOSType_CIMOS_NotApplicable = 66,
-- CIMOSType_CIMOS_WindowsXP = 67,
-- CIMOSType_CIMOS_zOS = 68,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2003 = 69,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2003_64 = 70,
-- CIMOSType_CIMOS_WindowsXP_64 = 71,
-- CIMOSType_CIMOS_WindowsXPEmbedded = 72,
-- CIMOSType_CIMOS_WindowsVista = 73,
-- CIMOSType_CIMOS_WindowsVista_64 = 74,
-- CIMOSType_CIMOS_WindowsEmbeddedforPointofService = 75,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2008 = 76,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2008_64 = 77,
-- CIMOSType_CIMOS_FreeBSD_64 = 78,
-- CIMOSType_CIMOS_RedHatEnterpriseLinux = 79,
-- CIMOSType_CIMOS_RedHatEnterpriseLinux_64 = 80,
-- CIMOSType_CIMOS_Solaris_64 = 81,
-- CIMOSType_CIMOS_SUSE = 82,
-- CIMOSType_CIMOS_SUSE_64 = 83,
-- CIMOSType_CIMOS_SLES = 84,
-- CIMOSType_CIMOS_SLES_64 = 85,
-- CIMOSType_CIMOS_NovellOES = 86,
-- CIMOSType_CIMOS_NovellLinuxDesktop = 87,
-- CIMOSType_CIMOS_SunJavaDesktopSystem = 88,
-- CIMOSType_CIMOS_Mandriva = 89,
-- CIMOSType_CIMOS_Mandriva_64 = 90,
-- CIMOSType_CIMOS_TurboLinux = 91,
-- CIMOSType_CIMOS_TurboLinux_64 = 92,
-- CIMOSType_CIMOS_Ubuntu = 93,
-- CIMOSType_CIMOS_Ubuntu_64 = 94,
-- CIMOSType_CIMOS_Debian = 95,
-- CIMOSType_CIMOS_Debian_64 = 96,
-- CIMOSType_CIMOS_Linux_2_4_x = 97,
-- CIMOSType_CIMOS_Linux_2_4_x_64 = 98,
-- CIMOSType_CIMOS_Linux_2_6_x = 99,
-- CIMOSType_CIMOS_Linux_2_6_x_64 = 100,
-- CIMOSType_CIMOS_Linux_64 = 101,
-- CIMOSType_CIMOS_Other_64 = 102,
-- // types added with CIM 2.25.0 follow:
-- CIMOSType_CIMOS_WindowsServer2008R2 = 103,
-- CIMOSType_CIMOS_VMwareESXi = 104,
-- CIMOSType_CIMOS_Windows7 = 105,
-- CIMOSType_CIMOS_CentOS = 106,
-- CIMOSType_CIMOS_CentOS_64 = 107,
-- CIMOSType_CIMOS_OracleEnterpriseLinux = 108,
-- CIMOSType_CIMOS_OracleEnterpriseLinux_64 = 109,
-- CIMOSType_CIMOS_eComStation = 110
-- // no new types added with CIM 2.26.0
-+ CIMOSType_CIMOS_Unknown = 0,
-+ CIMOSType_CIMOS_Other = 1,
-+ CIMOSType_CIMOS_Other_64 = 2,
-+ CIMOSType_CIMOS_gNewSense = 3,
-+ CIMOSType_CIMOS_gNewSense_64 = 4,
-+ CIMOSType_CIMOS_Dragora = 5,
-+ CIMOSType_CIMOS_Dragora_64 = 6,
-+ CIMOSType_CIMOS_Musix = 7,
-+ CIMOSType_CIMOS_Musix_64 = 8,
-+ CIMOSType_CIMOS_Trisquel = 9,
-+ CIMOSType_CIMOS_Trisquel_64 = 10,
-+ CIMOSType_CIMOS_Dynebolic = 11,
-+ CIMOSType_CIMOS_Venenux = 12,
-+ CIMOSType_CIMOS_GNU = 13,
-+ CIMOSType_CIMOS_GNU_64 = 14,
-+ CIMOSType_CIMOS_GNUHurd = 15,
-+ CIMOSType_CIMOS_GNULinux = 16,
-+ CIMOSType_CIMOS_GNULinux_64 = 17
- };
-
-
---- VirtualBox-4.1.18.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c 2012-06-20 10:09:01.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c 2012-07-26 15:32:55.309812685 -0300
-@@ -622,16 +622,16 @@
- * Call the common device extension initializer.
- */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) && defined(RT_ARCH_X86)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux26;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) && defined(RT_ARCH_AMD64)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux26_x64;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux_x64;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) && defined(RT_ARCH_X86)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux24;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) && defined(RT_ARCH_AMD64)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux24_x64;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux_x64;
- #else
- # warning "huh? which arch + version is this?"
-- VBOXOSTYPE enmOsType = VBOXOSTYPE_Linux;
-+ VBOXOSTYPE enmOsType = VBOXOSTYPE_GNULinux;
- #endif
- rc = VBoxGuestInitDevExt(&g_DevExt,
- g_IOPortBase,
diff --git a/libre/virtualbox-libre-modules-lts/libre.patch b/libre/virtualbox-libre-modules-lts/libre.patch
deleted file mode 100644
index e51d0c0a7..000000000
--- a/libre/virtualbox-libre-modules-lts/libre.patch
+++ /dev/null
@@ -1,5765 +0,0 @@
---- VirtualBox-4.1.18.orig/Config.kmk 2012-07-24 16:38:43.981310996 -0300
-+++ VirtualBox-4.1.18/Config.kmk 2012-07-24 16:38:44.001309865 -0300
-@@ -56,9 +56,6 @@
- PROPS_SYSMODS_ACCUMULATE_L += INTERMEDIATES
- PROPS_MISCBINS_ACCUMULATE_L += INTERMEDIATES
-
--# Misc names used bye the install paths below.
--VBOX_PUEL_MANGLED_NAME := Oracle_VM_VirtualBox_Extension_Pack
--
- # Install paths
- ## @todo This will change after 4.1 is branched off!
- # What is now 'bin' and 'lib' will be moved down under 'staged/', except on
-@@ -125,9 +122,6 @@
- endif
-
- INST_DOC = doc/
--INST_EXTPACK = $(INST_BIN)ExtensionPacks/
--INST_EXTPACK_CERTS = $(INST_BIN)ExtPackCertificates/
--INST_EXTPACK_PUEL = $(INST_EXTPACK)$(VBOX_PUEL_MANGLED_NAME)/
- INST_PACKAGES = packages/
-
- VBOX_PATH_SDK = $(patsubst %/,%,$(PATH_STAGE)/$(INST_SDK))
-@@ -136,7 +130,6 @@
- VBOX_PATH_ADDITIONS = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS))
- VBOX_PATH_ADDITIONS_ISO = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS_ISO))
- VBOX_PATH_ADDITIONS_LIB = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS_LIB))
--VBOX_PATH_EXTPACK_PUEL= $(patsubst %/,%,$(PATH_STAGE)/$(INST_EXTPACK_PUEL))
- VBOX_PATH_PACKAGES = $(patsubst %/,%,$(PATH_STAGE)/$(INST_PACKAGES))
-
-
-@@ -208,7 +201,6 @@
- export VBOX_ADDITIONS_SH_MODE = release
- export VBOX_DOCUMENTATION_SH_MODE = release
- export VBOX_EFI_SH_MODE = release
-- export VBOX_EXTPACKS_SH_MODE = release
- endif
-
- # Some info on the vendor
-@@ -361,8 +353,6 @@
- VBOX_WITH_USB = 1
- # Enable the USB 1.1 controller plus virtual USB HID devices.
- VBOX_WITH_VUSB = 1
--# Enable the USB 2.0 controller.
--VBOX_WITH_EHCI = 1
- # Enable the ISCSI feature.
- VBOX_WITH_ISCSI = 1
- # Enable INIP support in the ISCSI feature.
-@@ -430,9 +420,6 @@
- ifdef VBOX_WITH_USB
- VBOX_WITH_VUSB = 1
- endif
--ifdef VBOX_WITH_EHCI
-- VBOX_WITH_EHCI_IMPL = 1
--endif
- ifdef VBOX_WITH_PCI_PASSTHROUGH
- VBOX_WITH_PCI_PASSTHROUGH_IMPL = 1
- endif
-@@ -591,15 +578,6 @@
- ## @}
-
-
--## @name Extension pack
--## @{
--# Enables the extension pack feature.
--VBOX_WITH_EXTPACK = 1
--# Enables separating code into the Oracle VM VirtualBox Extension Pack, dubbed PUEL.
--VBOX_WITH_EXTPACK_PUEL = 1
--# Enables building+packing the Oracle VM VirtualBox Extension Pack, includes VBOX_WITH_EXTPACK_PUEL
--VBOX_WITH_EXTPACK_PUEL_BUILD = 1
--## @}
-
- ## @name Misc
- ## @{
-@@ -777,14 +755,6 @@
- # Skip stuff.
- #
-
--ifdef VBOX_ONLY_EXTPACKS
-- # Clear some VBOX_WITH_XXX variables instead of adding ifdefs all over the place.
-- VBOX_WITH_DEBUGGER =
-- VBOX_WITH_ADDITIONS =
-- VBOX_WITH_VBOXDRV =
-- VBOX_WITH_TESTCASES =
--endif
--
- # VBOX_QUICK can be used by core developers to speed to the build
- ifdef VBOX_QUICK
- # undefine variables by assigning blank.
-@@ -848,7 +818,6 @@
- VBOX_WITH_TESTSUITE=
- VBOX_WITH_QTGUI=
- VBOX_WITH_USB=
-- VBOX_WITH_EHCI=
- VBOX_WITH_DOCS=
- VBOX_WITH_PDM_ASYNC_COMPLETION=
- VBOX_WITH_KCHMVIEWER=
-@@ -870,7 +839,6 @@
- VBOX_WITH_CROGL=
- VBOX_WITH_DEBUGGER=
- VBOX_WITH_DOCS=
-- VBOX_WITH_EHCI=
- VBOX_WITH_HARDENING=
- VBOX_WITH_HEADLESS=
- VBOX_WITH_HGCM=
-@@ -952,9 +920,6 @@
- #
- ifdef VBOX_OSE
- VBOX_WITH_VRDP=
-- VBOX_WITH_EHCI_IMPL=
-- VBOX_WITH_EXTPACK_PUEL=
-- VBOX_WITH_EXTPACK_PUEL_BUILD=
- VBOX_WITH_PCI_PASSTHROUGH_IMPL=
- VBOX_WITH_OS2_ADDITIONS_BIN=
- VBOX_WITH_SECURELABEL=
-@@ -1082,10 +1047,6 @@
- VBOX_WITH_KCHMVIEWER=
- endif
-
--ifdef VBOX_WITH_EXTPACK_PUEL_BUILD
-- VBOX_WITH_EXTPACK_PUEL = 1
--endif
--
- #
- # Mark OSE builds clearly, helps figuring out limitations more easily.
- #
-@@ -1679,9 +1640,6 @@
- # biossums (set BIOS checksums)
- VBOX_BIOSSUMS ?= $(PATH_OBJ)/biossums/biossums$(HOSTSUFF_EXE)
-
--# RTManifest (extension pack manifest utility)
--VBOX_RTMANIFEST ?= $(PATH_OBJ)/bldRTManifest/bldRTManifest$(HOSTSUFF_EXE)
--
- # filesplitter (splits java files)
- VBOX_FILESPLIT ?= $(PATH_OBJ)/filesplitter/filesplitter$(HOSTSUFF_EXE)
-
-@@ -2461,13 +2419,6 @@
- SDK_VBOX_OPENSSL2_LIBS = $(NO_SUCH_VARIABLE)
- endif
-
--SDK_VBoxOpenSslExtPack = Internal use only.
--SDK_VBoxOpenSslExtPack_INCS = $(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)
--SDK_VBoxOpenSslExtPack_ORDERDEPS = $(crypto-headers_1_TARGET)
--SDK_VBoxOpenSslExtPack_LIBS = \
-- $(PATH_STAGE_LIB)/VBoxExtPack-libssl$(VBOX_SUFF_LIB) \
-- $(PATH_STAGE_LIB)/VBoxExtPack-libcrypto$(VBOX_SUFF_LIB)
--
- SDK_VBOX_BLD_OPENSSL = .
- SDK_VBOX_BLD_OPENSSL_EXTENDS = VBOX_OPENSSL
- SDK_VBOX_BLD_OPENSSL_LIBS ?= \
-@@ -3817,100 +3768,6 @@
- endif
- TEMPLATE_VBOXMAINCLIENTDLL_LDFLAGS.darwin = $(filter-out -bind_at_load,$(TEMPLATE_VBOXMAINCLIENTEXE_LDFLAGS.darwin))
-
--
--
--#
--# Templates used for building the extension packs.
--#
--ifdef VBOX_WITH_EXTPACK
-- # Base templates (native or portable).
-- TEMPLATE_VBoxR3ExtPack = For the ring-3 context extension pack modules.
-- if 1 # Native for now.
-- TEMPLATE_VBoxR3ExtPack_EXTENDS = VBOXR3DLLNOXCPT
-- TEMPLATE_VBoxR3ExtPack_DEFS = $(TEMPLATE_VBOXR3DLLNOXCPT_DEFS) VBOX_IN_EXTPACK VBOX_IN_EXTPACK_R3
-- else
-- TEMPLATE_VBoxR3ExtPack_EXTENDS = VBOXNOCRTGCC
-- TEMPLATE_VBoxR3ExtPack_DEFS = $(TEMPLATE_VBOXNOCRTGCC_DEFS) VBOX_IN_EXTPACK VBOX_IN_EXTPACK_R3 IPRT_NO_CRT IN_RING3
-- TEMPLATE_VBoxR3ExtPack_INCS = $(PATH_ROOT)/include/iprt/nocrt $(TEMPLATE_VBOXR3DLLNOXCPT_INCS)
-- endif
-- ifneq ($(KBUILD_TARGET),win)
-- TEMPLATE_VBoxR3ExtPack_CXXFLAGS = $(TEMPLATE_VBOXR3DLLNOXCPT_CXXFLAGS) -fno-rtti
-- endif
-- TEMPLATE_VBoxR3ExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
-- ifeq ($(KBUILD_TARGET),linux)
-- TEMPLATE_VBoxR3ExtPack_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBOXR3DLLNOXCPT_LDFLAGS))
-- else
-- if !defined(VBOX_WITH_RUNPATH) && defined(VBOX_WITH_RELATIVE_RUNPATH)
-- TEMPLATE_VBoxR3ExtPack_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/../../..' $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBOXR3DLLNOXCPT_LDFLAGS))
-- endif
-- endif
-- ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- if1of ($(KBUILD_TARGET), win os2)
-- TEMPLATE_VBoxR3ExtPack_LIBS = \
-- $(TEMPLATE_LIBS_VBOXR3) \
-- $(PATH_STAGE_LIB)/VMMR3Imp$(VBOX_SUFF_LIB) \
-- $(PATH_STAGE_LIB)/VBoxRTImp$(VBOX_SUFF_LIB)
-- else
-- TEMPLATE_VBoxR3ExtPack_LIBS = \
-- $(TEMPLATE_LIBS_VBOXR3) \
-- $(PATH_STAGE_LIB)/VMMR3Imp$(VBOX_SUFF_DLL) \
-- $(PATH_STAGE_LIB)/VBoxRTImp$(VBOX_SUFF_DLL)
-- endif
-- else
-- TEMPLATE_VBoxR3ExtPack_LIBS = \
-- $(TEMPLATE_LIBS_VBOXR3) \
-- $(LIB_RUNTIME) \
-- $(LIB_VMM)
-- endif
--
-- TEMPLATE_VBoxR0ExtPack = For the ring-0 context extension pack modules.
-- TEMPLATE_VBoxR0ExtPack_EXTENDS = VBoxR0
-- TEMPLATE_VBoxR0ExtPack_EXTENDS_BY = appending
-- TEMPLATE_VBoxR0ExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
-- TEMPLATE_VBoxR0ExtPack_DEFS = VBOX_IN_EXTPACK VBOX_IN_EXTPACK_R0
-- if1of ($(VBOX_LDR_FMT), pe lx)
-- TEMPLATE_VBoxR0ExtPack_LIBS = \
-- $(PATH_STAGE_LIB)/VMMR0Imp$(VBOX_SUFF_LIB) \
-- $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB)
-- endif
--
-- TEMPLATE_VBoxRcExtPack = For the raw-mode context extension pack modules.
-- TEMPLATE_VBoxRcExtPack_EXTENDS = VBoxRc
-- TEMPLATE_VBoxRcExtPack_EXTENDS_BY = appending
-- TEMPLATE_VBoxRcExtPack_SYSSUFF = .rc
-- TEMPLATE_VBoxRcExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
-- TEMPLATE_VBoxRcExtPack_DEFS = VBOX_IN_EXTPACK VBOX_IN_EXTPACK_RC
-- if1of ($(VBOX_LDR_FMT32), pe lx)
-- TEMPLATE_VBoxRcExtPack_LIBS = \
-- $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \
-- $(PATH_STAGE_LIB)/VMMRCImp$(VBOX_SUFF_LIB)
-- endif
--
-- TEMPLATE_VBoxInsExtPack = For the install targets of an extension pack.
-- TEMPLATE_VBoxInsExtPack_MODE = 0644
-- TEMPLATE_VBoxInsExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
--
-- # For each individual extension pack
-- ifdef VBOX_WITH_EXTPACK_PUEL
-- TEMPLATE_VBoxR3ExtPackPuel = For the ring-3 context modules in the PUEL extension pack.
-- TEMPLATE_VBoxR3ExtPackPuel_EXTENDS = VBoxR3ExtPack
-- TEMPLATE_VBoxR3ExtPackPuel_INST = $(INST_EXTPACK_PUEL)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
--
-- TEMPLATE_VBoxR0ExtPackPuel = For the ring-0 context modules in the PUEL extension pack.
-- TEMPLATE_VBoxR0ExtPackPuel_EXTENDS = VBoxR0ExtPack
-- TEMPLATE_VBoxR0ExtPackPuel_INST = $(INST_EXTPACK_PUEL)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
--
-- TEMPLATE_VBoxRcExtPackPuel = For the raw-mode context modules in the PUEL extension pack.
-- TEMPLATE_VBoxRcExtPackPuel_EXTENDS = VBoxRcExtPack
-- TEMPLATE_VBoxRcExtPackPuel_INST = $(INST_EXTPACK_PUEL)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
--
-- TEMPLATE_VBoxInsExtPackPuel = For the install targets of an extension pack.
-- TEMPLATE_VBoxInsExtPackPuel_EXTENDS = VBoxR0ExtPack
-- TEMPLATE_VBoxInsExtPackPuel_INST = $(INST_EXTPACK_PUEL)
--endif
--endif # VBOX_WITH_EXTPACK
--
--
- #
- # Qt 4
- # Qt 4
---- VirtualBox-4.1.18.orig/Makefile.kmk 2012-07-24 17:16:47.078929150 -0300
-+++ VirtualBox-4.1.18/Makefile.kmk 2012-07-24 17:16:47.125592981 -0300
-@@ -446,7 +446,6 @@
- include/VBox \
- include/VBox/vmm \
- include/VBox/com \
-- include/VBox/ExtPack \
- include/VBox/HostServices \
- include/VBox/GuestHost \
- include/VBox/HGSMI \
-@@ -862,191 +861,6 @@
- additions-build-linux.x86.combined \
- additions-packing
-
--
--#
--# Build the extension packs, all of them.
--#
--# This is tailored (hardcoded) for the extension pack build box.
--#
--# The fetching must be done in serial fashion, while the building should be
--# more flexible wrt to -jN.
--#
--extpacks-fetch:
-- + $(KMK) -C tools fetch VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=darwin BUILD_TARGET_ARCH=amd64 BUILD_TARGET=darwin VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=darwin BUILD_TARGET_ARCH=x86 BUILD_TARGET=darwin VBOX_ONLY_EXTPACKS=1
--# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=freebsd BUILD_TARGET_ARCH=amd64 BUILD_TARGET=freebsd VBOX_ONLY_EXTPACKS=1
--# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=freebsd BUILD_TARGET_ARCH=x86 BUILD_TARGET=freebsd VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=linux BUILD_TARGET_ARCH=amd64 BUILD_TARGET=linux VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=linux BUILD_TARGET_ARCH=x86 BUILD_TARGET=linux VBOX_ONLY_EXTPACKS=1
--# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=os2 BUILD_TARGET_ARCH=x86 BUILD_TARGET=os2 VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=amd64 BUILD_TARGET=solaris VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=x86 BUILD_TARGET=solaris VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=win BUILD_TARGET_ARCH=amd64 BUILD_TARGET=win VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=win BUILD_TARGET_ARCH=x86 BUILD_TARGET=win VBOX_ONLY_EXTPACKS=1
--
--
--extpacks-build: \
-- extpacks-build-win.amd64 \
-- extpacks-build-win.x86 \
-- extpacks-build-solaris.amd64 \
-- extpacks-build-solaris.x86 \
-- extpacks-build-os2.x86 \
-- extpacks-build-linux.amd64 \
-- extpacks-build-linux.x86 \
-- extpacks-build-darwin.amd64 \
-- extpacks-build-darwin.x86 \
-- extpacks-build-freebsd.amd64 \
-- extpacks-build-freebsd.x86
--
--VBOX_EXTPACKS_BUILD.amd64 = VBOX_ONLY_EXTPACKS=1 \
-- KBUILD_TYPE=$(KBUILD_TYPE) BUILD_TYPE=$(KBUILD_TYPE) \
-- KBUILD_TARGET_ARCH=amd64 BUILD_TARGET_ARCH=amd64 \
-- VBOX_SVN_REV=$(VBOX_SVN_REV)
--
--VBOX_EXTPACKS_BUILD.x86 = VBOX_ONLY_EXTPACKS=1 \
-- KBUILD_TYPE=$(KBUILD_TYPE) BUILD_TYPE=$(KBUILD_TYPE) \
-- KBUILD_TARGET_ARCH=x86 BUILD_TARGET_ARCH=x86 \
-- VBOX_SVN_REV=$(VBOX_SVN_REV)
--
--# Automatically determine the extpack build subdir name. Used for figuring out
--# directory names inside the extension pack building VMs.
--VBOX_EXTPACKS_BUILD_SUBDIRNAME := $(lastword $(subst /, ,$(PATH_ROOT)))
--
--# When building in parallel on a Windows host, make sure we finish the host
--# bit before kicking off any UNIX guest or we'll run into file sharing issues.
--ifeq ($(KBUILD_TARGET),win)
--VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST = extpacks-build-win.x86 extpacks-build-win.amd64
--else
--VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST =
--endif
--
--extpacks-build-win.amd64:
--ifeq ($(KBUILD_TARGET),win)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Windows/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.6 " echo $@ && cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
--endif
--
--extpacks-build-win.x86:
--ifeq ($(KBUILD_TARGET),win)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Windows/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.16 " echo $@ && cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.x86) all"
--endif
--
--ifeq ($(KBUILD_TARGET),solaris)
--extpacks-build-solaris.amd64:
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--
--extpacks-build-solaris.x86: extpacks-build-solaris.amd64
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE=1 all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--
--else
--# Serialize 32-bit and 64-bit ASSUMING the same VM builds both.
--extpacks-build-solaris.rsync-into-vm: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,solaris,*) . 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
--
--extpacks-build-solaris.build-it: extpacks-build-solaris.rsync-into-vm
-- $(call MSG_L1,Building Solaris/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.4 " echo $@/amd64 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
-- $(call MSG_L1,Building Solaris/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.4 " echo $@/x86 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
--
--extpacks-build-solaris.rsync-out-of-vm: extpacks-build-solaris.build-it
-- $(VBOX_KMK_TIME) rsync -a --delete 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.x86 out/
-- $(VBOX_KMK_TIME) rsync -a --delete 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.amd64 out/
--
--.NOTPARALLEL: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm
--.PHONY: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm extpacks-build-solaris.build-it
--
--extpacks-build-solaris.amd64: extpacks-build-solaris.rsync-out-of-vm
--extpacks-build-solaris.x86: extpacks-build-solaris.rsync-out-of-vm
--endif
--
--extpacks-build-os2.x86:
--#ifeq ($(KBUILD_TARGET),os2)
--# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--#else
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.3 " cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) "
--#endif
--
--extpacks-build-linux.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.amd64)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Linux/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.12 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
--endif
--
--extpacks-build-linux.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.x86)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Linux/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.11 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
--endif
--
--extpacks-build-freebsd.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--#ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.amd64)
--# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--#else
--# $(call MSG_L1,Building FreeBSD/amd64 extension packs)
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.17 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
--#endif
--
--extpacks-build-freebsd.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--#ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.x86)
--# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--#else
--# $(call MSG_L1,Building FreeBSD/x86 extension packs)
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.7 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
--#endif
--
--extpacks-build-darwin.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.amd64)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Darwin/amd64 extension packs)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,amd64) . 192.168.27.15:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.15 " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
-- $(VBOX_KMK_TIME) rsync -am -v --delete 192.168.27.15:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.amd64 out/
--endif
--
--extpacks-build-darwin.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.x86)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Darwin/x86 extension packs)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,x86) . 192.168.27.5:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.5 " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
-- $(VBOX_KMK_TIME) rsync -am -v --delete 192.168.27.5:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.x86 out/
--endif
--
--
--extpacks-packing:
-- + $(KMK) VBOX_ONLY_EXTPACKS=1 \
-- VBOX_WITH_EXTPACK_OS_ARCHS="darwin.amd64 darwin.x86 linux.amd64 linux.x86 solaris.amd64 solaris.x86 win.amd64 win.x86" \
-- packing
--# +++ freebsd.amd64 freebsd.x86 os2.x86 ^^^
--
--.PHONY: \
-- extpacks-build-win.x86 \
-- extpacks-build-win.amd64 \
-- extpacks-build-solaris.amd64 \
-- extpacks-build-solaris.x86 \
-- extpacks-build-os2.x86 \
-- extpacks-build-linux.amd64 \
-- extpacks-build-linux.x86 \
-- extpacks-build-freebsd.amd64 \
-- extpacks-build-freebsd.x86 \
-- extpacks-build-darwin.amd64 \
-- extpacks-build-darwin.x86 \
-- extpacks-packing
--
--
- #
- # Build the test suite, all of it.
- #
---- VirtualBox-4.1.18.orig/src/VBox/Devices/build/VBoxDD.cpp 2012-06-20 10:15:51.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Devices/build/VBoxDD.cpp 2012-07-24 16:18:03.964493454 -0300
-@@ -132,11 +132,6 @@
- if (RT_FAILURE(rc))
- return rc;
- #endif
--#ifdef VBOX_WITH_EHCI_IMPL
-- rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceEHCI);
-- if (RT_FAILURE(rc))
-- return rc;
--#endif
- #ifdef VBOX_ACPI
- rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceACPI);
- if (RT_FAILURE(rc))
---- VirtualBox-4.1.18.orig/src/VBox/Devices/build/VBoxDD.h 2012-06-20 10:15:51.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Devices/build/VBoxDD.h 2012-07-24 16:20:35.939205389 -0300
-@@ -62,7 +62,6 @@
- extern const PDMDEVREG g_DeviceICH6_HDA;
- extern const PDMDEVREG g_DeviceAudioSniffer;
- extern const PDMDEVREG g_DeviceOHCI;
--extern const PDMDEVREG g_DeviceEHCI;
- extern const PDMDEVREG g_DeviceACPI;
- extern const PDMDEVREG g_DeviceDMA;
- extern const PDMDEVREG g_DeviceFloppyController;
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ExtPackManagerImpl.h 2012-06-20 10:17:33.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,245 +0,0 @@
--/* $Id: ExtPackManagerImpl.h $ */
--/** @file
-- * VirtualBox Main - interface for Extension Packs, VBoxSVC & VBoxC.
-- */
--
--/*
-- * Copyright (C) 2010 Oracle Corporation
-- *
-- * This file is part of VirtualBox Open Source Edition (OSE), as
-- * available from http://www.virtualbox.org. This file is free software;
-- * you can redistribute it and/or modify it under the terms of the GNU
-- * General Public License (GPL) as published by the Free Software
-- * Foundation, in version 2 as it comes in the "COPYING" file of the
-- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-- */
--
--#ifndef ____H_EXTPACKMANAGERIMPL
--#define ____H_EXTPACKMANAGERIMPL
--
--#include "VirtualBoxBase.h"
--#include <VBox/ExtPack/ExtPack.h>
--#include <iprt/fs.h>
--
--/**
-- * An extension pack file.
-- */
--class ATL_NO_VTABLE ExtPackFile :
-- public VirtualBoxBase,
-- VBOX_SCRIPTABLE_IMPL(IExtPackFile)
--{
--public:
-- /** @name COM and internal init/term/mapping cruft.
-- * @{ */
-- VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(ExtPackFile, IExtPackFile)
-- DECLARE_NOT_AGGREGATABLE(ExtPackFile)
-- DECLARE_PROTECT_FINAL_CONSTRUCT()
-- BEGIN_COM_MAP(ExtPackFile)
-- VBOX_DEFAULT_INTERFACE_ENTRIES(IExtPackFile)
-- COM_INTERFACE_ENTRY(IExtPackBase)
-- END_COM_MAP()
-- DECLARE_EMPTY_CTOR_DTOR(ExtPackFile)
--
-- HRESULT FinalConstruct();
-- void FinalRelease();
-- HRESULT initWithFile(const char *a_pszFile, const char *a_pszDigest, class ExtPackManager *a_pExtPackMgr, VirtualBox *a_pVirtualBox);
-- void uninit();
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
-- /** @} */
--
-- /** @name IExtPackBase interfaces
-- * @{ */
-- STDMETHOD(COMGETTER(Name))(BSTR *a_pbstrName);
-- STDMETHOD(COMGETTER(Description))(BSTR *a_pbstrDescription);
-- STDMETHOD(COMGETTER(Version))(BSTR *a_pbstrVersion);
-- STDMETHOD(COMGETTER(Revision))(ULONG *a_puRevision);
-- STDMETHOD(COMGETTER(VRDEModule))(BSTR *a_pbstrVrdeModule);
-- STDMETHOD(COMGETTER(PlugIns))(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns));
-- STDMETHOD(COMGETTER(Usable))(BOOL *a_pfUsable);
-- STDMETHOD(COMGETTER(WhyUnusable))(BSTR *a_pbstrWhy);
-- STDMETHOD(COMGETTER(ShowLicense))(BOOL *a_pfShowIt);
-- STDMETHOD(COMGETTER(License))(BSTR *a_pbstrHtmlLicense);
-- STDMETHOD(QueryLicense)(IN_BSTR a_bstrPreferredLocale, IN_BSTR a_bstrPreferredLanguage,
-- IN_BSTR a_bstrFormat, BSTR *a_pbstrLicense);
-- /** @} */
--
-- /** @name IExtPackFile interfaces
-- * @{ */
-- STDMETHOD(COMGETTER(FilePath))(BSTR *a_pbstrPath);
-- STDMETHOD(Install)(BOOL a_fReplace, IN_BSTR a_bstrDisplayInfo, IProgress **a_ppProgress);
-- /** @} */
--
--private:
-- /** @name Misc init helpers
-- * @{ */
-- HRESULT initFailed(const char *a_pszWhyFmt, ...);
-- /** @} */
--
--private:
-- struct Data;
-- /** Pointer to the private instance. */
-- Data *m;
--
-- friend class ExtPackManager;
--};
--
--
--/**
-- * An installed extension pack.
-- */
--class ATL_NO_VTABLE ExtPack :
-- public VirtualBoxBase,
-- VBOX_SCRIPTABLE_IMPL(IExtPack)
--{
--public:
-- /** @name COM and internal init/term/mapping cruft.
-- * @{ */
-- VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(ExtPack, IExtPack)
-- DECLARE_NOT_AGGREGATABLE(ExtPack)
-- DECLARE_PROTECT_FINAL_CONSTRUCT()
-- BEGIN_COM_MAP(ExtPack)
-- VBOX_DEFAULT_INTERFACE_ENTRIES(IExtPack)
-- COM_INTERFACE_ENTRY(IExtPackBase)
-- END_COM_MAP()
-- DECLARE_EMPTY_CTOR_DTOR(ExtPack)
--
-- HRESULT FinalConstruct();
-- void FinalRelease();
-- HRESULT initWithDir(VBOXEXTPACKCTX a_enmContext, const char *a_pszName, const char *a_pszDir);
-- void uninit();
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
-- /** @} */
--
-- /** @name IExtPackBase interfaces
-- * @{ */
-- STDMETHOD(COMGETTER(Name))(BSTR *a_pbstrName);
-- STDMETHOD(COMGETTER(Description))(BSTR *a_pbstrDescription);
-- STDMETHOD(COMGETTER(Version))(BSTR *a_pbstrVersion);
-- STDMETHOD(COMGETTER(Revision))(ULONG *a_puRevision);
-- STDMETHOD(COMGETTER(VRDEModule))(BSTR *a_pbstrVrdeModule);
-- STDMETHOD(COMGETTER(PlugIns))(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns));
-- STDMETHOD(COMGETTER(Usable))(BOOL *a_pfUsable);
-- STDMETHOD(COMGETTER(WhyUnusable))(BSTR *a_pbstrWhy);
-- STDMETHOD(COMGETTER(ShowLicense))(BOOL *a_pfShowIt);
-- STDMETHOD(COMGETTER(License))(BSTR *a_pbstrHtmlLicense);
-- STDMETHOD(QueryLicense)(IN_BSTR a_bstrPreferredLocale, IN_BSTR a_bstrPreferredLanguage,
-- IN_BSTR a_bstrFormat, BSTR *a_pbstrLicense);
-- /** @} */
--
-- /** @name IExtPack interfaces
-- * @{ */
-- STDMETHOD(QueryObject)(IN_BSTR a_bstrObjectId, IUnknown **a_ppUnknown);
-- /** @} */
--
-- /** @name Internal interfaces used by ExtPackManager.
-- * @{ */
-- bool callInstalledHook(IVirtualBox *a_pVirtualBox, AutoWriteLock *a_pLock, PRTERRINFO pErrInfo);
-- HRESULT callUninstallHookAndClose(IVirtualBox *a_pVirtualBox, bool a_fForcedRemoval);
-- bool callVirtualBoxReadyHook(IVirtualBox *a_pVirtualBox, AutoWriteLock *a_pLock);
-- bool callConsoleReadyHook(IConsole *a_pConsole, AutoWriteLock *a_pLock);
-- bool callVmCreatedHook(IVirtualBox *a_pVirtualBox, IMachine *a_pMachine, AutoWriteLock *a_pLock);
-- bool callVmConfigureVmmHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock, int *a_pvrc);
-- bool callVmPowerOnHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock, int *a_pvrc);
-- bool callVmPowerOffHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock);
-- HRESULT checkVrde(void);
-- HRESULT getVrdpLibraryName(Utf8Str *a_pstrVrdeLibrary);
-- bool wantsToBeDefaultVrde(void) const;
-- HRESULT refresh(bool *pfCanDelete);
-- /** @} */
--
--protected:
-- /** @name Internal helper methods.
-- * @{ */
-- void probeAndLoad(void);
-- bool findModule(const char *a_pszName, const char *a_pszExt, VBOXEXTPACKMODKIND a_enmKind,
-- Utf8Str *a_ppStrFound, bool *a_pfNative, PRTFSOBJINFO a_pObjInfo) const;
-- static bool objinfoIsEqual(PCRTFSOBJINFO pObjInfo1, PCRTFSOBJINFO pObjInfo2);
-- /** @} */
--
-- /** @name Extension Pack Helpers
-- * @{ */
-- static DECLCALLBACK(int) hlpFindModule(PCVBOXEXTPACKHLP pHlp, const char *pszName, const char *pszExt,
-- VBOXEXTPACKMODKIND enmKind, char *pszFound, size_t cbFound, bool *pfNative);
-- static DECLCALLBACK(int) hlpGetFilePath(PCVBOXEXTPACKHLP pHlp, const char *pszFilename, char *pszPath, size_t cbPath);
-- static DECLCALLBACK(VBOXEXTPACKCTX) hlpGetContext(PCVBOXEXTPACKHLP pHlp);
-- static DECLCALLBACK(int) hlpReservedN(PCVBOXEXTPACKHLP pHlp);
-- /** @} */
--
--private:
-- struct Data;
-- /** Pointer to the private instance. */
-- Data *m;
--
-- friend class ExtPackManager;
--};
--
--
--/**
-- * Extension pack manager.
-- */
--class ATL_NO_VTABLE ExtPackManager :
-- public VirtualBoxBase,
-- VBOX_SCRIPTABLE_IMPL(IExtPackManager)
--{
-- /** @name COM and internal init/term/mapping cruft.
-- * @{ */
-- VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(ExtPackManager, IExtPackManager)
-- DECLARE_NOT_AGGREGATABLE(ExtPackManager)
-- DECLARE_PROTECT_FINAL_CONSTRUCT()
-- BEGIN_COM_MAP(ExtPackManager)
-- VBOX_DEFAULT_INTERFACE_ENTRIES(IExtPackManager)
-- END_COM_MAP()
-- DECLARE_EMPTY_CTOR_DTOR(ExtPackManager)
--
-- HRESULT FinalConstruct();
-- void FinalRelease();
-- HRESULT initExtPackManager(VirtualBox *a_pVirtualBox, VBOXEXTPACKCTX a_enmContext);
-- void uninit();
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
-- /** @} */
--
-- /** @name IExtPack interfaces
-- * @{ */
-- STDMETHOD(COMGETTER(InstalledExtPacks))(ComSafeArrayOut(IExtPack *, a_paExtPacks));
-- STDMETHOD(Find)(IN_BSTR a_bstrName, IExtPack **a_pExtPack);
-- STDMETHOD(OpenExtPackFile)(IN_BSTR a_bstrTarball, IExtPackFile **a_ppExtPackFile);
-- STDMETHOD(Uninstall)(IN_BSTR a_bstrName, BOOL a_fForcedRemoval, IN_BSTR a_bstrDisplayInfo, IProgress **a_ppProgress);
-- STDMETHOD(Cleanup)(void);
-- STDMETHOD(QueryAllPlugInsForFrontend)(IN_BSTR a_bstrFrontend, ComSafeArrayOut(BSTR, a_pabstrPlugInModules));
-- STDMETHOD(IsExtPackUsable(IN_BSTR a_bstrExtPack, BOOL *aUsable));
-- /** @} */
--
-- /** @name Internal interfaces used by other Main classes.
-- * @{ */
-- static DECLCALLBACK(int) doInstallThreadProc(RTTHREAD hThread, void *pvJob);
-- HRESULT doInstall(ExtPackFile *a_pExtPackFile, bool a_fReplace, Utf8Str const *a_pstrDisplayInfo);
-- static DECLCALLBACK(int) doUninstallThreadProc(RTTHREAD hThread, void *pvJob);
-- HRESULT doUninstall(const Utf8Str *a_pstrName, bool a_fForcedRemoval, const Utf8Str *a_pstrDisplayInfo);
-- void callAllVirtualBoxReadyHooks(void);
-- void callAllConsoleReadyHooks(IConsole *a_pConsole);
-- void callAllVmCreatedHooks(IMachine *a_pMachine);
-- int callAllVmConfigureVmmHooks(IConsole *a_pConsole, PVM a_pVM);
-- int callAllVmPowerOnHooks(IConsole *a_pConsole, PVM a_pVM);
-- void callAllVmPowerOffHooks(IConsole *a_pConsole, PVM a_pVM);
-- HRESULT checkVrdeExtPack(Utf8Str const *a_pstrExtPack);
-- int getVrdeLibraryPathForExtPack(Utf8Str const *a_pstrExtPack, Utf8Str *a_pstrVrdeLibrary);
-- HRESULT getDefaultVrdeExtPack(Utf8Str *a_pstrExtPack);
-- bool isExtPackUsable(const char *a_pszExtPack);
-- void dumpAllToReleaseLog(void);
-- /** @} */
--
--private:
-- HRESULT runSetUidToRootHelper(Utf8Str const *a_pstrDisplayInfo, const char *a_pszCommand, ...);
-- ExtPack *findExtPack(const char *a_pszName);
-- void removeExtPack(const char *a_pszName);
-- HRESULT refreshExtPack(const char *a_pszName, bool a_fUnsuableIsError, ExtPack **a_ppExtPack);
--
--private:
-- struct Data;
-- /** Pointer to the private instance. */
-- Data *m;
--};
--
--#endif
--/* vi: set tabstop=4 shiftwidth=4 expandtab: */
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ExtPackUtil.h 2012-06-20 10:17:33.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,137 +0,0 @@
--/* $Id: ExtPackUtil.h $ */
--/** @file
-- * VirtualBox Main - Extension Pack Utilities and definitions, VBoxC, VBoxSVC, ++.
-- */
--
--/*
-- * Copyright (C) 2010 Oracle Corporation
-- *
-- * This file is part of VirtualBox Open Source Edition (OSE), as
-- * available from http://www.virtualbox.org. This file is free software;
-- * you can redistribute it and/or modify it under the terms of the GNU
-- * General Public License (GPL) as published by the Free Software
-- * Foundation, in version 2 as it comes in the "COPYING" file of the
-- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-- */
--
--#ifndef ____H_EXTPACKUTIL
--#define ____H_EXTPACKUTIL
--
--#include <iprt/cpp/ministring.h>
--#include <iprt/fs.h>
--#include <iprt/vfs.h>
--
--
--/** @name VBOX_EXTPACK_DESCRIPTION_NAME
-- * The name of the description file in an extension pack. */
--#define VBOX_EXTPACK_DESCRIPTION_NAME "ExtPack.xml"
--/** @name VBOX_EXTPACK_DESCRIPTION_NAME
-- * The name of the manifest file in an extension pack. */
--#define VBOX_EXTPACK_MANIFEST_NAME "ExtPack.manifest"
--/** @name VBOX_EXTPACK_SIGNATURE_NAME
-- * The name of the signature file in an extension pack. */
--#define VBOX_EXTPACK_SIGNATURE_NAME "ExtPack.signature"
--/** @name VBOX_EXTPACK_LICENSE_NAME_PREFIX
-- * The name prefix of a license file in an extension pack. There can be
-- * several license files in a pack, the variations being on locale, language
-- * and format (HTML, RTF, plain text). All extension packages shall include
-- * a */
--#define VBOX_EXTPACK_LICENSE_NAME_PREFIX "ExtPack-license"
--/** @name VBOX_EXTPACK_SUFFIX
-- * The suffix of a extension pack tarball. */
--#define VBOX_EXTPACK_SUFFIX ".vbox-extpack"
--
--/** The minimum length (strlen) of a extension pack name. */
--#define VBOX_EXTPACK_NAME_MIN_LEN 3
--/** The max length (strlen) of a extension pack name. */
--#define VBOX_EXTPACK_NAME_MAX_LEN 64
--
--/** The architecture-dependent application data subdirectory where the
-- * extension packs are installed. Relative to RTPathAppPrivateArch. */
--#define VBOX_EXTPACK_INSTALL_DIR "ExtensionPacks"
--/** The architecture-independent application data subdirectory where the
-- * certificates are installed. Relative to RTPathAppPrivateNoArch. */
--#define VBOX_EXTPACK_CERT_DIR "ExtPackCertificates"
--
--/** The maximum entry name length.
-- * Play short and safe. */
--#define VBOX_EXTPACK_MAX_MEMBER_NAME_LENGTH 128
--
--
--/**
-- * Plug-in descriptor.
-- */
--typedef struct VBOXEXTPACKPLUGINDESC
--{
-- /** The name. */
-- RTCString strName;
-- /** The module name. */
-- RTCString strModule;
-- /** The description. */
-- RTCString strDescription;
-- /** The frontend or component which it plugs into. */
-- RTCString strFrontend;
--} VBOXEXTPACKPLUGINDESC;
--/** Pointer to a plug-in descriptor. */
--typedef VBOXEXTPACKPLUGINDESC *PVBOXEXTPACKPLUGINDESC;
--
--/**
-- * Extension pack descriptor
-- *
-- * This is the internal representation of the ExtPack.xml.
-- */
--typedef struct VBOXEXTPACKDESC
--{
-- /** The name. */
-- RTCString strName;
-- /** The description. */
-- RTCString strDescription;
-- /** The version string. */
-- RTCString strVersion;
-- /** The edition string. */
-- RTCString strEdition;
-- /** The internal revision number. */
-- uint32_t uRevision;
-- /** The name of the main module. */
-- RTCString strMainModule;
-- /** The name of the VRDE module, empty if none. */
-- RTCString strVrdeModule;
-- /** The number of plug-in descriptors. */
-- uint32_t cPlugIns;
-- /** Pointer to an array of plug-in descriptors. */
-- PVBOXEXTPACKPLUGINDESC paPlugIns;
-- /** Whether to show the license prior to installation. */
-- bool fShowLicense;
--} VBOXEXTPACKDESC;
--
--/** Pointer to a extension pack descriptor. */
--typedef VBOXEXTPACKDESC *PVBOXEXTPACKDESC;
--/** Pointer to a const extension pack descriptor. */
--typedef VBOXEXTPACKDESC const *PCVBOXEXTPACKDESC;
--
--
--void VBoxExtPackInitDesc(PVBOXEXTPACKDESC a_pExtPackDesc);
--RTCString *VBoxExtPackLoadDesc(const char *a_pszDir, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo);
--RTCString *VBoxExtPackLoadDescFromVfsFile(RTVFSFILE hVfsFile, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo);
--RTCString *VBoxExtPackExtractNameFromTarballPath(const char *pszTarball);
--void VBoxExtPackFreeDesc(PVBOXEXTPACKDESC a_pExtPackDesc);
--bool VBoxExtPackIsValidName(const char *pszName);
--bool VBoxExtPackIsValidMangledName(const char *pszMangledName, size_t cchMax = RTSTR_MAX);
--RTCString *VBoxExtPackMangleName(const char *pszName);
--RTCString *VBoxExtPackUnmangleName(const char *pszMangledName, size_t cbMax);
--int VBoxExtPackCalcDir(char *pszExtPackDir, size_t cbExtPackDir, const char *pszParentDir, const char *pszName);
--bool VBoxExtPackIsValidVersionString(const char *pszVersion);
--bool VBoxExtPackIsValidEditionString(const char *pszEdition);
--bool VBoxExtPackIsValidModuleString(const char *pszModule);
--
--int VBoxExtPackValidateMember(const char *pszName, RTVFSOBJTYPE enmType, RTVFSOBJ hVfsObj, char *pszError, size_t cbError);
--int VBoxExtPackOpenTarFss(RTFILE hTarballFile, char *pszError, size_t cbError, PRTVFSFSSTREAM phTarFss, PRTMANIFEST phFileManifest);
--int VBoxExtPackValidateTarball(RTFILE hTarballFile, const char *pszExtPackName,
-- const char *pszTarball, const char *pszTarballDigest,
-- char *pszError, size_t cbError,
-- PRTMANIFEST phValidManifest, PRTVFSFILE phXmlFile, RTCString *pStrDigest);
--
--
--#endif
--
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-all/ExtPackManagerImpl.cpp 2012-06-20 10:17:34.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,3126 +0,0 @@
--/* $Id: ExtPackManagerImpl.cpp $ */
--/** @file
-- * VirtualBox Main - interface for Extension Packs, VBoxSVC & VBoxC.
-- */
--
--/*
-- * Copyright (C) 2010 Oracle Corporation
-- *
-- * This file is part of VirtualBox Open Source Edition (OSE), as
-- * available from http://www.virtualbox.org. This file is free software;
-- * you can redistribute it and/or modify it under the terms of the GNU
-- * General Public License (GPL) as published by the Free Software
-- * Foundation, in version 2 as it comes in the "COPYING" file of the
-- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-- */
--
--
--/*******************************************************************************
--* Header Files *
--*******************************************************************************/
--#include "ExtPackManagerImpl.h"
--#include "ExtPackUtil.h"
--
--#include <iprt/buildconfig.h>
--#include <iprt/ctype.h>
--#include <iprt/dir.h>
--#include <iprt/env.h>
--#include <iprt/file.h>
--#include <iprt/ldr.h>
--#include <iprt/manifest.h>
--#include <iprt/param.h>
--#include <iprt/path.h>
--#include <iprt/pipe.h>
--#include <iprt/process.h>
--#include <iprt/string.h>
--
--#include <VBox/com/array.h>
--#include <VBox/com/ErrorInfo.h>
--#include <VBox/err.h>
--#include <VBox/log.h>
--#include <VBox/sup.h>
--#include <VBox/version.h>
--#include "AutoCaller.h"
--#include "Global.h"
--#include "ProgressImpl.h"
--#include "SystemPropertiesImpl.h"
--#include "VirtualBoxImpl.h"
--
--
--/*******************************************************************************
--* Defined Constants And Macros *
--*******************************************************************************/
--/** @name VBOX_EXTPACK_HELPER_NAME
-- * The name of the utility application we employ to install and uninstall the
-- * extension packs. This is a set-uid-to-root binary on unixy platforms, which
-- * is why it has to be a separate application.
-- */
--#if defined(RT_OS_WINDOWS) || defined(RT_OS_OS2)
--# define VBOX_EXTPACK_HELPER_NAME "VBoxExtPackHelperApp.exe"
--#else
--# define VBOX_EXTPACK_HELPER_NAME "VBoxExtPackHelperApp"
--#endif
--
--
--/*******************************************************************************
--* Structures and Typedefs *
--*******************************************************************************/
--struct ExtPackBaseData
--{
--public:
-- /** The extension pack descriptor (loaded from the XML, mostly). */
-- VBOXEXTPACKDESC Desc;
-- /** The file system object info of the XML file.
-- * This is for detecting changes and save time in refresh(). */
-- RTFSOBJINFO ObjInfoDesc;
-- /** Whether it's usable or not. */
-- bool fUsable;
-- /** Why it is unusable. */
-- Utf8Str strWhyUnusable;
--};
--
--/**
-- * Private extension pack data.
-- */
--struct ExtPackFile::Data : public ExtPackBaseData
--{
--public:
-- /** The path to the tarball. */
-- Utf8Str strExtPackFile;
-- /** The SHA-256 hash of the file (as string). */
-- Utf8Str strDigest;
-- /** The file handle of the extension pack file. */
-- RTFILE hExtPackFile;
-- /** Our manifest for the tarball. */
-- RTMANIFEST hOurManifest;
-- /** Pointer to the extension pack manager. */
-- ComObjPtr<ExtPackManager> ptrExtPackMgr;
-- /** Pointer to the VirtualBox object so we can create a progress object. */
-- VirtualBox *pVirtualBox;
--
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
--};
--
--/**
-- * Private extension pack data.
-- */
--struct ExtPack::Data : public ExtPackBaseData
--{
--public:
-- /** Where the extension pack is located. */
-- Utf8Str strExtPackPath;
-- /** The file system object info of the extension pack directory.
-- * This is for detecting changes and save time in refresh(). */
-- RTFSOBJINFO ObjInfoExtPack;
-- /** The full path to the main module. */
-- Utf8Str strMainModPath;
-- /** The file system object info of the main module.
-- * This is used to determin whether to bother try reload it. */
-- RTFSOBJINFO ObjInfoMainMod;
-- /** The module handle of the main extension pack module. */
-- RTLDRMOD hMainMod;
--
-- /** The helper callbacks for the extension pack. */
-- VBOXEXTPACKHLP Hlp;
-- /** Pointer back to the extension pack object (for Hlp methods). */
-- ExtPack *pThis;
-- /** The extension pack registration structure. */
-- PCVBOXEXTPACKREG pReg;
-- /** The current context. */
-- VBOXEXTPACKCTX enmContext;
-- /** Set if we've made the pfnVirtualBoxReady or pfnConsoleReady call. */
-- bool fMadeReadyCall;
--
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
--};
--
--/** List of extension packs. */
--typedef std::list< ComObjPtr<ExtPack> > ExtPackList;
--
--/**
-- * Private extension pack manager data.
-- */
--struct ExtPackManager::Data
--{
-- /** The directory where the extension packs are installed. */
-- Utf8Str strBaseDir;
-- /** The directory where the certificates this installation recognizes are
-- * stored. */
-- Utf8Str strCertificatDirPath;
-- /** The list of installed extension packs. */
-- ExtPackList llInstalledExtPacks;
-- /** Pointer to the VirtualBox object, our parent. */
-- VirtualBox *pVirtualBox;
-- /** The current context. */
-- VBOXEXTPACKCTX enmContext;
--#if !defined(RT_OS_WINDOWS) && !defined(RT_OS_DARWIN)
-- /** File handle for the VBoxVMM libary which we slurp because ExtPacks depend on it. */
-- RTLDRMOD hVBoxVMM;
--#endif
--
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
--};
--
--/**
-- * Extension pack installation job.
-- */
--typedef struct EXTPACKINSTALLJOB
--{
-- /** Smart pointer to the extension pack file. */
-- ComPtr<ExtPackFile> ptrExtPackFile;
-- /** The replace argument. */
-- bool fReplace;
-- /** The display info argument. */
-- Utf8Str strDisplayInfo;
-- /** Smart pointer to the extension manager. */
-- ComPtr<ExtPackManager> ptrExtPackMgr;
-- /** Smart pointer to the progress object for this job. */
-- ComObjPtr<Progress> ptrProgress;
--} EXTPACKINSTALLJOB;
--/** Pointer to an extension pack installation job. */
--typedef EXTPACKINSTALLJOB *PEXTPACKINSTALLJOB;
--
--/**
-- * Extension pack uninstallation job.
-- */
--typedef struct EXTPACKUNINSTALLJOB
--{
-- /** Smart pointer to the extension manager. */
-- ComPtr<ExtPackManager> ptrExtPackMgr;
-- /** The name of the extension pack. */
-- Utf8Str strName;
-- /** The replace argument. */
-- bool fForcedRemoval;
-- /** The display info argument. */
-- Utf8Str strDisplayInfo;
-- /** Smart pointer to the progress object for this job. */
-- ComObjPtr<Progress> ptrProgress;
--} EXTPACKUNINSTALLJOB;
--/** Pointer to an extension pack uninstallation job. */
--typedef EXTPACKUNINSTALLJOB *PEXTPACKUNINSTALLJOB;
--
--
--DEFINE_EMPTY_CTOR_DTOR(ExtPackFile)
--
--/**
-- * Called by ComObjPtr::createObject when creating the object.
-- *
-- * Just initialize the basic object state, do the rest in initWithDir().
-- *
-- * @returns S_OK.
-- */
--HRESULT ExtPackFile::FinalConstruct()
--{
-- m = NULL;
-- return BaseFinalConstruct();
--}
--
--/**
-- * Initializes the extension pack by reading its file.
-- *
-- * @returns COM status code.
-- * @param a_pszFile The path to the extension pack file.
-- * @param a_pszDigest The SHA-256 digest of the file. Or an empty string.
-- * @param a_pExtPackMgr Pointer to the extension pack manager.
-- * @param a_pVirtualBox Pointer to the VirtualBox object.
-- */
--HRESULT ExtPackFile::initWithFile(const char *a_pszFile, const char *a_pszDigest, ExtPackManager *a_pExtPackMgr, VirtualBox *a_pVirtualBox)
--{
-- AutoInitSpan autoInitSpan(this);
-- AssertReturn(autoInitSpan.isOk(), E_FAIL);
--
-- /*
-- * Allocate + initialize our private data.
-- */
-- m = new ExtPackFile::Data;
-- VBoxExtPackInitDesc(&m->Desc);
-- RT_ZERO(m->ObjInfoDesc);
-- m->fUsable = false;
-- m->strWhyUnusable = tr("ExtPack::init failed");
-- m->strExtPackFile = a_pszFile;
-- m->strDigest = a_pszDigest;
-- m->hExtPackFile = NIL_RTFILE;
-- m->hOurManifest = NIL_RTMANIFEST;
-- m->ptrExtPackMgr = a_pExtPackMgr;
-- m->pVirtualBox = a_pVirtualBox;
--
-- RTCString *pstrTarName = VBoxExtPackExtractNameFromTarballPath(a_pszFile);
-- if (pstrTarName)
-- {
-- m->Desc.strName = *pstrTarName;
-- delete pstrTarName;
-- pstrTarName = NULL;
-- }
--
-- autoInitSpan.setSucceeded();
--
-- /*
-- * Try open the extension pack and check that it is a regular file.
-- */
-- int vrc = RTFileOpen(&m->hExtPackFile, a_pszFile,
-- RTFILE_O_READ | RTFILE_O_DENY_WRITE | RTFILE_O_OPEN);
-- if (RT_FAILURE(vrc))
-- {
-- if (vrc == VERR_FILE_NOT_FOUND || vrc == VERR_PATH_NOT_FOUND)
-- return initFailed(tr("'%s' file not found"), a_pszFile);
-- return initFailed(tr("RTFileOpen('%s',,) failed with %Rrc"), a_pszFile, vrc);
-- }
--
-- RTFSOBJINFO ObjInfo;
-- vrc = RTFileQueryInfo(m->hExtPackFile, &ObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_FAILURE(vrc))
-- return initFailed(tr("RTFileQueryInfo failed with %Rrc on '%s'"), vrc, a_pszFile);
-- if (!RTFS_IS_FILE(ObjInfo.Attr.fMode))
-- return initFailed(tr("Not a regular file: %s"), a_pszFile);
--
-- /*
-- * Validate the tarball and extract the XML file.
-- */
-- char szError[8192];
-- RTVFSFILE hXmlFile;
-- vrc = VBoxExtPackValidateTarball(m->hExtPackFile, NULL /*pszExtPackName*/, a_pszFile, a_pszDigest,
-- szError, sizeof(szError), &m->hOurManifest, &hXmlFile, &m->strDigest);
-- if (RT_FAILURE(vrc))
-- return initFailed(tr("%s"), szError);
--
-- /*
-- * Parse the XML.
-- */
-- RTCString strSavedName(m->Desc.strName);
-- RTCString *pStrLoadErr = VBoxExtPackLoadDescFromVfsFile(hXmlFile, &m->Desc, &m->ObjInfoDesc);
-- RTVfsFileRelease(hXmlFile);
-- if (pStrLoadErr != NULL)
-- {
-- m->strWhyUnusable.printf(tr("Failed to the xml file: %s"), pStrLoadErr->c_str());
-- m->Desc.strName = strSavedName;
-- delete pStrLoadErr;
-- return S_OK;
-- }
--
-- /*
-- * Match the tarball name with the name from the XML.
-- */
-- /** @todo drop this restriction after the old install interface is
-- * dropped. */
-- if (!strSavedName.equalsIgnoreCase(m->Desc.strName))
-- return initFailed(tr("Extension pack name mismatch between the downloaded file and the XML inside it (xml='%s' file='%s')"),
-- m->Desc.strName.c_str(), strSavedName.c_str());
--
-- m->fUsable = true;
-- m->strWhyUnusable.setNull();
-- return S_OK;
--}
--
--/**
-- * Protected helper that formats the strWhyUnusable value.
-- *
-- * @returns S_OK
-- * @param a_pszWhyFmt Why it failed, format string.
-- * @param ... The format arguments.
-- */
--HRESULT ExtPackFile::initFailed(const char *a_pszWhyFmt, ...)
--{
-- va_list va;
-- va_start(va, a_pszWhyFmt);
-- m->strWhyUnusable.printfV(a_pszWhyFmt, va);
-- va_end(va);
-- return S_OK;
--}
--
--/**
-- * COM cruft.
-- */
--void ExtPackFile::FinalRelease()
--{
-- uninit();
-- BaseFinalRelease();
--}
--
--/**
-- * Do the actual cleanup.
-- */
--void ExtPackFile::uninit()
--{
-- /* Enclose the state transition Ready->InUninit->NotReady */
-- AutoUninitSpan autoUninitSpan(this);
-- if (!autoUninitSpan.uninitDone() && m != NULL)
-- {
-- VBoxExtPackFreeDesc(&m->Desc);
-- RTFileClose(m->hExtPackFile);
-- m->hExtPackFile = NIL_RTFILE;
-- RTManifestRelease(m->hOurManifest);
-- m->hOurManifest = NIL_RTMANIFEST;
--
-- delete m;
-- m = NULL;
-- }
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Name)(BSTR *a_pbstrName)
--{
-- CheckComArgOutPointerValid(a_pbstrName);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strName);
-- str.cloneTo(a_pbstrName);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Description)(BSTR *a_pbstrDescription)
--{
-- CheckComArgOutPointerValid(a_pbstrDescription);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strDescription);
-- str.cloneTo(a_pbstrDescription);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Version)(BSTR *a_pbstrVersion)
--{
-- CheckComArgOutPointerValid(a_pbstrVersion);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- /* HACK ALERT: This is for easing backporting to 4.1. The edition stuff
-- will be changed into a separate */
-- if (m->Desc.strEdition.isEmpty())
-- {
-- Bstr str(m->Desc.strVersion);
-- str.cloneTo(a_pbstrVersion);
-- }
-- else
-- {
-- RTCString strHack(m->Desc.strVersion);
-- strHack.append('-');
-- strHack.append(m->Desc.strEdition);
--
-- Bstr str(strHack);
-- str.cloneTo(a_pbstrVersion);
-- }
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Revision)(ULONG *a_puRevision)
--{
-- CheckComArgOutPointerValid(a_puRevision);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_puRevision = m->Desc.uRevision;
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(VRDEModule)(BSTR *a_pbstrVrdeModule)
--{
-- CheckComArgOutPointerValid(a_pbstrVrdeModule);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strVrdeModule);
-- str.cloneTo(a_pbstrVrdeModule);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(PlugIns)(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns))
--{
-- /** @todo implement plug-ins. */
--#ifdef VBOX_WITH_XPCOM
-- NOREF(a_paPlugIns);
-- NOREF(a_paPlugInsSize);
--#endif
-- ReturnComNotImplemented();
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Usable)(BOOL *a_pfUsable)
--{
-- CheckComArgOutPointerValid(a_pfUsable);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_pfUsable = m->fUsable;
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(WhyUnusable)(BSTR *a_pbstrWhy)
--{
-- CheckComArgOutPointerValid(a_pbstrWhy);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- m->strWhyUnusable.cloneTo(a_pbstrWhy);
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(ShowLicense)(BOOL *a_pfShowIt)
--{
-- CheckComArgOutPointerValid(a_pfShowIt);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_pfShowIt = m->Desc.fShowLicense;
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(License)(BSTR *a_pbstrHtmlLicense)
--{
-- Bstr bstrHtml("html");
-- return QueryLicense(Bstr::Empty.raw(), Bstr::Empty.raw(), bstrHtml.raw(), a_pbstrHtmlLicense);
--}
--
--/* Same as ExtPack::QueryLicense, should really explore the subject of base classes here... */
--STDMETHODIMP ExtPackFile::QueryLicense(IN_BSTR a_bstrPreferredLocale, IN_BSTR a_bstrPreferredLanguage, IN_BSTR a_bstrFormat,
-- BSTR *a_pbstrLicense)
--{
-- /*
-- * Validate input.
-- */
-- CheckComArgOutPointerValid(a_pbstrLicense);
-- CheckComArgNotNull(a_bstrPreferredLocale);
-- CheckComArgNotNull(a_bstrPreferredLanguage);
-- CheckComArgNotNull(a_bstrFormat);
--
-- Utf8Str strPreferredLocale(a_bstrPreferredLocale);
-- if (strPreferredLocale.length() != 2 && strPreferredLocale.length() != 0)
-- return setError(E_FAIL, tr("The preferred locale is a two character string or empty."));
--
-- Utf8Str strPreferredLanguage(a_bstrPreferredLanguage);
-- if (strPreferredLanguage.length() != 2 && strPreferredLanguage.length() != 0)
-- return setError(E_FAIL, tr("The preferred lanuage is a two character string or empty."));
--
-- Utf8Str strFormat(a_bstrFormat);
-- if ( !strFormat.equals("html")
-- && !strFormat.equals("rtf")
-- && !strFormat.equals("txt"))
-- return setError(E_FAIL, tr("The license format can only have the values 'html', 'rtf' and 'txt'."));
--
-- /*
-- * Combine the options to form a file name before locking down anything.
-- */
-- char szName[sizeof(VBOX_EXTPACK_LICENSE_NAME_PREFIX "-de_DE.html") + 2];
-- if (strPreferredLocale.isNotEmpty() && strPreferredLanguage.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-%s_%s.%s",
-- strPreferredLocale.c_str(), strPreferredLanguage.c_str(), strFormat.c_str());
-- else if (strPreferredLocale.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-%s.%s", strPreferredLocale.c_str(), strFormat.c_str());
-- else if (strPreferredLanguage.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-_%s.%s", strPreferredLocale.c_str(), strFormat.c_str());
-- else
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX ".%s", strFormat.c_str());
--
-- /*
-- * Lock the extension pack. We need a write lock here as there must not be
-- * concurrent accesses to the tar file handle.
-- */
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- /*
-- * Do not permit this query on a pack that isn't considered usable (could
-- * be marked so because of bad license files).
-- */
-- if (!m->fUsable)
-- hrc = setError(E_FAIL, tr("%s"), m->strWhyUnusable.c_str());
-- else
-- {
-- /*
-- * Look it up in the manifest before scanning the tarball for it
-- */
-- if (RTManifestEntryExists(m->hOurManifest, szName))
-- {
-- RTVFSFSSTREAM hTarFss;
-- char szError[8192];
-- int vrc = VBoxExtPackOpenTarFss(m->hExtPackFile, szError, sizeof(szError), &hTarFss, NULL);
-- if (RT_SUCCESS(vrc))
-- {
-- for (;;)
-- {
-- /* Get the first/next. */
-- char *pszName;
-- RTVFSOBJ hVfsObj;
-- RTVFSOBJTYPE enmType;
-- vrc = RTVfsFsStrmNext(hTarFss, &pszName, &enmType, &hVfsObj);
-- if (RT_FAILURE(vrc))
-- {
-- if (vrc != VERR_EOF)
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTVfsFsStrmNext failed: %Rrc"), vrc);
-- else
-- hrc = setError(E_UNEXPECTED, tr("'%s' was found in the manifest but not in the tarball"), szName);
-- break;
-- }
--
-- /* Is this it? */
-- const char *pszAdjName = pszName[0] == '.' && pszName[1] == '/' ? &pszName[2] : pszName;
-- if ( !strcmp(pszAdjName, szName)
-- && ( enmType == RTVFSOBJTYPE_IO_STREAM
-- || enmType == RTVFSOBJTYPE_FILE))
-- {
-- RTVFSIOSTREAM hVfsIos = RTVfsObjToIoStream(hVfsObj);
-- RTVfsObjRelease(hVfsObj);
-- RTStrFree(pszName);
--
-- /* Load the file into memory. */
-- RTFSOBJINFO ObjInfo;
-- vrc = RTVfsIoStrmQueryInfo(hVfsIos, &ObjInfo, RTFSOBJATTRADD_NOTHING);
-- if (RT_SUCCESS(vrc))
-- {
-- size_t cbFile = (size_t)ObjInfo.cbObject;
-- void *pvFile = RTMemAllocZ(cbFile + 1);
-- if (pvFile)
-- {
-- vrc = RTVfsIoStrmRead(hVfsIos, pvFile, cbFile, true /*fBlocking*/, NULL);
-- if (RT_SUCCESS(vrc))
-- {
-- /* try translate it into a string we can return. */
-- Bstr bstrLicense((const char *)pvFile, cbFile);
-- if (bstrLicense.isNotEmpty())
-- {
-- bstrLicense.detachTo(a_pbstrLicense);
-- hrc = S_OK;
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR,
-- tr("The license file '%s' is empty or contains invalid UTF-8 encoding"),
-- szName);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("Failed to read '%s': %Rrc"), szName, vrc);
-- RTMemFree(pvFile);
-- }
-- else
-- hrc = setError(E_OUTOFMEMORY, tr("Failed to allocate %zu bytes for '%s'"), cbFile, szName);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTVfsIoStrmQueryInfo on '%s': %Rrc"), szName, vrc);
-- RTVfsIoStrmRelease(hVfsIos);
-- break;
-- }
--
-- /* Release current. */
-- RTVfsObjRelease(hVfsObj);
-- RTStrFree(pszName);
-- }
-- RTVfsFsStrmRelease(hTarFss);
-- }
-- else
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("%s"), szError);
-- }
-- else
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("The license file '%s' was not found in '%s'"),
-- szName, m->strExtPackFile.c_str());
-- }
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(FilePath)(BSTR *a_pbstrPath)
--{
-- CheckComArgOutPointerValid(a_pbstrPath);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- m->strExtPackFile.cloneTo(a_pbstrPath);
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::Install(BOOL a_fReplace, IN_BSTR a_bstrDisplayInfo, IProgress **a_ppProgress)
--{
-- if (a_ppProgress)
-- *a_ppProgress = NULL;
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- if (m->fUsable)
-- {
-- PEXTPACKINSTALLJOB pJob = NULL;
-- try
-- {
-- pJob = new EXTPACKINSTALLJOB;
-- pJob->ptrExtPackFile = this;
-- pJob->fReplace = a_fReplace != FALSE;
-- pJob->strDisplayInfo = a_bstrDisplayInfo;
-- pJob->ptrExtPackMgr = m->ptrExtPackMgr;
-- hrc = pJob->ptrProgress.createObject();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr bstrDescription = tr("Installing extension pack");
-- hrc = pJob->ptrProgress->init(
--#ifndef VBOX_COM_INPROC
-- m->pVirtualBox,
--#endif
-- static_cast<IExtPackFile *>(this),
-- bstrDescription.raw(),
-- FALSE /*aCancelable*/,
-- NULL /*aId*/);
-- }
-- if (SUCCEEDED(hrc))
-- {
-- ComPtr<Progress> ptrProgress = pJob->ptrProgress;
-- int vrc = RTThreadCreate(NULL /*phThread*/, ExtPackManager::doInstallThreadProc, pJob, 0,
-- RTTHREADTYPE_DEFAULT, 0 /*fFlags*/, "ExtPackInst");
-- if (RT_SUCCESS(vrc))
-- {
-- pJob = NULL; /* the thread deletes it */
-- ptrProgress.queryInterfaceTo(a_ppProgress);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTThreadCreate failed with %Rrc"), vrc);
-- }
-- }
-- catch (std::bad_alloc)
-- {
-- hrc = E_OUTOFMEMORY;
-- }
-- if (pJob)
-- delete pJob;
-- }
-- else
-- hrc = setError(E_FAIL, "%s", m->strWhyUnusable.c_str());
-- }
-- return hrc;
--}
--
--
--
--
--
--DEFINE_EMPTY_CTOR_DTOR(ExtPack)
--
--/**
-- * Called by ComObjPtr::createObject when creating the object.
-- *
-- * Just initialize the basic object state, do the rest in initWithDir().
-- *
-- * @returns S_OK.
-- */
--HRESULT ExtPack::FinalConstruct()
--{
-- m = NULL;
-- return S_OK;
--}
--
--/**
-- * Initializes the extension pack by reading its file.
-- *
-- * @returns COM status code.
-- * @param a_enmContext The context we're in.
-- * @param a_pszName The name of the extension pack. This is also the
-- * name of the subdirector under @a a_pszParentDir
-- * where the extension pack is installed.
-- * @param a_pszDir The extension pack directory name.
-- */
--HRESULT ExtPack::initWithDir(VBOXEXTPACKCTX a_enmContext, const char *a_pszName, const char *a_pszDir)
--{
-- AutoInitSpan autoInitSpan(this);
-- AssertReturn(autoInitSpan.isOk(), E_FAIL);
--
-- static const VBOXEXTPACKHLP s_HlpTmpl =
-- {
-- /* u32Version = */ VBOXEXTPACKHLP_VERSION,
-- /* uVBoxFullVersion = */ VBOX_FULL_VERSION,
-- /* uVBoxVersionRevision = */ 0,
-- /* u32Padding = */ 0,
-- /* pszVBoxVersion = */ "",
-- /* pfnFindModule = */ ExtPack::hlpFindModule,
-- /* pfnGetFilePath = */ ExtPack::hlpGetFilePath,
-- /* pfnGetContext = */ ExtPack::hlpGetContext,
-- /* pfnReserved1 = */ ExtPack::hlpReservedN,
-- /* pfnReserved2 = */ ExtPack::hlpReservedN,
-- /* pfnReserved3 = */ ExtPack::hlpReservedN,
-- /* pfnReserved4 = */ ExtPack::hlpReservedN,
-- /* pfnReserved5 = */ ExtPack::hlpReservedN,
-- /* pfnReserved6 = */ ExtPack::hlpReservedN,
-- /* pfnReserved7 = */ ExtPack::hlpReservedN,
-- /* pfnReserved8 = */ ExtPack::hlpReservedN,
-- /* pfnReserved9 = */ ExtPack::hlpReservedN,
-- /* u32EndMarker = */ VBOXEXTPACKHLP_VERSION
-- };
--
-- /*
-- * Allocate + initialize our private data.
-- */
-- m = new Data;
-- VBoxExtPackInitDesc(&m->Desc);
-- m->Desc.strName = a_pszName;
-- RT_ZERO(m->ObjInfoDesc);
-- m->fUsable = false;
-- m->strWhyUnusable = tr("ExtPack::init failed");
-- m->strExtPackPath = a_pszDir;
-- RT_ZERO(m->ObjInfoExtPack);
-- m->strMainModPath.setNull();
-- RT_ZERO(m->ObjInfoMainMod);
-- m->hMainMod = NIL_RTLDRMOD;
-- m->Hlp = s_HlpTmpl;
-- m->Hlp.pszVBoxVersion = RTBldCfgVersion();
-- m->Hlp.uVBoxInternalRevision = RTBldCfgRevision();
-- m->pThis = this;
-- m->pReg = NULL;
-- m->enmContext = a_enmContext;
-- m->fMadeReadyCall = false;
--
-- /*
-- * Probe the extension pack (this code is shared with refresh()).
-- */
-- probeAndLoad();
--
-- autoInitSpan.setSucceeded();
-- return S_OK;
--}
--
--/**
-- * COM cruft.
-- */
--void ExtPack::FinalRelease()
--{
-- uninit();
--}
--
--/**
-- * Do the actual cleanup.
-- */
--void ExtPack::uninit()
--{
-- /* Enclose the state transition Ready->InUninit->NotReady */
-- AutoUninitSpan autoUninitSpan(this);
-- if (!autoUninitSpan.uninitDone() && m != NULL)
-- {
-- if (m->hMainMod != NIL_RTLDRMOD)
-- {
-- AssertPtr(m->pReg);
-- if (m->pReg->pfnUnload != NULL)
-- m->pReg->pfnUnload(m->pReg);
--
-- RTLdrClose(m->hMainMod);
-- m->hMainMod = NIL_RTLDRMOD;
-- m->pReg = NULL;
-- }
--
-- VBoxExtPackFreeDesc(&m->Desc);
--
-- delete m;
-- m = NULL;
-- }
--}
--
--
--/**
-- * Calls the installed hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pVirtualBox The VirtualBox interface.
-- * @param a_pLock The write lock held by the caller.
-- * @param pErrInfo Where to return error information.
-- */
--bool ExtPack::callInstalledHook(IVirtualBox *a_pVirtualBox, AutoWriteLock *a_pLock, PRTERRINFO pErrInfo)
--{
-- if ( m != NULL
-- && m->hMainMod != NIL_RTLDRMOD)
-- {
-- if (m->pReg->pfnInstalled)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- pErrInfo->rc = m->pReg->pfnInstalled(m->pReg, a_pVirtualBox, pErrInfo);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- pErrInfo->rc = VINF_SUCCESS;
-- return false;
--}
--
--/**
-- * Calls the uninstall hook and closes the module.
-- *
-- * @returns S_OK or COM error status with error information.
-- * @param a_pVirtualBox The VirtualBox interface.
-- * @param a_fForcedRemoval When set, we'll ignore complaints from the
-- * uninstall hook.
-- * @remarks The caller holds the manager's write lock, not released.
-- */
--HRESULT ExtPack::callUninstallHookAndClose(IVirtualBox *a_pVirtualBox, bool a_fForcedRemoval)
--{
-- HRESULT hrc = S_OK;
--
-- if ( m != NULL
-- && m->hMainMod != NIL_RTLDRMOD)
-- {
-- if (m->pReg->pfnUninstall && !a_fForcedRemoval)
-- {
-- int vrc = m->pReg->pfnUninstall(m->pReg, a_pVirtualBox);
-- if (RT_FAILURE(vrc))
-- {
-- LogRel(("ExtPack pfnUninstall returned %Rrc for %s\n", vrc, m->Desc.strName.c_str()));
-- if (!a_fForcedRemoval)
-- hrc = setError(E_FAIL, tr("pfnUninstall returned %Rrc"), vrc);
-- }
-- }
-- if (SUCCEEDED(hrc))
-- {
-- RTLdrClose(m->hMainMod);
-- m->hMainMod = NIL_RTLDRMOD;
-- m->pReg = NULL;
-- }
-- }
--
-- return hrc;
--}
--
--/**
-- * Calls the pfnVirtualBoxReady hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pVirtualBox The VirtualBox interface.
-- * @param a_pLock The write lock held by the caller.
-- */
--bool ExtPack::callVirtualBoxReadyHook(IVirtualBox *a_pVirtualBox, AutoWriteLock *a_pLock)
--{
-- if ( m != NULL
-- && m->fUsable
-- && !m->fMadeReadyCall)
-- {
-- m->fMadeReadyCall = true;
-- if (m->pReg->pfnVirtualBoxReady)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- m->pReg->pfnVirtualBoxReady(m->pReg, a_pVirtualBox);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnConsoleReady hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pConsole The Console interface.
-- * @param a_pLock The write lock held by the caller.
-- */
--bool ExtPack::callConsoleReadyHook(IConsole *a_pConsole, AutoWriteLock *a_pLock)
--{
-- if ( m != NULL
-- && m->fUsable
-- && !m->fMadeReadyCall)
-- {
-- m->fMadeReadyCall = true;
-- if (m->pReg->pfnConsoleReady)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- m->pReg->pfnConsoleReady(m->pReg, a_pConsole);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnVMCreate hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pVirtualBox The VirtualBox interface.
-- * @param a_pMachine The machine interface of the new VM.
-- * @param a_pLock The write lock held by the caller.
-- */
--bool ExtPack::callVmCreatedHook(IVirtualBox *a_pVirtualBox, IMachine *a_pMachine, AutoWriteLock *a_pLock)
--{
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->pReg->pfnVMCreated)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- m->pReg->pfnVMCreated(m->pReg, a_pVirtualBox, a_pMachine);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnVMConfigureVMM hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pConsole The console interface.
-- * @param a_pVM The VM handle.
-- * @param a_pLock The write lock held by the caller.
-- * @param a_pvrc Where to return the status code of the
-- * callback. This is always set. LogRel is
-- * called on if a failure status is returned.
-- */
--bool ExtPack::callVmConfigureVmmHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock, int *a_pvrc)
--{
-- *a_pvrc = VINF_SUCCESS;
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->pReg->pfnVMConfigureVMM)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- int vrc = m->pReg->pfnVMConfigureVMM(m->pReg, a_pConsole, a_pVM);
-- *a_pvrc = vrc;
-- a_pLock->acquire();
-- if (RT_FAILURE(vrc))
-- LogRel(("ExtPack pfnVMConfigureVMM returned %Rrc for %s\n", vrc, m->Desc.strName.c_str()));
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnVMPowerOn hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pConsole The console interface.
-- * @param a_pVM The VM handle.
-- * @param a_pLock The write lock held by the caller.
-- * @param a_pvrc Where to return the status code of the
-- * callback. This is always set. LogRel is
-- * called on if a failure status is returned.
-- */
--bool ExtPack::callVmPowerOnHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock, int *a_pvrc)
--{
-- *a_pvrc = VINF_SUCCESS;
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->pReg->pfnVMPowerOn)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- int vrc = m->pReg->pfnVMPowerOn(m->pReg, a_pConsole, a_pVM);
-- *a_pvrc = vrc;
-- a_pLock->acquire();
-- if (RT_FAILURE(vrc))
-- LogRel(("ExtPack pfnVMPowerOn returned %Rrc for %s\n", vrc, m->Desc.strName.c_str()));
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnVMPowerOff hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pConsole The console interface.
-- * @param a_pVM The VM handle.
-- * @param a_pLock The write lock held by the caller.
-- */
--bool ExtPack::callVmPowerOffHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock)
--{
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->pReg->pfnVMPowerOff)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- m->pReg->pfnVMPowerOff(m->pReg, a_pConsole, a_pVM);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Check if the extension pack is usable and has an VRDE module.
-- *
-- * @returns S_OK or COM error status with error information.
-- *
-- * @remarks Caller holds the extension manager lock for reading, no locking
-- * necessary.
-- */
--HRESULT ExtPack::checkVrde(void)
--{
-- HRESULT hrc;
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->Desc.strVrdeModule.isNotEmpty())
-- hrc = S_OK;
-- else
-- hrc = setError(E_FAIL, tr("The extension pack '%s' does not include a VRDE module"), m->Desc.strName.c_str());
-- }
-- else
-- hrc = setError(E_FAIL, tr("%s"), m->strWhyUnusable.c_str());
-- return hrc;
--}
--
--/**
-- * Same as checkVrde(), except that it also resolves the path to the module.
-- *
-- * @returns S_OK or COM error status with error information.
-- * @param a_pstrVrdeLibrary Where to return the path on success.
-- *
-- * @remarks Caller holds the extension manager lock for reading, no locking
-- * necessary.
-- */
--HRESULT ExtPack::getVrdpLibraryName(Utf8Str *a_pstrVrdeLibrary)
--{
-- HRESULT hrc = checkVrde();
-- if (SUCCEEDED(hrc))
-- {
-- if (findModule(m->Desc.strVrdeModule.c_str(), NULL, VBOXEXTPACKMODKIND_R3,
-- a_pstrVrdeLibrary, NULL /*a_pfNative*/, NULL /*a_pObjInfo*/))
-- hrc = S_OK;
-- else
-- hrc = setError(E_FAIL, tr("Failed to locate the VRDE module '%s' in extension pack '%s'"),
-- m->Desc.strVrdeModule.c_str(), m->Desc.strName.c_str());
-- }
-- return hrc;
--}
--
--/**
-- * Check if this extension pack wishes to be the default VRDE provider.
-- *
-- * @returns @c true if it wants to and it is in a usable state, otherwise
-- * @c false.
-- *
-- * @remarks Caller holds the extension manager lock for reading, no locking
-- * necessary.
-- */
--bool ExtPack::wantsToBeDefaultVrde(void) const
--{
-- return m->fUsable
-- && m->Desc.strVrdeModule.isNotEmpty();
--}
--
--/**
-- * Refreshes the extension pack state.
-- *
-- * This is called by the manager so that the on disk changes are picked up.
-- *
-- * @returns S_OK or COM error status with error information.
-- *
-- * @param a_pfCanDelete Optional can-delete-this-object output indicator.
-- *
-- * @remarks Caller holds the extension manager lock for writing.
-- * @remarks Only called in VBoxSVC.
-- */
--HRESULT ExtPack::refresh(bool *a_pfCanDelete)
--{
-- if (a_pfCanDelete)
-- *a_pfCanDelete = false;
--
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS); /* for the COMGETTERs */
--
-- /*
-- * Has the module been deleted?
-- */
-- RTFSOBJINFO ObjInfoExtPack;
-- int vrc = RTPathQueryInfoEx(m->strExtPackPath.c_str(), &ObjInfoExtPack, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if ( RT_FAILURE(vrc)
-- || !RTFS_IS_DIRECTORY(ObjInfoExtPack.Attr.fMode))
-- {
-- if (a_pfCanDelete)
-- *a_pfCanDelete = true;
-- return S_OK;
-- }
--
-- /*
-- * We've got a directory, so try query file system object info for the
-- * files we are interested in as well.
-- */
-- RTFSOBJINFO ObjInfoDesc;
-- char szDescFilePath[RTPATH_MAX];
-- vrc = RTPathJoin(szDescFilePath, sizeof(szDescFilePath), m->strExtPackPath.c_str(), VBOX_EXTPACK_DESCRIPTION_NAME);
-- if (RT_SUCCESS(vrc))
-- vrc = RTPathQueryInfoEx(szDescFilePath, &ObjInfoDesc, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- RT_ZERO(ObjInfoDesc);
--
-- RTFSOBJINFO ObjInfoMainMod;
-- if (m->strMainModPath.isNotEmpty())
-- vrc = RTPathQueryInfoEx(m->strMainModPath.c_str(), &ObjInfoMainMod, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if (m->strMainModPath.isEmpty() || RT_FAILURE(vrc))
-- RT_ZERO(ObjInfoMainMod);
--
-- /*
-- * If we have a usable module already, just verify that things haven't
-- * changed since we loaded it.
-- */
-- if (m->fUsable)
-- {
-- if (m->hMainMod == NIL_RTLDRMOD)
-- probeAndLoad();
-- else if ( !objinfoIsEqual(&ObjInfoDesc, &m->ObjInfoDesc)
-- || !objinfoIsEqual(&ObjInfoMainMod, &m->ObjInfoMainMod)
-- || !objinfoIsEqual(&ObjInfoExtPack, &m->ObjInfoExtPack) )
-- {
-- /** @todo not important, so it can wait. */
-- }
-- }
-- /*
-- * Ok, it is currently not usable. If anything has changed since last time
-- * reprobe the extension pack.
-- */
-- else if ( !objinfoIsEqual(&ObjInfoDesc, &m->ObjInfoDesc)
-- || !objinfoIsEqual(&ObjInfoMainMod, &m->ObjInfoMainMod)
-- || !objinfoIsEqual(&ObjInfoExtPack, &m->ObjInfoExtPack) )
-- probeAndLoad();
--
-- return S_OK;
--}
--
--/**
-- * Probes the extension pack, loading the main dll and calling its registration
-- * entry point.
-- *
-- * This updates the state accordingly, the strWhyUnusable and fUnusable members
-- * being the most important ones.
-- */
--void ExtPack::probeAndLoad(void)
--{
-- m->fUsable = false;
-- m->fMadeReadyCall = false;
--
-- /*
-- * Query the file system info for the extension pack directory. This and
-- * all other file system info we save is for the benefit of refresh().
-- */
-- int vrc = RTPathQueryInfoEx(m->strExtPackPath.c_str(), &m->ObjInfoExtPack, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- {
-- m->strWhyUnusable.printf(tr("RTPathQueryInfoEx on '%s' failed: %Rrc"), m->strExtPackPath.c_str(), vrc);
-- return;
-- }
-- if (!RTFS_IS_DIRECTORY(m->ObjInfoExtPack.Attr.fMode))
-- {
-- if (RTFS_IS_SYMLINK(m->ObjInfoExtPack.Attr.fMode))
-- m->strWhyUnusable.printf(tr("'%s' is a symbolic link, this is not allowed"), m->strExtPackPath.c_str(), vrc);
-- else if (RTFS_IS_FILE(m->ObjInfoExtPack.Attr.fMode))
-- m->strWhyUnusable.printf(tr("'%s' is a symbolic file, not a directory"), m->strExtPackPath.c_str(), vrc);
-- else
-- m->strWhyUnusable.printf(tr("'%s' is not a directory (fMode=%#x)"), m->strExtPackPath.c_str(), m->ObjInfoExtPack.Attr.fMode);
-- return;
-- }
--
-- RTERRINFOSTATIC ErrInfo;
-- RTErrInfoInitStatic(&ErrInfo);
-- vrc = SUPR3HardenedVerifyDir(m->strExtPackPath.c_str(), true /*fRecursive*/, true /*fCheckFiles*/, &ErrInfo.Core);
-- if (RT_FAILURE(vrc))
-- {
-- m->strWhyUnusable.printf(tr("%s (rc=%Rrc)"), ErrInfo.Core.pszMsg, vrc);
-- return;
-- }
--
-- /*
-- * Read the description file.
-- */
-- RTCString strSavedName(m->Desc.strName);
-- RTCString *pStrLoadErr = VBoxExtPackLoadDesc(m->strExtPackPath.c_str(), &m->Desc, &m->ObjInfoDesc);
-- if (pStrLoadErr != NULL)
-- {
-- m->strWhyUnusable.printf(tr("Failed to load '%s/%s': %s"),
-- m->strExtPackPath.c_str(), VBOX_EXTPACK_DESCRIPTION_NAME, pStrLoadErr->c_str());
-- m->Desc.strName = strSavedName;
-- delete pStrLoadErr;
-- return;
-- }
--
-- /*
-- * Make sure the XML name and directory matches.
-- */
-- if (!m->Desc.strName.equalsIgnoreCase(strSavedName))
-- {
-- m->strWhyUnusable.printf(tr("The description name ('%s') and directory name ('%s') does not match"),
-- m->Desc.strName.c_str(), strSavedName.c_str());
-- m->Desc.strName = strSavedName;
-- return;
-- }
--
-- /*
-- * Load the main DLL and call the predefined entry point.
-- */
-- bool fIsNative;
-- if (!findModule(m->Desc.strMainModule.c_str(), NULL /* default extension */, VBOXEXTPACKMODKIND_R3,
-- &m->strMainModPath, &fIsNative, &m->ObjInfoMainMod))
-- {
-- m->strWhyUnusable.printf(tr("Failed to locate the main module ('%s')"), m->Desc.strMainModule.c_str());
-- return;
-- }
--
-- vrc = SUPR3HardenedVerifyPlugIn(m->strMainModPath.c_str(), &ErrInfo.Core);
-- if (RT_FAILURE(vrc))
-- {
-- m->strWhyUnusable.printf(tr("%s"), ErrInfo.Core.pszMsg);
-- return;
-- }
--
-- if (fIsNative)
-- {
-- vrc = SUPR3HardenedLdrLoadPlugIn(m->strMainModPath.c_str(), &m->hMainMod, &ErrInfo.Core);
-- if (RT_FAILURE(vrc))
-- {
-- m->hMainMod = NIL_RTLDRMOD;
-- m->strWhyUnusable.printf(tr("Failed to load the main module ('%s'): %Rrc - %s"),
-- m->strMainModPath.c_str(), vrc, ErrInfo.Core.pszMsg);
-- return;
-- }
-- }
-- else
-- {
-- m->strWhyUnusable.printf(tr("Only native main modules are currently supported"));
-- return;
-- }
--
-- /*
-- * Resolve the predefined entry point.
-- */
-- PFNVBOXEXTPACKREGISTER pfnRegistration;
-- vrc = RTLdrGetSymbol(m->hMainMod, VBOX_EXTPACK_MAIN_MOD_ENTRY_POINT, (void **)&pfnRegistration);
-- if (RT_SUCCESS(vrc))
-- {
-- RTErrInfoClear(&ErrInfo.Core);
-- vrc = pfnRegistration(&m->Hlp, &m->pReg, &ErrInfo.Core);
-- if ( RT_SUCCESS(vrc)
-- && !RTErrInfoIsSet(&ErrInfo.Core)
-- && VALID_PTR(m->pReg))
-- {
-- if ( VBOXEXTPACK_IS_MAJOR_VER_EQUAL(m->pReg->u32Version, VBOXEXTPACKREG_VERSION)
-- && m->pReg->u32EndMarker == m->pReg->u32Version)
-- {
-- if ( (!m->pReg->pfnInstalled || RT_VALID_PTR(m->pReg->pfnInstalled))
-- && (!m->pReg->pfnUninstall || RT_VALID_PTR(m->pReg->pfnUninstall))
-- && (!m->pReg->pfnVirtualBoxReady || RT_VALID_PTR(m->pReg->pfnVirtualBoxReady))
-- && (!m->pReg->pfnConsoleReady || RT_VALID_PTR(m->pReg->pfnConsoleReady))
-- && (!m->pReg->pfnUnload || RT_VALID_PTR(m->pReg->pfnUnload))
-- && (!m->pReg->pfnVMCreated || RT_VALID_PTR(m->pReg->pfnVMCreated))
-- && (!m->pReg->pfnVMConfigureVMM || RT_VALID_PTR(m->pReg->pfnVMConfigureVMM))
-- && (!m->pReg->pfnVMPowerOn || RT_VALID_PTR(m->pReg->pfnVMPowerOn))
-- && (!m->pReg->pfnVMPowerOff || RT_VALID_PTR(m->pReg->pfnVMPowerOff))
-- && (!m->pReg->pfnQueryObject || RT_VALID_PTR(m->pReg->pfnQueryObject))
-- )
-- {
-- /*
-- * We're good!
-- */
-- m->fUsable = true;
-- m->strWhyUnusable.setNull();
-- return;
-- }
--
-- m->strWhyUnusable = tr("The registration structure contains on or more invalid function pointers");
-- }
-- else
-- m->strWhyUnusable.printf(tr("Unsupported registration structure version %u.%u"),
-- RT_HIWORD(m->pReg->u32Version), RT_LOWORD(m->pReg->u32Version));
-- }
-- else
-- m->strWhyUnusable.printf(tr("%s returned %Rrc, pReg=%p ErrInfo='%s'"),
-- VBOX_EXTPACK_MAIN_MOD_ENTRY_POINT, vrc, m->pReg, ErrInfo.Core.pszMsg);
-- m->pReg = NULL;
-- }
-- else
-- m->strWhyUnusable.printf(tr("Failed to resolve exported symbol '%s' in the main module: %Rrc"),
-- VBOX_EXTPACK_MAIN_MOD_ENTRY_POINT, vrc);
--
-- RTLdrClose(m->hMainMod);
-- m->hMainMod = NIL_RTLDRMOD;
--}
--
--/**
-- * Finds a module.
-- *
-- * @returns true if found, false if not.
-- * @param a_pszName The module base name (no extension).
-- * @param a_pszExt The extension. If NULL we use default
-- * extensions.
-- * @param a_enmKind The kind of module to locate.
-- * @param a_pStrFound Where to return the path to the module we've
-- * found.
-- * @param a_pfNative Where to return whether this is a native module
-- * or an agnostic one. Optional.
-- * @param a_pObjInfo Where to return the file system object info for
-- * the module. Optional.
-- */
--bool ExtPack::findModule(const char *a_pszName, const char *a_pszExt, VBOXEXTPACKMODKIND a_enmKind,
-- Utf8Str *a_pStrFound, bool *a_pfNative, PRTFSOBJINFO a_pObjInfo) const
--{
-- /*
-- * Try the native path first.
-- */
-- char szPath[RTPATH_MAX];
-- int vrc = RTPathJoin(szPath, sizeof(szPath), m->strExtPackPath.c_str(), RTBldCfgTargetDotArch());
-- AssertLogRelRCReturn(vrc, false);
-- vrc = RTPathAppend(szPath, sizeof(szPath), a_pszName);
-- AssertLogRelRCReturn(vrc, false);
-- if (!a_pszExt)
-- {
-- const char *pszDefExt;
-- switch (a_enmKind)
-- {
-- case VBOXEXTPACKMODKIND_RC: pszDefExt = ".rc"; break;
-- case VBOXEXTPACKMODKIND_R0: pszDefExt = ".r0"; break;
-- case VBOXEXTPACKMODKIND_R3: pszDefExt = RTLdrGetSuff(); break;
-- default:
-- AssertFailedReturn(false);
-- }
-- vrc = RTStrCat(szPath, sizeof(szPath), pszDefExt);
-- AssertLogRelRCReturn(vrc, false);
-- }
--
-- RTFSOBJINFO ObjInfo;
-- if (!a_pObjInfo)
-- a_pObjInfo = &ObjInfo;
-- vrc = RTPathQueryInfo(szPath, a_pObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_SUCCESS(vrc) && RTFS_IS_FILE(a_pObjInfo->Attr.fMode))
-- {
-- if (a_pfNative)
-- *a_pfNative = true;
-- *a_pStrFound = szPath;
-- return true;
-- }
--
-- /*
-- * Try the platform agnostic modules.
-- */
-- /* gcc.x86/module.rel */
-- char szSubDir[32];
-- RTStrPrintf(szSubDir, sizeof(szSubDir), "%s.%s", RTBldCfgCompiler(), RTBldCfgTargetArch());
-- vrc = RTPathJoin(szPath, sizeof(szPath), m->strExtPackPath.c_str(), szSubDir);
-- AssertLogRelRCReturn(vrc, false);
-- vrc = RTPathAppend(szPath, sizeof(szPath), a_pszName);
-- AssertLogRelRCReturn(vrc, false);
-- if (!a_pszExt)
-- {
-- vrc = RTStrCat(szPath, sizeof(szPath), ".rel");
-- AssertLogRelRCReturn(vrc, false);
-- }
-- vrc = RTPathQueryInfo(szPath, a_pObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_SUCCESS(vrc) && RTFS_IS_FILE(a_pObjInfo->Attr.fMode))
-- {
-- if (a_pfNative)
-- *a_pfNative = false;
-- *a_pStrFound = szPath;
-- return true;
-- }
--
-- /* x86/module.rel */
-- vrc = RTPathJoin(szPath, sizeof(szPath), m->strExtPackPath.c_str(), RTBldCfgTargetArch());
-- AssertLogRelRCReturn(vrc, false);
-- vrc = RTPathAppend(szPath, sizeof(szPath), a_pszName);
-- AssertLogRelRCReturn(vrc, false);
-- if (!a_pszExt)
-- {
-- vrc = RTStrCat(szPath, sizeof(szPath), ".rel");
-- AssertLogRelRCReturn(vrc, false);
-- }
-- vrc = RTPathQueryInfo(szPath, a_pObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_SUCCESS(vrc) && RTFS_IS_FILE(a_pObjInfo->Attr.fMode))
-- {
-- if (a_pfNative)
-- *a_pfNative = false;
-- *a_pStrFound = szPath;
-- return true;
-- }
--
-- return false;
--}
--
--/**
-- * Compares two file system object info structures.
-- *
-- * @returns true if equal, false if not.
-- * @param pObjInfo1 The first.
-- * @param pObjInfo2 The second.
-- * @todo IPRT should do this, really.
-- */
--/* static */ bool ExtPack::objinfoIsEqual(PCRTFSOBJINFO pObjInfo1, PCRTFSOBJINFO pObjInfo2)
--{
-- if (!RTTimeSpecIsEqual(&pObjInfo1->ModificationTime, &pObjInfo2->ModificationTime))
-- return false;
-- if (!RTTimeSpecIsEqual(&pObjInfo1->ChangeTime, &pObjInfo2->ChangeTime))
-- return false;
-- if (!RTTimeSpecIsEqual(&pObjInfo1->BirthTime, &pObjInfo2->BirthTime))
-- return false;
-- if (pObjInfo1->cbObject != pObjInfo2->cbObject)
-- return false;
-- if (pObjInfo1->Attr.fMode != pObjInfo2->Attr.fMode)
-- return false;
-- if (pObjInfo1->Attr.enmAdditional == pObjInfo2->Attr.enmAdditional)
-- {
-- switch (pObjInfo1->Attr.enmAdditional)
-- {
-- case RTFSOBJATTRADD_UNIX:
-- if (pObjInfo1->Attr.u.Unix.uid != pObjInfo2->Attr.u.Unix.uid)
-- return false;
-- if (pObjInfo1->Attr.u.Unix.gid != pObjInfo2->Attr.u.Unix.gid)
-- return false;
-- if (pObjInfo1->Attr.u.Unix.INodeIdDevice != pObjInfo2->Attr.u.Unix.INodeIdDevice)
-- return false;
-- if (pObjInfo1->Attr.u.Unix.INodeId != pObjInfo2->Attr.u.Unix.INodeId)
-- return false;
-- if (pObjInfo1->Attr.u.Unix.GenerationId != pObjInfo2->Attr.u.Unix.GenerationId)
-- return false;
-- break;
-- default:
-- break;
-- }
-- }
-- return true;
--}
--
--
--/**
-- * @interface_method_impl{VBOXEXTPACKHLP,pfnFindModule}
-- */
--/*static*/ DECLCALLBACK(int)
--ExtPack::hlpFindModule(PCVBOXEXTPACKHLP pHlp, const char *pszName, const char *pszExt, VBOXEXTPACKMODKIND enmKind,
-- char *pszFound, size_t cbFound, bool *pfNative)
--{
-- /*
-- * Validate the input and get our bearings.
-- */
-- AssertPtrReturn(pszName, VERR_INVALID_POINTER);
-- AssertPtrNullReturn(pszExt, VERR_INVALID_POINTER);
-- AssertPtrReturn(pszFound, VERR_INVALID_POINTER);
-- AssertPtrNullReturn(pfNative, VERR_INVALID_POINTER);
-- AssertReturn(enmKind > VBOXEXTPACKMODKIND_INVALID && enmKind < VBOXEXTPACKMODKIND_END, VERR_INVALID_PARAMETER);
--
-- AssertPtrReturn(pHlp, VERR_INVALID_POINTER);
-- AssertReturn(pHlp->u32Version == VBOXEXTPACKHLP_VERSION, VERR_INVALID_POINTER);
-- ExtPack::Data *m = RT_FROM_CPP_MEMBER(pHlp, Data, Hlp);
-- AssertPtrReturn(m, VERR_INVALID_POINTER);
-- ExtPack *pThis = m->pThis;
-- AssertPtrReturn(pThis, VERR_INVALID_POINTER);
--
-- /*
-- * This is just a wrapper around findModule.
-- */
-- Utf8Str strFound;
-- if (pThis->findModule(pszName, pszExt, enmKind, &strFound, pfNative, NULL))
-- return RTStrCopy(pszFound, cbFound, strFound.c_str());
-- return VERR_FILE_NOT_FOUND;
--}
--
--/*static*/ DECLCALLBACK(int)
--ExtPack::hlpGetFilePath(PCVBOXEXTPACKHLP pHlp, const char *pszFilename, char *pszPath, size_t cbPath)
--{
-- /*
-- * Validate the input and get our bearings.
-- */
-- AssertPtrReturn(pszFilename, VERR_INVALID_POINTER);
-- AssertPtrReturn(pszPath, VERR_INVALID_POINTER);
-- AssertReturn(cbPath > 0, VERR_BUFFER_OVERFLOW);
--
-- AssertPtrReturn(pHlp, VERR_INVALID_POINTER);
-- AssertReturn(pHlp->u32Version == VBOXEXTPACKHLP_VERSION, VERR_INVALID_POINTER);
-- ExtPack::Data *m = RT_FROM_CPP_MEMBER(pHlp, Data, Hlp);
-- AssertPtrReturn(m, VERR_INVALID_POINTER);
-- ExtPack *pThis = m->pThis;
-- AssertPtrReturn(pThis, VERR_INVALID_POINTER);
--
-- /*
-- * This is a simple RTPathJoin, no checking if things exists or anything.
-- */
-- int vrc = RTPathJoin(pszPath, cbPath, pThis->m->strExtPackPath.c_str(), pszFilename);
-- if (RT_FAILURE(vrc))
-- RT_BZERO(pszPath, cbPath);
-- return vrc;
--}
--
--/*static*/ DECLCALLBACK(VBOXEXTPACKCTX)
--ExtPack::hlpGetContext(PCVBOXEXTPACKHLP pHlp)
--{
-- /*
-- * Validate the input and get our bearings.
-- */
-- AssertPtrReturn(pHlp, VBOXEXTPACKCTX_INVALID);
-- AssertReturn(pHlp->u32Version == VBOXEXTPACKHLP_VERSION, VBOXEXTPACKCTX_INVALID);
-- ExtPack::Data *m = RT_FROM_CPP_MEMBER(pHlp, Data, Hlp);
-- AssertPtrReturn(m, VBOXEXTPACKCTX_INVALID);
-- ExtPack *pThis = m->pThis;
-- AssertPtrReturn(pThis, VBOXEXTPACKCTX_INVALID);
--
-- return pThis->m->enmContext;
--}
--
--/*static*/ DECLCALLBACK(int)
--ExtPack::hlpReservedN(PCVBOXEXTPACKHLP pHlp)
--{
-- /*
-- * Validate the input and get our bearings.
-- */
-- AssertPtrReturn(pHlp, VERR_INVALID_POINTER);
-- AssertReturn(pHlp->u32Version == VBOXEXTPACKHLP_VERSION, VERR_INVALID_POINTER);
-- ExtPack::Data *m = RT_FROM_CPP_MEMBER(pHlp, Data, Hlp);
-- AssertPtrReturn(m, VERR_INVALID_POINTER);
-- ExtPack *pThis = m->pThis;
-- AssertPtrReturn(pThis, VERR_INVALID_POINTER);
--
-- return VERR_NOT_IMPLEMENTED;
--}
--
--
--
--
--
--STDMETHODIMP ExtPack::COMGETTER(Name)(BSTR *a_pbstrName)
--{
-- CheckComArgOutPointerValid(a_pbstrName);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strName);
-- str.cloneTo(a_pbstrName);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(Description)(BSTR *a_pbstrDescription)
--{
-- CheckComArgOutPointerValid(a_pbstrDescription);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strDescription);
-- str.cloneTo(a_pbstrDescription);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(Version)(BSTR *a_pbstrVersion)
--{
-- CheckComArgOutPointerValid(a_pbstrVersion);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- /* HACK ALERT: This is for easing backporting to 4.1. The edition stuff
-- will be changed into a separate */
-- if (m->Desc.strEdition.isEmpty())
-- {
-- Bstr str(m->Desc.strVersion);
-- str.cloneTo(a_pbstrVersion);
-- }
-- else
-- {
-- RTCString strHack(m->Desc.strVersion);
-- strHack.append('-');
-- strHack.append(m->Desc.strEdition);
--
-- Bstr str(strHack);
-- str.cloneTo(a_pbstrVersion);
-- }
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(Revision)(ULONG *a_puRevision)
--{
-- CheckComArgOutPointerValid(a_puRevision);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_puRevision = m->Desc.uRevision;
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(VRDEModule)(BSTR *a_pbstrVrdeModule)
--{
-- CheckComArgOutPointerValid(a_pbstrVrdeModule);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strVrdeModule);
-- str.cloneTo(a_pbstrVrdeModule);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(PlugIns)(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns))
--{
-- /** @todo implement plug-ins. */
--#ifdef VBOX_WITH_XPCOM
-- NOREF(a_paPlugIns);
-- NOREF(a_paPlugInsSize);
--#endif
-- ReturnComNotImplemented();
--}
--
--STDMETHODIMP ExtPack::COMGETTER(Usable)(BOOL *a_pfUsable)
--{
-- CheckComArgOutPointerValid(a_pfUsable);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_pfUsable = m->fUsable;
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(WhyUnusable)(BSTR *a_pbstrWhy)
--{
-- CheckComArgOutPointerValid(a_pbstrWhy);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- m->strWhyUnusable.cloneTo(a_pbstrWhy);
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(ShowLicense)(BOOL *a_pfShowIt)
--{
-- CheckComArgOutPointerValid(a_pfShowIt);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_pfShowIt = m->Desc.fShowLicense;
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(License)(BSTR *a_pbstrHtmlLicense)
--{
-- Bstr bstrHtml("html");
-- return QueryLicense(Bstr::Empty.raw(), Bstr::Empty.raw(), bstrHtml.raw(), a_pbstrHtmlLicense);
--}
--
--STDMETHODIMP ExtPack::QueryLicense(IN_BSTR a_bstrPreferredLocale, IN_BSTR a_bstrPreferredLanguage, IN_BSTR a_bstrFormat,
-- BSTR *a_pbstrLicense)
--{
-- /*
-- * Validate input.
-- */
-- CheckComArgOutPointerValid(a_pbstrLicense);
-- CheckComArgNotNull(a_bstrPreferredLocale);
-- CheckComArgNotNull(a_bstrPreferredLanguage);
-- CheckComArgNotNull(a_bstrFormat);
--
-- Utf8Str strPreferredLocale(a_bstrPreferredLocale);
-- if (strPreferredLocale.length() != 2 && strPreferredLocale.length() != 0)
-- return setError(E_FAIL, tr("The preferred locale is a two character string or empty."));
--
-- Utf8Str strPreferredLanguage(a_bstrPreferredLanguage);
-- if (strPreferredLanguage.length() != 2 && strPreferredLanguage.length() != 0)
-- return setError(E_FAIL, tr("The preferred lanuage is a two character string or empty."));
--
-- Utf8Str strFormat(a_bstrFormat);
-- if ( !strFormat.equals("html")
-- && !strFormat.equals("rtf")
-- && !strFormat.equals("txt"))
-- return setError(E_FAIL, tr("The license format can only have the values 'html', 'rtf' and 'txt'."));
--
-- /*
-- * Combine the options to form a file name before locking down anything.
-- */
-- char szName[sizeof(VBOX_EXTPACK_LICENSE_NAME_PREFIX "-de_DE.html") + 2];
-- if (strPreferredLocale.isNotEmpty() && strPreferredLanguage.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-%s_%s.%s",
-- strPreferredLocale.c_str(), strPreferredLanguage.c_str(), strFormat.c_str());
-- else if (strPreferredLocale.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-%s.%s", strPreferredLocale.c_str(), strFormat.c_str());
-- else if (strPreferredLanguage.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-_%s.%s", strPreferredLocale.c_str(), strFormat.c_str());
-- else
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX ".%s", strFormat.c_str());
--
-- /*
-- * Effectuate the query.
-- */
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS); /* paranoia */
--
-- if (!m->fUsable)
-- hrc = setError(E_FAIL, tr("%s"), m->strWhyUnusable.c_str());
-- else
-- {
-- char szPath[RTPATH_MAX];
-- int vrc = RTPathJoin(szPath, sizeof(szPath), m->strExtPackPath.c_str(), szName);
-- if (RT_SUCCESS(vrc))
-- {
-- void *pvFile;
-- size_t cbFile;
-- vrc = RTFileReadAllEx(szPath, 0, RTFOFF_MAX, RTFILE_RDALL_O_DENY_READ, &pvFile, &cbFile);
-- if (RT_SUCCESS(vrc))
-- {
-- Bstr bstrLicense((const char *)pvFile, cbFile);
-- if (bstrLicense.isNotEmpty())
-- {
-- bstrLicense.detachTo(a_pbstrLicense);
-- hrc = S_OK;
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("The license file '%s' is empty or contains invalid UTF-8 encoding"),
-- szPath);
-- RTFileReadAllFree(pvFile, cbFile);
-- }
-- else if (vrc == VERR_FILE_NOT_FOUND || vrc == VERR_PATH_NOT_FOUND)
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("The license file '%s' was not found in extension pack '%s'"),
-- szName, m->Desc.strName.c_str());
-- else
-- hrc = setError(VBOX_E_FILE_ERROR, tr("Failed to open the license file '%s': %Rrc"), szPath, vrc);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTPathJoin failed: %Rrc"), vrc);
-- }
-- }
-- return hrc;
--}
--
--
--STDMETHODIMP ExtPack::QueryObject(IN_BSTR a_bstrObjectId, IUnknown **a_ppUnknown)
--{
-- com::Guid ObjectId;
-- CheckComArgGuid(a_bstrObjectId, ObjectId);
-- CheckComArgOutPointerValid(a_ppUnknown);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- if ( m->pReg
-- && m->pReg->pfnQueryObject)
-- {
-- void *pvUnknown = m->pReg->pfnQueryObject(m->pReg, ObjectId.raw());
-- if (pvUnknown)
-- *a_ppUnknown = (IUnknown *)pvUnknown;
-- else
-- hrc = E_NOINTERFACE;
-- }
-- else
-- hrc = E_NOINTERFACE;
-- }
-- return hrc;
--}
--
--
--
--
--DEFINE_EMPTY_CTOR_DTOR(ExtPackManager)
--
--/**
-- * Called by ComObjPtr::createObject when creating the object.
-- *
-- * Just initialize the basic object state, do the rest in init().
-- *
-- * @returns S_OK.
-- */
--HRESULT ExtPackManager::FinalConstruct()
--{
-- m = NULL;
-- return S_OK;
--}
--
--/**
-- * Initializes the extension pack manager.
-- *
-- * @returns COM status code.
-- * @param a_pVirtualBox Pointer to the VirtualBox object.
-- * @param a_enmContext The context we're in.
-- */
--HRESULT ExtPackManager::initExtPackManager(VirtualBox *a_pVirtualBox, VBOXEXTPACKCTX a_enmContext)
--{
-- AutoInitSpan autoInitSpan(this);
-- AssertReturn(autoInitSpan.isOk(), E_FAIL);
--
-- /*
-- * Figure some stuff out before creating the instance data.
-- */
-- char szBaseDir[RTPATH_MAX];
-- int rc = RTPathAppPrivateArchTop(szBaseDir, sizeof(szBaseDir));
-- AssertLogRelRCReturn(rc, E_FAIL);
-- rc = RTPathAppend(szBaseDir, sizeof(szBaseDir), VBOX_EXTPACK_INSTALL_DIR);
-- AssertLogRelRCReturn(rc, E_FAIL);
--
-- char szCertificatDir[RTPATH_MAX];
-- rc = RTPathAppPrivateNoArch(szCertificatDir, sizeof(szCertificatDir));
-- AssertLogRelRCReturn(rc, E_FAIL);
-- rc = RTPathAppend(szCertificatDir, sizeof(szCertificatDir), VBOX_EXTPACK_CERT_DIR);
-- AssertLogRelRCReturn(rc, E_FAIL);
--
-- /*
-- * Allocate and initialize the instance data.
-- */
-- m = new Data;
-- m->strBaseDir = szBaseDir;
-- m->strCertificatDirPath = szCertificatDir;
-- m->pVirtualBox = a_pVirtualBox;
-- m->enmContext = a_enmContext;
--
-- /*
-- * Slurp in VBoxVMM which is used by VBoxPuelMain.
-- */
--#if !defined(RT_OS_WINDOWS) && !defined(RT_OS_DARWIN)
-- if (a_enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON)
-- {
-- int vrc = SUPR3HardenedLdrLoadAppPriv("VBoxVMM", &m->hVBoxVMM, RTLDRLOAD_FLAGS_GLOBAL, NULL);
-- if (RT_FAILURE(vrc))
-- m->hVBoxVMM = NIL_RTLDRMOD;
-- /* cleanup in ::uninit()? */
-- }
--#endif
--
-- /*
-- * Go looking for extensions. The RTDirOpen may fail if nothing has been
-- * installed yet, or if root is paranoid and has revoked our access to them.
-- *
-- * We ASSUME that there are no files, directories or stuff in the directory
-- * that exceed the max name length in RTDIRENTRYEX.
-- */
-- HRESULT hrc = S_OK;
-- PRTDIR pDir;
-- int vrc = RTDirOpen(&pDir, szBaseDir);
-- if (RT_SUCCESS(vrc))
-- {
-- for (;;)
-- {
-- RTDIRENTRYEX Entry;
-- vrc = RTDirReadEx(pDir, &Entry, NULL /*pcbDirEntry*/, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- {
-- AssertLogRelMsg(vrc == VERR_NO_MORE_FILES, ("%Rrc\n", vrc));
-- break;
-- }
-- if ( RTFS_IS_DIRECTORY(Entry.Info.Attr.fMode)
-- && strcmp(Entry.szName, ".") != 0
-- && strcmp(Entry.szName, "..") != 0
-- && VBoxExtPackIsValidMangledName(Entry.szName) )
-- {
-- /*
-- * All directories are extensions, the shall be nothing but
-- * extensions in this subdirectory.
-- */
-- char szExtPackDir[RTPATH_MAX];
-- vrc = RTPathJoin(szExtPackDir, sizeof(szExtPackDir), m->strBaseDir.c_str(), Entry.szName);
-- AssertLogRelRC(vrc);
-- if (RT_SUCCESS(vrc))
-- {
-- RTCString *pstrName = VBoxExtPackUnmangleName(Entry.szName, RTSTR_MAX);
-- AssertLogRel(pstrName);
-- if (pstrName)
-- {
-- ComObjPtr<ExtPack> NewExtPack;
-- HRESULT hrc2 = NewExtPack.createObject();
-- if (SUCCEEDED(hrc2))
-- hrc2 = NewExtPack->initWithDir(a_enmContext, pstrName->c_str(), szExtPackDir);
-- delete pstrName;
-- if (SUCCEEDED(hrc2))
-- m->llInstalledExtPacks.push_back(NewExtPack);
-- else if (SUCCEEDED(rc))
-- hrc = hrc2;
-- }
-- else
-- hrc = E_UNEXPECTED;
-- }
-- else
-- hrc = E_UNEXPECTED;
-- }
-- }
-- RTDirClose(pDir);
-- }
-- /* else: ignore, the directory probably does not exist or something. */
--
-- if (SUCCEEDED(hrc))
-- autoInitSpan.setSucceeded();
-- return hrc;
--}
--
--/**
-- * COM cruft.
-- */
--void ExtPackManager::FinalRelease()
--{
-- uninit();
--}
--
--/**
-- * Do the actual cleanup.
-- */
--void ExtPackManager::uninit()
--{
-- /* Enclose the state transition Ready->InUninit->NotReady */
-- AutoUninitSpan autoUninitSpan(this);
-- if (!autoUninitSpan.uninitDone() && m != NULL)
-- {
-- delete m;
-- m = NULL;
-- }
--}
--
--
--STDMETHODIMP ExtPackManager::COMGETTER(InstalledExtPacks)(ComSafeArrayOut(IExtPack *, a_paExtPacks))
--{
-- CheckComArgOutSafeArrayPointerValid(a_paExtPacks);
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- SafeIfaceArray<IExtPack> SaExtPacks(m->llInstalledExtPacks);
-- SaExtPacks.detachTo(ComSafeArrayOutArg(a_paExtPacks));
-- }
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::Find(IN_BSTR a_bstrName, IExtPack **a_pExtPack)
--{
-- CheckComArgNotNull(a_bstrName);
-- CheckComArgOutPointerValid(a_pExtPack);
-- Utf8Str strName(a_bstrName);
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- ComPtr<ExtPack> ptrExtPack = findExtPack(strName.c_str());
-- if (!ptrExtPack.isNull())
-- ptrExtPack.queryInterfaceTo(a_pExtPack);
-- else
-- hrc = VBOX_E_OBJECT_NOT_FOUND;
-- }
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::OpenExtPackFile(IN_BSTR a_bstrTarballAndDigest, IExtPackFile **a_ppExtPackFile)
--{
-- CheckComArgNotNull(a_bstrTarballAndDigest);
-- CheckComArgOutPointerValid(a_ppExtPackFile);
-- AssertReturn(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON, E_UNEXPECTED);
--
-- /* The API can optionally take a ::SHA-256=<hex-digest> attribute at the
-- end of the file name. This is just a temporary measure for
-- backporting, in 4.2 we'll add another parameter to the method. */
-- Utf8Str strTarball;
-- Utf8Str strDigest;
-- Utf8Str strTarballAndDigest(a_bstrTarballAndDigest);
-- size_t offSha256 = strTarballAndDigest.find("::SHA-256=");
-- if (offSha256 == Utf8Str::npos)
-- strTarball = strTarballAndDigest;
-- else
-- {
-- strTarball = strTarballAndDigest.substr(0, offSha256);
-- strDigest = strTarballAndDigest.substr(offSha256 + sizeof("::SHA-256=") - 1);
-- }
--
-- ComObjPtr<ExtPackFile> NewExtPackFile;
-- HRESULT hrc = NewExtPackFile.createObject();
-- if (SUCCEEDED(hrc))
-- hrc = NewExtPackFile->initWithFile(strTarball.c_str(), strDigest.c_str(), this, m->pVirtualBox);
-- if (SUCCEEDED(hrc))
-- NewExtPackFile.queryInterfaceTo(a_ppExtPackFile);
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::Uninstall(IN_BSTR a_bstrName, BOOL a_fForcedRemoval, IN_BSTR a_bstrDisplayInfo,
-- IProgress **a_ppProgress)
--{
-- CheckComArgNotNull(a_bstrName);
-- if (a_ppProgress)
-- *a_ppProgress = NULL;
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- PEXTPACKUNINSTALLJOB pJob = NULL;
-- try
-- {
-- pJob = new EXTPACKUNINSTALLJOB;
-- pJob->ptrExtPackMgr = this;
-- pJob->strName = a_bstrName;
-- pJob->fForcedRemoval = a_fForcedRemoval != FALSE;
-- pJob->strDisplayInfo = a_bstrDisplayInfo;
-- hrc = pJob->ptrProgress.createObject();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr bstrDescription = tr("Uninstalling extension pack");
-- hrc = pJob->ptrProgress->init(
--#ifndef VBOX_COM_INPROC
-- m->pVirtualBox,
--#endif
-- static_cast<IExtPackManager *>(this),
-- bstrDescription.raw(),
-- FALSE /*aCancelable*/,
-- NULL /*aId*/);
-- }
-- if (SUCCEEDED(hrc))
-- {
-- ComPtr<Progress> ptrProgress = pJob->ptrProgress;
-- int vrc = RTThreadCreate(NULL /*phThread*/, ExtPackManager::doUninstallThreadProc, pJob, 0,
-- RTTHREADTYPE_DEFAULT, 0 /*fFlags*/, "ExtPackUninst");
-- if (RT_SUCCESS(vrc))
-- {
-- pJob = NULL; /* the thread deletes it */
-- ptrProgress.queryInterfaceTo(a_ppProgress);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTThreadCreate failed with %Rrc"), vrc);
-- }
-- }
-- catch (std::bad_alloc)
-- {
-- hrc = E_OUTOFMEMORY;
-- }
-- if (pJob)
-- delete pJob;
-- }
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::Cleanup(void)
--{
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- /*
-- * Run the set-uid-to-root binary that performs the cleanup.
-- *
-- * Take the write lock to prevent conflicts with other calls to this
-- * VBoxSVC instance.
-- */
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- hrc = runSetUidToRootHelper(NULL,
-- "cleanup",
-- "--base-dir", m->strBaseDir.c_str(),
-- (const char *)NULL);
-- }
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::QueryAllPlugInsForFrontend(IN_BSTR a_bstrFrontend, ComSafeArrayOut(BSTR, a_pabstrPlugInModules))
--{
-- CheckComArgNotNull(a_bstrFrontend);
-- Utf8Str strName(a_bstrFrontend);
-- CheckComArgOutSafeArrayPointerValid(a_pabstrPlugInModules);
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- com::SafeArray<BSTR> saPaths((size_t)0);
-- /** @todo implement plug-ins */
-- saPaths.detachTo(ComSafeArrayOutArg(a_pabstrPlugInModules));
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::IsExtPackUsable(IN_BSTR a_bstrExtPack, BOOL *aUsable)
--{
-- CheckComArgNotNull(a_bstrExtPack);
-- Utf8Str strExtPack(a_bstrExtPack);
-- *aUsable = isExtPackUsable(strExtPack.c_str());
-- return S_OK;
--}
--
--/**
-- * Finds the success indicator string in the stderr output ofr hte helper app.
-- *
-- * @returns Pointer to the indicator.
-- * @param psz The stderr output string. Can be NULL.
-- * @param cch The size of the string.
-- */
--static char *findSuccessIndicator(char *psz, size_t cch)
--{
-- static const char s_szSuccessInd[] = "rcExit=RTEXITCODE_SUCCESS";
-- Assert(!cch || strlen(psz) == cch);
-- if (cch < sizeof(s_szSuccessInd) - 1)
-- return NULL;
-- char *pszInd = &psz[cch - sizeof(s_szSuccessInd) + 1];
-- if (strcmp(s_szSuccessInd, pszInd))
-- return NULL;
-- return pszInd;
--}
--
--/**
-- * Runs the helper application that does the privileged operations.
-- *
-- * @returns S_OK or a failure status with error information set.
-- * @param a_pstrDisplayInfo Platform specific display info hacks.
-- * @param a_pszCommand The command to execute.
-- * @param ... The argument strings that goes along with the
-- * command. Maximum is about 16. Terminated by a
-- * NULL.
-- */
--HRESULT ExtPackManager::runSetUidToRootHelper(Utf8Str const *a_pstrDisplayInfo, const char *a_pszCommand, ...)
--{
-- /*
-- * Calculate the path to the helper application.
-- */
-- char szExecName[RTPATH_MAX];
-- int vrc = RTPathAppPrivateArch(szExecName, sizeof(szExecName));
-- AssertLogRelRCReturn(vrc, E_UNEXPECTED);
--
-- vrc = RTPathAppend(szExecName, sizeof(szExecName), VBOX_EXTPACK_HELPER_NAME);
-- AssertLogRelRCReturn(vrc, E_UNEXPECTED);
--
-- /*
-- * Convert the variable argument list to a RTProcCreate argument vector.
-- */
-- const char *apszArgs[20];
-- unsigned cArgs = 0;
--
-- LogRel(("ExtPack: Executing '%s'", szExecName));
-- apszArgs[cArgs++] = &szExecName[0];
--
-- if ( a_pstrDisplayInfo
-- && a_pstrDisplayInfo->isNotEmpty())
-- {
-- LogRel((" '--display-info-hack' '%s'", a_pstrDisplayInfo->c_str()));
-- apszArgs[cArgs++] = "--display-info-hack";
-- apszArgs[cArgs++] = a_pstrDisplayInfo->c_str();
-- }
--
-- LogRel(("'%s'", a_pszCommand));
-- apszArgs[cArgs++] = a_pszCommand;
--
-- va_list va;
-- va_start(va, a_pszCommand);
-- const char *pszLastArg;
-- for (;;)
-- {
-- AssertReturn(cArgs < RT_ELEMENTS(apszArgs) - 1, E_UNEXPECTED);
-- pszLastArg = va_arg(va, const char *);
-- if (!pszLastArg)
-- break;
-- LogRel((" '%s'", pszLastArg));
-- apszArgs[cArgs++] = pszLastArg;
-- };
-- va_end(va);
--
-- LogRel(("\n"));
-- apszArgs[cArgs] = NULL;
--
-- /*
-- * Create a PIPE which we attach to stderr so that we can read the error
-- * message on failure and report it back to the caller.
-- */
-- RTPIPE hPipeR;
-- RTHANDLE hStdErrPipe;
-- hStdErrPipe.enmType = RTHANDLETYPE_PIPE;
-- vrc = RTPipeCreate(&hPipeR, &hStdErrPipe.u.hPipe, RTPIPE_C_INHERIT_WRITE);
-- AssertLogRelRCReturn(vrc, E_UNEXPECTED);
--
-- /*
-- * Spawn the process.
-- */
-- HRESULT hrc;
-- RTPROCESS hProcess;
-- vrc = RTProcCreateEx(szExecName,
-- apszArgs,
-- RTENV_DEFAULT,
-- 0 /*fFlags*/,
-- NULL /*phStdIn*/,
-- NULL /*phStdOut*/,
-- &hStdErrPipe,
-- NULL /*pszAsUser*/,
-- NULL /*pszPassword*/,
-- &hProcess);
-- if (RT_SUCCESS(vrc))
-- {
-- vrc = RTPipeClose(hStdErrPipe.u.hPipe);
-- hStdErrPipe.u.hPipe = NIL_RTPIPE;
--
-- /*
-- * Read the pipe output until the process completes.
-- */
-- RTPROCSTATUS ProcStatus = { -42, RTPROCEXITREASON_ABEND };
-- size_t cbStdErrBuf = 0;
-- size_t offStdErrBuf = 0;
-- char *pszStdErrBuf = NULL;
-- do
-- {
-- /*
-- * Service the pipe. Block waiting for output or the pipe breaking
-- * when the process terminates.
-- */
-- if (hPipeR != NIL_RTPIPE)
-- {
-- char achBuf[1024];
-- size_t cbRead;
-- vrc = RTPipeReadBlocking(hPipeR, achBuf, sizeof(achBuf), &cbRead);
-- if (RT_SUCCESS(vrc))
-- {
-- /* grow the buffer? */
-- size_t cbBufReq = offStdErrBuf + cbRead + 1;
-- if ( cbBufReq > cbStdErrBuf
-- && cbBufReq < _256K)
-- {
-- size_t cbNew = RT_ALIGN_Z(cbBufReq, 16); // 1024
-- void *pvNew = RTMemRealloc(pszStdErrBuf, cbNew);
-- if (pvNew)
-- {
-- pszStdErrBuf = (char *)pvNew;
-- cbStdErrBuf = cbNew;
-- }
-- }
--
-- /* append if we've got room. */
-- if (cbBufReq <= cbStdErrBuf)
-- {
-- memcpy(&pszStdErrBuf[offStdErrBuf], achBuf, cbRead);
-- offStdErrBuf = offStdErrBuf + cbRead;
-- pszStdErrBuf[offStdErrBuf] = '\0';
-- }
-- }
-- else
-- {
-- AssertLogRelMsg(vrc == VERR_BROKEN_PIPE, ("%Rrc\n", vrc));
-- RTPipeClose(hPipeR);
-- hPipeR = NIL_RTPIPE;
-- }
-- }
--
-- /*
-- * Service the process. Block if we have no pipe.
-- */
-- if (hProcess != NIL_RTPROCESS)
-- {
-- vrc = RTProcWait(hProcess,
-- hPipeR == NIL_RTPIPE ? RTPROCWAIT_FLAGS_BLOCK : RTPROCWAIT_FLAGS_NOBLOCK,
-- &ProcStatus);
-- if (RT_SUCCESS(vrc))
-- hProcess = NIL_RTPROCESS;
-- else
-- AssertLogRelMsgStmt(vrc == VERR_PROCESS_RUNNING, ("%Rrc\n", vrc), hProcess = NIL_RTPROCESS);
-- }
-- } while ( hPipeR != NIL_RTPIPE
-- || hProcess != NIL_RTPROCESS);
--
-- LogRel(("ExtPack: enmReason=%d iStatus=%d stderr='%s'\n",
-- ProcStatus.enmReason, ProcStatus.iStatus, offStdErrBuf ? pszStdErrBuf : ""));
--
-- /*
-- * Look for rcExit=RTEXITCODE_SUCCESS at the end of the error output,
-- * cut it as it is only there to attest the success.
-- */
-- if (offStdErrBuf > 0)
-- {
-- RTStrStripR(pszStdErrBuf);
-- offStdErrBuf = strlen(pszStdErrBuf);
-- }
--
-- char *pszSuccessInd = findSuccessIndicator(pszStdErrBuf, offStdErrBuf);
-- if (pszSuccessInd)
-- {
-- *pszSuccessInd = '\0';
-- offStdErrBuf = pszSuccessInd - pszStdErrBuf;
-- }
-- else if ( ProcStatus.enmReason == RTPROCEXITREASON_NORMAL
-- && ProcStatus.iStatus == 0)
-- ProcStatus.iStatus = offStdErrBuf ? 667 : 666;
--
-- /*
-- * Compose the status code and, on failure, error message.
-- */
-- if ( ProcStatus.enmReason == RTPROCEXITREASON_NORMAL
-- && ProcStatus.iStatus == 0)
-- hrc = S_OK;
-- else if (ProcStatus.enmReason == RTPROCEXITREASON_NORMAL)
-- {
-- AssertMsg(ProcStatus.iStatus != 0, ("%s\n", pszStdErrBuf));
-- hrc = setError(E_FAIL, tr("The installer failed with exit code %d: %s"),
-- ProcStatus.iStatus, offStdErrBuf ? pszStdErrBuf : "");
-- }
-- else if (ProcStatus.enmReason == RTPROCEXITREASON_SIGNAL)
-- hrc = setError(E_UNEXPECTED, tr("The installer was killed by signal #d (stderr: %s)"),
-- ProcStatus.iStatus, offStdErrBuf ? pszStdErrBuf : "");
-- else if (ProcStatus.enmReason == RTPROCEXITREASON_ABEND)
-- hrc = setError(E_UNEXPECTED, tr("The installer aborted abnormally (stderr: %s)"),
-- offStdErrBuf ? pszStdErrBuf : "");
-- else
-- hrc = setError(E_UNEXPECTED, tr("internal error: enmReason=%d iStatus=%d stderr='%s'"),
-- ProcStatus.enmReason, ProcStatus.iStatus, offStdErrBuf ? pszStdErrBuf : "");
--
-- RTMemFree(pszStdErrBuf);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("Failed to launch the helper application '%s' (%Rrc)"), szExecName, vrc);
--
-- RTPipeClose(hPipeR);
-- RTPipeClose(hStdErrPipe.u.hPipe);
--
-- return hrc;
--}
--
--/**
-- * Finds an installed extension pack.
-- *
-- * @returns Pointer to the extension pack if found, NULL if not. (No reference
-- * counting problem here since the caller must be holding the lock.)
-- * @param a_pszName The name of the extension pack.
-- */
--ExtPack *ExtPackManager::findExtPack(const char *a_pszName)
--{
-- size_t cchName = strlen(a_pszName);
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- it++)
-- {
-- ExtPack::Data *pExtPackData = (*it)->m;
-- if ( pExtPackData
-- && pExtPackData->Desc.strName.length() == cchName
-- && pExtPackData->Desc.strName.equalsIgnoreCase(a_pszName))
-- return (*it);
-- }
-- return NULL;
--}
--
--/**
-- * Removes an installed extension pack from the internal list.
-- *
-- * The package is expected to exist!
-- *
-- * @param a_pszName The name of the extension pack.
-- */
--void ExtPackManager::removeExtPack(const char *a_pszName)
--{
-- size_t cchName = strlen(a_pszName);
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- it++)
-- {
-- ExtPack::Data *pExtPackData = (*it)->m;
-- if ( pExtPackData
-- && pExtPackData->Desc.strName.length() == cchName
-- && pExtPackData->Desc.strName.equalsIgnoreCase(a_pszName))
-- {
-- m->llInstalledExtPacks.erase(it);
-- return;
-- }
-- }
-- AssertMsgFailed(("%s\n", a_pszName));
--}
--
--/**
-- * Refreshes the specified extension pack.
-- *
-- * This may remove the extension pack from the list, so any non-smart pointers
-- * to the extension pack object may become invalid.
-- *
-- * @returns S_OK and *a_ppExtPack on success, COM status code and error
-- * message on failure. Note that *a_ppExtPack can be NULL.
-- *
-- * @param a_pszName The extension to update..
-- * @param a_fUnusableIsError If @c true, report an unusable extension pack
-- * as an error.
-- * @param a_ppExtPack Where to store the pointer to the extension
-- * pack of it is still around after the refresh.
-- * This is optional.
-- *
-- * @remarks Caller holds the extension manager lock.
-- * @remarks Only called in VBoxSVC.
-- */
--HRESULT ExtPackManager::refreshExtPack(const char *a_pszName, bool a_fUnusableIsError, ExtPack **a_ppExtPack)
--{
-- Assert(m->pVirtualBox != NULL); /* Only called from VBoxSVC. */
--
-- HRESULT hrc;
-- ExtPack *pExtPack = findExtPack(a_pszName);
-- if (pExtPack)
-- {
-- /*
-- * Refresh existing object.
-- */
-- bool fCanDelete;
-- hrc = pExtPack->refresh(&fCanDelete);
-- if (SUCCEEDED(hrc))
-- {
-- if (fCanDelete)
-- {
-- removeExtPack(a_pszName);
-- pExtPack = NULL;
-- }
-- }
-- }
-- else
-- {
-- /*
-- * Do this check here, otherwise VBoxExtPackCalcDir() will fail with a strange
-- * error.
-- */
-- bool fValid = VBoxExtPackIsValidName(a_pszName);
-- if (!fValid)
-- return setError(E_FAIL, "Invalid extension pack name specified");
--
-- /*
-- * Does the dir exist? Make some special effort to deal with case
-- * sensitivie file systems (a_pszName is case insensitive and mangled).
-- */
-- char szDir[RTPATH_MAX];
-- int vrc = VBoxExtPackCalcDir(szDir, sizeof(szDir), m->strBaseDir.c_str(), a_pszName);
-- AssertLogRelRCReturn(vrc, E_FAIL);
--
-- RTDIRENTRYEX Entry;
-- RTFSOBJINFO ObjInfo;
-- vrc = RTPathQueryInfoEx(szDir, &ObjInfo, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK);
-- bool fExists = RT_SUCCESS(vrc) && RTFS_IS_DIRECTORY(ObjInfo.Attr.fMode);
-- if (!fExists)
-- {
-- PRTDIR pDir;
-- vrc = RTDirOpen(&pDir, m->strBaseDir.c_str());
-- if (RT_SUCCESS(vrc))
-- {
-- const char *pszMangledName = RTPathFilename(szDir);
-- for (;;)
-- {
-- vrc = RTDirReadEx(pDir, &Entry, NULL /*pcbDirEntry*/, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- {
-- AssertLogRelMsg(vrc == VERR_NO_MORE_FILES, ("%Rrc\n", vrc));
-- break;
-- }
-- if ( RTFS_IS_DIRECTORY(Entry.Info.Attr.fMode)
-- && !RTStrICmp(Entry.szName, pszMangledName))
-- {
-- /*
-- * The installed extension pack has a uses different case.
-- * Update the name and directory variables.
-- */
-- vrc = RTPathJoin(szDir, sizeof(szDir), m->strBaseDir.c_str(), Entry.szName); /* not really necessary */
-- AssertLogRelRCReturnStmt(vrc, RTDirClose(pDir), E_UNEXPECTED);
-- a_pszName = Entry.szName;
-- fExists = true;
-- break;
-- }
-- }
-- RTDirClose(pDir);
-- }
-- }
-- if (fExists)
-- {
-- /*
-- * We've got something, create a new extension pack object for it.
-- */
-- ComObjPtr<ExtPack> ptrNewExtPack;
-- hrc = ptrNewExtPack.createObject();
-- if (SUCCEEDED(hrc))
-- hrc = ptrNewExtPack->initWithDir(m->enmContext, a_pszName, szDir);
-- if (SUCCEEDED(hrc))
-- {
-- m->llInstalledExtPacks.push_back(ptrNewExtPack);
-- if (ptrNewExtPack->m->fUsable)
-- LogRel(("ExtPackManager: Found extension pack '%s'.\n", a_pszName));
-- else
-- LogRel(("ExtPackManager: Found bad extension pack '%s': %s\n",
-- a_pszName, ptrNewExtPack->m->strWhyUnusable.c_str() ));
-- pExtPack = ptrNewExtPack;
-- }
-- }
-- else
-- hrc = S_OK;
-- }
--
-- /*
-- * Report error if not usable, if that is desired.
-- */
-- if ( SUCCEEDED(hrc)
-- && pExtPack
-- && a_fUnusableIsError
-- && !pExtPack->m->fUsable)
-- hrc = setError(E_FAIL, "%s", pExtPack->m->strWhyUnusable.c_str());
--
-- if (a_ppExtPack)
-- *a_ppExtPack = pExtPack;
-- return hrc;
--}
--
--/**
-- * Thread wrapper around doInstall.
-- *
-- * @returns VINF_SUCCESS (ignored)
-- * @param hThread The thread handle (ignored).
-- * @param pvJob The job structure.
-- */
--/*static*/ DECLCALLBACK(int) ExtPackManager::doInstallThreadProc(RTTHREAD hThread, void *pvJob)
--{
-- PEXTPACKINSTALLJOB pJob = (PEXTPACKINSTALLJOB)pvJob;
-- HRESULT hrc = pJob->ptrExtPackMgr->doInstall(pJob->ptrExtPackFile, pJob->fReplace, &pJob->strDisplayInfo);
-- pJob->ptrProgress->notifyComplete(hrc);
-- delete pJob;
--
-- NOREF(hThread);
-- return VINF_SUCCESS;
--}
--
--/**
-- * Worker for IExtPackFile::Install.
-- *
-- * Called on a worker thread via doInstallThreadProc.
-- *
-- * @returns COM status code.
-- * @param a_pExtPackFile The extension pack file, caller checks that
-- * it's usable.
-- * @param a_fReplace Whether to replace any existing extpack or just
-- * fail.
-- * @param a_pstrDisplayInfo Host specific display information hacks.
-- * @param a_ppProgress Where to return a progress object some day. Can
-- * be NULL.
-- */
--HRESULT ExtPackManager::doInstall(ExtPackFile *a_pExtPackFile, bool a_fReplace, Utf8Str const *a_pstrDisplayInfo)
--{
-- AssertReturn(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON, E_UNEXPECTED);
-- RTCString const * const pStrName = &a_pExtPackFile->m->Desc.strName;
-- RTCString const * const pStrTarball = &a_pExtPackFile->m->strExtPackFile;
-- RTCString const * const pStrTarballDigest = &a_pExtPackFile->m->strDigest;
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- /*
-- * Refresh the data we have on the extension pack as it
-- * may be made stale by direct meddling or some other user.
-- */
-- ExtPack *pExtPack;
-- hrc = refreshExtPack(pStrName->c_str(), false /*a_fUnusableIsError*/, &pExtPack);
-- if (SUCCEEDED(hrc))
-- {
-- if (pExtPack && a_fReplace)
-- hrc = pExtPack->callUninstallHookAndClose(m->pVirtualBox, false /*a_ForcedRemoval*/);
-- else if (pExtPack)
-- hrc = setError(E_FAIL,
-- tr("Extension pack '%s' is already installed."
-- " In case of a reinstallation, please uninstall it first"),
-- pStrName->c_str());
-- }
-- if (SUCCEEDED(hrc))
-- {
-- /*
-- * Run the privileged helper binary that performs the actual
-- * installation. Then create an object for the packet (we do this
-- * even on failure, to be on the safe side).
-- */
-- hrc = runSetUidToRootHelper(a_pstrDisplayInfo,
-- "install",
-- "--base-dir", m->strBaseDir.c_str(),
-- "--cert-dir", m->strCertificatDirPath.c_str(),
-- "--name", pStrName->c_str(),
-- "--tarball", pStrTarball->c_str(),
-- "--sha-256", pStrTarballDigest->c_str(),
-- pExtPack ? "--replace" : (const char *)NULL,
-- (const char *)NULL);
-- if (SUCCEEDED(hrc))
-- {
-- hrc = refreshExtPack(pStrName->c_str(), true /*a_fUnusableIsError*/, &pExtPack);
-- if (SUCCEEDED(hrc) && pExtPack)
-- {
-- RTERRINFOSTATIC ErrInfo;
-- RTErrInfoInitStatic(&ErrInfo);
-- pExtPack->callInstalledHook(m->pVirtualBox, &autoLock, &ErrInfo.Core);
-- if (RT_SUCCESS(ErrInfo.Core.rc))
-- LogRel(("ExtPackManager: Successfully installed extension pack '%s'.\n", pStrName->c_str()));
-- else
-- {
-- LogRel(("ExtPackManager: Installated hook for '%s' failed: %Rrc - %s\n",
-- pStrName->c_str(), ErrInfo.Core.rc, ErrInfo.Core.pszMsg));
--
-- /*
-- * Uninstall the extpack if the error indicates that.
-- */
-- if (ErrInfo.Core.rc == VERR_EXTPACK_UNSUPPORTED_HOST_UNINSTALL)
-- runSetUidToRootHelper(a_pstrDisplayInfo,
-- "uninstall",
-- "--base-dir", m->strBaseDir.c_str(),
-- "--name", pStrName->c_str(),
-- "--forced",
-- (const char *)NULL);
-- hrc = setError(E_FAIL, tr("The installation hook failed: %Rrc - %s"),
-- ErrInfo.Core.rc, ErrInfo.Core.pszMsg);
-- }
-- }
-- else if (SUCCEEDED(hrc))
-- hrc = setError(E_FAIL, tr("Installing extension pack '%s' failed under mysterious circumstances"),
-- pStrName->c_str());
-- }
-- else
-- {
-- ErrorInfoKeeper Eik;
-- refreshExtPack(pStrName->c_str(), false /*a_fUnusableIsError*/, NULL);
-- }
-- }
--
-- /*
-- * Do VirtualBoxReady callbacks now for any freshly installed
-- * extension pack (old ones will not be called).
-- */
-- if (m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON)
-- {
-- autoLock.release();
-- callAllVirtualBoxReadyHooks();
-- }
-- }
--
-- return hrc;
--}
--
--/**
-- * Thread wrapper around doUninstall.
-- *
-- * @returns VINF_SUCCESS (ignored)
-- * @param hThread The thread handle (ignored).
-- * @param pvJob The job structure.
-- */
--/*static*/ DECLCALLBACK(int) ExtPackManager::doUninstallThreadProc(RTTHREAD hThread, void *pvJob)
--{
-- PEXTPACKUNINSTALLJOB pJob = (PEXTPACKUNINSTALLJOB)pvJob;
-- HRESULT hrc = pJob->ptrExtPackMgr->doUninstall(&pJob->strName, pJob->fForcedRemoval, &pJob->strDisplayInfo);
-- pJob->ptrProgress->notifyComplete(hrc);
-- delete pJob;
--
-- NOREF(hThread);
-- return VINF_SUCCESS;
--}
--
--/**
-- * Worker for IExtPackManager::Uninstall.
-- *
-- * Called on a worker thread via doUninstallThreadProc.
-- *
-- * @returns COM status code.
-- * @param a_pstrName The name of the extension pack to uninstall.
-- * @param a_fForcedRemoval Whether to be skip and ignore certain bits of
-- * the extpack feedback. To deal with misbehaving
-- * extension pack hooks.
-- * @param a_pstrDisplayInfo Host specific display information hacks.
-- */
--HRESULT ExtPackManager::doUninstall(Utf8Str const *a_pstrName, bool a_fForcedRemoval, Utf8Str const *a_pstrDisplayInfo)
--{
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- /*
-- * Refresh the data we have on the extension pack as it may be made
-- * stale by direct meddling or some other user.
-- */
-- ExtPack *pExtPack;
-- hrc = refreshExtPack(a_pstrName->c_str(), false /*a_fUnusableIsError*/, &pExtPack);
-- if (SUCCEEDED(hrc))
-- {
-- if (!pExtPack)
-- {
-- LogRel(("ExtPackManager: Extension pack '%s' is not installed, so nothing to uninstall.\n", a_pstrName->c_str()));
-- hrc = S_OK; /* nothing to uninstall */
-- }
-- else
-- {
-- /*
-- * Call the uninstall hook and unload the main dll.
-- */
-- hrc = pExtPack->callUninstallHookAndClose(m->pVirtualBox, a_fForcedRemoval);
-- if (SUCCEEDED(hrc))
-- {
-- /*
-- * Run the set-uid-to-root binary that performs the
-- * uninstallation. Then refresh the object.
-- *
-- * This refresh is theorically subject to races, but it's of
-- * the don't-do-that variety.
-- */
-- const char *pszForcedOpt = a_fForcedRemoval ? "--forced" : NULL;
-- hrc = runSetUidToRootHelper(a_pstrDisplayInfo,
-- "uninstall",
-- "--base-dir", m->strBaseDir.c_str(),
-- "--name", a_pstrName->c_str(),
-- pszForcedOpt, /* Last as it may be NULL. */
-- (const char *)NULL);
-- if (SUCCEEDED(hrc))
-- {
-- hrc = refreshExtPack(a_pstrName->c_str(), false /*a_fUnusableIsError*/, &pExtPack);
-- if (SUCCEEDED(hrc))
-- {
-- if (!pExtPack)
-- LogRel(("ExtPackManager: Successfully uninstalled extension pack '%s'.\n", a_pstrName->c_str()));
-- else
-- hrc = setError(E_FAIL,
-- tr("Uninstall extension pack '%s' failed under mysterious circumstances"),
-- a_pstrName->c_str());
-- }
-- }
-- else
-- {
-- ErrorInfoKeeper Eik;
-- refreshExtPack(a_pstrName->c_str(), false /*a_fUnusableIsError*/, NULL);
-- }
-- }
-- }
-- }
--
-- /*
-- * Do VirtualBoxReady callbacks now for any freshly installed
-- * extension pack (old ones will not be called).
-- */
-- if (m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON)
-- {
-- autoLock.release();
-- callAllVirtualBoxReadyHooks();
-- }
-- }
--
-- return hrc;
--}
--
--
--/**
-- * Calls the pfnVirtualBoxReady hook for all working extension packs.
-- *
-- * @remarks The caller must not hold any locks.
-- */
--void ExtPackManager::callAllVirtualBoxReadyHooks(void)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this;
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- /* advancing below */)
-- {
-- if ((*it)->callVirtualBoxReadyHook(m->pVirtualBox, &autoLock))
-- it = m->llInstalledExtPacks.begin();
-- else
-- it++;
-- }
--}
--
--/**
-- * Calls the pfnConsoleReady hook for all working extension packs.
-- *
-- * @param a_pConsole The console interface.
-- * @remarks The caller must not hold any locks.
-- */
--void ExtPackManager::callAllConsoleReadyHooks(IConsole *a_pConsole)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this;
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- /* advancing below */)
-- {
-- if ((*it)->callConsoleReadyHook(a_pConsole, &autoLock))
-- it = m->llInstalledExtPacks.begin();
-- else
-- it++;
-- }
--}
--
--/**
-- * Calls the pfnVMCreated hook for all working extension packs.
-- *
-- * @param a_pMachine The machine interface of the new VM.
-- */
--void ExtPackManager::callAllVmCreatedHooks(IMachine *a_pMachine)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this; /* paranoia */
-- ExtPackList llExtPacks = m->llInstalledExtPacks;
--
-- for (ExtPackList::iterator it = llExtPacks.begin(); it != llExtPacks.end(); it++)
-- (*it)->callVmCreatedHook(m->pVirtualBox, a_pMachine, &autoLock);
--}
--
--/**
-- * Calls the pfnVMConfigureVMM hook for all working extension packs.
-- *
-- * @returns VBox status code. Stops on the first failure, expecting the caller
-- * to signal this to the caller of the CFGM constructor.
-- * @param a_pConsole The console interface for the VM.
-- * @param a_pVM The VM handle.
-- */
--int ExtPackManager::callAllVmConfigureVmmHooks(IConsole *a_pConsole, PVM a_pVM)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return Global::vboxStatusCodeFromCOM(hrc);
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this; /* paranoia */
-- ExtPackList llExtPacks = m->llInstalledExtPacks;
--
-- for (ExtPackList::iterator it = llExtPacks.begin(); it != llExtPacks.end(); it++)
-- {
-- int vrc;
-- (*it)->callVmConfigureVmmHook(a_pConsole, a_pVM, &autoLock, &vrc);
-- if (RT_FAILURE(vrc))
-- return vrc;
-- }
--
-- return VINF_SUCCESS;
--}
--
--/**
-- * Calls the pfnVMPowerOn hook for all working extension packs.
-- *
-- * @returns VBox status code. Stops on the first failure, expecting the caller
-- * to not power on the VM.
-- * @param a_pConsole The console interface for the VM.
-- * @param a_pVM The VM handle.
-- */
--int ExtPackManager::callAllVmPowerOnHooks(IConsole *a_pConsole, PVM a_pVM)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return Global::vboxStatusCodeFromCOM(hrc);
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this; /* paranoia */
-- ExtPackList llExtPacks = m->llInstalledExtPacks;
--
-- for (ExtPackList::iterator it = llExtPacks.begin(); it != llExtPacks.end(); it++)
-- {
-- int vrc;
-- (*it)->callVmPowerOnHook(a_pConsole, a_pVM, &autoLock, &vrc);
-- if (RT_FAILURE(vrc))
-- return vrc;
-- }
--
-- return VINF_SUCCESS;
--}
--
--/**
-- * Calls the pfnVMPowerOff hook for all working extension packs.
-- *
-- * @param a_pConsole The console interface for the VM.
-- * @param a_pVM The VM handle. Can be NULL.
-- */
--void ExtPackManager::callAllVmPowerOffHooks(IConsole *a_pConsole, PVM a_pVM)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this; /* paranoia */
-- ExtPackList llExtPacks = m->llInstalledExtPacks;
--
-- for (ExtPackList::iterator it = llExtPacks.begin(); it != llExtPacks.end(); it++)
-- (*it)->callVmPowerOffHook(a_pConsole, a_pVM, &autoLock);
--}
--
--
--/**
-- * Checks that the specified extension pack contains a VRDE module and that it
-- * is shipshape.
-- *
-- * @returns S_OK if ok, appropriate failure status code with details.
-- * @param a_pstrExtPack The name of the extension pack.
-- */
--HRESULT ExtPackManager::checkVrdeExtPack(Utf8Str const *a_pstrExtPack)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- ExtPack *pExtPack = findExtPack(a_pstrExtPack->c_str());
-- if (pExtPack)
-- hrc = pExtPack->checkVrde();
-- else
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("No extension pack by the name '%s' was found"), a_pstrExtPack->c_str());
-- }
--
-- return hrc;
--}
--
--/**
-- * Gets the full path to the VRDE library of the specified extension pack.
-- *
-- * This will do extacly the same as checkVrdeExtPack and then resolve the
-- * library path.
-- *
-- * @returns S_OK if a path is returned, COM error status and message return if
-- * not.
-- * @param a_pstrExtPack The extension pack.
-- * @param a_pstrVrdeLibrary Where to return the path.
-- */
--int ExtPackManager::getVrdeLibraryPathForExtPack(Utf8Str const *a_pstrExtPack, Utf8Str *a_pstrVrdeLibrary)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- ExtPack *pExtPack = findExtPack(a_pstrExtPack->c_str());
-- if (pExtPack)
-- hrc = pExtPack->getVrdpLibraryName(a_pstrVrdeLibrary);
-- else
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("No extension pack by the name '%s' was found"), a_pstrExtPack->c_str());
-- }
--
-- return hrc;
--}
--
--/**
-- * Gets the name of the default VRDE extension pack.
-- *
-- * @returns S_OK or some COM error status on red tape failure.
-- * @param a_pstrExtPack Where to return the extension pack name. Returns
-- * empty if no extension pack wishes to be the default
-- * VRDP provider.
-- */
--HRESULT ExtPackManager::getDefaultVrdeExtPack(Utf8Str *a_pstrExtPack)
--{
-- a_pstrExtPack->setNull();
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- it++)
-- {
-- if ((*it)->wantsToBeDefaultVrde())
-- {
-- *a_pstrExtPack = (*it)->m->Desc.strName;
-- break;
-- }
-- }
-- }
-- return hrc;
--}
--
--/**
-- * Checks if an extension pack is (present and) usable.
-- *
-- * @returns @c true if it is, otherwise @c false.
-- * @param a_pszExtPack The name of the extension pack.
-- */
--bool ExtPackManager::isExtPackUsable(const char *a_pszExtPack)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return false;
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- ExtPack *pExtPack = findExtPack(a_pszExtPack);
-- return pExtPack != NULL
-- && pExtPack->m->fUsable;
--}
--
--/**
-- * Dumps all extension packs to the release log.
-- */
--void ExtPackManager::dumpAllToReleaseLog(void)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- LogRel(("Installed Extension Packs:\n"));
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- it++)
-- {
-- ExtPack::Data *pExtPackData = (*it)->m;
-- if (pExtPackData)
-- {
-- if (pExtPackData->fUsable)
-- LogRel((" %s (Version: %s r%u%s%s; VRDE Module: %s)\n",
-- pExtPackData->Desc.strName.c_str(),
-- pExtPackData->Desc.strVersion.c_str(),
-- pExtPackData->Desc.uRevision,
-- pExtPackData->Desc.strEdition.isEmpty() ? "" : " ",
-- pExtPackData->Desc.strEdition.c_str(),
-- pExtPackData->Desc.strVrdeModule.c_str() ));
-- else
-- LogRel((" %s (Version: %s r%u%s%s; VRDE Module: %s unusable because of '%s')\n",
-- pExtPackData->Desc.strName.c_str(),
-- pExtPackData->Desc.strVersion.c_str(),
-- pExtPackData->Desc.uRevision,
-- pExtPackData->Desc.strEdition.isEmpty() ? "" : " ",
-- pExtPackData->Desc.strEdition.c_str(),
-- pExtPackData->Desc.strVrdeModule.c_str(),
-- pExtPackData->strWhyUnusable.c_str() ));
-- }
-- else
-- LogRel((" pExtPackData is NULL\n"));
-- }
--
-- if (!m->llInstalledExtPacks.size())
-- LogRel((" None installed!\n"));
--}
--
--/* vi: set tabstop=4 shiftwidth=4 expandtab: */
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-all/ExtPackUtil.cpp 2012-06-20 10:17:34.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,1385 +0,0 @@
--/* $Id: ExtPackUtil.cpp $ */
--/** @file
-- * VirtualBox Main - Extension Pack Utilities and definitions, VBoxC, VBoxSVC, ++.
-- */
--
--/*
-- * Copyright (C) 2010-2012 Oracle Corporation
-- *
-- * This file is part of VirtualBox Open Source Edition (OSE), as
-- * available from http://www.virtualbox.org. This file is free software;
-- * you can redistribute it and/or modify it under the terms of the GNU
-- * General Public License (GPL) as published by the Free Software
-- * Foundation, in version 2 as it comes in the "COPYING" file of the
-- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-- */
--
--
--/*******************************************************************************
--* Header Files *
--*******************************************************************************/
--#include "../include/ExtPackUtil.h"
--
--#include <iprt/ctype.h>
--#include <iprt/dir.h>
--#include <iprt/file.h>
--#include <iprt/manifest.h>
--#include <iprt/param.h>
--#include <iprt/path.h>
--#include <iprt/sha.h>
--#include <iprt/string.h>
--#include <iprt/vfs.h>
--#include <iprt/tar.h>
--#include <iprt/zip.h>
--#include <iprt/cpp/xml.h>
--
--#include <VBox/log.h>
--
--
--/**
-- * Worker for VBoxExtPackLoadDesc that loads the plug-in descriptors.
-- *
-- * @returns Same as VBoxExtPackLoadDesc.
-- * @param pVBoxExtPackElm
-- * @param pcPlugIns Where to return the number of plug-ins in the
-- * array.
-- * @param paPlugIns Where to return the plug-in descriptor array.
-- * (RTMemFree it even on failure)
-- */
--static RTCString *
--vboxExtPackLoadPlugInDescs(const xml::ElementNode *pVBoxExtPackElm,
-- uint32_t *pcPlugIns, PVBOXEXTPACKPLUGINDESC *paPlugIns)
--{
-- *pcPlugIns = 0;
-- *paPlugIns = NULL;
--
-- /** @todo plug-ins */
-- NOREF(pVBoxExtPackElm);
--
-- return NULL;
--}
--
--/**
-- * Clears the extension pack descriptor.
-- *
-- * @param a_pExtPackDesc The descriptor to clear.
-- */
--static void vboxExtPackClearDesc(PVBOXEXTPACKDESC a_pExtPackDesc)
--{
-- a_pExtPackDesc->strName.setNull();
-- a_pExtPackDesc->strDescription.setNull();
-- a_pExtPackDesc->strVersion.setNull();
-- a_pExtPackDesc->strEdition.setNull();
-- a_pExtPackDesc->uRevision = 0;
-- a_pExtPackDesc->strMainModule.setNull();
-- a_pExtPackDesc->strVrdeModule.setNull();
-- a_pExtPackDesc->cPlugIns = 0;
-- a_pExtPackDesc->paPlugIns = NULL;
-- a_pExtPackDesc->fShowLicense = false;
--}
--
--/**
-- * Initializes an extension pack descriptor so that it's safe to call free on
-- * it whatever happens later on.
-- *
-- * @param a_pExtPackDesc The descirptor to initialize.
-- */
--void VBoxExtPackInitDesc(PVBOXEXTPACKDESC a_pExtPackDesc)
--{
-- vboxExtPackClearDesc(a_pExtPackDesc);
--}
--
--
--/**
-- * Load the extension pack descriptor from an XML document.
-- *
-- * @returns NULL on success, pointer to an error message on failure (caller
-- * deletes it).
-- * @param a_pDoc Pointer to the the XML document.
-- * @param a_pExtPackDesc Where to store the extension pack descriptor.
-- */
--static RTCString *vboxExtPackLoadDescFromDoc(xml::Document *a_pDoc, PVBOXEXTPACKDESC a_pExtPackDesc)
--{
-- /*
-- * Get the main element and check its version.
-- */
-- const xml::ElementNode *pVBoxExtPackElm = a_pDoc->getRootElement();
-- if ( !pVBoxExtPackElm
-- || strcmp(pVBoxExtPackElm->getName(), "VirtualBoxExtensionPack") != 0)
-- return new RTCString("No VirtualBoxExtensionPack element");
--
-- RTCString strFormatVersion;
-- if (!pVBoxExtPackElm->getAttributeValue("version", strFormatVersion))
-- return new RTCString("Missing format version");
-- if (!strFormatVersion.equals("1.0"))
-- return &(new RTCString("Unsupported format version: "))->append(strFormatVersion);
--
-- /*
-- * Read and validate mandatory bits.
-- */
-- const xml::ElementNode *pNameElm = pVBoxExtPackElm->findChildElement("Name");
-- if (!pNameElm)
-- return new RTCString("The 'Name' element is missing");
-- const char *pszName = pNameElm->getValue();
-- if (!VBoxExtPackIsValidName(pszName))
-- return &(new RTCString("Invalid name: "))->append(pszName);
--
-- const xml::ElementNode *pDescElm = pVBoxExtPackElm->findChildElement("Description");
-- if (!pDescElm)
-- return new RTCString("The 'Description' element is missing");
-- const char *pszDesc = pDescElm->getValue();
-- if (!pszDesc || *pszDesc == '\0')
-- return new RTCString("The 'Description' element is empty");
-- if (strpbrk(pszDesc, "\n\r\t\v\b") != NULL)
-- return new RTCString("The 'Description' must not contain control characters");
--
-- const xml::ElementNode *pVersionElm = pVBoxExtPackElm->findChildElement("Version");
-- if (!pVersionElm)
-- return new RTCString("The 'Version' element is missing");
-- const char *pszVersion = pVersionElm->getValue();
-- if (!pszVersion || *pszVersion == '\0')
-- return new RTCString("The 'Version' element is empty");
-- if (!VBoxExtPackIsValidVersionString(pszVersion))
-- return &(new RTCString("Invalid version string: "))->append(pszVersion);
--
-- uint32_t uRevision;
-- if (!pVersionElm->getAttributeValue("revision", uRevision))
-- uRevision = 0;
--
-- const char *pszEdition;
-- if (!pVersionElm->getAttributeValue("edition", pszEdition))
-- pszEdition = "";
-- if (!VBoxExtPackIsValidEditionString(pszEdition))
-- return &(new RTCString("Invalid edition string: "))->append(pszEdition);
--
-- const xml::ElementNode *pMainModuleElm = pVBoxExtPackElm->findChildElement("MainModule");
-- if (!pMainModuleElm)
-- return new RTCString("The 'MainModule' element is missing");
-- const char *pszMainModule = pMainModuleElm->getValue();
-- if (!pszMainModule || *pszMainModule == '\0')
-- return new RTCString("The 'MainModule' element is empty");
-- if (!VBoxExtPackIsValidModuleString(pszMainModule))
-- return &(new RTCString("Invalid main module string: "))->append(pszMainModule);
--
-- /*
-- * The VRDE module, optional.
-- * Accept both none and empty as tokens of no VRDE module.
-- */
-- const char *pszVrdeModule = NULL;
-- const xml::ElementNode *pVrdeModuleElm = pVBoxExtPackElm->findChildElement("VRDEModule");
-- if (pVrdeModuleElm)
-- {
-- pszVrdeModule = pVrdeModuleElm->getValue();
-- if (!pszVrdeModule || *pszVrdeModule == '\0')
-- pszVrdeModule = NULL;
-- else if (!VBoxExtPackIsValidModuleString(pszVrdeModule))
-- return &(new RTCString("Invalid VRDE module string: "))->append(pszVrdeModule);
-- }
--
-- /*
-- * Whether to show the license, optional. (presense is enough here)
-- */
-- const xml::ElementNode *pShowLicenseElm = pVBoxExtPackElm->findChildElement("ShowLicense");
-- bool fShowLicense = pShowLicenseElm != NULL;
--
-- /*
-- * Parse plug-in descriptions (last because of the manual memory management).
-- */
-- uint32_t cPlugIns = 0;
-- PVBOXEXTPACKPLUGINDESC paPlugIns = NULL;
-- RTCString *pstrRet = vboxExtPackLoadPlugInDescs(pVBoxExtPackElm, &cPlugIns, &paPlugIns);
-- if (pstrRet)
-- {
-- RTMemFree(paPlugIns);
-- return pstrRet;
-- }
--
-- /*
-- * Everything seems fine, fill in the return values and return successfully.
-- */
-- a_pExtPackDesc->strName = pszName;
-- a_pExtPackDesc->strDescription = pszDesc;
-- a_pExtPackDesc->strVersion = pszVersion;
-- a_pExtPackDesc->strEdition = pszEdition;
-- a_pExtPackDesc->uRevision = uRevision;
-- a_pExtPackDesc->strMainModule = pszMainModule;
-- a_pExtPackDesc->strVrdeModule = pszVrdeModule;
-- a_pExtPackDesc->cPlugIns = cPlugIns;
-- a_pExtPackDesc->paPlugIns = paPlugIns;
-- a_pExtPackDesc->fShowLicense = fShowLicense;
--
-- return NULL;
--}
--
--/**
-- * Reads the extension pack descriptor.
-- *
-- * @returns NULL on success, pointer to an error message on failure (caller
-- * deletes it).
-- * @param a_pszDir The directory containing the description file.
-- * @param a_pExtPackDesc Where to store the extension pack descriptor.
-- * @param a_pObjInfo Where to store the object info for the file (unix
-- * attribs). Optional.
-- */
--RTCString *VBoxExtPackLoadDesc(const char *a_pszDir, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo)
--{
-- vboxExtPackClearDesc(a_pExtPackDesc);
--
-- /*
-- * Validate, open and parse the XML file.
-- */
-- char szFilePath[RTPATH_MAX];
-- int vrc = RTPathJoin(szFilePath, sizeof(szFilePath), a_pszDir, VBOX_EXTPACK_DESCRIPTION_NAME);
-- if (RT_FAILURE(vrc))
-- return new RTCString("RTPathJoin failed with %Rrc", vrc);
--
-- RTFSOBJINFO ObjInfo;
-- vrc = RTPathQueryInfoEx(szFilePath, &ObjInfo, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- return &(new RTCString())->printf("RTPathQueryInfoEx failed with %Rrc", vrc);
-- if (a_pObjInfo)
-- *a_pObjInfo = ObjInfo;
-- if (!RTFS_IS_FILE(ObjInfo.Attr.fMode))
-- {
-- if (RTFS_IS_SYMLINK(ObjInfo.Attr.fMode))
-- return new RTCString("The XML file is symlinked, that is not allowed");
-- return &(new RTCString)->printf("The XML file is not a file (fMode=%#x)", ObjInfo.Attr.fMode);
-- }
--
-- xml::Document Doc;
-- {
-- xml::XmlFileParser Parser;
-- try
-- {
-- Parser.read(szFilePath, Doc);
-- }
-- catch (xml::XmlError Err)
-- {
-- return new RTCString(Err.what());
-- }
-- }
--
-- /*
-- * Hand the xml doc over to the common code.
-- */
-- return vboxExtPackLoadDescFromDoc(&Doc, a_pExtPackDesc);
--}
--
--/**
-- * Reads the extension pack descriptor.
-- *
-- * @returns NULL on success, pointer to an error message on failure (caller
-- * deletes it).
-- * @param a_pszDir The directory containing the description file.
-- * @param a_pExtPackDesc Where to store the extension pack descriptor.
-- * @param a_pObjInfo Where to store the object info for the file (unix
-- * attribs). Optional.
-- */
--RTCString *VBoxExtPackLoadDescFromVfsFile(RTVFSFILE hVfsFile, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo)
--{
-- vboxExtPackClearDesc(a_pExtPackDesc);
--
-- /*
-- * Query the object info.
-- */
-- RTFSOBJINFO ObjInfo;
-- int rc = RTVfsFileQueryInfo(hVfsFile, &ObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_FAILURE(rc))
-- return &(new RTCString)->printf("RTVfsFileQueryInfo failed: %Rrc", rc);
-- if (a_pObjInfo)
-- *a_pObjInfo = ObjInfo;
--
-- /*
-- * The simple approach, read the whole thing into memory and pass this to
-- * the XML parser.
-- */
--
-- /* Check the file size. */
-- if (ObjInfo.cbObject > _1M || ObjInfo.cbObject < 0)
-- return &(new RTCString)->printf("The XML file is too large (%'RU64 bytes)", ObjInfo.cbObject);
-- size_t const cbFile = (size_t)ObjInfo.cbObject;
--
-- /* Rewind to the start of the file. */
-- rc = RTVfsFileSeek(hVfsFile, 0, RTFILE_SEEK_BEGIN, NULL);
-- if (RT_FAILURE(rc))
-- return &(new RTCString)->printf("RTVfsFileSeek(,0,BEGIN) failed: %Rrc", rc);
--
-- /* Allocate memory and read the file content into it. */
-- void *pvFile = RTMemTmpAlloc(cbFile);
-- if (!pvFile)
-- return &(new RTCString)->printf("RTMemTmpAlloc(%zu) failed", cbFile);
--
-- RTCString *pstrErr = NULL;
-- rc = RTVfsFileRead(hVfsFile, pvFile, cbFile, NULL);
-- if (RT_FAILURE(rc))
-- pstrErr = &(new RTCString)->printf("RTVfsFileRead failed: %Rrc", rc);
--
-- /*
-- * Parse the file.
-- */
-- xml::Document Doc;
-- if (RT_SUCCESS(rc))
-- {
-- xml::XmlMemParser Parser;
-- RTCString strFileName = VBOX_EXTPACK_DESCRIPTION_NAME;
-- try
-- {
-- Parser.read(pvFile, cbFile, strFileName, Doc);
-- }
-- catch (xml::XmlError Err)
-- {
-- pstrErr = new RTCString(Err.what());
-- rc = VERR_PARSE_ERROR;
-- }
-- }
-- RTMemTmpFree(pvFile);
--
-- /*
-- * Hand the xml doc over to the common code.
-- */
-- if (RT_SUCCESS(rc))
-- pstrErr = vboxExtPackLoadDescFromDoc(&Doc, a_pExtPackDesc);
--
-- return pstrErr;
--}
--
--/**
-- * Frees all resources associated with a extension pack descriptor.
-- *
-- * @param a_pExtPackDesc The extension pack descriptor which members
-- * should be freed.
-- */
--void VBoxExtPackFreeDesc(PVBOXEXTPACKDESC a_pExtPackDesc)
--{
-- if (!a_pExtPackDesc)
-- return;
--
-- a_pExtPackDesc->strName.setNull();
-- a_pExtPackDesc->strDescription.setNull();
-- a_pExtPackDesc->strVersion.setNull();
-- a_pExtPackDesc->strEdition.setNull();
-- a_pExtPackDesc->uRevision = 0;
-- a_pExtPackDesc->strMainModule.setNull();
-- a_pExtPackDesc->strVrdeModule.setNull();
-- a_pExtPackDesc->cPlugIns = 0;
-- RTMemFree(a_pExtPackDesc->paPlugIns);
-- a_pExtPackDesc->paPlugIns = NULL;
-- a_pExtPackDesc->fShowLicense = false;
--}
--
--/**
-- * Extract the extension pack name from the tarball path.
-- *
-- * @returns String containing the name on success, the caller must delete it.
-- * NULL if no valid name was found or if we ran out of memory.
-- * @param pszTarball The path to the tarball.
-- */
--RTCString *VBoxExtPackExtractNameFromTarballPath(const char *pszTarball)
--{
-- /*
-- * Skip ahead to the filename part and count the number of characters
-- * that matches the criteria for a mangled extension pack name.
-- */
-- const char *pszSrc = RTPathFilename(pszTarball);
-- if (!pszSrc)
-- return NULL;
--
-- size_t off = 0;
-- while (RT_C_IS_ALNUM(pszSrc[off]) || pszSrc[off] == '_')
-- off++;
--
-- /*
-- * Check min and max name limits.
-- */
-- if ( off > VBOX_EXTPACK_NAME_MAX_LEN
-- || off < VBOX_EXTPACK_NAME_MIN_LEN)
-- return NULL;
--
-- /*
-- * Return the unmangled name.
-- */
-- return VBoxExtPackUnmangleName(pszSrc, off);
--}
--
--/**
-- * Validates the extension pack name.
-- *
-- * @returns true if valid, false if not.
-- * @param pszName The name to validate.
-- * @sa VBoxExtPackExtractNameFromTarballPath
-- */
--bool VBoxExtPackIsValidName(const char *pszName)
--{
-- if (!pszName)
-- return false;
--
-- /*
-- * Check the characters making up the name, only english alphabet
-- * characters, decimal digits and spaces are allowed.
-- */
-- size_t off = 0;
-- while (pszName[off])
-- {
-- if (!RT_C_IS_ALNUM(pszName[off]) && pszName[off] != ' ')
-- return false;
-- off++;
-- }
--
-- /*
-- * Check min and max name limits.
-- */
-- if ( off > VBOX_EXTPACK_NAME_MAX_LEN
-- || off < VBOX_EXTPACK_NAME_MIN_LEN)
-- return false;
--
-- return true;
--}
--
--/**
-- * Checks if an alledged manged extension pack name.
-- *
-- * @returns true if valid, false if not.
-- * @param pszMangledName The mangled name to validate.
-- * @param cchMax The max number of chars to test.
-- * @sa VBoxExtPackMangleName
-- */
--bool VBoxExtPackIsValidMangledName(const char *pszMangledName, size_t cchMax /*= RTSTR_MAX*/)
--{
-- if (!pszMangledName)
-- return false;
--
-- /*
-- * Check the characters making up the name, only english alphabet
-- * characters, decimal digits and underscores (=space) are allowed.
-- */
-- size_t off = 0;
-- while (off < cchMax && pszMangledName[off])
-- {
-- if (!RT_C_IS_ALNUM(pszMangledName[off]) && pszMangledName[off] != '_')
-- return false;
-- off++;
-- }
--
-- /*
-- * Check min and max name limits.
-- */
-- if ( off > VBOX_EXTPACK_NAME_MAX_LEN
-- || off < VBOX_EXTPACK_NAME_MIN_LEN)
-- return false;
--
-- return true;
--}
--
--/**
-- * Mangle an extension pack name so it can be used by a directory or file name.
-- *
-- * @returns String containing the mangled name on success, the caller must
-- * delete it. NULL on failure.
-- * @param pszName The unmangled name.
-- * @sa VBoxExtPackUnmangleName, VBoxExtPackIsValidMangledName
-- */
--RTCString *VBoxExtPackMangleName(const char *pszName)
--{
-- AssertReturn(VBoxExtPackIsValidName(pszName), NULL);
--
-- char szTmp[VBOX_EXTPACK_NAME_MAX_LEN + 1];
-- size_t off = 0;
-- char ch;
-- while ((ch = pszName[off]) != '\0')
-- {
-- if (ch == ' ')
-- ch = '_';
-- szTmp[off++] = ch;
-- }
-- szTmp[off] = '\0';
-- Assert(VBoxExtPackIsValidMangledName(szTmp));
--
-- return new RTCString(szTmp, off);
--}
--
--/**
-- * Unmangle an extension pack name (reverses VBoxExtPackMangleName).
-- *
-- * @returns String containing the mangled name on success, the caller must
-- * delete it. NULL on failure.
-- * @param pszMangledName The mangled name.
-- * @param cchMax The max name length. RTSTR_MAX is fine.
-- * @sa VBoxExtPackMangleName, VBoxExtPackIsValidMangledName
-- */
--RTCString *VBoxExtPackUnmangleName(const char *pszMangledName, size_t cchMax)
--{
-- AssertReturn(VBoxExtPackIsValidMangledName(pszMangledName, cchMax), NULL);
--
-- char szTmp[VBOX_EXTPACK_NAME_MAX_LEN + 1];
-- size_t off = 0;
-- char ch;
-- while ( off < cchMax
-- && (ch = pszMangledName[off]) != '\0')
-- {
-- if (ch == '_')
-- ch = ' ';
-- else
-- AssertReturn(RT_C_IS_ALNUM(ch) || ch == ' ', NULL);
-- szTmp[off++] = ch;
-- }
-- szTmp[off] = '\0';
-- AssertReturn(VBoxExtPackIsValidName(szTmp), NULL);
--
-- return new RTCString(szTmp, off);
--}
--
--/**
-- * Constructs the extension pack directory path.
-- *
-- * A combination of RTPathJoin and VBoxExtPackMangleName.
-- *
-- * @returns IPRT status code like RTPathJoin.
-- * @param pszExtPackDir Where to return the directory path.
-- * @param cbExtPackDir The size of the return buffer.
-- * @param pszParentDir The parent directory (".../Extensions").
-- * @param pszName The extension pack name, unmangled.
-- */
--int VBoxExtPackCalcDir(char *pszExtPackDir, size_t cbExtPackDir, const char *pszParentDir, const char *pszName)
--{
-- AssertReturn(VBoxExtPackIsValidName(pszName), VERR_INTERNAL_ERROR_5);
--
-- RTCString *pstrMangledName = VBoxExtPackMangleName(pszName);
-- if (!pstrMangledName)
-- return VERR_INTERNAL_ERROR_4;
--
-- int vrc = RTPathJoin(pszExtPackDir, cbExtPackDir, pszParentDir, pstrMangledName->c_str());
-- delete pstrMangledName;
--
-- return vrc;
--}
--
--
--/**
-- * Validates the extension pack version string.
-- *
-- * @returns true if valid, false if not.
-- * @param pszVersion The version string to validate.
-- */
--bool VBoxExtPackIsValidVersionString(const char *pszVersion)
--{
-- if (!pszVersion || *pszVersion == '\0')
-- return false;
--
-- /* 1.x.y.z... */
-- for (;;)
-- {
-- if (!RT_C_IS_DIGIT(*pszVersion))
-- return false;
-- do
-- pszVersion++;
-- while (RT_C_IS_DIGIT(*pszVersion));
-- if (*pszVersion != '.')
-- break;
-- pszVersion++;
-- }
--
-- /* upper case string + numbers indicating the build type */
-- if (*pszVersion == '-' || *pszVersion == '_')
-- {
-- /** @todo Should probably restrict this to known build types (alpha,
-- * beta, rc, ++). */
-- do
-- pszVersion++;
-- while ( RT_C_IS_DIGIT(*pszVersion)
-- || RT_C_IS_UPPER(*pszVersion)
-- || *pszVersion == '-'
-- || *pszVersion == '_');
-- }
--
-- return *pszVersion == '\0';
--}
--
--/**
-- * Validates the extension pack edition string.
-- *
-- * @returns true if valid, false if not.
-- * @param pszEdition The edition string to validate.
-- */
--bool VBoxExtPackIsValidEditionString(const char *pszEdition)
--{
-- if (*pszEdition)
-- {
-- if (!RT_C_IS_UPPER(*pszEdition))
-- return false;
--
-- do
-- pszEdition++;
-- while ( RT_C_IS_UPPER(*pszEdition)
-- || RT_C_IS_DIGIT(*pszEdition)
-- || *pszEdition == '-'
-- || *pszEdition == '_');
-- }
-- return *pszEdition == '\0';
--}
--
--/**
-- * Validates an extension pack module string.
-- *
-- * @returns true if valid, false if not.
-- * @param pszModule The module string to validate.
-- */
--bool VBoxExtPackIsValidModuleString(const char *pszModule)
--{
-- if (!pszModule || *pszModule == '\0')
-- return false;
--
-- /* Restricted charset, no extensions (dots). */
-- while ( RT_C_IS_ALNUM(*pszModule)
-- || *pszModule == '-'
-- || *pszModule == '_')
-- pszModule++;
--
-- return *pszModule == '\0';
--}
--
--/**
-- * RTStrPrintfv wrapper.
-- *
-- * @returns @a rc
-- * @param rc The status code to return.
-- * @param pszError The error buffer.
-- * @param cbError The size of the buffer.
-- * @param pszFormat The error message format string.
-- * @param ... Format arguments.
-- */
--static int vboxExtPackReturnError(int rc, char *pszError, size_t cbError, const char *pszFormat, ...)
--{
-- va_list va;
-- va_start(va, pszFormat);
-- RTStrPrintfV(pszError, cbError, pszFormat, va);
-- va_end(va);
-- return rc;
--}
--
--/**
-- * RTStrPrintfv wrapper.
-- *
-- * @param pszError The error buffer.
-- * @param cbError The size of the buffer.
-- * @param pszFormat The error message format string.
-- * @param ... Format arguments.
-- */
--static void vboxExtPackSetError(char *pszError, size_t cbError, const char *pszFormat, ...)
--{
-- va_list va;
-- va_start(va, pszFormat);
-- RTStrPrintfV(pszError, cbError, pszFormat, va);
-- va_end(va);
--}
--
--/**
-- * Verifies the manifest and its signature.
-- *
-- * @returns VBox status code, failures with message.
-- * @param hManifestFile The xml from the extension pack.
-- * @param pszExtPackName The expected extension pack name. This can be
-- * NULL, in which we don't have any expectations.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackVerifyXml(RTVFSFILE hXmlFile, const char *pszExtPackName, char *pszError, size_t cbError)
--{
-- /*
-- * Load the XML.
-- */
-- VBOXEXTPACKDESC ExtPackDesc;
-- RTCString *pstrErr = VBoxExtPackLoadDescFromVfsFile(hXmlFile, &ExtPackDesc, NULL);
-- if (pstrErr)
-- {
-- RTStrCopy(pszError, cbError, pstrErr->c_str());
-- delete pstrErr;
-- return VERR_PARSE_ERROR;
-- }
--
-- /*
-- * Check the name.
-- */
-- /** @todo drop this restriction after the old install interface is
-- * dropped. */
-- int rc = VINF_SUCCESS;
-- if ( pszExtPackName
-- && !ExtPackDesc.strName.equalsIgnoreCase(pszExtPackName))
-- rc = vboxExtPackReturnError(VERR_NOT_EQUAL, pszError, cbError,
-- "The name of the downloaded file and the name stored inside the extension pack does not match"
-- " (xml='%s' file='%s')", ExtPackDesc.strName.c_str(), pszExtPackName);
-- return rc;
--}
--
--/**
-- * Verifies the manifest and its signature.
-- *
-- * @returns VBox status code, failures with message.
-- * @param hOurManifest The manifest we compiled.
-- * @param hManifestFile The manifest file in the extension pack.
-- * @param hSignatureFile The manifest signature file.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackVerifyManifestAndSignature(RTMANIFEST hOurManifest, RTVFSFILE hManifestFile, RTVFSFILE hSignatureFile,
-- char *pszError, size_t cbError)
--{
-- /*
-- * Read the manifest from the extension pack.
-- */
-- int rc = RTVfsFileSeek(hManifestFile, 0, RTFILE_SEEK_BEGIN, NULL);
-- if (RT_FAILURE(rc))
-- return vboxExtPackReturnError(rc, pszError, cbError, "RTVfsFileSeek failed: %Rrc", rc);
--
-- RTMANIFEST hTheirManifest;
-- rc = RTManifestCreate(0 /*fFlags*/, &hTheirManifest);
-- if (RT_FAILURE(rc))
-- return vboxExtPackReturnError(rc, pszError, cbError, "RTManifestCreate failed: %Rrc", rc);
--
-- RTVFSIOSTREAM hVfsIos = RTVfsFileToIoStream(hManifestFile);
-- rc = RTManifestReadStandard(hTheirManifest, hVfsIos);
-- RTVfsIoStrmRelease(hVfsIos);
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Compare the manifests.
-- */
-- static const char *s_apszIgnoreEntries[] =
-- {
-- VBOX_EXTPACK_MANIFEST_NAME,
-- VBOX_EXTPACK_SIGNATURE_NAME,
-- "./" VBOX_EXTPACK_MANIFEST_NAME,
-- "./" VBOX_EXTPACK_SIGNATURE_NAME,
-- NULL
-- };
-- char szError[RTPATH_MAX];
-- rc = RTManifestEqualsEx(hOurManifest, hTheirManifest, &s_apszIgnoreEntries[0], NULL,
-- RTMANIFEST_EQUALS_IGN_MISSING_ATTRS /*fFlags*/,
-- szError, sizeof(szError));
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Validate the manifest file signature.
-- */
-- /** @todo implement signature stuff */
-- NOREF(hSignatureFile);
--
-- }
-- else if (rc == VERR_NOT_EQUAL && szError[0])
-- vboxExtPackSetError(pszError, cbError, "Manifest mismatch: %s", szError);
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestEqualsEx failed: %Rrc", rc);
--#if 0
-- RTVFSIOSTREAM hVfsIosStdOut = NIL_RTVFSIOSTREAM;
-- RTVfsIoStrmFromStdHandle(RTHANDLESTD_OUTPUT, RTFILE_O_WRITE, true, &hVfsIosStdOut);
-- RTVfsIoStrmWrite(hVfsIosStdOut, "Our:\n", sizeof("Our:\n") - 1, true, NULL);
-- RTManifestWriteStandard(hOurManifest, hVfsIosStdOut);
-- RTVfsIoStrmWrite(hVfsIosStdOut, "Their:\n", sizeof("Their:\n") - 1, true, NULL);
-- RTManifestWriteStandard(hTheirManifest, hVfsIosStdOut);
--#endif
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "Error parsing '%s': %Rrc", VBOX_EXTPACK_MANIFEST_NAME, rc);
--
-- RTManifestRelease(hTheirManifest);
-- return rc;
--}
--
--
--/**
-- * Verifies the file digest (if specified) and returns the SHA-256 of the file.
-- *
-- * @returns
-- * @param hFileManifest Manifest containing a SHA-256 digest of the file
-- * that was calculated as the file was processed.
-- * @param pszFileDigest SHA-256 digest of the file.
-- * @param pStrDigest Where to return the SHA-256 digest. Optional.
-- * @param pszError Where to write an error message on failure.
-- * @param cbError The size of the @a pszError buffer.
-- */
--static int vboxExtPackVerifyFileDigest(RTMANIFEST hFileManifest, const char *pszFileDigest,
-- RTCString *pStrDigest, char *pszError, size_t cbError)
--{
-- /*
-- * Extract the SHA-256 entry for the extpack file.
-- */
-- char szCalculatedDigest[RTSHA256_DIGEST_LEN + 1];
-- int rc = RTManifestEntryQueryAttr(hFileManifest, "extpack", NULL /*no name*/, RTMANIFEST_ATTR_SHA256,
-- szCalculatedDigest, sizeof(szCalculatedDigest), NULL);
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Convert the two strings to binary form before comparing.
-- * We convert the calculated hash even if we don't have anything to
-- * compare with, just to validate it.
-- */
-- uint8_t abCalculatedHash[RTSHA256_HASH_SIZE];
-- rc = RTSha256FromString(szCalculatedDigest, abCalculatedHash);
-- if (RT_SUCCESS(rc))
-- {
-- if ( pszFileDigest
-- && *pszFileDigest != '\0')
-- {
-- uint8_t abFileHash[RTSHA256_HASH_SIZE];
-- rc = RTSha256FromString(pszFileDigest, abFileHash);
-- if (RT_SUCCESS(rc))
-- {
-- if (memcmp(abFileHash, abCalculatedHash, sizeof(abFileHash)))
-- {
-- vboxExtPackSetError(pszError, cbError, "The extension pack file has changed (SHA-256 mismatch)");
-- rc = VERR_NOT_EQUAL;
-- }
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "Bad SHA-256 '%s': %Rrc", szCalculatedDigest, rc);
-- }
--
-- /*
-- * Set the output hash on success.
-- */
-- if (pStrDigest && RT_SUCCESS(rc))
-- {
-- try
-- {
-- *pStrDigest = szCalculatedDigest;
-- }
-- catch (std::bad_alloc)
-- {
-- rc = VERR_NO_MEMORY;
-- }
-- }
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "Bad SHA-256 '%s': %Rrc", szCalculatedDigest, rc);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestEntryGetAttr: %Rrc", rc);
-- return rc;
--}
--
--
--
--/**
-- * Validates a standard file.
-- *
-- * Generally all files are
-- *
-- * @returns VBox status code, failure message in @a pszError.
-- * @param pszAdjName The adjusted member name.
-- * @param enmType The VFS object type.
-- * @param phVfsObj The pointer to the VFS object handle variable.
-- * This is both input and output.
-- * @param phVfsFile Where to store the handle to the memorized
-- * file. This is NULL for license files.
-- * @param pszError Where to write an error message on failure.
-- * @param cbError The size of the @a pszError buffer.
-- */
--static int VBoxExtPackValidateStandardFile(const char *pszAdjName, RTVFSOBJTYPE enmType,
-- PRTVFSOBJ phVfsObj, PRTVFSFILE phVfsFile, char *pszError, size_t cbError)
--{
-- int rc;
--
-- /*
-- * Make sure it's a file and that it isn't too large.
-- */
-- if (phVfsFile && *phVfsFile != NIL_RTVFSFILE)
-- rc = vboxExtPackReturnError(VERR_DUPLICATE, pszError, cbError,
-- "There can only be one '%s'", pszAdjName);
-- else if (enmType != RTVFSOBJTYPE_IO_STREAM && enmType != RTVFSOBJTYPE_FILE)
-- rc = vboxExtPackReturnError(VERR_NOT_A_FILE, pszError, cbError,
-- "Standard member '%s' is not a file", pszAdjName);
-- else
-- {
-- RTFSOBJINFO ObjInfo;
-- rc = RTVfsObjQueryInfo(*phVfsObj, &ObjInfo, RTFSOBJATTRADD_NOTHING);
-- if (RT_SUCCESS(rc))
-- {
-- if (!RTFS_IS_FILE(ObjInfo.Attr.fMode))
-- rc = vboxExtPackReturnError(VERR_NOT_A_FILE, pszError, cbError,
-- "Standard member '%s' is not a file", pszAdjName);
-- else if (ObjInfo.cbObject >= _1M)
-- rc = vboxExtPackReturnError(VERR_OUT_OF_RANGE, pszError, cbError,
-- "Standard member '%s' is too large: %'RU64 bytes (max 1 MB)",
-- pszAdjName, (uint64_t)ObjInfo.cbObject);
-- else
-- {
-- /*
-- * Make an in memory copy of the stream and check that the file
-- * is UTF-8 clean.
-- */
-- RTVFSIOSTREAM hVfsIos = RTVfsObjToIoStream(*phVfsObj);
-- RTVFSFILE hVfsFile;
-- rc = RTVfsMemorizeIoStreamAsFile(hVfsIos, RTFILE_O_READ, &hVfsFile);
-- if (RT_SUCCESS(rc))
-- {
-- rc = RTVfsIoStrmValidateUtf8Encoding(hVfsIos,
-- RTVFS_VALIDATE_UTF8_BY_RTC_3629 | RTVFS_VALIDATE_UTF8_NO_NULL,
-- NULL);
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Replace *phVfsObj with the memorized file.
-- */
-- rc = RTVfsFileSeek(hVfsFile, 0, RTFILE_SEEK_BEGIN, NULL);
-- if (RT_SUCCESS(rc))
-- {
-- RTVfsObjRelease(*phVfsObj);
-- *phVfsObj = RTVfsObjFromFile(hVfsFile);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsFileSeek failed on '%s': %Rrc", pszAdjName, rc);
-- }
--
-- if (phVfsFile && RT_SUCCESS(rc))
-- *phVfsFile = hVfsFile;
-- else
-- RTVfsFileRelease(hVfsFile);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsMemorizeIoStreamAsFile failed on '%s': %Rrc", pszAdjName, rc);
-- RTVfsIoStrmRelease(hVfsIos);
-- }
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsObjQueryInfo failed on '%s': %Rrc", pszAdjName, rc);
-- }
-- return rc;
--}
--
--
--/**
-- * Validates a name in an extension pack.
-- *
-- * We restrict the charset to try make sure the extension pack can be unpacked
-- * on all file systems.
-- *
-- * @returns VBox status code, failures with message.
-- * @param pszName The name to validate.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackValidateMemberName(const char *pszName, char *pszError, size_t cbError)
--{
-- if (RTPathStartsWithRoot(pszName))
-- return vboxExtPackReturnError(VERR_PATH_IS_NOT_RELATIVE, pszError, cbError, "'%s': starts with root spec", pszName);
--
-- const char *pszErr = NULL;
-- const char *psz = pszName;
-- int ch;
-- while ((ch = *psz) != '\0')
-- {
-- /* Character set restrictions. */
-- if (ch < 0 || ch >= 128)
-- {
-- pszErr = "Only 7-bit ASCII allowed";
-- break;
-- }
-- if (ch <= 31 || ch == 127)
-- {
-- pszErr = "No control characters are not allowed";
-- break;
-- }
-- if (ch == '\\')
-- {
-- pszErr = "Only backward slashes are not allowed";
-- break;
-- }
-- if (strchr("'\":;*?|[]<>(){}", ch))
-- {
-- pszErr = "The characters ', \", :, ;, *, ?, |, [, ], <, >, (, ), { and } are not allowed";
-- break;
-- }
--
-- /* Take the simple way out and ban all ".." sequences. */
-- if ( ch == '.'
-- && psz[1] == '.')
-- {
-- pszErr = "Double dot sequence are not allowed";
-- break;
-- }
--
-- /* Keep the tree shallow or the hardening checks will fail. */
-- if (psz - pszName > VBOX_EXTPACK_MAX_MEMBER_NAME_LENGTH)
-- {
-- pszErr = "Too long";
-- break;
-- }
--
-- /* advance */
-- psz++;
-- }
--
-- if (pszErr)
-- return vboxExtPackReturnError(VERR_INVALID_NAME, pszError, cbError,
-- "Bad member name '%s' (pos %zu): %s", pszName, (size_t)(psz - pszName), pszErr);
-- return RTEXITCODE_SUCCESS;
--}
--
--
--/**
-- * Validates a file in an extension pack.
-- *
-- * @returns VBox status code, failures with message.
-- * @param pszName The name of the file.
-- * @param hVfsObj The VFS object.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackValidateMemberFile(const char *pszName, RTVFSOBJ hVfsObj, char *pszError, size_t cbError)
--{
-- int rc = vboxExtPackValidateMemberName(pszName, pszError, cbError);
-- if (RT_SUCCESS(rc))
-- {
-- RTFSOBJINFO ObjInfo;
-- rc = RTVfsObjQueryInfo(hVfsObj, &ObjInfo, RTFSOBJATTRADD_NOTHING);
-- if (RT_SUCCESS(rc))
-- {
-- if (ObjInfo.cbObject >= 9*_1G64)
-- rc = vboxExtPackReturnError(VERR_OUT_OF_RANGE, pszError, cbError,
-- "'%s': too large (%'RU64 bytes)",
-- pszName, (uint64_t)ObjInfo.cbObject);
-- if (!RTFS_IS_FILE(ObjInfo.Attr.fMode))
-- rc = vboxExtPackReturnError(VERR_NOT_A_FILE, pszError, cbError,
-- "The alleged file '%s' has a mode mask stating otherwise (%RTfmode)",
-- pszName, ObjInfo.Attr.fMode);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsObjQueryInfo failed on '%s': %Rrc", pszName, rc);
-- }
-- return rc;
--}
--
--
--/**
-- * Validates a directory in an extension pack.
-- *
-- * @returns VBox status code, failures with message.
-- * @param pszName The name of the directory.
-- * @param hVfsObj The VFS object.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackValidateMemberDir(const char *pszName, RTVFSOBJ hVfsObj, char *pszError, size_t cbError)
--{
-- int rc = vboxExtPackValidateMemberName(pszName, pszError, cbError);
-- if (RT_SUCCESS(rc))
-- {
-- RTFSOBJINFO ObjInfo;
-- rc = RTVfsObjQueryInfo(hVfsObj, &ObjInfo, RTFSOBJATTRADD_NOTHING);
-- if (RT_SUCCESS(rc))
-- {
-- if (!RTFS_IS_DIRECTORY(ObjInfo.Attr.fMode))
-- rc = vboxExtPackReturnError(VERR_NOT_A_DIRECTORY, pszError, cbError,
-- "The alleged directory '%s' has a mode mask saying differently (%RTfmode)",
-- pszName, ObjInfo.Attr.fMode);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsObjQueryInfo failed on '%s': %Rrc", pszName, rc);
-- }
-- return rc;
--}
--
--/**
-- * Validates a member of an extension pack.
-- *
-- * @returns VBox status code, failures with message.
-- * @param pszName The name of the directory.
-- * @param enmType The object type.
-- * @param hVfsObj The VFS object.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--int VBoxExtPackValidateMember(const char *pszName, RTVFSOBJTYPE enmType, RTVFSOBJ hVfsObj, char *pszError, size_t cbError)
--{
-- Assert(cbError > 0);
-- *pszError = '\0';
--
-- int rc;
-- if ( enmType == RTVFSOBJTYPE_FILE
-- || enmType == RTVFSOBJTYPE_IO_STREAM)
-- rc = vboxExtPackValidateMemberFile(pszName, hVfsObj, pszError, cbError);
-- else if ( enmType == RTVFSOBJTYPE_DIR
-- || enmType == RTVFSOBJTYPE_BASE)
-- rc = vboxExtPackValidateMemberDir(pszName, hVfsObj, pszError, cbError);
-- else
-- rc = vboxExtPackReturnError(VERR_UNEXPECTED_FS_OBJ_TYPE, pszError, cbError,
-- "'%s' is not a file or directory (enmType=%d)", pszName, enmType);
-- return rc;
--}
--
--
--/**
-- * Rewinds the tarball file handle and creates a gunzip | tar chain that
-- * results in a filesystem stream.
-- *
-- * @returns VBox status code, failures with message.
-- * @param hTarballFile The handle to the tarball file.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- * @param phTarFss Where to return the filesystem stream handle.
-- * @param phFileManifest Where to return a manifest where the tarball is
-- * gettting hashed. The entry will be called
-- * "extpack" and be ready when the file system
-- * stream is at an end. Optional.
-- */
--int VBoxExtPackOpenTarFss(RTFILE hTarballFile, char *pszError, size_t cbError, PRTVFSFSSTREAM phTarFss, PRTMANIFEST phFileManifest)
--{
-- Assert(cbError > 0);
-- *pszError = '\0';
-- *phTarFss = NIL_RTVFSFSSTREAM;
--
-- /*
-- * Rewind the file and set up a VFS chain for it.
-- */
-- int rc = RTFileSeek(hTarballFile, 0, RTFILE_SEEK_BEGIN, NULL);
-- if (RT_FAILURE(rc))
-- return vboxExtPackReturnError(rc, pszError, cbError, "Failed seeking to the start of the tarball: %Rrc", rc);
--
-- RTVFSIOSTREAM hTarballIos;
-- rc = RTVfsIoStrmFromRTFile(hTarballFile, RTFILE_O_READ | RTFILE_O_DENY_WRITE | RTFILE_O_OPEN, true /*fLeaveOpen*/,
-- &hTarballIos);
-- if (RT_FAILURE(rc))
-- return vboxExtPackReturnError(rc, pszError, cbError, "RTVfsIoStrmFromRTFile failed: %Rrc", rc);
--
-- RTMANIFEST hFileManifest = NIL_RTMANIFEST;
-- rc = RTManifestCreate(0 /*fFlags*/, &hFileManifest);
-- if (RT_SUCCESS(rc))
-- {
-- RTVFSIOSTREAM hPtIos;
-- rc = RTManifestEntryAddPassthruIoStream(hFileManifest, hTarballIos, "extpack", RTMANIFEST_ATTR_SHA256, true /*read*/, &hPtIos);
-- if (RT_SUCCESS(rc))
-- {
-- RTVFSIOSTREAM hGunzipIos;
-- rc = RTZipGzipDecompressIoStream(hPtIos, 0 /*fFlags*/, &hGunzipIos);
-- if (RT_SUCCESS(rc))
-- {
-- RTVFSFSSTREAM hTarFss;
-- rc = RTZipTarFsStreamFromIoStream(hGunzipIos, 0 /*fFlags*/, &hTarFss);
-- if (RT_SUCCESS(rc))
-- {
-- RTVfsIoStrmRelease(hPtIos);
-- RTVfsIoStrmRelease(hGunzipIos);
-- RTVfsIoStrmRelease(hTarballIos);
-- *phTarFss = hTarFss;
-- if (phFileManifest)
-- *phFileManifest = hFileManifest;
-- else
-- RTManifestRelease(hFileManifest);
-- return VINF_SUCCESS;
-- }
--
-- vboxExtPackSetError(pszError, cbError, "RTZipTarFsStreamFromIoStream failed: %Rrc", rc);
-- RTVfsIoStrmRelease(hGunzipIos);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTZipGzipDecompressIoStream failed: %Rrc", rc);
-- RTVfsIoStrmRelease(hPtIos);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestEntryAddPassthruIoStream failed: %Rrc", rc);
-- RTManifestRelease(hFileManifest);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestCreate failed: %Rrc", rc);
--
-- RTVfsIoStrmRelease(hTarballIos);
-- return rc;
--}
--
--
--/**
-- * Validates the extension pack tarball prior to unpacking.
-- *
-- * Operations performed:
-- * - Mandatory files.
-- * - Manifest check.
-- * - Manifest seal check.
-- * - XML check, match name.
-- *
-- * @returns VBox status code, failures with message.
-- * @param hTarballFile The handle to open the @a pszTarball file.
-- * @param pszExtPackName The name of the extension pack name. NULL if
-- * the name is not fixed.
-- * @param pszTarball The name of the tarball in case we have to
-- * complain about something.
-- * @param pszTarballDigest The SHA-256 digest of the tarball. Empty string
-- * if no digest available.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- * @param phValidManifest Where to optionally return the handle to fully
-- * validated the manifest for the extension pack.
-- * This includes all files.
-- * @param phXmlFile Where to optionally return the memorized XML
-- * file.
-- * @param pStrDigest Where to return the digest of the file.
-- * Optional.
-- */
--int VBoxExtPackValidateTarball(RTFILE hTarballFile, const char *pszExtPackName,
-- const char *pszTarball, const char *pszTarballDigest,
-- char *pszError, size_t cbError,
-- PRTMANIFEST phValidManifest, PRTVFSFILE phXmlFile, RTCString *pStrDigest)
--{
-- /*
-- * Clear return values.
-- */
-- if (phValidManifest)
-- *phValidManifest = NIL_RTMANIFEST;
-- if (phXmlFile)
-- *phXmlFile = NIL_RTVFSFILE;
-- Assert(cbError > 1);
-- *pszError = '\0';
-- NOREF(pszTarball);
--
-- /*
-- * Open the tar.gz filesystem stream and set up an manifest in-memory file.
-- */
-- RTMANIFEST hFileManifest;
-- RTVFSFSSTREAM hTarFss;
-- int rc = VBoxExtPackOpenTarFss(hTarballFile, pszError, cbError, &hTarFss, &hFileManifest);
-- if (RT_FAILURE(rc))
-- return rc;
--
-- RTMANIFEST hOurManifest;
-- rc = RTManifestCreate(0 /*fFlags*/, &hOurManifest);
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Process the tarball (would be nice to move this to a function).
-- */
-- RTVFSFILE hXmlFile = NIL_RTVFSFILE;
-- RTVFSFILE hManifestFile = NIL_RTVFSFILE;
-- RTVFSFILE hSignatureFile = NIL_RTVFSFILE;
-- for (;;)
-- {
-- /*
-- * Get the next stream object.
-- */
-- char *pszName;
-- RTVFSOBJ hVfsObj;
-- RTVFSOBJTYPE enmType;
-- rc = RTVfsFsStrmNext(hTarFss, &pszName, &enmType, &hVfsObj);
-- if (RT_FAILURE(rc))
-- {
-- if (rc != VERR_EOF)
-- vboxExtPackSetError(pszError, cbError, "RTVfsFsStrmNext failed: %Rrc", rc);
-- else
-- rc = VINF_SUCCESS;
-- break;
-- }
-- const char *pszAdjName = pszName[0] == '.' && pszName[1] == '/' ? &pszName[2] : pszName;
--
-- /*
-- * Check the type & name validity, performing special tests on
-- * standard extension pack member files.
-- *
-- * N.B. We will always reach the end of the loop before breaking on
-- * failure - cleanup reasons.
-- */
-- rc = VBoxExtPackValidateMember(pszName, enmType, hVfsObj, pszError, cbError);
-- if (RT_SUCCESS(rc))
-- {
-- PRTVFSFILE phVfsFile = NULL;
-- if (!strcmp(pszAdjName, VBOX_EXTPACK_DESCRIPTION_NAME))
-- phVfsFile = &hXmlFile;
-- else if (!strcmp(pszAdjName, VBOX_EXTPACK_MANIFEST_NAME))
-- phVfsFile = &hManifestFile;
-- else if (!strcmp(pszAdjName, VBOX_EXTPACK_SIGNATURE_NAME))
-- phVfsFile = &hSignatureFile;
-- else if (!strncmp(pszAdjName, VBOX_EXTPACK_LICENSE_NAME_PREFIX, sizeof(VBOX_EXTPACK_LICENSE_NAME_PREFIX) - 1))
-- rc = VBoxExtPackValidateStandardFile(pszAdjName, enmType, &hVfsObj, NULL, pszError, cbError);
-- if (phVfsFile)
-- rc = VBoxExtPackValidateStandardFile(pszAdjName, enmType, &hVfsObj, phVfsFile, pszError, cbError);
-- }
--
-- /*
-- * Add any I/O stream to the manifest
-- */
-- if ( RT_SUCCESS(rc)
-- && ( enmType == RTVFSOBJTYPE_FILE
-- || enmType == RTVFSOBJTYPE_IO_STREAM))
-- {
-- RTVFSIOSTREAM hVfsIos = RTVfsObjToIoStream(hVfsObj);
-- rc = RTManifestEntryAddIoStream(hOurManifest, hVfsIos, pszAdjName, RTMANIFEST_ATTR_SIZE | RTMANIFEST_ATTR_SHA256);
-- if (RT_FAILURE(rc))
-- vboxExtPackSetError(pszError, cbError, "RTManifestEntryAddIoStream failed on '%s': %Rrc", pszAdjName, rc);
-- RTVfsIoStrmRelease(hVfsIos);
-- }
--
-- /*
-- * Clean up and break out on failure.
-- */
-- RTVfsObjRelease(hVfsObj);
-- RTStrFree(pszName);
-- if (RT_FAILURE(rc))
-- break;
-- }
--
-- /*
-- * Check the integrity of the tarball file.
-- */
-- if (RT_SUCCESS(rc))
-- {
-- RTVfsFsStrmRelease(hTarFss);
-- hTarFss = NIL_RTVFSFSSTREAM;
-- rc = vboxExtPackVerifyFileDigest(hFileManifest, pszTarballDigest, pStrDigest, pszError, cbError);
-- }
--
-- /*
-- * If we've successfully processed the tarball, verify that the
-- * mandatory files are present.
-- */
-- if (RT_SUCCESS(rc))
-- {
-- if (hXmlFile == NIL_RTVFSFILE)
-- rc = vboxExtPackReturnError(VERR_MISSING, pszError, cbError, "Mandator file '%s' is missing", VBOX_EXTPACK_DESCRIPTION_NAME);
-- if (hManifestFile == NIL_RTVFSFILE)
-- rc = vboxExtPackReturnError(VERR_MISSING, pszError, cbError, "Mandator file '%s' is missing", VBOX_EXTPACK_MANIFEST_NAME);
-- if (hSignatureFile == NIL_RTVFSFILE)
-- rc = vboxExtPackReturnError(VERR_MISSING, pszError, cbError, "Mandator file '%s' is missing", VBOX_EXTPACK_SIGNATURE_NAME);
-- }
--
-- /*
-- * Check the manifest and it's signature.
-- */
-- if (RT_SUCCESS(rc))
-- rc = vboxExtPackVerifyManifestAndSignature(hOurManifest, hManifestFile, hSignatureFile, pszError, cbError);
--
-- /*
-- * Check the XML.
-- */
-- if (RT_SUCCESS(rc))
-- rc = vboxExtPackVerifyXml(hXmlFile, pszExtPackName, pszError, cbError);
--
-- /*
-- * Returns objects.
-- */
-- if (RT_SUCCESS(rc))
-- {
-- if (phValidManifest)
-- {
-- RTManifestRetain(hOurManifest);
-- *phValidManifest = hOurManifest;
-- }
-- if (phXmlFile)
-- {
-- RTVfsFileRetain(hXmlFile);
-- *phXmlFile = hXmlFile;
-- }
-- }
--
-- /*
-- * Release our object references.
-- */
-- RTManifestRelease(hOurManifest);
-- RTVfsFileRelease(hXmlFile);
-- RTVfsFileRelease(hManifestFile);
-- RTVfsFileRelease(hSignatureFile);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestCreate failed: %Rrc", rc);
-- RTVfsFsStrmRelease(hTarFss);
-- RTManifestRelease(hFileManifest);
--
-- return rc;
--}
--
---- VirtualBox-4.1.18.orig/include/Makefile.kmk 2012-06-20 10:07:49.000000000 -0300
-+++ VirtualBox-4.1.18/include/Makefile.kmk 2012-07-24 21:11:57.007068865 -0300
-@@ -51,7 +51,6 @@
- VBox/vd-cache-plugin.h \
- VBox/vmm/uvm.h \
- VBox/vscsi.h \
-- $(wildcard VBox/ExtPack/*.h ) \
- iprt/alloca.h \
- iprt/tcp.h \
- iprt/localipc.h \
---- VirtualBox-4.1.18.orig/src/Makefile.kmk 2012-06-20 10:07:57.000000000 -0300
-+++ VirtualBox-4.1.18/src/Makefile.kmk 2012-07-24 22:51:10.206996034 -0300
-@@ -26,14 +26,6 @@
- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
- include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
-
--else if defined(VBOX_ONLY_EXTPACKS)
-- include $(PATH_SUB_CURRENT)/bldprogs/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
-- ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- include $(PATH_SUB_CURRENT)/recompiler/Makefile.kmk
-- endif
--
- else if defined(VBOX_ONLY_TESTSUITE)
- include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
---- VirtualBox-4.1.18.orig/src/VBox/Makefile.kmk 2012-07-24 21:19:55.565641784 -0300
-+++ VirtualBox-4.1.18/src/VBox/Makefile.kmk 2012-07-24 22:12:55.429156962 -0300
-@@ -33,19 +33,6 @@
- include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
- include $(PATH_SUB_CURRENT)/Frontends/Makefile.kmk
-
--else ifdef VBOX_ONLY_EXTPACKS
-- include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/Devices/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/ExtPacks/Makefile.kmk
-- ifdef VBOX_WITH_VRDP
-- include $(PATH_SUB_CURRENT)/RDP/Makefile.kmk
-- endif
-- include $(PATH_SUB_CURRENT)/VMM/Makefile.kmk
-- ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- include $(PATH_SUB_CURRENT)/Disassembler/Makefile.kmk
-- endif
--
- else ifdef VBOX_ONLY_SDK
- include $(PATH_SUB_CURRENT)/Main/Makefile.kmk
- ifdef VBOX_WITH_VRDP
-@@ -92,9 +79,6 @@
- if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
- include $(PATH_SUB_CURRENT)/NetworkServices/Makefile.kmk
- endif
-- ifndef VBOX_OSE
-- include $(PATH_SUB_CURRENT)/ExtPacks/Makefile.kmk
-- endif
- ifdef VBOX_WITH_INSTALLER
- include $(PATH_SUB_CURRENT)/Installer/Makefile.kmk # Keep this last.
- endif
---- VirtualBox-4.1.18/src/libs/Makefile.kmk.orig 2012-07-24 21:23:26.938013023 -0300
-+++ VirtualBox-4.1.18/src/libs/Makefile.kmk 2012-07-24 21:43:42.557911752 -0300
-@@ -48,13 +48,6 @@
- include $(PATH_SUB_CURRENT)/kStuff/Makefile.kmk
- endif
-
--# OpenSSL.
--if !defined(VBOX_ONLY_SDK) \
-- && ( "$(SDK_VBOX_OPENSSL_INCS)" == "$(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)" \
-- || defined(VBOX_WITH_EXTPACK_PUEL_BUILD))
-- include $(PATH_SUB_CURRENT)/openssl-0.9.8t/Makefile.kmk
--endif
--
- # libjpeg for VRDP video redirection
- if defined(VBOX_WITH_VRDP) && defined(VBOX_WITH_VRDP_VIDEO_CHANNEL)
- include $(PATH_SUB_CURRENT)/jpeg-8a/Makefile.kmk
---- VirtualBox-4.1.18.orig/src/VBox/Devices/Makefile.kmk 2012-07-24 23:06:45.916276235 -0300
-+++ VirtualBox-4.1.18/src/VBox/Devices/Makefile.kmk 2012-07-24 23:17:00.202963228 -0300
-@@ -21,9 +21,7 @@
-
- # Include sub-makefiles.
- include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
--if defined(VBOX_WITH_INTEL_PXE) || defined(VBOX_ONLY_EXTPACKS)
-- include $(PATH_SUB_CURRENT)/PC/PXE/Makefile.kmk
--else if defined(VBOX_WITH_PXE_ROM) && !defined(VBOX_WITHOUT_ETHERBOOT)
-+if defined(VBOX_WITH_PXE_ROM) && !defined(VBOX_WITHOUT_ETHERBOOT)
- include $(PATH_SUB_CURRENT)/PC/Etherboot-src/Makefile.kmk
- endif
- if !defined(VBOX_ONLY_EXTPACKS) # Goes on almost to the end of the file.
-@@ -57,9 +55,6 @@
- ifdef VBOX_WITH_USB
- VBoxDDU_DEFS += VBOX_WITH_USB IN_USBLIB
- VBoxDDU_SDKS.win = WINPSDK W2K3DDK
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- VBoxDDU_DEFS += VBOX_WITH_EHCI_IMPL
-- endif
- ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
- VBoxDDU_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
- endif
-@@ -122,9 +117,6 @@
- VBoxDD_DEFS = VBOX_ACPI
- ifdef VBOX_WITH_USB
- VBoxDD_DEFS += VBOX_WITH_USB
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- VBoxDD_DEFS += VBOX_WITH_EHCI_IMPL
-- endif
- endif
- ifdef VBOX_WITH_VUSB
- VBoxDD_DEFS += VBOX_WITH_VUSB
-@@ -446,11 +438,6 @@
- endif
- ifdef VBOX_WITH_USB
- DevicesR3_DEFS += VBOX_WITH_USB
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- DevicesR3_DEFS += VBOX_WITH_EHCI_IMPL
-- DevicesR3_SOURCES += \
-- USB/DevEHCI.cpp
-- endif
- endif
- if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
- DevicesR3_DEFS += VBOX_WITH_PCI_PASSTHROUGH_IMPL
-@@ -607,11 +594,6 @@
-
- ifdef VBOX_WITH_USB
- VBoxDDGC_DEFS += VBOX_WITH_USB
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- VBoxDDGC_DEFS += VBOX_WITH_EHCI_IMPL
-- VBoxDDGC_SOURCES += \
-- USB/DevEHCI.cpp
-- endif
- endif
-
- ifdef VBOX_WITH_VIDEOHWACCEL
-@@ -711,11 +693,6 @@
- endif
- ifdef VBOX_WITH_USB
- VBoxDDR0_DEFS += VBOX_WITH_USB
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- VBoxDDR0_DEFS += VBOX_WITH_EHCI_IMPL
-- VBoxDDR0_SOURCES += \
-- USB/DevEHCI.cpp
-- endif
- endif
-
- if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-@@ -1204,49 +1181,5 @@
-
- endif # !VBOX_ONLY_EXTPACKS
-
--if defined(VBOX_WITH_EXTPACK_PUEL) && defined(VBOX_WITH_EXTPACK_PUEL_BUILD)
-- #
-- # The EHCI (USB 2.0) Extension Pack Modules.
-- #
-- if defined(VBOX_WITH_USB)
-- DLLS += VBoxEhciR3
-- VBoxEhciR3_TEMPLATE = VBoxR3ExtPackPuel
-- VBoxEhciR3_SOURCES = USB/DevEHCI.cpp
--
-- SYSMODS += VBoxEhciR0
-- VBoxEhciR0_TEMPLATE = VBoxR0ExtPackPuel
-- VBoxEhciR0_SOURCES = USB/DevEHCI.cpp
--
-- ifdef VBOX_WITH_RAW_MODE
-- SYSMODS += VBoxEhciRC
-- VBoxEhciRC_TEMPLATE = VBoxRcExtPackPuel
-- VBoxEhciRC_SOURCES = USB/DevEHCI.cpp
-- endif
-- endif
--
-- if defined(VBOX_WITH_PCI_PASSTHROUGH)
-- DLLS += VBoxPciRawR3
-- VBoxPciRawR3_TEMPLATE = VBoxR3ExtPackPuel
-- VBoxPciRawR3_SOURCES = Bus/DevPciRaw.cpp
--
-- DLLS += VBoxPciRawDrv
-- VBoxPciRawDrv_TEMPLATE = VBoxR3ExtPackPuel
-- VBoxPciRawDrv_SOURCES = Bus/DrvPciRaw.cpp
--
-- SYSMODS += VBoxPciRawR0
-- VBoxPciRawR0_TEMPLATE = VBoxR0ExtPackPuel
-- VBoxPciRawR0_SOURCES = Bus/DevPciRaw.cpp
--
-- Bus/DevPciRaw.cpp_INCS = Bus
-- endif
--
-- #
-- # The Intel PXE rom.
-- #
-- INSTALLS += VBoxExtPackPuelInsRoms
-- VBoxExtPackPuelInsRoms_TEMPLATE = VBoxInsExtPackPuel
-- VBoxExtPackPuelInsRoms_SOURCES = PC/PXE/PXE-Intel.rom=>PXE-Intel.rom
--endif # VBOX_WITH_EXTPACK_PUEL
--
- include $(KBUILD_PATH)/subfooter.kmk
-
---- VirtualBox-4.1.18.orig/src/VBox/Main/Makefile.kmk 2012-07-24 23:38:25.304126039 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/Makefile.kmk 2012-07-24 23:38:25.350789964 -0300
-@@ -230,14 +230,12 @@
- $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,) \
- $(if $(VBOX_USB_WITH_INOTIFY),VBOX_USB_WITH_INOTIFY,) \
- $(if $(VBOX_WITH_LIVE_MIGRATION),VBOX_WITH_LIVE_MIGRATION,) \
-- $(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK,) \
- $(if $(VBOX_WITH_VUSB),VBOX_WITH_VUSB,) \
- $(if $(VBOX_WITH_S3),VBOX_WITH_S3,) \
- $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,)
- ifdef VBOX_WITH_USB
- VBoxSVC_DEFS += \
- VBOX_WITH_USB \
-- $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI,) \
- $(if $(VBOX_WITH_NEW_USB_CODE_ON_DARWIN),VBOX_WITH_NEW_USB_CODE_ON_DARWIN,)
- endif
- VBoxSVC_DEFS.win += VBOX_COM_OUTOFPROC_MODULE
-@@ -290,7 +288,6 @@
- src-all/SharedFolderImpl.cpp \
- src-all/VirtualBoxBase.cpp \
- src-all/VirtualBoxErrorInfoImpl.cpp \
-- $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
- src-server/ApplianceImpl.cpp \
- src-server/ApplianceImplExport.cpp \
- src-server/ApplianceImplImport.cpp \
-@@ -543,8 +540,6 @@
- $(if $(VBOX_WITH_HGSMI),VBOX_WITH_HGSMI,) \
- $(if $(VBOX_WITH_VIDEOHWACCEL),VBOX_WITH_VIDEOHWACCEL,) \
- $(if $(VBOX_WITH_USB),VBOX_WITH_USB,) \
-- $(if-expr defined(VBOX_WITH_EHCI) && defined(VBOX_WITH_USB),VBOX_WITH_EHCI,) \
-- $(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK,) \
- $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,)
-
- VBoxC_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
-@@ -602,7 +597,6 @@
- src-all/SharedFolderImpl.cpp \
- src-all/VirtualBoxBase.cpp \
- src-all/VirtualBoxErrorInfoImpl.cpp \
-- $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
- $(if $(VBOX_WITH_USB_VIDEO),src-client/UsbWebcamInterface.cpp,) \
- $(if $(VBOX_WITH_USB_CARDREADER),src-client/UsbCardReader.cpp,) \
- src-client/AdditionsFacilityImpl.cpp \
-@@ -711,22 +705,6 @@
- endif # !win
-
-
--#
--# The VBoxExtPackHelperApp.
--#
--ifdef VBOX_WITH_EXTPACK
-- PROGRAMS += VBoxExtPackHelperApp
-- VBoxExtPackHelperApp_TEMPLATE = VBoxR3SetUidToRoot
-- VBoxExtPackHelperApp_LDFLAGS.darwin = -framework Security
-- VBoxExtPackHelperApp_LDFLAGS.win = /SUBSYSTEM:windows
-- VBoxExtPackHelperApp_SOURCES = \
-- src-helper-apps/VBoxExtPackHelperApp.cpp \
-- src-all/ExtPackUtil.cpp
-- VBoxExtPackHelperApp_LIBS = \
-- $(LIB_RUNTIME)
--endif # VBOX_WITH_EXTPACK
--
--
- endif # !VBOX_ONLY_SDK (the ifndef is far above)
-
-
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/Makefile.kmk 2012-07-24 23:25:04.575825175 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/Makefile.kmk 2012-07-24 23:25:04.619156084 -0300
-@@ -888,7 +888,6 @@
- $(VBOX_MACOSX_ICON_FILE)=>Resources/virtualbox.icns \
- $(VBOX_BRAND_GUI_VBOX_64PX_PNG)=>Resources/virtualbox.png \
- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-vbox.icns=>Resources/virtualbox-vbox.icns \
-- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-vbox-extpack.icns=>Resources/virtualbox-vbox-extpack.icns \
- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-ovf.icns=>Resources/virtualbox-ovf.icns \
- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-ova.icns=>Resources/virtualbox-ova.icns \
- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-vdi.icns=>Resources/virtualbox-vdi.icns \
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-24 23:28:17.985011038 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-24 23:28:18.051673913 -0300
-@@ -167,18 +167,6 @@
- <file alias="status_check_32px.png">images/status_check_32px.png</file>
- <file alias="status_error_16px.png">images/status_error_16px.png</file>
- <file alias="status_error_32px.png">images/status_error_32px.png</file>
-- <file alias="extension_pack_16px.png">images/extension_pack_16px.png</file>
-- <file alias="extension_pack_disabled_16px.png">images/extension_pack_disabled_16px.png</file>
-- <file alias="extension_pack_32px.png">images/extension_pack_32px.png</file>
-- <file alias="extension_pack_disabled_32px.png">images/extension_pack_disabled_32px.png</file>
-- <file alias="extension_pack_install_16px.png">images/extension_pack_install_16px.png</file>
-- <file alias="extension_pack_install_disabled_16px.png">images/extension_pack_install_disabled_16px.png</file>
-- <file alias="extension_pack_install_32px.png">images/extension_pack_install_32px.png</file>
-- <file alias="extension_pack_install_disabled_32px.png">images/extension_pack_install_disabled_32px.png</file>
-- <file alias="extension_pack_uninstall_16px.png">images/extension_pack_uninstall_16px.png</file>
-- <file alias="extension_pack_uninstall_disabled_16px.png">images/extension_pack_uninstall_disabled_16px.png</file>
-- <file alias="extension_pack_uninstall_32px.png">images/extension_pack_uninstall_32px.png</file>
-- <file alias="extension_pack_uninstall_disabled_32px.png">images/extension_pack_uninstall_disabled_32px.png</file>
- <file alias="proxy_16px.png">images/proxy_16px.png</file>
- <file alias="proxy_disabled_16px.png">images/proxy_disabled_16px.png</file>
- <file alias="proxy_32px.png">images/proxy_32px.png</file>
---- VirtualBox-4.1.18.orig/src/VBox/Installer/linux/Makefile.kmk 2012-07-25 00:32:00.780012664 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/linux/Makefile.kmk 2012-07-25 00:32:00.806677728 -0300
-@@ -170,11 +170,6 @@
- VBox.sh \
- VBox.png
-
--ifdef VBOX_WITH_EXTPACK
-- VBOX_LNX_STRIP_BIN += \
-- VBoxExtPackHelperApp
--endif
--
- # Qt4 GUI
- ifdef VBOX_WITH_QTGUI
- include $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
-@@ -286,7 +281,7 @@
-
- VBOX_MIME_ICONS = \
- $(addprefix $(PATH_ROOT)/src/VBox/Resources/other/,\
-- $(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
-+ $(foreach f,ova ovf vbox vdi vmdk vhd hdd, \
- $(foreach s,16 20 24 32 48 64 72 96 128 256,\
- virtualbox-$(f)-$(s)px.png=>$(s)x$(s)/virtualbox-$(f).png)))
-
---- VirtualBox-4.1.18.orig/src/VBox/Installer/win/Makefile.kmk 2012-07-25 00:34:52.253398525 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/win/Makefile.kmk 2012-07-25 00:34:52.300062531 -0300
-@@ -435,7 +435,6 @@
- -E 'VBOX_WITH_DEBUGGER_GUI=$(if-expr defined(VBOX_WITH_DEBUGGER_GUI) && defined(VBOX_WITH_QTGUI),yes,no)' \
- -E 'VBOX_WITH_DOCS_PACKING=$(if $(VBOX_WITH_DOCS_PACKING),yes,no)' \
- -E 'VBOX_WITH_EFIFW_PACKING=$(if $(VBOX_WITH_EFIFW_PACKING),yes,no)' \
-- -E 'VBOX_WITH_EXTPACK=$(if $(VBOX_WITH_EXTPACK),yes,no)' \
- -E 'VBOX_WITH_GUEST_CONTROL=$(if $(VBOX_WITH_GUEST_CONTROL),yes,no)' \
- -E 'VBOX_WITH_GUEST_PROPS=$(if $(VBOX_WITH_GUEST_PROPS),yes,no)' \
- -E 'VBOX_WITH_NETFLT=$(if $(VBOX_WITH_NETFLT),yes,no)' \
---- VirtualBox-4.1.18.orig/src/VBox/Installer/darwin/Makefile.kmk 2012-07-25 00:36:55.929571374 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/darwin/Makefile.kmk 2012-07-25 00:36:55.959569630 -0300
-@@ -629,7 +629,6 @@
- MacOS/VirtualBoxVM \
- MacOS/VBoxNetAdpCtl \
- MacOS/VBoxNetDHCP \
-- MacOS/VBoxExtPackHelperApp \
- MacOS/VBoxBalloonCtrl
- ifdef VBOX_WITH_WEBSERVICES
- VBOX_DI_VBAPP_PROGS += \
-@@ -659,7 +658,6 @@
- Resources/virtualbox.icns \
- Resources/virtualbox.png \
- Resources/virtualbox-vbox.icns \
-- Resources/virtualbox-vbox-extpack.icns \
- Resources/virtualbox-ovf.icns \
- Resources/virtualbox-ova.icns \
- Resources/virtualbox-vdi.icns \
---- VirtualBox-4.1.18/src/VBox/Installer/solaris/Makefile.kmk.orig 2012-07-25 00:38:48.476398293 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/solaris/Makefile.kmk 2012-07-25 00:38:48.516396159 -0300
-@@ -185,12 +185,12 @@
-
- VBOX_MIME_ICONS = \
- $(addprefix $(PATH_ROOT)/src/VBox/Resources/other/,\
-- $(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
-+ $(foreach f,ova ovf vbox vdi vmdk vhd hdd, \
- $(foreach s,16 20 24 32 48 64 72 96 128 256,\
- virtualbox-$(f)-$(s)px.png=>$(s)x$(s)/mimetypes/virtualbox-$(f).png)))
-
- SOLARIS_COMMON_ICONS = \
-- $(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
-+ $(foreach f,ova ovf vbox vdi vmdk vhd hdd, \
- $(foreach s,16 20 24 32 48 64 72 96 128 256,\
- $(s)x$(s)/mimetypes/virtualbox-$(f).png))
-
-@@ -210,7 +210,6 @@
- $(if $(VBOX_WITH_VBOXSDL),VBoxSDL,) \
- $(if $(VBOX_WITH_NETADP),VBoxNetAdpCtl,) \
- VBoxNetDHCP \
-- $(if $(VBOX_WITH_EXTPACK),VBoxExtPackHelperApp,) \
- VBoxSVC \
- $(if $(VBOX_WITH_CROGL),VBoxTestOGL,) \
- VBoxXPCOMIPCD \
---- VirtualBox-4.1.18.orig/src/VBox/Runtime/Makefile.kmk 2012-07-25 00:40:58.745522450 -0300
-+++ VirtualBox-4.1.18/src/VBox/Runtime/Makefile.kmk 2012-07-25 00:40:58.782186960 -0300
-@@ -53,15 +53,6 @@
- #
- LIBRARIES += RuntimeR3 RuntimeBldProg
-
--else ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- #
-- # Build docs only - need just regular R3 runtime.
-- #
-- LIBRARIES += RuntimeBldProg
-- LIBRARIES.solaris += RuntimeR0Stub
-- LIBRARIES.win += RuntimeR0Stub RuntimeRCStub
-- include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
--
- else # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_TESTSUITE && !VBOX_ONLY_DOCS
-
- #
diff --git a/libre/virtualbox-libre-modules-lts/os_blag.png b/libre/virtualbox-libre-modules-lts/os_blag.png
deleted file mode 100644
index 61995ca10..000000000
--- a/libre/virtualbox-libre-modules-lts/os_blag.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_blag_64.png b/libre/virtualbox-libre-modules-lts/os_blag_64.png
deleted file mode 100644
index aa4463a97..000000000
--- a/libre/virtualbox-libre-modules-lts/os_blag_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_dragora.png b/libre/virtualbox-libre-modules-lts/os_dragora.png
deleted file mode 100644
index d1df45880..000000000
--- a/libre/virtualbox-libre-modules-lts/os_dragora.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_dragora_64.png b/libre/virtualbox-libre-modules-lts/os_dragora_64.png
deleted file mode 100644
index 64bcecf20..000000000
--- a/libre/virtualbox-libre-modules-lts/os_dragora_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_dynebolic.png b/libre/virtualbox-libre-modules-lts/os_dynebolic.png
deleted file mode 100644
index 67b07d4c0..000000000
--- a/libre/virtualbox-libre-modules-lts/os_dynebolic.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_gnewsense.png b/libre/virtualbox-libre-modules-lts/os_gnewsense.png
deleted file mode 100644
index 76d9e38b3..000000000
--- a/libre/virtualbox-libre-modules-lts/os_gnewsense.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_gnewsense_64.png b/libre/virtualbox-libre-modules-lts/os_gnewsense_64.png
deleted file mode 100644
index 8859c34e8..000000000
--- a/libre/virtualbox-libre-modules-lts/os_gnewsense_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_gnu.png b/libre/virtualbox-libre-modules-lts/os_gnu.png
deleted file mode 100644
index 26c4550f9..000000000
--- a/libre/virtualbox-libre-modules-lts/os_gnu.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_gnu_64.png b/libre/virtualbox-libre-modules-lts/os_gnu_64.png
deleted file mode 100644
index 4161634e9..000000000
--- a/libre/virtualbox-libre-modules-lts/os_gnu_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_gnuhurd.png b/libre/virtualbox-libre-modules-lts/os_gnuhurd.png
deleted file mode 100644
index 26c4550f9..000000000
--- a/libre/virtualbox-libre-modules-lts/os_gnuhurd.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_gnulinux.png b/libre/virtualbox-libre-modules-lts/os_gnulinux.png
deleted file mode 100644
index 26c4550f9..000000000
--- a/libre/virtualbox-libre-modules-lts/os_gnulinux.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_gnulinux_64.png b/libre/virtualbox-libre-modules-lts/os_gnulinux_64.png
deleted file mode 100644
index 4161634e9..000000000
--- a/libre/virtualbox-libre-modules-lts/os_gnulinux_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_musix.png b/libre/virtualbox-libre-modules-lts/os_musix.png
deleted file mode 100644
index fb7b94577..000000000
--- a/libre/virtualbox-libre-modules-lts/os_musix.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_musix_64.png b/libre/virtualbox-libre-modules-lts/os_musix_64.png
deleted file mode 100644
index a1bbbbf3a..000000000
--- a/libre/virtualbox-libre-modules-lts/os_musix_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_os64base.png b/libre/virtualbox-libre-modules-lts/os_os64base.png
deleted file mode 100644
index 7aec20314..000000000
--- a/libre/virtualbox-libre-modules-lts/os_os64base.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_os64base.xcf b/libre/virtualbox-libre-modules-lts/os_os64base.xcf
deleted file mode 100644
index d8e28e35e..000000000
--- a/libre/virtualbox-libre-modules-lts/os_os64base.xcf
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_osbase.png b/libre/virtualbox-libre-modules-lts/os_osbase.png
deleted file mode 100644
index 00f197fca..000000000
--- a/libre/virtualbox-libre-modules-lts/os_osbase.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_osbase.xcf b/libre/virtualbox-libre-modules-lts/os_osbase.xcf
deleted file mode 100644
index c4463c857..000000000
--- a/libre/virtualbox-libre-modules-lts/os_osbase.xcf
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_parabola.png b/libre/virtualbox-libre-modules-lts/os_parabola.png
deleted file mode 100644
index 757abc484..000000000
--- a/libre/virtualbox-libre-modules-lts/os_parabola.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_parabola_64.png b/libre/virtualbox-libre-modules-lts/os_parabola_64.png
deleted file mode 100644
index 5ac7c2767..000000000
--- a/libre/virtualbox-libre-modules-lts/os_parabola_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_trisquel.png b/libre/virtualbox-libre-modules-lts/os_trisquel.png
deleted file mode 100644
index c6f0d3d7a..000000000
--- a/libre/virtualbox-libre-modules-lts/os_trisquel.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_trisquel_64.png b/libre/virtualbox-libre-modules-lts/os_trisquel_64.png
deleted file mode 100644
index ebca3dd43..000000000
--- a/libre/virtualbox-libre-modules-lts/os_trisquel_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_ututo.png b/libre/virtualbox-libre-modules-lts/os_ututo.png
deleted file mode 100644
index e1dffb575..000000000
--- a/libre/virtualbox-libre-modules-lts/os_ututo.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_ututo_64.png b/libre/virtualbox-libre-modules-lts/os_ututo_64.png
deleted file mode 100644
index 158468e0a..000000000
--- a/libre/virtualbox-libre-modules-lts/os_ututo_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/os_venenux.png b/libre/virtualbox-libre-modules-lts/os_venenux.png
deleted file mode 100644
index 5e0c1585d..000000000
--- a/libre/virtualbox-libre-modules-lts/os_venenux.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules-lts/virtualbox-libre-parabola-modules-lts.install b/libre/virtualbox-libre-modules-lts/virtualbox-libre-guest-modules-lts.install
index 54a052390..54a052390 100644
--- a/libre/virtualbox-libre-modules-lts/virtualbox-libre-parabola-modules-lts.install
+++ b/libre/virtualbox-libre-modules-lts/virtualbox-libre-guest-modules-lts.install
diff --git a/libre/virtualbox-libre-modules-lts/virtualbox-libre-modules-lts.install b/libre/virtualbox-libre-modules-lts/virtualbox-libre-host-modules-lts.install
index 5387563a6..4503996e8 100644
--- a/libre/virtualbox-libre-modules-lts/virtualbox-libre-modules-lts.install
+++ b/libre/virtualbox-libre-modules-lts/virtualbox-libre-host-modules-lts.install
@@ -1,7 +1,7 @@
EXTRAMODULES='extramodules-3.0-LIBRE-LTS'
post_install() {
-/bin/cat << EOF
+cat << EOF
===> You must load vboxdrv module before starting VirtualBox:
===> # modprobe vboxdrv
EOF
diff --git a/libre/virtualbox-libre-modules/.directory b/libre/virtualbox-libre-modules/.directory
index 9f6471595..9f6471595 100644..100755
--- a/libre/virtualbox-libre-modules/.directory
+++ b/libre/virtualbox-libre-modules/.directory
diff --git a/libre/virtualbox-libre-modules/60-vboxguest.rules b/libre/virtualbox-libre-modules/60-vboxguest.rules
deleted file mode 100644
index 6285f7249..000000000
--- a/libre/virtualbox-libre-modules/60-vboxguest.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-ACTION=="add", KERNEL=="vboxguest", SUBSYSTEM=="misc", OWNER="root", MODE="0600"
-ACTION=="add", KERNEL=="vboxuser", SUBSYSTEM=="misc", OWNER="root", MODE="0666"
diff --git a/libre/virtualbox-libre-modules/LocalConfig.kmk b/libre/virtualbox-libre-modules/LocalConfig.kmk
deleted file mode 100644
index af79f90cd..000000000
--- a/libre/virtualbox-libre-modules/LocalConfig.kmk
+++ /dev/null
@@ -1,19 +0,0 @@
-VBOX_WITH_ADDITION_DRIVERS =
-VBOX_WITH_INSTALLER = 1
-VBOX_WITH_LINUX_ADDITIONS = 1
-VBOX_WITH_X11_ADDITIONS =
-VBOX_WITH_TESTCASES =
-VBOX_WITH_TESTSUITE =
-VBOX_WITH_ORIGIN :=
-VBOX_PATH_APP_PRIVATE_ARCH := /usr/lib/virtualbox
-VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
-VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
-VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
-VBOX_PATH_APP_DOCS := /usr/share/virtualbox
-VBOX_WITH_REGISTRATION_REQUEST =
-VBOX_WITH_UPDATE_REQUEST =
-VBOX_WITH_VNC := 1
-VBOX_BLD_PYTHON = python2
-VBOX_JAVA_HOME = /usr/lib/jvm/java-6-openjdk
-VBOX_GCC_WERR =
-VBOX_GCC_WARN =
diff --git a/libre/virtualbox-libre-modules/PKGBUILD b/libre/virtualbox-libre-modules/PKGBUILD
index 18b529e63..3bd4616eb 100644..100755
--- a/libre/virtualbox-libre-modules/PKGBUILD
+++ b/libre/virtualbox-libre-modules/PKGBUILD
@@ -1,161 +1,71 @@
# $Id$
-#Maintainer: Ionut Biru <ibiru@archlinux.org>
-#Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
-#Contributor (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+# Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgbase=virtualbox-libre-modules
-pkgname=('virtualbox-libre-modules' 'virtualbox-libre-parabola-modules')
-pkgver=4.1.20
-pkgrel=2
+pkgname=('virtualbox-libre-host-modules' 'virtualbox-libre-guest-modules')
+pkgver=4.2.0
+pkgrel=6
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL')
-makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-libre-headers')
-[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
-source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
- LocalConfig.kmk 60-vboxguest.rules os_blag_64.png os_blag.png
- os_dragora_64.png os_dragora.png os_dynebolic.png os_gnewsense_64.png os_gnewsense.png
- os_gnu_64.png os_gnuhurd.png os_gnulinux_64.png os_gnulinux.png os_gnu.png
- os_musix_64.png os_musix.png os_parabola_64.png os_parabola.png os_trisquel_64.png
- os_trisquel.png os_ututo_64.png os_ututo.png os_venenux.png libre.patch
- free-distros.patch)
-md5sums=('5784c6dda8a9d53f8f21b2d41eba903c'
- '4c88bd122677a35f68abd76eb01b378b'
- 'ed1341881437455d9735875ddf455fbe'
- '8538dba8686d7449cb481c9bae9d722a'
- '545c925b46f2ac95e5f8ae407fad101a'
- 'f6416f509c2e5460e4dc624e0a57f3c1'
- 'bbfb59dd517c020a23701b480187a355'
- 'efacfdb61918286ea9bc89866b8fd239'
- '7c3eb09995e8bafeef414374e44ad4ce'
- 'a49ed3ab6bd0fb084de0ab3dd97ae93e'
- '6b432b3305ed446125eef052c38355a6'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- '6b432b3305ed446125eef052c38355a6'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- '380eb2ab6cad3da198094585853c129c'
- 'a60bb9a98abcc3c34156f9051d00df9a'
- '3a908ef6952bcf987e63ef2fe4e98d24'
- '02e87c39c353634cecacf98f1707fa15'
- '0cf41a41e7a415d404d5584e047fd450'
- '449cde3b58390284b59c5d663de3edc9'
- 'c7951fe6888d939f3a7d0dafe477e82b'
- '4da8eeb2ece7e475fc7a0d1003da26c6'
- '5e4187af59726d71c5be48d0cd816c34'
- 'a9e4724b56ddf99bb2e9a8fab8ad43ba'
- '1e47d90affabfbf6dbb07d9d42742d6a')
-
-_extramodules=extramodules-3.5-LIBRE
-
-
-
+makedepends=('linux-libre-headers'
+ "virtualbox-libre-host-source>=$pkgver"
+ "virtualbox-libre-guest-source>=$pkgver"
+ 'expac')
build() {
- _kernver="$(cat /usr/lib/modules/${_extramodules}/version || true)"
-
- export KERN_DIR=/usr/lib/modules/${_kernver}/build
- export KERN_INCL=/usr/src/linux-${_kernver}/include/
-
- cd "$srcdir/VirtualBox-${pkgver}"
-
- patch -Np1 -i "$srcdir/libre.patch"
- patch -Np1 -i "$srcdir/free-distros.patch"
-
- ## Removing Nonfree directories
- rm -rv "./include/VBox/ExtPack"
- rm -rv "./src/VBox/ExtPacks"
- rm -rv "./src/VBox/Main/src-helper-apps"
-
- ## Removing Oracle VM VirtualBox Extension Pack icons
- rm -v "./src/VBox/Resources/darwin/virtualbox-vbox-extpack.icns"
- rm -v "./src/VBox/Resources/other/virtualbox-vbox-extpack-"{16px,20px,24px,32px,40px,48px,64px,72px,80px,96px,128px,256px,512px}.png
- rm -v "./src/VBox/Resources/win/OSE/virtualbox-vbox-extpack.ico"
- rm -v "./src/VBox/Frontends/VirtualBox/images/extension_pack_"{16px,32px,disabled{_16px,_32px},install{_16px,_32px},install_disabled{_16px,_32px},uninstall{_16px,_32px},uninstall_disabled{_16px,_32px}}.png
-
- ## Adding free distros icons
- for i in {gnuhurd,dynebolic,venenux,{gnu{,linux},parabola,gnewsense,blag,dragora,ututo,musix,trisquel}{,_64}}; do
- cp -v "$srcdir/os_${i}.png" "./src/VBox/Frontends/VirtualBox/images"
- done
-
- ## Removing non-free OS icons
- rm -v "./src/VBox/Frontends/VirtualBox/images/os_"{{{arch,turbo}linux,debian,fedora,gentoo,linux{24,26},macosx,mandriva,{free,net,open}bsd,redhat,solaris,opensuse,oracle{,solaris},ubuntu,win{2k{3,8},7,8,vista,xp},xandros}{,_64},dos,jrockitve,l4,linux{,22,_other},netware,qnx,os2{_other,ecs,warp{3,4,45}},win{2k,31,95,98,_other,me,nt4}}.png
-
- cp "$srcdir/LocalConfig.kmk" .
-
- ./configure \
- --with-linux=/usr/src/linux-${_kernver} \
- --disable-java \
- --disable-docs \
- --disable-xpcom \
- --disable-python \
- --disable-sdl-ttf \
- --disable-alsa \
- --disable-pulse \
- --disable-dbus \
- --disable-opengl \
- --build-headless \
- --nofatal
- source ./env.sh
- kmk all
-
- make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
- make -C "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
+ # current kernel libre version
+ _kernver=$(expac -Q '%v' linux-libre-headers)-LIBRE
+ # dkms need modification to be run as user
+ cp -r /var/lib/dkms .
+ echo "dkms_tree='$srcdir/dkms'" > dkms.conf
+ # build host modules
+ msg2 'Host modules'
+ dkms --dkmsframework dkms.conf build "vboxhost/$pkgver" -k "$_kernver"
+ # build guest modules
+ msg2 'Guest modules'
+ dkms --dkmsframework dkms.conf build "vboxguest/$pkgver" -k "$_kernver"
}
-package_virtualbox-libre-parabola-modules(){
- pkgdesc="Additions only for Parabola guests (kernel libre modules)"
- license=('GPL')
- install=virtualbox-libre-parabola-modules.install
- depends=('linux-libre>=3.5' 'linux-libre<3.6')
- replaces=('virtualbox-archlinux-modules')
- conflicts=('virtualbox-archlinux-modules')
- provides=("virtualbox-archlinux-modules=$pkgver")
-
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
-
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
-
- for module in vboxguest.ko vboxsf.ko vboxvideo.ko; do
- install -D -m644 ${module} \
- "$pkgdir/usr/lib/modules/${_extramodules}/${module}"
- done
-
- install -D -m 0644 "$srcdir/60-vboxguest.rules" \
- "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
-
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
-
- sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "$startdir/virtualbox-libre-parabola-modules.install"
+package_virtualbox-libre-host-modules(){
+ pkgdesc='Host kernel libre modules for VirtualBox'
+ depends=('linux-libre>=3.6' 'linux-libre<3.7')
+ provides=("virtualbox-host-modules=${pkgver}")
+ replaces=('virtualbox-host-modules' 'virtualbox-modules' 'virtualbox-libre-modules')
+ conflicts=('virtualbox-host-modules' 'virtualbox-modules' 'virtualbox-libre-modules')
+ install=virtualbox-libre-host-modules.install
+
+ _kernver=$(expac -Q '%v' linux-libre-headers)-LIBRE
+ _extraver=extramodules-${_kernver%.*}-LIBRE
+
+ install -dm755 "$pkgdir/usr/lib/modules/$_extraver"
+ cd "dkms/vboxhost/$pkgver/$_kernver/$CARCH/module"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extraver"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+ sed -ie "s/EXTRAMODULES='.*'/EXTRAMODULES='$_extraver'/" "$startdir/virtualbox-libre-host-modules.install"
}
-package_virtualbox-libre-modules(){
- pkgdesc="Kernel libre modules for VirtualBox"
- license=('GPL')
- install=virtualbox-libre-modules.install
- depends=('linux-libre>=3.5' 'linux-libre<3.6')
- replaces=('virtualbox-modules')
- conflicts=('virtualbox-modules')
- provides=("virtualbox-modules=$pkgver")
-
- source "$srcdir/VirtualBox-${pkgver}/env.sh"
-
-
- cd "$srcdir/VirtualBox-${pkgver}/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src"
-
- install -D -m644 vboxdrv.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxdrv.ko"
-
- install -D -m644 vboxnetadp.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxnetadp.ko"
-
- install -D -m644 vboxnetflt.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxnetflt.ko"
-
- install -D -m644 vboxpci.ko \
- "$pkgdir/usr/lib/modules/${_extramodules}/vboxpci.ko"
+package_virtualbox-libre-guest-modules(){
+ pkgdesc='Guest kernel libre modules for VirtualBox'
+ license=('GPL')
+ depends=('linux-libre>=3.6' 'linux-libre<3.7')
+ provides=("virtualbox-guest-modules=${pkgver}")
+ replaces=('virtualbox-guest-modules' 'virtualbox-archlinux-modules' 'virtualbox-parabola-modules')
+ conflicts=('virtualbox-guest-modules' 'virtualbox-archlinux-modules' 'virtualbox-parabola-modules')
+ install=virtualbox-libre-guest-modules.install
+
+ _kernver=$(expac -Q '%v' linux-libre-headers)-LIBRE
+ _extraver=extramodules-${_kernver%.*}-LIBRE
+
+ install -dm755 "$pkgdir/usr/lib/modules/$_extraver"
+ cd "dkms/vboxguest/$pkgver/$_kernver/$CARCH/module"
+ install -m644 * "$pkgdir/usr/lib/modules/$_extraver"
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} +
+ sed -ie "s/EXTRAMODULES='.*'/EXTRAMODULES='$_extraver'/" "$startdir/virtualbox-libre-guest-modules.install"
+}
- find "${pkgdir}" -name '*.ko' -exec gzip -9 {} +
- sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "$startdir/virtualbox-libre-modules.install"
-}
+# vim:set ts=2 sw=2 et:
diff --git a/libre/virtualbox-libre-modules/build.sh b/libre/virtualbox-libre-modules/build.sh
new file mode 100755
index 000000000..87aefbff0
--- /dev/null
+++ b/libre/virtualbox-libre-modules/build.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+if (( $# != 1 )); then
+ echo "usage: $0 extra"
+ echo " $0 testing"
+ exit 1
+fi
+
+$1-i686-build
+linux32 makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-host-source-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+linux32 makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-guest-source-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
+linux32 makechrootpkg -r /var/lib/archbuild/$1-i686
+
+$1-x86_64-build
+makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-host-source-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+makechrootpkg -I ../../virtualbox/trunk/virtualbox-libre-guest-source-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
+makechrootpkg -r /var/lib/archbuild/$1-x86_64
+
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/virtualbox-libre-modules/free-distros.patch b/libre/virtualbox-libre-modules/free-distros.patch
deleted file mode 100644
index 47857e05d..000000000
--- a/libre/virtualbox-libre-modules/free-distros.patch
+++ /dev/null
@@ -1,1383 +0,0 @@
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp 2012-07-25 14:51:03.569003667 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp 2012-07-25 14:51:03.652333615 -0300
-@@ -44,94 +44,38 @@
- * first matching string found, will be used. */
- static const osTypePattern gs_OSTypePattern[] =
- {
-- { QRegExp("DOS", Qt::CaseInsensitive), "DOS" },
-
-- /* Windows */
-- { QRegExp("Wi.*98", Qt::CaseInsensitive), "Windows98" },
-- { QRegExp("Wi.*95", Qt::CaseInsensitive), "Windows95" },
-- { QRegExp("Wi.*Me", Qt::CaseInsensitive), "WindowsMe" },
-- { QRegExp("(Wi.*NT)|(NT4)", Qt::CaseInsensitive), "WindowsNT4" },
-- { QRegExp("((Wi.*XP)|(\\bXP\\b)).*64", Qt::CaseInsensitive), "WindowsXP_64" },
-- { QRegExp("(Wi.*XP)|(\\bXP\\b)", Qt::CaseInsensitive), "WindowsXP" },
-- { QRegExp("((Wi.*2003)|(W2K3)).*64", Qt::CaseInsensitive), "Windows2003_64" },
-- { QRegExp("(Wi.*2003)|(W2K3)", Qt::CaseInsensitive), "Windows2003" },
-- { QRegExp("((Wi.*V)|(Vista)).*64", Qt::CaseInsensitive), "WindowsVista_64" },
-- { QRegExp("(Wi.*V)|(Vista)", Qt::CaseInsensitive), "WindowsVista" },
-- { QRegExp("((Wi.*2008)|(W2K8)).*64", Qt::CaseInsensitive), "Windows2008_64" },
-- { QRegExp("(Wi.*2008)|(W2K8)", Qt::CaseInsensitive), "Windows2008" },
-- { QRegExp("(Wi.*2000)|(W2K)", Qt::CaseInsensitive), "Windows2000" },
-- { QRegExp("(Wi.*7.*64)|(W7.*64)", Qt::CaseInsensitive), "Windows7_64" },
-- { QRegExp("(Wi.*7)|(W7)", Qt::CaseInsensitive), "Windows7" },
-- { QRegExp("(Wi.*8.*64)|(W8.*64)", Qt::CaseInsensitive), "Windows8_64" },
-- { QRegExp("(Wi.*8)|(W8)", Qt::CaseInsensitive), "Windows8" },
-- { QRegExp("Wi.*3", Qt::CaseInsensitive), "Windows31" },
-- { QRegExp("Wi", Qt::CaseInsensitive), "WindowsXP" },
--
-- /* Solaris */
-- { QRegExp("((Op.*So)|(os20[01][0-9])|(So.*1[01])|(India)|(Neva)).*64", Qt::CaseInsensitive), "OpenSolaris_64" },
-- { QRegExp("(Op.*So)|(os20[01][0-9])|(So.*1[01])|(India)|(Neva)", Qt::CaseInsensitive), "OpenSolaris" },
-- { QRegExp("So.*64", Qt::CaseInsensitive), "Solaris_64" },
-- { QRegExp("So", Qt::CaseInsensitive), "Solaris" },
--
-- /* OS/2 */
-- { QRegExp("OS[/|!-]{,1}2.*W.*4.?5", Qt::CaseInsensitive), "OS2Warp45" },
-- { QRegExp("OS[/|!-]{,1}2.*W.*4", Qt::CaseInsensitive), "OS2Warp4" },
-- { QRegExp("OS[/|!-]{,1}2.*W", Qt::CaseInsensitive), "OS2Warp3" },
-- { QRegExp("(OS[/|!-]{,1}2.*e)|(eCS.*)", Qt::CaseInsensitive), "OS2eCS" },
-- { QRegExp("OS[/|!-]{,1}2", Qt::CaseInsensitive), "OS2" },
--
-- /* Code names for Linux distributions */
-- { QRegExp("((edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)).*64", Qt::CaseInsensitive), "Ubuntu_64" },
-- { QRegExp("(edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)", Qt::CaseInsensitive), "Ubuntu" },
-- { QRegExp("((sarge)|(etch)|(lenny)|(squeeze)|(wheezy)|(sid)).*64", Qt::CaseInsensitive), "Debian_64" },
-- { QRegExp("(sarge)|(etch)|(lenny)|(squeeze)|(wheezy)|(sid)", Qt::CaseInsensitive), "Debian" },
-- { QRegExp("((moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)).*64", Qt::CaseInsensitive), "Fedora_64" },
-- { QRegExp("(moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)", Qt::CaseInsensitive), "Fedora" },
--
-- /* Regular names of Linux distributions */
-- { QRegExp("Arc.*64", Qt::CaseInsensitive), "ArchLinux_64" },
-- { QRegExp("Arc", Qt::CaseInsensitive), "ArchLinux" },
-- { QRegExp("Deb.*64", Qt::CaseInsensitive), "Debian_64" },
-- { QRegExp("Deb", Qt::CaseInsensitive), "Debian" },
-- { QRegExp("((SU)|(Nov)|(SLE)).*64", Qt::CaseInsensitive), "OpenSUSE_64" },
-- { QRegExp("(SU)|(Nov)|(SLE)", Qt::CaseInsensitive), "OpenSUSE" },
-- { QRegExp("Fe.*64", Qt::CaseInsensitive), "Fedora_64" },
-- { QRegExp("Fe", Qt::CaseInsensitive), "Fedora" },
-- { QRegExp("((Gen)|(Sab)).*64", Qt::CaseInsensitive), "Gentoo_64" },
-- { QRegExp("(Gen)|(Sab)", Qt::CaseInsensitive), "Gentoo" },
-- { QRegExp("Man.*64", Qt::CaseInsensitive), "Mandriva_64" },
-- { QRegExp("Man", Qt::CaseInsensitive), "Mandriva" },
-- { QRegExp("((Red)|(rhel)|(cen)).*64", Qt::CaseInsensitive), "RedHat_64" },
-- { QRegExp("(Red)|(rhel)|(cen)", Qt::CaseInsensitive), "RedHat" },
-- { QRegExp("Tur.*64", Qt::CaseInsensitive), "Turbolinux_64" },
-- { QRegExp("Tur", Qt::CaseInsensitive), "Turbolinux" },
-- { QRegExp("Ub.*64", Qt::CaseInsensitive), "Ubuntu_64" },
-- { QRegExp("Ub", Qt::CaseInsensitive), "Ubuntu" },
-- { QRegExp("Xa.*64", Qt::CaseInsensitive), "Xandros_64" },
-- { QRegExp("Xa", Qt::CaseInsensitive), "Xandros" },
-- { QRegExp("((Or)|(oel)).*64", Qt::CaseInsensitive), "Oracle_64" },
-- { QRegExp("(Or)|(oel)", Qt::CaseInsensitive), "Oracle" },
-- { QRegExp("((Li)|(lnx)).*2.?2", Qt::CaseInsensitive), "Linux22" },
-- { QRegExp("((Li)|(lnx)).*2.?4.*64", Qt::CaseInsensitive), "Linux24_64" },
-- { QRegExp("((Li)|(lnx)).*2.?4", Qt::CaseInsensitive), "Linux24" },
-- { QRegExp("((((Li)|(lnx)).*2.?6)|(LFS)).*64", Qt::CaseInsensitive), "Linux26_64" },
-- { QRegExp("(((Li)|(lnx)).*2.?6)|(LFS)", Qt::CaseInsensitive), "Linux26" },
-- { QRegExp("((Li)|(lnx)).*64", Qt::CaseInsensitive), "Linux26_64" },
-- { QRegExp("(Li)|(lnx)", Qt::CaseInsensitive), "Linux26" },
-+ /* Code names for GNU/Linux distributions */
-+ { QRegExp("((Taranis)|(Dagda)|(Brigantia)).*64", Qt::CaseInsensitive), "Trisquel_64" },
-+ { QRegExp("(Taranis)|(Dagda)|(Brigantia)", Qt::CaseInsensitive), "Trisquel" },
-+ { QRegExp("((metad)|(parkes)|(three)).*64", Qt::CaseInsensitive), "gNewSense_64" },
-+ { QRegExp("(deltah)|(metad)|(parkes)|(three)", Qt::CaseInsensitive), "gNewSense" },
-+ { QRegExp("((90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)).*64", Qt::CaseInsensitive), "Blag_64" },
-+ { QRegExp("(90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)", Qt::CaseInsensitive), "Blag" },
-+
-+ /* Regular names of GNU/Linux distributions and GNU-Hurd */
-+ { QRegExp("Pa.*64", Qt::CaseInsensitive), "Parabola_64" },
-+ { QRegExp("Pa", Qt::CaseInsensitive), "Parabola" },
-+ { QRegExp("((gNe)|(new)|(Sen)).*64", Qt::CaseInsensitive), "gNewSense_64" },
-+ { QRegExp("(gNe)|(new)|(Sen)", Qt::CaseInsensitive), "gNewSense" },
-+ { QRegExp("Bla.*64", Qt::CaseInsensitive), "Blag_64" },
-+ { QRegExp("Bla", Qt::CaseInsensitive), "Blag" },
-+ { QRegExp("Dra.*64", Qt::CaseInsensitive), "Dragora_64" },
-+ { QRegExp("Dra", Qt::CaseInsensitive), "Dragora" },
-+ { QRegExp("((Utu)|(XS)).*64", Qt::CaseInsensitive), "Ututo_64" },
-+ { QRegExp("(Utu)|(XS)", Qt::CaseInsensitive), "Ututo" },
-+ { QRegExp("Mus.*64", Qt::CaseInsensitive), "Musix_64" },
-+ { QRegExp("Mus", Qt::CaseInsensitive), "Musix" },
-+ { QRegExp("Tri.*64", Qt::CaseInsensitive), "Trisquel_64" },
-+ { QRegExp("Tri", Qt::CaseInsensitive), "Trisquel" },
-+ { QRegExp("Dyn", Qt::CaseInsensitive), "Dynebolic" },
-+ { QRegExp("Ven", Qt::CaseInsensitive), "Venenux" },
-+ { QRegExp("GNU", Qt::CaseInsensitive), "GNU" },
-+ { QRegExp("Hu", Qt::CaseInsensitive), "GNUHurd" },
-+ { QRegExp("((Li)|(lnx)).*64", Qt::CaseInsensitive), "GNULinux_64" },
-+ { QRegExp("(Li)|(lnx)", Qt::CaseInsensitive), "GNULinux" },
-
- /* Other */
-- { QRegExp("L4", Qt::CaseInsensitive), "L4" },
-- { QRegExp("((Fr.*B)|(fbsd)).*64", Qt::CaseInsensitive), "FreeBSD_64" },
-- { QRegExp("(Fr.*B)|(fbsd)", Qt::CaseInsensitive), "FreeBSD" },
-- { QRegExp("Op.*B.*64", Qt::CaseInsensitive), "OpenBSD_64" },
-- { QRegExp("Op.*B", Qt::CaseInsensitive), "OpenBSD" },
-- { QRegExp("Ne.*B.*64", Qt::CaseInsensitive), "NetBSD_64" },
-- { QRegExp("Ne.*B", Qt::CaseInsensitive), "NetBSD" },
-- { QRegExp("QN", Qt::CaseInsensitive), "QNX" },
-- { QRegExp("((Mac)|(Tig)|(Leop)|(osx)).*64", Qt::CaseInsensitive), "MacOS_64" },
-- { QRegExp("(Mac)|(Tig)|(Leop)|(osx)", Qt::CaseInsensitive), "MacOS" },
-- { QRegExp("Net", Qt::CaseInsensitive), "Netware" },
-- { QRegExp("Rocki", Qt::CaseInsensitive), "JRockitVE" },
- { QRegExp("Ot", Qt::CaseInsensitive), "Other" },
- };
-
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/Settings.cpp 2012-07-25 15:14:50.498764160 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/Settings.cpp 2012-07-25 15:14:50.548761649 -0300
-@@ -3227,40 +3227,18 @@
- } aConvertOSTypes[] =
- {
- { "unknown", "Other" },
-- { "dos", "DOS" },
-- { "win31", "Windows31" },
-- { "win95", "Windows95" },
-- { "win98", "Windows98" },
-- { "winme", "WindowsMe" },
-- { "winnt4", "WindowsNT4" },
-- { "win2k", "Windows2000" },
-- { "winxp", "WindowsXP" },
-- { "win2k3", "Windows2003" },
-- { "winvista", "WindowsVista" },
-- { "win2k8", "Windows2008" },
-- { "os2warp3", "OS2Warp3" },
-- { "os2warp4", "OS2Warp4" },
-- { "os2warp45", "OS2Warp45" },
-- { "ecs", "OS2eCS" },
-- { "linux22", "Linux22" },
-- { "linux24", "Linux24" },
-- { "linux26", "Linux26" },
-- { "archlinux", "ArchLinux" },
-- { "debian", "Debian" },
-- { "opensuse", "OpenSUSE" },
-- { "fedoracore", "Fedora" },
-- { "gentoo", "Gentoo" },
-- { "mandriva", "Mandriva" },
-- { "redhat", "RedHat" },
-- { "ubuntu", "Ubuntu" },
-- { "xandros", "Xandros" },
-- { "freebsd", "FreeBSD" },
-- { "openbsd", "OpenBSD" },
-- { "netbsd", "NetBSD" },
-- { "netware", "Netware" },
-- { "solaris", "Solaris" },
-- { "opensolaris", "OpenSolaris" },
-- { "l4", "L4" }
-+ { "gnu", "GNU" },
-+ { "gnuhurd", "GNUHurd" },
-+ { "gnulinux", "GNULinux" },
-+ { "parabola", "Parabola" },
-+ { "gnewsense", "gNewSense" },
-+ { "blag", "Blag" },
-+ { "dragora", "Dragora" },
-+ { "ututo", "Ututo" },
-+ { "musix", "Musix" },
-+ { "trisquel", "Trisquel" },
-+ { "dynebolic", "Dynebolic" },
-+ { "venenux", "Venenux" },
- };
-
- void MachineConfigFile::convertOldOSType_pre1_5(Utf8Str &str)
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/SettingsConverter.xsl 2012-07-25 15:21:04.553581275 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/SettingsConverter.xsl 2012-07-25 15:21:04.593579427 -0300
-@@ -729,40 +729,18 @@
- <xsl:attribute name="OSType">
- <xsl:choose>
- <xsl:when test="@OSType='unknown'">Other</xsl:when>
-- <xsl:when test="@OSType='dos'">DOS</xsl:when>
-- <xsl:when test="@OSType='win31'">Windows31</xsl:when>
-- <xsl:when test="@OSType='win95'">Windows95</xsl:when>
-- <xsl:when test="@OSType='win98'">Windows98</xsl:when>
-- <xsl:when test="@OSType='winme'">WindowsMe</xsl:when>
-- <xsl:when test="@OSType='winnt4'">WindowsNT4</xsl:when>
-- <xsl:when test="@OSType='win2k'">Windows2000</xsl:when>
-- <xsl:when test="@OSType='winxp'">WindowsXP</xsl:when>
-- <xsl:when test="@OSType='win2k3'">Windows2003</xsl:when>
-- <xsl:when test="@OSType='winvista'">WindowsVista</xsl:when>
-- <xsl:when test="@OSType='win2k8'">Windows2008</xsl:when>
-- <xsl:when test="@OSType='os2warp3'">OS2Warp3</xsl:when>
-- <xsl:when test="@OSType='os2warp4'">OS2Warp4</xsl:when>
-- <xsl:when test="@OSType='os2warp45'">OS2Warp45</xsl:when>
-- <xsl:when test="@OSType='ecs'">OS2eCS</xsl:when>
-- <xsl:when test="@OSType='linux22'">Linux22</xsl:when>
-- <xsl:when test="@OSType='linux24'">Linux24</xsl:when>
-- <xsl:when test="@OSType='linux26'">Linux26</xsl:when>
-- <xsl:when test="@OSType='archlinux'">ArchLinux</xsl:when>
-- <xsl:when test="@OSType='debian'">Debian</xsl:when>
-- <xsl:when test="@OSType='opensuse'">OpenSUSE</xsl:when>
-- <xsl:when test="@OSType='fedoracore'">Fedora</xsl:when>
-- <xsl:when test="@OSType='gentoo'">Gentoo</xsl:when>
-- <xsl:when test="@OSType='mandriva'">Mandriva</xsl:when>
-- <xsl:when test="@OSType='redhat'">RedHat</xsl:when>
-- <xsl:when test="@OSType='ubuntu'">Ubuntu</xsl:when>
-- <xsl:when test="@OSType='xandros'">Xandros</xsl:when>
-- <xsl:when test="@OSType='freebsd'">FreeBSD</xsl:when>
-- <xsl:when test="@OSType='openbsd'">OpenBSD</xsl:when>
-- <xsl:when test="@OSType='netbsd'">NetBSD</xsl:when>
-- <xsl:when test="@OSType='netware'">Netware</xsl:when>
-- <xsl:when test="@OSType='solaris'">Solaris</xsl:when>
-- <xsl:when test="@OSType='opensolaris'">OpenSolaris</xsl:when>
-- <xsl:when test="@OSType='l4'">L4</xsl:when>
-+ <xsl:when test="@OSType='gnu'">GNU</xsl:when>
-+ <xsl:when test="@OSType='gnuhurd'">GNUHurd</xsl:when>
-+ <xsl:when test="@OSType='gnulinux'">GNULinux</xsl:when>
-+ <xsl:when test="@OSType='parabola'">Parabola</xsl:when>
-+ <xsl:when test="@OSType='gnewsense'">gNewSense</xsl:when>
-+ <xsl:when test="@OSType='blag'">Blag</xsl:when>
-+ <xsl:when test="@OSType='dragora'">Dragora</xsl:when>
-+ <xsl:when test="@OSType='ututo'">Ututo</xsl:when>
-+ <xsl:when test="@OSType='musix'">Musix</xsl:when>
-+ <xsl:when test="@OSType='trisquel'">Trisquel</xsl:when>
-+ <xsl:when test="@OSType='dynebolic'">Dynebolic</xsl:when>
-+ <xsl:when test="@OSType='venenux'">Venenux</xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:apply-templates select="@*[name()!='OSType']" mode="v1.5"/>
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/VirtualBox-settings-common.xsd 2012-07-25 15:04:37.856003691 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/VirtualBox-settings-common.xsd 2012-07-25 15:04:37.892668156 -0300
-@@ -137,75 +137,27 @@
- <xsd:simpleType name="TGuestOSType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="Other"/>
-- <xsd:enumeration value="DOS"/>
-- <xsd:enumeration value="Netware"/>
-- <xsd:enumeration value="L4"/>
-- <xsd:enumeration value="Windows31"/>
-- <xsd:enumeration value="Windows95"/>
-- <xsd:enumeration value="Windows98"/>
-- <xsd:enumeration value="WindowsMe"/>
-- <xsd:enumeration value="WindowsNT4"/>
-- <xsd:enumeration value="Windows2000"/>
-- <xsd:enumeration value="WindowsXP"/>
-- <xsd:enumeration value="WindowsXP_64"/>
-- <xsd:enumeration value="Windows2003"/>
-- <xsd:enumeration value="Windows2003_64"/>
-- <xsd:enumeration value="WindowsVista"/>
-- <xsd:enumeration value="WindowsVista_64"/>
-- <xsd:enumeration value="Windows2008"/>
-- <xsd:enumeration value="Windows2008_64"/>
-- <xsd:enumeration value="Windows7"/>
-- <xsd:enumeration value="Windows7_64"/>
-- <xsd:enumeration value="Windows8"/>
-- <xsd:enumeration value="Windows8_64"/>
-- <xsd:enumeration value="WindowsNT"/>
-- <xsd:enumeration value="OS2Warp3"/>
-- <xsd:enumeration value="OS2Warp4"/>
-- <xsd:enumeration value="OS2Warp45"/>
-- <xsd:enumeration value="OS2eCS"/>
-- <xsd:enumeration value="OS2"/>
-- <xsd:enumeration value="Linux22"/>
-- <xsd:enumeration value="Linux24"/>
-- <xsd:enumeration value="Linux24_64"/>
-- <xsd:enumeration value="Linux26"/>
-- <xsd:enumeration value="Linux26_64"/>
-- <xsd:enumeration value="ArchLinux"/>
-- <xsd:enumeration value="ArchLinux_64"/>
-- <xsd:enumeration value="Debian"/>
-- <xsd:enumeration value="Debian_64"/>
-- <xsd:enumeration value="OpenSUSE"/>
-- <xsd:enumeration value="OpenSUSE_64"/>
-- <xsd:enumeration value="Fedora"/>
-- <xsd:enumeration value="Fedora_64"/>
-- <xsd:enumeration value="Gentoo"/>
-- <xsd:enumeration value="Gentoo_64"/>
-- <xsd:enumeration value="Mandriva"/>
-- <xsd:enumeration value="Mandriva_64"/>
-- <xsd:enumeration value="RedHat"/>
-- <xsd:enumeration value="RedHat_64"/>
-- <xsd:enumeration value="Turbolinux"/>
-- <xsd:enumeration value="Turbolinux_64"/>
-- <xsd:enumeration value="Ubuntu"/>
-- <xsd:enumeration value="Ubuntu_64"/>
-- <xsd:enumeration value="Xandros"/>
-- <xsd:enumeration value="Xandros_64"/>
-- <xsd:enumeration value="Oracle"/>
-- <xsd:enumeration value="Oracle_64"/>
-- <xsd:enumeration value="Linux"/>
-- <xsd:enumeration value="FreeBSD"/>
-- <xsd:enumeration value="FreeBSD_64"/>
-- <xsd:enumeration value="OpenBSD"/>
-- <xsd:enumeration value="OpenBSD_64"/>
-- <xsd:enumeration value="NetBSD"/>
-- <xsd:enumeration value="NetBSD_64"/>
-- <xsd:enumeration value="Solaris"/>
-- <xsd:enumeration value="Solaris_64"/>
-- <xsd:enumeration value="OpenSolaris"/>
-- <xsd:enumeration value="OpenSolaris_64"/>
-- <xsd:enumeration value="QNX"/>
-- <xsd:enumeration value="MacOS"/>
-- <xsd:enumeration value="MacOS_64"/>
-- <xsd:enumeration value="JRockitVE"/>
-+ <xsd:enumeration value="GNU"/>
-+ <xsd:enumeration value="GNU_64"/>
-+ <xsd:enumeration value="GNUHurd"/>
-+ <xsd:enumeration value="GNULinux"/>
-+ <xsd:enumeration value="GNULinux_64"/>
-+ <xsd:enumeration value="Parabola"/>
-+ <xsd:enumeration value="Parabola_64"/>
-+ <xsd:enumeration value="gNewSense"/>
-+ <xsd:enumeration value="gNewSense_64"/>
-+ <xsd:enumeration value="Blag"/>
-+ <xsd:enumeration value="Blag_64"/>
-+ <xsd:enumeration value="Dragora"/>
-+ <xsd:enumeration value="Dragora_64"/>
-+ <xsd:enumeration value="Ututo"/>
-+ <xsd:enumeration value="Ututo_64"/>
-+ <xsd:enumeration value="Musix"/>
-+ <xsd:enumeration value="Musix_64"/>
-+ <xsd:enumeration value="Trisquel"/>
-+ <xsd:enumeration value="Trisquel_64"/>
-+ <xsd:enumeration value="Dynebolic"/>
-+ <xsd:enumeration value="Venenux"/>
- </xsd:restriction>
- </xsd:simpleType>
-
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-25 15:40:56.733096866 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-25 15:40:56.796426519 -0300
-@@ -1,75 +1,27 @@
- <!DOCTYPE RCC><RCC version="1.0">
- <qresource prefix="/">
-- <file alias="os_archlinux.png">images/os_archlinux.png</file>
-- <file alias="os_archlinux_64.png">images/os_archlinux_64.png</file>
-- <file alias="os_debian.png">images/os_debian.png</file>
-- <file alias="os_debian_64.png">images/os_debian_64.png</file>
-- <file alias="os_dos.png">images/os_dos.png</file>
-- <file alias="os_fedora.png">images/os_fedora.png</file>
-- <file alias="os_fedora_64.png">images/os_fedora_64.png</file>
-- <file alias="os_freebsd.png">images/os_freebsd.png</file>
-- <file alias="os_freebsd_64.png">images/os_freebsd_64.png</file>
-- <file alias="os_gentoo.png">images/os_gentoo.png</file>
-- <file alias="os_gentoo_64.png">images/os_gentoo_64.png</file>
-- <file alias="os_jrockitve.png">images/os_jrockitve.png</file>
-- <file alias="os_l4.png">images/os_l4.png</file>
-- <file alias="os_linux_other.png">images/os_linux_other.png</file>
-- <file alias="os_linux22.png">images/os_linux22.png</file>
-- <file alias="os_linux24.png">images/os_linux24.png</file>
-- <file alias="os_linux24_64.png">images/os_linux24_64.png</file>
-- <file alias="os_linux26.png">images/os_linux26.png</file>
-- <file alias="os_linux26_64.png">images/os_linux26_64.png</file>
-- <file alias="os_mandriva.png">images/os_mandriva.png</file>
-- <file alias="os_mandriva_64.png">images/os_mandriva_64.png</file>
-- <file alias="os_netbsd.png">images/os_netbsd.png</file>
-- <file alias="os_netbsd_64.png">images/os_netbsd_64.png</file>
-- <file alias="os_netware.png">images/os_netware.png</file>
-- <file alias="os_openbsd.png">images/os_openbsd.png</file>
-- <file alias="os_openbsd_64.png">images/os_openbsd_64.png</file>
-- <file alias="os_oraclesolaris.png">images/os_oraclesolaris.png</file>
-- <file alias="os_oraclesolaris_64.png">images/os_oraclesolaris_64.png</file>
-- <file alias="os_opensuse.png">images/os_opensuse.png</file>
-- <file alias="os_opensuse_64.png">images/os_opensuse_64.png</file>
-- <file alias="os_os2_other.png">images/os_os2_other.png</file>
-- <file alias="os_os2ecs.png">images/os_os2ecs.png</file>
-- <file alias="os_os2warp3.png">images/os_os2warp3.png</file>
-- <file alias="os_os2warp4.png">images/os_os2warp4.png</file>
-- <file alias="os_os2warp45.png">images/os_os2warp45.png</file>
-+ <file alias="os_parabola.png">images/os_parabola.png</file>
-+ <file alias="os_parabola_64.png">images/os_parabola_64.png</file>
-+ <file alias="os_gnewsense.png">images/os_gnewsense.png</file>
-+ <file alias="os_gnewsense_64.png">images/os_gnewsense_64.png</file>
-+ <file alias="os_blag.png">images/os_blag.png</file>
-+ <file alias="os_blag_64.png">images/os_blag_64.png</file>
-+ <file alias="os_ututo.png">images/os_ututo.png</file>
-+ <file alias="os_ututo_64.png">images/os_ututo_64.png</file>
-+ <file alias="os_gnu.png">images/os_gnu.png</file>
-+ <file alias="os_gnu_64.png">images/os_gnu_64.png</file>
-+ <file alias="os_gnuhurd.png">images/os_gnuhurd.png</file>
-+ <file alias="os_gnulinux.png">images/os_gnulinux.png</file>
-+ <file alias="os_gnulinux_64.png">images/os_gnulinux_64.png</file>
-+ <file alias="os_musix.png">images/os_musix.png</file>
-+ <file alias="os_musix_64.png">images/os_musix_64.png</file>
-+ <file alias="os_dragora.png">images/os_dragora.png</file>
-+ <file alias="os_dragora_64.png">images/os_dragora_64.png</file>
- <file alias="os_other.png">images/os_other.png</file>
-- <file alias="os_qnx.png">images/os_qnx.png</file>
-- <file alias="os_redhat.png">images/os_redhat.png</file>
-- <file alias="os_redhat_64.png">images/os_redhat_64.png</file>
-- <file alias="os_turbolinux.png">images/os_turbolinux.png</file>
-- <file alias="os_turbolinux_64.png">images/os_turbolinux_64.png</file>
-- <file alias="os_solaris.png">images/os_solaris.png</file>
-- <file alias="os_solaris_64.png">images/os_solaris_64.png</file>
-- <file alias="os_ubuntu.png">images/os_ubuntu.png</file>
-- <file alias="os_ubuntu_64.png">images/os_ubuntu_64.png</file>
-- <file alias="os_win_other.png">images/os_win_other.png</file>
-- <file alias="os_win2k.png">images/os_win2k.png</file>
-- <file alias="os_win2k3.png">images/os_win2k3.png</file>
-- <file alias="os_win2k3_64.png">images/os_win2k3_64.png</file>
-- <file alias="os_win2k8.png">images/os_win2k8.png</file>
-- <file alias="os_win2k8_64.png">images/os_win2k8_64.png</file>
-- <file alias="os_win31.png">images/os_win31.png</file>
-- <file alias="os_win7.png">images/os_win7.png</file>
-- <file alias="os_win7_64.png">images/os_win7_64.png</file>
-- <file alias="os_win8.png">images/os_win8.png</file>
-- <file alias="os_win8_64.png">images/os_win8_64.png</file>
-- <file alias="os_win95.png">images/os_win95.png</file>
-- <file alias="os_win98.png">images/os_win98.png</file>
-- <file alias="os_winme.png">images/os_winme.png</file>
-- <file alias="os_winnt4.png">images/os_winnt4.png</file>
-- <file alias="os_winvista.png">images/os_winvista.png</file>
-- <file alias="os_winvista_64.png">images/os_winvista_64.png</file>
-- <file alias="os_winxp.png">images/os_winxp.png</file>
-- <file alias="os_winxp_64.png">images/os_winxp_64.png</file>
-- <file alias="os_xandros.png">images/os_xandros.png</file>
-- <file alias="os_xandros_64.png">images/os_xandros_64.png</file>
-- <file alias="os_oracle.png">images/os_oracle.png</file>
-- <file alias="os_oracle_64.png">images/os_oracle_64.png</file>
-- <file alias="os_macosx.png">images/os_macosx.png</file>
-- <file alias="os_macosx_64.png">images/os_macosx_64.png</file>
-+ <file alias="os_dynebolic.png">images/os_dynebolic.png</file>
-+ <file alias="os_venenux.png">images/os_venenux.png</file>
-+ <file alias="os_trisquel.png">images/os_trisquel.png</file>
-+ <file alias="os_trisquel_64.png">images/os_trisquel_64.png</file>
- <file alias="hd_16px.png">images/hd_16px.png</file>
- <file alias="hd_disabled_16px.png">images/hd_disabled_16px.png</file>
- <file alias="hd_32px.png">images/hd_32px.png</file>
---- VirtualBox-4.1.20.orig/src/VBox/Main/src-all/Global.cpp 2012-08-20 11:36:24.000000000 -0300
-+++ VirtualBox-4.1.20/src/VBox/Main/src-all/Global.cpp 2012-08-21 14:22:29.148190849 -0300
-@@ -35,284 +35,90 @@
- VBOXOSTYPE_Unknown, VBOXOSHINT_NONE,
- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows31, "Windows 3.1",
-- VBOXOSTYPE_Win31, VBOXOSHINT_NONE,
-- 32, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows95, "Windows 95",
-- VBOXOSTYPE_Win95, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows98, "Windows 98",
-- VBOXOSTYPE_Win98, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsMe, "Windows Me",
-- VBOXOSTYPE_WinMe, VBOXOSHINT_NONE,
-- 64, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT4, "Windows NT 4",
-- VBOXOSTYPE_WinNT4, VBOXOSHINT_NONE,
-- 128, 16, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2000, "Windows 2000",
-- VBOXOSTYPE_Win2k, VBOXOSHINT_USBTABLET,
-- 168, 16, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP, "Windows XP",
-- VBOXOSTYPE_WinXP, VBOXOSHINT_USBTABLET,
-- 192, 16, 10 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP_64, "Windows XP (64 bit)",
-- VBOXOSTYPE_WinXP_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 192, 16, 10 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003, "Windows 2003",
-- VBOXOSTYPE_Win2k3, VBOXOSHINT_USBTABLET,
-- 256, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003_64, "Windows 2003 (64 bit)",
-- VBOXOSTYPE_Win2k3_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 256, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista, "Windows Vista",
-- VBOXOSTYPE_WinVista, VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista_64, "Windows Vista (64 bit)",
-- VBOXOSTYPE_WinVista_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008, "Windows 2008",
-- VBOXOSTYPE_Win2k8, VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008_64, "Windows 2008 (64 bit)",
-- VBOXOSTYPE_Win2k8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows7, "Windows 7",
-- VBOXOSTYPE_Win7, VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows7_64, "Windows 7 (64 bit)",
-- VBOXOSTYPE_Win7_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows8, "Windows 8",
-- VBOXOSTYPE_Win8, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_PAE,
-- 1024,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows8_64, "Windows 8 (64 bit)",
-- VBOXOSTYPE_Win8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 1536,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT, "Other Windows",
-- VBOXOSTYPE_WinNT, VBOXOSHINT_NONE,
-- 512, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux22, "Linux 2.2",
-- VBOXOSTYPE_Linux22, VBOXOSHINT_RTCUTC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux24, "Linux 2.4",
-- VBOXOSTYPE_Linux24, VBOXOSHINT_RTCUTC,
-- 128, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux24_64, "Linux 2.4 (64 bit)",
-- VBOXOSTYPE_Linux24_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 128, 4, 4 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU", "GNU", SchemaDefs_OSTypeId_GNU, "GNU",
-+ VBOXOSTYPE_GNU, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-+ { "GNU", "GNU", SchemaDefs_OSTypeId_GNU_64, "GNU (64 bit)",
-+ VBOXOSTYPE_GNU_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-+ { "GNU-Hurd", "GNU-Hurd", SchemaDefs_OSTypeId_GNUHurd, "GNU-Hurd",
-+ VBOXOSTYPE_GNUHurd, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux26, "Linux 2.6",
-- VBOXOSTYPE_Linux26, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_GNULinux, "GNU/Linux",
-+ VBOXOSTYPE_GNULinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux26_64, "Linux 2.6 (64 bit)",
-- VBOXOSTYPE_Linux26_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_GNULinux_64, "GNU/Linux (64 bit)",
-+ VBOXOSTYPE_GNULinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_ArchLinux, "Arch Linux",
-- VBOXOSTYPE_ArchLinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Parabola, "Parabola GNU/Linux-libre",
-+ VBOXOSTYPE_Parabola, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_ArchLinux_64, "Arch Linux (64 bit)",
-- VBOXOSTYPE_ArchLinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Parabola_64, "Parabola GNU/Linux-libre (64 bit)",
-+ VBOXOSTYPE_Parabola_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Debian, "Debian",
-- VBOXOSTYPE_Debian, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_gNewSense, "gNewSense",
-+ VBOXOSTYPE_gNewSense, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Debian_64, "Debian (64 bit)",
-- VBOXOSTYPE_Debian_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_gNewSense_64, "gNewSense (64 bit)",
-+ VBOXOSTYPE_gNewSense_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
-- { "Linux", "Linux", SchemaDefs_OSTypeId_OpenSUSE, "openSUSE",
-- VBOXOSTYPE_OpenSUSE, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_OpenSUSE_64, "openSUSE (64 bit)",
-- VBOXOSTYPE_OpenSUSE_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Fedora, "Fedora",
-- VBOXOSTYPE_FedoraCore, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Blag, "Blag Linux and GNU",
-+ VBOXOSTYPE_Blag, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Fedora_64, "Fedora (64 bit)",
-- VBOXOSTYPE_FedoraCore_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Blag_64, "Blag Linux and GNU (64 bit)",
-+ VBOXOSTYPE_Blag_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Gentoo, "Gentoo",
-- VBOXOSTYPE_Gentoo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dragora, "Dragora",
-+ VBOXOSTYPE_Dragora, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Gentoo_64, "Gentoo (64 bit)",
-- VBOXOSTYPE_Gentoo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dragora_64, "Dragora (64 bit)",
-+ VBOXOSTYPE_Dragora_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Mandriva, "Mandriva",
-- VBOXOSTYPE_Mandriva, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Mandriva_64, "Mandriva (64 bit)",
-- VBOXOSTYPE_Mandriva_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_RedHat, "Red Hat",
-- VBOXOSTYPE_RedHat, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Ututo, "Ututo XS",
-+ VBOXOSTYPE_Ututo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_RedHat_64, "Red Hat (64 bit)",
-- VBOXOSTYPE_RedHat_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Ututo_64, "Ututo XS (64 bit)",
-+ VBOXOSTYPE_Ututo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Turbolinux, "Turbolinux",
-- VBOXOSTYPE_Turbolinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Musix, "Musix",
-+ VBOXOSTYPE_Musix, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Turbolinux, "Turbolinux (64 bit)",
-- VBOXOSTYPE_Turbolinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Musix_64, "Musix (64 bit)",
-+ VBOXOSTYPE_Musix_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Ubuntu, "Ubuntu",
-- VBOXOSTYPE_Ubuntu, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET,
-+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Trisquel, "Trisquel",
-+ VBOXOSTYPE_Trisquel, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET,
- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Ubuntu_64, "Ubuntu (64 bit)",
-- VBOXOSTYPE_Ubuntu_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Trisquel_64, "Trisquel (64 bit)",
-+ VBOXOSTYPE_Trisquel_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Xandros, "Xandros",
-- VBOXOSTYPE_Xandros, VBOXOSHINT_RTCUTC,
-- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dynebolic, "Dyne:bolic",
-+ VBOXOSTYPE_Dynebolic, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Xandros_64, "Xandros (64 bit)",
-- VBOXOSTYPE_Xandros_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Venenux, "Venenux",
-+ VBOXOSTYPE_Venenux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Oracle, "Oracle",
-- VBOXOSTYPE_Oracle, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
-- 512, 12, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Oracle_64, "Oracle (64 bit)",
-- VBOXOSTYPE_Oracle_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 512, 12, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux, "Other Linux",
-- VBOXOSTYPE_Linux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 256, 12, 8 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_Solaris, "Oracle Solaris 10 5/09 and earlier",
-- VBOXOSTYPE_Solaris, VBOXOSHINT_NONE,
-- 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_Solaris_64, "Oracle Solaris 10 5/09 and earlier (64 bit)",
-- VBOXOSTYPE_Solaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_OpenSolaris, "Oracle Solaris 10 10/09 and later",
-- VBOXOSTYPE_OpenSolaris, VBOXOSHINT_USBTABLET,
-- 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_OpenSolaris_64, "Oracle Solaris 10 10/09 and later (64 bit)",
-- VBOXOSTYPE_OpenSolaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_FreeBSD, "FreeBSD",
-- VBOXOSTYPE_FreeBSD, VBOXOSHINT_NONE,
-- 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_FreeBSD_64, "FreeBSD (64 bit)",
-- VBOXOSTYPE_FreeBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_OpenBSD, "OpenBSD",
-- VBOXOSTYPE_OpenBSD, VBOXOSHINT_HWVIRTEX,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_OpenBSD_64, "OpenBSD (64 bit)",
-- VBOXOSTYPE_OpenBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_NetBSD, "NetBSD",
-- VBOXOSTYPE_NetBSD, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_NetBSD_64, "NetBSD (64 bit)",
-- VBOXOSTYPE_NetBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp3, "OS/2 Warp 3",
-- VBOXOSTYPE_OS2Warp3, VBOXOSHINT_HWVIRTEX,
-- 48, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp4, "OS/2 Warp 4",
-- VBOXOSTYPE_OS2Warp4, VBOXOSHINT_HWVIRTEX,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp45, "OS/2 Warp 4.5",
-- VBOXOSTYPE_OS2Warp45, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2eCS, "eComStation",
-- VBOXOSTYPE_ECS, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2, "Other OS/2",
-- VBOXOSTYPE_OS2, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS, "Mac OS X Server",
-- VBOXOSTYPE_MacOS, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
-- 1024, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
-- StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
-- ChipsetType_ICH9, AudioControllerType_HDA },
-- { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS_64, "Mac OS X Server (64 bit)",
-- VBOXOSTYPE_MacOS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
-- 1024, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
-- StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
-- ChipsetType_ICH9, AudioControllerType_HDA },
-- { "Other", "Other", SchemaDefs_OSTypeId_DOS, "DOS",
-- VBOXOSTYPE_DOS, VBOXOSHINT_NONE,
-- 32, 4, 500 * _1M, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
-- { "Other", "Other", SchemaDefs_OSTypeId_Netware, "Netware",
-- VBOXOSTYPE_Netware, VBOXOSHINT_HWVIRTEX,
-- 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_L4, "L4",
-- VBOXOSTYPE_L4, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_QNX, "QNX",
-- VBOXOSTYPE_QNX, VBOXOSHINT_HWVIRTEX,
-- 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_JRockitVE, "JRockitVE",
-- VBOXOSTYPE_JRockitVE, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_PAE,
-- 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97 },
- };
-
- /**
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp 2012-07-25 21:44:01.290876720 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp 2012-07-25 22:00:57.819380802 -0300
-@@ -4875,75 +4875,27 @@
- static const char *kOSTypeIcons [][2] =
- {
- {"Other", ":/os_other.png"},
-- {"DOS", ":/os_dos.png"},
-- {"Netware", ":/os_netware.png"},
-- {"L4", ":/os_l4.png"},
-- {"Windows31", ":/os_win31.png"},
-- {"Windows95", ":/os_win95.png"},
-- {"Windows98", ":/os_win98.png"},
-- {"WindowsMe", ":/os_winme.png"},
-- {"WindowsNT4", ":/os_winnt4.png"},
-- {"Windows2000", ":/os_win2k.png"},
-- {"WindowsXP", ":/os_winxp.png"},
-- {"WindowsXP_64", ":/os_winxp_64.png"},
-- {"Windows2003", ":/os_win2k3.png"},
-- {"Windows2003_64", ":/os_win2k3_64.png"},
-- {"WindowsVista", ":/os_winvista.png"},
-- {"WindowsVista_64", ":/os_winvista_64.png"},
-- {"Windows2008", ":/os_win2k8.png"},
-- {"Windows2008_64", ":/os_win2k8_64.png"},
-- {"Windows7", ":/os_win7.png"},
-- {"Windows7_64", ":/os_win7_64.png"},
-- {"Windows8", ":/os_win8.png"},
-- {"Windows8_64", ":/os_win8_64.png"},
-- {"WindowsNT", ":/os_win_other.png"},
-- {"OS2Warp3", ":/os_os2warp3.png"},
-- {"OS2Warp4", ":/os_os2warp4.png"},
-- {"OS2Warp45", ":/os_os2warp45.png"},
-- {"OS2eCS", ":/os_os2ecs.png"},
-- {"OS2", ":/os_os2_other.png"},
-- {"Linux22", ":/os_linux22.png"},
-- {"Linux24", ":/os_linux24.png"},
-- {"Linux24_64", ":/os_linux24_64.png"},
-- {"Linux26", ":/os_linux26.png"},
-- {"Linux26_64", ":/os_linux26_64.png"},
-- {"ArchLinux", ":/os_archlinux.png"},
-- {"ArchLinux_64", ":/os_archlinux_64.png"},
-- {"Debian", ":/os_debian.png"},
-- {"Debian_64", ":/os_debian_64.png"},
-- {"OpenSUSE", ":/os_opensuse.png"},
-- {"OpenSUSE_64", ":/os_opensuse_64.png"},
-- {"Fedora", ":/os_fedora.png"},
-- {"Fedora_64", ":/os_fedora_64.png"},
-- {"Gentoo", ":/os_gentoo.png"},
-- {"Gentoo_64", ":/os_gentoo_64.png"},
-- {"Mandriva", ":/os_mandriva.png"},
-- {"Mandriva_64", ":/os_mandriva_64.png"},
-- {"RedHat", ":/os_redhat.png"},
-- {"RedHat_64", ":/os_redhat_64.png"},
-- {"Turbolinux", ":/os_turbolinux.png"},
-- {"Turbolinux_64", ":/os_turbolinux_64.png"},
-- {"Ubuntu", ":/os_ubuntu.png"},
-- {"Ubuntu_64", ":/os_ubuntu_64.png"},
-- {"Xandros", ":/os_xandros.png"},
-- {"Xandros_64", ":/os_xandros_64.png"},
-- {"Oracle", ":/os_oracle.png"},
-- {"Oracle_64", ":/os_oracle_64.png"},
-- {"Linux", ":/os_linux_other.png"},
-- {"FreeBSD", ":/os_freebsd.png"},
-- {"FreeBSD_64", ":/os_freebsd_64.png"},
-- {"OpenBSD", ":/os_openbsd.png"},
-- {"OpenBSD_64", ":/os_openbsd_64.png"},
-- {"NetBSD", ":/os_netbsd.png"},
-- {"NetBSD_64", ":/os_netbsd_64.png"},
-- {"Solaris", ":/os_solaris.png"},
-- {"Solaris_64", ":/os_solaris_64.png"},
-- {"OpenSolaris", ":/os_oraclesolaris.png"},
-- {"OpenSolaris_64", ":/os_oraclesolaris_64.png"},
-- {"QNX", ":/os_qnx.png"},
-- {"MacOS", ":/os_macosx.png"},
-- {"MacOS_64", ":/os_macosx_64.png"},
-- {"JRockitVE", ":/os_jrockitve.png"},
-+ {"GNU", ":/os_gnu.png"},
-+ {"GNU_64", ":/os_gnu_64.png"},
-+ {"GNUHurd", ":/os_gnuhurd.png"},
-+ {"GNULinux", ":/os_gnulinux.png"},
-+ {"GNULinux_64", ":/os_gnulinux_64.png"},
-+ {"Parabola", ":/os_parabola.png"},
-+ {"Parabola_64", ":/os_parabola_64.png"},
-+ {"gNewSense", ":/os_gnewsense.png"},
-+ {"gNewSense_64", ":/os_gnewsense_64.png"},
-+ {"Blag", ":/os_blag.png"},
-+ {"Blag_64", ":/os_blag_64.png"},
-+ {"Dragora", ":/os_dragora.png"},
-+ {"Dragora_64", ":/os_dragora_64.png"},
-+ {"Ututo", ":/os_ututo.png"},
-+ {"Ututo_64", ":/os_ututo_64.png"},
-+ {"Musix", ":/os_musix.png"},
-+ {"Musix_64", ":/os_musix_64.png"},
-+ {"Trisquel", ":/os_trisquel.png"},
-+ {"Trisquel_64", ":/os_trisquel_64.png"},
-+ {"Dynebolic", ":/os_dynebolic.png"},
-+ {"Venenux", ":/os_venenux.png"},
- };
- for (uint n = 0; n < SIZEOF_ARRAY (kOSTypeIcons); ++ n)
- {
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorWidget.cpp.orig 2012-06-20 10:16:38.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorWidget.cpp 2012-07-25 22:07:51.232436783 -0300
-@@ -192,17 +192,10 @@
- if (typeIndex != -1)
- mCbType->setCurrentIndex (typeIndex);
- }
-- /* Or select WinXP item for Windows family as default */
-- else if (familyId == "Windows")
-+ /* Or select Parabola GNU/Linux-libre item for GNU/Linux family as default */
-+ else if (familyId == "GNU/Linux")
- {
-- int xpIndex = mCbType->findData ("WindowsXP", RoleTypeID);
-- if (xpIndex != -1)
-- mCbType->setCurrentIndex (xpIndex);
-- }
-- /* Or select Ubuntu item for Linux family as default */
-- else if (familyId == "Linux")
-- {
-- int ubIndex = mCbType->findData ("Ubuntu", RoleTypeID);
-+ int ubIndex = mCbType->findData ("Parabola", RoleTypeID);
- if (ubIndex != -1)
- mCbType->setCurrentIndex (ubIndex);
- }
---- VirtualBox-4.1.18.orig/include/VBox/ostypes.h 2012-06-20 10:07:51.000000000 -0300
-+++ VirtualBox-4.1.18/include/VBox/ostypes.h 2012-07-25 23:20:57.322757456 -0300
-@@ -43,77 +43,27 @@
- typedef enum VBOXOSTYPE
- {
- VBOXOSTYPE_Unknown = 0,
-- VBOXOSTYPE_DOS = 0x10000,
-- VBOXOSTYPE_Win31 = 0x15000,
-- VBOXOSTYPE_Win9x = 0x20000,
-- VBOXOSTYPE_Win95 = 0x21000,
-- VBOXOSTYPE_Win98 = 0x22000,
-- VBOXOSTYPE_WinMe = 0x23000,
-- VBOXOSTYPE_WinNT = 0x30000,
-- VBOXOSTYPE_WinNT4 = 0x31000,
-- VBOXOSTYPE_Win2k = 0x32000,
-- VBOXOSTYPE_WinXP = 0x33000,
-- VBOXOSTYPE_WinXP_x64 = 0x33100,
-- VBOXOSTYPE_Win2k3 = 0x34000,
-- VBOXOSTYPE_Win2k3_x64 = 0x34100,
-- VBOXOSTYPE_WinVista = 0x35000,
-- VBOXOSTYPE_WinVista_x64 = 0x35100,
-- VBOXOSTYPE_Win2k8 = 0x36000,
-- VBOXOSTYPE_Win2k8_x64 = 0x36100,
-- VBOXOSTYPE_Win7 = 0x37000,
-- VBOXOSTYPE_Win7_x64 = 0x37100,
-- VBOXOSTYPE_Win8 = 0x38000,
-- VBOXOSTYPE_Win8_x64 = 0x38100,
-- VBOXOSTYPE_OS2 = 0x40000,
-- VBOXOSTYPE_OS2Warp3 = 0x41000,
-- VBOXOSTYPE_OS2Warp4 = 0x42000,
-- VBOXOSTYPE_OS2Warp45 = 0x43000,
-- VBOXOSTYPE_ECS = 0x44000,
-- VBOXOSTYPE_Linux = 0x50000,
-- VBOXOSTYPE_Linux_x64 = 0x50100,
-- VBOXOSTYPE_Linux22 = 0x51000,
-- VBOXOSTYPE_Linux24 = 0x52000,
-- VBOXOSTYPE_Linux24_x64 = 0x52100,
-- VBOXOSTYPE_Linux26 = 0x53000,
-- VBOXOSTYPE_Linux26_x64 = 0x53100,
-- VBOXOSTYPE_ArchLinux = 0x54000,
-- VBOXOSTYPE_ArchLinux_x64 = 0x54100,
-- VBOXOSTYPE_Debian = 0x55000,
-- VBOXOSTYPE_Debian_x64 = 0x55100,
-- VBOXOSTYPE_OpenSUSE = 0x56000,
-- VBOXOSTYPE_OpenSUSE_x64 = 0x56100,
-- VBOXOSTYPE_FedoraCore = 0x57000,
-- VBOXOSTYPE_FedoraCore_x64 = 0x57100,
-- VBOXOSTYPE_Gentoo = 0x58000,
-- VBOXOSTYPE_Gentoo_x64 = 0x58100,
-- VBOXOSTYPE_Mandriva = 0x59000,
-- VBOXOSTYPE_Mandriva_x64 = 0x59100,
-- VBOXOSTYPE_RedHat = 0x5A000,
-- VBOXOSTYPE_RedHat_x64 = 0x5A100,
-- VBOXOSTYPE_Turbolinux = 0x5B000,
-- VBOXOSTYPE_Turbolinux_x64 = 0x5B100,
-- VBOXOSTYPE_Ubuntu = 0x5C000,
-- VBOXOSTYPE_Ubuntu_x64 = 0x5C100,
-- VBOXOSTYPE_Xandros = 0x5D000,
-- VBOXOSTYPE_Xandros_x64 = 0x5D100,
-- VBOXOSTYPE_Oracle = 0x5E000,
-- VBOXOSTYPE_Oracle_x64 = 0x5E100,
-- VBOXOSTYPE_FreeBSD = 0x60000,
-- VBOXOSTYPE_FreeBSD_x64 = 0x60100,
-- VBOXOSTYPE_OpenBSD = 0x61000,
-- VBOXOSTYPE_OpenBSD_x64 = 0x61100,
-- VBOXOSTYPE_NetBSD = 0x62000,
-- VBOXOSTYPE_NetBSD_x64 = 0x62100,
-- VBOXOSTYPE_Netware = 0x70000,
-- VBOXOSTYPE_Solaris = 0x80000,
-- VBOXOSTYPE_Solaris_x64 = 0x80100,
-- VBOXOSTYPE_OpenSolaris = 0x81000,
-- VBOXOSTYPE_OpenSolaris_x64 = 0x81100,
-- VBOXOSTYPE_L4 = 0x90000,
-- VBOXOSTYPE_QNX = 0xA0000,
-- VBOXOSTYPE_MacOS = 0xB0000,
-- VBOXOSTYPE_MacOS_x64 = 0xB0100,
-- VBOXOSTYPE_JRockitVE = 0xC0000,
-+ VBOXOSTYPE_GNU = 0x10000,
-+ VBOXOSTYPE_GNU_x64 = 0x10100,
-+ VBOXOSTYPE_GNUHurd = 0x20000,
-+ VBOXOSTYPE_GNULinux = 0x30000,
-+ VBOXOSTYPE_GNULinux_x64 = 0x30100,
-+ VBOXOSTYPE_Parabola = 0x31000,
-+ VBOXOSTYPE_Parabola_x64 = 0x31100,
-+ VBOXOSTYPE_gNewSense = 0x32000,
-+ VBOXOSTYPE_gNewSense_x64 = 0x32100,
-+ VBOXOSTYPE_Blag = 0x33000,
-+ VBOXOSTYPE_Blag_x64 = 0x33100,
-+ VBOXOSTYPE_Dragora = 0x34000,
-+ VBOXOSTYPE_Dragora_x64 = 0x34100,
-+ VBOXOSTYPE_Ututo = 0x35000,
-+ VBOXOSTYPE_Ututo_x64 = 0x35100,
-+ VBOXOSTYPE_Musix = 0x36000,
-+ VBOXOSTYPE_Musix_x64 = 0x36100,
-+ VBOXOSTYPE_Trisquel = 0x37000,
-+ VBOXOSTYPE_Trisquel_x64 = 0x37100,
-+ VBOXOSTYPE_Dynebolic = 0x38000,
-+ VBOXOSTYPE_Venenux = 0x39000,
- /** The bit number which indicates 64-bit or 32-bit. */
- #define VBOXOSTYPE_x64_BIT 8
- /** The mask which indicates 64-bit. */
-@@ -129,16 +79,11 @@
- typedef enum VBOXOSFAMILY
- {
- VBOXOSFAMILY_Unknown = 0,
-- VBOXOSFAMILY_Windows32 = 1,
-- VBOXOSFAMILY_Windows64 = 2,
-- VBOXOSFAMILY_Linux32 = 3,
-- VBOXOSFAMILY_Linux64 = 4,
-- VBOXOSFAMILY_FreeBSD32 = 5,
-- VBOXOSFAMILY_FreeBSD64 = 6,
-- VBOXOSFAMILY_Solaris32 = 7,
-- VBOXOSFAMILY_Solaris64 = 8,
-- VBOXOSFAMILY_MacOSX32 = 9,
-- VBOXOSFAMILY_MacOSX64 = 10,
-+ VBOXOSFAMILY_GNU32 = 1,
-+ VBOXOSFAMILY_GNU64 = 2,
-+ VBOXOSFAMILY_GNUHurd = 3,
-+ VBOXOSFAMILY_GNULinux32 = 4,
-+ VBOXOSFAMILY_GNULinux64 = 5,
- /** The usual 32-bit hack. */
- VBOXOSFAMILY_32BIT_HACK = 0x7fffffff
- } VBOXOSFAMILY;
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-server/ApplianceImpl.cpp 2012-06-20 10:17:35.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/src-server/ApplianceImpl.cpp 2012-07-26 01:28:50.033551279 -0300
-@@ -49,94 +49,33 @@
- g_osTypes[] =
- {
- { ovf::CIMOSType_CIMOS_Unknown, SchemaDefs_OSTypeId_Other },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp3 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp4 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp45 },
-- { ovf::CIMOSType_CIMOS_MSDOS, SchemaDefs_OSTypeId_DOS },
-- { ovf::CIMOSType_CIMOS_WIN3x, SchemaDefs_OSTypeId_Windows31 },
-- { ovf::CIMOSType_CIMOS_WIN95, SchemaDefs_OSTypeId_Windows95 },
-- { ovf::CIMOSType_CIMOS_WIN98, SchemaDefs_OSTypeId_Windows98 },
-- { ovf::CIMOSType_CIMOS_WINNT, SchemaDefs_OSTypeId_WindowsNT },
-- { ovf::CIMOSType_CIMOS_WINNT, SchemaDefs_OSTypeId_WindowsNT4 },
-- { ovf::CIMOSType_CIMOS_NetWare, SchemaDefs_OSTypeId_Netware },
-- { ovf::CIMOSType_CIMOS_NovellOES, SchemaDefs_OSTypeId_Netware },
-- { ovf::CIMOSType_CIMOS_Solaris, SchemaDefs_OSTypeId_Solaris },
-- { ovf::CIMOSType_CIMOS_SunOS, SchemaDefs_OSTypeId_Solaris },
-- { ovf::CIMOSType_CIMOS_FreeBSD, SchemaDefs_OSTypeId_FreeBSD },
-- { ovf::CIMOSType_CIMOS_NetBSD, SchemaDefs_OSTypeId_NetBSD },
-- { ovf::CIMOSType_CIMOS_QNX, SchemaDefs_OSTypeId_QNX },
-- { ovf::CIMOSType_CIMOS_Windows2000, SchemaDefs_OSTypeId_Windows2000 },
-- { ovf::CIMOSType_CIMOS_WindowsMe, SchemaDefs_OSTypeId_WindowsMe },
-- { ovf::CIMOSType_CIMOS_OpenBSD, SchemaDefs_OSTypeId_OpenBSD },
-- { ovf::CIMOSType_CIMOS_WindowsXP, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_WindowsXPEmbedded, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_WindowsEmbeddedforPointofService, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2003, SchemaDefs_OSTypeId_Windows2003 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2003_64, SchemaDefs_OSTypeId_Windows2003_64 },
-- { ovf::CIMOSType_CIMOS_WindowsXP_64, SchemaDefs_OSTypeId_WindowsXP_64 },
-- { ovf::CIMOSType_CIMOS_WindowsVista, SchemaDefs_OSTypeId_WindowsVista },
-- { ovf::CIMOSType_CIMOS_WindowsVista_64, SchemaDefs_OSTypeId_WindowsVista_64 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2008, SchemaDefs_OSTypeId_Windows2008 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2008_64, SchemaDefs_OSTypeId_Windows2008_64 },
-- { ovf::CIMOSType_CIMOS_FreeBSD_64, SchemaDefs_OSTypeId_FreeBSD_64 },
-- { ovf::CIMOSType_CIMOS_MACOS, SchemaDefs_OSTypeId_MacOS },
-- { ovf::CIMOSType_CIMOS_MACOS, SchemaDefs_OSTypeId_MacOS_64 }, // there is no CIM 64-bit type for this
--
-- // Linuxes
-- { ovf::CIMOSType_CIMOS_RedHatEnterpriseLinux, SchemaDefs_OSTypeId_RedHat },
-- { ovf::CIMOSType_CIMOS_RedHatEnterpriseLinux_64, SchemaDefs_OSTypeId_RedHat_64 },
-- { ovf::CIMOSType_CIMOS_Solaris_64, SchemaDefs_OSTypeId_Solaris_64 },
-- { ovf::CIMOSType_CIMOS_SUSE, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_SLES, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_NovellLinuxDesktop, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_SUSE_64, SchemaDefs_OSTypeId_OpenSUSE_64 },
-- { ovf::CIMOSType_CIMOS_SLES_64, SchemaDefs_OSTypeId_OpenSUSE_64 },
-- { ovf::CIMOSType_CIMOS_LINUX, SchemaDefs_OSTypeId_Linux },
-- { ovf::CIMOSType_CIMOS_LINUX, SchemaDefs_OSTypeId_Linux22 },
-- { ovf::CIMOSType_CIMOS_SunJavaDesktopSystem, SchemaDefs_OSTypeId_Linux },
-- { ovf::CIMOSType_CIMOS_TurboLinux, SchemaDefs_OSTypeId_Turbolinux },
-- { ovf::CIMOSType_CIMOS_TurboLinux_64, SchemaDefs_OSTypeId_Turbolinux_64 },
-- { ovf::CIMOSType_CIMOS_Mandriva, SchemaDefs_OSTypeId_Mandriva },
-- { ovf::CIMOSType_CIMOS_Mandriva_64, SchemaDefs_OSTypeId_Mandriva_64 },
-- { ovf::CIMOSType_CIMOS_Ubuntu, SchemaDefs_OSTypeId_Ubuntu },
-- { ovf::CIMOSType_CIMOS_Ubuntu_64, SchemaDefs_OSTypeId_Ubuntu_64 },
-- { ovf::CIMOSType_CIMOS_Debian, SchemaDefs_OSTypeId_Debian },
-- { ovf::CIMOSType_CIMOS_Debian_64, SchemaDefs_OSTypeId_Debian_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_4_x, SchemaDefs_OSTypeId_Linux24 },
-- { ovf::CIMOSType_CIMOS_Linux_2_4_x_64, SchemaDefs_OSTypeId_Linux24_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Linux26 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Linux26_64 },
-- { ovf::CIMOSType_CIMOS_Linux_64, SchemaDefs_OSTypeId_Linux26_64 },
--
-- // types that we have support for but CIM doesn't
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_ArchLinux },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_ArchLinux_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Fedora },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Fedora_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Gentoo },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Gentoo_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Xandros },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Xandros_64 },
-- { ovf::CIMOSType_CIMOS_Solaris, SchemaDefs_OSTypeId_OpenSolaris },
-- { ovf::CIMOSType_CIMOS_Solaris_64, SchemaDefs_OSTypeId_OpenSolaris_64 },
--
-- // types added with CIM 2.25.0 follow:
-- { ovf::CIMOSType_CIMOS_WindowsServer2008R2, SchemaDefs_OSTypeId_Windows2008 }, // duplicate, see above
--// { ovf::CIMOSType_CIMOS_VMwareESXi = 104, // we can't run ESX in a VM
-- { ovf::CIMOSType_CIMOS_Windows7, SchemaDefs_OSTypeId_Windows7 },
-- { ovf::CIMOSType_CIMOS_Windows7, SchemaDefs_OSTypeId_Windows7_64 }, // there is no CIM 64-bit type for this
-- { ovf::CIMOSType_CIMOS_CentOS, SchemaDefs_OSTypeId_RedHat },
-- { ovf::CIMOSType_CIMOS_CentOS_64, SchemaDefs_OSTypeId_RedHat_64 },
-- { ovf::CIMOSType_CIMOS_OracleEnterpriseLinux, SchemaDefs_OSTypeId_Oracle },
-- { ovf::CIMOSType_CIMOS_OracleEnterpriseLinux_64, SchemaDefs_OSTypeId_Oracle_64 },
-- { ovf::CIMOSType_CIMOS_eComStation, SchemaDefs_OSTypeId_OS2eCS }
--
-- // there are no CIM types for these, so these turn to "other" on export:
-- // SchemaDefs_OSTypeId_OpenBSD
-- // SchemaDefs_OSTypeId_OpenBSD_64
-- // SchemaDefs_OSTypeId_NetBSD
-- // SchemaDefs_OSTypeId_NetBSD_64
-+
-+ // Custom OS
-+ { ovf::CIMOSType_CIMOS_GNU, SchemaDefs_OSTypeId_GNU },
-+ { ovf::CIMOSType_CIMOS_GNU_64, SchemaDefs_OSTypeId_GNU_64 },
-+ { ovf::CIMOSType_CIMOS_GNUHurd, SchemaDefs_OSTypeId_GNUHurd },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_GNULinux },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_GNULinux_64 },
-+
-+ // GNU/Linux free distros
-+ { ovf::CIMOSType_CIMOS_gNewSense, SchemaDefs_OSTypeId_gNewSense },
-+ { ovf::CIMOSType_CIMOS_gNewSense_64, SchemaDefs_OSTypeId_gNewSense_64 },
-+ { ovf::CIMOSType_CIMOS_Dragora, SchemaDefs_OSTypeId_Dragora },
-+ { ovf::CIMOSType_CIMOS_Dragora_64, SchemaDefs_OSTypeId_Dragora_64 },
-+ { ovf::CIMOSType_CIMOS_Musix, SchemaDefs_OSTypeId_Musix },
-+ { ovf::CIMOSType_CIMOS_Musix_64, SchemaDefs_OSTypeId_Musix_64 },
-+ { ovf::CIMOSType_CIMOS_Trisquel, SchemaDefs_OSTypeId_Trisquel },
-+ { ovf::CIMOSType_CIMOS_Trisquel_64, SchemaDefs_OSTypeId_Trisquel_64 },
-+ { ovf::CIMOSType_CIMOS_Dynebolic, SchemaDefs_OSTypeId_Dynebolic },
-+ { ovf::CIMOSType_CIMOS_Venenux, SchemaDefs_OSTypeId_Venenux },
-+
-+ // GNU/Linux free distros that we have support for but CIM doesn't
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Parabola },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Parabola_64 },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Blag },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Blag_64 },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Ututo },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Ututo_64 },
-
- };
-
-@@ -150,53 +89,34 @@
- /* These are the 32-Bit ones. They are sorted by priority. */
- static const osTypePattern g_osTypesPattern[] =
- {
-- {"Windows NT", SchemaDefs_OSTypeId_WindowsNT4},
-- {"Windows XP", SchemaDefs_OSTypeId_WindowsXP},
-- {"Windows 2000", SchemaDefs_OSTypeId_Windows2000},
-- {"Windows 2003", SchemaDefs_OSTypeId_Windows2003},
-- {"Windows Vista", SchemaDefs_OSTypeId_WindowsVista},
-- {"Windows 2008", SchemaDefs_OSTypeId_Windows2008},
-- {"SUSE", SchemaDefs_OSTypeId_OpenSUSE},
-- {"Novell", SchemaDefs_OSTypeId_OpenSUSE},
-- {"Red Hat", SchemaDefs_OSTypeId_RedHat},
-- {"Mandriva", SchemaDefs_OSTypeId_Mandriva},
-- {"Ubuntu", SchemaDefs_OSTypeId_Ubuntu},
-- {"Debian", SchemaDefs_OSTypeId_Debian},
-- {"QNX", SchemaDefs_OSTypeId_QNX},
-- {"Linux 2.4", SchemaDefs_OSTypeId_Linux24},
-- {"Linux 2.6", SchemaDefs_OSTypeId_Linux26},
-- {"Linux", SchemaDefs_OSTypeId_Linux},
-- {"OpenSolaris", SchemaDefs_OSTypeId_OpenSolaris},
-- {"Solaris", SchemaDefs_OSTypeId_OpenSolaris},
-- {"FreeBSD", SchemaDefs_OSTypeId_FreeBSD},
-- {"NetBSD", SchemaDefs_OSTypeId_NetBSD},
-- {"Windows 95", SchemaDefs_OSTypeId_Windows95},
-- {"Windows 98", SchemaDefs_OSTypeId_Windows98},
-- {"Windows Me", SchemaDefs_OSTypeId_WindowsMe},
-- {"Windows 3.", SchemaDefs_OSTypeId_Windows31},
-- {"DOS", SchemaDefs_OSTypeId_DOS},
-- {"OS2", SchemaDefs_OSTypeId_OS2}
-+
-+ {"Parabola GNU/Linux-libre", SchemaDefs_OSTypeId_Parabola},
-+ {"gNewSense", SchemaDefs_OSTypeId_gNewSense},
-+ {"Blag Linux and GNU", SchemaDefs_OSTypeId_Blag},
-+ {"Dragora", SchemaDefs_OSTypeId_Dragora},
-+ {"Ututo XS", SchemaDefs_OSTypeId_Ututo},
-+ {"Musix", SchemaDefs_OSTypeId_Musix},
-+ {"Trisquel", SchemaDefs_OSTypeId_Trisquel},
-+ {"Dyne:bolic", SchemaDefs_OSTypeId_Dynebolic},
-+ {"Venenux", SchemaDefs_OSTypeId_Venenux},
-+ {"GNU", SchemaDefs_OSTypeId_GNU},
-+ {"GNU-Hurd", SchemaDefs_OSTypeId_GNUHurd},
-+ {"GNU/Linux", SchemaDefs_OSTypeId_GNULinux},
-+
- };
-
- /* These are the 64-Bit ones. They are sorted by priority. */
- static const osTypePattern g_osTypesPattern64[] =
- {
-- {"Windows XP", SchemaDefs_OSTypeId_WindowsXP_64},
-- {"Windows 2003", SchemaDefs_OSTypeId_Windows2003_64},
-- {"Windows Vista", SchemaDefs_OSTypeId_WindowsVista_64},
-- {"Windows 2008", SchemaDefs_OSTypeId_Windows2008_64},
-- {"SUSE", SchemaDefs_OSTypeId_OpenSUSE_64},
-- {"Novell", SchemaDefs_OSTypeId_OpenSUSE_64},
-- {"Red Hat", SchemaDefs_OSTypeId_RedHat_64},
-- {"Mandriva", SchemaDefs_OSTypeId_Mandriva_64},
-- {"Ubuntu", SchemaDefs_OSTypeId_Ubuntu_64},
-- {"Debian", SchemaDefs_OSTypeId_Debian_64},
-- {"Linux 2.4", SchemaDefs_OSTypeId_Linux24_64},
-- {"Linux 2.6", SchemaDefs_OSTypeId_Linux26_64},
-- {"Linux", SchemaDefs_OSTypeId_Linux26_64},
-- {"OpenSolaris", SchemaDefs_OSTypeId_OpenSolaris_64},
-- {"Solaris", SchemaDefs_OSTypeId_OpenSolaris_64},
-- {"FreeBSD", SchemaDefs_OSTypeId_FreeBSD_64},
-+ {"Parabola GNU/Linux-libre", SchemaDefs_OSTypeId_Parabola_64},
-+ {"gNewSense", SchemaDefs_OSTypeId_gNewSense_64},
-+ {"Blag Linux and GNU", SchemaDefs_OSTypeId_Blag_64},
-+ {"Dragora", SchemaDefs_OSTypeId_Dragora_64},
-+ {"Ututo XS", SchemaDefs_OSTypeId_Ututo_64},
-+ {"Musix", SchemaDefs_OSTypeId_Musix_64},
-+ {"Trisquel", SchemaDefs_OSTypeId_Trisquel_64},
-+ {"GNU", SchemaDefs_OSTypeId_GNU_64},
-+ {"GNU/Linux", SchemaDefs_OSTypeId_GNULinux_64},
- };
-
- /**
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ovfreader.h 2012-06-20 10:17:34.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/include/ovfreader.h 2012-07-26 03:51:21.807619186 -0300
-@@ -34,119 +34,24 @@
-
- enum CIMOSType_T
- {
-- CIMOSType_CIMOS_Unknown = 0,
-- CIMOSType_CIMOS_Other = 1,
-- CIMOSType_CIMOS_MACOS = 2,
-- CIMOSType_CIMOS_ATTUNIX = 3,
-- CIMOSType_CIMOS_DGUX = 4,
-- CIMOSType_CIMOS_DECNT = 5,
-- CIMOSType_CIMOS_Tru64UNIX = 6,
-- CIMOSType_CIMOS_OpenVMS = 7,
-- CIMOSType_CIMOS_HPUX = 8,
-- CIMOSType_CIMOS_AIX = 9,
-- CIMOSType_CIMOS_MVS = 10,
-- CIMOSType_CIMOS_OS400 = 11,
-- CIMOSType_CIMOS_OS2 = 12,
-- CIMOSType_CIMOS_JavaVM = 13,
-- CIMOSType_CIMOS_MSDOS = 14,
-- CIMOSType_CIMOS_WIN3x = 15,
-- CIMOSType_CIMOS_WIN95 = 16,
-- CIMOSType_CIMOS_WIN98 = 17,
-- CIMOSType_CIMOS_WINNT = 18,
-- CIMOSType_CIMOS_WINCE = 19,
-- CIMOSType_CIMOS_NCR3000 = 20,
-- CIMOSType_CIMOS_NetWare = 21,
-- CIMOSType_CIMOS_OSF = 22,
-- CIMOSType_CIMOS_DCOS = 23,
-- CIMOSType_CIMOS_ReliantUNIX = 24,
-- CIMOSType_CIMOS_SCOUnixWare = 25,
-- CIMOSType_CIMOS_SCOOpenServer = 26,
-- CIMOSType_CIMOS_Sequent = 27,
-- CIMOSType_CIMOS_IRIX = 28,
-- CIMOSType_CIMOS_Solaris = 29,
-- CIMOSType_CIMOS_SunOS = 30,
-- CIMOSType_CIMOS_U6000 = 31,
-- CIMOSType_CIMOS_ASERIES = 32,
-- CIMOSType_CIMOS_HPNonStopOS = 33,
-- CIMOSType_CIMOS_HPNonStopOSS = 34,
-- CIMOSType_CIMOS_BS2000 = 35,
-- CIMOSType_CIMOS_LINUX = 36,
-- CIMOSType_CIMOS_Lynx = 37,
-- CIMOSType_CIMOS_XENIX = 38,
-- CIMOSType_CIMOS_VM = 39,
-- CIMOSType_CIMOS_InteractiveUNIX = 40,
-- CIMOSType_CIMOS_BSDUNIX = 41,
-- CIMOSType_CIMOS_FreeBSD = 42,
-- CIMOSType_CIMOS_NetBSD = 43,
-- CIMOSType_CIMOS_GNUHurd = 44,
-- CIMOSType_CIMOS_OS9 = 45,
-- CIMOSType_CIMOS_MACHKernel = 46,
-- CIMOSType_CIMOS_Inferno = 47,
-- CIMOSType_CIMOS_QNX = 48,
-- CIMOSType_CIMOS_EPOC = 49,
-- CIMOSType_CIMOS_IxWorks = 50,
-- CIMOSType_CIMOS_VxWorks = 51,
-- CIMOSType_CIMOS_MiNT = 52,
-- CIMOSType_CIMOS_BeOS = 53,
-- CIMOSType_CIMOS_HPMPE = 54,
-- CIMOSType_CIMOS_NextStep = 55,
-- CIMOSType_CIMOS_PalmPilot = 56,
-- CIMOSType_CIMOS_Rhapsody = 57,
-- CIMOSType_CIMOS_Windows2000 = 58,
-- CIMOSType_CIMOS_Dedicated = 59,
-- CIMOSType_CIMOS_OS390 = 60,
-- CIMOSType_CIMOS_VSE = 61,
-- CIMOSType_CIMOS_TPF = 62,
-- CIMOSType_CIMOS_WindowsMe = 63,
-- CIMOSType_CIMOS_CalderaOpenUNIX = 64,
-- CIMOSType_CIMOS_OpenBSD = 65,
-- CIMOSType_CIMOS_NotApplicable = 66,
-- CIMOSType_CIMOS_WindowsXP = 67,
-- CIMOSType_CIMOS_zOS = 68,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2003 = 69,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2003_64 = 70,
-- CIMOSType_CIMOS_WindowsXP_64 = 71,
-- CIMOSType_CIMOS_WindowsXPEmbedded = 72,
-- CIMOSType_CIMOS_WindowsVista = 73,
-- CIMOSType_CIMOS_WindowsVista_64 = 74,
-- CIMOSType_CIMOS_WindowsEmbeddedforPointofService = 75,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2008 = 76,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2008_64 = 77,
-- CIMOSType_CIMOS_FreeBSD_64 = 78,
-- CIMOSType_CIMOS_RedHatEnterpriseLinux = 79,
-- CIMOSType_CIMOS_RedHatEnterpriseLinux_64 = 80,
-- CIMOSType_CIMOS_Solaris_64 = 81,
-- CIMOSType_CIMOS_SUSE = 82,
-- CIMOSType_CIMOS_SUSE_64 = 83,
-- CIMOSType_CIMOS_SLES = 84,
-- CIMOSType_CIMOS_SLES_64 = 85,
-- CIMOSType_CIMOS_NovellOES = 86,
-- CIMOSType_CIMOS_NovellLinuxDesktop = 87,
-- CIMOSType_CIMOS_SunJavaDesktopSystem = 88,
-- CIMOSType_CIMOS_Mandriva = 89,
-- CIMOSType_CIMOS_Mandriva_64 = 90,
-- CIMOSType_CIMOS_TurboLinux = 91,
-- CIMOSType_CIMOS_TurboLinux_64 = 92,
-- CIMOSType_CIMOS_Ubuntu = 93,
-- CIMOSType_CIMOS_Ubuntu_64 = 94,
-- CIMOSType_CIMOS_Debian = 95,
-- CIMOSType_CIMOS_Debian_64 = 96,
-- CIMOSType_CIMOS_Linux_2_4_x = 97,
-- CIMOSType_CIMOS_Linux_2_4_x_64 = 98,
-- CIMOSType_CIMOS_Linux_2_6_x = 99,
-- CIMOSType_CIMOS_Linux_2_6_x_64 = 100,
-- CIMOSType_CIMOS_Linux_64 = 101,
-- CIMOSType_CIMOS_Other_64 = 102,
-- // types added with CIM 2.25.0 follow:
-- CIMOSType_CIMOS_WindowsServer2008R2 = 103,
-- CIMOSType_CIMOS_VMwareESXi = 104,
-- CIMOSType_CIMOS_Windows7 = 105,
-- CIMOSType_CIMOS_CentOS = 106,
-- CIMOSType_CIMOS_CentOS_64 = 107,
-- CIMOSType_CIMOS_OracleEnterpriseLinux = 108,
-- CIMOSType_CIMOS_OracleEnterpriseLinux_64 = 109,
-- CIMOSType_CIMOS_eComStation = 110
-- // no new types added with CIM 2.26.0
-+ CIMOSType_CIMOS_Unknown = 0,
-+ CIMOSType_CIMOS_Other = 1,
-+ CIMOSType_CIMOS_Other_64 = 2,
-+ CIMOSType_CIMOS_gNewSense = 3,
-+ CIMOSType_CIMOS_gNewSense_64 = 4,
-+ CIMOSType_CIMOS_Dragora = 5,
-+ CIMOSType_CIMOS_Dragora_64 = 6,
-+ CIMOSType_CIMOS_Musix = 7,
-+ CIMOSType_CIMOS_Musix_64 = 8,
-+ CIMOSType_CIMOS_Trisquel = 9,
-+ CIMOSType_CIMOS_Trisquel_64 = 10,
-+ CIMOSType_CIMOS_Dynebolic = 11,
-+ CIMOSType_CIMOS_Venenux = 12,
-+ CIMOSType_CIMOS_GNU = 13,
-+ CIMOSType_CIMOS_GNU_64 = 14,
-+ CIMOSType_CIMOS_GNUHurd = 15,
-+ CIMOSType_CIMOS_GNULinux = 16,
-+ CIMOSType_CIMOS_GNULinux_64 = 17
- };
-
-
---- VirtualBox-4.1.18.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c 2012-06-20 10:09:01.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c 2012-07-26 15:32:55.309812685 -0300
-@@ -622,16 +622,16 @@
- * Call the common device extension initializer.
- */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) && defined(RT_ARCH_X86)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux26;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) && defined(RT_ARCH_AMD64)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux26_x64;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux_x64;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) && defined(RT_ARCH_X86)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux24;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) && defined(RT_ARCH_AMD64)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux24_x64;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux_x64;
- #else
- # warning "huh? which arch + version is this?"
-- VBOXOSTYPE enmOsType = VBOXOSTYPE_Linux;
-+ VBOXOSTYPE enmOsType = VBOXOSTYPE_GNULinux;
- #endif
- rc = VBoxGuestInitDevExt(&g_DevExt,
- g_IOPortBase,
diff --git a/libre/virtualbox-libre-modules/libre.patch b/libre/virtualbox-libre-modules/libre.patch
deleted file mode 100644
index e51d0c0a7..000000000
--- a/libre/virtualbox-libre-modules/libre.patch
+++ /dev/null
@@ -1,5765 +0,0 @@
---- VirtualBox-4.1.18.orig/Config.kmk 2012-07-24 16:38:43.981310996 -0300
-+++ VirtualBox-4.1.18/Config.kmk 2012-07-24 16:38:44.001309865 -0300
-@@ -56,9 +56,6 @@
- PROPS_SYSMODS_ACCUMULATE_L += INTERMEDIATES
- PROPS_MISCBINS_ACCUMULATE_L += INTERMEDIATES
-
--# Misc names used bye the install paths below.
--VBOX_PUEL_MANGLED_NAME := Oracle_VM_VirtualBox_Extension_Pack
--
- # Install paths
- ## @todo This will change after 4.1 is branched off!
- # What is now 'bin' and 'lib' will be moved down under 'staged/', except on
-@@ -125,9 +122,6 @@
- endif
-
- INST_DOC = doc/
--INST_EXTPACK = $(INST_BIN)ExtensionPacks/
--INST_EXTPACK_CERTS = $(INST_BIN)ExtPackCertificates/
--INST_EXTPACK_PUEL = $(INST_EXTPACK)$(VBOX_PUEL_MANGLED_NAME)/
- INST_PACKAGES = packages/
-
- VBOX_PATH_SDK = $(patsubst %/,%,$(PATH_STAGE)/$(INST_SDK))
-@@ -136,7 +130,6 @@
- VBOX_PATH_ADDITIONS = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS))
- VBOX_PATH_ADDITIONS_ISO = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS_ISO))
- VBOX_PATH_ADDITIONS_LIB = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS_LIB))
--VBOX_PATH_EXTPACK_PUEL= $(patsubst %/,%,$(PATH_STAGE)/$(INST_EXTPACK_PUEL))
- VBOX_PATH_PACKAGES = $(patsubst %/,%,$(PATH_STAGE)/$(INST_PACKAGES))
-
-
-@@ -208,7 +201,6 @@
- export VBOX_ADDITIONS_SH_MODE = release
- export VBOX_DOCUMENTATION_SH_MODE = release
- export VBOX_EFI_SH_MODE = release
-- export VBOX_EXTPACKS_SH_MODE = release
- endif
-
- # Some info on the vendor
-@@ -361,8 +353,6 @@
- VBOX_WITH_USB = 1
- # Enable the USB 1.1 controller plus virtual USB HID devices.
- VBOX_WITH_VUSB = 1
--# Enable the USB 2.0 controller.
--VBOX_WITH_EHCI = 1
- # Enable the ISCSI feature.
- VBOX_WITH_ISCSI = 1
- # Enable INIP support in the ISCSI feature.
-@@ -430,9 +420,6 @@
- ifdef VBOX_WITH_USB
- VBOX_WITH_VUSB = 1
- endif
--ifdef VBOX_WITH_EHCI
-- VBOX_WITH_EHCI_IMPL = 1
--endif
- ifdef VBOX_WITH_PCI_PASSTHROUGH
- VBOX_WITH_PCI_PASSTHROUGH_IMPL = 1
- endif
-@@ -591,15 +578,6 @@
- ## @}
-
-
--## @name Extension pack
--## @{
--# Enables the extension pack feature.
--VBOX_WITH_EXTPACK = 1
--# Enables separating code into the Oracle VM VirtualBox Extension Pack, dubbed PUEL.
--VBOX_WITH_EXTPACK_PUEL = 1
--# Enables building+packing the Oracle VM VirtualBox Extension Pack, includes VBOX_WITH_EXTPACK_PUEL
--VBOX_WITH_EXTPACK_PUEL_BUILD = 1
--## @}
-
- ## @name Misc
- ## @{
-@@ -777,14 +755,6 @@
- # Skip stuff.
- #
-
--ifdef VBOX_ONLY_EXTPACKS
-- # Clear some VBOX_WITH_XXX variables instead of adding ifdefs all over the place.
-- VBOX_WITH_DEBUGGER =
-- VBOX_WITH_ADDITIONS =
-- VBOX_WITH_VBOXDRV =
-- VBOX_WITH_TESTCASES =
--endif
--
- # VBOX_QUICK can be used by core developers to speed to the build
- ifdef VBOX_QUICK
- # undefine variables by assigning blank.
-@@ -848,7 +818,6 @@
- VBOX_WITH_TESTSUITE=
- VBOX_WITH_QTGUI=
- VBOX_WITH_USB=
-- VBOX_WITH_EHCI=
- VBOX_WITH_DOCS=
- VBOX_WITH_PDM_ASYNC_COMPLETION=
- VBOX_WITH_KCHMVIEWER=
-@@ -870,7 +839,6 @@
- VBOX_WITH_CROGL=
- VBOX_WITH_DEBUGGER=
- VBOX_WITH_DOCS=
-- VBOX_WITH_EHCI=
- VBOX_WITH_HARDENING=
- VBOX_WITH_HEADLESS=
- VBOX_WITH_HGCM=
-@@ -952,9 +920,6 @@
- #
- ifdef VBOX_OSE
- VBOX_WITH_VRDP=
-- VBOX_WITH_EHCI_IMPL=
-- VBOX_WITH_EXTPACK_PUEL=
-- VBOX_WITH_EXTPACK_PUEL_BUILD=
- VBOX_WITH_PCI_PASSTHROUGH_IMPL=
- VBOX_WITH_OS2_ADDITIONS_BIN=
- VBOX_WITH_SECURELABEL=
-@@ -1082,10 +1047,6 @@
- VBOX_WITH_KCHMVIEWER=
- endif
-
--ifdef VBOX_WITH_EXTPACK_PUEL_BUILD
-- VBOX_WITH_EXTPACK_PUEL = 1
--endif
--
- #
- # Mark OSE builds clearly, helps figuring out limitations more easily.
- #
-@@ -1679,9 +1640,6 @@
- # biossums (set BIOS checksums)
- VBOX_BIOSSUMS ?= $(PATH_OBJ)/biossums/biossums$(HOSTSUFF_EXE)
-
--# RTManifest (extension pack manifest utility)
--VBOX_RTMANIFEST ?= $(PATH_OBJ)/bldRTManifest/bldRTManifest$(HOSTSUFF_EXE)
--
- # filesplitter (splits java files)
- VBOX_FILESPLIT ?= $(PATH_OBJ)/filesplitter/filesplitter$(HOSTSUFF_EXE)
-
-@@ -2461,13 +2419,6 @@
- SDK_VBOX_OPENSSL2_LIBS = $(NO_SUCH_VARIABLE)
- endif
-
--SDK_VBoxOpenSslExtPack = Internal use only.
--SDK_VBoxOpenSslExtPack_INCS = $(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)
--SDK_VBoxOpenSslExtPack_ORDERDEPS = $(crypto-headers_1_TARGET)
--SDK_VBoxOpenSslExtPack_LIBS = \
-- $(PATH_STAGE_LIB)/VBoxExtPack-libssl$(VBOX_SUFF_LIB) \
-- $(PATH_STAGE_LIB)/VBoxExtPack-libcrypto$(VBOX_SUFF_LIB)
--
- SDK_VBOX_BLD_OPENSSL = .
- SDK_VBOX_BLD_OPENSSL_EXTENDS = VBOX_OPENSSL
- SDK_VBOX_BLD_OPENSSL_LIBS ?= \
-@@ -3817,100 +3768,6 @@
- endif
- TEMPLATE_VBOXMAINCLIENTDLL_LDFLAGS.darwin = $(filter-out -bind_at_load,$(TEMPLATE_VBOXMAINCLIENTEXE_LDFLAGS.darwin))
-
--
--
--#
--# Templates used for building the extension packs.
--#
--ifdef VBOX_WITH_EXTPACK
-- # Base templates (native or portable).
-- TEMPLATE_VBoxR3ExtPack = For the ring-3 context extension pack modules.
-- if 1 # Native for now.
-- TEMPLATE_VBoxR3ExtPack_EXTENDS = VBOXR3DLLNOXCPT
-- TEMPLATE_VBoxR3ExtPack_DEFS = $(TEMPLATE_VBOXR3DLLNOXCPT_DEFS) VBOX_IN_EXTPACK VBOX_IN_EXTPACK_R3
-- else
-- TEMPLATE_VBoxR3ExtPack_EXTENDS = VBOXNOCRTGCC
-- TEMPLATE_VBoxR3ExtPack_DEFS = $(TEMPLATE_VBOXNOCRTGCC_DEFS) VBOX_IN_EXTPACK VBOX_IN_EXTPACK_R3 IPRT_NO_CRT IN_RING3
-- TEMPLATE_VBoxR3ExtPack_INCS = $(PATH_ROOT)/include/iprt/nocrt $(TEMPLATE_VBOXR3DLLNOXCPT_INCS)
-- endif
-- ifneq ($(KBUILD_TARGET),win)
-- TEMPLATE_VBoxR3ExtPack_CXXFLAGS = $(TEMPLATE_VBOXR3DLLNOXCPT_CXXFLAGS) -fno-rtti
-- endif
-- TEMPLATE_VBoxR3ExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
-- ifeq ($(KBUILD_TARGET),linux)
-- TEMPLATE_VBoxR3ExtPack_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBOXR3DLLNOXCPT_LDFLAGS))
-- else
-- if !defined(VBOX_WITH_RUNPATH) && defined(VBOX_WITH_RELATIVE_RUNPATH)
-- TEMPLATE_VBoxR3ExtPack_LDFLAGS = '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)/../../..' $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)', $(TEMPLATE_VBOXR3DLLNOXCPT_LDFLAGS))
-- endif
-- endif
-- ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- if1of ($(KBUILD_TARGET), win os2)
-- TEMPLATE_VBoxR3ExtPack_LIBS = \
-- $(TEMPLATE_LIBS_VBOXR3) \
-- $(PATH_STAGE_LIB)/VMMR3Imp$(VBOX_SUFF_LIB) \
-- $(PATH_STAGE_LIB)/VBoxRTImp$(VBOX_SUFF_LIB)
-- else
-- TEMPLATE_VBoxR3ExtPack_LIBS = \
-- $(TEMPLATE_LIBS_VBOXR3) \
-- $(PATH_STAGE_LIB)/VMMR3Imp$(VBOX_SUFF_DLL) \
-- $(PATH_STAGE_LIB)/VBoxRTImp$(VBOX_SUFF_DLL)
-- endif
-- else
-- TEMPLATE_VBoxR3ExtPack_LIBS = \
-- $(TEMPLATE_LIBS_VBOXR3) \
-- $(LIB_RUNTIME) \
-- $(LIB_VMM)
-- endif
--
-- TEMPLATE_VBoxR0ExtPack = For the ring-0 context extension pack modules.
-- TEMPLATE_VBoxR0ExtPack_EXTENDS = VBoxR0
-- TEMPLATE_VBoxR0ExtPack_EXTENDS_BY = appending
-- TEMPLATE_VBoxR0ExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
-- TEMPLATE_VBoxR0ExtPack_DEFS = VBOX_IN_EXTPACK VBOX_IN_EXTPACK_R0
-- if1of ($(VBOX_LDR_FMT), pe lx)
-- TEMPLATE_VBoxR0ExtPack_LIBS = \
-- $(PATH_STAGE_LIB)/VMMR0Imp$(VBOX_SUFF_LIB) \
-- $(PATH_STAGE_LIB)/SUPR0$(VBOX_SUFF_LIB)
-- endif
--
-- TEMPLATE_VBoxRcExtPack = For the raw-mode context extension pack modules.
-- TEMPLATE_VBoxRcExtPack_EXTENDS = VBoxRc
-- TEMPLATE_VBoxRcExtPack_EXTENDS_BY = appending
-- TEMPLATE_VBoxRcExtPack_SYSSUFF = .rc
-- TEMPLATE_VBoxRcExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
-- TEMPLATE_VBoxRcExtPack_DEFS = VBOX_IN_EXTPACK VBOX_IN_EXTPACK_RC
-- if1of ($(VBOX_LDR_FMT32), pe lx)
-- TEMPLATE_VBoxRcExtPack_LIBS = \
-- $(PATH_STAGE_LIB)/VMMRCBuiltin$(VBOX_SUFF_LIB) \
-- $(PATH_STAGE_LIB)/VMMRCImp$(VBOX_SUFF_LIB)
-- endif
--
-- TEMPLATE_VBoxInsExtPack = For the install targets of an extension pack.
-- TEMPLATE_VBoxInsExtPack_MODE = 0644
-- TEMPLATE_VBoxInsExtPack_INST = $(INST_EXTPACK)YouShallOverrideThis/
--
-- # For each individual extension pack
-- ifdef VBOX_WITH_EXTPACK_PUEL
-- TEMPLATE_VBoxR3ExtPackPuel = For the ring-3 context modules in the PUEL extension pack.
-- TEMPLATE_VBoxR3ExtPackPuel_EXTENDS = VBoxR3ExtPack
-- TEMPLATE_VBoxR3ExtPackPuel_INST = $(INST_EXTPACK_PUEL)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
--
-- TEMPLATE_VBoxR0ExtPackPuel = For the ring-0 context modules in the PUEL extension pack.
-- TEMPLATE_VBoxR0ExtPackPuel_EXTENDS = VBoxR0ExtPack
-- TEMPLATE_VBoxR0ExtPackPuel_INST = $(INST_EXTPACK_PUEL)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
--
-- TEMPLATE_VBoxRcExtPackPuel = For the raw-mode context modules in the PUEL extension pack.
-- TEMPLATE_VBoxRcExtPackPuel_EXTENDS = VBoxRcExtPack
-- TEMPLATE_VBoxRcExtPackPuel_INST = $(INST_EXTPACK_PUEL)$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)/
--
-- TEMPLATE_VBoxInsExtPackPuel = For the install targets of an extension pack.
-- TEMPLATE_VBoxInsExtPackPuel_EXTENDS = VBoxR0ExtPack
-- TEMPLATE_VBoxInsExtPackPuel_INST = $(INST_EXTPACK_PUEL)
--endif
--endif # VBOX_WITH_EXTPACK
--
--
- #
- # Qt 4
- # Qt 4
---- VirtualBox-4.1.18.orig/Makefile.kmk 2012-07-24 17:16:47.078929150 -0300
-+++ VirtualBox-4.1.18/Makefile.kmk 2012-07-24 17:16:47.125592981 -0300
-@@ -446,7 +446,6 @@
- include/VBox \
- include/VBox/vmm \
- include/VBox/com \
-- include/VBox/ExtPack \
- include/VBox/HostServices \
- include/VBox/GuestHost \
- include/VBox/HGSMI \
-@@ -862,191 +861,6 @@
- additions-build-linux.x86.combined \
- additions-packing
-
--
--#
--# Build the extension packs, all of them.
--#
--# This is tailored (hardcoded) for the extension pack build box.
--#
--# The fetching must be done in serial fashion, while the building should be
--# more flexible wrt to -jN.
--#
--extpacks-fetch:
-- + $(KMK) -C tools fetch VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=darwin BUILD_TARGET_ARCH=amd64 BUILD_TARGET=darwin VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=darwin BUILD_TARGET_ARCH=x86 BUILD_TARGET=darwin VBOX_ONLY_EXTPACKS=1
--# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=freebsd BUILD_TARGET_ARCH=amd64 BUILD_TARGET=freebsd VBOX_ONLY_EXTPACKS=1
--# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=freebsd BUILD_TARGET_ARCH=x86 BUILD_TARGET=freebsd VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=linux BUILD_TARGET_ARCH=amd64 BUILD_TARGET=linux VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=linux BUILD_TARGET_ARCH=x86 BUILD_TARGET=linux VBOX_ONLY_EXTPACKS=1
--# + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=os2 BUILD_TARGET_ARCH=x86 BUILD_TARGET=os2 VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=amd64 BUILD_TARGET=solaris VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=solaris BUILD_TARGET_ARCH=x86 BUILD_TARGET=solaris VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=amd64 KBUILD_TARGET=win BUILD_TARGET_ARCH=amd64 BUILD_TARGET=win VBOX_ONLY_EXTPACKS=1
-- + $(KMK) -C tools fetch KBUILD_TARGET_ARCH=x86 KBUILD_TARGET=win BUILD_TARGET_ARCH=x86 BUILD_TARGET=win VBOX_ONLY_EXTPACKS=1
--
--
--extpacks-build: \
-- extpacks-build-win.amd64 \
-- extpacks-build-win.x86 \
-- extpacks-build-solaris.amd64 \
-- extpacks-build-solaris.x86 \
-- extpacks-build-os2.x86 \
-- extpacks-build-linux.amd64 \
-- extpacks-build-linux.x86 \
-- extpacks-build-darwin.amd64 \
-- extpacks-build-darwin.x86 \
-- extpacks-build-freebsd.amd64 \
-- extpacks-build-freebsd.x86
--
--VBOX_EXTPACKS_BUILD.amd64 = VBOX_ONLY_EXTPACKS=1 \
-- KBUILD_TYPE=$(KBUILD_TYPE) BUILD_TYPE=$(KBUILD_TYPE) \
-- KBUILD_TARGET_ARCH=amd64 BUILD_TARGET_ARCH=amd64 \
-- VBOX_SVN_REV=$(VBOX_SVN_REV)
--
--VBOX_EXTPACKS_BUILD.x86 = VBOX_ONLY_EXTPACKS=1 \
-- KBUILD_TYPE=$(KBUILD_TYPE) BUILD_TYPE=$(KBUILD_TYPE) \
-- KBUILD_TARGET_ARCH=x86 BUILD_TARGET_ARCH=x86 \
-- VBOX_SVN_REV=$(VBOX_SVN_REV)
--
--# Automatically determine the extpack build subdir name. Used for figuring out
--# directory names inside the extension pack building VMs.
--VBOX_EXTPACKS_BUILD_SUBDIRNAME := $(lastword $(subst /, ,$(PATH_ROOT)))
--
--# When building in parallel on a Windows host, make sure we finish the host
--# bit before kicking off any UNIX guest or we'll run into file sharing issues.
--ifeq ($(KBUILD_TARGET),win)
--VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST = extpacks-build-win.x86 extpacks-build-win.amd64
--else
--VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST =
--endif
--
--extpacks-build-win.amd64:
--ifeq ($(KBUILD_TARGET),win)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Windows/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.6 " echo $@ && cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
--endif
--
--extpacks-build-win.x86:
--ifeq ($(KBUILD_TARGET),win)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Windows/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.16 " echo $@ && cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.x86) all"
--endif
--
--ifeq ($(KBUILD_TARGET),solaris)
--extpacks-build-solaris.amd64:
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--
--extpacks-build-solaris.x86: extpacks-build-solaris.amd64
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) VBOX_WITH_COMBINED_SOLARIS_GUEST_PACKAGE=1 all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--
--else
--# Serialize 32-bit and 64-bit ASSUMING the same VM builds both.
--extpacks-build-solaris.rsync-into-vm: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,solaris,*) . 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
--
--extpacks-build-solaris.build-it: extpacks-build-solaris.rsync-into-vm
-- $(call MSG_L1,Building Solaris/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.4 " echo $@/amd64 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
-- $(call MSG_L1,Building Solaris/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.4 " echo $@/x86 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
--
--extpacks-build-solaris.rsync-out-of-vm: extpacks-build-solaris.build-it
-- $(VBOX_KMK_TIME) rsync -a --delete 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.x86 out/
-- $(VBOX_KMK_TIME) rsync -a --delete 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.amd64 out/
--
--.NOTPARALLEL: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm
--.PHONY: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm extpacks-build-solaris.build-it
--
--extpacks-build-solaris.amd64: extpacks-build-solaris.rsync-out-of-vm
--extpacks-build-solaris.x86: extpacks-build-solaris.rsync-out-of-vm
--endif
--
--extpacks-build-os2.x86:
--#ifeq ($(KBUILD_TARGET),os2)
--# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--#else
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.3 " cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) "
--#endif
--
--extpacks-build-linux.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.amd64)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Linux/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.12 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
--endif
--
--extpacks-build-linux.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.x86)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Linux/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.11 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
--endif
--
--extpacks-build-freebsd.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--#ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.amd64)
--# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--#else
--# $(call MSG_L1,Building FreeBSD/amd64 extension packs)
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.17 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
--#endif
--
--extpacks-build-freebsd.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--#ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.x86)
--# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--#else
--# $(call MSG_L1,Building FreeBSD/x86 extension packs)
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.7 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
--#endif
--
--extpacks-build-darwin.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.amd64)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Darwin/amd64 extension packs)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,amd64) . 192.168.27.15:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.15 " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
-- $(VBOX_KMK_TIME) rsync -am -v --delete 192.168.27.15:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.amd64 out/
--endif
--
--extpacks-build-darwin.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
--ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.x86)
-- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
--else
-- $(call MSG_L1,Building Darwin/x86 extension packs)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,x86) . 192.168.27.5:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.5 " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
-- $(VBOX_KMK_TIME) rsync -am -v --delete 192.168.27.5:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.x86 out/
--endif
--
--
--extpacks-packing:
-- + $(KMK) VBOX_ONLY_EXTPACKS=1 \
-- VBOX_WITH_EXTPACK_OS_ARCHS="darwin.amd64 darwin.x86 linux.amd64 linux.x86 solaris.amd64 solaris.x86 win.amd64 win.x86" \
-- packing
--# +++ freebsd.amd64 freebsd.x86 os2.x86 ^^^
--
--.PHONY: \
-- extpacks-build-win.x86 \
-- extpacks-build-win.amd64 \
-- extpacks-build-solaris.amd64 \
-- extpacks-build-solaris.x86 \
-- extpacks-build-os2.x86 \
-- extpacks-build-linux.amd64 \
-- extpacks-build-linux.x86 \
-- extpacks-build-freebsd.amd64 \
-- extpacks-build-freebsd.x86 \
-- extpacks-build-darwin.amd64 \
-- extpacks-build-darwin.x86 \
-- extpacks-packing
--
--
- #
- # Build the test suite, all of it.
- #
---- VirtualBox-4.1.18.orig/src/VBox/Devices/build/VBoxDD.cpp 2012-06-20 10:15:51.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Devices/build/VBoxDD.cpp 2012-07-24 16:18:03.964493454 -0300
-@@ -132,11 +132,6 @@
- if (RT_FAILURE(rc))
- return rc;
- #endif
--#ifdef VBOX_WITH_EHCI_IMPL
-- rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceEHCI);
-- if (RT_FAILURE(rc))
-- return rc;
--#endif
- #ifdef VBOX_ACPI
- rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceACPI);
- if (RT_FAILURE(rc))
---- VirtualBox-4.1.18.orig/src/VBox/Devices/build/VBoxDD.h 2012-06-20 10:15:51.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Devices/build/VBoxDD.h 2012-07-24 16:20:35.939205389 -0300
-@@ -62,7 +62,6 @@
- extern const PDMDEVREG g_DeviceICH6_HDA;
- extern const PDMDEVREG g_DeviceAudioSniffer;
- extern const PDMDEVREG g_DeviceOHCI;
--extern const PDMDEVREG g_DeviceEHCI;
- extern const PDMDEVREG g_DeviceACPI;
- extern const PDMDEVREG g_DeviceDMA;
- extern const PDMDEVREG g_DeviceFloppyController;
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ExtPackManagerImpl.h 2012-06-20 10:17:33.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,245 +0,0 @@
--/* $Id: ExtPackManagerImpl.h $ */
--/** @file
-- * VirtualBox Main - interface for Extension Packs, VBoxSVC & VBoxC.
-- */
--
--/*
-- * Copyright (C) 2010 Oracle Corporation
-- *
-- * This file is part of VirtualBox Open Source Edition (OSE), as
-- * available from http://www.virtualbox.org. This file is free software;
-- * you can redistribute it and/or modify it under the terms of the GNU
-- * General Public License (GPL) as published by the Free Software
-- * Foundation, in version 2 as it comes in the "COPYING" file of the
-- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-- */
--
--#ifndef ____H_EXTPACKMANAGERIMPL
--#define ____H_EXTPACKMANAGERIMPL
--
--#include "VirtualBoxBase.h"
--#include <VBox/ExtPack/ExtPack.h>
--#include <iprt/fs.h>
--
--/**
-- * An extension pack file.
-- */
--class ATL_NO_VTABLE ExtPackFile :
-- public VirtualBoxBase,
-- VBOX_SCRIPTABLE_IMPL(IExtPackFile)
--{
--public:
-- /** @name COM and internal init/term/mapping cruft.
-- * @{ */
-- VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(ExtPackFile, IExtPackFile)
-- DECLARE_NOT_AGGREGATABLE(ExtPackFile)
-- DECLARE_PROTECT_FINAL_CONSTRUCT()
-- BEGIN_COM_MAP(ExtPackFile)
-- VBOX_DEFAULT_INTERFACE_ENTRIES(IExtPackFile)
-- COM_INTERFACE_ENTRY(IExtPackBase)
-- END_COM_MAP()
-- DECLARE_EMPTY_CTOR_DTOR(ExtPackFile)
--
-- HRESULT FinalConstruct();
-- void FinalRelease();
-- HRESULT initWithFile(const char *a_pszFile, const char *a_pszDigest, class ExtPackManager *a_pExtPackMgr, VirtualBox *a_pVirtualBox);
-- void uninit();
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
-- /** @} */
--
-- /** @name IExtPackBase interfaces
-- * @{ */
-- STDMETHOD(COMGETTER(Name))(BSTR *a_pbstrName);
-- STDMETHOD(COMGETTER(Description))(BSTR *a_pbstrDescription);
-- STDMETHOD(COMGETTER(Version))(BSTR *a_pbstrVersion);
-- STDMETHOD(COMGETTER(Revision))(ULONG *a_puRevision);
-- STDMETHOD(COMGETTER(VRDEModule))(BSTR *a_pbstrVrdeModule);
-- STDMETHOD(COMGETTER(PlugIns))(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns));
-- STDMETHOD(COMGETTER(Usable))(BOOL *a_pfUsable);
-- STDMETHOD(COMGETTER(WhyUnusable))(BSTR *a_pbstrWhy);
-- STDMETHOD(COMGETTER(ShowLicense))(BOOL *a_pfShowIt);
-- STDMETHOD(COMGETTER(License))(BSTR *a_pbstrHtmlLicense);
-- STDMETHOD(QueryLicense)(IN_BSTR a_bstrPreferredLocale, IN_BSTR a_bstrPreferredLanguage,
-- IN_BSTR a_bstrFormat, BSTR *a_pbstrLicense);
-- /** @} */
--
-- /** @name IExtPackFile interfaces
-- * @{ */
-- STDMETHOD(COMGETTER(FilePath))(BSTR *a_pbstrPath);
-- STDMETHOD(Install)(BOOL a_fReplace, IN_BSTR a_bstrDisplayInfo, IProgress **a_ppProgress);
-- /** @} */
--
--private:
-- /** @name Misc init helpers
-- * @{ */
-- HRESULT initFailed(const char *a_pszWhyFmt, ...);
-- /** @} */
--
--private:
-- struct Data;
-- /** Pointer to the private instance. */
-- Data *m;
--
-- friend class ExtPackManager;
--};
--
--
--/**
-- * An installed extension pack.
-- */
--class ATL_NO_VTABLE ExtPack :
-- public VirtualBoxBase,
-- VBOX_SCRIPTABLE_IMPL(IExtPack)
--{
--public:
-- /** @name COM and internal init/term/mapping cruft.
-- * @{ */
-- VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(ExtPack, IExtPack)
-- DECLARE_NOT_AGGREGATABLE(ExtPack)
-- DECLARE_PROTECT_FINAL_CONSTRUCT()
-- BEGIN_COM_MAP(ExtPack)
-- VBOX_DEFAULT_INTERFACE_ENTRIES(IExtPack)
-- COM_INTERFACE_ENTRY(IExtPackBase)
-- END_COM_MAP()
-- DECLARE_EMPTY_CTOR_DTOR(ExtPack)
--
-- HRESULT FinalConstruct();
-- void FinalRelease();
-- HRESULT initWithDir(VBOXEXTPACKCTX a_enmContext, const char *a_pszName, const char *a_pszDir);
-- void uninit();
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
-- /** @} */
--
-- /** @name IExtPackBase interfaces
-- * @{ */
-- STDMETHOD(COMGETTER(Name))(BSTR *a_pbstrName);
-- STDMETHOD(COMGETTER(Description))(BSTR *a_pbstrDescription);
-- STDMETHOD(COMGETTER(Version))(BSTR *a_pbstrVersion);
-- STDMETHOD(COMGETTER(Revision))(ULONG *a_puRevision);
-- STDMETHOD(COMGETTER(VRDEModule))(BSTR *a_pbstrVrdeModule);
-- STDMETHOD(COMGETTER(PlugIns))(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns));
-- STDMETHOD(COMGETTER(Usable))(BOOL *a_pfUsable);
-- STDMETHOD(COMGETTER(WhyUnusable))(BSTR *a_pbstrWhy);
-- STDMETHOD(COMGETTER(ShowLicense))(BOOL *a_pfShowIt);
-- STDMETHOD(COMGETTER(License))(BSTR *a_pbstrHtmlLicense);
-- STDMETHOD(QueryLicense)(IN_BSTR a_bstrPreferredLocale, IN_BSTR a_bstrPreferredLanguage,
-- IN_BSTR a_bstrFormat, BSTR *a_pbstrLicense);
-- /** @} */
--
-- /** @name IExtPack interfaces
-- * @{ */
-- STDMETHOD(QueryObject)(IN_BSTR a_bstrObjectId, IUnknown **a_ppUnknown);
-- /** @} */
--
-- /** @name Internal interfaces used by ExtPackManager.
-- * @{ */
-- bool callInstalledHook(IVirtualBox *a_pVirtualBox, AutoWriteLock *a_pLock, PRTERRINFO pErrInfo);
-- HRESULT callUninstallHookAndClose(IVirtualBox *a_pVirtualBox, bool a_fForcedRemoval);
-- bool callVirtualBoxReadyHook(IVirtualBox *a_pVirtualBox, AutoWriteLock *a_pLock);
-- bool callConsoleReadyHook(IConsole *a_pConsole, AutoWriteLock *a_pLock);
-- bool callVmCreatedHook(IVirtualBox *a_pVirtualBox, IMachine *a_pMachine, AutoWriteLock *a_pLock);
-- bool callVmConfigureVmmHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock, int *a_pvrc);
-- bool callVmPowerOnHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock, int *a_pvrc);
-- bool callVmPowerOffHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock);
-- HRESULT checkVrde(void);
-- HRESULT getVrdpLibraryName(Utf8Str *a_pstrVrdeLibrary);
-- bool wantsToBeDefaultVrde(void) const;
-- HRESULT refresh(bool *pfCanDelete);
-- /** @} */
--
--protected:
-- /** @name Internal helper methods.
-- * @{ */
-- void probeAndLoad(void);
-- bool findModule(const char *a_pszName, const char *a_pszExt, VBOXEXTPACKMODKIND a_enmKind,
-- Utf8Str *a_ppStrFound, bool *a_pfNative, PRTFSOBJINFO a_pObjInfo) const;
-- static bool objinfoIsEqual(PCRTFSOBJINFO pObjInfo1, PCRTFSOBJINFO pObjInfo2);
-- /** @} */
--
-- /** @name Extension Pack Helpers
-- * @{ */
-- static DECLCALLBACK(int) hlpFindModule(PCVBOXEXTPACKHLP pHlp, const char *pszName, const char *pszExt,
-- VBOXEXTPACKMODKIND enmKind, char *pszFound, size_t cbFound, bool *pfNative);
-- static DECLCALLBACK(int) hlpGetFilePath(PCVBOXEXTPACKHLP pHlp, const char *pszFilename, char *pszPath, size_t cbPath);
-- static DECLCALLBACK(VBOXEXTPACKCTX) hlpGetContext(PCVBOXEXTPACKHLP pHlp);
-- static DECLCALLBACK(int) hlpReservedN(PCVBOXEXTPACKHLP pHlp);
-- /** @} */
--
--private:
-- struct Data;
-- /** Pointer to the private instance. */
-- Data *m;
--
-- friend class ExtPackManager;
--};
--
--
--/**
-- * Extension pack manager.
-- */
--class ATL_NO_VTABLE ExtPackManager :
-- public VirtualBoxBase,
-- VBOX_SCRIPTABLE_IMPL(IExtPackManager)
--{
-- /** @name COM and internal init/term/mapping cruft.
-- * @{ */
-- VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(ExtPackManager, IExtPackManager)
-- DECLARE_NOT_AGGREGATABLE(ExtPackManager)
-- DECLARE_PROTECT_FINAL_CONSTRUCT()
-- BEGIN_COM_MAP(ExtPackManager)
-- VBOX_DEFAULT_INTERFACE_ENTRIES(IExtPackManager)
-- END_COM_MAP()
-- DECLARE_EMPTY_CTOR_DTOR(ExtPackManager)
--
-- HRESULT FinalConstruct();
-- void FinalRelease();
-- HRESULT initExtPackManager(VirtualBox *a_pVirtualBox, VBOXEXTPACKCTX a_enmContext);
-- void uninit();
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
-- /** @} */
--
-- /** @name IExtPack interfaces
-- * @{ */
-- STDMETHOD(COMGETTER(InstalledExtPacks))(ComSafeArrayOut(IExtPack *, a_paExtPacks));
-- STDMETHOD(Find)(IN_BSTR a_bstrName, IExtPack **a_pExtPack);
-- STDMETHOD(OpenExtPackFile)(IN_BSTR a_bstrTarball, IExtPackFile **a_ppExtPackFile);
-- STDMETHOD(Uninstall)(IN_BSTR a_bstrName, BOOL a_fForcedRemoval, IN_BSTR a_bstrDisplayInfo, IProgress **a_ppProgress);
-- STDMETHOD(Cleanup)(void);
-- STDMETHOD(QueryAllPlugInsForFrontend)(IN_BSTR a_bstrFrontend, ComSafeArrayOut(BSTR, a_pabstrPlugInModules));
-- STDMETHOD(IsExtPackUsable(IN_BSTR a_bstrExtPack, BOOL *aUsable));
-- /** @} */
--
-- /** @name Internal interfaces used by other Main classes.
-- * @{ */
-- static DECLCALLBACK(int) doInstallThreadProc(RTTHREAD hThread, void *pvJob);
-- HRESULT doInstall(ExtPackFile *a_pExtPackFile, bool a_fReplace, Utf8Str const *a_pstrDisplayInfo);
-- static DECLCALLBACK(int) doUninstallThreadProc(RTTHREAD hThread, void *pvJob);
-- HRESULT doUninstall(const Utf8Str *a_pstrName, bool a_fForcedRemoval, const Utf8Str *a_pstrDisplayInfo);
-- void callAllVirtualBoxReadyHooks(void);
-- void callAllConsoleReadyHooks(IConsole *a_pConsole);
-- void callAllVmCreatedHooks(IMachine *a_pMachine);
-- int callAllVmConfigureVmmHooks(IConsole *a_pConsole, PVM a_pVM);
-- int callAllVmPowerOnHooks(IConsole *a_pConsole, PVM a_pVM);
-- void callAllVmPowerOffHooks(IConsole *a_pConsole, PVM a_pVM);
-- HRESULT checkVrdeExtPack(Utf8Str const *a_pstrExtPack);
-- int getVrdeLibraryPathForExtPack(Utf8Str const *a_pstrExtPack, Utf8Str *a_pstrVrdeLibrary);
-- HRESULT getDefaultVrdeExtPack(Utf8Str *a_pstrExtPack);
-- bool isExtPackUsable(const char *a_pszExtPack);
-- void dumpAllToReleaseLog(void);
-- /** @} */
--
--private:
-- HRESULT runSetUidToRootHelper(Utf8Str const *a_pstrDisplayInfo, const char *a_pszCommand, ...);
-- ExtPack *findExtPack(const char *a_pszName);
-- void removeExtPack(const char *a_pszName);
-- HRESULT refreshExtPack(const char *a_pszName, bool a_fUnsuableIsError, ExtPack **a_ppExtPack);
--
--private:
-- struct Data;
-- /** Pointer to the private instance. */
-- Data *m;
--};
--
--#endif
--/* vi: set tabstop=4 shiftwidth=4 expandtab: */
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ExtPackUtil.h 2012-06-20 10:17:33.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,137 +0,0 @@
--/* $Id: ExtPackUtil.h $ */
--/** @file
-- * VirtualBox Main - Extension Pack Utilities and definitions, VBoxC, VBoxSVC, ++.
-- */
--
--/*
-- * Copyright (C) 2010 Oracle Corporation
-- *
-- * This file is part of VirtualBox Open Source Edition (OSE), as
-- * available from http://www.virtualbox.org. This file is free software;
-- * you can redistribute it and/or modify it under the terms of the GNU
-- * General Public License (GPL) as published by the Free Software
-- * Foundation, in version 2 as it comes in the "COPYING" file of the
-- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-- */
--
--#ifndef ____H_EXTPACKUTIL
--#define ____H_EXTPACKUTIL
--
--#include <iprt/cpp/ministring.h>
--#include <iprt/fs.h>
--#include <iprt/vfs.h>
--
--
--/** @name VBOX_EXTPACK_DESCRIPTION_NAME
-- * The name of the description file in an extension pack. */
--#define VBOX_EXTPACK_DESCRIPTION_NAME "ExtPack.xml"
--/** @name VBOX_EXTPACK_DESCRIPTION_NAME
-- * The name of the manifest file in an extension pack. */
--#define VBOX_EXTPACK_MANIFEST_NAME "ExtPack.manifest"
--/** @name VBOX_EXTPACK_SIGNATURE_NAME
-- * The name of the signature file in an extension pack. */
--#define VBOX_EXTPACK_SIGNATURE_NAME "ExtPack.signature"
--/** @name VBOX_EXTPACK_LICENSE_NAME_PREFIX
-- * The name prefix of a license file in an extension pack. There can be
-- * several license files in a pack, the variations being on locale, language
-- * and format (HTML, RTF, plain text). All extension packages shall include
-- * a */
--#define VBOX_EXTPACK_LICENSE_NAME_PREFIX "ExtPack-license"
--/** @name VBOX_EXTPACK_SUFFIX
-- * The suffix of a extension pack tarball. */
--#define VBOX_EXTPACK_SUFFIX ".vbox-extpack"
--
--/** The minimum length (strlen) of a extension pack name. */
--#define VBOX_EXTPACK_NAME_MIN_LEN 3
--/** The max length (strlen) of a extension pack name. */
--#define VBOX_EXTPACK_NAME_MAX_LEN 64
--
--/** The architecture-dependent application data subdirectory where the
-- * extension packs are installed. Relative to RTPathAppPrivateArch. */
--#define VBOX_EXTPACK_INSTALL_DIR "ExtensionPacks"
--/** The architecture-independent application data subdirectory where the
-- * certificates are installed. Relative to RTPathAppPrivateNoArch. */
--#define VBOX_EXTPACK_CERT_DIR "ExtPackCertificates"
--
--/** The maximum entry name length.
-- * Play short and safe. */
--#define VBOX_EXTPACK_MAX_MEMBER_NAME_LENGTH 128
--
--
--/**
-- * Plug-in descriptor.
-- */
--typedef struct VBOXEXTPACKPLUGINDESC
--{
-- /** The name. */
-- RTCString strName;
-- /** The module name. */
-- RTCString strModule;
-- /** The description. */
-- RTCString strDescription;
-- /** The frontend or component which it plugs into. */
-- RTCString strFrontend;
--} VBOXEXTPACKPLUGINDESC;
--/** Pointer to a plug-in descriptor. */
--typedef VBOXEXTPACKPLUGINDESC *PVBOXEXTPACKPLUGINDESC;
--
--/**
-- * Extension pack descriptor
-- *
-- * This is the internal representation of the ExtPack.xml.
-- */
--typedef struct VBOXEXTPACKDESC
--{
-- /** The name. */
-- RTCString strName;
-- /** The description. */
-- RTCString strDescription;
-- /** The version string. */
-- RTCString strVersion;
-- /** The edition string. */
-- RTCString strEdition;
-- /** The internal revision number. */
-- uint32_t uRevision;
-- /** The name of the main module. */
-- RTCString strMainModule;
-- /** The name of the VRDE module, empty if none. */
-- RTCString strVrdeModule;
-- /** The number of plug-in descriptors. */
-- uint32_t cPlugIns;
-- /** Pointer to an array of plug-in descriptors. */
-- PVBOXEXTPACKPLUGINDESC paPlugIns;
-- /** Whether to show the license prior to installation. */
-- bool fShowLicense;
--} VBOXEXTPACKDESC;
--
--/** Pointer to a extension pack descriptor. */
--typedef VBOXEXTPACKDESC *PVBOXEXTPACKDESC;
--/** Pointer to a const extension pack descriptor. */
--typedef VBOXEXTPACKDESC const *PCVBOXEXTPACKDESC;
--
--
--void VBoxExtPackInitDesc(PVBOXEXTPACKDESC a_pExtPackDesc);
--RTCString *VBoxExtPackLoadDesc(const char *a_pszDir, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo);
--RTCString *VBoxExtPackLoadDescFromVfsFile(RTVFSFILE hVfsFile, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo);
--RTCString *VBoxExtPackExtractNameFromTarballPath(const char *pszTarball);
--void VBoxExtPackFreeDesc(PVBOXEXTPACKDESC a_pExtPackDesc);
--bool VBoxExtPackIsValidName(const char *pszName);
--bool VBoxExtPackIsValidMangledName(const char *pszMangledName, size_t cchMax = RTSTR_MAX);
--RTCString *VBoxExtPackMangleName(const char *pszName);
--RTCString *VBoxExtPackUnmangleName(const char *pszMangledName, size_t cbMax);
--int VBoxExtPackCalcDir(char *pszExtPackDir, size_t cbExtPackDir, const char *pszParentDir, const char *pszName);
--bool VBoxExtPackIsValidVersionString(const char *pszVersion);
--bool VBoxExtPackIsValidEditionString(const char *pszEdition);
--bool VBoxExtPackIsValidModuleString(const char *pszModule);
--
--int VBoxExtPackValidateMember(const char *pszName, RTVFSOBJTYPE enmType, RTVFSOBJ hVfsObj, char *pszError, size_t cbError);
--int VBoxExtPackOpenTarFss(RTFILE hTarballFile, char *pszError, size_t cbError, PRTVFSFSSTREAM phTarFss, PRTMANIFEST phFileManifest);
--int VBoxExtPackValidateTarball(RTFILE hTarballFile, const char *pszExtPackName,
-- const char *pszTarball, const char *pszTarballDigest,
-- char *pszError, size_t cbError,
-- PRTMANIFEST phValidManifest, PRTVFSFILE phXmlFile, RTCString *pStrDigest);
--
--
--#endif
--
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-all/ExtPackManagerImpl.cpp 2012-06-20 10:17:34.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,3126 +0,0 @@
--/* $Id: ExtPackManagerImpl.cpp $ */
--/** @file
-- * VirtualBox Main - interface for Extension Packs, VBoxSVC & VBoxC.
-- */
--
--/*
-- * Copyright (C) 2010 Oracle Corporation
-- *
-- * This file is part of VirtualBox Open Source Edition (OSE), as
-- * available from http://www.virtualbox.org. This file is free software;
-- * you can redistribute it and/or modify it under the terms of the GNU
-- * General Public License (GPL) as published by the Free Software
-- * Foundation, in version 2 as it comes in the "COPYING" file of the
-- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-- */
--
--
--/*******************************************************************************
--* Header Files *
--*******************************************************************************/
--#include "ExtPackManagerImpl.h"
--#include "ExtPackUtil.h"
--
--#include <iprt/buildconfig.h>
--#include <iprt/ctype.h>
--#include <iprt/dir.h>
--#include <iprt/env.h>
--#include <iprt/file.h>
--#include <iprt/ldr.h>
--#include <iprt/manifest.h>
--#include <iprt/param.h>
--#include <iprt/path.h>
--#include <iprt/pipe.h>
--#include <iprt/process.h>
--#include <iprt/string.h>
--
--#include <VBox/com/array.h>
--#include <VBox/com/ErrorInfo.h>
--#include <VBox/err.h>
--#include <VBox/log.h>
--#include <VBox/sup.h>
--#include <VBox/version.h>
--#include "AutoCaller.h"
--#include "Global.h"
--#include "ProgressImpl.h"
--#include "SystemPropertiesImpl.h"
--#include "VirtualBoxImpl.h"
--
--
--/*******************************************************************************
--* Defined Constants And Macros *
--*******************************************************************************/
--/** @name VBOX_EXTPACK_HELPER_NAME
-- * The name of the utility application we employ to install and uninstall the
-- * extension packs. This is a set-uid-to-root binary on unixy platforms, which
-- * is why it has to be a separate application.
-- */
--#if defined(RT_OS_WINDOWS) || defined(RT_OS_OS2)
--# define VBOX_EXTPACK_HELPER_NAME "VBoxExtPackHelperApp.exe"
--#else
--# define VBOX_EXTPACK_HELPER_NAME "VBoxExtPackHelperApp"
--#endif
--
--
--/*******************************************************************************
--* Structures and Typedefs *
--*******************************************************************************/
--struct ExtPackBaseData
--{
--public:
-- /** The extension pack descriptor (loaded from the XML, mostly). */
-- VBOXEXTPACKDESC Desc;
-- /** The file system object info of the XML file.
-- * This is for detecting changes and save time in refresh(). */
-- RTFSOBJINFO ObjInfoDesc;
-- /** Whether it's usable or not. */
-- bool fUsable;
-- /** Why it is unusable. */
-- Utf8Str strWhyUnusable;
--};
--
--/**
-- * Private extension pack data.
-- */
--struct ExtPackFile::Data : public ExtPackBaseData
--{
--public:
-- /** The path to the tarball. */
-- Utf8Str strExtPackFile;
-- /** The SHA-256 hash of the file (as string). */
-- Utf8Str strDigest;
-- /** The file handle of the extension pack file. */
-- RTFILE hExtPackFile;
-- /** Our manifest for the tarball. */
-- RTMANIFEST hOurManifest;
-- /** Pointer to the extension pack manager. */
-- ComObjPtr<ExtPackManager> ptrExtPackMgr;
-- /** Pointer to the VirtualBox object so we can create a progress object. */
-- VirtualBox *pVirtualBox;
--
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
--};
--
--/**
-- * Private extension pack data.
-- */
--struct ExtPack::Data : public ExtPackBaseData
--{
--public:
-- /** Where the extension pack is located. */
-- Utf8Str strExtPackPath;
-- /** The file system object info of the extension pack directory.
-- * This is for detecting changes and save time in refresh(). */
-- RTFSOBJINFO ObjInfoExtPack;
-- /** The full path to the main module. */
-- Utf8Str strMainModPath;
-- /** The file system object info of the main module.
-- * This is used to determin whether to bother try reload it. */
-- RTFSOBJINFO ObjInfoMainMod;
-- /** The module handle of the main extension pack module. */
-- RTLDRMOD hMainMod;
--
-- /** The helper callbacks for the extension pack. */
-- VBOXEXTPACKHLP Hlp;
-- /** Pointer back to the extension pack object (for Hlp methods). */
-- ExtPack *pThis;
-- /** The extension pack registration structure. */
-- PCVBOXEXTPACKREG pReg;
-- /** The current context. */
-- VBOXEXTPACKCTX enmContext;
-- /** Set if we've made the pfnVirtualBoxReady or pfnConsoleReady call. */
-- bool fMadeReadyCall;
--
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
--};
--
--/** List of extension packs. */
--typedef std::list< ComObjPtr<ExtPack> > ExtPackList;
--
--/**
-- * Private extension pack manager data.
-- */
--struct ExtPackManager::Data
--{
-- /** The directory where the extension packs are installed. */
-- Utf8Str strBaseDir;
-- /** The directory where the certificates this installation recognizes are
-- * stored. */
-- Utf8Str strCertificatDirPath;
-- /** The list of installed extension packs. */
-- ExtPackList llInstalledExtPacks;
-- /** Pointer to the VirtualBox object, our parent. */
-- VirtualBox *pVirtualBox;
-- /** The current context. */
-- VBOXEXTPACKCTX enmContext;
--#if !defined(RT_OS_WINDOWS) && !defined(RT_OS_DARWIN)
-- /** File handle for the VBoxVMM libary which we slurp because ExtPacks depend on it. */
-- RTLDRMOD hVBoxVMM;
--#endif
--
-- RTMEMEF_NEW_AND_DELETE_OPERATORS();
--};
--
--/**
-- * Extension pack installation job.
-- */
--typedef struct EXTPACKINSTALLJOB
--{
-- /** Smart pointer to the extension pack file. */
-- ComPtr<ExtPackFile> ptrExtPackFile;
-- /** The replace argument. */
-- bool fReplace;
-- /** The display info argument. */
-- Utf8Str strDisplayInfo;
-- /** Smart pointer to the extension manager. */
-- ComPtr<ExtPackManager> ptrExtPackMgr;
-- /** Smart pointer to the progress object for this job. */
-- ComObjPtr<Progress> ptrProgress;
--} EXTPACKINSTALLJOB;
--/** Pointer to an extension pack installation job. */
--typedef EXTPACKINSTALLJOB *PEXTPACKINSTALLJOB;
--
--/**
-- * Extension pack uninstallation job.
-- */
--typedef struct EXTPACKUNINSTALLJOB
--{
-- /** Smart pointer to the extension manager. */
-- ComPtr<ExtPackManager> ptrExtPackMgr;
-- /** The name of the extension pack. */
-- Utf8Str strName;
-- /** The replace argument. */
-- bool fForcedRemoval;
-- /** The display info argument. */
-- Utf8Str strDisplayInfo;
-- /** Smart pointer to the progress object for this job. */
-- ComObjPtr<Progress> ptrProgress;
--} EXTPACKUNINSTALLJOB;
--/** Pointer to an extension pack uninstallation job. */
--typedef EXTPACKUNINSTALLJOB *PEXTPACKUNINSTALLJOB;
--
--
--DEFINE_EMPTY_CTOR_DTOR(ExtPackFile)
--
--/**
-- * Called by ComObjPtr::createObject when creating the object.
-- *
-- * Just initialize the basic object state, do the rest in initWithDir().
-- *
-- * @returns S_OK.
-- */
--HRESULT ExtPackFile::FinalConstruct()
--{
-- m = NULL;
-- return BaseFinalConstruct();
--}
--
--/**
-- * Initializes the extension pack by reading its file.
-- *
-- * @returns COM status code.
-- * @param a_pszFile The path to the extension pack file.
-- * @param a_pszDigest The SHA-256 digest of the file. Or an empty string.
-- * @param a_pExtPackMgr Pointer to the extension pack manager.
-- * @param a_pVirtualBox Pointer to the VirtualBox object.
-- */
--HRESULT ExtPackFile::initWithFile(const char *a_pszFile, const char *a_pszDigest, ExtPackManager *a_pExtPackMgr, VirtualBox *a_pVirtualBox)
--{
-- AutoInitSpan autoInitSpan(this);
-- AssertReturn(autoInitSpan.isOk(), E_FAIL);
--
-- /*
-- * Allocate + initialize our private data.
-- */
-- m = new ExtPackFile::Data;
-- VBoxExtPackInitDesc(&m->Desc);
-- RT_ZERO(m->ObjInfoDesc);
-- m->fUsable = false;
-- m->strWhyUnusable = tr("ExtPack::init failed");
-- m->strExtPackFile = a_pszFile;
-- m->strDigest = a_pszDigest;
-- m->hExtPackFile = NIL_RTFILE;
-- m->hOurManifest = NIL_RTMANIFEST;
-- m->ptrExtPackMgr = a_pExtPackMgr;
-- m->pVirtualBox = a_pVirtualBox;
--
-- RTCString *pstrTarName = VBoxExtPackExtractNameFromTarballPath(a_pszFile);
-- if (pstrTarName)
-- {
-- m->Desc.strName = *pstrTarName;
-- delete pstrTarName;
-- pstrTarName = NULL;
-- }
--
-- autoInitSpan.setSucceeded();
--
-- /*
-- * Try open the extension pack and check that it is a regular file.
-- */
-- int vrc = RTFileOpen(&m->hExtPackFile, a_pszFile,
-- RTFILE_O_READ | RTFILE_O_DENY_WRITE | RTFILE_O_OPEN);
-- if (RT_FAILURE(vrc))
-- {
-- if (vrc == VERR_FILE_NOT_FOUND || vrc == VERR_PATH_NOT_FOUND)
-- return initFailed(tr("'%s' file not found"), a_pszFile);
-- return initFailed(tr("RTFileOpen('%s',,) failed with %Rrc"), a_pszFile, vrc);
-- }
--
-- RTFSOBJINFO ObjInfo;
-- vrc = RTFileQueryInfo(m->hExtPackFile, &ObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_FAILURE(vrc))
-- return initFailed(tr("RTFileQueryInfo failed with %Rrc on '%s'"), vrc, a_pszFile);
-- if (!RTFS_IS_FILE(ObjInfo.Attr.fMode))
-- return initFailed(tr("Not a regular file: %s"), a_pszFile);
--
-- /*
-- * Validate the tarball and extract the XML file.
-- */
-- char szError[8192];
-- RTVFSFILE hXmlFile;
-- vrc = VBoxExtPackValidateTarball(m->hExtPackFile, NULL /*pszExtPackName*/, a_pszFile, a_pszDigest,
-- szError, sizeof(szError), &m->hOurManifest, &hXmlFile, &m->strDigest);
-- if (RT_FAILURE(vrc))
-- return initFailed(tr("%s"), szError);
--
-- /*
-- * Parse the XML.
-- */
-- RTCString strSavedName(m->Desc.strName);
-- RTCString *pStrLoadErr = VBoxExtPackLoadDescFromVfsFile(hXmlFile, &m->Desc, &m->ObjInfoDesc);
-- RTVfsFileRelease(hXmlFile);
-- if (pStrLoadErr != NULL)
-- {
-- m->strWhyUnusable.printf(tr("Failed to the xml file: %s"), pStrLoadErr->c_str());
-- m->Desc.strName = strSavedName;
-- delete pStrLoadErr;
-- return S_OK;
-- }
--
-- /*
-- * Match the tarball name with the name from the XML.
-- */
-- /** @todo drop this restriction after the old install interface is
-- * dropped. */
-- if (!strSavedName.equalsIgnoreCase(m->Desc.strName))
-- return initFailed(tr("Extension pack name mismatch between the downloaded file and the XML inside it (xml='%s' file='%s')"),
-- m->Desc.strName.c_str(), strSavedName.c_str());
--
-- m->fUsable = true;
-- m->strWhyUnusable.setNull();
-- return S_OK;
--}
--
--/**
-- * Protected helper that formats the strWhyUnusable value.
-- *
-- * @returns S_OK
-- * @param a_pszWhyFmt Why it failed, format string.
-- * @param ... The format arguments.
-- */
--HRESULT ExtPackFile::initFailed(const char *a_pszWhyFmt, ...)
--{
-- va_list va;
-- va_start(va, a_pszWhyFmt);
-- m->strWhyUnusable.printfV(a_pszWhyFmt, va);
-- va_end(va);
-- return S_OK;
--}
--
--/**
-- * COM cruft.
-- */
--void ExtPackFile::FinalRelease()
--{
-- uninit();
-- BaseFinalRelease();
--}
--
--/**
-- * Do the actual cleanup.
-- */
--void ExtPackFile::uninit()
--{
-- /* Enclose the state transition Ready->InUninit->NotReady */
-- AutoUninitSpan autoUninitSpan(this);
-- if (!autoUninitSpan.uninitDone() && m != NULL)
-- {
-- VBoxExtPackFreeDesc(&m->Desc);
-- RTFileClose(m->hExtPackFile);
-- m->hExtPackFile = NIL_RTFILE;
-- RTManifestRelease(m->hOurManifest);
-- m->hOurManifest = NIL_RTMANIFEST;
--
-- delete m;
-- m = NULL;
-- }
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Name)(BSTR *a_pbstrName)
--{
-- CheckComArgOutPointerValid(a_pbstrName);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strName);
-- str.cloneTo(a_pbstrName);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Description)(BSTR *a_pbstrDescription)
--{
-- CheckComArgOutPointerValid(a_pbstrDescription);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strDescription);
-- str.cloneTo(a_pbstrDescription);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Version)(BSTR *a_pbstrVersion)
--{
-- CheckComArgOutPointerValid(a_pbstrVersion);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- /* HACK ALERT: This is for easing backporting to 4.1. The edition stuff
-- will be changed into a separate */
-- if (m->Desc.strEdition.isEmpty())
-- {
-- Bstr str(m->Desc.strVersion);
-- str.cloneTo(a_pbstrVersion);
-- }
-- else
-- {
-- RTCString strHack(m->Desc.strVersion);
-- strHack.append('-');
-- strHack.append(m->Desc.strEdition);
--
-- Bstr str(strHack);
-- str.cloneTo(a_pbstrVersion);
-- }
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Revision)(ULONG *a_puRevision)
--{
-- CheckComArgOutPointerValid(a_puRevision);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_puRevision = m->Desc.uRevision;
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(VRDEModule)(BSTR *a_pbstrVrdeModule)
--{
-- CheckComArgOutPointerValid(a_pbstrVrdeModule);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strVrdeModule);
-- str.cloneTo(a_pbstrVrdeModule);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(PlugIns)(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns))
--{
-- /** @todo implement plug-ins. */
--#ifdef VBOX_WITH_XPCOM
-- NOREF(a_paPlugIns);
-- NOREF(a_paPlugInsSize);
--#endif
-- ReturnComNotImplemented();
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(Usable)(BOOL *a_pfUsable)
--{
-- CheckComArgOutPointerValid(a_pfUsable);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_pfUsable = m->fUsable;
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(WhyUnusable)(BSTR *a_pbstrWhy)
--{
-- CheckComArgOutPointerValid(a_pbstrWhy);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- m->strWhyUnusable.cloneTo(a_pbstrWhy);
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(ShowLicense)(BOOL *a_pfShowIt)
--{
-- CheckComArgOutPointerValid(a_pfShowIt);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_pfShowIt = m->Desc.fShowLicense;
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(License)(BSTR *a_pbstrHtmlLicense)
--{
-- Bstr bstrHtml("html");
-- return QueryLicense(Bstr::Empty.raw(), Bstr::Empty.raw(), bstrHtml.raw(), a_pbstrHtmlLicense);
--}
--
--/* Same as ExtPack::QueryLicense, should really explore the subject of base classes here... */
--STDMETHODIMP ExtPackFile::QueryLicense(IN_BSTR a_bstrPreferredLocale, IN_BSTR a_bstrPreferredLanguage, IN_BSTR a_bstrFormat,
-- BSTR *a_pbstrLicense)
--{
-- /*
-- * Validate input.
-- */
-- CheckComArgOutPointerValid(a_pbstrLicense);
-- CheckComArgNotNull(a_bstrPreferredLocale);
-- CheckComArgNotNull(a_bstrPreferredLanguage);
-- CheckComArgNotNull(a_bstrFormat);
--
-- Utf8Str strPreferredLocale(a_bstrPreferredLocale);
-- if (strPreferredLocale.length() != 2 && strPreferredLocale.length() != 0)
-- return setError(E_FAIL, tr("The preferred locale is a two character string or empty."));
--
-- Utf8Str strPreferredLanguage(a_bstrPreferredLanguage);
-- if (strPreferredLanguage.length() != 2 && strPreferredLanguage.length() != 0)
-- return setError(E_FAIL, tr("The preferred lanuage is a two character string or empty."));
--
-- Utf8Str strFormat(a_bstrFormat);
-- if ( !strFormat.equals("html")
-- && !strFormat.equals("rtf")
-- && !strFormat.equals("txt"))
-- return setError(E_FAIL, tr("The license format can only have the values 'html', 'rtf' and 'txt'."));
--
-- /*
-- * Combine the options to form a file name before locking down anything.
-- */
-- char szName[sizeof(VBOX_EXTPACK_LICENSE_NAME_PREFIX "-de_DE.html") + 2];
-- if (strPreferredLocale.isNotEmpty() && strPreferredLanguage.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-%s_%s.%s",
-- strPreferredLocale.c_str(), strPreferredLanguage.c_str(), strFormat.c_str());
-- else if (strPreferredLocale.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-%s.%s", strPreferredLocale.c_str(), strFormat.c_str());
-- else if (strPreferredLanguage.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-_%s.%s", strPreferredLocale.c_str(), strFormat.c_str());
-- else
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX ".%s", strFormat.c_str());
--
-- /*
-- * Lock the extension pack. We need a write lock here as there must not be
-- * concurrent accesses to the tar file handle.
-- */
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- /*
-- * Do not permit this query on a pack that isn't considered usable (could
-- * be marked so because of bad license files).
-- */
-- if (!m->fUsable)
-- hrc = setError(E_FAIL, tr("%s"), m->strWhyUnusable.c_str());
-- else
-- {
-- /*
-- * Look it up in the manifest before scanning the tarball for it
-- */
-- if (RTManifestEntryExists(m->hOurManifest, szName))
-- {
-- RTVFSFSSTREAM hTarFss;
-- char szError[8192];
-- int vrc = VBoxExtPackOpenTarFss(m->hExtPackFile, szError, sizeof(szError), &hTarFss, NULL);
-- if (RT_SUCCESS(vrc))
-- {
-- for (;;)
-- {
-- /* Get the first/next. */
-- char *pszName;
-- RTVFSOBJ hVfsObj;
-- RTVFSOBJTYPE enmType;
-- vrc = RTVfsFsStrmNext(hTarFss, &pszName, &enmType, &hVfsObj);
-- if (RT_FAILURE(vrc))
-- {
-- if (vrc != VERR_EOF)
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTVfsFsStrmNext failed: %Rrc"), vrc);
-- else
-- hrc = setError(E_UNEXPECTED, tr("'%s' was found in the manifest but not in the tarball"), szName);
-- break;
-- }
--
-- /* Is this it? */
-- const char *pszAdjName = pszName[0] == '.' && pszName[1] == '/' ? &pszName[2] : pszName;
-- if ( !strcmp(pszAdjName, szName)
-- && ( enmType == RTVFSOBJTYPE_IO_STREAM
-- || enmType == RTVFSOBJTYPE_FILE))
-- {
-- RTVFSIOSTREAM hVfsIos = RTVfsObjToIoStream(hVfsObj);
-- RTVfsObjRelease(hVfsObj);
-- RTStrFree(pszName);
--
-- /* Load the file into memory. */
-- RTFSOBJINFO ObjInfo;
-- vrc = RTVfsIoStrmQueryInfo(hVfsIos, &ObjInfo, RTFSOBJATTRADD_NOTHING);
-- if (RT_SUCCESS(vrc))
-- {
-- size_t cbFile = (size_t)ObjInfo.cbObject;
-- void *pvFile = RTMemAllocZ(cbFile + 1);
-- if (pvFile)
-- {
-- vrc = RTVfsIoStrmRead(hVfsIos, pvFile, cbFile, true /*fBlocking*/, NULL);
-- if (RT_SUCCESS(vrc))
-- {
-- /* try translate it into a string we can return. */
-- Bstr bstrLicense((const char *)pvFile, cbFile);
-- if (bstrLicense.isNotEmpty())
-- {
-- bstrLicense.detachTo(a_pbstrLicense);
-- hrc = S_OK;
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR,
-- tr("The license file '%s' is empty or contains invalid UTF-8 encoding"),
-- szName);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("Failed to read '%s': %Rrc"), szName, vrc);
-- RTMemFree(pvFile);
-- }
-- else
-- hrc = setError(E_OUTOFMEMORY, tr("Failed to allocate %zu bytes for '%s'"), cbFile, szName);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTVfsIoStrmQueryInfo on '%s': %Rrc"), szName, vrc);
-- RTVfsIoStrmRelease(hVfsIos);
-- break;
-- }
--
-- /* Release current. */
-- RTVfsObjRelease(hVfsObj);
-- RTStrFree(pszName);
-- }
-- RTVfsFsStrmRelease(hTarFss);
-- }
-- else
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("%s"), szError);
-- }
-- else
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("The license file '%s' was not found in '%s'"),
-- szName, m->strExtPackFile.c_str());
-- }
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::COMGETTER(FilePath)(BSTR *a_pbstrPath)
--{
-- CheckComArgOutPointerValid(a_pbstrPath);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- m->strExtPackFile.cloneTo(a_pbstrPath);
-- return hrc;
--}
--
--STDMETHODIMP ExtPackFile::Install(BOOL a_fReplace, IN_BSTR a_bstrDisplayInfo, IProgress **a_ppProgress)
--{
-- if (a_ppProgress)
-- *a_ppProgress = NULL;
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- if (m->fUsable)
-- {
-- PEXTPACKINSTALLJOB pJob = NULL;
-- try
-- {
-- pJob = new EXTPACKINSTALLJOB;
-- pJob->ptrExtPackFile = this;
-- pJob->fReplace = a_fReplace != FALSE;
-- pJob->strDisplayInfo = a_bstrDisplayInfo;
-- pJob->ptrExtPackMgr = m->ptrExtPackMgr;
-- hrc = pJob->ptrProgress.createObject();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr bstrDescription = tr("Installing extension pack");
-- hrc = pJob->ptrProgress->init(
--#ifndef VBOX_COM_INPROC
-- m->pVirtualBox,
--#endif
-- static_cast<IExtPackFile *>(this),
-- bstrDescription.raw(),
-- FALSE /*aCancelable*/,
-- NULL /*aId*/);
-- }
-- if (SUCCEEDED(hrc))
-- {
-- ComPtr<Progress> ptrProgress = pJob->ptrProgress;
-- int vrc = RTThreadCreate(NULL /*phThread*/, ExtPackManager::doInstallThreadProc, pJob, 0,
-- RTTHREADTYPE_DEFAULT, 0 /*fFlags*/, "ExtPackInst");
-- if (RT_SUCCESS(vrc))
-- {
-- pJob = NULL; /* the thread deletes it */
-- ptrProgress.queryInterfaceTo(a_ppProgress);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTThreadCreate failed with %Rrc"), vrc);
-- }
-- }
-- catch (std::bad_alloc)
-- {
-- hrc = E_OUTOFMEMORY;
-- }
-- if (pJob)
-- delete pJob;
-- }
-- else
-- hrc = setError(E_FAIL, "%s", m->strWhyUnusable.c_str());
-- }
-- return hrc;
--}
--
--
--
--
--
--DEFINE_EMPTY_CTOR_DTOR(ExtPack)
--
--/**
-- * Called by ComObjPtr::createObject when creating the object.
-- *
-- * Just initialize the basic object state, do the rest in initWithDir().
-- *
-- * @returns S_OK.
-- */
--HRESULT ExtPack::FinalConstruct()
--{
-- m = NULL;
-- return S_OK;
--}
--
--/**
-- * Initializes the extension pack by reading its file.
-- *
-- * @returns COM status code.
-- * @param a_enmContext The context we're in.
-- * @param a_pszName The name of the extension pack. This is also the
-- * name of the subdirector under @a a_pszParentDir
-- * where the extension pack is installed.
-- * @param a_pszDir The extension pack directory name.
-- */
--HRESULT ExtPack::initWithDir(VBOXEXTPACKCTX a_enmContext, const char *a_pszName, const char *a_pszDir)
--{
-- AutoInitSpan autoInitSpan(this);
-- AssertReturn(autoInitSpan.isOk(), E_FAIL);
--
-- static const VBOXEXTPACKHLP s_HlpTmpl =
-- {
-- /* u32Version = */ VBOXEXTPACKHLP_VERSION,
-- /* uVBoxFullVersion = */ VBOX_FULL_VERSION,
-- /* uVBoxVersionRevision = */ 0,
-- /* u32Padding = */ 0,
-- /* pszVBoxVersion = */ "",
-- /* pfnFindModule = */ ExtPack::hlpFindModule,
-- /* pfnGetFilePath = */ ExtPack::hlpGetFilePath,
-- /* pfnGetContext = */ ExtPack::hlpGetContext,
-- /* pfnReserved1 = */ ExtPack::hlpReservedN,
-- /* pfnReserved2 = */ ExtPack::hlpReservedN,
-- /* pfnReserved3 = */ ExtPack::hlpReservedN,
-- /* pfnReserved4 = */ ExtPack::hlpReservedN,
-- /* pfnReserved5 = */ ExtPack::hlpReservedN,
-- /* pfnReserved6 = */ ExtPack::hlpReservedN,
-- /* pfnReserved7 = */ ExtPack::hlpReservedN,
-- /* pfnReserved8 = */ ExtPack::hlpReservedN,
-- /* pfnReserved9 = */ ExtPack::hlpReservedN,
-- /* u32EndMarker = */ VBOXEXTPACKHLP_VERSION
-- };
--
-- /*
-- * Allocate + initialize our private data.
-- */
-- m = new Data;
-- VBoxExtPackInitDesc(&m->Desc);
-- m->Desc.strName = a_pszName;
-- RT_ZERO(m->ObjInfoDesc);
-- m->fUsable = false;
-- m->strWhyUnusable = tr("ExtPack::init failed");
-- m->strExtPackPath = a_pszDir;
-- RT_ZERO(m->ObjInfoExtPack);
-- m->strMainModPath.setNull();
-- RT_ZERO(m->ObjInfoMainMod);
-- m->hMainMod = NIL_RTLDRMOD;
-- m->Hlp = s_HlpTmpl;
-- m->Hlp.pszVBoxVersion = RTBldCfgVersion();
-- m->Hlp.uVBoxInternalRevision = RTBldCfgRevision();
-- m->pThis = this;
-- m->pReg = NULL;
-- m->enmContext = a_enmContext;
-- m->fMadeReadyCall = false;
--
-- /*
-- * Probe the extension pack (this code is shared with refresh()).
-- */
-- probeAndLoad();
--
-- autoInitSpan.setSucceeded();
-- return S_OK;
--}
--
--/**
-- * COM cruft.
-- */
--void ExtPack::FinalRelease()
--{
-- uninit();
--}
--
--/**
-- * Do the actual cleanup.
-- */
--void ExtPack::uninit()
--{
-- /* Enclose the state transition Ready->InUninit->NotReady */
-- AutoUninitSpan autoUninitSpan(this);
-- if (!autoUninitSpan.uninitDone() && m != NULL)
-- {
-- if (m->hMainMod != NIL_RTLDRMOD)
-- {
-- AssertPtr(m->pReg);
-- if (m->pReg->pfnUnload != NULL)
-- m->pReg->pfnUnload(m->pReg);
--
-- RTLdrClose(m->hMainMod);
-- m->hMainMod = NIL_RTLDRMOD;
-- m->pReg = NULL;
-- }
--
-- VBoxExtPackFreeDesc(&m->Desc);
--
-- delete m;
-- m = NULL;
-- }
--}
--
--
--/**
-- * Calls the installed hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pVirtualBox The VirtualBox interface.
-- * @param a_pLock The write lock held by the caller.
-- * @param pErrInfo Where to return error information.
-- */
--bool ExtPack::callInstalledHook(IVirtualBox *a_pVirtualBox, AutoWriteLock *a_pLock, PRTERRINFO pErrInfo)
--{
-- if ( m != NULL
-- && m->hMainMod != NIL_RTLDRMOD)
-- {
-- if (m->pReg->pfnInstalled)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- pErrInfo->rc = m->pReg->pfnInstalled(m->pReg, a_pVirtualBox, pErrInfo);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- pErrInfo->rc = VINF_SUCCESS;
-- return false;
--}
--
--/**
-- * Calls the uninstall hook and closes the module.
-- *
-- * @returns S_OK or COM error status with error information.
-- * @param a_pVirtualBox The VirtualBox interface.
-- * @param a_fForcedRemoval When set, we'll ignore complaints from the
-- * uninstall hook.
-- * @remarks The caller holds the manager's write lock, not released.
-- */
--HRESULT ExtPack::callUninstallHookAndClose(IVirtualBox *a_pVirtualBox, bool a_fForcedRemoval)
--{
-- HRESULT hrc = S_OK;
--
-- if ( m != NULL
-- && m->hMainMod != NIL_RTLDRMOD)
-- {
-- if (m->pReg->pfnUninstall && !a_fForcedRemoval)
-- {
-- int vrc = m->pReg->pfnUninstall(m->pReg, a_pVirtualBox);
-- if (RT_FAILURE(vrc))
-- {
-- LogRel(("ExtPack pfnUninstall returned %Rrc for %s\n", vrc, m->Desc.strName.c_str()));
-- if (!a_fForcedRemoval)
-- hrc = setError(E_FAIL, tr("pfnUninstall returned %Rrc"), vrc);
-- }
-- }
-- if (SUCCEEDED(hrc))
-- {
-- RTLdrClose(m->hMainMod);
-- m->hMainMod = NIL_RTLDRMOD;
-- m->pReg = NULL;
-- }
-- }
--
-- return hrc;
--}
--
--/**
-- * Calls the pfnVirtualBoxReady hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pVirtualBox The VirtualBox interface.
-- * @param a_pLock The write lock held by the caller.
-- */
--bool ExtPack::callVirtualBoxReadyHook(IVirtualBox *a_pVirtualBox, AutoWriteLock *a_pLock)
--{
-- if ( m != NULL
-- && m->fUsable
-- && !m->fMadeReadyCall)
-- {
-- m->fMadeReadyCall = true;
-- if (m->pReg->pfnVirtualBoxReady)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- m->pReg->pfnVirtualBoxReady(m->pReg, a_pVirtualBox);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnConsoleReady hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pConsole The Console interface.
-- * @param a_pLock The write lock held by the caller.
-- */
--bool ExtPack::callConsoleReadyHook(IConsole *a_pConsole, AutoWriteLock *a_pLock)
--{
-- if ( m != NULL
-- && m->fUsable
-- && !m->fMadeReadyCall)
-- {
-- m->fMadeReadyCall = true;
-- if (m->pReg->pfnConsoleReady)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- m->pReg->pfnConsoleReady(m->pReg, a_pConsole);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnVMCreate hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pVirtualBox The VirtualBox interface.
-- * @param a_pMachine The machine interface of the new VM.
-- * @param a_pLock The write lock held by the caller.
-- */
--bool ExtPack::callVmCreatedHook(IVirtualBox *a_pVirtualBox, IMachine *a_pMachine, AutoWriteLock *a_pLock)
--{
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->pReg->pfnVMCreated)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- m->pReg->pfnVMCreated(m->pReg, a_pVirtualBox, a_pMachine);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnVMConfigureVMM hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pConsole The console interface.
-- * @param a_pVM The VM handle.
-- * @param a_pLock The write lock held by the caller.
-- * @param a_pvrc Where to return the status code of the
-- * callback. This is always set. LogRel is
-- * called on if a failure status is returned.
-- */
--bool ExtPack::callVmConfigureVmmHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock, int *a_pvrc)
--{
-- *a_pvrc = VINF_SUCCESS;
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->pReg->pfnVMConfigureVMM)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- int vrc = m->pReg->pfnVMConfigureVMM(m->pReg, a_pConsole, a_pVM);
-- *a_pvrc = vrc;
-- a_pLock->acquire();
-- if (RT_FAILURE(vrc))
-- LogRel(("ExtPack pfnVMConfigureVMM returned %Rrc for %s\n", vrc, m->Desc.strName.c_str()));
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnVMPowerOn hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pConsole The console interface.
-- * @param a_pVM The VM handle.
-- * @param a_pLock The write lock held by the caller.
-- * @param a_pvrc Where to return the status code of the
-- * callback. This is always set. LogRel is
-- * called on if a failure status is returned.
-- */
--bool ExtPack::callVmPowerOnHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock, int *a_pvrc)
--{
-- *a_pvrc = VINF_SUCCESS;
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->pReg->pfnVMPowerOn)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- int vrc = m->pReg->pfnVMPowerOn(m->pReg, a_pConsole, a_pVM);
-- *a_pvrc = vrc;
-- a_pLock->acquire();
-- if (RT_FAILURE(vrc))
-- LogRel(("ExtPack pfnVMPowerOn returned %Rrc for %s\n", vrc, m->Desc.strName.c_str()));
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Calls the pfnVMPowerOff hook.
-- *
-- * @returns true if we left the lock, false if we didn't.
-- * @param a_pConsole The console interface.
-- * @param a_pVM The VM handle.
-- * @param a_pLock The write lock held by the caller.
-- */
--bool ExtPack::callVmPowerOffHook(IConsole *a_pConsole, PVM a_pVM, AutoWriteLock *a_pLock)
--{
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->pReg->pfnVMPowerOff)
-- {
-- ComPtr<ExtPack> ptrSelfRef = this;
-- a_pLock->release();
-- m->pReg->pfnVMPowerOff(m->pReg, a_pConsole, a_pVM);
-- a_pLock->acquire();
-- return true;
-- }
-- }
-- return false;
--}
--
--/**
-- * Check if the extension pack is usable and has an VRDE module.
-- *
-- * @returns S_OK or COM error status with error information.
-- *
-- * @remarks Caller holds the extension manager lock for reading, no locking
-- * necessary.
-- */
--HRESULT ExtPack::checkVrde(void)
--{
-- HRESULT hrc;
-- if ( m != NULL
-- && m->fUsable)
-- {
-- if (m->Desc.strVrdeModule.isNotEmpty())
-- hrc = S_OK;
-- else
-- hrc = setError(E_FAIL, tr("The extension pack '%s' does not include a VRDE module"), m->Desc.strName.c_str());
-- }
-- else
-- hrc = setError(E_FAIL, tr("%s"), m->strWhyUnusable.c_str());
-- return hrc;
--}
--
--/**
-- * Same as checkVrde(), except that it also resolves the path to the module.
-- *
-- * @returns S_OK or COM error status with error information.
-- * @param a_pstrVrdeLibrary Where to return the path on success.
-- *
-- * @remarks Caller holds the extension manager lock for reading, no locking
-- * necessary.
-- */
--HRESULT ExtPack::getVrdpLibraryName(Utf8Str *a_pstrVrdeLibrary)
--{
-- HRESULT hrc = checkVrde();
-- if (SUCCEEDED(hrc))
-- {
-- if (findModule(m->Desc.strVrdeModule.c_str(), NULL, VBOXEXTPACKMODKIND_R3,
-- a_pstrVrdeLibrary, NULL /*a_pfNative*/, NULL /*a_pObjInfo*/))
-- hrc = S_OK;
-- else
-- hrc = setError(E_FAIL, tr("Failed to locate the VRDE module '%s' in extension pack '%s'"),
-- m->Desc.strVrdeModule.c_str(), m->Desc.strName.c_str());
-- }
-- return hrc;
--}
--
--/**
-- * Check if this extension pack wishes to be the default VRDE provider.
-- *
-- * @returns @c true if it wants to and it is in a usable state, otherwise
-- * @c false.
-- *
-- * @remarks Caller holds the extension manager lock for reading, no locking
-- * necessary.
-- */
--bool ExtPack::wantsToBeDefaultVrde(void) const
--{
-- return m->fUsable
-- && m->Desc.strVrdeModule.isNotEmpty();
--}
--
--/**
-- * Refreshes the extension pack state.
-- *
-- * This is called by the manager so that the on disk changes are picked up.
-- *
-- * @returns S_OK or COM error status with error information.
-- *
-- * @param a_pfCanDelete Optional can-delete-this-object output indicator.
-- *
-- * @remarks Caller holds the extension manager lock for writing.
-- * @remarks Only called in VBoxSVC.
-- */
--HRESULT ExtPack::refresh(bool *a_pfCanDelete)
--{
-- if (a_pfCanDelete)
-- *a_pfCanDelete = false;
--
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS); /* for the COMGETTERs */
--
-- /*
-- * Has the module been deleted?
-- */
-- RTFSOBJINFO ObjInfoExtPack;
-- int vrc = RTPathQueryInfoEx(m->strExtPackPath.c_str(), &ObjInfoExtPack, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if ( RT_FAILURE(vrc)
-- || !RTFS_IS_DIRECTORY(ObjInfoExtPack.Attr.fMode))
-- {
-- if (a_pfCanDelete)
-- *a_pfCanDelete = true;
-- return S_OK;
-- }
--
-- /*
-- * We've got a directory, so try query file system object info for the
-- * files we are interested in as well.
-- */
-- RTFSOBJINFO ObjInfoDesc;
-- char szDescFilePath[RTPATH_MAX];
-- vrc = RTPathJoin(szDescFilePath, sizeof(szDescFilePath), m->strExtPackPath.c_str(), VBOX_EXTPACK_DESCRIPTION_NAME);
-- if (RT_SUCCESS(vrc))
-- vrc = RTPathQueryInfoEx(szDescFilePath, &ObjInfoDesc, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- RT_ZERO(ObjInfoDesc);
--
-- RTFSOBJINFO ObjInfoMainMod;
-- if (m->strMainModPath.isNotEmpty())
-- vrc = RTPathQueryInfoEx(m->strMainModPath.c_str(), &ObjInfoMainMod, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if (m->strMainModPath.isEmpty() || RT_FAILURE(vrc))
-- RT_ZERO(ObjInfoMainMod);
--
-- /*
-- * If we have a usable module already, just verify that things haven't
-- * changed since we loaded it.
-- */
-- if (m->fUsable)
-- {
-- if (m->hMainMod == NIL_RTLDRMOD)
-- probeAndLoad();
-- else if ( !objinfoIsEqual(&ObjInfoDesc, &m->ObjInfoDesc)
-- || !objinfoIsEqual(&ObjInfoMainMod, &m->ObjInfoMainMod)
-- || !objinfoIsEqual(&ObjInfoExtPack, &m->ObjInfoExtPack) )
-- {
-- /** @todo not important, so it can wait. */
-- }
-- }
-- /*
-- * Ok, it is currently not usable. If anything has changed since last time
-- * reprobe the extension pack.
-- */
-- else if ( !objinfoIsEqual(&ObjInfoDesc, &m->ObjInfoDesc)
-- || !objinfoIsEqual(&ObjInfoMainMod, &m->ObjInfoMainMod)
-- || !objinfoIsEqual(&ObjInfoExtPack, &m->ObjInfoExtPack) )
-- probeAndLoad();
--
-- return S_OK;
--}
--
--/**
-- * Probes the extension pack, loading the main dll and calling its registration
-- * entry point.
-- *
-- * This updates the state accordingly, the strWhyUnusable and fUnusable members
-- * being the most important ones.
-- */
--void ExtPack::probeAndLoad(void)
--{
-- m->fUsable = false;
-- m->fMadeReadyCall = false;
--
-- /*
-- * Query the file system info for the extension pack directory. This and
-- * all other file system info we save is for the benefit of refresh().
-- */
-- int vrc = RTPathQueryInfoEx(m->strExtPackPath.c_str(), &m->ObjInfoExtPack, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- {
-- m->strWhyUnusable.printf(tr("RTPathQueryInfoEx on '%s' failed: %Rrc"), m->strExtPackPath.c_str(), vrc);
-- return;
-- }
-- if (!RTFS_IS_DIRECTORY(m->ObjInfoExtPack.Attr.fMode))
-- {
-- if (RTFS_IS_SYMLINK(m->ObjInfoExtPack.Attr.fMode))
-- m->strWhyUnusable.printf(tr("'%s' is a symbolic link, this is not allowed"), m->strExtPackPath.c_str(), vrc);
-- else if (RTFS_IS_FILE(m->ObjInfoExtPack.Attr.fMode))
-- m->strWhyUnusable.printf(tr("'%s' is a symbolic file, not a directory"), m->strExtPackPath.c_str(), vrc);
-- else
-- m->strWhyUnusable.printf(tr("'%s' is not a directory (fMode=%#x)"), m->strExtPackPath.c_str(), m->ObjInfoExtPack.Attr.fMode);
-- return;
-- }
--
-- RTERRINFOSTATIC ErrInfo;
-- RTErrInfoInitStatic(&ErrInfo);
-- vrc = SUPR3HardenedVerifyDir(m->strExtPackPath.c_str(), true /*fRecursive*/, true /*fCheckFiles*/, &ErrInfo.Core);
-- if (RT_FAILURE(vrc))
-- {
-- m->strWhyUnusable.printf(tr("%s (rc=%Rrc)"), ErrInfo.Core.pszMsg, vrc);
-- return;
-- }
--
-- /*
-- * Read the description file.
-- */
-- RTCString strSavedName(m->Desc.strName);
-- RTCString *pStrLoadErr = VBoxExtPackLoadDesc(m->strExtPackPath.c_str(), &m->Desc, &m->ObjInfoDesc);
-- if (pStrLoadErr != NULL)
-- {
-- m->strWhyUnusable.printf(tr("Failed to load '%s/%s': %s"),
-- m->strExtPackPath.c_str(), VBOX_EXTPACK_DESCRIPTION_NAME, pStrLoadErr->c_str());
-- m->Desc.strName = strSavedName;
-- delete pStrLoadErr;
-- return;
-- }
--
-- /*
-- * Make sure the XML name and directory matches.
-- */
-- if (!m->Desc.strName.equalsIgnoreCase(strSavedName))
-- {
-- m->strWhyUnusable.printf(tr("The description name ('%s') and directory name ('%s') does not match"),
-- m->Desc.strName.c_str(), strSavedName.c_str());
-- m->Desc.strName = strSavedName;
-- return;
-- }
--
-- /*
-- * Load the main DLL and call the predefined entry point.
-- */
-- bool fIsNative;
-- if (!findModule(m->Desc.strMainModule.c_str(), NULL /* default extension */, VBOXEXTPACKMODKIND_R3,
-- &m->strMainModPath, &fIsNative, &m->ObjInfoMainMod))
-- {
-- m->strWhyUnusable.printf(tr("Failed to locate the main module ('%s')"), m->Desc.strMainModule.c_str());
-- return;
-- }
--
-- vrc = SUPR3HardenedVerifyPlugIn(m->strMainModPath.c_str(), &ErrInfo.Core);
-- if (RT_FAILURE(vrc))
-- {
-- m->strWhyUnusable.printf(tr("%s"), ErrInfo.Core.pszMsg);
-- return;
-- }
--
-- if (fIsNative)
-- {
-- vrc = SUPR3HardenedLdrLoadPlugIn(m->strMainModPath.c_str(), &m->hMainMod, &ErrInfo.Core);
-- if (RT_FAILURE(vrc))
-- {
-- m->hMainMod = NIL_RTLDRMOD;
-- m->strWhyUnusable.printf(tr("Failed to load the main module ('%s'): %Rrc - %s"),
-- m->strMainModPath.c_str(), vrc, ErrInfo.Core.pszMsg);
-- return;
-- }
-- }
-- else
-- {
-- m->strWhyUnusable.printf(tr("Only native main modules are currently supported"));
-- return;
-- }
--
-- /*
-- * Resolve the predefined entry point.
-- */
-- PFNVBOXEXTPACKREGISTER pfnRegistration;
-- vrc = RTLdrGetSymbol(m->hMainMod, VBOX_EXTPACK_MAIN_MOD_ENTRY_POINT, (void **)&pfnRegistration);
-- if (RT_SUCCESS(vrc))
-- {
-- RTErrInfoClear(&ErrInfo.Core);
-- vrc = pfnRegistration(&m->Hlp, &m->pReg, &ErrInfo.Core);
-- if ( RT_SUCCESS(vrc)
-- && !RTErrInfoIsSet(&ErrInfo.Core)
-- && VALID_PTR(m->pReg))
-- {
-- if ( VBOXEXTPACK_IS_MAJOR_VER_EQUAL(m->pReg->u32Version, VBOXEXTPACKREG_VERSION)
-- && m->pReg->u32EndMarker == m->pReg->u32Version)
-- {
-- if ( (!m->pReg->pfnInstalled || RT_VALID_PTR(m->pReg->pfnInstalled))
-- && (!m->pReg->pfnUninstall || RT_VALID_PTR(m->pReg->pfnUninstall))
-- && (!m->pReg->pfnVirtualBoxReady || RT_VALID_PTR(m->pReg->pfnVirtualBoxReady))
-- && (!m->pReg->pfnConsoleReady || RT_VALID_PTR(m->pReg->pfnConsoleReady))
-- && (!m->pReg->pfnUnload || RT_VALID_PTR(m->pReg->pfnUnload))
-- && (!m->pReg->pfnVMCreated || RT_VALID_PTR(m->pReg->pfnVMCreated))
-- && (!m->pReg->pfnVMConfigureVMM || RT_VALID_PTR(m->pReg->pfnVMConfigureVMM))
-- && (!m->pReg->pfnVMPowerOn || RT_VALID_PTR(m->pReg->pfnVMPowerOn))
-- && (!m->pReg->pfnVMPowerOff || RT_VALID_PTR(m->pReg->pfnVMPowerOff))
-- && (!m->pReg->pfnQueryObject || RT_VALID_PTR(m->pReg->pfnQueryObject))
-- )
-- {
-- /*
-- * We're good!
-- */
-- m->fUsable = true;
-- m->strWhyUnusable.setNull();
-- return;
-- }
--
-- m->strWhyUnusable = tr("The registration structure contains on or more invalid function pointers");
-- }
-- else
-- m->strWhyUnusable.printf(tr("Unsupported registration structure version %u.%u"),
-- RT_HIWORD(m->pReg->u32Version), RT_LOWORD(m->pReg->u32Version));
-- }
-- else
-- m->strWhyUnusable.printf(tr("%s returned %Rrc, pReg=%p ErrInfo='%s'"),
-- VBOX_EXTPACK_MAIN_MOD_ENTRY_POINT, vrc, m->pReg, ErrInfo.Core.pszMsg);
-- m->pReg = NULL;
-- }
-- else
-- m->strWhyUnusable.printf(tr("Failed to resolve exported symbol '%s' in the main module: %Rrc"),
-- VBOX_EXTPACK_MAIN_MOD_ENTRY_POINT, vrc);
--
-- RTLdrClose(m->hMainMod);
-- m->hMainMod = NIL_RTLDRMOD;
--}
--
--/**
-- * Finds a module.
-- *
-- * @returns true if found, false if not.
-- * @param a_pszName The module base name (no extension).
-- * @param a_pszExt The extension. If NULL we use default
-- * extensions.
-- * @param a_enmKind The kind of module to locate.
-- * @param a_pStrFound Where to return the path to the module we've
-- * found.
-- * @param a_pfNative Where to return whether this is a native module
-- * or an agnostic one. Optional.
-- * @param a_pObjInfo Where to return the file system object info for
-- * the module. Optional.
-- */
--bool ExtPack::findModule(const char *a_pszName, const char *a_pszExt, VBOXEXTPACKMODKIND a_enmKind,
-- Utf8Str *a_pStrFound, bool *a_pfNative, PRTFSOBJINFO a_pObjInfo) const
--{
-- /*
-- * Try the native path first.
-- */
-- char szPath[RTPATH_MAX];
-- int vrc = RTPathJoin(szPath, sizeof(szPath), m->strExtPackPath.c_str(), RTBldCfgTargetDotArch());
-- AssertLogRelRCReturn(vrc, false);
-- vrc = RTPathAppend(szPath, sizeof(szPath), a_pszName);
-- AssertLogRelRCReturn(vrc, false);
-- if (!a_pszExt)
-- {
-- const char *pszDefExt;
-- switch (a_enmKind)
-- {
-- case VBOXEXTPACKMODKIND_RC: pszDefExt = ".rc"; break;
-- case VBOXEXTPACKMODKIND_R0: pszDefExt = ".r0"; break;
-- case VBOXEXTPACKMODKIND_R3: pszDefExt = RTLdrGetSuff(); break;
-- default:
-- AssertFailedReturn(false);
-- }
-- vrc = RTStrCat(szPath, sizeof(szPath), pszDefExt);
-- AssertLogRelRCReturn(vrc, false);
-- }
--
-- RTFSOBJINFO ObjInfo;
-- if (!a_pObjInfo)
-- a_pObjInfo = &ObjInfo;
-- vrc = RTPathQueryInfo(szPath, a_pObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_SUCCESS(vrc) && RTFS_IS_FILE(a_pObjInfo->Attr.fMode))
-- {
-- if (a_pfNative)
-- *a_pfNative = true;
-- *a_pStrFound = szPath;
-- return true;
-- }
--
-- /*
-- * Try the platform agnostic modules.
-- */
-- /* gcc.x86/module.rel */
-- char szSubDir[32];
-- RTStrPrintf(szSubDir, sizeof(szSubDir), "%s.%s", RTBldCfgCompiler(), RTBldCfgTargetArch());
-- vrc = RTPathJoin(szPath, sizeof(szPath), m->strExtPackPath.c_str(), szSubDir);
-- AssertLogRelRCReturn(vrc, false);
-- vrc = RTPathAppend(szPath, sizeof(szPath), a_pszName);
-- AssertLogRelRCReturn(vrc, false);
-- if (!a_pszExt)
-- {
-- vrc = RTStrCat(szPath, sizeof(szPath), ".rel");
-- AssertLogRelRCReturn(vrc, false);
-- }
-- vrc = RTPathQueryInfo(szPath, a_pObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_SUCCESS(vrc) && RTFS_IS_FILE(a_pObjInfo->Attr.fMode))
-- {
-- if (a_pfNative)
-- *a_pfNative = false;
-- *a_pStrFound = szPath;
-- return true;
-- }
--
-- /* x86/module.rel */
-- vrc = RTPathJoin(szPath, sizeof(szPath), m->strExtPackPath.c_str(), RTBldCfgTargetArch());
-- AssertLogRelRCReturn(vrc, false);
-- vrc = RTPathAppend(szPath, sizeof(szPath), a_pszName);
-- AssertLogRelRCReturn(vrc, false);
-- if (!a_pszExt)
-- {
-- vrc = RTStrCat(szPath, sizeof(szPath), ".rel");
-- AssertLogRelRCReturn(vrc, false);
-- }
-- vrc = RTPathQueryInfo(szPath, a_pObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_SUCCESS(vrc) && RTFS_IS_FILE(a_pObjInfo->Attr.fMode))
-- {
-- if (a_pfNative)
-- *a_pfNative = false;
-- *a_pStrFound = szPath;
-- return true;
-- }
--
-- return false;
--}
--
--/**
-- * Compares two file system object info structures.
-- *
-- * @returns true if equal, false if not.
-- * @param pObjInfo1 The first.
-- * @param pObjInfo2 The second.
-- * @todo IPRT should do this, really.
-- */
--/* static */ bool ExtPack::objinfoIsEqual(PCRTFSOBJINFO pObjInfo1, PCRTFSOBJINFO pObjInfo2)
--{
-- if (!RTTimeSpecIsEqual(&pObjInfo1->ModificationTime, &pObjInfo2->ModificationTime))
-- return false;
-- if (!RTTimeSpecIsEqual(&pObjInfo1->ChangeTime, &pObjInfo2->ChangeTime))
-- return false;
-- if (!RTTimeSpecIsEqual(&pObjInfo1->BirthTime, &pObjInfo2->BirthTime))
-- return false;
-- if (pObjInfo1->cbObject != pObjInfo2->cbObject)
-- return false;
-- if (pObjInfo1->Attr.fMode != pObjInfo2->Attr.fMode)
-- return false;
-- if (pObjInfo1->Attr.enmAdditional == pObjInfo2->Attr.enmAdditional)
-- {
-- switch (pObjInfo1->Attr.enmAdditional)
-- {
-- case RTFSOBJATTRADD_UNIX:
-- if (pObjInfo1->Attr.u.Unix.uid != pObjInfo2->Attr.u.Unix.uid)
-- return false;
-- if (pObjInfo1->Attr.u.Unix.gid != pObjInfo2->Attr.u.Unix.gid)
-- return false;
-- if (pObjInfo1->Attr.u.Unix.INodeIdDevice != pObjInfo2->Attr.u.Unix.INodeIdDevice)
-- return false;
-- if (pObjInfo1->Attr.u.Unix.INodeId != pObjInfo2->Attr.u.Unix.INodeId)
-- return false;
-- if (pObjInfo1->Attr.u.Unix.GenerationId != pObjInfo2->Attr.u.Unix.GenerationId)
-- return false;
-- break;
-- default:
-- break;
-- }
-- }
-- return true;
--}
--
--
--/**
-- * @interface_method_impl{VBOXEXTPACKHLP,pfnFindModule}
-- */
--/*static*/ DECLCALLBACK(int)
--ExtPack::hlpFindModule(PCVBOXEXTPACKHLP pHlp, const char *pszName, const char *pszExt, VBOXEXTPACKMODKIND enmKind,
-- char *pszFound, size_t cbFound, bool *pfNative)
--{
-- /*
-- * Validate the input and get our bearings.
-- */
-- AssertPtrReturn(pszName, VERR_INVALID_POINTER);
-- AssertPtrNullReturn(pszExt, VERR_INVALID_POINTER);
-- AssertPtrReturn(pszFound, VERR_INVALID_POINTER);
-- AssertPtrNullReturn(pfNative, VERR_INVALID_POINTER);
-- AssertReturn(enmKind > VBOXEXTPACKMODKIND_INVALID && enmKind < VBOXEXTPACKMODKIND_END, VERR_INVALID_PARAMETER);
--
-- AssertPtrReturn(pHlp, VERR_INVALID_POINTER);
-- AssertReturn(pHlp->u32Version == VBOXEXTPACKHLP_VERSION, VERR_INVALID_POINTER);
-- ExtPack::Data *m = RT_FROM_CPP_MEMBER(pHlp, Data, Hlp);
-- AssertPtrReturn(m, VERR_INVALID_POINTER);
-- ExtPack *pThis = m->pThis;
-- AssertPtrReturn(pThis, VERR_INVALID_POINTER);
--
-- /*
-- * This is just a wrapper around findModule.
-- */
-- Utf8Str strFound;
-- if (pThis->findModule(pszName, pszExt, enmKind, &strFound, pfNative, NULL))
-- return RTStrCopy(pszFound, cbFound, strFound.c_str());
-- return VERR_FILE_NOT_FOUND;
--}
--
--/*static*/ DECLCALLBACK(int)
--ExtPack::hlpGetFilePath(PCVBOXEXTPACKHLP pHlp, const char *pszFilename, char *pszPath, size_t cbPath)
--{
-- /*
-- * Validate the input and get our bearings.
-- */
-- AssertPtrReturn(pszFilename, VERR_INVALID_POINTER);
-- AssertPtrReturn(pszPath, VERR_INVALID_POINTER);
-- AssertReturn(cbPath > 0, VERR_BUFFER_OVERFLOW);
--
-- AssertPtrReturn(pHlp, VERR_INVALID_POINTER);
-- AssertReturn(pHlp->u32Version == VBOXEXTPACKHLP_VERSION, VERR_INVALID_POINTER);
-- ExtPack::Data *m = RT_FROM_CPP_MEMBER(pHlp, Data, Hlp);
-- AssertPtrReturn(m, VERR_INVALID_POINTER);
-- ExtPack *pThis = m->pThis;
-- AssertPtrReturn(pThis, VERR_INVALID_POINTER);
--
-- /*
-- * This is a simple RTPathJoin, no checking if things exists or anything.
-- */
-- int vrc = RTPathJoin(pszPath, cbPath, pThis->m->strExtPackPath.c_str(), pszFilename);
-- if (RT_FAILURE(vrc))
-- RT_BZERO(pszPath, cbPath);
-- return vrc;
--}
--
--/*static*/ DECLCALLBACK(VBOXEXTPACKCTX)
--ExtPack::hlpGetContext(PCVBOXEXTPACKHLP pHlp)
--{
-- /*
-- * Validate the input and get our bearings.
-- */
-- AssertPtrReturn(pHlp, VBOXEXTPACKCTX_INVALID);
-- AssertReturn(pHlp->u32Version == VBOXEXTPACKHLP_VERSION, VBOXEXTPACKCTX_INVALID);
-- ExtPack::Data *m = RT_FROM_CPP_MEMBER(pHlp, Data, Hlp);
-- AssertPtrReturn(m, VBOXEXTPACKCTX_INVALID);
-- ExtPack *pThis = m->pThis;
-- AssertPtrReturn(pThis, VBOXEXTPACKCTX_INVALID);
--
-- return pThis->m->enmContext;
--}
--
--/*static*/ DECLCALLBACK(int)
--ExtPack::hlpReservedN(PCVBOXEXTPACKHLP pHlp)
--{
-- /*
-- * Validate the input and get our bearings.
-- */
-- AssertPtrReturn(pHlp, VERR_INVALID_POINTER);
-- AssertReturn(pHlp->u32Version == VBOXEXTPACKHLP_VERSION, VERR_INVALID_POINTER);
-- ExtPack::Data *m = RT_FROM_CPP_MEMBER(pHlp, Data, Hlp);
-- AssertPtrReturn(m, VERR_INVALID_POINTER);
-- ExtPack *pThis = m->pThis;
-- AssertPtrReturn(pThis, VERR_INVALID_POINTER);
--
-- return VERR_NOT_IMPLEMENTED;
--}
--
--
--
--
--
--STDMETHODIMP ExtPack::COMGETTER(Name)(BSTR *a_pbstrName)
--{
-- CheckComArgOutPointerValid(a_pbstrName);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strName);
-- str.cloneTo(a_pbstrName);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(Description)(BSTR *a_pbstrDescription)
--{
-- CheckComArgOutPointerValid(a_pbstrDescription);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strDescription);
-- str.cloneTo(a_pbstrDescription);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(Version)(BSTR *a_pbstrVersion)
--{
-- CheckComArgOutPointerValid(a_pbstrVersion);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- /* HACK ALERT: This is for easing backporting to 4.1. The edition stuff
-- will be changed into a separate */
-- if (m->Desc.strEdition.isEmpty())
-- {
-- Bstr str(m->Desc.strVersion);
-- str.cloneTo(a_pbstrVersion);
-- }
-- else
-- {
-- RTCString strHack(m->Desc.strVersion);
-- strHack.append('-');
-- strHack.append(m->Desc.strEdition);
--
-- Bstr str(strHack);
-- str.cloneTo(a_pbstrVersion);
-- }
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(Revision)(ULONG *a_puRevision)
--{
-- CheckComArgOutPointerValid(a_puRevision);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_puRevision = m->Desc.uRevision;
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(VRDEModule)(BSTR *a_pbstrVrdeModule)
--{
-- CheckComArgOutPointerValid(a_pbstrVrdeModule);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr str(m->Desc.strVrdeModule);
-- str.cloneTo(a_pbstrVrdeModule);
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(PlugIns)(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns))
--{
-- /** @todo implement plug-ins. */
--#ifdef VBOX_WITH_XPCOM
-- NOREF(a_paPlugIns);
-- NOREF(a_paPlugInsSize);
--#endif
-- ReturnComNotImplemented();
--}
--
--STDMETHODIMP ExtPack::COMGETTER(Usable)(BOOL *a_pfUsable)
--{
-- CheckComArgOutPointerValid(a_pfUsable);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_pfUsable = m->fUsable;
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(WhyUnusable)(BSTR *a_pbstrWhy)
--{
-- CheckComArgOutPointerValid(a_pbstrWhy);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- m->strWhyUnusable.cloneTo(a_pbstrWhy);
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(ShowLicense)(BOOL *a_pfShowIt)
--{
-- CheckComArgOutPointerValid(a_pfShowIt);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- *a_pfShowIt = m->Desc.fShowLicense;
-- return hrc;
--}
--
--STDMETHODIMP ExtPack::COMGETTER(License)(BSTR *a_pbstrHtmlLicense)
--{
-- Bstr bstrHtml("html");
-- return QueryLicense(Bstr::Empty.raw(), Bstr::Empty.raw(), bstrHtml.raw(), a_pbstrHtmlLicense);
--}
--
--STDMETHODIMP ExtPack::QueryLicense(IN_BSTR a_bstrPreferredLocale, IN_BSTR a_bstrPreferredLanguage, IN_BSTR a_bstrFormat,
-- BSTR *a_pbstrLicense)
--{
-- /*
-- * Validate input.
-- */
-- CheckComArgOutPointerValid(a_pbstrLicense);
-- CheckComArgNotNull(a_bstrPreferredLocale);
-- CheckComArgNotNull(a_bstrPreferredLanguage);
-- CheckComArgNotNull(a_bstrFormat);
--
-- Utf8Str strPreferredLocale(a_bstrPreferredLocale);
-- if (strPreferredLocale.length() != 2 && strPreferredLocale.length() != 0)
-- return setError(E_FAIL, tr("The preferred locale is a two character string or empty."));
--
-- Utf8Str strPreferredLanguage(a_bstrPreferredLanguage);
-- if (strPreferredLanguage.length() != 2 && strPreferredLanguage.length() != 0)
-- return setError(E_FAIL, tr("The preferred lanuage is a two character string or empty."));
--
-- Utf8Str strFormat(a_bstrFormat);
-- if ( !strFormat.equals("html")
-- && !strFormat.equals("rtf")
-- && !strFormat.equals("txt"))
-- return setError(E_FAIL, tr("The license format can only have the values 'html', 'rtf' and 'txt'."));
--
-- /*
-- * Combine the options to form a file name before locking down anything.
-- */
-- char szName[sizeof(VBOX_EXTPACK_LICENSE_NAME_PREFIX "-de_DE.html") + 2];
-- if (strPreferredLocale.isNotEmpty() && strPreferredLanguage.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-%s_%s.%s",
-- strPreferredLocale.c_str(), strPreferredLanguage.c_str(), strFormat.c_str());
-- else if (strPreferredLocale.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-%s.%s", strPreferredLocale.c_str(), strFormat.c_str());
-- else if (strPreferredLanguage.isNotEmpty())
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX "-_%s.%s", strPreferredLocale.c_str(), strFormat.c_str());
-- else
-- RTStrPrintf(szName, sizeof(szName), VBOX_EXTPACK_LICENSE_NAME_PREFIX ".%s", strFormat.c_str());
--
-- /*
-- * Effectuate the query.
-- */
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS); /* paranoia */
--
-- if (!m->fUsable)
-- hrc = setError(E_FAIL, tr("%s"), m->strWhyUnusable.c_str());
-- else
-- {
-- char szPath[RTPATH_MAX];
-- int vrc = RTPathJoin(szPath, sizeof(szPath), m->strExtPackPath.c_str(), szName);
-- if (RT_SUCCESS(vrc))
-- {
-- void *pvFile;
-- size_t cbFile;
-- vrc = RTFileReadAllEx(szPath, 0, RTFOFF_MAX, RTFILE_RDALL_O_DENY_READ, &pvFile, &cbFile);
-- if (RT_SUCCESS(vrc))
-- {
-- Bstr bstrLicense((const char *)pvFile, cbFile);
-- if (bstrLicense.isNotEmpty())
-- {
-- bstrLicense.detachTo(a_pbstrLicense);
-- hrc = S_OK;
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("The license file '%s' is empty or contains invalid UTF-8 encoding"),
-- szPath);
-- RTFileReadAllFree(pvFile, cbFile);
-- }
-- else if (vrc == VERR_FILE_NOT_FOUND || vrc == VERR_PATH_NOT_FOUND)
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("The license file '%s' was not found in extension pack '%s'"),
-- szName, m->Desc.strName.c_str());
-- else
-- hrc = setError(VBOX_E_FILE_ERROR, tr("Failed to open the license file '%s': %Rrc"), szPath, vrc);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTPathJoin failed: %Rrc"), vrc);
-- }
-- }
-- return hrc;
--}
--
--
--STDMETHODIMP ExtPack::QueryObject(IN_BSTR a_bstrObjectId, IUnknown **a_ppUnknown)
--{
-- com::Guid ObjectId;
-- CheckComArgGuid(a_bstrObjectId, ObjectId);
-- CheckComArgOutPointerValid(a_ppUnknown);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- if ( m->pReg
-- && m->pReg->pfnQueryObject)
-- {
-- void *pvUnknown = m->pReg->pfnQueryObject(m->pReg, ObjectId.raw());
-- if (pvUnknown)
-- *a_ppUnknown = (IUnknown *)pvUnknown;
-- else
-- hrc = E_NOINTERFACE;
-- }
-- else
-- hrc = E_NOINTERFACE;
-- }
-- return hrc;
--}
--
--
--
--
--DEFINE_EMPTY_CTOR_DTOR(ExtPackManager)
--
--/**
-- * Called by ComObjPtr::createObject when creating the object.
-- *
-- * Just initialize the basic object state, do the rest in init().
-- *
-- * @returns S_OK.
-- */
--HRESULT ExtPackManager::FinalConstruct()
--{
-- m = NULL;
-- return S_OK;
--}
--
--/**
-- * Initializes the extension pack manager.
-- *
-- * @returns COM status code.
-- * @param a_pVirtualBox Pointer to the VirtualBox object.
-- * @param a_enmContext The context we're in.
-- */
--HRESULT ExtPackManager::initExtPackManager(VirtualBox *a_pVirtualBox, VBOXEXTPACKCTX a_enmContext)
--{
-- AutoInitSpan autoInitSpan(this);
-- AssertReturn(autoInitSpan.isOk(), E_FAIL);
--
-- /*
-- * Figure some stuff out before creating the instance data.
-- */
-- char szBaseDir[RTPATH_MAX];
-- int rc = RTPathAppPrivateArchTop(szBaseDir, sizeof(szBaseDir));
-- AssertLogRelRCReturn(rc, E_FAIL);
-- rc = RTPathAppend(szBaseDir, sizeof(szBaseDir), VBOX_EXTPACK_INSTALL_DIR);
-- AssertLogRelRCReturn(rc, E_FAIL);
--
-- char szCertificatDir[RTPATH_MAX];
-- rc = RTPathAppPrivateNoArch(szCertificatDir, sizeof(szCertificatDir));
-- AssertLogRelRCReturn(rc, E_FAIL);
-- rc = RTPathAppend(szCertificatDir, sizeof(szCertificatDir), VBOX_EXTPACK_CERT_DIR);
-- AssertLogRelRCReturn(rc, E_FAIL);
--
-- /*
-- * Allocate and initialize the instance data.
-- */
-- m = new Data;
-- m->strBaseDir = szBaseDir;
-- m->strCertificatDirPath = szCertificatDir;
-- m->pVirtualBox = a_pVirtualBox;
-- m->enmContext = a_enmContext;
--
-- /*
-- * Slurp in VBoxVMM which is used by VBoxPuelMain.
-- */
--#if !defined(RT_OS_WINDOWS) && !defined(RT_OS_DARWIN)
-- if (a_enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON)
-- {
-- int vrc = SUPR3HardenedLdrLoadAppPriv("VBoxVMM", &m->hVBoxVMM, RTLDRLOAD_FLAGS_GLOBAL, NULL);
-- if (RT_FAILURE(vrc))
-- m->hVBoxVMM = NIL_RTLDRMOD;
-- /* cleanup in ::uninit()? */
-- }
--#endif
--
-- /*
-- * Go looking for extensions. The RTDirOpen may fail if nothing has been
-- * installed yet, or if root is paranoid and has revoked our access to them.
-- *
-- * We ASSUME that there are no files, directories or stuff in the directory
-- * that exceed the max name length in RTDIRENTRYEX.
-- */
-- HRESULT hrc = S_OK;
-- PRTDIR pDir;
-- int vrc = RTDirOpen(&pDir, szBaseDir);
-- if (RT_SUCCESS(vrc))
-- {
-- for (;;)
-- {
-- RTDIRENTRYEX Entry;
-- vrc = RTDirReadEx(pDir, &Entry, NULL /*pcbDirEntry*/, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- {
-- AssertLogRelMsg(vrc == VERR_NO_MORE_FILES, ("%Rrc\n", vrc));
-- break;
-- }
-- if ( RTFS_IS_DIRECTORY(Entry.Info.Attr.fMode)
-- && strcmp(Entry.szName, ".") != 0
-- && strcmp(Entry.szName, "..") != 0
-- && VBoxExtPackIsValidMangledName(Entry.szName) )
-- {
-- /*
-- * All directories are extensions, the shall be nothing but
-- * extensions in this subdirectory.
-- */
-- char szExtPackDir[RTPATH_MAX];
-- vrc = RTPathJoin(szExtPackDir, sizeof(szExtPackDir), m->strBaseDir.c_str(), Entry.szName);
-- AssertLogRelRC(vrc);
-- if (RT_SUCCESS(vrc))
-- {
-- RTCString *pstrName = VBoxExtPackUnmangleName(Entry.szName, RTSTR_MAX);
-- AssertLogRel(pstrName);
-- if (pstrName)
-- {
-- ComObjPtr<ExtPack> NewExtPack;
-- HRESULT hrc2 = NewExtPack.createObject();
-- if (SUCCEEDED(hrc2))
-- hrc2 = NewExtPack->initWithDir(a_enmContext, pstrName->c_str(), szExtPackDir);
-- delete pstrName;
-- if (SUCCEEDED(hrc2))
-- m->llInstalledExtPacks.push_back(NewExtPack);
-- else if (SUCCEEDED(rc))
-- hrc = hrc2;
-- }
-- else
-- hrc = E_UNEXPECTED;
-- }
-- else
-- hrc = E_UNEXPECTED;
-- }
-- }
-- RTDirClose(pDir);
-- }
-- /* else: ignore, the directory probably does not exist or something. */
--
-- if (SUCCEEDED(hrc))
-- autoInitSpan.setSucceeded();
-- return hrc;
--}
--
--/**
-- * COM cruft.
-- */
--void ExtPackManager::FinalRelease()
--{
-- uninit();
--}
--
--/**
-- * Do the actual cleanup.
-- */
--void ExtPackManager::uninit()
--{
-- /* Enclose the state transition Ready->InUninit->NotReady */
-- AutoUninitSpan autoUninitSpan(this);
-- if (!autoUninitSpan.uninitDone() && m != NULL)
-- {
-- delete m;
-- m = NULL;
-- }
--}
--
--
--STDMETHODIMP ExtPackManager::COMGETTER(InstalledExtPacks)(ComSafeArrayOut(IExtPack *, a_paExtPacks))
--{
-- CheckComArgOutSafeArrayPointerValid(a_paExtPacks);
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- SafeIfaceArray<IExtPack> SaExtPacks(m->llInstalledExtPacks);
-- SaExtPacks.detachTo(ComSafeArrayOutArg(a_paExtPacks));
-- }
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::Find(IN_BSTR a_bstrName, IExtPack **a_pExtPack)
--{
-- CheckComArgNotNull(a_bstrName);
-- CheckComArgOutPointerValid(a_pExtPack);
-- Utf8Str strName(a_bstrName);
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- ComPtr<ExtPack> ptrExtPack = findExtPack(strName.c_str());
-- if (!ptrExtPack.isNull())
-- ptrExtPack.queryInterfaceTo(a_pExtPack);
-- else
-- hrc = VBOX_E_OBJECT_NOT_FOUND;
-- }
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::OpenExtPackFile(IN_BSTR a_bstrTarballAndDigest, IExtPackFile **a_ppExtPackFile)
--{
-- CheckComArgNotNull(a_bstrTarballAndDigest);
-- CheckComArgOutPointerValid(a_ppExtPackFile);
-- AssertReturn(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON, E_UNEXPECTED);
--
-- /* The API can optionally take a ::SHA-256=<hex-digest> attribute at the
-- end of the file name. This is just a temporary measure for
-- backporting, in 4.2 we'll add another parameter to the method. */
-- Utf8Str strTarball;
-- Utf8Str strDigest;
-- Utf8Str strTarballAndDigest(a_bstrTarballAndDigest);
-- size_t offSha256 = strTarballAndDigest.find("::SHA-256=");
-- if (offSha256 == Utf8Str::npos)
-- strTarball = strTarballAndDigest;
-- else
-- {
-- strTarball = strTarballAndDigest.substr(0, offSha256);
-- strDigest = strTarballAndDigest.substr(offSha256 + sizeof("::SHA-256=") - 1);
-- }
--
-- ComObjPtr<ExtPackFile> NewExtPackFile;
-- HRESULT hrc = NewExtPackFile.createObject();
-- if (SUCCEEDED(hrc))
-- hrc = NewExtPackFile->initWithFile(strTarball.c_str(), strDigest.c_str(), this, m->pVirtualBox);
-- if (SUCCEEDED(hrc))
-- NewExtPackFile.queryInterfaceTo(a_ppExtPackFile);
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::Uninstall(IN_BSTR a_bstrName, BOOL a_fForcedRemoval, IN_BSTR a_bstrDisplayInfo,
-- IProgress **a_ppProgress)
--{
-- CheckComArgNotNull(a_bstrName);
-- if (a_ppProgress)
-- *a_ppProgress = NULL;
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- PEXTPACKUNINSTALLJOB pJob = NULL;
-- try
-- {
-- pJob = new EXTPACKUNINSTALLJOB;
-- pJob->ptrExtPackMgr = this;
-- pJob->strName = a_bstrName;
-- pJob->fForcedRemoval = a_fForcedRemoval != FALSE;
-- pJob->strDisplayInfo = a_bstrDisplayInfo;
-- hrc = pJob->ptrProgress.createObject();
-- if (SUCCEEDED(hrc))
-- {
-- Bstr bstrDescription = tr("Uninstalling extension pack");
-- hrc = pJob->ptrProgress->init(
--#ifndef VBOX_COM_INPROC
-- m->pVirtualBox,
--#endif
-- static_cast<IExtPackManager *>(this),
-- bstrDescription.raw(),
-- FALSE /*aCancelable*/,
-- NULL /*aId*/);
-- }
-- if (SUCCEEDED(hrc))
-- {
-- ComPtr<Progress> ptrProgress = pJob->ptrProgress;
-- int vrc = RTThreadCreate(NULL /*phThread*/, ExtPackManager::doUninstallThreadProc, pJob, 0,
-- RTTHREADTYPE_DEFAULT, 0 /*fFlags*/, "ExtPackUninst");
-- if (RT_SUCCESS(vrc))
-- {
-- pJob = NULL; /* the thread deletes it */
-- ptrProgress.queryInterfaceTo(a_ppProgress);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("RTThreadCreate failed with %Rrc"), vrc);
-- }
-- }
-- catch (std::bad_alloc)
-- {
-- hrc = E_OUTOFMEMORY;
-- }
-- if (pJob)
-- delete pJob;
-- }
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::Cleanup(void)
--{
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- /*
-- * Run the set-uid-to-root binary that performs the cleanup.
-- *
-- * Take the write lock to prevent conflicts with other calls to this
-- * VBoxSVC instance.
-- */
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- hrc = runSetUidToRootHelper(NULL,
-- "cleanup",
-- "--base-dir", m->strBaseDir.c_str(),
-- (const char *)NULL);
-- }
--
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::QueryAllPlugInsForFrontend(IN_BSTR a_bstrFrontend, ComSafeArrayOut(BSTR, a_pabstrPlugInModules))
--{
-- CheckComArgNotNull(a_bstrFrontend);
-- Utf8Str strName(a_bstrFrontend);
-- CheckComArgOutSafeArrayPointerValid(a_pabstrPlugInModules);
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- com::SafeArray<BSTR> saPaths((size_t)0);
-- /** @todo implement plug-ins */
-- saPaths.detachTo(ComSafeArrayOutArg(a_pabstrPlugInModules));
-- }
-- return hrc;
--}
--
--STDMETHODIMP ExtPackManager::IsExtPackUsable(IN_BSTR a_bstrExtPack, BOOL *aUsable)
--{
-- CheckComArgNotNull(a_bstrExtPack);
-- Utf8Str strExtPack(a_bstrExtPack);
-- *aUsable = isExtPackUsable(strExtPack.c_str());
-- return S_OK;
--}
--
--/**
-- * Finds the success indicator string in the stderr output ofr hte helper app.
-- *
-- * @returns Pointer to the indicator.
-- * @param psz The stderr output string. Can be NULL.
-- * @param cch The size of the string.
-- */
--static char *findSuccessIndicator(char *psz, size_t cch)
--{
-- static const char s_szSuccessInd[] = "rcExit=RTEXITCODE_SUCCESS";
-- Assert(!cch || strlen(psz) == cch);
-- if (cch < sizeof(s_szSuccessInd) - 1)
-- return NULL;
-- char *pszInd = &psz[cch - sizeof(s_szSuccessInd) + 1];
-- if (strcmp(s_szSuccessInd, pszInd))
-- return NULL;
-- return pszInd;
--}
--
--/**
-- * Runs the helper application that does the privileged operations.
-- *
-- * @returns S_OK or a failure status with error information set.
-- * @param a_pstrDisplayInfo Platform specific display info hacks.
-- * @param a_pszCommand The command to execute.
-- * @param ... The argument strings that goes along with the
-- * command. Maximum is about 16. Terminated by a
-- * NULL.
-- */
--HRESULT ExtPackManager::runSetUidToRootHelper(Utf8Str const *a_pstrDisplayInfo, const char *a_pszCommand, ...)
--{
-- /*
-- * Calculate the path to the helper application.
-- */
-- char szExecName[RTPATH_MAX];
-- int vrc = RTPathAppPrivateArch(szExecName, sizeof(szExecName));
-- AssertLogRelRCReturn(vrc, E_UNEXPECTED);
--
-- vrc = RTPathAppend(szExecName, sizeof(szExecName), VBOX_EXTPACK_HELPER_NAME);
-- AssertLogRelRCReturn(vrc, E_UNEXPECTED);
--
-- /*
-- * Convert the variable argument list to a RTProcCreate argument vector.
-- */
-- const char *apszArgs[20];
-- unsigned cArgs = 0;
--
-- LogRel(("ExtPack: Executing '%s'", szExecName));
-- apszArgs[cArgs++] = &szExecName[0];
--
-- if ( a_pstrDisplayInfo
-- && a_pstrDisplayInfo->isNotEmpty())
-- {
-- LogRel((" '--display-info-hack' '%s'", a_pstrDisplayInfo->c_str()));
-- apszArgs[cArgs++] = "--display-info-hack";
-- apszArgs[cArgs++] = a_pstrDisplayInfo->c_str();
-- }
--
-- LogRel(("'%s'", a_pszCommand));
-- apszArgs[cArgs++] = a_pszCommand;
--
-- va_list va;
-- va_start(va, a_pszCommand);
-- const char *pszLastArg;
-- for (;;)
-- {
-- AssertReturn(cArgs < RT_ELEMENTS(apszArgs) - 1, E_UNEXPECTED);
-- pszLastArg = va_arg(va, const char *);
-- if (!pszLastArg)
-- break;
-- LogRel((" '%s'", pszLastArg));
-- apszArgs[cArgs++] = pszLastArg;
-- };
-- va_end(va);
--
-- LogRel(("\n"));
-- apszArgs[cArgs] = NULL;
--
-- /*
-- * Create a PIPE which we attach to stderr so that we can read the error
-- * message on failure and report it back to the caller.
-- */
-- RTPIPE hPipeR;
-- RTHANDLE hStdErrPipe;
-- hStdErrPipe.enmType = RTHANDLETYPE_PIPE;
-- vrc = RTPipeCreate(&hPipeR, &hStdErrPipe.u.hPipe, RTPIPE_C_INHERIT_WRITE);
-- AssertLogRelRCReturn(vrc, E_UNEXPECTED);
--
-- /*
-- * Spawn the process.
-- */
-- HRESULT hrc;
-- RTPROCESS hProcess;
-- vrc = RTProcCreateEx(szExecName,
-- apszArgs,
-- RTENV_DEFAULT,
-- 0 /*fFlags*/,
-- NULL /*phStdIn*/,
-- NULL /*phStdOut*/,
-- &hStdErrPipe,
-- NULL /*pszAsUser*/,
-- NULL /*pszPassword*/,
-- &hProcess);
-- if (RT_SUCCESS(vrc))
-- {
-- vrc = RTPipeClose(hStdErrPipe.u.hPipe);
-- hStdErrPipe.u.hPipe = NIL_RTPIPE;
--
-- /*
-- * Read the pipe output until the process completes.
-- */
-- RTPROCSTATUS ProcStatus = { -42, RTPROCEXITREASON_ABEND };
-- size_t cbStdErrBuf = 0;
-- size_t offStdErrBuf = 0;
-- char *pszStdErrBuf = NULL;
-- do
-- {
-- /*
-- * Service the pipe. Block waiting for output or the pipe breaking
-- * when the process terminates.
-- */
-- if (hPipeR != NIL_RTPIPE)
-- {
-- char achBuf[1024];
-- size_t cbRead;
-- vrc = RTPipeReadBlocking(hPipeR, achBuf, sizeof(achBuf), &cbRead);
-- if (RT_SUCCESS(vrc))
-- {
-- /* grow the buffer? */
-- size_t cbBufReq = offStdErrBuf + cbRead + 1;
-- if ( cbBufReq > cbStdErrBuf
-- && cbBufReq < _256K)
-- {
-- size_t cbNew = RT_ALIGN_Z(cbBufReq, 16); // 1024
-- void *pvNew = RTMemRealloc(pszStdErrBuf, cbNew);
-- if (pvNew)
-- {
-- pszStdErrBuf = (char *)pvNew;
-- cbStdErrBuf = cbNew;
-- }
-- }
--
-- /* append if we've got room. */
-- if (cbBufReq <= cbStdErrBuf)
-- {
-- memcpy(&pszStdErrBuf[offStdErrBuf], achBuf, cbRead);
-- offStdErrBuf = offStdErrBuf + cbRead;
-- pszStdErrBuf[offStdErrBuf] = '\0';
-- }
-- }
-- else
-- {
-- AssertLogRelMsg(vrc == VERR_BROKEN_PIPE, ("%Rrc\n", vrc));
-- RTPipeClose(hPipeR);
-- hPipeR = NIL_RTPIPE;
-- }
-- }
--
-- /*
-- * Service the process. Block if we have no pipe.
-- */
-- if (hProcess != NIL_RTPROCESS)
-- {
-- vrc = RTProcWait(hProcess,
-- hPipeR == NIL_RTPIPE ? RTPROCWAIT_FLAGS_BLOCK : RTPROCWAIT_FLAGS_NOBLOCK,
-- &ProcStatus);
-- if (RT_SUCCESS(vrc))
-- hProcess = NIL_RTPROCESS;
-- else
-- AssertLogRelMsgStmt(vrc == VERR_PROCESS_RUNNING, ("%Rrc\n", vrc), hProcess = NIL_RTPROCESS);
-- }
-- } while ( hPipeR != NIL_RTPIPE
-- || hProcess != NIL_RTPROCESS);
--
-- LogRel(("ExtPack: enmReason=%d iStatus=%d stderr='%s'\n",
-- ProcStatus.enmReason, ProcStatus.iStatus, offStdErrBuf ? pszStdErrBuf : ""));
--
-- /*
-- * Look for rcExit=RTEXITCODE_SUCCESS at the end of the error output,
-- * cut it as it is only there to attest the success.
-- */
-- if (offStdErrBuf > 0)
-- {
-- RTStrStripR(pszStdErrBuf);
-- offStdErrBuf = strlen(pszStdErrBuf);
-- }
--
-- char *pszSuccessInd = findSuccessIndicator(pszStdErrBuf, offStdErrBuf);
-- if (pszSuccessInd)
-- {
-- *pszSuccessInd = '\0';
-- offStdErrBuf = pszSuccessInd - pszStdErrBuf;
-- }
-- else if ( ProcStatus.enmReason == RTPROCEXITREASON_NORMAL
-- && ProcStatus.iStatus == 0)
-- ProcStatus.iStatus = offStdErrBuf ? 667 : 666;
--
-- /*
-- * Compose the status code and, on failure, error message.
-- */
-- if ( ProcStatus.enmReason == RTPROCEXITREASON_NORMAL
-- && ProcStatus.iStatus == 0)
-- hrc = S_OK;
-- else if (ProcStatus.enmReason == RTPROCEXITREASON_NORMAL)
-- {
-- AssertMsg(ProcStatus.iStatus != 0, ("%s\n", pszStdErrBuf));
-- hrc = setError(E_FAIL, tr("The installer failed with exit code %d: %s"),
-- ProcStatus.iStatus, offStdErrBuf ? pszStdErrBuf : "");
-- }
-- else if (ProcStatus.enmReason == RTPROCEXITREASON_SIGNAL)
-- hrc = setError(E_UNEXPECTED, tr("The installer was killed by signal #d (stderr: %s)"),
-- ProcStatus.iStatus, offStdErrBuf ? pszStdErrBuf : "");
-- else if (ProcStatus.enmReason == RTPROCEXITREASON_ABEND)
-- hrc = setError(E_UNEXPECTED, tr("The installer aborted abnormally (stderr: %s)"),
-- offStdErrBuf ? pszStdErrBuf : "");
-- else
-- hrc = setError(E_UNEXPECTED, tr("internal error: enmReason=%d iStatus=%d stderr='%s'"),
-- ProcStatus.enmReason, ProcStatus.iStatus, offStdErrBuf ? pszStdErrBuf : "");
--
-- RTMemFree(pszStdErrBuf);
-- }
-- else
-- hrc = setError(VBOX_E_IPRT_ERROR, tr("Failed to launch the helper application '%s' (%Rrc)"), szExecName, vrc);
--
-- RTPipeClose(hPipeR);
-- RTPipeClose(hStdErrPipe.u.hPipe);
--
-- return hrc;
--}
--
--/**
-- * Finds an installed extension pack.
-- *
-- * @returns Pointer to the extension pack if found, NULL if not. (No reference
-- * counting problem here since the caller must be holding the lock.)
-- * @param a_pszName The name of the extension pack.
-- */
--ExtPack *ExtPackManager::findExtPack(const char *a_pszName)
--{
-- size_t cchName = strlen(a_pszName);
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- it++)
-- {
-- ExtPack::Data *pExtPackData = (*it)->m;
-- if ( pExtPackData
-- && pExtPackData->Desc.strName.length() == cchName
-- && pExtPackData->Desc.strName.equalsIgnoreCase(a_pszName))
-- return (*it);
-- }
-- return NULL;
--}
--
--/**
-- * Removes an installed extension pack from the internal list.
-- *
-- * The package is expected to exist!
-- *
-- * @param a_pszName The name of the extension pack.
-- */
--void ExtPackManager::removeExtPack(const char *a_pszName)
--{
-- size_t cchName = strlen(a_pszName);
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- it++)
-- {
-- ExtPack::Data *pExtPackData = (*it)->m;
-- if ( pExtPackData
-- && pExtPackData->Desc.strName.length() == cchName
-- && pExtPackData->Desc.strName.equalsIgnoreCase(a_pszName))
-- {
-- m->llInstalledExtPacks.erase(it);
-- return;
-- }
-- }
-- AssertMsgFailed(("%s\n", a_pszName));
--}
--
--/**
-- * Refreshes the specified extension pack.
-- *
-- * This may remove the extension pack from the list, so any non-smart pointers
-- * to the extension pack object may become invalid.
-- *
-- * @returns S_OK and *a_ppExtPack on success, COM status code and error
-- * message on failure. Note that *a_ppExtPack can be NULL.
-- *
-- * @param a_pszName The extension to update..
-- * @param a_fUnusableIsError If @c true, report an unusable extension pack
-- * as an error.
-- * @param a_ppExtPack Where to store the pointer to the extension
-- * pack of it is still around after the refresh.
-- * This is optional.
-- *
-- * @remarks Caller holds the extension manager lock.
-- * @remarks Only called in VBoxSVC.
-- */
--HRESULT ExtPackManager::refreshExtPack(const char *a_pszName, bool a_fUnusableIsError, ExtPack **a_ppExtPack)
--{
-- Assert(m->pVirtualBox != NULL); /* Only called from VBoxSVC. */
--
-- HRESULT hrc;
-- ExtPack *pExtPack = findExtPack(a_pszName);
-- if (pExtPack)
-- {
-- /*
-- * Refresh existing object.
-- */
-- bool fCanDelete;
-- hrc = pExtPack->refresh(&fCanDelete);
-- if (SUCCEEDED(hrc))
-- {
-- if (fCanDelete)
-- {
-- removeExtPack(a_pszName);
-- pExtPack = NULL;
-- }
-- }
-- }
-- else
-- {
-- /*
-- * Do this check here, otherwise VBoxExtPackCalcDir() will fail with a strange
-- * error.
-- */
-- bool fValid = VBoxExtPackIsValidName(a_pszName);
-- if (!fValid)
-- return setError(E_FAIL, "Invalid extension pack name specified");
--
-- /*
-- * Does the dir exist? Make some special effort to deal with case
-- * sensitivie file systems (a_pszName is case insensitive and mangled).
-- */
-- char szDir[RTPATH_MAX];
-- int vrc = VBoxExtPackCalcDir(szDir, sizeof(szDir), m->strBaseDir.c_str(), a_pszName);
-- AssertLogRelRCReturn(vrc, E_FAIL);
--
-- RTDIRENTRYEX Entry;
-- RTFSOBJINFO ObjInfo;
-- vrc = RTPathQueryInfoEx(szDir, &ObjInfo, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK);
-- bool fExists = RT_SUCCESS(vrc) && RTFS_IS_DIRECTORY(ObjInfo.Attr.fMode);
-- if (!fExists)
-- {
-- PRTDIR pDir;
-- vrc = RTDirOpen(&pDir, m->strBaseDir.c_str());
-- if (RT_SUCCESS(vrc))
-- {
-- const char *pszMangledName = RTPathFilename(szDir);
-- for (;;)
-- {
-- vrc = RTDirReadEx(pDir, &Entry, NULL /*pcbDirEntry*/, RTFSOBJATTRADD_NOTHING, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- {
-- AssertLogRelMsg(vrc == VERR_NO_MORE_FILES, ("%Rrc\n", vrc));
-- break;
-- }
-- if ( RTFS_IS_DIRECTORY(Entry.Info.Attr.fMode)
-- && !RTStrICmp(Entry.szName, pszMangledName))
-- {
-- /*
-- * The installed extension pack has a uses different case.
-- * Update the name and directory variables.
-- */
-- vrc = RTPathJoin(szDir, sizeof(szDir), m->strBaseDir.c_str(), Entry.szName); /* not really necessary */
-- AssertLogRelRCReturnStmt(vrc, RTDirClose(pDir), E_UNEXPECTED);
-- a_pszName = Entry.szName;
-- fExists = true;
-- break;
-- }
-- }
-- RTDirClose(pDir);
-- }
-- }
-- if (fExists)
-- {
-- /*
-- * We've got something, create a new extension pack object for it.
-- */
-- ComObjPtr<ExtPack> ptrNewExtPack;
-- hrc = ptrNewExtPack.createObject();
-- if (SUCCEEDED(hrc))
-- hrc = ptrNewExtPack->initWithDir(m->enmContext, a_pszName, szDir);
-- if (SUCCEEDED(hrc))
-- {
-- m->llInstalledExtPacks.push_back(ptrNewExtPack);
-- if (ptrNewExtPack->m->fUsable)
-- LogRel(("ExtPackManager: Found extension pack '%s'.\n", a_pszName));
-- else
-- LogRel(("ExtPackManager: Found bad extension pack '%s': %s\n",
-- a_pszName, ptrNewExtPack->m->strWhyUnusable.c_str() ));
-- pExtPack = ptrNewExtPack;
-- }
-- }
-- else
-- hrc = S_OK;
-- }
--
-- /*
-- * Report error if not usable, if that is desired.
-- */
-- if ( SUCCEEDED(hrc)
-- && pExtPack
-- && a_fUnusableIsError
-- && !pExtPack->m->fUsable)
-- hrc = setError(E_FAIL, "%s", pExtPack->m->strWhyUnusable.c_str());
--
-- if (a_ppExtPack)
-- *a_ppExtPack = pExtPack;
-- return hrc;
--}
--
--/**
-- * Thread wrapper around doInstall.
-- *
-- * @returns VINF_SUCCESS (ignored)
-- * @param hThread The thread handle (ignored).
-- * @param pvJob The job structure.
-- */
--/*static*/ DECLCALLBACK(int) ExtPackManager::doInstallThreadProc(RTTHREAD hThread, void *pvJob)
--{
-- PEXTPACKINSTALLJOB pJob = (PEXTPACKINSTALLJOB)pvJob;
-- HRESULT hrc = pJob->ptrExtPackMgr->doInstall(pJob->ptrExtPackFile, pJob->fReplace, &pJob->strDisplayInfo);
-- pJob->ptrProgress->notifyComplete(hrc);
-- delete pJob;
--
-- NOREF(hThread);
-- return VINF_SUCCESS;
--}
--
--/**
-- * Worker for IExtPackFile::Install.
-- *
-- * Called on a worker thread via doInstallThreadProc.
-- *
-- * @returns COM status code.
-- * @param a_pExtPackFile The extension pack file, caller checks that
-- * it's usable.
-- * @param a_fReplace Whether to replace any existing extpack or just
-- * fail.
-- * @param a_pstrDisplayInfo Host specific display information hacks.
-- * @param a_ppProgress Where to return a progress object some day. Can
-- * be NULL.
-- */
--HRESULT ExtPackManager::doInstall(ExtPackFile *a_pExtPackFile, bool a_fReplace, Utf8Str const *a_pstrDisplayInfo)
--{
-- AssertReturn(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON, E_UNEXPECTED);
-- RTCString const * const pStrName = &a_pExtPackFile->m->Desc.strName;
-- RTCString const * const pStrTarball = &a_pExtPackFile->m->strExtPackFile;
-- RTCString const * const pStrTarballDigest = &a_pExtPackFile->m->strDigest;
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- /*
-- * Refresh the data we have on the extension pack as it
-- * may be made stale by direct meddling or some other user.
-- */
-- ExtPack *pExtPack;
-- hrc = refreshExtPack(pStrName->c_str(), false /*a_fUnusableIsError*/, &pExtPack);
-- if (SUCCEEDED(hrc))
-- {
-- if (pExtPack && a_fReplace)
-- hrc = pExtPack->callUninstallHookAndClose(m->pVirtualBox, false /*a_ForcedRemoval*/);
-- else if (pExtPack)
-- hrc = setError(E_FAIL,
-- tr("Extension pack '%s' is already installed."
-- " In case of a reinstallation, please uninstall it first"),
-- pStrName->c_str());
-- }
-- if (SUCCEEDED(hrc))
-- {
-- /*
-- * Run the privileged helper binary that performs the actual
-- * installation. Then create an object for the packet (we do this
-- * even on failure, to be on the safe side).
-- */
-- hrc = runSetUidToRootHelper(a_pstrDisplayInfo,
-- "install",
-- "--base-dir", m->strBaseDir.c_str(),
-- "--cert-dir", m->strCertificatDirPath.c_str(),
-- "--name", pStrName->c_str(),
-- "--tarball", pStrTarball->c_str(),
-- "--sha-256", pStrTarballDigest->c_str(),
-- pExtPack ? "--replace" : (const char *)NULL,
-- (const char *)NULL);
-- if (SUCCEEDED(hrc))
-- {
-- hrc = refreshExtPack(pStrName->c_str(), true /*a_fUnusableIsError*/, &pExtPack);
-- if (SUCCEEDED(hrc) && pExtPack)
-- {
-- RTERRINFOSTATIC ErrInfo;
-- RTErrInfoInitStatic(&ErrInfo);
-- pExtPack->callInstalledHook(m->pVirtualBox, &autoLock, &ErrInfo.Core);
-- if (RT_SUCCESS(ErrInfo.Core.rc))
-- LogRel(("ExtPackManager: Successfully installed extension pack '%s'.\n", pStrName->c_str()));
-- else
-- {
-- LogRel(("ExtPackManager: Installated hook for '%s' failed: %Rrc - %s\n",
-- pStrName->c_str(), ErrInfo.Core.rc, ErrInfo.Core.pszMsg));
--
-- /*
-- * Uninstall the extpack if the error indicates that.
-- */
-- if (ErrInfo.Core.rc == VERR_EXTPACK_UNSUPPORTED_HOST_UNINSTALL)
-- runSetUidToRootHelper(a_pstrDisplayInfo,
-- "uninstall",
-- "--base-dir", m->strBaseDir.c_str(),
-- "--name", pStrName->c_str(),
-- "--forced",
-- (const char *)NULL);
-- hrc = setError(E_FAIL, tr("The installation hook failed: %Rrc - %s"),
-- ErrInfo.Core.rc, ErrInfo.Core.pszMsg);
-- }
-- }
-- else if (SUCCEEDED(hrc))
-- hrc = setError(E_FAIL, tr("Installing extension pack '%s' failed under mysterious circumstances"),
-- pStrName->c_str());
-- }
-- else
-- {
-- ErrorInfoKeeper Eik;
-- refreshExtPack(pStrName->c_str(), false /*a_fUnusableIsError*/, NULL);
-- }
-- }
--
-- /*
-- * Do VirtualBoxReady callbacks now for any freshly installed
-- * extension pack (old ones will not be called).
-- */
-- if (m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON)
-- {
-- autoLock.release();
-- callAllVirtualBoxReadyHooks();
-- }
-- }
--
-- return hrc;
--}
--
--/**
-- * Thread wrapper around doUninstall.
-- *
-- * @returns VINF_SUCCESS (ignored)
-- * @param hThread The thread handle (ignored).
-- * @param pvJob The job structure.
-- */
--/*static*/ DECLCALLBACK(int) ExtPackManager::doUninstallThreadProc(RTTHREAD hThread, void *pvJob)
--{
-- PEXTPACKUNINSTALLJOB pJob = (PEXTPACKUNINSTALLJOB)pvJob;
-- HRESULT hrc = pJob->ptrExtPackMgr->doUninstall(&pJob->strName, pJob->fForcedRemoval, &pJob->strDisplayInfo);
-- pJob->ptrProgress->notifyComplete(hrc);
-- delete pJob;
--
-- NOREF(hThread);
-- return VINF_SUCCESS;
--}
--
--/**
-- * Worker for IExtPackManager::Uninstall.
-- *
-- * Called on a worker thread via doUninstallThreadProc.
-- *
-- * @returns COM status code.
-- * @param a_pstrName The name of the extension pack to uninstall.
-- * @param a_fForcedRemoval Whether to be skip and ignore certain bits of
-- * the extpack feedback. To deal with misbehaving
-- * extension pack hooks.
-- * @param a_pstrDisplayInfo Host specific display information hacks.
-- */
--HRESULT ExtPackManager::doUninstall(Utf8Str const *a_pstrName, bool a_fForcedRemoval, Utf8Str const *a_pstrDisplayInfo)
--{
-- Assert(m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON);
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- /*
-- * Refresh the data we have on the extension pack as it may be made
-- * stale by direct meddling or some other user.
-- */
-- ExtPack *pExtPack;
-- hrc = refreshExtPack(a_pstrName->c_str(), false /*a_fUnusableIsError*/, &pExtPack);
-- if (SUCCEEDED(hrc))
-- {
-- if (!pExtPack)
-- {
-- LogRel(("ExtPackManager: Extension pack '%s' is not installed, so nothing to uninstall.\n", a_pstrName->c_str()));
-- hrc = S_OK; /* nothing to uninstall */
-- }
-- else
-- {
-- /*
-- * Call the uninstall hook and unload the main dll.
-- */
-- hrc = pExtPack->callUninstallHookAndClose(m->pVirtualBox, a_fForcedRemoval);
-- if (SUCCEEDED(hrc))
-- {
-- /*
-- * Run the set-uid-to-root binary that performs the
-- * uninstallation. Then refresh the object.
-- *
-- * This refresh is theorically subject to races, but it's of
-- * the don't-do-that variety.
-- */
-- const char *pszForcedOpt = a_fForcedRemoval ? "--forced" : NULL;
-- hrc = runSetUidToRootHelper(a_pstrDisplayInfo,
-- "uninstall",
-- "--base-dir", m->strBaseDir.c_str(),
-- "--name", a_pstrName->c_str(),
-- pszForcedOpt, /* Last as it may be NULL. */
-- (const char *)NULL);
-- if (SUCCEEDED(hrc))
-- {
-- hrc = refreshExtPack(a_pstrName->c_str(), false /*a_fUnusableIsError*/, &pExtPack);
-- if (SUCCEEDED(hrc))
-- {
-- if (!pExtPack)
-- LogRel(("ExtPackManager: Successfully uninstalled extension pack '%s'.\n", a_pstrName->c_str()));
-- else
-- hrc = setError(E_FAIL,
-- tr("Uninstall extension pack '%s' failed under mysterious circumstances"),
-- a_pstrName->c_str());
-- }
-- }
-- else
-- {
-- ErrorInfoKeeper Eik;
-- refreshExtPack(a_pstrName->c_str(), false /*a_fUnusableIsError*/, NULL);
-- }
-- }
-- }
-- }
--
-- /*
-- * Do VirtualBoxReady callbacks now for any freshly installed
-- * extension pack (old ones will not be called).
-- */
-- if (m->enmContext == VBOXEXTPACKCTX_PER_USER_DAEMON)
-- {
-- autoLock.release();
-- callAllVirtualBoxReadyHooks();
-- }
-- }
--
-- return hrc;
--}
--
--
--/**
-- * Calls the pfnVirtualBoxReady hook for all working extension packs.
-- *
-- * @remarks The caller must not hold any locks.
-- */
--void ExtPackManager::callAllVirtualBoxReadyHooks(void)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this;
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- /* advancing below */)
-- {
-- if ((*it)->callVirtualBoxReadyHook(m->pVirtualBox, &autoLock))
-- it = m->llInstalledExtPacks.begin();
-- else
-- it++;
-- }
--}
--
--/**
-- * Calls the pfnConsoleReady hook for all working extension packs.
-- *
-- * @param a_pConsole The console interface.
-- * @remarks The caller must not hold any locks.
-- */
--void ExtPackManager::callAllConsoleReadyHooks(IConsole *a_pConsole)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this;
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- /* advancing below */)
-- {
-- if ((*it)->callConsoleReadyHook(a_pConsole, &autoLock))
-- it = m->llInstalledExtPacks.begin();
-- else
-- it++;
-- }
--}
--
--/**
-- * Calls the pfnVMCreated hook for all working extension packs.
-- *
-- * @param a_pMachine The machine interface of the new VM.
-- */
--void ExtPackManager::callAllVmCreatedHooks(IMachine *a_pMachine)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this; /* paranoia */
-- ExtPackList llExtPacks = m->llInstalledExtPacks;
--
-- for (ExtPackList::iterator it = llExtPacks.begin(); it != llExtPacks.end(); it++)
-- (*it)->callVmCreatedHook(m->pVirtualBox, a_pMachine, &autoLock);
--}
--
--/**
-- * Calls the pfnVMConfigureVMM hook for all working extension packs.
-- *
-- * @returns VBox status code. Stops on the first failure, expecting the caller
-- * to signal this to the caller of the CFGM constructor.
-- * @param a_pConsole The console interface for the VM.
-- * @param a_pVM The VM handle.
-- */
--int ExtPackManager::callAllVmConfigureVmmHooks(IConsole *a_pConsole, PVM a_pVM)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return Global::vboxStatusCodeFromCOM(hrc);
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this; /* paranoia */
-- ExtPackList llExtPacks = m->llInstalledExtPacks;
--
-- for (ExtPackList::iterator it = llExtPacks.begin(); it != llExtPacks.end(); it++)
-- {
-- int vrc;
-- (*it)->callVmConfigureVmmHook(a_pConsole, a_pVM, &autoLock, &vrc);
-- if (RT_FAILURE(vrc))
-- return vrc;
-- }
--
-- return VINF_SUCCESS;
--}
--
--/**
-- * Calls the pfnVMPowerOn hook for all working extension packs.
-- *
-- * @returns VBox status code. Stops on the first failure, expecting the caller
-- * to not power on the VM.
-- * @param a_pConsole The console interface for the VM.
-- * @param a_pVM The VM handle.
-- */
--int ExtPackManager::callAllVmPowerOnHooks(IConsole *a_pConsole, PVM a_pVM)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return Global::vboxStatusCodeFromCOM(hrc);
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this; /* paranoia */
-- ExtPackList llExtPacks = m->llInstalledExtPacks;
--
-- for (ExtPackList::iterator it = llExtPacks.begin(); it != llExtPacks.end(); it++)
-- {
-- int vrc;
-- (*it)->callVmPowerOnHook(a_pConsole, a_pVM, &autoLock, &vrc);
-- if (RT_FAILURE(vrc))
-- return vrc;
-- }
--
-- return VINF_SUCCESS;
--}
--
--/**
-- * Calls the pfnVMPowerOff hook for all working extension packs.
-- *
-- * @param a_pConsole The console interface for the VM.
-- * @param a_pVM The VM handle. Can be NULL.
-- */
--void ExtPackManager::callAllVmPowerOffHooks(IConsole *a_pConsole, PVM a_pVM)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoWriteLock autoLock(this COMMA_LOCKVAL_SRC_POS);
-- ComPtr<ExtPackManager> ptrSelfRef = this; /* paranoia */
-- ExtPackList llExtPacks = m->llInstalledExtPacks;
--
-- for (ExtPackList::iterator it = llExtPacks.begin(); it != llExtPacks.end(); it++)
-- (*it)->callVmPowerOffHook(a_pConsole, a_pVM, &autoLock);
--}
--
--
--/**
-- * Checks that the specified extension pack contains a VRDE module and that it
-- * is shipshape.
-- *
-- * @returns S_OK if ok, appropriate failure status code with details.
-- * @param a_pstrExtPack The name of the extension pack.
-- */
--HRESULT ExtPackManager::checkVrdeExtPack(Utf8Str const *a_pstrExtPack)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- ExtPack *pExtPack = findExtPack(a_pstrExtPack->c_str());
-- if (pExtPack)
-- hrc = pExtPack->checkVrde();
-- else
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("No extension pack by the name '%s' was found"), a_pstrExtPack->c_str());
-- }
--
-- return hrc;
--}
--
--/**
-- * Gets the full path to the VRDE library of the specified extension pack.
-- *
-- * This will do extacly the same as checkVrdeExtPack and then resolve the
-- * library path.
-- *
-- * @returns S_OK if a path is returned, COM error status and message return if
-- * not.
-- * @param a_pstrExtPack The extension pack.
-- * @param a_pstrVrdeLibrary Where to return the path.
-- */
--int ExtPackManager::getVrdeLibraryPathForExtPack(Utf8Str const *a_pstrExtPack, Utf8Str *a_pstrVrdeLibrary)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- ExtPack *pExtPack = findExtPack(a_pstrExtPack->c_str());
-- if (pExtPack)
-- hrc = pExtPack->getVrdpLibraryName(a_pstrVrdeLibrary);
-- else
-- hrc = setError(VBOX_E_OBJECT_NOT_FOUND, tr("No extension pack by the name '%s' was found"), a_pstrExtPack->c_str());
-- }
--
-- return hrc;
--}
--
--/**
-- * Gets the name of the default VRDE extension pack.
-- *
-- * @returns S_OK or some COM error status on red tape failure.
-- * @param a_pstrExtPack Where to return the extension pack name. Returns
-- * empty if no extension pack wishes to be the default
-- * VRDP provider.
-- */
--HRESULT ExtPackManager::getDefaultVrdeExtPack(Utf8Str *a_pstrExtPack)
--{
-- a_pstrExtPack->setNull();
--
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (SUCCEEDED(hrc))
-- {
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- it++)
-- {
-- if ((*it)->wantsToBeDefaultVrde())
-- {
-- *a_pstrExtPack = (*it)->m->Desc.strName;
-- break;
-- }
-- }
-- }
-- return hrc;
--}
--
--/**
-- * Checks if an extension pack is (present and) usable.
-- *
-- * @returns @c true if it is, otherwise @c false.
-- * @param a_pszExtPack The name of the extension pack.
-- */
--bool ExtPackManager::isExtPackUsable(const char *a_pszExtPack)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return false;
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- ExtPack *pExtPack = findExtPack(a_pszExtPack);
-- return pExtPack != NULL
-- && pExtPack->m->fUsable;
--}
--
--/**
-- * Dumps all extension packs to the release log.
-- */
--void ExtPackManager::dumpAllToReleaseLog(void)
--{
-- AutoCaller autoCaller(this);
-- HRESULT hrc = autoCaller.rc();
-- if (FAILED(hrc))
-- return;
-- AutoReadLock autoLock(this COMMA_LOCKVAL_SRC_POS);
--
-- LogRel(("Installed Extension Packs:\n"));
-- for (ExtPackList::iterator it = m->llInstalledExtPacks.begin();
-- it != m->llInstalledExtPacks.end();
-- it++)
-- {
-- ExtPack::Data *pExtPackData = (*it)->m;
-- if (pExtPackData)
-- {
-- if (pExtPackData->fUsable)
-- LogRel((" %s (Version: %s r%u%s%s; VRDE Module: %s)\n",
-- pExtPackData->Desc.strName.c_str(),
-- pExtPackData->Desc.strVersion.c_str(),
-- pExtPackData->Desc.uRevision,
-- pExtPackData->Desc.strEdition.isEmpty() ? "" : " ",
-- pExtPackData->Desc.strEdition.c_str(),
-- pExtPackData->Desc.strVrdeModule.c_str() ));
-- else
-- LogRel((" %s (Version: %s r%u%s%s; VRDE Module: %s unusable because of '%s')\n",
-- pExtPackData->Desc.strName.c_str(),
-- pExtPackData->Desc.strVersion.c_str(),
-- pExtPackData->Desc.uRevision,
-- pExtPackData->Desc.strEdition.isEmpty() ? "" : " ",
-- pExtPackData->Desc.strEdition.c_str(),
-- pExtPackData->Desc.strVrdeModule.c_str(),
-- pExtPackData->strWhyUnusable.c_str() ));
-- }
-- else
-- LogRel((" pExtPackData is NULL\n"));
-- }
--
-- if (!m->llInstalledExtPacks.size())
-- LogRel((" None installed!\n"));
--}
--
--/* vi: set tabstop=4 shiftwidth=4 expandtab: */
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-all/ExtPackUtil.cpp 2012-06-20 10:17:34.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,1385 +0,0 @@
--/* $Id: ExtPackUtil.cpp $ */
--/** @file
-- * VirtualBox Main - Extension Pack Utilities and definitions, VBoxC, VBoxSVC, ++.
-- */
--
--/*
-- * Copyright (C) 2010-2012 Oracle Corporation
-- *
-- * This file is part of VirtualBox Open Source Edition (OSE), as
-- * available from http://www.virtualbox.org. This file is free software;
-- * you can redistribute it and/or modify it under the terms of the GNU
-- * General Public License (GPL) as published by the Free Software
-- * Foundation, in version 2 as it comes in the "COPYING" file of the
-- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-- */
--
--
--/*******************************************************************************
--* Header Files *
--*******************************************************************************/
--#include "../include/ExtPackUtil.h"
--
--#include <iprt/ctype.h>
--#include <iprt/dir.h>
--#include <iprt/file.h>
--#include <iprt/manifest.h>
--#include <iprt/param.h>
--#include <iprt/path.h>
--#include <iprt/sha.h>
--#include <iprt/string.h>
--#include <iprt/vfs.h>
--#include <iprt/tar.h>
--#include <iprt/zip.h>
--#include <iprt/cpp/xml.h>
--
--#include <VBox/log.h>
--
--
--/**
-- * Worker for VBoxExtPackLoadDesc that loads the plug-in descriptors.
-- *
-- * @returns Same as VBoxExtPackLoadDesc.
-- * @param pVBoxExtPackElm
-- * @param pcPlugIns Where to return the number of plug-ins in the
-- * array.
-- * @param paPlugIns Where to return the plug-in descriptor array.
-- * (RTMemFree it even on failure)
-- */
--static RTCString *
--vboxExtPackLoadPlugInDescs(const xml::ElementNode *pVBoxExtPackElm,
-- uint32_t *pcPlugIns, PVBOXEXTPACKPLUGINDESC *paPlugIns)
--{
-- *pcPlugIns = 0;
-- *paPlugIns = NULL;
--
-- /** @todo plug-ins */
-- NOREF(pVBoxExtPackElm);
--
-- return NULL;
--}
--
--/**
-- * Clears the extension pack descriptor.
-- *
-- * @param a_pExtPackDesc The descriptor to clear.
-- */
--static void vboxExtPackClearDesc(PVBOXEXTPACKDESC a_pExtPackDesc)
--{
-- a_pExtPackDesc->strName.setNull();
-- a_pExtPackDesc->strDescription.setNull();
-- a_pExtPackDesc->strVersion.setNull();
-- a_pExtPackDesc->strEdition.setNull();
-- a_pExtPackDesc->uRevision = 0;
-- a_pExtPackDesc->strMainModule.setNull();
-- a_pExtPackDesc->strVrdeModule.setNull();
-- a_pExtPackDesc->cPlugIns = 0;
-- a_pExtPackDesc->paPlugIns = NULL;
-- a_pExtPackDesc->fShowLicense = false;
--}
--
--/**
-- * Initializes an extension pack descriptor so that it's safe to call free on
-- * it whatever happens later on.
-- *
-- * @param a_pExtPackDesc The descirptor to initialize.
-- */
--void VBoxExtPackInitDesc(PVBOXEXTPACKDESC a_pExtPackDesc)
--{
-- vboxExtPackClearDesc(a_pExtPackDesc);
--}
--
--
--/**
-- * Load the extension pack descriptor from an XML document.
-- *
-- * @returns NULL on success, pointer to an error message on failure (caller
-- * deletes it).
-- * @param a_pDoc Pointer to the the XML document.
-- * @param a_pExtPackDesc Where to store the extension pack descriptor.
-- */
--static RTCString *vboxExtPackLoadDescFromDoc(xml::Document *a_pDoc, PVBOXEXTPACKDESC a_pExtPackDesc)
--{
-- /*
-- * Get the main element and check its version.
-- */
-- const xml::ElementNode *pVBoxExtPackElm = a_pDoc->getRootElement();
-- if ( !pVBoxExtPackElm
-- || strcmp(pVBoxExtPackElm->getName(), "VirtualBoxExtensionPack") != 0)
-- return new RTCString("No VirtualBoxExtensionPack element");
--
-- RTCString strFormatVersion;
-- if (!pVBoxExtPackElm->getAttributeValue("version", strFormatVersion))
-- return new RTCString("Missing format version");
-- if (!strFormatVersion.equals("1.0"))
-- return &(new RTCString("Unsupported format version: "))->append(strFormatVersion);
--
-- /*
-- * Read and validate mandatory bits.
-- */
-- const xml::ElementNode *pNameElm = pVBoxExtPackElm->findChildElement("Name");
-- if (!pNameElm)
-- return new RTCString("The 'Name' element is missing");
-- const char *pszName = pNameElm->getValue();
-- if (!VBoxExtPackIsValidName(pszName))
-- return &(new RTCString("Invalid name: "))->append(pszName);
--
-- const xml::ElementNode *pDescElm = pVBoxExtPackElm->findChildElement("Description");
-- if (!pDescElm)
-- return new RTCString("The 'Description' element is missing");
-- const char *pszDesc = pDescElm->getValue();
-- if (!pszDesc || *pszDesc == '\0')
-- return new RTCString("The 'Description' element is empty");
-- if (strpbrk(pszDesc, "\n\r\t\v\b") != NULL)
-- return new RTCString("The 'Description' must not contain control characters");
--
-- const xml::ElementNode *pVersionElm = pVBoxExtPackElm->findChildElement("Version");
-- if (!pVersionElm)
-- return new RTCString("The 'Version' element is missing");
-- const char *pszVersion = pVersionElm->getValue();
-- if (!pszVersion || *pszVersion == '\0')
-- return new RTCString("The 'Version' element is empty");
-- if (!VBoxExtPackIsValidVersionString(pszVersion))
-- return &(new RTCString("Invalid version string: "))->append(pszVersion);
--
-- uint32_t uRevision;
-- if (!pVersionElm->getAttributeValue("revision", uRevision))
-- uRevision = 0;
--
-- const char *pszEdition;
-- if (!pVersionElm->getAttributeValue("edition", pszEdition))
-- pszEdition = "";
-- if (!VBoxExtPackIsValidEditionString(pszEdition))
-- return &(new RTCString("Invalid edition string: "))->append(pszEdition);
--
-- const xml::ElementNode *pMainModuleElm = pVBoxExtPackElm->findChildElement("MainModule");
-- if (!pMainModuleElm)
-- return new RTCString("The 'MainModule' element is missing");
-- const char *pszMainModule = pMainModuleElm->getValue();
-- if (!pszMainModule || *pszMainModule == '\0')
-- return new RTCString("The 'MainModule' element is empty");
-- if (!VBoxExtPackIsValidModuleString(pszMainModule))
-- return &(new RTCString("Invalid main module string: "))->append(pszMainModule);
--
-- /*
-- * The VRDE module, optional.
-- * Accept both none and empty as tokens of no VRDE module.
-- */
-- const char *pszVrdeModule = NULL;
-- const xml::ElementNode *pVrdeModuleElm = pVBoxExtPackElm->findChildElement("VRDEModule");
-- if (pVrdeModuleElm)
-- {
-- pszVrdeModule = pVrdeModuleElm->getValue();
-- if (!pszVrdeModule || *pszVrdeModule == '\0')
-- pszVrdeModule = NULL;
-- else if (!VBoxExtPackIsValidModuleString(pszVrdeModule))
-- return &(new RTCString("Invalid VRDE module string: "))->append(pszVrdeModule);
-- }
--
-- /*
-- * Whether to show the license, optional. (presense is enough here)
-- */
-- const xml::ElementNode *pShowLicenseElm = pVBoxExtPackElm->findChildElement("ShowLicense");
-- bool fShowLicense = pShowLicenseElm != NULL;
--
-- /*
-- * Parse plug-in descriptions (last because of the manual memory management).
-- */
-- uint32_t cPlugIns = 0;
-- PVBOXEXTPACKPLUGINDESC paPlugIns = NULL;
-- RTCString *pstrRet = vboxExtPackLoadPlugInDescs(pVBoxExtPackElm, &cPlugIns, &paPlugIns);
-- if (pstrRet)
-- {
-- RTMemFree(paPlugIns);
-- return pstrRet;
-- }
--
-- /*
-- * Everything seems fine, fill in the return values and return successfully.
-- */
-- a_pExtPackDesc->strName = pszName;
-- a_pExtPackDesc->strDescription = pszDesc;
-- a_pExtPackDesc->strVersion = pszVersion;
-- a_pExtPackDesc->strEdition = pszEdition;
-- a_pExtPackDesc->uRevision = uRevision;
-- a_pExtPackDesc->strMainModule = pszMainModule;
-- a_pExtPackDesc->strVrdeModule = pszVrdeModule;
-- a_pExtPackDesc->cPlugIns = cPlugIns;
-- a_pExtPackDesc->paPlugIns = paPlugIns;
-- a_pExtPackDesc->fShowLicense = fShowLicense;
--
-- return NULL;
--}
--
--/**
-- * Reads the extension pack descriptor.
-- *
-- * @returns NULL on success, pointer to an error message on failure (caller
-- * deletes it).
-- * @param a_pszDir The directory containing the description file.
-- * @param a_pExtPackDesc Where to store the extension pack descriptor.
-- * @param a_pObjInfo Where to store the object info for the file (unix
-- * attribs). Optional.
-- */
--RTCString *VBoxExtPackLoadDesc(const char *a_pszDir, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo)
--{
-- vboxExtPackClearDesc(a_pExtPackDesc);
--
-- /*
-- * Validate, open and parse the XML file.
-- */
-- char szFilePath[RTPATH_MAX];
-- int vrc = RTPathJoin(szFilePath, sizeof(szFilePath), a_pszDir, VBOX_EXTPACK_DESCRIPTION_NAME);
-- if (RT_FAILURE(vrc))
-- return new RTCString("RTPathJoin failed with %Rrc", vrc);
--
-- RTFSOBJINFO ObjInfo;
-- vrc = RTPathQueryInfoEx(szFilePath, &ObjInfo, RTFSOBJATTRADD_UNIX, RTPATH_F_ON_LINK);
-- if (RT_FAILURE(vrc))
-- return &(new RTCString())->printf("RTPathQueryInfoEx failed with %Rrc", vrc);
-- if (a_pObjInfo)
-- *a_pObjInfo = ObjInfo;
-- if (!RTFS_IS_FILE(ObjInfo.Attr.fMode))
-- {
-- if (RTFS_IS_SYMLINK(ObjInfo.Attr.fMode))
-- return new RTCString("The XML file is symlinked, that is not allowed");
-- return &(new RTCString)->printf("The XML file is not a file (fMode=%#x)", ObjInfo.Attr.fMode);
-- }
--
-- xml::Document Doc;
-- {
-- xml::XmlFileParser Parser;
-- try
-- {
-- Parser.read(szFilePath, Doc);
-- }
-- catch (xml::XmlError Err)
-- {
-- return new RTCString(Err.what());
-- }
-- }
--
-- /*
-- * Hand the xml doc over to the common code.
-- */
-- return vboxExtPackLoadDescFromDoc(&Doc, a_pExtPackDesc);
--}
--
--/**
-- * Reads the extension pack descriptor.
-- *
-- * @returns NULL on success, pointer to an error message on failure (caller
-- * deletes it).
-- * @param a_pszDir The directory containing the description file.
-- * @param a_pExtPackDesc Where to store the extension pack descriptor.
-- * @param a_pObjInfo Where to store the object info for the file (unix
-- * attribs). Optional.
-- */
--RTCString *VBoxExtPackLoadDescFromVfsFile(RTVFSFILE hVfsFile, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo)
--{
-- vboxExtPackClearDesc(a_pExtPackDesc);
--
-- /*
-- * Query the object info.
-- */
-- RTFSOBJINFO ObjInfo;
-- int rc = RTVfsFileQueryInfo(hVfsFile, &ObjInfo, RTFSOBJATTRADD_UNIX);
-- if (RT_FAILURE(rc))
-- return &(new RTCString)->printf("RTVfsFileQueryInfo failed: %Rrc", rc);
-- if (a_pObjInfo)
-- *a_pObjInfo = ObjInfo;
--
-- /*
-- * The simple approach, read the whole thing into memory and pass this to
-- * the XML parser.
-- */
--
-- /* Check the file size. */
-- if (ObjInfo.cbObject > _1M || ObjInfo.cbObject < 0)
-- return &(new RTCString)->printf("The XML file is too large (%'RU64 bytes)", ObjInfo.cbObject);
-- size_t const cbFile = (size_t)ObjInfo.cbObject;
--
-- /* Rewind to the start of the file. */
-- rc = RTVfsFileSeek(hVfsFile, 0, RTFILE_SEEK_BEGIN, NULL);
-- if (RT_FAILURE(rc))
-- return &(new RTCString)->printf("RTVfsFileSeek(,0,BEGIN) failed: %Rrc", rc);
--
-- /* Allocate memory and read the file content into it. */
-- void *pvFile = RTMemTmpAlloc(cbFile);
-- if (!pvFile)
-- return &(new RTCString)->printf("RTMemTmpAlloc(%zu) failed", cbFile);
--
-- RTCString *pstrErr = NULL;
-- rc = RTVfsFileRead(hVfsFile, pvFile, cbFile, NULL);
-- if (RT_FAILURE(rc))
-- pstrErr = &(new RTCString)->printf("RTVfsFileRead failed: %Rrc", rc);
--
-- /*
-- * Parse the file.
-- */
-- xml::Document Doc;
-- if (RT_SUCCESS(rc))
-- {
-- xml::XmlMemParser Parser;
-- RTCString strFileName = VBOX_EXTPACK_DESCRIPTION_NAME;
-- try
-- {
-- Parser.read(pvFile, cbFile, strFileName, Doc);
-- }
-- catch (xml::XmlError Err)
-- {
-- pstrErr = new RTCString(Err.what());
-- rc = VERR_PARSE_ERROR;
-- }
-- }
-- RTMemTmpFree(pvFile);
--
-- /*
-- * Hand the xml doc over to the common code.
-- */
-- if (RT_SUCCESS(rc))
-- pstrErr = vboxExtPackLoadDescFromDoc(&Doc, a_pExtPackDesc);
--
-- return pstrErr;
--}
--
--/**
-- * Frees all resources associated with a extension pack descriptor.
-- *
-- * @param a_pExtPackDesc The extension pack descriptor which members
-- * should be freed.
-- */
--void VBoxExtPackFreeDesc(PVBOXEXTPACKDESC a_pExtPackDesc)
--{
-- if (!a_pExtPackDesc)
-- return;
--
-- a_pExtPackDesc->strName.setNull();
-- a_pExtPackDesc->strDescription.setNull();
-- a_pExtPackDesc->strVersion.setNull();
-- a_pExtPackDesc->strEdition.setNull();
-- a_pExtPackDesc->uRevision = 0;
-- a_pExtPackDesc->strMainModule.setNull();
-- a_pExtPackDesc->strVrdeModule.setNull();
-- a_pExtPackDesc->cPlugIns = 0;
-- RTMemFree(a_pExtPackDesc->paPlugIns);
-- a_pExtPackDesc->paPlugIns = NULL;
-- a_pExtPackDesc->fShowLicense = false;
--}
--
--/**
-- * Extract the extension pack name from the tarball path.
-- *
-- * @returns String containing the name on success, the caller must delete it.
-- * NULL if no valid name was found or if we ran out of memory.
-- * @param pszTarball The path to the tarball.
-- */
--RTCString *VBoxExtPackExtractNameFromTarballPath(const char *pszTarball)
--{
-- /*
-- * Skip ahead to the filename part and count the number of characters
-- * that matches the criteria for a mangled extension pack name.
-- */
-- const char *pszSrc = RTPathFilename(pszTarball);
-- if (!pszSrc)
-- return NULL;
--
-- size_t off = 0;
-- while (RT_C_IS_ALNUM(pszSrc[off]) || pszSrc[off] == '_')
-- off++;
--
-- /*
-- * Check min and max name limits.
-- */
-- if ( off > VBOX_EXTPACK_NAME_MAX_LEN
-- || off < VBOX_EXTPACK_NAME_MIN_LEN)
-- return NULL;
--
-- /*
-- * Return the unmangled name.
-- */
-- return VBoxExtPackUnmangleName(pszSrc, off);
--}
--
--/**
-- * Validates the extension pack name.
-- *
-- * @returns true if valid, false if not.
-- * @param pszName The name to validate.
-- * @sa VBoxExtPackExtractNameFromTarballPath
-- */
--bool VBoxExtPackIsValidName(const char *pszName)
--{
-- if (!pszName)
-- return false;
--
-- /*
-- * Check the characters making up the name, only english alphabet
-- * characters, decimal digits and spaces are allowed.
-- */
-- size_t off = 0;
-- while (pszName[off])
-- {
-- if (!RT_C_IS_ALNUM(pszName[off]) && pszName[off] != ' ')
-- return false;
-- off++;
-- }
--
-- /*
-- * Check min and max name limits.
-- */
-- if ( off > VBOX_EXTPACK_NAME_MAX_LEN
-- || off < VBOX_EXTPACK_NAME_MIN_LEN)
-- return false;
--
-- return true;
--}
--
--/**
-- * Checks if an alledged manged extension pack name.
-- *
-- * @returns true if valid, false if not.
-- * @param pszMangledName The mangled name to validate.
-- * @param cchMax The max number of chars to test.
-- * @sa VBoxExtPackMangleName
-- */
--bool VBoxExtPackIsValidMangledName(const char *pszMangledName, size_t cchMax /*= RTSTR_MAX*/)
--{
-- if (!pszMangledName)
-- return false;
--
-- /*
-- * Check the characters making up the name, only english alphabet
-- * characters, decimal digits and underscores (=space) are allowed.
-- */
-- size_t off = 0;
-- while (off < cchMax && pszMangledName[off])
-- {
-- if (!RT_C_IS_ALNUM(pszMangledName[off]) && pszMangledName[off] != '_')
-- return false;
-- off++;
-- }
--
-- /*
-- * Check min and max name limits.
-- */
-- if ( off > VBOX_EXTPACK_NAME_MAX_LEN
-- || off < VBOX_EXTPACK_NAME_MIN_LEN)
-- return false;
--
-- return true;
--}
--
--/**
-- * Mangle an extension pack name so it can be used by a directory or file name.
-- *
-- * @returns String containing the mangled name on success, the caller must
-- * delete it. NULL on failure.
-- * @param pszName The unmangled name.
-- * @sa VBoxExtPackUnmangleName, VBoxExtPackIsValidMangledName
-- */
--RTCString *VBoxExtPackMangleName(const char *pszName)
--{
-- AssertReturn(VBoxExtPackIsValidName(pszName), NULL);
--
-- char szTmp[VBOX_EXTPACK_NAME_MAX_LEN + 1];
-- size_t off = 0;
-- char ch;
-- while ((ch = pszName[off]) != '\0')
-- {
-- if (ch == ' ')
-- ch = '_';
-- szTmp[off++] = ch;
-- }
-- szTmp[off] = '\0';
-- Assert(VBoxExtPackIsValidMangledName(szTmp));
--
-- return new RTCString(szTmp, off);
--}
--
--/**
-- * Unmangle an extension pack name (reverses VBoxExtPackMangleName).
-- *
-- * @returns String containing the mangled name on success, the caller must
-- * delete it. NULL on failure.
-- * @param pszMangledName The mangled name.
-- * @param cchMax The max name length. RTSTR_MAX is fine.
-- * @sa VBoxExtPackMangleName, VBoxExtPackIsValidMangledName
-- */
--RTCString *VBoxExtPackUnmangleName(const char *pszMangledName, size_t cchMax)
--{
-- AssertReturn(VBoxExtPackIsValidMangledName(pszMangledName, cchMax), NULL);
--
-- char szTmp[VBOX_EXTPACK_NAME_MAX_LEN + 1];
-- size_t off = 0;
-- char ch;
-- while ( off < cchMax
-- && (ch = pszMangledName[off]) != '\0')
-- {
-- if (ch == '_')
-- ch = ' ';
-- else
-- AssertReturn(RT_C_IS_ALNUM(ch) || ch == ' ', NULL);
-- szTmp[off++] = ch;
-- }
-- szTmp[off] = '\0';
-- AssertReturn(VBoxExtPackIsValidName(szTmp), NULL);
--
-- return new RTCString(szTmp, off);
--}
--
--/**
-- * Constructs the extension pack directory path.
-- *
-- * A combination of RTPathJoin and VBoxExtPackMangleName.
-- *
-- * @returns IPRT status code like RTPathJoin.
-- * @param pszExtPackDir Where to return the directory path.
-- * @param cbExtPackDir The size of the return buffer.
-- * @param pszParentDir The parent directory (".../Extensions").
-- * @param pszName The extension pack name, unmangled.
-- */
--int VBoxExtPackCalcDir(char *pszExtPackDir, size_t cbExtPackDir, const char *pszParentDir, const char *pszName)
--{
-- AssertReturn(VBoxExtPackIsValidName(pszName), VERR_INTERNAL_ERROR_5);
--
-- RTCString *pstrMangledName = VBoxExtPackMangleName(pszName);
-- if (!pstrMangledName)
-- return VERR_INTERNAL_ERROR_4;
--
-- int vrc = RTPathJoin(pszExtPackDir, cbExtPackDir, pszParentDir, pstrMangledName->c_str());
-- delete pstrMangledName;
--
-- return vrc;
--}
--
--
--/**
-- * Validates the extension pack version string.
-- *
-- * @returns true if valid, false if not.
-- * @param pszVersion The version string to validate.
-- */
--bool VBoxExtPackIsValidVersionString(const char *pszVersion)
--{
-- if (!pszVersion || *pszVersion == '\0')
-- return false;
--
-- /* 1.x.y.z... */
-- for (;;)
-- {
-- if (!RT_C_IS_DIGIT(*pszVersion))
-- return false;
-- do
-- pszVersion++;
-- while (RT_C_IS_DIGIT(*pszVersion));
-- if (*pszVersion != '.')
-- break;
-- pszVersion++;
-- }
--
-- /* upper case string + numbers indicating the build type */
-- if (*pszVersion == '-' || *pszVersion == '_')
-- {
-- /** @todo Should probably restrict this to known build types (alpha,
-- * beta, rc, ++). */
-- do
-- pszVersion++;
-- while ( RT_C_IS_DIGIT(*pszVersion)
-- || RT_C_IS_UPPER(*pszVersion)
-- || *pszVersion == '-'
-- || *pszVersion == '_');
-- }
--
-- return *pszVersion == '\0';
--}
--
--/**
-- * Validates the extension pack edition string.
-- *
-- * @returns true if valid, false if not.
-- * @param pszEdition The edition string to validate.
-- */
--bool VBoxExtPackIsValidEditionString(const char *pszEdition)
--{
-- if (*pszEdition)
-- {
-- if (!RT_C_IS_UPPER(*pszEdition))
-- return false;
--
-- do
-- pszEdition++;
-- while ( RT_C_IS_UPPER(*pszEdition)
-- || RT_C_IS_DIGIT(*pszEdition)
-- || *pszEdition == '-'
-- || *pszEdition == '_');
-- }
-- return *pszEdition == '\0';
--}
--
--/**
-- * Validates an extension pack module string.
-- *
-- * @returns true if valid, false if not.
-- * @param pszModule The module string to validate.
-- */
--bool VBoxExtPackIsValidModuleString(const char *pszModule)
--{
-- if (!pszModule || *pszModule == '\0')
-- return false;
--
-- /* Restricted charset, no extensions (dots). */
-- while ( RT_C_IS_ALNUM(*pszModule)
-- || *pszModule == '-'
-- || *pszModule == '_')
-- pszModule++;
--
-- return *pszModule == '\0';
--}
--
--/**
-- * RTStrPrintfv wrapper.
-- *
-- * @returns @a rc
-- * @param rc The status code to return.
-- * @param pszError The error buffer.
-- * @param cbError The size of the buffer.
-- * @param pszFormat The error message format string.
-- * @param ... Format arguments.
-- */
--static int vboxExtPackReturnError(int rc, char *pszError, size_t cbError, const char *pszFormat, ...)
--{
-- va_list va;
-- va_start(va, pszFormat);
-- RTStrPrintfV(pszError, cbError, pszFormat, va);
-- va_end(va);
-- return rc;
--}
--
--/**
-- * RTStrPrintfv wrapper.
-- *
-- * @param pszError The error buffer.
-- * @param cbError The size of the buffer.
-- * @param pszFormat The error message format string.
-- * @param ... Format arguments.
-- */
--static void vboxExtPackSetError(char *pszError, size_t cbError, const char *pszFormat, ...)
--{
-- va_list va;
-- va_start(va, pszFormat);
-- RTStrPrintfV(pszError, cbError, pszFormat, va);
-- va_end(va);
--}
--
--/**
-- * Verifies the manifest and its signature.
-- *
-- * @returns VBox status code, failures with message.
-- * @param hManifestFile The xml from the extension pack.
-- * @param pszExtPackName The expected extension pack name. This can be
-- * NULL, in which we don't have any expectations.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackVerifyXml(RTVFSFILE hXmlFile, const char *pszExtPackName, char *pszError, size_t cbError)
--{
-- /*
-- * Load the XML.
-- */
-- VBOXEXTPACKDESC ExtPackDesc;
-- RTCString *pstrErr = VBoxExtPackLoadDescFromVfsFile(hXmlFile, &ExtPackDesc, NULL);
-- if (pstrErr)
-- {
-- RTStrCopy(pszError, cbError, pstrErr->c_str());
-- delete pstrErr;
-- return VERR_PARSE_ERROR;
-- }
--
-- /*
-- * Check the name.
-- */
-- /** @todo drop this restriction after the old install interface is
-- * dropped. */
-- int rc = VINF_SUCCESS;
-- if ( pszExtPackName
-- && !ExtPackDesc.strName.equalsIgnoreCase(pszExtPackName))
-- rc = vboxExtPackReturnError(VERR_NOT_EQUAL, pszError, cbError,
-- "The name of the downloaded file and the name stored inside the extension pack does not match"
-- " (xml='%s' file='%s')", ExtPackDesc.strName.c_str(), pszExtPackName);
-- return rc;
--}
--
--/**
-- * Verifies the manifest and its signature.
-- *
-- * @returns VBox status code, failures with message.
-- * @param hOurManifest The manifest we compiled.
-- * @param hManifestFile The manifest file in the extension pack.
-- * @param hSignatureFile The manifest signature file.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackVerifyManifestAndSignature(RTMANIFEST hOurManifest, RTVFSFILE hManifestFile, RTVFSFILE hSignatureFile,
-- char *pszError, size_t cbError)
--{
-- /*
-- * Read the manifest from the extension pack.
-- */
-- int rc = RTVfsFileSeek(hManifestFile, 0, RTFILE_SEEK_BEGIN, NULL);
-- if (RT_FAILURE(rc))
-- return vboxExtPackReturnError(rc, pszError, cbError, "RTVfsFileSeek failed: %Rrc", rc);
--
-- RTMANIFEST hTheirManifest;
-- rc = RTManifestCreate(0 /*fFlags*/, &hTheirManifest);
-- if (RT_FAILURE(rc))
-- return vboxExtPackReturnError(rc, pszError, cbError, "RTManifestCreate failed: %Rrc", rc);
--
-- RTVFSIOSTREAM hVfsIos = RTVfsFileToIoStream(hManifestFile);
-- rc = RTManifestReadStandard(hTheirManifest, hVfsIos);
-- RTVfsIoStrmRelease(hVfsIos);
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Compare the manifests.
-- */
-- static const char *s_apszIgnoreEntries[] =
-- {
-- VBOX_EXTPACK_MANIFEST_NAME,
-- VBOX_EXTPACK_SIGNATURE_NAME,
-- "./" VBOX_EXTPACK_MANIFEST_NAME,
-- "./" VBOX_EXTPACK_SIGNATURE_NAME,
-- NULL
-- };
-- char szError[RTPATH_MAX];
-- rc = RTManifestEqualsEx(hOurManifest, hTheirManifest, &s_apszIgnoreEntries[0], NULL,
-- RTMANIFEST_EQUALS_IGN_MISSING_ATTRS /*fFlags*/,
-- szError, sizeof(szError));
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Validate the manifest file signature.
-- */
-- /** @todo implement signature stuff */
-- NOREF(hSignatureFile);
--
-- }
-- else if (rc == VERR_NOT_EQUAL && szError[0])
-- vboxExtPackSetError(pszError, cbError, "Manifest mismatch: %s", szError);
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestEqualsEx failed: %Rrc", rc);
--#if 0
-- RTVFSIOSTREAM hVfsIosStdOut = NIL_RTVFSIOSTREAM;
-- RTVfsIoStrmFromStdHandle(RTHANDLESTD_OUTPUT, RTFILE_O_WRITE, true, &hVfsIosStdOut);
-- RTVfsIoStrmWrite(hVfsIosStdOut, "Our:\n", sizeof("Our:\n") - 1, true, NULL);
-- RTManifestWriteStandard(hOurManifest, hVfsIosStdOut);
-- RTVfsIoStrmWrite(hVfsIosStdOut, "Their:\n", sizeof("Their:\n") - 1, true, NULL);
-- RTManifestWriteStandard(hTheirManifest, hVfsIosStdOut);
--#endif
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "Error parsing '%s': %Rrc", VBOX_EXTPACK_MANIFEST_NAME, rc);
--
-- RTManifestRelease(hTheirManifest);
-- return rc;
--}
--
--
--/**
-- * Verifies the file digest (if specified) and returns the SHA-256 of the file.
-- *
-- * @returns
-- * @param hFileManifest Manifest containing a SHA-256 digest of the file
-- * that was calculated as the file was processed.
-- * @param pszFileDigest SHA-256 digest of the file.
-- * @param pStrDigest Where to return the SHA-256 digest. Optional.
-- * @param pszError Where to write an error message on failure.
-- * @param cbError The size of the @a pszError buffer.
-- */
--static int vboxExtPackVerifyFileDigest(RTMANIFEST hFileManifest, const char *pszFileDigest,
-- RTCString *pStrDigest, char *pszError, size_t cbError)
--{
-- /*
-- * Extract the SHA-256 entry for the extpack file.
-- */
-- char szCalculatedDigest[RTSHA256_DIGEST_LEN + 1];
-- int rc = RTManifestEntryQueryAttr(hFileManifest, "extpack", NULL /*no name*/, RTMANIFEST_ATTR_SHA256,
-- szCalculatedDigest, sizeof(szCalculatedDigest), NULL);
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Convert the two strings to binary form before comparing.
-- * We convert the calculated hash even if we don't have anything to
-- * compare with, just to validate it.
-- */
-- uint8_t abCalculatedHash[RTSHA256_HASH_SIZE];
-- rc = RTSha256FromString(szCalculatedDigest, abCalculatedHash);
-- if (RT_SUCCESS(rc))
-- {
-- if ( pszFileDigest
-- && *pszFileDigest != '\0')
-- {
-- uint8_t abFileHash[RTSHA256_HASH_SIZE];
-- rc = RTSha256FromString(pszFileDigest, abFileHash);
-- if (RT_SUCCESS(rc))
-- {
-- if (memcmp(abFileHash, abCalculatedHash, sizeof(abFileHash)))
-- {
-- vboxExtPackSetError(pszError, cbError, "The extension pack file has changed (SHA-256 mismatch)");
-- rc = VERR_NOT_EQUAL;
-- }
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "Bad SHA-256 '%s': %Rrc", szCalculatedDigest, rc);
-- }
--
-- /*
-- * Set the output hash on success.
-- */
-- if (pStrDigest && RT_SUCCESS(rc))
-- {
-- try
-- {
-- *pStrDigest = szCalculatedDigest;
-- }
-- catch (std::bad_alloc)
-- {
-- rc = VERR_NO_MEMORY;
-- }
-- }
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "Bad SHA-256 '%s': %Rrc", szCalculatedDigest, rc);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestEntryGetAttr: %Rrc", rc);
-- return rc;
--}
--
--
--
--/**
-- * Validates a standard file.
-- *
-- * Generally all files are
-- *
-- * @returns VBox status code, failure message in @a pszError.
-- * @param pszAdjName The adjusted member name.
-- * @param enmType The VFS object type.
-- * @param phVfsObj The pointer to the VFS object handle variable.
-- * This is both input and output.
-- * @param phVfsFile Where to store the handle to the memorized
-- * file. This is NULL for license files.
-- * @param pszError Where to write an error message on failure.
-- * @param cbError The size of the @a pszError buffer.
-- */
--static int VBoxExtPackValidateStandardFile(const char *pszAdjName, RTVFSOBJTYPE enmType,
-- PRTVFSOBJ phVfsObj, PRTVFSFILE phVfsFile, char *pszError, size_t cbError)
--{
-- int rc;
--
-- /*
-- * Make sure it's a file and that it isn't too large.
-- */
-- if (phVfsFile && *phVfsFile != NIL_RTVFSFILE)
-- rc = vboxExtPackReturnError(VERR_DUPLICATE, pszError, cbError,
-- "There can only be one '%s'", pszAdjName);
-- else if (enmType != RTVFSOBJTYPE_IO_STREAM && enmType != RTVFSOBJTYPE_FILE)
-- rc = vboxExtPackReturnError(VERR_NOT_A_FILE, pszError, cbError,
-- "Standard member '%s' is not a file", pszAdjName);
-- else
-- {
-- RTFSOBJINFO ObjInfo;
-- rc = RTVfsObjQueryInfo(*phVfsObj, &ObjInfo, RTFSOBJATTRADD_NOTHING);
-- if (RT_SUCCESS(rc))
-- {
-- if (!RTFS_IS_FILE(ObjInfo.Attr.fMode))
-- rc = vboxExtPackReturnError(VERR_NOT_A_FILE, pszError, cbError,
-- "Standard member '%s' is not a file", pszAdjName);
-- else if (ObjInfo.cbObject >= _1M)
-- rc = vboxExtPackReturnError(VERR_OUT_OF_RANGE, pszError, cbError,
-- "Standard member '%s' is too large: %'RU64 bytes (max 1 MB)",
-- pszAdjName, (uint64_t)ObjInfo.cbObject);
-- else
-- {
-- /*
-- * Make an in memory copy of the stream and check that the file
-- * is UTF-8 clean.
-- */
-- RTVFSIOSTREAM hVfsIos = RTVfsObjToIoStream(*phVfsObj);
-- RTVFSFILE hVfsFile;
-- rc = RTVfsMemorizeIoStreamAsFile(hVfsIos, RTFILE_O_READ, &hVfsFile);
-- if (RT_SUCCESS(rc))
-- {
-- rc = RTVfsIoStrmValidateUtf8Encoding(hVfsIos,
-- RTVFS_VALIDATE_UTF8_BY_RTC_3629 | RTVFS_VALIDATE_UTF8_NO_NULL,
-- NULL);
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Replace *phVfsObj with the memorized file.
-- */
-- rc = RTVfsFileSeek(hVfsFile, 0, RTFILE_SEEK_BEGIN, NULL);
-- if (RT_SUCCESS(rc))
-- {
-- RTVfsObjRelease(*phVfsObj);
-- *phVfsObj = RTVfsObjFromFile(hVfsFile);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsFileSeek failed on '%s': %Rrc", pszAdjName, rc);
-- }
--
-- if (phVfsFile && RT_SUCCESS(rc))
-- *phVfsFile = hVfsFile;
-- else
-- RTVfsFileRelease(hVfsFile);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsMemorizeIoStreamAsFile failed on '%s': %Rrc", pszAdjName, rc);
-- RTVfsIoStrmRelease(hVfsIos);
-- }
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsObjQueryInfo failed on '%s': %Rrc", pszAdjName, rc);
-- }
-- return rc;
--}
--
--
--/**
-- * Validates a name in an extension pack.
-- *
-- * We restrict the charset to try make sure the extension pack can be unpacked
-- * on all file systems.
-- *
-- * @returns VBox status code, failures with message.
-- * @param pszName The name to validate.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackValidateMemberName(const char *pszName, char *pszError, size_t cbError)
--{
-- if (RTPathStartsWithRoot(pszName))
-- return vboxExtPackReturnError(VERR_PATH_IS_NOT_RELATIVE, pszError, cbError, "'%s': starts with root spec", pszName);
--
-- const char *pszErr = NULL;
-- const char *psz = pszName;
-- int ch;
-- while ((ch = *psz) != '\0')
-- {
-- /* Character set restrictions. */
-- if (ch < 0 || ch >= 128)
-- {
-- pszErr = "Only 7-bit ASCII allowed";
-- break;
-- }
-- if (ch <= 31 || ch == 127)
-- {
-- pszErr = "No control characters are not allowed";
-- break;
-- }
-- if (ch == '\\')
-- {
-- pszErr = "Only backward slashes are not allowed";
-- break;
-- }
-- if (strchr("'\":;*?|[]<>(){}", ch))
-- {
-- pszErr = "The characters ', \", :, ;, *, ?, |, [, ], <, >, (, ), { and } are not allowed";
-- break;
-- }
--
-- /* Take the simple way out and ban all ".." sequences. */
-- if ( ch == '.'
-- && psz[1] == '.')
-- {
-- pszErr = "Double dot sequence are not allowed";
-- break;
-- }
--
-- /* Keep the tree shallow or the hardening checks will fail. */
-- if (psz - pszName > VBOX_EXTPACK_MAX_MEMBER_NAME_LENGTH)
-- {
-- pszErr = "Too long";
-- break;
-- }
--
-- /* advance */
-- psz++;
-- }
--
-- if (pszErr)
-- return vboxExtPackReturnError(VERR_INVALID_NAME, pszError, cbError,
-- "Bad member name '%s' (pos %zu): %s", pszName, (size_t)(psz - pszName), pszErr);
-- return RTEXITCODE_SUCCESS;
--}
--
--
--/**
-- * Validates a file in an extension pack.
-- *
-- * @returns VBox status code, failures with message.
-- * @param pszName The name of the file.
-- * @param hVfsObj The VFS object.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackValidateMemberFile(const char *pszName, RTVFSOBJ hVfsObj, char *pszError, size_t cbError)
--{
-- int rc = vboxExtPackValidateMemberName(pszName, pszError, cbError);
-- if (RT_SUCCESS(rc))
-- {
-- RTFSOBJINFO ObjInfo;
-- rc = RTVfsObjQueryInfo(hVfsObj, &ObjInfo, RTFSOBJATTRADD_NOTHING);
-- if (RT_SUCCESS(rc))
-- {
-- if (ObjInfo.cbObject >= 9*_1G64)
-- rc = vboxExtPackReturnError(VERR_OUT_OF_RANGE, pszError, cbError,
-- "'%s': too large (%'RU64 bytes)",
-- pszName, (uint64_t)ObjInfo.cbObject);
-- if (!RTFS_IS_FILE(ObjInfo.Attr.fMode))
-- rc = vboxExtPackReturnError(VERR_NOT_A_FILE, pszError, cbError,
-- "The alleged file '%s' has a mode mask stating otherwise (%RTfmode)",
-- pszName, ObjInfo.Attr.fMode);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsObjQueryInfo failed on '%s': %Rrc", pszName, rc);
-- }
-- return rc;
--}
--
--
--/**
-- * Validates a directory in an extension pack.
-- *
-- * @returns VBox status code, failures with message.
-- * @param pszName The name of the directory.
-- * @param hVfsObj The VFS object.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--static int vboxExtPackValidateMemberDir(const char *pszName, RTVFSOBJ hVfsObj, char *pszError, size_t cbError)
--{
-- int rc = vboxExtPackValidateMemberName(pszName, pszError, cbError);
-- if (RT_SUCCESS(rc))
-- {
-- RTFSOBJINFO ObjInfo;
-- rc = RTVfsObjQueryInfo(hVfsObj, &ObjInfo, RTFSOBJATTRADD_NOTHING);
-- if (RT_SUCCESS(rc))
-- {
-- if (!RTFS_IS_DIRECTORY(ObjInfo.Attr.fMode))
-- rc = vboxExtPackReturnError(VERR_NOT_A_DIRECTORY, pszError, cbError,
-- "The alleged directory '%s' has a mode mask saying differently (%RTfmode)",
-- pszName, ObjInfo.Attr.fMode);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTVfsObjQueryInfo failed on '%s': %Rrc", pszName, rc);
-- }
-- return rc;
--}
--
--/**
-- * Validates a member of an extension pack.
-- *
-- * @returns VBox status code, failures with message.
-- * @param pszName The name of the directory.
-- * @param enmType The object type.
-- * @param hVfsObj The VFS object.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- */
--int VBoxExtPackValidateMember(const char *pszName, RTVFSOBJTYPE enmType, RTVFSOBJ hVfsObj, char *pszError, size_t cbError)
--{
-- Assert(cbError > 0);
-- *pszError = '\0';
--
-- int rc;
-- if ( enmType == RTVFSOBJTYPE_FILE
-- || enmType == RTVFSOBJTYPE_IO_STREAM)
-- rc = vboxExtPackValidateMemberFile(pszName, hVfsObj, pszError, cbError);
-- else if ( enmType == RTVFSOBJTYPE_DIR
-- || enmType == RTVFSOBJTYPE_BASE)
-- rc = vboxExtPackValidateMemberDir(pszName, hVfsObj, pszError, cbError);
-- else
-- rc = vboxExtPackReturnError(VERR_UNEXPECTED_FS_OBJ_TYPE, pszError, cbError,
-- "'%s' is not a file or directory (enmType=%d)", pszName, enmType);
-- return rc;
--}
--
--
--/**
-- * Rewinds the tarball file handle and creates a gunzip | tar chain that
-- * results in a filesystem stream.
-- *
-- * @returns VBox status code, failures with message.
-- * @param hTarballFile The handle to the tarball file.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- * @param phTarFss Where to return the filesystem stream handle.
-- * @param phFileManifest Where to return a manifest where the tarball is
-- * gettting hashed. The entry will be called
-- * "extpack" and be ready when the file system
-- * stream is at an end. Optional.
-- */
--int VBoxExtPackOpenTarFss(RTFILE hTarballFile, char *pszError, size_t cbError, PRTVFSFSSTREAM phTarFss, PRTMANIFEST phFileManifest)
--{
-- Assert(cbError > 0);
-- *pszError = '\0';
-- *phTarFss = NIL_RTVFSFSSTREAM;
--
-- /*
-- * Rewind the file and set up a VFS chain for it.
-- */
-- int rc = RTFileSeek(hTarballFile, 0, RTFILE_SEEK_BEGIN, NULL);
-- if (RT_FAILURE(rc))
-- return vboxExtPackReturnError(rc, pszError, cbError, "Failed seeking to the start of the tarball: %Rrc", rc);
--
-- RTVFSIOSTREAM hTarballIos;
-- rc = RTVfsIoStrmFromRTFile(hTarballFile, RTFILE_O_READ | RTFILE_O_DENY_WRITE | RTFILE_O_OPEN, true /*fLeaveOpen*/,
-- &hTarballIos);
-- if (RT_FAILURE(rc))
-- return vboxExtPackReturnError(rc, pszError, cbError, "RTVfsIoStrmFromRTFile failed: %Rrc", rc);
--
-- RTMANIFEST hFileManifest = NIL_RTMANIFEST;
-- rc = RTManifestCreate(0 /*fFlags*/, &hFileManifest);
-- if (RT_SUCCESS(rc))
-- {
-- RTVFSIOSTREAM hPtIos;
-- rc = RTManifestEntryAddPassthruIoStream(hFileManifest, hTarballIos, "extpack", RTMANIFEST_ATTR_SHA256, true /*read*/, &hPtIos);
-- if (RT_SUCCESS(rc))
-- {
-- RTVFSIOSTREAM hGunzipIos;
-- rc = RTZipGzipDecompressIoStream(hPtIos, 0 /*fFlags*/, &hGunzipIos);
-- if (RT_SUCCESS(rc))
-- {
-- RTVFSFSSTREAM hTarFss;
-- rc = RTZipTarFsStreamFromIoStream(hGunzipIos, 0 /*fFlags*/, &hTarFss);
-- if (RT_SUCCESS(rc))
-- {
-- RTVfsIoStrmRelease(hPtIos);
-- RTVfsIoStrmRelease(hGunzipIos);
-- RTVfsIoStrmRelease(hTarballIos);
-- *phTarFss = hTarFss;
-- if (phFileManifest)
-- *phFileManifest = hFileManifest;
-- else
-- RTManifestRelease(hFileManifest);
-- return VINF_SUCCESS;
-- }
--
-- vboxExtPackSetError(pszError, cbError, "RTZipTarFsStreamFromIoStream failed: %Rrc", rc);
-- RTVfsIoStrmRelease(hGunzipIos);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTZipGzipDecompressIoStream failed: %Rrc", rc);
-- RTVfsIoStrmRelease(hPtIos);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestEntryAddPassthruIoStream failed: %Rrc", rc);
-- RTManifestRelease(hFileManifest);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestCreate failed: %Rrc", rc);
--
-- RTVfsIoStrmRelease(hTarballIos);
-- return rc;
--}
--
--
--/**
-- * Validates the extension pack tarball prior to unpacking.
-- *
-- * Operations performed:
-- * - Mandatory files.
-- * - Manifest check.
-- * - Manifest seal check.
-- * - XML check, match name.
-- *
-- * @returns VBox status code, failures with message.
-- * @param hTarballFile The handle to open the @a pszTarball file.
-- * @param pszExtPackName The name of the extension pack name. NULL if
-- * the name is not fixed.
-- * @param pszTarball The name of the tarball in case we have to
-- * complain about something.
-- * @param pszTarballDigest The SHA-256 digest of the tarball. Empty string
-- * if no digest available.
-- * @param pszError Where to store an error message on failure.
-- * @param cbError The size of the buffer @a pszError points to.
-- * @param phValidManifest Where to optionally return the handle to fully
-- * validated the manifest for the extension pack.
-- * This includes all files.
-- * @param phXmlFile Where to optionally return the memorized XML
-- * file.
-- * @param pStrDigest Where to return the digest of the file.
-- * Optional.
-- */
--int VBoxExtPackValidateTarball(RTFILE hTarballFile, const char *pszExtPackName,
-- const char *pszTarball, const char *pszTarballDigest,
-- char *pszError, size_t cbError,
-- PRTMANIFEST phValidManifest, PRTVFSFILE phXmlFile, RTCString *pStrDigest)
--{
-- /*
-- * Clear return values.
-- */
-- if (phValidManifest)
-- *phValidManifest = NIL_RTMANIFEST;
-- if (phXmlFile)
-- *phXmlFile = NIL_RTVFSFILE;
-- Assert(cbError > 1);
-- *pszError = '\0';
-- NOREF(pszTarball);
--
-- /*
-- * Open the tar.gz filesystem stream and set up an manifest in-memory file.
-- */
-- RTMANIFEST hFileManifest;
-- RTVFSFSSTREAM hTarFss;
-- int rc = VBoxExtPackOpenTarFss(hTarballFile, pszError, cbError, &hTarFss, &hFileManifest);
-- if (RT_FAILURE(rc))
-- return rc;
--
-- RTMANIFEST hOurManifest;
-- rc = RTManifestCreate(0 /*fFlags*/, &hOurManifest);
-- if (RT_SUCCESS(rc))
-- {
-- /*
-- * Process the tarball (would be nice to move this to a function).
-- */
-- RTVFSFILE hXmlFile = NIL_RTVFSFILE;
-- RTVFSFILE hManifestFile = NIL_RTVFSFILE;
-- RTVFSFILE hSignatureFile = NIL_RTVFSFILE;
-- for (;;)
-- {
-- /*
-- * Get the next stream object.
-- */
-- char *pszName;
-- RTVFSOBJ hVfsObj;
-- RTVFSOBJTYPE enmType;
-- rc = RTVfsFsStrmNext(hTarFss, &pszName, &enmType, &hVfsObj);
-- if (RT_FAILURE(rc))
-- {
-- if (rc != VERR_EOF)
-- vboxExtPackSetError(pszError, cbError, "RTVfsFsStrmNext failed: %Rrc", rc);
-- else
-- rc = VINF_SUCCESS;
-- break;
-- }
-- const char *pszAdjName = pszName[0] == '.' && pszName[1] == '/' ? &pszName[2] : pszName;
--
-- /*
-- * Check the type & name validity, performing special tests on
-- * standard extension pack member files.
-- *
-- * N.B. We will always reach the end of the loop before breaking on
-- * failure - cleanup reasons.
-- */
-- rc = VBoxExtPackValidateMember(pszName, enmType, hVfsObj, pszError, cbError);
-- if (RT_SUCCESS(rc))
-- {
-- PRTVFSFILE phVfsFile = NULL;
-- if (!strcmp(pszAdjName, VBOX_EXTPACK_DESCRIPTION_NAME))
-- phVfsFile = &hXmlFile;
-- else if (!strcmp(pszAdjName, VBOX_EXTPACK_MANIFEST_NAME))
-- phVfsFile = &hManifestFile;
-- else if (!strcmp(pszAdjName, VBOX_EXTPACK_SIGNATURE_NAME))
-- phVfsFile = &hSignatureFile;
-- else if (!strncmp(pszAdjName, VBOX_EXTPACK_LICENSE_NAME_PREFIX, sizeof(VBOX_EXTPACK_LICENSE_NAME_PREFIX) - 1))
-- rc = VBoxExtPackValidateStandardFile(pszAdjName, enmType, &hVfsObj, NULL, pszError, cbError);
-- if (phVfsFile)
-- rc = VBoxExtPackValidateStandardFile(pszAdjName, enmType, &hVfsObj, phVfsFile, pszError, cbError);
-- }
--
-- /*
-- * Add any I/O stream to the manifest
-- */
-- if ( RT_SUCCESS(rc)
-- && ( enmType == RTVFSOBJTYPE_FILE
-- || enmType == RTVFSOBJTYPE_IO_STREAM))
-- {
-- RTVFSIOSTREAM hVfsIos = RTVfsObjToIoStream(hVfsObj);
-- rc = RTManifestEntryAddIoStream(hOurManifest, hVfsIos, pszAdjName, RTMANIFEST_ATTR_SIZE | RTMANIFEST_ATTR_SHA256);
-- if (RT_FAILURE(rc))
-- vboxExtPackSetError(pszError, cbError, "RTManifestEntryAddIoStream failed on '%s': %Rrc", pszAdjName, rc);
-- RTVfsIoStrmRelease(hVfsIos);
-- }
--
-- /*
-- * Clean up and break out on failure.
-- */
-- RTVfsObjRelease(hVfsObj);
-- RTStrFree(pszName);
-- if (RT_FAILURE(rc))
-- break;
-- }
--
-- /*
-- * Check the integrity of the tarball file.
-- */
-- if (RT_SUCCESS(rc))
-- {
-- RTVfsFsStrmRelease(hTarFss);
-- hTarFss = NIL_RTVFSFSSTREAM;
-- rc = vboxExtPackVerifyFileDigest(hFileManifest, pszTarballDigest, pStrDigest, pszError, cbError);
-- }
--
-- /*
-- * If we've successfully processed the tarball, verify that the
-- * mandatory files are present.
-- */
-- if (RT_SUCCESS(rc))
-- {
-- if (hXmlFile == NIL_RTVFSFILE)
-- rc = vboxExtPackReturnError(VERR_MISSING, pszError, cbError, "Mandator file '%s' is missing", VBOX_EXTPACK_DESCRIPTION_NAME);
-- if (hManifestFile == NIL_RTVFSFILE)
-- rc = vboxExtPackReturnError(VERR_MISSING, pszError, cbError, "Mandator file '%s' is missing", VBOX_EXTPACK_MANIFEST_NAME);
-- if (hSignatureFile == NIL_RTVFSFILE)
-- rc = vboxExtPackReturnError(VERR_MISSING, pszError, cbError, "Mandator file '%s' is missing", VBOX_EXTPACK_SIGNATURE_NAME);
-- }
--
-- /*
-- * Check the manifest and it's signature.
-- */
-- if (RT_SUCCESS(rc))
-- rc = vboxExtPackVerifyManifestAndSignature(hOurManifest, hManifestFile, hSignatureFile, pszError, cbError);
--
-- /*
-- * Check the XML.
-- */
-- if (RT_SUCCESS(rc))
-- rc = vboxExtPackVerifyXml(hXmlFile, pszExtPackName, pszError, cbError);
--
-- /*
-- * Returns objects.
-- */
-- if (RT_SUCCESS(rc))
-- {
-- if (phValidManifest)
-- {
-- RTManifestRetain(hOurManifest);
-- *phValidManifest = hOurManifest;
-- }
-- if (phXmlFile)
-- {
-- RTVfsFileRetain(hXmlFile);
-- *phXmlFile = hXmlFile;
-- }
-- }
--
-- /*
-- * Release our object references.
-- */
-- RTManifestRelease(hOurManifest);
-- RTVfsFileRelease(hXmlFile);
-- RTVfsFileRelease(hManifestFile);
-- RTVfsFileRelease(hSignatureFile);
-- }
-- else
-- vboxExtPackSetError(pszError, cbError, "RTManifestCreate failed: %Rrc", rc);
-- RTVfsFsStrmRelease(hTarFss);
-- RTManifestRelease(hFileManifest);
--
-- return rc;
--}
--
---- VirtualBox-4.1.18.orig/include/Makefile.kmk 2012-06-20 10:07:49.000000000 -0300
-+++ VirtualBox-4.1.18/include/Makefile.kmk 2012-07-24 21:11:57.007068865 -0300
-@@ -51,7 +51,6 @@
- VBox/vd-cache-plugin.h \
- VBox/vmm/uvm.h \
- VBox/vscsi.h \
-- $(wildcard VBox/ExtPack/*.h ) \
- iprt/alloca.h \
- iprt/tcp.h \
- iprt/localipc.h \
---- VirtualBox-4.1.18.orig/src/Makefile.kmk 2012-06-20 10:07:57.000000000 -0300
-+++ VirtualBox-4.1.18/src/Makefile.kmk 2012-07-24 22:51:10.206996034 -0300
-@@ -26,14 +26,6 @@
- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
- include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
-
--else if defined(VBOX_ONLY_EXTPACKS)
-- include $(PATH_SUB_CURRENT)/bldprogs/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
-- ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- include $(PATH_SUB_CURRENT)/recompiler/Makefile.kmk
-- endif
--
- else if defined(VBOX_ONLY_TESTSUITE)
- include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
---- VirtualBox-4.1.18.orig/src/VBox/Makefile.kmk 2012-07-24 21:19:55.565641784 -0300
-+++ VirtualBox-4.1.18/src/VBox/Makefile.kmk 2012-07-24 22:12:55.429156962 -0300
-@@ -33,19 +33,6 @@
- include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
- include $(PATH_SUB_CURRENT)/Frontends/Makefile.kmk
-
--else ifdef VBOX_ONLY_EXTPACKS
-- include $(PATH_SUB_CURRENT)/Runtime/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/Devices/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/ExtPacks/Makefile.kmk
-- ifdef VBOX_WITH_VRDP
-- include $(PATH_SUB_CURRENT)/RDP/Makefile.kmk
-- endif
-- include $(PATH_SUB_CURRENT)/VMM/Makefile.kmk
-- ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- include $(PATH_SUB_CURRENT)/Disassembler/Makefile.kmk
-- endif
--
- else ifdef VBOX_ONLY_SDK
- include $(PATH_SUB_CURRENT)/Main/Makefile.kmk
- ifdef VBOX_WITH_VRDP
-@@ -92,9 +79,6 @@
- if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
- include $(PATH_SUB_CURRENT)/NetworkServices/Makefile.kmk
- endif
-- ifndef VBOX_OSE
-- include $(PATH_SUB_CURRENT)/ExtPacks/Makefile.kmk
-- endif
- ifdef VBOX_WITH_INSTALLER
- include $(PATH_SUB_CURRENT)/Installer/Makefile.kmk # Keep this last.
- endif
---- VirtualBox-4.1.18/src/libs/Makefile.kmk.orig 2012-07-24 21:23:26.938013023 -0300
-+++ VirtualBox-4.1.18/src/libs/Makefile.kmk 2012-07-24 21:43:42.557911752 -0300
-@@ -48,13 +48,6 @@
- include $(PATH_SUB_CURRENT)/kStuff/Makefile.kmk
- endif
-
--# OpenSSL.
--if !defined(VBOX_ONLY_SDK) \
-- && ( "$(SDK_VBOX_OPENSSL_INCS)" == "$(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)" \
-- || defined(VBOX_WITH_EXTPACK_PUEL_BUILD))
-- include $(PATH_SUB_CURRENT)/openssl-0.9.8t/Makefile.kmk
--endif
--
- # libjpeg for VRDP video redirection
- if defined(VBOX_WITH_VRDP) && defined(VBOX_WITH_VRDP_VIDEO_CHANNEL)
- include $(PATH_SUB_CURRENT)/jpeg-8a/Makefile.kmk
---- VirtualBox-4.1.18.orig/src/VBox/Devices/Makefile.kmk 2012-07-24 23:06:45.916276235 -0300
-+++ VirtualBox-4.1.18/src/VBox/Devices/Makefile.kmk 2012-07-24 23:17:00.202963228 -0300
-@@ -21,9 +21,7 @@
-
- # Include sub-makefiles.
- include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
--if defined(VBOX_WITH_INTEL_PXE) || defined(VBOX_ONLY_EXTPACKS)
-- include $(PATH_SUB_CURRENT)/PC/PXE/Makefile.kmk
--else if defined(VBOX_WITH_PXE_ROM) && !defined(VBOX_WITHOUT_ETHERBOOT)
-+if defined(VBOX_WITH_PXE_ROM) && !defined(VBOX_WITHOUT_ETHERBOOT)
- include $(PATH_SUB_CURRENT)/PC/Etherboot-src/Makefile.kmk
- endif
- if !defined(VBOX_ONLY_EXTPACKS) # Goes on almost to the end of the file.
-@@ -57,9 +55,6 @@
- ifdef VBOX_WITH_USB
- VBoxDDU_DEFS += VBOX_WITH_USB IN_USBLIB
- VBoxDDU_SDKS.win = WINPSDK W2K3DDK
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- VBoxDDU_DEFS += VBOX_WITH_EHCI_IMPL
-- endif
- ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
- VBoxDDU_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
- endif
-@@ -122,9 +117,6 @@
- VBoxDD_DEFS = VBOX_ACPI
- ifdef VBOX_WITH_USB
- VBoxDD_DEFS += VBOX_WITH_USB
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- VBoxDD_DEFS += VBOX_WITH_EHCI_IMPL
-- endif
- endif
- ifdef VBOX_WITH_VUSB
- VBoxDD_DEFS += VBOX_WITH_VUSB
-@@ -446,11 +438,6 @@
- endif
- ifdef VBOX_WITH_USB
- DevicesR3_DEFS += VBOX_WITH_USB
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- DevicesR3_DEFS += VBOX_WITH_EHCI_IMPL
-- DevicesR3_SOURCES += \
-- USB/DevEHCI.cpp
-- endif
- endif
- if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
- DevicesR3_DEFS += VBOX_WITH_PCI_PASSTHROUGH_IMPL
-@@ -607,11 +594,6 @@
-
- ifdef VBOX_WITH_USB
- VBoxDDGC_DEFS += VBOX_WITH_USB
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- VBoxDDGC_DEFS += VBOX_WITH_EHCI_IMPL
-- VBoxDDGC_SOURCES += \
-- USB/DevEHCI.cpp
-- endif
- endif
-
- ifdef VBOX_WITH_VIDEOHWACCEL
-@@ -711,11 +693,6 @@
- endif
- ifdef VBOX_WITH_USB
- VBoxDDR0_DEFS += VBOX_WITH_USB
-- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- VBoxDDR0_DEFS += VBOX_WITH_EHCI_IMPL
-- VBoxDDR0_SOURCES += \
-- USB/DevEHCI.cpp
-- endif
- endif
-
- if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-@@ -1204,49 +1181,5 @@
-
- endif # !VBOX_ONLY_EXTPACKS
-
--if defined(VBOX_WITH_EXTPACK_PUEL) && defined(VBOX_WITH_EXTPACK_PUEL_BUILD)
-- #
-- # The EHCI (USB 2.0) Extension Pack Modules.
-- #
-- if defined(VBOX_WITH_USB)
-- DLLS += VBoxEhciR3
-- VBoxEhciR3_TEMPLATE = VBoxR3ExtPackPuel
-- VBoxEhciR3_SOURCES = USB/DevEHCI.cpp
--
-- SYSMODS += VBoxEhciR0
-- VBoxEhciR0_TEMPLATE = VBoxR0ExtPackPuel
-- VBoxEhciR0_SOURCES = USB/DevEHCI.cpp
--
-- ifdef VBOX_WITH_RAW_MODE
-- SYSMODS += VBoxEhciRC
-- VBoxEhciRC_TEMPLATE = VBoxRcExtPackPuel
-- VBoxEhciRC_SOURCES = USB/DevEHCI.cpp
-- endif
-- endif
--
-- if defined(VBOX_WITH_PCI_PASSTHROUGH)
-- DLLS += VBoxPciRawR3
-- VBoxPciRawR3_TEMPLATE = VBoxR3ExtPackPuel
-- VBoxPciRawR3_SOURCES = Bus/DevPciRaw.cpp
--
-- DLLS += VBoxPciRawDrv
-- VBoxPciRawDrv_TEMPLATE = VBoxR3ExtPackPuel
-- VBoxPciRawDrv_SOURCES = Bus/DrvPciRaw.cpp
--
-- SYSMODS += VBoxPciRawR0
-- VBoxPciRawR0_TEMPLATE = VBoxR0ExtPackPuel
-- VBoxPciRawR0_SOURCES = Bus/DevPciRaw.cpp
--
-- Bus/DevPciRaw.cpp_INCS = Bus
-- endif
--
-- #
-- # The Intel PXE rom.
-- #
-- INSTALLS += VBoxExtPackPuelInsRoms
-- VBoxExtPackPuelInsRoms_TEMPLATE = VBoxInsExtPackPuel
-- VBoxExtPackPuelInsRoms_SOURCES = PC/PXE/PXE-Intel.rom=>PXE-Intel.rom
--endif # VBOX_WITH_EXTPACK_PUEL
--
- include $(KBUILD_PATH)/subfooter.kmk
-
---- VirtualBox-4.1.18.orig/src/VBox/Main/Makefile.kmk 2012-07-24 23:38:25.304126039 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/Makefile.kmk 2012-07-24 23:38:25.350789964 -0300
-@@ -230,14 +230,12 @@
- $(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,) \
- $(if $(VBOX_USB_WITH_INOTIFY),VBOX_USB_WITH_INOTIFY,) \
- $(if $(VBOX_WITH_LIVE_MIGRATION),VBOX_WITH_LIVE_MIGRATION,) \
-- $(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK,) \
- $(if $(VBOX_WITH_VUSB),VBOX_WITH_VUSB,) \
- $(if $(VBOX_WITH_S3),VBOX_WITH_S3,) \
- $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,)
- ifdef VBOX_WITH_USB
- VBoxSVC_DEFS += \
- VBOX_WITH_USB \
-- $(if $(VBOX_WITH_EHCI),VBOX_WITH_EHCI,) \
- $(if $(VBOX_WITH_NEW_USB_CODE_ON_DARWIN),VBOX_WITH_NEW_USB_CODE_ON_DARWIN,)
- endif
- VBoxSVC_DEFS.win += VBOX_COM_OUTOFPROC_MODULE
-@@ -290,7 +288,6 @@
- src-all/SharedFolderImpl.cpp \
- src-all/VirtualBoxBase.cpp \
- src-all/VirtualBoxErrorInfoImpl.cpp \
-- $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
- src-server/ApplianceImpl.cpp \
- src-server/ApplianceImplExport.cpp \
- src-server/ApplianceImplImport.cpp \
-@@ -543,8 +540,6 @@
- $(if $(VBOX_WITH_HGSMI),VBOX_WITH_HGSMI,) \
- $(if $(VBOX_WITH_VIDEOHWACCEL),VBOX_WITH_VIDEOHWACCEL,) \
- $(if $(VBOX_WITH_USB),VBOX_WITH_USB,) \
-- $(if-expr defined(VBOX_WITH_EHCI) && defined(VBOX_WITH_USB),VBOX_WITH_EHCI,) \
-- $(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK,) \
- $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,)
-
- VBoxC_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
-@@ -602,7 +597,6 @@
- src-all/SharedFolderImpl.cpp \
- src-all/VirtualBoxBase.cpp \
- src-all/VirtualBoxErrorInfoImpl.cpp \
-- $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
- $(if $(VBOX_WITH_USB_VIDEO),src-client/UsbWebcamInterface.cpp,) \
- $(if $(VBOX_WITH_USB_CARDREADER),src-client/UsbCardReader.cpp,) \
- src-client/AdditionsFacilityImpl.cpp \
-@@ -711,22 +705,6 @@
- endif # !win
-
-
--#
--# The VBoxExtPackHelperApp.
--#
--ifdef VBOX_WITH_EXTPACK
-- PROGRAMS += VBoxExtPackHelperApp
-- VBoxExtPackHelperApp_TEMPLATE = VBoxR3SetUidToRoot
-- VBoxExtPackHelperApp_LDFLAGS.darwin = -framework Security
-- VBoxExtPackHelperApp_LDFLAGS.win = /SUBSYSTEM:windows
-- VBoxExtPackHelperApp_SOURCES = \
-- src-helper-apps/VBoxExtPackHelperApp.cpp \
-- src-all/ExtPackUtil.cpp
-- VBoxExtPackHelperApp_LIBS = \
-- $(LIB_RUNTIME)
--endif # VBOX_WITH_EXTPACK
--
--
- endif # !VBOX_ONLY_SDK (the ifndef is far above)
-
-
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/Makefile.kmk 2012-07-24 23:25:04.575825175 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/Makefile.kmk 2012-07-24 23:25:04.619156084 -0300
-@@ -888,7 +888,6 @@
- $(VBOX_MACOSX_ICON_FILE)=>Resources/virtualbox.icns \
- $(VBOX_BRAND_GUI_VBOX_64PX_PNG)=>Resources/virtualbox.png \
- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-vbox.icns=>Resources/virtualbox-vbox.icns \
-- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-vbox-extpack.icns=>Resources/virtualbox-vbox-extpack.icns \
- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-ovf.icns=>Resources/virtualbox-ovf.icns \
- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-ova.icns=>Resources/virtualbox-ova.icns \
- $(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-vdi.icns=>Resources/virtualbox-vdi.icns \
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-24 23:28:17.985011038 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-24 23:28:18.051673913 -0300
-@@ -167,18 +167,6 @@
- <file alias="status_check_32px.png">images/status_check_32px.png</file>
- <file alias="status_error_16px.png">images/status_error_16px.png</file>
- <file alias="status_error_32px.png">images/status_error_32px.png</file>
-- <file alias="extension_pack_16px.png">images/extension_pack_16px.png</file>
-- <file alias="extension_pack_disabled_16px.png">images/extension_pack_disabled_16px.png</file>
-- <file alias="extension_pack_32px.png">images/extension_pack_32px.png</file>
-- <file alias="extension_pack_disabled_32px.png">images/extension_pack_disabled_32px.png</file>
-- <file alias="extension_pack_install_16px.png">images/extension_pack_install_16px.png</file>
-- <file alias="extension_pack_install_disabled_16px.png">images/extension_pack_install_disabled_16px.png</file>
-- <file alias="extension_pack_install_32px.png">images/extension_pack_install_32px.png</file>
-- <file alias="extension_pack_install_disabled_32px.png">images/extension_pack_install_disabled_32px.png</file>
-- <file alias="extension_pack_uninstall_16px.png">images/extension_pack_uninstall_16px.png</file>
-- <file alias="extension_pack_uninstall_disabled_16px.png">images/extension_pack_uninstall_disabled_16px.png</file>
-- <file alias="extension_pack_uninstall_32px.png">images/extension_pack_uninstall_32px.png</file>
-- <file alias="extension_pack_uninstall_disabled_32px.png">images/extension_pack_uninstall_disabled_32px.png</file>
- <file alias="proxy_16px.png">images/proxy_16px.png</file>
- <file alias="proxy_disabled_16px.png">images/proxy_disabled_16px.png</file>
- <file alias="proxy_32px.png">images/proxy_32px.png</file>
---- VirtualBox-4.1.18.orig/src/VBox/Installer/linux/Makefile.kmk 2012-07-25 00:32:00.780012664 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/linux/Makefile.kmk 2012-07-25 00:32:00.806677728 -0300
-@@ -170,11 +170,6 @@
- VBox.sh \
- VBox.png
-
--ifdef VBOX_WITH_EXTPACK
-- VBOX_LNX_STRIP_BIN += \
-- VBoxExtPackHelperApp
--endif
--
- # Qt4 GUI
- ifdef VBOX_WITH_QTGUI
- include $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
-@@ -286,7 +281,7 @@
-
- VBOX_MIME_ICONS = \
- $(addprefix $(PATH_ROOT)/src/VBox/Resources/other/,\
-- $(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
-+ $(foreach f,ova ovf vbox vdi vmdk vhd hdd, \
- $(foreach s,16 20 24 32 48 64 72 96 128 256,\
- virtualbox-$(f)-$(s)px.png=>$(s)x$(s)/virtualbox-$(f).png)))
-
---- VirtualBox-4.1.18.orig/src/VBox/Installer/win/Makefile.kmk 2012-07-25 00:34:52.253398525 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/win/Makefile.kmk 2012-07-25 00:34:52.300062531 -0300
-@@ -435,7 +435,6 @@
- -E 'VBOX_WITH_DEBUGGER_GUI=$(if-expr defined(VBOX_WITH_DEBUGGER_GUI) && defined(VBOX_WITH_QTGUI),yes,no)' \
- -E 'VBOX_WITH_DOCS_PACKING=$(if $(VBOX_WITH_DOCS_PACKING),yes,no)' \
- -E 'VBOX_WITH_EFIFW_PACKING=$(if $(VBOX_WITH_EFIFW_PACKING),yes,no)' \
-- -E 'VBOX_WITH_EXTPACK=$(if $(VBOX_WITH_EXTPACK),yes,no)' \
- -E 'VBOX_WITH_GUEST_CONTROL=$(if $(VBOX_WITH_GUEST_CONTROL),yes,no)' \
- -E 'VBOX_WITH_GUEST_PROPS=$(if $(VBOX_WITH_GUEST_PROPS),yes,no)' \
- -E 'VBOX_WITH_NETFLT=$(if $(VBOX_WITH_NETFLT),yes,no)' \
---- VirtualBox-4.1.18.orig/src/VBox/Installer/darwin/Makefile.kmk 2012-07-25 00:36:55.929571374 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/darwin/Makefile.kmk 2012-07-25 00:36:55.959569630 -0300
-@@ -629,7 +629,6 @@
- MacOS/VirtualBoxVM \
- MacOS/VBoxNetAdpCtl \
- MacOS/VBoxNetDHCP \
-- MacOS/VBoxExtPackHelperApp \
- MacOS/VBoxBalloonCtrl
- ifdef VBOX_WITH_WEBSERVICES
- VBOX_DI_VBAPP_PROGS += \
-@@ -659,7 +658,6 @@
- Resources/virtualbox.icns \
- Resources/virtualbox.png \
- Resources/virtualbox-vbox.icns \
-- Resources/virtualbox-vbox-extpack.icns \
- Resources/virtualbox-ovf.icns \
- Resources/virtualbox-ova.icns \
- Resources/virtualbox-vdi.icns \
---- VirtualBox-4.1.18/src/VBox/Installer/solaris/Makefile.kmk.orig 2012-07-25 00:38:48.476398293 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/solaris/Makefile.kmk 2012-07-25 00:38:48.516396159 -0300
-@@ -185,12 +185,12 @@
-
- VBOX_MIME_ICONS = \
- $(addprefix $(PATH_ROOT)/src/VBox/Resources/other/,\
-- $(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
-+ $(foreach f,ova ovf vbox vdi vmdk vhd hdd, \
- $(foreach s,16 20 24 32 48 64 72 96 128 256,\
- virtualbox-$(f)-$(s)px.png=>$(s)x$(s)/mimetypes/virtualbox-$(f).png)))
-
- SOLARIS_COMMON_ICONS = \
-- $(foreach f,ova ovf vbox vbox-extpack vdi vmdk vhd hdd, \
-+ $(foreach f,ova ovf vbox vdi vmdk vhd hdd, \
- $(foreach s,16 20 24 32 48 64 72 96 128 256,\
- $(s)x$(s)/mimetypes/virtualbox-$(f).png))
-
-@@ -210,7 +210,6 @@
- $(if $(VBOX_WITH_VBOXSDL),VBoxSDL,) \
- $(if $(VBOX_WITH_NETADP),VBoxNetAdpCtl,) \
- VBoxNetDHCP \
-- $(if $(VBOX_WITH_EXTPACK),VBoxExtPackHelperApp,) \
- VBoxSVC \
- $(if $(VBOX_WITH_CROGL),VBoxTestOGL,) \
- VBoxXPCOMIPCD \
---- VirtualBox-4.1.18.orig/src/VBox/Runtime/Makefile.kmk 2012-07-25 00:40:58.745522450 -0300
-+++ VirtualBox-4.1.18/src/VBox/Runtime/Makefile.kmk 2012-07-25 00:40:58.782186960 -0300
-@@ -53,15 +53,6 @@
- #
- LIBRARIES += RuntimeR3 RuntimeBldProg
-
--else ifdef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- #
-- # Build docs only - need just regular R3 runtime.
-- #
-- LIBRARIES += RuntimeBldProg
-- LIBRARIES.solaris += RuntimeR0Stub
-- LIBRARIES.win += RuntimeR0Stub RuntimeRCStub
-- include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
--
- else # !VBOX_ONLY_ADDITIONS && !VBOX_ONLY_TESTSUITE && !VBOX_ONLY_DOCS
-
- #
diff --git a/libre/virtualbox-libre-modules/linux34.patch b/libre/virtualbox-libre-modules/linux34.patch
deleted file mode 100644
index 05ec78557..000000000
--- a/libre/virtualbox-libre-modules/linux34.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur VirtualBox-4.1.14.orig/Config.kmk VirtualBox-4.1.14/Config.kmk
---- VirtualBox-4.1.14.orig/Config.kmk 2012-04-26 16:56:21.000000000 +0000
-+++ VirtualBox-4.1.14/Config.kmk 2012-05-21 14:35:22.348398884 +0000
-@@ -2856,7 +2856,7 @@
- TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \
- -fno-reorder-blocks -ffreestanding -fno-asynchronous-unwind-tables -funit-at-a-time \
- -Wno-sign-compare -Wdeclaration-after-statement
--TEMPLATE_VBOXR0DRV_CXXFLAGS = $(filter-out -Wstrict-prototypes -Wno-pointer-sign -ffreestanding -Wdeclaration-after-statement -Werror-implicit-function-declaration,$(TEMPLATE_VBOXR0DRV_CFLAGS) $(TEMPLATE_VBOXR0DRV_CFLAGS.$(KBUILD_TARGET_ARCH))) -fno-exceptions -fno-rtti
-+TEMPLATE_VBOXR0DRV_CXXFLAGS = $(filter-out -Wstrict-prototypes -Wno-pointer-sign -ffreestanding -Wdeclaration-after-statement -Werror-implicit-function-declaration,$(TEMPLATE_VBOXR0DRV_CFLAGS) $(TEMPLATE_VBOXR0DRV_CFLAGS.$(KBUILD_TARGET_ARCH))) -fno-exceptions -fno-rtti -fpermissive
- ifndef VBOX_LINUX_VERSION_2_4
- # 2.6
- TEMPLATE_VBOXR0DRV_SYSSUFF = .ko
diff --git a/libre/virtualbox-libre-modules/os_blag.png b/libre/virtualbox-libre-modules/os_blag.png
deleted file mode 100644
index 61995ca10..000000000
--- a/libre/virtualbox-libre-modules/os_blag.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_blag_64.png b/libre/virtualbox-libre-modules/os_blag_64.png
deleted file mode 100644
index aa4463a97..000000000
--- a/libre/virtualbox-libre-modules/os_blag_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_dragora.png b/libre/virtualbox-libre-modules/os_dragora.png
deleted file mode 100644
index d1df45880..000000000
--- a/libre/virtualbox-libre-modules/os_dragora.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_dragora_64.png b/libre/virtualbox-libre-modules/os_dragora_64.png
deleted file mode 100644
index 64bcecf20..000000000
--- a/libre/virtualbox-libre-modules/os_dragora_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_dynebolic.png b/libre/virtualbox-libre-modules/os_dynebolic.png
deleted file mode 100644
index 67b07d4c0..000000000
--- a/libre/virtualbox-libre-modules/os_dynebolic.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_gnewsense.png b/libre/virtualbox-libre-modules/os_gnewsense.png
deleted file mode 100644
index 76d9e38b3..000000000
--- a/libre/virtualbox-libre-modules/os_gnewsense.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_gnewsense_64.png b/libre/virtualbox-libre-modules/os_gnewsense_64.png
deleted file mode 100644
index 8859c34e8..000000000
--- a/libre/virtualbox-libre-modules/os_gnewsense_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_gnu.png b/libre/virtualbox-libre-modules/os_gnu.png
deleted file mode 100644
index 26c4550f9..000000000
--- a/libre/virtualbox-libre-modules/os_gnu.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_gnu_64.png b/libre/virtualbox-libre-modules/os_gnu_64.png
deleted file mode 100644
index 4161634e9..000000000
--- a/libre/virtualbox-libre-modules/os_gnu_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_gnuhurd.png b/libre/virtualbox-libre-modules/os_gnuhurd.png
deleted file mode 100644
index 26c4550f9..000000000
--- a/libre/virtualbox-libre-modules/os_gnuhurd.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_gnulinux.png b/libre/virtualbox-libre-modules/os_gnulinux.png
deleted file mode 100644
index 26c4550f9..000000000
--- a/libre/virtualbox-libre-modules/os_gnulinux.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_gnulinux_64.png b/libre/virtualbox-libre-modules/os_gnulinux_64.png
deleted file mode 100644
index 4161634e9..000000000
--- a/libre/virtualbox-libre-modules/os_gnulinux_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_musix.png b/libre/virtualbox-libre-modules/os_musix.png
deleted file mode 100644
index fb7b94577..000000000
--- a/libre/virtualbox-libre-modules/os_musix.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_musix_64.png b/libre/virtualbox-libre-modules/os_musix_64.png
deleted file mode 100644
index a1bbbbf3a..000000000
--- a/libre/virtualbox-libre-modules/os_musix_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_os64base.png b/libre/virtualbox-libre-modules/os_os64base.png
deleted file mode 100644
index 7aec20314..000000000
--- a/libre/virtualbox-libre-modules/os_os64base.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_os64base.xcf b/libre/virtualbox-libre-modules/os_os64base.xcf
deleted file mode 100644
index d8e28e35e..000000000
--- a/libre/virtualbox-libre-modules/os_os64base.xcf
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_osbase.png b/libre/virtualbox-libre-modules/os_osbase.png
deleted file mode 100644
index 00f197fca..000000000
--- a/libre/virtualbox-libre-modules/os_osbase.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_osbase.xcf b/libre/virtualbox-libre-modules/os_osbase.xcf
deleted file mode 100644
index c4463c857..000000000
--- a/libre/virtualbox-libre-modules/os_osbase.xcf
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_parabola.png b/libre/virtualbox-libre-modules/os_parabola.png
deleted file mode 100644
index 757abc484..000000000
--- a/libre/virtualbox-libre-modules/os_parabola.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_parabola_64.png b/libre/virtualbox-libre-modules/os_parabola_64.png
deleted file mode 100644
index 5ac7c2767..000000000
--- a/libre/virtualbox-libre-modules/os_parabola_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_trisquel.png b/libre/virtualbox-libre-modules/os_trisquel.png
deleted file mode 100644
index c6f0d3d7a..000000000
--- a/libre/virtualbox-libre-modules/os_trisquel.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_trisquel_64.png b/libre/virtualbox-libre-modules/os_trisquel_64.png
deleted file mode 100644
index ebca3dd43..000000000
--- a/libre/virtualbox-libre-modules/os_trisquel_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_ututo.png b/libre/virtualbox-libre-modules/os_ututo.png
deleted file mode 100644
index e1dffb575..000000000
--- a/libre/virtualbox-libre-modules/os_ututo.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_ututo_64.png b/libre/virtualbox-libre-modules/os_ututo_64.png
deleted file mode 100644
index 158468e0a..000000000
--- a/libre/virtualbox-libre-modules/os_ututo_64.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/os_venenux.png b/libre/virtualbox-libre-modules/os_venenux.png
deleted file mode 100644
index 5e0c1585d..000000000
--- a/libre/virtualbox-libre-modules/os_venenux.png
+++ /dev/null
Binary files differ
diff --git a/libre/virtualbox-libre-modules/virtualbox-libre-parabola-modules.install b/libre/virtualbox-libre-modules/virtualbox-libre-guest-modules.install
index c3419c991..caf59aa13 100644..100755
--- a/libre/virtualbox-libre-modules/virtualbox-libre-parabola-modules.install
+++ b/libre/virtualbox-libre-modules/virtualbox-libre-guest-modules.install
@@ -2,16 +2,16 @@ post_install() {
cat << EOF
===> You may want to load vboxguest, vboxsf and vboxvideo
EOF
- EXTRAMODULES='extramodules-3.5-LIBRE'
+ EXTRAMODULES='extramodules-3.6-LIBRE'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
}
post_upgrade() {
- EXTRAMODULES='extramodules-3.5-LIBRE'
+ EXTRAMODULES='extramodules-3.6-LIBRE'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
}
post_remove() {
- EXTRAMODULES='extramodules-3.5-LIBRE'
+ EXTRAMODULES='extramodules-3.6-LIBRE'
depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
}
diff --git a/libre/virtualbox-libre-modules/virtualbox-libre-modules.install b/libre/virtualbox-libre-modules/virtualbox-libre-host-modules.install
index 3f2a12a3f..8605cf20a 100644..100755
--- a/libre/virtualbox-libre-modules/virtualbox-libre-modules.install
+++ b/libre/virtualbox-libre-modules/virtualbox-libre-host-modules.install
@@ -1,5 +1,5 @@
post_install() {
-/bin/cat << EOF
+cat << EOF
===> You must load vboxdrv module before starting VirtualBox:
===> # modprobe vboxdrv
EOF
diff --git a/libre/virtualbox-libre/10-vboxdrv.rules b/libre/virtualbox-libre/10-vboxdrv.rules
index 37403ae2f..37403ae2f 100644..100755
--- a/libre/virtualbox-libre/10-vboxdrv.rules
+++ b/libre/virtualbox-libre/10-vboxdrv.rules
diff --git a/libre/virtualbox-libre-modules-lts/60-vboxguest.rules b/libre/virtualbox-libre/60-vboxguest.rules
index 6285f7249..6285f7249 100644
--- a/libre/virtualbox-libre-modules-lts/60-vboxguest.rules
+++ b/libre/virtualbox-libre/60-vboxguest.rules
diff --git a/libre/virtualbox-libre/LocalConfig.kmk b/libre/virtualbox-libre/LocalConfig.kmk
index 6eca06d9b..6eca06d9b 100644..100755
--- a/libre/virtualbox-libre/LocalConfig.kmk
+++ b/libre/virtualbox-libre/LocalConfig.kmk
diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD
index 1ac873d98..1983a2cd3 100644..100755
--- a/libre/virtualbox-libre/PKGBUILD
+++ b/libre/virtualbox-libre/PKGBUILD
@@ -1,35 +1,118 @@
# $Id$
# Maintainer: Ionut Biru <ibiru@archlinux.org>
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# Maintainer (Parabola): Nicolas Reynolds <fauno@kiwwwi.com.ar>
# Maintainer (Parabola): Jorge López <jorginho@lavabit.com>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
pkgbase=virtualbox-libre
pkgname=('virtualbox-libre'
- 'virtualbox-libre-parabola-additions'
'virtualbox-libre-sdk'
- 'virtualbox-libre-source'
- 'virtualbox-libre-parabola-source')
-pkgver=4.1.20
-pkgrel=2
+ 'virtualbox-libre-host-source'
+ 'virtualbox-libre-guest-utils'
+ 'virtualbox-libre-guest-source')
+pkgver=4.2.0
+pkgrel=4.1
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL' 'custom')
-makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst'
-'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'linux-libre-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk7-openjdk' 'gsoap' 'vde2')
-#'xorg-server-devel' 'xf86driproto' 'libxcomposite')
+makedepends=('alsa-lib'
+ 'bin86'
+ 'cdrkit-libre'
+ 'curl'
+ 'dev86'
+ 'gsoap'
+ 'iasl'
+ 'jdk7-openjdk'
+ 'libidl2'
+ 'libpulse'
+ 'libstdc++5'
+ 'libvncserver'
+ 'libxcursor'
+ 'libxinerama'
+ 'libxml2'
+ 'libxmu'
+ 'libxrandr'
+ 'libxslt'
+ 'libxtst'
+ 'linux-libre-headers'
+ 'mesa'
+ 'glu'
+ 'python2'
+ 'qt'
+ 'sdl-libre'
+ 'sdl_ttf'
+ 'vde2'
+ 'xalan-c')
[[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc')
-source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2
- 10-vboxdrv.rules vboxdrv-reference.patch LocalConfig.kmk ipv6_vnc.patch
- change_default_driver_dir.patch vboxservice.conf vboxservice.rc vboxservice.service
- vboxweb.conf vboxweb.rc vboxweb.service os_blag_64.png os_blag.png os_dragora_64.png
- os_dragora.png os_dynebolic.png os_gnewsense_64.png os_gnewsense.png os_gnu_64.png
- os_gnuhurd.png os_gnulinux_64.png os_gnulinux.png os_gnu.png os_musix_64.png
- os_musix.png os_parabola_64.png os_parabola.png os_trisquel_64.png os_trisquel.png
- os_ututo_64.png os_ututo.png os_venenux.png libre.patch free-distros.patch)
-
-_extramodules=extramodules-3.5-LIBRE
-_kernver="$(cat /usr/lib/modules/${_extramodules}/version)" || true
+source=("http://download.virtualbox.org/virtualbox/$pkgver/VirtualBox-$pkgver.tar.bz2"
+ '10-vboxdrv.rules'
+ '60-vboxguest.rules'
+ 'LocalConfig.kmk'
+ 'vboxservice.conf'
+ 'vboxservice.rc'
+ 'vboxservice.service'
+ 'vboxweb.conf'
+ 'vboxweb.rc'
+ 'vboxweb.service'
+ 'change_default_driver_dir.patch'
+ 'vboxdrv-reference.patch'
+ 'os_blag_64.png'
+ 'os_blag.png'
+ 'os_dragora_64.png'
+ 'os_dragora.png'
+ 'os_dynebolic.png'
+ 'os_gnewsense_64.png'
+ 'os_gnewsense.png'
+ 'os_gnu_64.png'
+ 'os_gnu.png'
+ 'os_musix_64.png'
+ 'os_musix.png'
+ 'os_parabola_64.png'
+ 'os_parabola.png'
+ 'os_trisquel_64.png'
+ 'os_trisquel.png'
+ 'os_ututo_64.png'
+ 'os_ututo.png'
+ 'os_venenux.png'
+ 'libre.patch'
+ 'free-distros.patch')
+md5sums=('691b4134983ce7d89b9fb683305cb647'
+ '5f85710e0b8606de967716ded7b2d351'
+ 'ed1341881437455d9735875ddf455fbe'
+ '58d6e5bb4b4c1c6f3f0b3daa6aaeed03'
+ '3c08ad30b89add47d3f45121200a5360'
+ '7d9823507206de9b8528a72af2f18d74'
+ '07c5f6d86c4b7839d719c8ee0c53653b'
+ '7e9483b1069a54f181546083ac7e5469'
+ 'c159d683ba1947290fc2ad2c64194150'
+ 'bc9efed88e0469cd7fc460d5a5cd7b4b'
+ '97e193f050574dd272a38e5ee5ebe62b'
+ '4f1692638d6740df4c4ad9766ba4e179'
+ '8538dba8686d7449cb481c9bae9d722a'
+ '545c925b46f2ac95e5f8ae407fad101a'
+ 'f6416f509c2e5460e4dc624e0a57f3c1'
+ 'bbfb59dd517c020a23701b480187a355'
+ 'efacfdb61918286ea9bc89866b8fd239'
+ '7c3eb09995e8bafeef414374e44ad4ce'
+ 'a49ed3ab6bd0fb084de0ab3dd97ae93e'
+ '6b432b3305ed446125eef052c38355a6'
+ 'a70022a468bd3e9daf01818d2d74ac3c'
+ '380eb2ab6cad3da198094585853c129c'
+ 'a60bb9a98abcc3c34156f9051d00df9a'
+ '3a908ef6952bcf987e63ef2fe4e98d24'
+ '02e87c39c353634cecacf98f1707fa15'
+ '0cf41a41e7a415d404d5584e047fd450'
+ '449cde3b58390284b59c5d663de3edc9'
+ 'c7951fe6888d939f3a7d0dafe477e82b'
+ '4da8eeb2ece7e475fc7a0d1003da26c6'
+ '5e4187af59726d71c5be48d0cd816c34'
+ '67cc4c8611890038eb3e4114ae899525'
+ '19109b9b69222fd16cc46579495c4606')
+
+#_extramodules=extramodules-3.5-LIBRE
+#_kernver="$(cat /usr/lib/modules/${_extramodules}/version)" || true
build() {
cd "VirtualBox-$pkgver"
@@ -51,21 +134,22 @@ build() {
rm -v "./src/VBox/Frontends/VirtualBox/images/extension_pack_"{16px,32px,disabled{_16px,_32px},install{_16px,_32px},install_disabled{_16px,_32px},uninstall{_16px,_32px},uninstall_disabled{_16px,_32px}}.png
## Adding free distros icons
- for i in {gnuhurd,dynebolic,venenux,{gnu{,linux},parabola,gnewsense,blag,dragora,ututo,musix,trisquel}{,_64}}; do
+ for i in {dynebolic,venenux,{gnu,parabola,gnewsense,blag,dragora,ututo,musix,trisquel}{,_64}}; do
cp -v "$srcdir/os_${i}.png" "./src/VBox/Frontends/VirtualBox/images"
done
- ## Removing non-free OS icons
- rm -v "./src/VBox/Frontends/VirtualBox/images/os_"{{{arch,turbo}linux,debian,fedora,gentoo,linux{24,26},macosx,mandriva,{free,net,open}bsd,redhat,solaris,opensuse,oracle{,solaris},ubuntu,win{2k{3,8},7,8,vista,xp},xandros}{,_64},dos,jrockitve,l4,linux{,22,_other},netware,qnx,os2{_other,ecs,warp{3,4,45}},win{2k,31,95,98,_other,me,nt4}}.png
-
cp "$srcdir/LocalConfig.kmk" .
+ # fake makeself binary to compile without nofatal
+ ln -s /bin/echo makeself
+ export PATH="$CWD:$PATH"
+
./configure --disable-docs \
--enable-webservice \
--enable-vde \
--enable-vnc \
- --nofatal \
- --with-linux=/usr/src/linux-${_kernver}
+ --disable-kmods
+# --with-linux=/usr/src/linux-${_kernver}
source ./env.sh
kmk all
sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' "out/linux.$BUILD_PLATFORM_ARCH/release/bin/vboxshell.py"
@@ -76,14 +160,13 @@ build() {
}
package_virtualbox-libre() {
- pkgdesc="Powerful x86 virtualization for enterprise as well as home use (without Oracle VM VirtualBox Extension Pack and non-free OS options support)"
- depends=('virtualbox-libre-modules' 'libxml2' 'libxcursor' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng')
- optdepends=('qt: for VirtualBox GUI'
+ pkgdesc='Powerful x86 virtualization for enterprise as well as home use (with free GNU/Linux distros presets and Oracle VM VirtualBox Extension Pack support removed)'
+ depends=('virtualbox-libre-host-modules' 'libxml2' 'libxcursor' 'libxinerama' 'sdl-libre' 'libxmu' 'curl' 'libvncserver' 'libpng')
+ optdepends=('qt: VirtualBox GUI support'
'vde2: Virtual Distributed Ethernet support'
- 'virtualbox-libre-sdk: developer kit'
- 'virtualbox-libre-source: host kernel libre source modules for non-stock kernels'
- 'net-tools: for host-only or bridged networking')
-
+ 'virtualbox-libre-sdk: Developer kit'
+ 'virtualbox-libre-host-source: Host kernel libre source modules for non-stock kernels'
+ 'net-tools: Host-only or bridged networking support')
backup=('etc/vbox/vbox.cfg' 'etc/conf.d/vboxweb')
replaces=('virtualbox' 'virtualbox-ose')
conflicts=('virtualbox' 'virtualbox-ose')
@@ -145,7 +228,7 @@ package_virtualbox-libre() {
echo 'INSTALL_DIR=/usr/lib/virtualbox' > "$pkgdir/etc/vbox/vbox.cfg"
#udev and licence
- install -D -m 0644 "$srcdir/VirtualBox-${pkgver}/COPYING" \
+ install -D -m 0644 "$srcdir/VirtualBox-$pkgver/COPYING" \
"$pkgdir/usr/share/licenses/virtualbox/LICENSE"
install -D -m 0644 "$srcdir/10-vboxdrv.rules" \
"$pkgdir/usr/lib/udev/rules.d/10-vboxdrv.rules"
@@ -160,24 +243,8 @@ package_virtualbox-libre() {
}
-package_virtualbox-libre-source() {
- pkgdesc="VirtualBox kernel libre modules source"
- depends=(dkms gcc make)
- replaces=('virtualbox-source')
- conflicts=('virtualbox-source')
- provides=("virtualbox-source=$pkgver" 'virtualbox-modules')
- optdepends=('linux-libre-headers'
- 'linux-libre-lts-headers')
- install=virtualbox-libre-source.install
-
- install -dm755 "$pkgdir/var/lib/dkms/vboxhost/$pkgver"
- source "VirtualBox-$pkgver/env.sh"
- cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
- cp -r src "$pkgdir/var/lib/dkms/vboxhost/$pkgver/source"
-}
-
package_virtualbox-libre-sdk() {
- pkgdesc="VirtualBox Software Developer Kit (SDK)"
+ pkgdesc='VirtualBox Software Developer Kit (SDK)'
depends=('python2')
replaces=('virtualbox-sdk')
conflicts=('virtualbox-sdk')
@@ -191,99 +258,78 @@ package_virtualbox-libre-sdk() {
install -D -m 0755 vboxshell.py "$pkgdir/usr/lib/virtualbox/vboxshell.py"
#python sdk
pushd sdk/installer
- VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "${pkgdir}"
+ VBOX_INSTALL_PATH="/usr/lib/virtualbox" python2 vboxapisetup.py install --root "$pkgdir"
popd
rm -rf sdk/installer
mv sdk "$pkgdir/usr/lib/virtualbox"
}
-package_virtualbox-libre-parabola-additions(){
- pkgdesc="Additions only for Parabola guests (userspace tools)"
- depends=('virtualbox-libre-parabola-modules' 'gcc-libs' 'libxmu' 'xorg-xrandr' 'libxfixes')
- replaces=('virtualbox-archlinux-additions' 'virtualbox-guest-additions')
- conflicts=('virtualbox-archlinux-additions' 'virtualbox-guest-additions')
- provides=("virtualbox-archlinux-additions=${pkgver}")
- backup=('etc/conf.d/vboxservice')
- install=virtualbox-libre-parabola-additions.install
+package_virtualbox-libre-host-source() {
+ pkgdesc='VirtualBox Host kernel libre modules source (DKMS)'
+ depends=('dkms' 'gcc' 'make')
+ provides=("virtualbox-host-source=$pkgver" 'virtualbox-libre-host-modules')
+ replaces=('virtualbox-host-source' 'virtualbox-source' 'virtualbox-libre-source')
+ conflicts=('virtualbox-host-source' 'virtualbox-source' 'virtualbox-libre-source')
+ optdepends=('linux-libre-headers'
+ 'linux-libre-lts-headers')
+ install=virtualbox-libre-host-source.install
+ install -dm755 "$pkgdir/usr/src"
source "VirtualBox-$pkgver/env.sh"
+ cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin"
+ cp -r src "$pkgdir/usr/src/vboxhost-$pkgver"
+}
+
+package_virtualbox-libre-guest-source() {
+ pkgdesc='VirtualBox Guest kernel libre modules source (DKMS)'
+ depends=('dkms' 'gcc' 'make')
+ provides=("virtualbox-guest-source=$pkgver" 'virtualbox-libre-guest-modules')
+ replaces=('virtualbox-guest-source' 'virtualbox-archlinux-source' 'virtualbox-parabola-source')
+ conflicts=('virtualbox-guest-source' 'virtualbox-archlinux-source' 'virtualbox-parabola-source')
+ optdepends=('linux-libre-headers'
+ 'linux-libre-lts-headers')
+ install=virtualbox-libre-guest-source.install
+ install -dm755 "$pkgdir/usr/src"
+ source "VirtualBox-$pkgver/env.sh"
cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
+ cp -r src "$pkgdir/usr/src/vboxguest-$pkgver"
+}
+
+package_virtualbox-libre-guest-utils(){
+ pkgdesc='VirtualBox Guest userspace utilities'
+ depends=('virtualbox-libre-guest-modules' 'gcc-libs' 'libxmu' 'xorg-xrandr' 'libxfixes')
+ optdepends=('virtualbox-guest-source: Guest kernel libre source modules for non-stock kernels')
+ provides=("virtualbox-guest-utils=$pkgver")
+ replaces=('virtualbox-guest-utils' 'virtualbox-archlinux-additions' 'virtualbox-parabola-additions' 'virtualbox-guest-additions' 'virtualbox-libre-guest-additions')
+ conflicts=('virtualbox-guest-utils' 'virtualbox-archlinux-additions' 'virtualbox-parabola-additions' 'virtualbox-guest-additions' 'virtualbox-libre-guest-additions')
+ backup=('etc/conf.d/vboxservice')
+ install=virtualbox-libre-guest-utils.install
+ source "VirtualBox-$pkgver/env.sh"
+ pushd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
install -d "$pkgdir"/{usr/bin,sbin}
install -m755 VBoxClient VBoxControl VBoxService "$pkgdir/usr/bin"
install -m755 mount.vboxsf "$pkgdir/sbin"
-
install -m755 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
"$pkgdir"/usr/bin/VBoxClient-all
install -m755 -D "$srcdir"/VirtualBox-$pkgver/src/VBox/Additions/x11/Installer/vboxclient.desktop \
"$pkgdir"/etc/xdg/autostart/vboxclient.desktop
- install -D vboxvideo_drv_112.so \
+ install -D vboxvideo_drv_113.so \
"$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so"
install -d "$pkgdir/usr/lib/xorg/modules/dri"
install -m755 VBoxOGL*.so "$pkgdir/usr/lib"
ln -s /usr/lib/VBoxOGL.so "$pkgdir/usr/lib/xorg/modules/dri/vboxvideo_dri.so"
install -m755 -D pam_vbox.so "$pkgdir/usr/lib/security/pam_vbox.so"
-
+ popd
+ # install udev rules
+ install -D -m 0644 60-vboxguest.rules \
+ "$pkgdir/usr/lib/udev/rules.d/60-vboxguest.rules"
# install rc.d script
- install -D -m755 "$srcdir/vboxservice.rc" "$pkgdir/etc/rc.d/vboxservice"
-
+ install -D -m755 vboxservice.rc "$pkgdir/etc/rc.d/vboxservice"
# install sample config
- install -D -m644 "$srcdir/vboxservice.conf" "$pkgdir/etc/conf.d/vboxservice"
-
+ install -D -m644 vboxservice.conf "$pkgdir/etc/conf.d/vboxservice"
# install systemd service file
- install -D -m644 "$srcdir/vboxservice.service" \
+ install -D -m644 vboxservice.service \
"$pkgdir/usr/lib/systemd/system/vboxservice.service"
}
-
-package_virtualbox-libre-parabola-source() {
- pkgdesc='VirtualBox Additions kernel libre modules source'
- depends=(dkms gcc make)
- replaces=('virtualbox-archlinux-source')
- conflicts=('virtualbox-archlinux-source')
- provides=("virtualbox-archlinux-source=${pkgver}" 'virtualbox-archlinux-modules')
- optdepends=('linux-libre-headers'
- 'linux-libre-lts-headers')
- install=virtualbox-libre-parabola-source.install
-
- install -dm755 "$pkgdir/var/lib/dkms/vboxguest/$pkgver"
- source "VirtualBox-$pkgver/env.sh"
- cd "VirtualBox-$pkgver/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions"
- cp -r src "$pkgdir/var/lib/dkms/vboxguest/$pkgver/source"
-}
-
-md5sums=('5784c6dda8a9d53f8f21b2d41eba903c'
- '5f85710e0b8606de967716ded7b2d351'
- 'bf5d1eeeec20a042e8af34cd61a9e11b'
- '58d6e5bb4b4c1c6f3f0b3daa6aaeed03'
- '4ff559f2bea335d59c4012048983ca91'
- '97e193f050574dd272a38e5ee5ebe62b'
- '3c08ad30b89add47d3f45121200a5360'
- '7d9823507206de9b8528a72af2f18d74'
- '07c5f6d86c4b7839d719c8ee0c53653b'
- '7e9483b1069a54f181546083ac7e5469'
- 'c159d683ba1947290fc2ad2c64194150'
- 'bc9efed88e0469cd7fc460d5a5cd7b4b'
- '8538dba8686d7449cb481c9bae9d722a'
- '545c925b46f2ac95e5f8ae407fad101a'
- 'f6416f509c2e5460e4dc624e0a57f3c1'
- 'bbfb59dd517c020a23701b480187a355'
- 'efacfdb61918286ea9bc89866b8fd239'
- '7c3eb09995e8bafeef414374e44ad4ce'
- 'a49ed3ab6bd0fb084de0ab3dd97ae93e'
- '6b432b3305ed446125eef052c38355a6'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- '6b432b3305ed446125eef052c38355a6'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- 'a70022a468bd3e9daf01818d2d74ac3c'
- '380eb2ab6cad3da198094585853c129c'
- 'a60bb9a98abcc3c34156f9051d00df9a'
- '3a908ef6952bcf987e63ef2fe4e98d24'
- '02e87c39c353634cecacf98f1707fa15'
- '0cf41a41e7a415d404d5584e047fd450'
- '449cde3b58390284b59c5d663de3edc9'
- 'c7951fe6888d939f3a7d0dafe477e82b'
- '4da8eeb2ece7e475fc7a0d1003da26c6'
- '5e4187af59726d71c5be48d0cd816c34'
- 'a9e4724b56ddf99bb2e9a8fab8ad43ba'
- '1e47d90affabfbf6dbb07d9d42742d6a')
diff --git a/libre/virtualbox-libre/change_default_driver_dir.patch b/libre/virtualbox-libre/change_default_driver_dir.patch
index d8531499d..d8531499d 100644..100755
--- a/libre/virtualbox-libre/change_default_driver_dir.patch
+++ b/libre/virtualbox-libre/change_default_driver_dir.patch
diff --git a/libre/virtualbox-libre/free-distros.patch b/libre/virtualbox-libre/free-distros.patch
index 47857e05d..1dbe38f69 100644
--- a/libre/virtualbox-libre/free-distros.patch
+++ b/libre/virtualbox-libre/free-distros.patch
@@ -1,856 +1,774 @@
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp 2012-07-25 14:51:03.569003667 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp 2012-07-25 14:51:03.652333615 -0300
-@@ -44,94 +44,38 @@
- * first matching string found, will be used. */
- static const osTypePattern gs_OSTypePattern[] =
- {
-- { QRegExp("DOS", Qt::CaseInsensitive), "DOS" },
-
-- /* Windows */
-- { QRegExp("Wi.*98", Qt::CaseInsensitive), "Windows98" },
-- { QRegExp("Wi.*95", Qt::CaseInsensitive), "Windows95" },
-- { QRegExp("Wi.*Me", Qt::CaseInsensitive), "WindowsMe" },
-- { QRegExp("(Wi.*NT)|(NT4)", Qt::CaseInsensitive), "WindowsNT4" },
-- { QRegExp("((Wi.*XP)|(\\bXP\\b)).*64", Qt::CaseInsensitive), "WindowsXP_64" },
-- { QRegExp("(Wi.*XP)|(\\bXP\\b)", Qt::CaseInsensitive), "WindowsXP" },
-- { QRegExp("((Wi.*2003)|(W2K3)).*64", Qt::CaseInsensitive), "Windows2003_64" },
-- { QRegExp("(Wi.*2003)|(W2K3)", Qt::CaseInsensitive), "Windows2003" },
-- { QRegExp("((Wi.*V)|(Vista)).*64", Qt::CaseInsensitive), "WindowsVista_64" },
-- { QRegExp("(Wi.*V)|(Vista)", Qt::CaseInsensitive), "WindowsVista" },
-- { QRegExp("((Wi.*2008)|(W2K8)).*64", Qt::CaseInsensitive), "Windows2008_64" },
-- { QRegExp("(Wi.*2008)|(W2K8)", Qt::CaseInsensitive), "Windows2008" },
-- { QRegExp("(Wi.*2000)|(W2K)", Qt::CaseInsensitive), "Windows2000" },
-- { QRegExp("(Wi.*7.*64)|(W7.*64)", Qt::CaseInsensitive), "Windows7_64" },
-- { QRegExp("(Wi.*7)|(W7)", Qt::CaseInsensitive), "Windows7" },
-- { QRegExp("(Wi.*8.*64)|(W8.*64)", Qt::CaseInsensitive), "Windows8_64" },
-- { QRegExp("(Wi.*8)|(W8)", Qt::CaseInsensitive), "Windows8" },
-- { QRegExp("Wi.*3", Qt::CaseInsensitive), "Windows31" },
-- { QRegExp("Wi", Qt::CaseInsensitive), "WindowsXP" },
--
-- /* Solaris */
-- { QRegExp("((Op.*So)|(os20[01][0-9])|(So.*1[01])|(India)|(Neva)).*64", Qt::CaseInsensitive), "OpenSolaris_64" },
-- { QRegExp("(Op.*So)|(os20[01][0-9])|(So.*1[01])|(India)|(Neva)", Qt::CaseInsensitive), "OpenSolaris" },
-- { QRegExp("So.*64", Qt::CaseInsensitive), "Solaris_64" },
-- { QRegExp("So", Qt::CaseInsensitive), "Solaris" },
--
-- /* OS/2 */
-- { QRegExp("OS[/|!-]{,1}2.*W.*4.?5", Qt::CaseInsensitive), "OS2Warp45" },
-- { QRegExp("OS[/|!-]{,1}2.*W.*4", Qt::CaseInsensitive), "OS2Warp4" },
-- { QRegExp("OS[/|!-]{,1}2.*W", Qt::CaseInsensitive), "OS2Warp3" },
-- { QRegExp("(OS[/|!-]{,1}2.*e)|(eCS.*)", Qt::CaseInsensitive), "OS2eCS" },
-- { QRegExp("OS[/|!-]{,1}2", Qt::CaseInsensitive), "OS2" },
--
-- /* Code names for Linux distributions */
-- { QRegExp("((edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)).*64", Qt::CaseInsensitive), "Ubuntu_64" },
-- { QRegExp("(edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)", Qt::CaseInsensitive), "Ubuntu" },
-- { QRegExp("((sarge)|(etch)|(lenny)|(squeeze)|(wheezy)|(sid)).*64", Qt::CaseInsensitive), "Debian_64" },
-- { QRegExp("(sarge)|(etch)|(lenny)|(squeeze)|(wheezy)|(sid)", Qt::CaseInsensitive), "Debian" },
-- { QRegExp("((moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)).*64", Qt::CaseInsensitive), "Fedora_64" },
-- { QRegExp("(moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)", Qt::CaseInsensitive), "Fedora" },
--
-- /* Regular names of Linux distributions */
-- { QRegExp("Arc.*64", Qt::CaseInsensitive), "ArchLinux_64" },
-- { QRegExp("Arc", Qt::CaseInsensitive), "ArchLinux" },
-- { QRegExp("Deb.*64", Qt::CaseInsensitive), "Debian_64" },
-- { QRegExp("Deb", Qt::CaseInsensitive), "Debian" },
-- { QRegExp("((SU)|(Nov)|(SLE)).*64", Qt::CaseInsensitive), "OpenSUSE_64" },
-- { QRegExp("(SU)|(Nov)|(SLE)", Qt::CaseInsensitive), "OpenSUSE" },
-- { QRegExp("Fe.*64", Qt::CaseInsensitive), "Fedora_64" },
-- { QRegExp("Fe", Qt::CaseInsensitive), "Fedora" },
-- { QRegExp("((Gen)|(Sab)).*64", Qt::CaseInsensitive), "Gentoo_64" },
-- { QRegExp("(Gen)|(Sab)", Qt::CaseInsensitive), "Gentoo" },
-- { QRegExp("Man.*64", Qt::CaseInsensitive), "Mandriva_64" },
-- { QRegExp("Man", Qt::CaseInsensitive), "Mandriva" },
-- { QRegExp("((Red)|(rhel)|(cen)).*64", Qt::CaseInsensitive), "RedHat_64" },
-- { QRegExp("(Red)|(rhel)|(cen)", Qt::CaseInsensitive), "RedHat" },
-- { QRegExp("Tur.*64", Qt::CaseInsensitive), "Turbolinux_64" },
-- { QRegExp("Tur", Qt::CaseInsensitive), "Turbolinux" },
-- { QRegExp("Ub.*64", Qt::CaseInsensitive), "Ubuntu_64" },
-- { QRegExp("Ub", Qt::CaseInsensitive), "Ubuntu" },
-- { QRegExp("Xa.*64", Qt::CaseInsensitive), "Xandros_64" },
-- { QRegExp("Xa", Qt::CaseInsensitive), "Xandros" },
-- { QRegExp("((Or)|(oel)).*64", Qt::CaseInsensitive), "Oracle_64" },
-- { QRegExp("(Or)|(oel)", Qt::CaseInsensitive), "Oracle" },
-- { QRegExp("((Li)|(lnx)).*2.?2", Qt::CaseInsensitive), "Linux22" },
-- { QRegExp("((Li)|(lnx)).*2.?4.*64", Qt::CaseInsensitive), "Linux24_64" },
-- { QRegExp("((Li)|(lnx)).*2.?4", Qt::CaseInsensitive), "Linux24" },
-- { QRegExp("((((Li)|(lnx)).*2.?6)|(LFS)).*64", Qt::CaseInsensitive), "Linux26_64" },
-- { QRegExp("(((Li)|(lnx)).*2.?6)|(LFS)", Qt::CaseInsensitive), "Linux26" },
-- { QRegExp("((Li)|(lnx)).*64", Qt::CaseInsensitive), "Linux26_64" },
-- { QRegExp("(Li)|(lnx)", Qt::CaseInsensitive), "Linux26" },
-+ /* Code names for GNU/Linux distributions */
-+ { QRegExp("((Taranis)|(Dagda)|(Brigantia)).*64", Qt::CaseInsensitive), "Trisquel_64" },
-+ { QRegExp("(Taranis)|(Dagda)|(Brigantia)", Qt::CaseInsensitive), "Trisquel" },
-+ { QRegExp("((metad)|(parkes)|(three)).*64", Qt::CaseInsensitive), "gNewSense_64" },
-+ { QRegExp("(deltah)|(metad)|(parkes)|(three)", Qt::CaseInsensitive), "gNewSense" },
-+ { QRegExp("((90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)).*64", Qt::CaseInsensitive), "Blag_64" },
-+ { QRegExp("(90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)", Qt::CaseInsensitive), "Blag" },
-+
-+ /* Regular names of GNU/Linux distributions and GNU-Hurd */
-+ { QRegExp("Pa.*64", Qt::CaseInsensitive), "Parabola_64" },
-+ { QRegExp("Pa", Qt::CaseInsensitive), "Parabola" },
-+ { QRegExp("((gNe)|(new)|(Sen)).*64", Qt::CaseInsensitive), "gNewSense_64" },
-+ { QRegExp("(gNe)|(new)|(Sen)", Qt::CaseInsensitive), "gNewSense" },
-+ { QRegExp("Bla.*64", Qt::CaseInsensitive), "Blag_64" },
-+ { QRegExp("Bla", Qt::CaseInsensitive), "Blag" },
-+ { QRegExp("Dra.*64", Qt::CaseInsensitive), "Dragora_64" },
-+ { QRegExp("Dra", Qt::CaseInsensitive), "Dragora" },
-+ { QRegExp("((Utu)|(XS)).*64", Qt::CaseInsensitive), "Ututo_64" },
-+ { QRegExp("(Utu)|(XS)", Qt::CaseInsensitive), "Ututo" },
-+ { QRegExp("Mus.*64", Qt::CaseInsensitive), "Musix_64" },
-+ { QRegExp("Mus", Qt::CaseInsensitive), "Musix" },
-+ { QRegExp("Tri.*64", Qt::CaseInsensitive), "Trisquel_64" },
-+ { QRegExp("Tri", Qt::CaseInsensitive), "Trisquel" },
-+ { QRegExp("Dyn", Qt::CaseInsensitive), "Dynebolic" },
-+ { QRegExp("Ven", Qt::CaseInsensitive), "Venenux" },
-+ { QRegExp("GNU", Qt::CaseInsensitive), "GNU" },
-+ { QRegExp("Hu", Qt::CaseInsensitive), "GNUHurd" },
-+ { QRegExp("((Li)|(lnx)).*64", Qt::CaseInsensitive), "GNULinux_64" },
-+ { QRegExp("(Li)|(lnx)", Qt::CaseInsensitive), "GNULinux" },
-
- /* Other */
-- { QRegExp("L4", Qt::CaseInsensitive), "L4" },
-- { QRegExp("((Fr.*B)|(fbsd)).*64", Qt::CaseInsensitive), "FreeBSD_64" },
-- { QRegExp("(Fr.*B)|(fbsd)", Qt::CaseInsensitive), "FreeBSD" },
-- { QRegExp("Op.*B.*64", Qt::CaseInsensitive), "OpenBSD_64" },
-- { QRegExp("Op.*B", Qt::CaseInsensitive), "OpenBSD" },
-- { QRegExp("Ne.*B.*64", Qt::CaseInsensitive), "NetBSD_64" },
-- { QRegExp("Ne.*B", Qt::CaseInsensitive), "NetBSD" },
-- { QRegExp("QN", Qt::CaseInsensitive), "QNX" },
-- { QRegExp("((Mac)|(Tig)|(Leop)|(osx)).*64", Qt::CaseInsensitive), "MacOS_64" },
-- { QRegExp("(Mac)|(Tig)|(Leop)|(osx)", Qt::CaseInsensitive), "MacOS" },
-- { QRegExp("Net", Qt::CaseInsensitive), "Netware" },
-- { QRegExp("Rocki", Qt::CaseInsensitive), "JRockitVE" },
- { QRegExp("Ot", Qt::CaseInsensitive), "Other" },
- };
-
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/Settings.cpp 2012-07-25 15:14:50.498764160 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/Settings.cpp 2012-07-25 15:14:50.548761649 -0300
-@@ -3227,40 +3227,18 @@
- } aConvertOSTypes[] =
- {
- { "unknown", "Other" },
-- { "dos", "DOS" },
-- { "win31", "Windows31" },
-- { "win95", "Windows95" },
-- { "win98", "Windows98" },
-- { "winme", "WindowsMe" },
-- { "winnt4", "WindowsNT4" },
-- { "win2k", "Windows2000" },
-- { "winxp", "WindowsXP" },
-- { "win2k3", "Windows2003" },
-- { "winvista", "WindowsVista" },
-- { "win2k8", "Windows2008" },
-- { "os2warp3", "OS2Warp3" },
-- { "os2warp4", "OS2Warp4" },
-- { "os2warp45", "OS2Warp45" },
-- { "ecs", "OS2eCS" },
-- { "linux22", "Linux22" },
-- { "linux24", "Linux24" },
-- { "linux26", "Linux26" },
-- { "archlinux", "ArchLinux" },
-- { "debian", "Debian" },
-- { "opensuse", "OpenSUSE" },
-- { "fedoracore", "Fedora" },
-- { "gentoo", "Gentoo" },
-- { "mandriva", "Mandriva" },
-- { "redhat", "RedHat" },
-- { "ubuntu", "Ubuntu" },
-- { "xandros", "Xandros" },
-- { "freebsd", "FreeBSD" },
-- { "openbsd", "OpenBSD" },
-- { "netbsd", "NetBSD" },
-- { "netware", "Netware" },
-- { "solaris", "Solaris" },
-- { "opensolaris", "OpenSolaris" },
-- { "l4", "L4" }
-+ { "gnu", "GNU" },
-+ { "gnuhurd", "GNUHurd" },
-+ { "gnulinux", "GNULinux" },
-+ { "parabola", "Parabola" },
-+ { "gnewsense", "gNewSense" },
-+ { "blag", "Blag" },
-+ { "dragora", "Dragora" },
-+ { "ututo", "Ututo" },
-+ { "musix", "Musix" },
-+ { "trisquel", "Trisquel" },
-+ { "dynebolic", "Dynebolic" },
-+ { "venenux", "Venenux" },
- };
-
- void MachineConfigFile::convertOldOSType_pre1_5(Utf8Str &str)
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/SettingsConverter.xsl 2012-07-25 15:21:04.553581275 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/SettingsConverter.xsl 2012-07-25 15:21:04.593579427 -0300
-@@ -729,40 +729,18 @@
- <xsl:attribute name="OSType">
- <xsl:choose>
- <xsl:when test="@OSType='unknown'">Other</xsl:when>
-- <xsl:when test="@OSType='dos'">DOS</xsl:when>
-- <xsl:when test="@OSType='win31'">Windows31</xsl:when>
-- <xsl:when test="@OSType='win95'">Windows95</xsl:when>
-- <xsl:when test="@OSType='win98'">Windows98</xsl:when>
-- <xsl:when test="@OSType='winme'">WindowsMe</xsl:when>
-- <xsl:when test="@OSType='winnt4'">WindowsNT4</xsl:when>
-- <xsl:when test="@OSType='win2k'">Windows2000</xsl:when>
-- <xsl:when test="@OSType='winxp'">WindowsXP</xsl:when>
-- <xsl:when test="@OSType='win2k3'">Windows2003</xsl:when>
-- <xsl:when test="@OSType='winvista'">WindowsVista</xsl:when>
-- <xsl:when test="@OSType='win2k8'">Windows2008</xsl:when>
-- <xsl:when test="@OSType='os2warp3'">OS2Warp3</xsl:when>
-- <xsl:when test="@OSType='os2warp4'">OS2Warp4</xsl:when>
-- <xsl:when test="@OSType='os2warp45'">OS2Warp45</xsl:when>
-- <xsl:when test="@OSType='ecs'">OS2eCS</xsl:when>
-- <xsl:when test="@OSType='linux22'">Linux22</xsl:when>
-- <xsl:when test="@OSType='linux24'">Linux24</xsl:when>
-- <xsl:when test="@OSType='linux26'">Linux26</xsl:when>
-- <xsl:when test="@OSType='archlinux'">ArchLinux</xsl:when>
-- <xsl:when test="@OSType='debian'">Debian</xsl:when>
-- <xsl:when test="@OSType='opensuse'">OpenSUSE</xsl:when>
-- <xsl:when test="@OSType='fedoracore'">Fedora</xsl:when>
-- <xsl:when test="@OSType='gentoo'">Gentoo</xsl:when>
-- <xsl:when test="@OSType='mandriva'">Mandriva</xsl:when>
-- <xsl:when test="@OSType='redhat'">RedHat</xsl:when>
-- <xsl:when test="@OSType='ubuntu'">Ubuntu</xsl:when>
-- <xsl:when test="@OSType='xandros'">Xandros</xsl:when>
-- <xsl:when test="@OSType='freebsd'">FreeBSD</xsl:when>
-- <xsl:when test="@OSType='openbsd'">OpenBSD</xsl:when>
-- <xsl:when test="@OSType='netbsd'">NetBSD</xsl:when>
-- <xsl:when test="@OSType='netware'">Netware</xsl:when>
-- <xsl:when test="@OSType='solaris'">Solaris</xsl:when>
-- <xsl:when test="@OSType='opensolaris'">OpenSolaris</xsl:when>
-- <xsl:when test="@OSType='l4'">L4</xsl:when>
-+ <xsl:when test="@OSType='gnu'">GNU</xsl:when>
-+ <xsl:when test="@OSType='gnuhurd'">GNUHurd</xsl:when>
-+ <xsl:when test="@OSType='gnulinux'">GNULinux</xsl:when>
-+ <xsl:when test="@OSType='parabola'">Parabola</xsl:when>
-+ <xsl:when test="@OSType='gnewsense'">gNewSense</xsl:when>
-+ <xsl:when test="@OSType='blag'">Blag</xsl:when>
-+ <xsl:when test="@OSType='dragora'">Dragora</xsl:when>
-+ <xsl:when test="@OSType='ututo'">Ututo</xsl:when>
-+ <xsl:when test="@OSType='musix'">Musix</xsl:when>
-+ <xsl:when test="@OSType='trisquel'">Trisquel</xsl:when>
-+ <xsl:when test="@OSType='dynebolic'">Dynebolic</xsl:when>
-+ <xsl:when test="@OSType='venenux'">Venenux</xsl:when>
- </xsl:choose>
- </xsl:attribute>
- <xsl:apply-templates select="@*[name()!='OSType']" mode="v1.5"/>
---- VirtualBox-4.1.18.orig/src/VBox/Main/xml/VirtualBox-settings-common.xsd 2012-07-25 15:04:37.856003691 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/xml/VirtualBox-settings-common.xsd 2012-07-25 15:04:37.892668156 -0300
-@@ -137,75 +137,27 @@
- <xsd:simpleType name="TGuestOSType">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="Other"/>
-- <xsd:enumeration value="DOS"/>
-- <xsd:enumeration value="Netware"/>
-- <xsd:enumeration value="L4"/>
-- <xsd:enumeration value="Windows31"/>
-- <xsd:enumeration value="Windows95"/>
-- <xsd:enumeration value="Windows98"/>
-- <xsd:enumeration value="WindowsMe"/>
-- <xsd:enumeration value="WindowsNT4"/>
-- <xsd:enumeration value="Windows2000"/>
-- <xsd:enumeration value="WindowsXP"/>
-- <xsd:enumeration value="WindowsXP_64"/>
-- <xsd:enumeration value="Windows2003"/>
-- <xsd:enumeration value="Windows2003_64"/>
-- <xsd:enumeration value="WindowsVista"/>
-- <xsd:enumeration value="WindowsVista_64"/>
-- <xsd:enumeration value="Windows2008"/>
-- <xsd:enumeration value="Windows2008_64"/>
-- <xsd:enumeration value="Windows7"/>
-- <xsd:enumeration value="Windows7_64"/>
-- <xsd:enumeration value="Windows8"/>
-- <xsd:enumeration value="Windows8_64"/>
-- <xsd:enumeration value="WindowsNT"/>
-- <xsd:enumeration value="OS2Warp3"/>
-- <xsd:enumeration value="OS2Warp4"/>
-- <xsd:enumeration value="OS2Warp45"/>
-- <xsd:enumeration value="OS2eCS"/>
-- <xsd:enumeration value="OS2"/>
-- <xsd:enumeration value="Linux22"/>
-- <xsd:enumeration value="Linux24"/>
-- <xsd:enumeration value="Linux24_64"/>
-- <xsd:enumeration value="Linux26"/>
-- <xsd:enumeration value="Linux26_64"/>
-- <xsd:enumeration value="ArchLinux"/>
-- <xsd:enumeration value="ArchLinux_64"/>
-- <xsd:enumeration value="Debian"/>
-- <xsd:enumeration value="Debian_64"/>
-- <xsd:enumeration value="OpenSUSE"/>
-- <xsd:enumeration value="OpenSUSE_64"/>
-- <xsd:enumeration value="Fedora"/>
-- <xsd:enumeration value="Fedora_64"/>
-- <xsd:enumeration value="Gentoo"/>
-- <xsd:enumeration value="Gentoo_64"/>
-- <xsd:enumeration value="Mandriva"/>
-- <xsd:enumeration value="Mandriva_64"/>
-- <xsd:enumeration value="RedHat"/>
-- <xsd:enumeration value="RedHat_64"/>
-- <xsd:enumeration value="Turbolinux"/>
-- <xsd:enumeration value="Turbolinux_64"/>
-- <xsd:enumeration value="Ubuntu"/>
-- <xsd:enumeration value="Ubuntu_64"/>
-- <xsd:enumeration value="Xandros"/>
-- <xsd:enumeration value="Xandros_64"/>
-- <xsd:enumeration value="Oracle"/>
-- <xsd:enumeration value="Oracle_64"/>
-- <xsd:enumeration value="Linux"/>
-- <xsd:enumeration value="FreeBSD"/>
-- <xsd:enumeration value="FreeBSD_64"/>
-- <xsd:enumeration value="OpenBSD"/>
-- <xsd:enumeration value="OpenBSD_64"/>
-- <xsd:enumeration value="NetBSD"/>
-- <xsd:enumeration value="NetBSD_64"/>
-- <xsd:enumeration value="Solaris"/>
-- <xsd:enumeration value="Solaris_64"/>
-- <xsd:enumeration value="OpenSolaris"/>
-- <xsd:enumeration value="OpenSolaris_64"/>
-- <xsd:enumeration value="QNX"/>
-- <xsd:enumeration value="MacOS"/>
-- <xsd:enumeration value="MacOS_64"/>
-- <xsd:enumeration value="JRockitVE"/>
-+ <xsd:enumeration value="GNU"/>
-+ <xsd:enumeration value="GNU_64"/>
-+ <xsd:enumeration value="GNUHurd"/>
-+ <xsd:enumeration value="GNULinux"/>
-+ <xsd:enumeration value="GNULinux_64"/>
-+ <xsd:enumeration value="Parabola"/>
-+ <xsd:enumeration value="Parabola_64"/>
-+ <xsd:enumeration value="gNewSense"/>
-+ <xsd:enumeration value="gNewSense_64"/>
-+ <xsd:enumeration value="Blag"/>
-+ <xsd:enumeration value="Blag_64"/>
-+ <xsd:enumeration value="Dragora"/>
-+ <xsd:enumeration value="Dragora_64"/>
-+ <xsd:enumeration value="Ututo"/>
-+ <xsd:enumeration value="Ututo_64"/>
-+ <xsd:enumeration value="Musix"/>
-+ <xsd:enumeration value="Musix_64"/>
-+ <xsd:enumeration value="Trisquel"/>
-+ <xsd:enumeration value="Trisquel_64"/>
-+ <xsd:enumeration value="Dynebolic"/>
-+ <xsd:enumeration value="Venenux"/>
- </xsd:restriction>
- </xsd:simpleType>
-
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-25 15:40:56.733096866 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-25 15:40:56.796426519 -0300
-@@ -1,75 +1,27 @@
- <!DOCTYPE RCC><RCC version="1.0">
- <qresource prefix="/">
-- <file alias="os_archlinux.png">images/os_archlinux.png</file>
-- <file alias="os_archlinux_64.png">images/os_archlinux_64.png</file>
-- <file alias="os_debian.png">images/os_debian.png</file>
-- <file alias="os_debian_64.png">images/os_debian_64.png</file>
-- <file alias="os_dos.png">images/os_dos.png</file>
-- <file alias="os_fedora.png">images/os_fedora.png</file>
-- <file alias="os_fedora_64.png">images/os_fedora_64.png</file>
-- <file alias="os_freebsd.png">images/os_freebsd.png</file>
-- <file alias="os_freebsd_64.png">images/os_freebsd_64.png</file>
-- <file alias="os_gentoo.png">images/os_gentoo.png</file>
-- <file alias="os_gentoo_64.png">images/os_gentoo_64.png</file>
-- <file alias="os_jrockitve.png">images/os_jrockitve.png</file>
-- <file alias="os_l4.png">images/os_l4.png</file>
-- <file alias="os_linux_other.png">images/os_linux_other.png</file>
-- <file alias="os_linux22.png">images/os_linux22.png</file>
-- <file alias="os_linux24.png">images/os_linux24.png</file>
-- <file alias="os_linux24_64.png">images/os_linux24_64.png</file>
-- <file alias="os_linux26.png">images/os_linux26.png</file>
-- <file alias="os_linux26_64.png">images/os_linux26_64.png</file>
-- <file alias="os_mandriva.png">images/os_mandriva.png</file>
-- <file alias="os_mandriva_64.png">images/os_mandriva_64.png</file>
-- <file alias="os_netbsd.png">images/os_netbsd.png</file>
-- <file alias="os_netbsd_64.png">images/os_netbsd_64.png</file>
-- <file alias="os_netware.png">images/os_netware.png</file>
-- <file alias="os_openbsd.png">images/os_openbsd.png</file>
-- <file alias="os_openbsd_64.png">images/os_openbsd_64.png</file>
-- <file alias="os_oraclesolaris.png">images/os_oraclesolaris.png</file>
-- <file alias="os_oraclesolaris_64.png">images/os_oraclesolaris_64.png</file>
-- <file alias="os_opensuse.png">images/os_opensuse.png</file>
-- <file alias="os_opensuse_64.png">images/os_opensuse_64.png</file>
-- <file alias="os_os2_other.png">images/os_os2_other.png</file>
-- <file alias="os_os2ecs.png">images/os_os2ecs.png</file>
-- <file alias="os_os2warp3.png">images/os_os2warp3.png</file>
-- <file alias="os_os2warp4.png">images/os_os2warp4.png</file>
-- <file alias="os_os2warp45.png">images/os_os2warp45.png</file>
-+ <file alias="os_parabola.png">images/os_parabola.png</file>
-+ <file alias="os_parabola_64.png">images/os_parabola_64.png</file>
-+ <file alias="os_gnewsense.png">images/os_gnewsense.png</file>
-+ <file alias="os_gnewsense_64.png">images/os_gnewsense_64.png</file>
-+ <file alias="os_blag.png">images/os_blag.png</file>
-+ <file alias="os_blag_64.png">images/os_blag_64.png</file>
-+ <file alias="os_ututo.png">images/os_ututo.png</file>
-+ <file alias="os_ututo_64.png">images/os_ututo_64.png</file>
-+ <file alias="os_gnu.png">images/os_gnu.png</file>
-+ <file alias="os_gnu_64.png">images/os_gnu_64.png</file>
-+ <file alias="os_gnuhurd.png">images/os_gnuhurd.png</file>
-+ <file alias="os_gnulinux.png">images/os_gnulinux.png</file>
-+ <file alias="os_gnulinux_64.png">images/os_gnulinux_64.png</file>
-+ <file alias="os_musix.png">images/os_musix.png</file>
-+ <file alias="os_musix_64.png">images/os_musix_64.png</file>
-+ <file alias="os_dragora.png">images/os_dragora.png</file>
-+ <file alias="os_dragora_64.png">images/os_dragora_64.png</file>
- <file alias="os_other.png">images/os_other.png</file>
-- <file alias="os_qnx.png">images/os_qnx.png</file>
-- <file alias="os_redhat.png">images/os_redhat.png</file>
-- <file alias="os_redhat_64.png">images/os_redhat_64.png</file>
-- <file alias="os_turbolinux.png">images/os_turbolinux.png</file>
-- <file alias="os_turbolinux_64.png">images/os_turbolinux_64.png</file>
-- <file alias="os_solaris.png">images/os_solaris.png</file>
-- <file alias="os_solaris_64.png">images/os_solaris_64.png</file>
-- <file alias="os_ubuntu.png">images/os_ubuntu.png</file>
-- <file alias="os_ubuntu_64.png">images/os_ubuntu_64.png</file>
-- <file alias="os_win_other.png">images/os_win_other.png</file>
-- <file alias="os_win2k.png">images/os_win2k.png</file>
-- <file alias="os_win2k3.png">images/os_win2k3.png</file>
-- <file alias="os_win2k3_64.png">images/os_win2k3_64.png</file>
-- <file alias="os_win2k8.png">images/os_win2k8.png</file>
-- <file alias="os_win2k8_64.png">images/os_win2k8_64.png</file>
-- <file alias="os_win31.png">images/os_win31.png</file>
-- <file alias="os_win7.png">images/os_win7.png</file>
-- <file alias="os_win7_64.png">images/os_win7_64.png</file>
-- <file alias="os_win8.png">images/os_win8.png</file>
-- <file alias="os_win8_64.png">images/os_win8_64.png</file>
-- <file alias="os_win95.png">images/os_win95.png</file>
-- <file alias="os_win98.png">images/os_win98.png</file>
-- <file alias="os_winme.png">images/os_winme.png</file>
-- <file alias="os_winnt4.png">images/os_winnt4.png</file>
-- <file alias="os_winvista.png">images/os_winvista.png</file>
-- <file alias="os_winvista_64.png">images/os_winvista_64.png</file>
-- <file alias="os_winxp.png">images/os_winxp.png</file>
-- <file alias="os_winxp_64.png">images/os_winxp_64.png</file>
-- <file alias="os_xandros.png">images/os_xandros.png</file>
-- <file alias="os_xandros_64.png">images/os_xandros_64.png</file>
-- <file alias="os_oracle.png">images/os_oracle.png</file>
-- <file alias="os_oracle_64.png">images/os_oracle_64.png</file>
-- <file alias="os_macosx.png">images/os_macosx.png</file>
-- <file alias="os_macosx_64.png">images/os_macosx_64.png</file>
-+ <file alias="os_dynebolic.png">images/os_dynebolic.png</file>
-+ <file alias="os_venenux.png">images/os_venenux.png</file>
-+ <file alias="os_trisquel.png">images/os_trisquel.png</file>
-+ <file alias="os_trisquel_64.png">images/os_trisquel_64.png</file>
- <file alias="hd_16px.png">images/hd_16px.png</file>
- <file alias="hd_disabled_16px.png">images/hd_disabled_16px.png</file>
- <file alias="hd_32px.png">images/hd_32px.png</file>
---- VirtualBox-4.1.20.orig/src/VBox/Main/src-all/Global.cpp 2012-08-20 11:36:24.000000000 -0300
-+++ VirtualBox-4.1.20/src/VBox/Main/src-all/Global.cpp 2012-08-21 14:22:29.148190849 -0300
-@@ -35,284 +35,90 @@
+--- VirtualBox-4.2.0.orig/src/VBox/Main/src-all/Global.cpp 2012-09-08 06:36:02.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Main/src-all/Global.cpp 2012-10-03 15:38:41.975881316 -0300
+@@ -33,289 +33,365 @@
VBOXOSTYPE_Unknown, VBOXOSHINT_NONE,
64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows31, "Windows 3.1",
-- VBOXOSTYPE_Win31, VBOXOSHINT_NONE,
+- { "Windows", "Microsoft Windows", "Windows31", "Windows 3.1",
+- VBOXOSTYPE_Win31, VBOXOSHINT_FLOPPY,
- 32, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows95, "Windows 95",
-- VBOXOSTYPE_Win95, VBOXOSHINT_NONE,
+- { "Windows", "Microsoft Windows", "Windows95", "Windows 95",
+- VBOXOSTYPE_Win95, VBOXOSHINT_FLOPPY,
- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows98, "Windows 98",
-- VBOXOSTYPE_Win98, VBOXOSHINT_NONE,
+- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
+- { "Windows", "Microsoft Windows", "Windows98", "Windows 98",
+- VBOXOSTYPE_Win98, VBOXOSHINT_FLOPPY,
- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
+- { "Windows", "Microsoft Windows", "WindowsMe", "Windows ME",
+- VBOXOSTYPE_WinMe, VBOXOSHINT_FLOPPY | VBOXOSHINT_USBTABLET,
+- 128, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsMe, "Windows Me",
-- VBOXOSTYPE_WinMe, VBOXOSHINT_NONE,
-- 64, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT4, "Windows NT 4",
+- { "Windows", "Microsoft Windows", "WindowsNT4", "Windows NT 4",
- VBOXOSTYPE_WinNT4, VBOXOSHINT_NONE,
- 128, 16, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2000, "Windows 2000",
+- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
+- { "Windows", "Microsoft Windows", "Windows2000", "Windows 2000",
- VBOXOSTYPE_Win2k, VBOXOSHINT_USBTABLET,
- 168, 16, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP, "Windows XP",
+- { "Windows", "Microsoft Windows", "WindowsXP", "Windows XP",
- VBOXOSTYPE_WinXP, VBOXOSHINT_USBTABLET,
- 192, 16, 10 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP_64, "Windows XP (64 bit)",
+- { "Windows", "Microsoft Windows", "WindowsXP_64", "Windows XP (64 bit)",
- VBOXOSTYPE_WinXP_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
- 192, 16, 10 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003, "Windows 2003",
+- { "Windows", "Microsoft Windows", "Windows2003", "Windows 2003",
- VBOXOSTYPE_Win2k3, VBOXOSHINT_USBTABLET,
- 256, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003_64, "Windows 2003 (64 bit)",
+- { "Windows", "Microsoft Windows", "Windows2003_64", "Windows 2003 (64 bit)",
- VBOXOSTYPE_Win2k3_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
- 256, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista, "Windows Vista",
+- { "Windows", "Microsoft Windows", "WindowsVista", "Windows Vista",
- VBOXOSTYPE_WinVista, VBOXOSHINT_USBTABLET,
- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista_64, "Windows Vista (64 bit)",
+- { "Windows", "Microsoft Windows", "WindowsVista_64", "Windows Vista (64 bit)",
- VBOXOSTYPE_WinVista_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008, "Windows 2008",
+- { "Windows", "Microsoft Windows", "Windows2008", "Windows 2008",
- VBOXOSTYPE_Win2k8, VBOXOSHINT_USBTABLET,
- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008_64, "Windows 2008 (64 bit)",
+- { "Windows", "Microsoft Windows", "Windows2008_64", "Windows 2008 (64 bit)",
- VBOXOSTYPE_Win2k8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows7, "Windows 7",
+- { "Windows", "Microsoft Windows", "Windows7", "Windows 7",
- VBOXOSTYPE_Win7, VBOXOSHINT_USBTABLET,
- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows7_64, "Windows 7 (64 bit)",
+- { "Windows", "Microsoft Windows", "Windows7_64", "Windows 7 (64 bit)",
- VBOXOSTYPE_Win7_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
- 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows8, "Windows 8",
-- VBOXOSTYPE_Win8, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_PAE,
+- { "Windows", "Microsoft Windows", "Windows8", "Windows 8",
+- VBOXOSTYPE_Win8, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_PAE,
- 1024,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows8_64, "Windows 8 (64 bit)",
+- { "Windows", "Microsoft Windows", "Windows8_64", "Windows 8 (64 bit)",
- VBOXOSTYPE_Win8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 1536,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+- 2048,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
-- { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT, "Other Windows",
+- { "Windows", "Microsoft Windows", "Windows2012_64", "Windows 2012 (64 bit)",
+- VBOXOSTYPE_Win2k12_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
+- 2048,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
+- { "Windows", "Microsoft Windows", "WindowsNT", "Other Windows",
- VBOXOSTYPE_WinNT, VBOXOSHINT_NONE,
- 512, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux22, "Linux 2.2",
-- VBOXOSTYPE_Linux22, VBOXOSHINT_RTCUTC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux24, "Linux 2.4",
-- VBOXOSTYPE_Linux24, VBOXOSHINT_RTCUTC,
-- 128, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux24_64, "Linux 2.4 (64 bit)",
-- VBOXOSTYPE_Linux24_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 128, 4, 4 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU", "GNU", SchemaDefs_OSTypeId_GNU, "GNU",
+- { "Linux", "Linux", "Linux22", "Linux 2.2",
++ { "GNU", "GNU", "GNU", "GNU",
+ VBOXOSTYPE_GNU, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-+ { "GNU", "GNU", SchemaDefs_OSTypeId_GNU_64, "GNU (64 bit)",
++ { "GNU", "GNU", "GNU_64", "GNU (64 bit)",
+ VBOXOSTYPE_GNU_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-+ { "GNU-Hurd", "GNU-Hurd", SchemaDefs_OSTypeId_GNUHurd, "GNU-Hurd",
++ { "GNU-Hurd", "GNU-Hurd", "GNUHurd", "GNU-Hurd",
+ VBOXOSTYPE_GNUHurd, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "GNU/Linux", "GNU/Linux", "Linux22", "GNU/Linux with kernel v2.2",
+ VBOXOSTYPE_Linux22, VBOXOSHINT_RTCUTC,
+ 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "Linux24", "Linux 2.4",
++ { "GNU/Linux", "GNU/Linux", "Linux24", "GNU/Linux with kernel v2.4",
+ VBOXOSTYPE_Linux24, VBOXOSHINT_RTCUTC,
+ 128, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "Linux24_64", "Linux 2.4 (64 bit)",
++ { "GNU/Linux", "GNU/Linux", "Linux24_64", "GNU/Linux with kernel v2.4 (64 bit)",
+ VBOXOSTYPE_Linux24_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
+ 128, 4, 4 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux26, "Linux 2.6",
-- VBOXOSTYPE_Linux26, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_GNULinux, "GNU/Linux",
-+ VBOXOSTYPE_GNULinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Linux26", "Linux 2.6",
++ { "GNU/Linux", "GNU/Linux", "Linux26", "GNU/Linux with kernel v2.6",
+ VBOXOSTYPE_Linux26, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux26_64, "Linux 2.6 (64 bit)",
-- VBOXOSTYPE_Linux26_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_GNULinux_64, "GNU/Linux (64 bit)",
-+ VBOXOSTYPE_GNULinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Linux26_64", "Linux 2.6 (64 bit)",
++ { "GNU/Linux", "GNU/Linux", "Linux26_64", "GNU/Linux with kernel v2.6 (64 bit)",
+ VBOXOSTYPE_Linux26_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_ArchLinux, "Arch Linux",
-- VBOXOSTYPE_ArchLinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Parabola, "Parabola GNU/Linux-libre",
+- { "Linux", "Linux", "ArchLinux", "Arch Linux",
++ { "GNU/Linux", "GNU/Linux", "Linux", "Other GNU/Linux",
++ VBOXOSTYPE_Linux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 256, 12, 8 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Parabola", "Parabola GNU/Linux-libre",
+ VBOXOSTYPE_Parabola, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Parabola_64", "Parabola GNU/Linux-libre (64 bit)",
++ VBOXOSTYPE_Parabola_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "gNewSense", "gNewSense",
++ VBOXOSTYPE_gNewSense, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "gNewSense_64", "gNewSense (64 bit)",
++ VBOXOSTYPE_gNewSense_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
++ { "Free Distros", "Free GNU/Linux Distros", "Blag", "Blag Linux and GNU",
++ VBOXOSTYPE_Blag, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Blag_64", "Blag Linux and GNU (64 bit)",
++ VBOXOSTYPE_Blag_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Dragora", "Dragora",
++ VBOXOSTYPE_Dragora, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Dragora_64", "Dragora (64 bit)",
++ VBOXOSTYPE_Dragora_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Ututo", "Ututo XS",
++ VBOXOSTYPE_Ututo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Ututo_64", "Ututo XS (64 bit)",
++ VBOXOSTYPE_Ututo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Musix", "Musix",
++ VBOXOSTYPE_Musix, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Musix_64", "Musix (64 bit)",
++ VBOXOSTYPE_Musix_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
++ { "Free Distros", "Free GNU/Linux Distros", "Trisquel", "Trisquel",
++ VBOXOSTYPE_Trisquel, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET,
++ 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Trisquel_64", "Trisquel (64 bit)",
++ VBOXOSTYPE_Trisquel_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Dynebolic", "Dyne:bolic",
++ VBOXOSTYPE_Dynebolic, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Free Distros", "Free GNU/Linux Distros", "Venenux", "Venenux",
++ VBOXOSTYPE_Venenux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
++ 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "ArchLinux", "Arch Linux",
+ VBOXOSTYPE_ArchLinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_ArchLinux_64, "Arch Linux (64 bit)",
-- VBOXOSTYPE_ArchLinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Parabola_64, "Parabola GNU/Linux-libre (64 bit)",
-+ VBOXOSTYPE_Parabola_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "ArchLinux_64", "Arch Linux (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "ArchLinux_64", "Arch Linux (64 bit)",
+ VBOXOSTYPE_ArchLinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Debian, "Debian",
-- VBOXOSTYPE_Debian, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_gNewSense, "gNewSense",
-+ VBOXOSTYPE_gNewSense, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Debian", "Debian",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Debian", "Debian",
+ VBOXOSTYPE_Debian, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Debian_64, "Debian (64 bit)",
-- VBOXOSTYPE_Debian_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_gNewSense_64, "gNewSense (64 bit)",
-+ VBOXOSTYPE_gNewSense_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Debian_64", "Debian (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Debian_64", "Debian (64 bit)",
+ VBOXOSTYPE_Debian_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
-- { "Linux", "Linux", SchemaDefs_OSTypeId_OpenSUSE, "openSUSE",
-- VBOXOSTYPE_OpenSUSE, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_OpenSUSE_64, "openSUSE (64 bit)",
-- VBOXOSTYPE_OpenSUSE_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Fedora, "Fedora",
-- VBOXOSTYPE_FedoraCore, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Blag, "Blag Linux and GNU",
-+ VBOXOSTYPE_Blag, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "OpenSUSE", "openSUSE",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "OpenSUSE", "openSUSE",
+ VBOXOSTYPE_OpenSUSE, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+ 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "OpenSUSE_64", "openSUSE (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "OpenSUSE_64", "openSUSE (64 bit)",
+ VBOXOSTYPE_OpenSUSE_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+ 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "Fedora", "Fedora",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Fedora", "Fedora",
+ VBOXOSTYPE_FedoraCore, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Fedora_64, "Fedora (64 bit)",
-- VBOXOSTYPE_FedoraCore_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Blag_64, "Blag Linux and GNU (64 bit)",
-+ VBOXOSTYPE_Blag_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Fedora_64", "Fedora (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Fedora_64", "Fedora (64 bit)",
+ VBOXOSTYPE_FedoraCore_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Gentoo, "Gentoo",
-- VBOXOSTYPE_Gentoo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dragora, "Dragora",
-+ VBOXOSTYPE_Dragora, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Gentoo", "Gentoo",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Gentoo", "Gentoo",
+ VBOXOSTYPE_Gentoo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Gentoo_64, "Gentoo (64 bit)",
-- VBOXOSTYPE_Gentoo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dragora_64, "Dragora (64 bit)",
-+ VBOXOSTYPE_Dragora_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Gentoo_64", "Gentoo (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Gentoo_64", "Gentoo (64 bit)",
+ VBOXOSTYPE_Gentoo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Mandriva, "Mandriva",
-- VBOXOSTYPE_Mandriva, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Mandriva_64, "Mandriva (64 bit)",
-- VBOXOSTYPE_Mandriva_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_RedHat, "Red Hat",
-- VBOXOSTYPE_RedHat, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Ututo, "Ututo XS",
-+ VBOXOSTYPE_Ututo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+- { "Linux", "Linux", "Mandriva", "Mandriva",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Mandriva", "Mandriva",
+ VBOXOSTYPE_Mandriva, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+ 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_RedHat_64, "Red Hat (64 bit)",
-- VBOXOSTYPE_RedHat_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Ututo_64, "Ututo XS (64 bit)",
-+ VBOXOSTYPE_Ututo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+- { "Linux", "Linux", "Mandriva_64", "Mandriva (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Mandriva_64", "Mandriva (64 bit)",
+ VBOXOSTYPE_Mandriva_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+ 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Turbolinux, "Turbolinux",
-- VBOXOSTYPE_Turbolinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Musix, "Musix",
-+ VBOXOSTYPE_Musix, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "RedHat", "Red Hat",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "RedHat", "Red Hat",
+ VBOXOSTYPE_RedHat, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
+ 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "RedHat_64", "Red Hat (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "RedHat_64", "Red Hat (64 bit)",
+ VBOXOSTYPE_RedHat_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
+ 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "Turbolinux", "Turbolinux",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Turbolinux", "Turbolinux",
+ VBOXOSTYPE_Turbolinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Turbolinux, "Turbolinux (64 bit)",
-- VBOXOSTYPE_Turbolinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Musix_64, "Musix (64 bit)",
-+ VBOXOSTYPE_Musix_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Turbolinux_64", "Turbolinux (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Turbolinux_64", "Turbolinux (64 bit)",
+ VBOXOSTYPE_Turbolinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Ubuntu, "Ubuntu",
-- VBOXOSTYPE_Ubuntu, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET,
-+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Trisquel, "Trisquel",
-+ VBOXOSTYPE_Trisquel, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "Ubuntu", "Ubuntu",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Ubuntu", "Ubuntu",
+ VBOXOSTYPE_Ubuntu, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE | VBOXOSHINT_USBTABLET,
512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Ubuntu_64, "Ubuntu (64 bit)",
-- VBOXOSTYPE_Ubuntu_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Trisquel_64, "Trisquel (64 bit)",
-+ VBOXOSTYPE_Trisquel_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
+- { "Linux", "Linux", "Ubuntu_64", "Ubuntu (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Ubuntu_64", "Ubuntu (64 bit)",
+ VBOXOSTYPE_Ubuntu_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Xandros, "Xandros",
-- VBOXOSTYPE_Xandros, VBOXOSHINT_RTCUTC,
-- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Dynebolic, "Dyne:bolic",
-+ VBOXOSTYPE_Dynebolic, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+- { "Linux", "Linux", "Xandros", "Xandros",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Xandros", "Xandros",
+ VBOXOSTYPE_Xandros, VBOXOSHINT_RTCUTC,
+ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Xandros_64, "Xandros (64 bit)",
-- VBOXOSTYPE_Xandros_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-+ { "GNU/Linux", "GNU/Linux", SchemaDefs_OSTypeId_Venenux, "Venenux",
-+ VBOXOSTYPE_Venenux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
-+ 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+- { "Linux", "Linux", "Xandros_64", "Xandros (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Xandros_64", "Xandros (64 bit)",
+ VBOXOSTYPE_Xandros_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
+ 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "Oracle", "Oracle",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Oracle", "Oracle",
+ VBOXOSTYPE_Oracle, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
+ 512, 12, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Oracle, "Oracle",
-- VBOXOSTYPE_Oracle, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
-- 512, 12, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Oracle_64, "Oracle (64 bit)",
-- VBOXOSTYPE_Oracle_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
-- 512, 12, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Linux", "Linux", SchemaDefs_OSTypeId_Linux, "Other Linux",
+- { "Linux", "Linux", "Oracle_64", "Oracle (64 bit)",
++ { "Non-free Distros", "Non-free GNU/Linux Distros", "Oracle_64", "Oracle (64 bit)",
+ VBOXOSTYPE_Oracle_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
+ 512, 12, 12 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Linux", "Linux", "Linux", "Other Linux",
- VBOXOSTYPE_Linux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
- 256, 12, 8 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_Solaris, "Oracle Solaris 10 5/09 and earlier",
-- VBOXOSTYPE_Solaris, VBOXOSHINT_NONE,
-- 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_Solaris_64, "Oracle Solaris 10 5/09 and earlier (64 bit)",
-- VBOXOSTYPE_Solaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_OpenSolaris, "Oracle Solaris 10 10/09 and later",
-- VBOXOSTYPE_OpenSolaris, VBOXOSHINT_USBTABLET,
-- 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Solaris", "Solaris", SchemaDefs_OSTypeId_OpenSolaris_64, "Oracle Solaris 10 10/09 and later (64 bit)",
-- VBOXOSTYPE_OpenSolaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
-- 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
-- StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_FreeBSD, "FreeBSD",
-- VBOXOSTYPE_FreeBSD, VBOXOSHINT_NONE,
-- 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_FreeBSD_64, "FreeBSD (64 bit)",
-- VBOXOSTYPE_FreeBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_OpenBSD, "OpenBSD",
-- VBOXOSTYPE_OpenBSD, VBOXOSHINT_HWVIRTEX,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_OpenBSD_64, "OpenBSD (64 bit)",
-- VBOXOSTYPE_OpenBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_NetBSD, "NetBSD",
-- VBOXOSTYPE_NetBSD, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "BSD", "BSD", SchemaDefs_OSTypeId_NetBSD_64, "NetBSD (64 bit)",
-- VBOXOSTYPE_NetBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
-- 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp3, "OS/2 Warp 3",
-- VBOXOSTYPE_OS2Warp3, VBOXOSHINT_HWVIRTEX,
-- 48, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp4, "OS/2 Warp 4",
-- VBOXOSTYPE_OS2Warp4, VBOXOSHINT_HWVIRTEX,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp45, "OS/2 Warp 4.5",
-- VBOXOSTYPE_OS2Warp45, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2eCS, "eComStation",
-- VBOXOSTYPE_ECS, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2, "Other OS/2",
-- VBOXOSTYPE_OS2, VBOXOSHINT_HWVIRTEX,
-- 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS, "Mac OS X Server",
-- VBOXOSTYPE_MacOS, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
-- 1024, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
-- StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
-- ChipsetType_ICH9, AudioControllerType_HDA },
-- { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS_64, "Mac OS X Server (64 bit)",
-- VBOXOSTYPE_MacOS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
-- 1024, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
-- StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
-- ChipsetType_ICH9, AudioControllerType_HDA },
-- { "Other", "Other", SchemaDefs_OSTypeId_DOS, "DOS",
-- VBOXOSTYPE_DOS, VBOXOSHINT_NONE,
-- 32, 4, 500 * _1M, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
-- { "Other", "Other", SchemaDefs_OSTypeId_Netware, "Netware",
-- VBOXOSTYPE_Netware, VBOXOSHINT_HWVIRTEX,
-- 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_L4, "L4",
-- VBOXOSTYPE_L4, VBOXOSHINT_NONE,
-- 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_QNX, "QNX",
-- VBOXOSTYPE_QNX, VBOXOSHINT_HWVIRTEX,
-- 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
-- { "Other", "Other", SchemaDefs_OSTypeId_JRockitVE, "JRockitVE",
-- VBOXOSTYPE_JRockitVE, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_PAE,
-- 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
-- StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows31", "Windows 3.1",
++ VBOXOSTYPE_Win31, VBOXOSHINT_FLOPPY,
++ 32, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows95", "Windows 95",
++ VBOXOSTYPE_Win95, VBOXOSHINT_FLOPPY,
++ 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows98", "Windows 98",
++ VBOXOSTYPE_Win98, VBOXOSHINT_FLOPPY,
++ 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
++ { "Non-free OSs", "Non-free Operating Systems", "WindowsMe", "Windows ME",
++ VBOXOSTYPE_WinMe, VBOXOSHINT_FLOPPY | VBOXOSHINT_USBTABLET,
++ 128, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Non-free OSs", "Non-free Operating Systems", "WindowsNT4", "Windows NT 4",
++ VBOXOSTYPE_WinNT4, VBOXOSHINT_NONE,
++ 128, 16, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows2000", "Windows 2000",
++ VBOXOSTYPE_Win2k, VBOXOSHINT_USBTABLET,
++ 168, 16, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Non-free OSs", "Non-free Operating Systems", "WindowsXP", "Windows XP",
++ VBOXOSTYPE_WinXP, VBOXOSHINT_USBTABLET,
++ 192, 16, 10 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Non-free OSs", "Non-free Operating Systems", "WindowsXP_64", "Windows XP (64 bit)",
++ VBOXOSTYPE_WinXP_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
++ 192, 16, 10 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows2003", "Windows 2003",
++ VBOXOSTYPE_Win2k3, VBOXOSHINT_USBTABLET,
++ 256, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows2003_64", "Windows 2003 (64 bit)",
++ VBOXOSTYPE_Win2k3_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
++ 256, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "WindowsVista", "Windows Vista",
++ VBOXOSTYPE_WinVista, VBOXOSHINT_USBTABLET,
++ 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "WindowsVista_64", "Windows Vista (64 bit)",
++ VBOXOSTYPE_WinVista_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
++ 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows2008", "Windows 2008",
++ VBOXOSTYPE_Win2k8, VBOXOSHINT_USBTABLET,
++ 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows2008_64", "Windows 2008 (64 bit)",
++ VBOXOSTYPE_Win2k8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
++ 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows7", "Windows 7",
++ VBOXOSTYPE_Win7, VBOXOSHINT_USBTABLET,
++ 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows7_64", "Windows 7 (64 bit)",
++ VBOXOSTYPE_Win7_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
++ 512, 16, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows8", "Windows 8",
++ VBOXOSTYPE_Win8, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_PAE,
++ 1024,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows8_64", "Windows 8 (64 bit)",
++ VBOXOSTYPE_Win8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
++ 2048,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "Windows2012_64", "Windows 2012 (64 bit)",
++ VBOXOSTYPE_Win2k12_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
++ 2048,128, 25 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
++ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
++ { "Non-free OSs", "Non-free Operating Systems", "WindowsNT", "Other Windows",
++ VBOXOSTYPE_WinNT, VBOXOSHINT_NONE,
++ 512, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Solaris", "Solaris", "Solaris", "Oracle Solaris 10 5/09 and earlier",
++ { "Non-free OSs", "Non-free Operating Systems", "Solaris", "Oracle Solaris 10 5/09 and earlier",
+ VBOXOSTYPE_Solaris, VBOXOSHINT_NONE,
+ 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Solaris", "Solaris", "Solaris_64", "Oracle Solaris 10 5/09 and earlier (64 bit)",
++ { "Non-free OSs", "Non-free Operating Systems", "Solaris_64", "Oracle Solaris 10 5/09 and earlier (64 bit)",
+ VBOXOSTYPE_Solaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
+ 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Solaris", "Solaris", "OpenSolaris", "Oracle Solaris 10 10/09 and later",
++ { "Non-free OSs", "Non-free Operating Systems", "OpenSolaris", "Oracle Solaris 10 10/09 and later",
+ VBOXOSTYPE_OpenSolaris, VBOXOSHINT_USBTABLET,
+ 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Solaris", "Solaris", "OpenSolaris_64", "Oracle Solaris 10 10/09 and later (64 bit)",
++ { "Non-free OSs", "Non-free Operating Systems", "OpenSolaris_64", "Oracle Solaris 10 10/09 and later (64 bit)",
+ VBOXOSTYPE_OpenSolaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
+ 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Solaris", "Solaris", "Solaris11_64", "Oracle Solaris 11 (64 bit)",
++ { "Non-free OSs", "Non-free Operating Systems", "Solaris11_64", "Oracle Solaris 11 (64 bit)",
+ VBOXOSTYPE_Solaris11_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
+ 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
+ StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "BSD", "BSD", "FreeBSD", "FreeBSD",
++ { "Non-free OSs", "Non-free Operating Systems", "FreeBSD", "FreeBSD",
+ VBOXOSTYPE_FreeBSD, VBOXOSHINT_NONE,
+ 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "BSD", "BSD", "FreeBSD_64", "FreeBSD (64 bit)",
++ { "Non-free OSs", "Non-free Operating Systems", "FreeBSD_64", "FreeBSD (64 bit)",
+ VBOXOSTYPE_FreeBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
+ 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "BSD", "BSD", "OpenBSD", "OpenBSD",
++ { "Non-free OSs", "Non-free Operating Systems", "OpenBSD", "OpenBSD",
+ VBOXOSTYPE_OpenBSD, VBOXOSHINT_HWVIRTEX,
+ 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "BSD", "BSD", "OpenBSD_64", "OpenBSD (64 bit)",
++ { "Non-free OSs", "Non-free Operating Systems", "OpenBSD_64", "OpenBSD (64 bit)",
+ VBOXOSTYPE_OpenBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
+ 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "BSD", "BSD", "NetBSD", "NetBSD",
++ { "Non-free OSs", "Non-free Operating Systems", "NetBSD", "NetBSD",
+ VBOXOSTYPE_NetBSD, VBOXOSHINT_NONE,
+ 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "BSD", "BSD", "NetBSD_64", "NetBSD (64 bit)",
++ { "Non-free OSs", "Non-free Operating Systems", "NetBSD_64", "NetBSD (64 bit)",
+ VBOXOSTYPE_NetBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
+ 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "OS2", "IBM OS/2", "OS2Warp3", "OS/2 Warp 3",
++ { "Non-free OSs", "Non-free Operating Systems", "OS2Warp3", "OS/2 Warp 3",
+ VBOXOSTYPE_OS2Warp3, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
+ 48, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
+- { "OS2", "IBM OS/2", "OS2Warp4", "OS/2 Warp 4",
++ { "Non-free OSs", "Non-free Operating Systems", "OS2Warp4", "OS/2 Warp 4",
+ VBOXOSTYPE_OS2Warp4, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
+ 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
+- { "OS2", "IBM OS/2", "OS2Warp45", "OS/2 Warp 4.5",
++ { "Non-free OSs", "Non-free Operating Systems", "OS2Warp45", "OS/2 Warp 4.5",
+ VBOXOSTYPE_OS2Warp45, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
+ 128, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
+- { "OS2", "IBM OS/2", "OS2eCS", "eComStation",
++ { "Non-free OSs", "Non-free Operating Systems", "OS2eCS", "eComStation",
+ VBOXOSTYPE_ECS, VBOXOSHINT_HWVIRTEX,
+ 256, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "OS2", "IBM OS/2", "OS2", "Other OS/2",
++ { "Non-free OSs", "Non-free Operating Systems", "OS2", "Other OS/2",
+ VBOXOSTYPE_OS2, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY | VBOXOSHINT_NOUSB,
+ 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
+- { "MacOS", "Mac OS X", "MacOS", "Mac OS X",
++ { "Non-free OSs", "Non-free Operating Systems", "MacOS", "Mac OS X",
+ VBOXOSTYPE_MacOS, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
+ 2048, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
+ StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
+ ChipsetType_ICH9, AudioControllerType_HDA },
+- { "MacOS", "Mac OS X", "MacOS_64", "Mac OS X (64 bit)",
++ { "Non-free OSs", "Non-free Operating Systems", "MacOS_64", "Mac OS X (64 bit)",
+ VBOXOSTYPE_MacOS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
+ 2048, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
+ StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
+ ChipsetType_ICH9, AudioControllerType_HDA },
+- { "Other", "Other", "DOS", "DOS",
++ { "Non-free OSs", "Non-free Operating Systems", "DOS", "DOS",
+ VBOXOSTYPE_DOS, VBOXOSHINT_FLOPPY | VBOXOSHINT_NOUSB,
+ 32, 4, 500 * _1M, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
+- { "Other", "Other", "Netware", "Netware",
++ { "Non-free OSs", "Non-free Operating Systems", "Netware", "Netware",
+ VBOXOSTYPE_Netware, VBOXOSHINT_HWVIRTEX,
+ 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Other", "Other", "L4", "L4",
++ { "Non-free OSs", "Non-free Operating Systems", "L4", "L4",
+ VBOXOSTYPE_L4, VBOXOSHINT_NONE,
+ 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Other", "Other", "QNX", "QNX",
++ { "Non-free OSs", "Non-free Operating Systems", "QNX", "QNX",
+ VBOXOSTYPE_QNX, VBOXOSHINT_HWVIRTEX,
+ 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
+- { "Other", "Other", "JRockitVE", "JRockitVE",
++ { "Non-free OSs", "Non-free Operating Systems", "JRockitVE", "JRockitVE",
+ VBOXOSTYPE_JRockitVE, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_PAE,
+ 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
+ StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97 },
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-08-29 11:13:40.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-10-16 21:21:17.755389876 -0200
+@@ -44,45 +44,33 @@
+
+ static const osTypePattern gs_OSTypePattern[] =
+ {
+- /* DOS: */
+- { QRegExp("DOS", Qt::CaseInsensitive), "DOS" },
+-
+- /* Windows: */
+- { QRegExp("Wi.*98", Qt::CaseInsensitive), "Windows98" },
+- { QRegExp("Wi.*95", Qt::CaseInsensitive), "Windows95" },
+- { QRegExp("Wi.*Me", Qt::CaseInsensitive), "WindowsMe" },
+- { QRegExp("(Wi.*NT)|(NT4)", Qt::CaseInsensitive), "WindowsNT4" },
+- { QRegExp("((Wi.*XP)|(\\bXP\\b)).*64", Qt::CaseInsensitive), "WindowsXP_64" },
+- { QRegExp("(Wi.*XP)|(\\bXP\\b)", Qt::CaseInsensitive), "WindowsXP" },
+- { QRegExp("((Wi.*2003)|(W2K3)).*64", Qt::CaseInsensitive), "Windows2003_64" },
+- { QRegExp("(Wi.*2003)|(W2K3)", Qt::CaseInsensitive), "Windows2003" },
+- { QRegExp("((Wi.*V)|(Vista)).*64", Qt::CaseInsensitive), "WindowsVista_64" },
+- { QRegExp("(Wi.*V)|(Vista)", Qt::CaseInsensitive), "WindowsVista" },
+- { QRegExp("((Wi.*2008)|(W2K8)).*64", Qt::CaseInsensitive), "Windows2008_64" },
+- { QRegExp("(Wi.*2008)|(W2K8)", Qt::CaseInsensitive), "Windows2008" },
+- { QRegExp("(Wi.*2000)|(W2K)", Qt::CaseInsensitive), "Windows2000" },
+- { QRegExp("(Wi.*7.*64)|(W7.*64)", Qt::CaseInsensitive), "Windows7_64" },
+- { QRegExp("(Wi.*7)|(W7)", Qt::CaseInsensitive), "Windows7" },
+- { QRegExp("(Wi.*8.*64)|(W8.*64)", Qt::CaseInsensitive), "Windows8_64" },
+- { QRegExp("(Wi.*8)|(W8)", Qt::CaseInsensitive), "Windows8" },
+- { QRegExp("Wi.*3", Qt::CaseInsensitive), "Windows31" },
+- { QRegExp("Wi", Qt::CaseInsensitive), "WindowsXP" },
+-
+- /* Solaris: */
+- { QRegExp("So.*11", Qt::CaseInsensitive), "Solaris11_64" },
+- { QRegExp("((Op.*So)|(os20[01][0-9])|(So.*10)|(India)|(Neva)).*64", Qt::CaseInsensitive), "OpenSolaris_64" },
+- { QRegExp("(Op.*So)|(os20[01][0-9])|(So.*10)|(India)|(Neva)", Qt::CaseInsensitive), "OpenSolaris" },
+- { QRegExp("So.*64", Qt::CaseInsensitive), "Solaris_64" },
+- { QRegExp("So", Qt::CaseInsensitive), "Solaris" },
+-
+- /* OS/2: */
+- { QRegExp("OS[/|!-]{,1}2.*W.*4.?5", Qt::CaseInsensitive), "OS2Warp45" },
+- { QRegExp("OS[/|!-]{,1}2.*W.*4", Qt::CaseInsensitive), "OS2Warp4" },
+- { QRegExp("OS[/|!-]{,1}2.*W", Qt::CaseInsensitive), "OS2Warp3" },
+- { QRegExp("(OS[/|!-]{,1}2.*e)|(eCS.*)", Qt::CaseInsensitive), "OS2eCS" },
+- { QRegExp("OS[/|!-]{,1}2", Qt::CaseInsensitive), "OS2" },
++ /* Code names for free GNU/Linux distributions */
++ { QRegExp("((Taranis)|(Dagda)|(Brigantia)).*64", Qt::CaseInsensitive), "Trisquel_64" },
++ { QRegExp("(Taranis)|(Dagda)|(Brigantia)", Qt::CaseInsensitive), "Trisquel" },
++ { QRegExp("((metad)|(parkes)|(three)).*64", Qt::CaseInsensitive), "gNewSense_64" },
++ { QRegExp("(deltah)|(metad)|(parkes)|(three)", Qt::CaseInsensitive), "gNewSense" },
++ { QRegExp("((90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)).*64", Qt::CaseInsensitive), "Blag_64" },
++ { QRegExp("(90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)", Qt::CaseInsensitive), "Blag" },
++
++ /* Regular names of free GNU/Linux distributions */
++ { QRegExp("Pa.*64", Qt::CaseInsensitive), "Parabola_64" },
++ { QRegExp("Pa", Qt::CaseInsensitive), "Parabola" },
++ { QRegExp("((gNe)|(new)|(Sen)).*64", Qt::CaseInsensitive), "gNewSense_64" },
++ { QRegExp("(gNe)|(new)|(Sen)", Qt::CaseInsensitive), "gNewSense" },
++ { QRegExp("Bla.*64", Qt::CaseInsensitive), "Blag_64" },
++ { QRegExp("Bla", Qt::CaseInsensitive), "Blag" },
++ { QRegExp("Dra.*64", Qt::CaseInsensitive), "Dragora_64" },
++ { QRegExp("Dra", Qt::CaseInsensitive), "Dragora" },
++ { QRegExp("((Utu)|(XS)).*64", Qt::CaseInsensitive), "Ututo_64" },
++ { QRegExp("(Utu)|(XS)", Qt::CaseInsensitive), "Ututo" },
++ { QRegExp("Mus.*64", Qt::CaseInsensitive), "Musix_64" },
++ { QRegExp("Mus", Qt::CaseInsensitive), "Musix" },
++ { QRegExp("Tri.*64", Qt::CaseInsensitive), "Trisquel_64" },
++ { QRegExp("Tri", Qt::CaseInsensitive), "Trisquel" },
++ { QRegExp("Dyn", Qt::CaseInsensitive), "Dynebolic" },
++ { QRegExp("Ven", Qt::CaseInsensitive), "Venenux" },
+
+- /* Code names for Linux distributions: */
++ /* Code names for non-free GNU/Linux distributions: */
+ { QRegExp("((edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)).*64", Qt::CaseInsensitive), "Ubuntu_64" },
+ { QRegExp("(edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)", Qt::CaseInsensitive), "Ubuntu" },
+ { QRegExp("((sarge)|(etch)|(lenny)|(squeeze)|(wheezy)|(sid)).*64", Qt::CaseInsensitive), "Debian_64" },
+@@ -90,7 +78,7 @@
+ { QRegExp("((moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)).*64", Qt::CaseInsensitive), "Fedora_64" },
+ { QRegExp("(moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)", Qt::CaseInsensitive), "Fedora" },
+
+- /* Regular names of Linux distributions: */
++ /* Regular names of non-free GNU/Linux distributions: */
+ { QRegExp("Arc.*64", Qt::CaseInsensitive), "ArchLinux_64" },
+ { QRegExp("Arc", Qt::CaseInsensitive), "ArchLinux" },
+ { QRegExp("Deb.*64", Qt::CaseInsensitive), "Debian_64" },
+@@ -115,15 +103,50 @@
+ { QRegExp("(Or)|(oel)", Qt::CaseInsensitive), "Oracle" },
+ { QRegExp("Knoppix", Qt::CaseInsensitive), "Linux26" },
+ { QRegExp("Dsl", Qt::CaseInsensitive), "Linux24" },
+- { QRegExp("((Li)|(lnx)).*2.?2", Qt::CaseInsensitive), "Linux22" },
+- { QRegExp("((Li)|(lnx)).*2.?4.*64", Qt::CaseInsensitive), "Linux24_64" },
+- { QRegExp("((Li)|(lnx)).*2.?4", Qt::CaseInsensitive), "Linux24" },
+- { QRegExp("((((Li)|(lnx)).*2.?6)|(LFS)).*64", Qt::CaseInsensitive), "Linux26_64" },
+- { QRegExp("(((Li)|(lnx)).*2.?6)|(LFS)", Qt::CaseInsensitive), "Linux26" },
+- { QRegExp("((Li)|(lnx)).*64", Qt::CaseInsensitive), "Linux26_64" },
+- { QRegExp("(Li)|(lnx)", Qt::CaseInsensitive), "Linux26" },
+
+- /* Other: */
++ /* Regular names of generic GNU, GNU/Linux and GNU-Hurd Operating Systems */
++ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?2", Qt::CaseInsensitive), "Linux22" },
++ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?4.*64", Qt::CaseInsensitive), "Linux24_64" },
++ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?4", Qt::CaseInsensitive), "Linux24" },
++ { QRegExp("((((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?6)|(LFS)).*64", Qt::CaseInsensitive), "Linux26_64" },
++ { QRegExp("(((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?6)|(LFS)", Qt::CaseInsensitive), "Linux26" },
++ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*64", Qt::CaseInsensitive), "Linux26_64" },
++ { QRegExp("(GNU[/|!-]{,1}Li)|(Li)|(lnx)", Qt::CaseInsensitive), "Linux26" },
++ { QRegExp("(GNU-Hu)|(GNU[/|!-]{,1}Hu)|(Hu)", Qt::CaseInsensitive), "GNUHurd" },
++ { QRegExp("GNU.*64", Qt::CaseInsensitive), "GNU_64" },
++ { QRegExp("GNU", Qt::CaseInsensitive), "GNU" },
++
++ /* Regular names of non-free operating systems: */
++ { QRegExp("DOS", Qt::CaseInsensitive), "DOS" },
++ { QRegExp("Wi.*98", Qt::CaseInsensitive), "Windows98" },
++ { QRegExp("Wi.*95", Qt::CaseInsensitive), "Windows95" },
++ { QRegExp("Wi.*Me", Qt::CaseInsensitive), "WindowsMe" },
++ { QRegExp("(Wi.*NT)|(NT4)", Qt::CaseInsensitive), "WindowsNT4" },
++ { QRegExp("((Wi.*XP)|(\\bXP\\b)).*64", Qt::CaseInsensitive), "WindowsXP_64" },
++ { QRegExp("(Wi.*XP)|(\\bXP\\b)", Qt::CaseInsensitive), "WindowsXP" },
++ { QRegExp("((Wi.*2003)|(W2K3)).*64", Qt::CaseInsensitive), "Windows2003_64" },
++ { QRegExp("(Wi.*2003)|(W2K3)", Qt::CaseInsensitive), "Windows2003" },
++ { QRegExp("((Wi.*V)|(Vista)).*64", Qt::CaseInsensitive), "WindowsVista_64" },
++ { QRegExp("(Wi.*V)|(Vista)", Qt::CaseInsensitive), "WindowsVista" },
++ { QRegExp("((Wi.*2008)|(W2K8)).*64", Qt::CaseInsensitive), "Windows2008_64" },
++ { QRegExp("(Wi.*2008)|(W2K8)", Qt::CaseInsensitive), "Windows2008" },
++ { QRegExp("(Wi.*2000)|(W2K)", Qt::CaseInsensitive), "Windows2000" },
++ { QRegExp("(Wi.*7.*64)|(W7.*64)", Qt::CaseInsensitive), "Windows7_64" },
++ { QRegExp("(Wi.*7)|(W7)", Qt::CaseInsensitive), "Windows7" },
++ { QRegExp("(Wi.*8.*64)|(W8.*64)", Qt::CaseInsensitive), "Windows8_64" },
++ { QRegExp("(Wi.*8)|(W8)", Qt::CaseInsensitive), "Windows8" },
++ { QRegExp("Wi.*3", Qt::CaseInsensitive), "Windows31" },
++ { QRegExp("Wi", Qt::CaseInsensitive), "WindowsXP" },
++ { QRegExp("So.*11", Qt::CaseInsensitive), "Solaris11_64" },
++ { QRegExp("((Op.*So)|(os20[01][0-9])|(So.*10)|(India)|(Neva)).*64", Qt::CaseInsensitive), "OpenSolaris_64" },
++ { QRegExp("(Op.*So)|(os20[01][0-9])|(So.*10)|(India)|(Neva)", Qt::CaseInsensitive), "OpenSolaris" },
++ { QRegExp("So.*64", Qt::CaseInsensitive), "Solaris_64" },
++ { QRegExp("So", Qt::CaseInsensitive), "Solaris" },
++ { QRegExp("OS[/|!-]{,1}2.*W.*4.?5", Qt::CaseInsensitive), "OS2Warp45" },
++ { QRegExp("OS[/|!-]{,1}2.*W.*4", Qt::CaseInsensitive), "OS2Warp4" },
++ { QRegExp("OS[/|!-]{,1}2.*W", Qt::CaseInsensitive), "OS2Warp3" },
++ { QRegExp("(OS[/|!-]{,1}2.*e)|(eCS.*)", Qt::CaseInsensitive), "OS2eCS" },
++ { QRegExp("OS[/|!-]{,1}2", Qt::CaseInsensitive), "OS2" },
+ { QRegExp("L4", Qt::CaseInsensitive), "L4" },
+ { QRegExp("((Fr.*B)|(fbsd)).*64", Qt::CaseInsensitive), "FreeBSD_64" },
+ { QRegExp("(Fr.*B)|(fbsd)", Qt::CaseInsensitive), "FreeBSD" },
+@@ -136,6 +159,8 @@
+ { QRegExp("(Mac)|(Tig)|(Leop)|(osx)", Qt::CaseInsensitive), "MacOS" },
+ { QRegExp("Net", Qt::CaseInsensitive), "Netware" },
+ { QRegExp("Rocki", Qt::CaseInsensitive), "JRockitVE" },
++
++ /* Other: */
+ { QRegExp("Ot", Qt::CaseInsensitive), "Other" },
};
- /**
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp 2012-07-25 21:44:01.290876720 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp 2012-07-25 22:00:57.819380802 -0300
-@@ -4875,75 +4875,27 @@
- static const char *kOSTypeIcons [][2] =
- {
- {"Other", ":/os_other.png"},
-- {"DOS", ":/os_dos.png"},
-- {"Netware", ":/os_netware.png"},
-- {"L4", ":/os_l4.png"},
-- {"Windows31", ":/os_win31.png"},
-- {"Windows95", ":/os_win95.png"},
-- {"Windows98", ":/os_win98.png"},
-- {"WindowsMe", ":/os_winme.png"},
-- {"WindowsNT4", ":/os_winnt4.png"},
-- {"Windows2000", ":/os_win2k.png"},
-- {"WindowsXP", ":/os_winxp.png"},
-- {"WindowsXP_64", ":/os_winxp_64.png"},
-- {"Windows2003", ":/os_win2k3.png"},
-- {"Windows2003_64", ":/os_win2k3_64.png"},
-- {"WindowsVista", ":/os_winvista.png"},
-- {"WindowsVista_64", ":/os_winvista_64.png"},
-- {"Windows2008", ":/os_win2k8.png"},
-- {"Windows2008_64", ":/os_win2k8_64.png"},
-- {"Windows7", ":/os_win7.png"},
-- {"Windows7_64", ":/os_win7_64.png"},
-- {"Windows8", ":/os_win8.png"},
-- {"Windows8_64", ":/os_win8_64.png"},
-- {"WindowsNT", ":/os_win_other.png"},
-- {"OS2Warp3", ":/os_os2warp3.png"},
-- {"OS2Warp4", ":/os_os2warp4.png"},
-- {"OS2Warp45", ":/os_os2warp45.png"},
-- {"OS2eCS", ":/os_os2ecs.png"},
-- {"OS2", ":/os_os2_other.png"},
+@@ -266,10 +291,12 @@
+ setTitle(UIWizardNewVM::tr("Name and operating system"));
+
+ /* Translate widgets: */
+- m_pLabel->setText(UIWizardNewVM::tr("Please choose a descriptive name for the new virtual machine "
++ m_pLabel->setText(UIWizardNewVM::tr("<p>Please choose a descriptive name for the new virtual machine "
+ "and select the type of operating system you intend to install on it. "
+ "The name you choose will be used throughout VirtualBox "
+- "to identify this machine."));
++ "to identify this machine.</p><p><b>Note: We hope you don't use non-free "
++ "GNU/Linux distros and non-free operating systems, since to use them "
++ "is to surrender your freedom.</b></p>"));
+ }
+
+ void UIWizardNewVMPageBasic1::initializePage()
+--- VirtualBox-4.2.0.orig/src/VBox/Main/xml/Settings.cpp 2012-08-29 11:13:34.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Main/xml/Settings.cpp 2012-10-03 17:02:44.581501053 -0300
+@@ -3405,7 +3405,18 @@
+ { "netware", "Netware" },
+ { "solaris", "Solaris" },
+ { "opensolaris", "OpenSolaris" },
+- { "l4", "L4" }
++ { "l4", "L4" },
++ { "gnu", "GNU" },
++ { "gnuhurd", "GNUHurd" },
++ { "parabola", "Parabola" },
++ { "gnewsense", "gNewSense" },
++ { "blag", "Blag" },
++ { "dragora", "Dragora" },
++ { "ututo", "Ututo" },
++ { "musix", "Musix" },
++ { "trisquel", "Trisquel" },
++ { "dynebolic", "Dynebolic" },
++ { "venenux", "Venenux" }
+ };
+
+ void MachineConfigFile::convertOldOSType_pre1_5(Utf8Str &str)
+--- VirtualBox-4.2.0.orig/src/VBox/Main/xml/SettingsConverter.xsl 2012-09-04 09:48:43.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Main/xml/SettingsConverter.xsl 2012-10-03 17:02:10.780019131 -0300
+@@ -763,6 +763,17 @@
+ <xsl:when test="@OSType='solaris'">Solaris</xsl:when>
+ <xsl:when test="@OSType='opensolaris'">OpenSolaris</xsl:when>
+ <xsl:when test="@OSType='l4'">L4</xsl:when>
++ <xsl:when test="@OSType='gnu'">GNU</xsl:when>
++ <xsl:when test="@OSType='gnuhurd'">GNUHurd</xsl:when>
++ <xsl:when test="@OSType='parabola'">Parabola</xsl:when>
++ <xsl:when test="@OSType='gnewsense'">gNewSense</xsl:when>
++ <xsl:when test="@OSType='blag'">Blag</xsl:when>
++ <xsl:when test="@OSType='dragora'">Dragora</xsl:when>
++ <xsl:when test="@OSType='ututo'">Ututo</xsl:when>
++ <xsl:when test="@OSType='musix'">Musix</xsl:when>
++ <xsl:when test="@OSType='trisquel'">Trisquel</xsl:when>
++ <xsl:when test="@OSType='dynebolic'">Dynebolic</xsl:when>
++ <xsl:when test="@OSType='venenux'">Venenux</xsl:when>
+ </xsl:choose>
+ </xsl:attribute>
+ <xsl:apply-templates select="@*[name()!='OSType']" mode="v1.5"/>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-05-30 07:39:18.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-10-03 00:13:20.408089706 -0300
+@@ -70,6 +70,24 @@
+ <file alias="os_oracle_64.png">images/os_oracle_64.png</file>
+ <file alias="os_macosx.png">images/os_macosx.png</file>
+ <file alias="os_macosx_64.png">images/os_macosx_64.png</file>
++ <file alias="os_parabola.png">images/os_parabola.png</file>
++ <file alias="os_parabola_64.png">images/os_parabola_64.png</file>
++ <file alias="os_gnewsense.png">images/os_gnewsense.png</file>
++ <file alias="os_gnewsense_64.png">images/os_gnewsense_64.png</file>
++ <file alias="os_blag.png">images/os_blag.png</file>
++ <file alias="os_blag_64.png">images/os_blag_64.png</file>
++ <file alias="os_ututo.png">images/os_ututo.png</file>
++ <file alias="os_ututo_64.png">images/os_ututo_64.png</file>
++ <file alias="os_gnu.png">images/os_gnu.png</file>
++ <file alias="os_gnu_64.png">images/os_gnu_64.png</file>
++ <file alias="os_musix.png">images/os_musix.png</file>
++ <file alias="os_musix_64.png">images/os_musix_64.png</file>
++ <file alias="os_dragora.png">images/os_dragora.png</file>
++ <file alias="os_dragora_64.png">images/os_dragora_64.png</file>
++ <file alias="os_dynebolic.png">images/os_dynebolic.png</file>
++ <file alias="os_venenux.png">images/os_venenux.png</file>
++ <file alias="os_trisquel.png">images/os_trisquel.png</file>
++ <file alias="os_trisquel_64.png">images/os_trisquel_64.png</file>
+ <file alias="hd_16px.png">images/hd_16px.png</file>
+ <file alias="hd_disabled_16px.png">images/hd_disabled_16px.png</file>
+ <file alias="hd_32px.png">images/hd_32px.png</file>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp 2012-09-04 09:48:45.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp 2012-10-03 17:03:46.114796857 -0300
+@@ -4310,11 +4310,11 @@
+ {"OS2Warp45", ":/os_os2warp45.png"},
+ {"OS2eCS", ":/os_os2ecs.png"},
+ {"OS2", ":/os_os2_other.png"},
- {"Linux22", ":/os_linux22.png"},
- {"Linux24", ":/os_linux24.png"},
- {"Linux24_64", ":/os_linux24_64.png"},
- {"Linux26", ":/os_linux26.png"},
- {"Linux26_64", ":/os_linux26_64.png"},
-- {"ArchLinux", ":/os_archlinux.png"},
-- {"ArchLinux_64", ":/os_archlinux_64.png"},
-- {"Debian", ":/os_debian.png"},
-- {"Debian_64", ":/os_debian_64.png"},
-- {"OpenSUSE", ":/os_opensuse.png"},
-- {"OpenSUSE_64", ":/os_opensuse_64.png"},
-- {"Fedora", ":/os_fedora.png"},
-- {"Fedora_64", ":/os_fedora_64.png"},
-- {"Gentoo", ":/os_gentoo.png"},
-- {"Gentoo_64", ":/os_gentoo_64.png"},
-- {"Mandriva", ":/os_mandriva.png"},
-- {"Mandriva_64", ":/os_mandriva_64.png"},
-- {"RedHat", ":/os_redhat.png"},
-- {"RedHat_64", ":/os_redhat_64.png"},
-- {"Turbolinux", ":/os_turbolinux.png"},
-- {"Turbolinux_64", ":/os_turbolinux_64.png"},
-- {"Ubuntu", ":/os_ubuntu.png"},
-- {"Ubuntu_64", ":/os_ubuntu_64.png"},
-- {"Xandros", ":/os_xandros.png"},
-- {"Xandros_64", ":/os_xandros_64.png"},
-- {"Oracle", ":/os_oracle.png"},
-- {"Oracle_64", ":/os_oracle_64.png"},
++ {"Linux22", ":/os_gnu.png"},
++ {"Linux24", ":/os_gnu.png"},
++ {"Linux24_64", ":/os_gnu_64.png"},
++ {"Linux26", ":/os_gnu.png"},
++ {"Linux26_64", ":/os_gnu_64.png"},
+ {"ArchLinux", ":/os_archlinux.png"},
+ {"ArchLinux_64", ":/os_archlinux_64.png"},
+ {"Debian", ":/os_debian.png"},
+@@ -4337,7 +4337,7 @@
+ {"Xandros_64", ":/os_xandros_64.png"},
+ {"Oracle", ":/os_oracle.png"},
+ {"Oracle_64", ":/os_oracle_64.png"},
- {"Linux", ":/os_linux_other.png"},
-- {"FreeBSD", ":/os_freebsd.png"},
-- {"FreeBSD_64", ":/os_freebsd_64.png"},
-- {"OpenBSD", ":/os_openbsd.png"},
-- {"OpenBSD_64", ":/os_openbsd_64.png"},
-- {"NetBSD", ":/os_netbsd.png"},
-- {"NetBSD_64", ":/os_netbsd_64.png"},
-- {"Solaris", ":/os_solaris.png"},
-- {"Solaris_64", ":/os_solaris_64.png"},
-- {"OpenSolaris", ":/os_oraclesolaris.png"},
-- {"OpenSolaris_64", ":/os_oraclesolaris_64.png"},
-- {"QNX", ":/os_qnx.png"},
-- {"MacOS", ":/os_macosx.png"},
-- {"MacOS_64", ":/os_macosx_64.png"},
-- {"JRockitVE", ":/os_jrockitve.png"},
++ {"Linux", ":/os_gnu.png"},
+ {"FreeBSD", ":/os_freebsd.png"},
+ {"FreeBSD_64", ":/os_freebsd_64.png"},
+ {"OpenBSD", ":/os_openbsd.png"},
+@@ -4353,6 +4353,25 @@
+ {"MacOS", ":/os_macosx.png"},
+ {"MacOS_64", ":/os_macosx_64.png"},
+ {"JRockitVE", ":/os_jrockitve.png"},
+ {"GNU", ":/os_gnu.png"},
+ {"GNU_64", ":/os_gnu_64.png"},
-+ {"GNUHurd", ":/os_gnuhurd.png"},
-+ {"GNULinux", ":/os_gnulinux.png"},
-+ {"GNULinux_64", ":/os_gnulinux_64.png"},
++ {"GNUHurd", ":/os_gnu.png"},
+ {"Parabola", ":/os_parabola.png"},
+ {"Parabola_64", ":/os_parabola_64.png"},
+ {"gNewSense", ":/os_gnewsense.png"},
@@ -870,514 +788,417 @@
};
for (uint n = 0; n < SIZEOF_ARRAY (kOSTypeIcons); ++ n)
{
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorWidget.cpp.orig 2012-06-20 10:16:38.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorWidget.cpp 2012-07-25 22:07:51.232436783 -0300
-@@ -192,17 +192,10 @@
- if (typeIndex != -1)
- mCbType->setCurrentIndex (typeIndex);
- }
-- /* Or select WinXP item for Windows family as default */
-- else if (familyId == "Windows")
-+ /* Or select Parabola GNU/Linux-libre item for GNU/Linux family as default */
-+ else if (familyId == "GNU/Linux")
- {
-- int xpIndex = mCbType->findData ("WindowsXP", RoleTypeID);
-- if (xpIndex != -1)
-- mCbType->setCurrentIndex (xpIndex);
-- }
-- /* Or select Ubuntu item for Linux family as default */
-- else if (familyId == "Linux")
-- {
-- int ubIndex = mCbType->findData ("Ubuntu", RoleTypeID);
-+ int ubIndex = mCbType->findData ("Parabola", RoleTypeID);
- if (ubIndex != -1)
- mCbType->setCurrentIndex (ubIndex);
- }
---- VirtualBox-4.1.18.orig/include/VBox/ostypes.h 2012-06-20 10:07:51.000000000 -0300
-+++ VirtualBox-4.1.18/include/VBox/ostypes.h 2012-07-25 23:20:57.322757456 -0300
-@@ -43,77 +43,27 @@
- typedef enum VBOXOSTYPE
- {
- VBOXOSTYPE_Unknown = 0,
-- VBOXOSTYPE_DOS = 0x10000,
-- VBOXOSTYPE_Win31 = 0x15000,
-- VBOXOSTYPE_Win9x = 0x20000,
-- VBOXOSTYPE_Win95 = 0x21000,
-- VBOXOSTYPE_Win98 = 0x22000,
-- VBOXOSTYPE_WinMe = 0x23000,
-- VBOXOSTYPE_WinNT = 0x30000,
-- VBOXOSTYPE_WinNT4 = 0x31000,
-- VBOXOSTYPE_Win2k = 0x32000,
-- VBOXOSTYPE_WinXP = 0x33000,
-- VBOXOSTYPE_WinXP_x64 = 0x33100,
-- VBOXOSTYPE_Win2k3 = 0x34000,
-- VBOXOSTYPE_Win2k3_x64 = 0x34100,
-- VBOXOSTYPE_WinVista = 0x35000,
-- VBOXOSTYPE_WinVista_x64 = 0x35100,
-- VBOXOSTYPE_Win2k8 = 0x36000,
-- VBOXOSTYPE_Win2k8_x64 = 0x36100,
-- VBOXOSTYPE_Win7 = 0x37000,
-- VBOXOSTYPE_Win7_x64 = 0x37100,
-- VBOXOSTYPE_Win8 = 0x38000,
-- VBOXOSTYPE_Win8_x64 = 0x38100,
-- VBOXOSTYPE_OS2 = 0x40000,
-- VBOXOSTYPE_OS2Warp3 = 0x41000,
-- VBOXOSTYPE_OS2Warp4 = 0x42000,
-- VBOXOSTYPE_OS2Warp45 = 0x43000,
-- VBOXOSTYPE_ECS = 0x44000,
-- VBOXOSTYPE_Linux = 0x50000,
-- VBOXOSTYPE_Linux_x64 = 0x50100,
-- VBOXOSTYPE_Linux22 = 0x51000,
-- VBOXOSTYPE_Linux24 = 0x52000,
-- VBOXOSTYPE_Linux24_x64 = 0x52100,
-- VBOXOSTYPE_Linux26 = 0x53000,
-- VBOXOSTYPE_Linux26_x64 = 0x53100,
-- VBOXOSTYPE_ArchLinux = 0x54000,
-- VBOXOSTYPE_ArchLinux_x64 = 0x54100,
-- VBOXOSTYPE_Debian = 0x55000,
-- VBOXOSTYPE_Debian_x64 = 0x55100,
-- VBOXOSTYPE_OpenSUSE = 0x56000,
-- VBOXOSTYPE_OpenSUSE_x64 = 0x56100,
-- VBOXOSTYPE_FedoraCore = 0x57000,
-- VBOXOSTYPE_FedoraCore_x64 = 0x57100,
-- VBOXOSTYPE_Gentoo = 0x58000,
-- VBOXOSTYPE_Gentoo_x64 = 0x58100,
-- VBOXOSTYPE_Mandriva = 0x59000,
-- VBOXOSTYPE_Mandriva_x64 = 0x59100,
-- VBOXOSTYPE_RedHat = 0x5A000,
-- VBOXOSTYPE_RedHat_x64 = 0x5A100,
-- VBOXOSTYPE_Turbolinux = 0x5B000,
-- VBOXOSTYPE_Turbolinux_x64 = 0x5B100,
-- VBOXOSTYPE_Ubuntu = 0x5C000,
-- VBOXOSTYPE_Ubuntu_x64 = 0x5C100,
-- VBOXOSTYPE_Xandros = 0x5D000,
-- VBOXOSTYPE_Xandros_x64 = 0x5D100,
-- VBOXOSTYPE_Oracle = 0x5E000,
-- VBOXOSTYPE_Oracle_x64 = 0x5E100,
-- VBOXOSTYPE_FreeBSD = 0x60000,
-- VBOXOSTYPE_FreeBSD_x64 = 0x60100,
-- VBOXOSTYPE_OpenBSD = 0x61000,
-- VBOXOSTYPE_OpenBSD_x64 = 0x61100,
-- VBOXOSTYPE_NetBSD = 0x62000,
-- VBOXOSTYPE_NetBSD_x64 = 0x62100,
-- VBOXOSTYPE_Netware = 0x70000,
-- VBOXOSTYPE_Solaris = 0x80000,
-- VBOXOSTYPE_Solaris_x64 = 0x80100,
-- VBOXOSTYPE_OpenSolaris = 0x81000,
-- VBOXOSTYPE_OpenSolaris_x64 = 0x81100,
-- VBOXOSTYPE_L4 = 0x90000,
-- VBOXOSTYPE_QNX = 0xA0000,
-- VBOXOSTYPE_MacOS = 0xB0000,
-- VBOXOSTYPE_MacOS_x64 = 0xB0100,
-- VBOXOSTYPE_JRockitVE = 0xC0000,
-+ VBOXOSTYPE_GNU = 0x10000,
-+ VBOXOSTYPE_GNU_x64 = 0x10100,
-+ VBOXOSTYPE_GNUHurd = 0x20000,
-+ VBOXOSTYPE_GNULinux = 0x30000,
-+ VBOXOSTYPE_GNULinux_x64 = 0x30100,
-+ VBOXOSTYPE_Parabola = 0x31000,
-+ VBOXOSTYPE_Parabola_x64 = 0x31100,
-+ VBOXOSTYPE_gNewSense = 0x32000,
-+ VBOXOSTYPE_gNewSense_x64 = 0x32100,
-+ VBOXOSTYPE_Blag = 0x33000,
-+ VBOXOSTYPE_Blag_x64 = 0x33100,
-+ VBOXOSTYPE_Dragora = 0x34000,
-+ VBOXOSTYPE_Dragora_x64 = 0x34100,
-+ VBOXOSTYPE_Ututo = 0x35000,
-+ VBOXOSTYPE_Ututo_x64 = 0x35100,
-+ VBOXOSTYPE_Musix = 0x36000,
-+ VBOXOSTYPE_Musix_x64 = 0x36100,
-+ VBOXOSTYPE_Trisquel = 0x37000,
-+ VBOXOSTYPE_Trisquel_x64 = 0x37100,
-+ VBOXOSTYPE_Dynebolic = 0x38000,
-+ VBOXOSTYPE_Venenux = 0x39000,
+--- VirtualBox-4.2.0.orig/include/VBox/ostypes.h 2012-09-08 06:35:56.000000000 -0300
++++ VirtualBox-4.2.0/include/VBox/ostypes.h 2012-10-03 17:07:12.143504689 -0300
+@@ -116,6 +116,25 @@
+ VBOXOSTYPE_MacOS = 0xB0000,
+ VBOXOSTYPE_MacOS_x64 = 0xB0100,
+ VBOXOSTYPE_JRockitVE = 0xC0000,
++ VBOXOSTYPE_GNU = 0xD0000,
++ VBOXOSTYPE_GNU_x64 = 0xD0100,
++ VBOXOSTYPE_GNUHurd = 0xE0000,
++ VBOXOSTYPE_Parabola = 0xF0000,
++ VBOXOSTYPE_Parabola_x64 = 0xF0100,
++ VBOXOSTYPE_gNewSense = 0xF1000,
++ VBOXOSTYPE_gNewSense_x64 = 0xF1100,
++ VBOXOSTYPE_Blag = 0xF2000,
++ VBOXOSTYPE_Blag_x64 = 0xF2100,
++ VBOXOSTYPE_Dragora = 0xF3000,
++ VBOXOSTYPE_Dragora_x64 = 0xF3100,
++ VBOXOSTYPE_Ututo = 0xF4000,
++ VBOXOSTYPE_Ututo_x64 = 0xF4100,
++ VBOXOSTYPE_Musix = 0xF5000,
++ VBOXOSTYPE_Musix_x64 = 0xF5100,
++ VBOXOSTYPE_Trisquel = 0xF6000,
++ VBOXOSTYPE_Trisquel_x64 = 0xF6100,
++ VBOXOSTYPE_Dynebolic = 0xF7000,
++ VBOXOSTYPE_Venenux = 0xF8000,
/** The bit number which indicates 64-bit or 32-bit. */
#define VBOXOSTYPE_x64_BIT 8
/** The mask which indicates 64-bit. */
-@@ -129,16 +79,11 @@
- typedef enum VBOXOSFAMILY
- {
- VBOXOSFAMILY_Unknown = 0,
-- VBOXOSFAMILY_Windows32 = 1,
-- VBOXOSFAMILY_Windows64 = 2,
-- VBOXOSFAMILY_Linux32 = 3,
-- VBOXOSFAMILY_Linux64 = 4,
-- VBOXOSFAMILY_FreeBSD32 = 5,
-- VBOXOSFAMILY_FreeBSD64 = 6,
-- VBOXOSFAMILY_Solaris32 = 7,
-- VBOXOSFAMILY_Solaris64 = 8,
-- VBOXOSFAMILY_MacOSX32 = 9,
-- VBOXOSFAMILY_MacOSX64 = 10,
-+ VBOXOSFAMILY_GNU32 = 1,
-+ VBOXOSFAMILY_GNU64 = 2,
-+ VBOXOSFAMILY_GNUHurd = 3,
-+ VBOXOSFAMILY_GNULinux32 = 4,
-+ VBOXOSFAMILY_GNULinux64 = 5,
- /** The usual 32-bit hack. */
- VBOXOSFAMILY_32BIT_HACK = 0x7fffffff
- } VBOXOSFAMILY;
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-server/ApplianceImpl.cpp 2012-06-20 10:17:35.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/src-server/ApplianceImpl.cpp 2012-07-26 01:28:50.033551279 -0300
-@@ -49,94 +49,33 @@
- g_osTypes[] =
- {
- { ovf::CIMOSType_CIMOS_Unknown, SchemaDefs_OSTypeId_Other },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp3 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp4 },
-- { ovf::CIMOSType_CIMOS_OS2, SchemaDefs_OSTypeId_OS2Warp45 },
-- { ovf::CIMOSType_CIMOS_MSDOS, SchemaDefs_OSTypeId_DOS },
-- { ovf::CIMOSType_CIMOS_WIN3x, SchemaDefs_OSTypeId_Windows31 },
-- { ovf::CIMOSType_CIMOS_WIN95, SchemaDefs_OSTypeId_Windows95 },
-- { ovf::CIMOSType_CIMOS_WIN98, SchemaDefs_OSTypeId_Windows98 },
-- { ovf::CIMOSType_CIMOS_WINNT, SchemaDefs_OSTypeId_WindowsNT },
-- { ovf::CIMOSType_CIMOS_WINNT, SchemaDefs_OSTypeId_WindowsNT4 },
-- { ovf::CIMOSType_CIMOS_NetWare, SchemaDefs_OSTypeId_Netware },
-- { ovf::CIMOSType_CIMOS_NovellOES, SchemaDefs_OSTypeId_Netware },
-- { ovf::CIMOSType_CIMOS_Solaris, SchemaDefs_OSTypeId_Solaris },
-- { ovf::CIMOSType_CIMOS_SunOS, SchemaDefs_OSTypeId_Solaris },
-- { ovf::CIMOSType_CIMOS_FreeBSD, SchemaDefs_OSTypeId_FreeBSD },
-- { ovf::CIMOSType_CIMOS_NetBSD, SchemaDefs_OSTypeId_NetBSD },
-- { ovf::CIMOSType_CIMOS_QNX, SchemaDefs_OSTypeId_QNX },
-- { ovf::CIMOSType_CIMOS_Windows2000, SchemaDefs_OSTypeId_Windows2000 },
-- { ovf::CIMOSType_CIMOS_WindowsMe, SchemaDefs_OSTypeId_WindowsMe },
-- { ovf::CIMOSType_CIMOS_OpenBSD, SchemaDefs_OSTypeId_OpenBSD },
-- { ovf::CIMOSType_CIMOS_WindowsXP, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_WindowsXPEmbedded, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_WindowsEmbeddedforPointofService, SchemaDefs_OSTypeId_WindowsXP },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2003, SchemaDefs_OSTypeId_Windows2003 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2003_64, SchemaDefs_OSTypeId_Windows2003_64 },
-- { ovf::CIMOSType_CIMOS_WindowsXP_64, SchemaDefs_OSTypeId_WindowsXP_64 },
-- { ovf::CIMOSType_CIMOS_WindowsVista, SchemaDefs_OSTypeId_WindowsVista },
-- { ovf::CIMOSType_CIMOS_WindowsVista_64, SchemaDefs_OSTypeId_WindowsVista_64 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2008, SchemaDefs_OSTypeId_Windows2008 },
-- { ovf::CIMOSType_CIMOS_MicrosoftWindowsServer2008_64, SchemaDefs_OSTypeId_Windows2008_64 },
-- { ovf::CIMOSType_CIMOS_FreeBSD_64, SchemaDefs_OSTypeId_FreeBSD_64 },
-- { ovf::CIMOSType_CIMOS_MACOS, SchemaDefs_OSTypeId_MacOS },
-- { ovf::CIMOSType_CIMOS_MACOS, SchemaDefs_OSTypeId_MacOS_64 }, // there is no CIM 64-bit type for this
--
+--- VirtualBox-4.2.0.orig/src/VBox/Main/src-server/ApplianceImpl.cpp 2012-08-03 09:28:30.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Main/src-server/ApplianceImpl.cpp 2012-10-03 17:11:27.739487250 -0300
+@@ -84,7 +84,32 @@
+ { ovf::CIMOSType_CIMOS_MACOS, VBOXOSTYPE_MacOS },
+ { ovf::CIMOSType_CIMOS_MACOS, VBOXOSTYPE_MacOS_x64 }, // there is no CIM 64-bit type for this
+
- // Linuxes
-- { ovf::CIMOSType_CIMOS_RedHatEnterpriseLinux, SchemaDefs_OSTypeId_RedHat },
-- { ovf::CIMOSType_CIMOS_RedHatEnterpriseLinux_64, SchemaDefs_OSTypeId_RedHat_64 },
-- { ovf::CIMOSType_CIMOS_Solaris_64, SchemaDefs_OSTypeId_Solaris_64 },
-- { ovf::CIMOSType_CIMOS_SUSE, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_SLES, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_NovellLinuxDesktop, SchemaDefs_OSTypeId_OpenSUSE },
-- { ovf::CIMOSType_CIMOS_SUSE_64, SchemaDefs_OSTypeId_OpenSUSE_64 },
-- { ovf::CIMOSType_CIMOS_SLES_64, SchemaDefs_OSTypeId_OpenSUSE_64 },
-- { ovf::CIMOSType_CIMOS_LINUX, SchemaDefs_OSTypeId_Linux },
-- { ovf::CIMOSType_CIMOS_LINUX, SchemaDefs_OSTypeId_Linux22 },
-- { ovf::CIMOSType_CIMOS_SunJavaDesktopSystem, SchemaDefs_OSTypeId_Linux },
-- { ovf::CIMOSType_CIMOS_TurboLinux, SchemaDefs_OSTypeId_Turbolinux },
-- { ovf::CIMOSType_CIMOS_TurboLinux_64, SchemaDefs_OSTypeId_Turbolinux_64 },
-- { ovf::CIMOSType_CIMOS_Mandriva, SchemaDefs_OSTypeId_Mandriva },
-- { ovf::CIMOSType_CIMOS_Mandriva_64, SchemaDefs_OSTypeId_Mandriva_64 },
-- { ovf::CIMOSType_CIMOS_Ubuntu, SchemaDefs_OSTypeId_Ubuntu },
-- { ovf::CIMOSType_CIMOS_Ubuntu_64, SchemaDefs_OSTypeId_Ubuntu_64 },
-- { ovf::CIMOSType_CIMOS_Debian, SchemaDefs_OSTypeId_Debian },
-- { ovf::CIMOSType_CIMOS_Debian_64, SchemaDefs_OSTypeId_Debian_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_4_x, SchemaDefs_OSTypeId_Linux24 },
-- { ovf::CIMOSType_CIMOS_Linux_2_4_x_64, SchemaDefs_OSTypeId_Linux24_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Linux26 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Linux26_64 },
-- { ovf::CIMOSType_CIMOS_Linux_64, SchemaDefs_OSTypeId_Linux26_64 },
--
-- // types that we have support for but CIM doesn't
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_ArchLinux },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_ArchLinux_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Fedora },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Fedora_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Gentoo },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Gentoo_64 },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x, SchemaDefs_OSTypeId_Xandros },
-- { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, SchemaDefs_OSTypeId_Xandros_64 },
-- { ovf::CIMOSType_CIMOS_Solaris, SchemaDefs_OSTypeId_OpenSolaris },
-- { ovf::CIMOSType_CIMOS_Solaris_64, SchemaDefs_OSTypeId_OpenSolaris_64 },
--
-- // types added with CIM 2.25.0 follow:
-- { ovf::CIMOSType_CIMOS_WindowsServer2008R2, SchemaDefs_OSTypeId_Windows2008 }, // duplicate, see above
--// { ovf::CIMOSType_CIMOS_VMwareESXi = 104, // we can't run ESX in a VM
-- { ovf::CIMOSType_CIMOS_Windows7, SchemaDefs_OSTypeId_Windows7 },
-- { ovf::CIMOSType_CIMOS_Windows7, SchemaDefs_OSTypeId_Windows7_64 }, // there is no CIM 64-bit type for this
-- { ovf::CIMOSType_CIMOS_CentOS, SchemaDefs_OSTypeId_RedHat },
-- { ovf::CIMOSType_CIMOS_CentOS_64, SchemaDefs_OSTypeId_RedHat_64 },
-- { ovf::CIMOSType_CIMOS_OracleEnterpriseLinux, SchemaDefs_OSTypeId_Oracle },
-- { ovf::CIMOSType_CIMOS_OracleEnterpriseLinux_64, SchemaDefs_OSTypeId_Oracle_64 },
-- { ovf::CIMOSType_CIMOS_eComStation, SchemaDefs_OSTypeId_OS2eCS }
--
-- // there are no CIM types for these, so these turn to "other" on export:
-- // SchemaDefs_OSTypeId_OpenBSD
-- // SchemaDefs_OSTypeId_OpenBSD_64
-- // SchemaDefs_OSTypeId_NetBSD
-- // SchemaDefs_OSTypeId_NetBSD_64
-+
-+ // Custom OS
-+ { ovf::CIMOSType_CIMOS_GNU, SchemaDefs_OSTypeId_GNU },
-+ { ovf::CIMOSType_CIMOS_GNU_64, SchemaDefs_OSTypeId_GNU_64 },
-+ { ovf::CIMOSType_CIMOS_GNUHurd, SchemaDefs_OSTypeId_GNUHurd },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_GNULinux },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_GNULinux_64 },
-+
-+ // GNU/Linux free distros
-+ { ovf::CIMOSType_CIMOS_gNewSense, SchemaDefs_OSTypeId_gNewSense },
-+ { ovf::CIMOSType_CIMOS_gNewSense_64, SchemaDefs_OSTypeId_gNewSense_64 },
-+ { ovf::CIMOSType_CIMOS_Dragora, SchemaDefs_OSTypeId_Dragora },
-+ { ovf::CIMOSType_CIMOS_Dragora_64, SchemaDefs_OSTypeId_Dragora_64 },
-+ { ovf::CIMOSType_CIMOS_Musix, SchemaDefs_OSTypeId_Musix },
-+ { ovf::CIMOSType_CIMOS_Musix_64, SchemaDefs_OSTypeId_Musix_64 },
-+ { ovf::CIMOSType_CIMOS_Trisquel, SchemaDefs_OSTypeId_Trisquel },
-+ { ovf::CIMOSType_CIMOS_Trisquel_64, SchemaDefs_OSTypeId_Trisquel_64 },
-+ { ovf::CIMOSType_CIMOS_Dynebolic, SchemaDefs_OSTypeId_Dynebolic },
-+ { ovf::CIMOSType_CIMOS_Venenux, SchemaDefs_OSTypeId_Venenux },
++ // Custom GNU and GNU-Hurd OS
++ { ovf::CIMOSType_CIMOS_GNU, VBOXOSTYPE_GNU },
++ { ovf::CIMOSType_CIMOS_GNU_64, VBOXOSTYPE_GNU_x64 },
++ { ovf::CIMOSType_CIMOS_GNUHurd, VBOXOSTYPE_GNUHurd },
+
-+ // GNU/Linux free distros that we have support for but CIM doesn't
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Parabola },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Parabola_64 },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Blag },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Blag_64 },
-+ { ovf::CIMOSType_CIMOS_GNULinux, SchemaDefs_OSTypeId_Ututo },
-+ { ovf::CIMOSType_CIMOS_GNULinux_64, SchemaDefs_OSTypeId_Ututo_64 },
-
- };
++ // Free GNU/Linux distros
++ { ovf::CIMOSType_CIMOS_gNewSense, VBOXOSTYPE_gNewSense },
++ { ovf::CIMOSType_CIMOS_gNewSense_64, VBOXOSTYPE_gNewSense_x64 },
++ { ovf::CIMOSType_CIMOS_Dragora, VBOXOSTYPE_Dragora },
++ { ovf::CIMOSType_CIMOS_Dragora_64, VBOXOSTYPE_Dragora_x64 },
++ { ovf::CIMOSType_CIMOS_Musix, VBOXOSTYPE_Musix },
++ { ovf::CIMOSType_CIMOS_Musix_64, VBOXOSTYPE_Musix_x64 },
++ { ovf::CIMOSType_CIMOS_Trisquel, VBOXOSTYPE_Trisquel },
++ { ovf::CIMOSType_CIMOS_Trisquel_64, VBOXOSTYPE_Trisquel_x64 },
++ { ovf::CIMOSType_CIMOS_Dynebolic, VBOXOSTYPE_Dynebolic },
++ { ovf::CIMOSType_CIMOS_Venenux, VBOXOSTYPE_Venenux },
++
++ // Free GNU/Linux distros that we have support for but CIM doesn't
++ { ovf::CIMOSType_CIMOS_Linux_2_6_x, VBOXOSTYPE_Parabola },
++ { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, VBOXOSTYPE_Parabola_x64 },
++ { ovf::CIMOSType_CIMOS_Linux_2_6_x, VBOXOSTYPE_Blag },
++ { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, VBOXOSTYPE_Blag_x64 },
++ { ovf::CIMOSType_CIMOS_Linux_2_6_x, VBOXOSTYPE_Ututo },
++ { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, VBOXOSTYPE_Ututo_x64 },
++
++ // Non-free GNU/Linux distros
+ { ovf::CIMOSType_CIMOS_RedHatEnterpriseLinux, VBOXOSTYPE_RedHat },
+ { ovf::CIMOSType_CIMOS_RedHatEnterpriseLinux_64, VBOXOSTYPE_RedHat_x64 },
+ { ovf::CIMOSType_CIMOS_Solaris_64, VBOXOSTYPE_Solaris_x64 },
+@@ -110,7 +135,7 @@
+ { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, VBOXOSTYPE_Linux26_x64 },
+ { ovf::CIMOSType_CIMOS_Linux_64, VBOXOSTYPE_Linux26_x64 },
-@@ -150,53 +89,34 @@
+- // types that we have support for but CIM doesn't
++ // Non-free GNU/Linux distros and non-free operating systems types that we have support for but CIM doesn't
+ { ovf::CIMOSType_CIMOS_Linux_2_6_x, VBOXOSTYPE_ArchLinux },
+ { ovf::CIMOSType_CIMOS_Linux_2_6_x_64, VBOXOSTYPE_ArchLinux_x64 },
+ { ovf::CIMOSType_CIMOS_Linux_2_6_x, VBOXOSTYPE_FedoraCore },
+@@ -151,53 +176,72 @@
/* These are the 32-Bit ones. They are sorted by priority. */
static const osTypePattern g_osTypesPattern[] =
{
-- {"Windows NT", SchemaDefs_OSTypeId_WindowsNT4},
-- {"Windows XP", SchemaDefs_OSTypeId_WindowsXP},
-- {"Windows 2000", SchemaDefs_OSTypeId_Windows2000},
-- {"Windows 2003", SchemaDefs_OSTypeId_Windows2003},
-- {"Windows Vista", SchemaDefs_OSTypeId_WindowsVista},
-- {"Windows 2008", SchemaDefs_OSTypeId_Windows2008},
-- {"SUSE", SchemaDefs_OSTypeId_OpenSUSE},
-- {"Novell", SchemaDefs_OSTypeId_OpenSUSE},
-- {"Red Hat", SchemaDefs_OSTypeId_RedHat},
-- {"Mandriva", SchemaDefs_OSTypeId_Mandriva},
-- {"Ubuntu", SchemaDefs_OSTypeId_Ubuntu},
-- {"Debian", SchemaDefs_OSTypeId_Debian},
-- {"QNX", SchemaDefs_OSTypeId_QNX},
-- {"Linux 2.4", SchemaDefs_OSTypeId_Linux24},
-- {"Linux 2.6", SchemaDefs_OSTypeId_Linux26},
-- {"Linux", SchemaDefs_OSTypeId_Linux},
-- {"OpenSolaris", SchemaDefs_OSTypeId_OpenSolaris},
-- {"Solaris", SchemaDefs_OSTypeId_OpenSolaris},
-- {"FreeBSD", SchemaDefs_OSTypeId_FreeBSD},
-- {"NetBSD", SchemaDefs_OSTypeId_NetBSD},
-- {"Windows 95", SchemaDefs_OSTypeId_Windows95},
-- {"Windows 98", SchemaDefs_OSTypeId_Windows98},
-- {"Windows Me", SchemaDefs_OSTypeId_WindowsMe},
-- {"Windows 3.", SchemaDefs_OSTypeId_Windows31},
-- {"DOS", SchemaDefs_OSTypeId_DOS},
-- {"OS2", SchemaDefs_OSTypeId_OS2}
-+
-+ {"Parabola GNU/Linux-libre", SchemaDefs_OSTypeId_Parabola},
-+ {"gNewSense", SchemaDefs_OSTypeId_gNewSense},
-+ {"Blag Linux and GNU", SchemaDefs_OSTypeId_Blag},
-+ {"Dragora", SchemaDefs_OSTypeId_Dragora},
-+ {"Ututo XS", SchemaDefs_OSTypeId_Ututo},
-+ {"Musix", SchemaDefs_OSTypeId_Musix},
-+ {"Trisquel", SchemaDefs_OSTypeId_Trisquel},
-+ {"Dyne:bolic", SchemaDefs_OSTypeId_Dynebolic},
-+ {"Venenux", SchemaDefs_OSTypeId_Venenux},
-+ {"GNU", SchemaDefs_OSTypeId_GNU},
-+ {"GNU-Hurd", SchemaDefs_OSTypeId_GNUHurd},
-+ {"GNU/Linux", SchemaDefs_OSTypeId_GNULinux},
-+
+- {"Windows NT", VBOXOSTYPE_WinNT4},
+- {"Windows XP", VBOXOSTYPE_WinXP},
+- {"Windows 2000", VBOXOSTYPE_Win2k},
+- {"Windows 2003", VBOXOSTYPE_Win2k3},
+- {"Windows Vista", VBOXOSTYPE_WinVista},
+- {"Windows 2008", VBOXOSTYPE_Win2k8},
+- {"SUSE", VBOXOSTYPE_OpenSUSE},
+- {"Novell", VBOXOSTYPE_OpenSUSE},
+- {"Red Hat", VBOXOSTYPE_RedHat},
+- {"Mandriva", VBOXOSTYPE_Mandriva},
+- {"Ubuntu", VBOXOSTYPE_Ubuntu},
+- {"Debian", VBOXOSTYPE_Debian},
+- {"QNX", VBOXOSTYPE_QNX},
+- {"Linux 2.4", VBOXOSTYPE_Linux24},
+- {"Linux 2.6", VBOXOSTYPE_Linux26},
+- {"Linux", VBOXOSTYPE_Linux},
+- {"OpenSolaris", VBOXOSTYPE_OpenSolaris},
+- {"Solaris", VBOXOSTYPE_OpenSolaris},
+- {"FreeBSD", VBOXOSTYPE_FreeBSD},
+- {"NetBSD", VBOXOSTYPE_NetBSD},
+- {"Windows 95", VBOXOSTYPE_Win95},
+- {"Windows 98", VBOXOSTYPE_Win98},
+- {"Windows Me", VBOXOSTYPE_WinMe},
+- {"Windows 3.", VBOXOSTYPE_Win31},
+- {"DOS", VBOXOSTYPE_DOS},
+- {"OS2", VBOXOSTYPE_OS2}
++ {"Windows NT", VBOXOSTYPE_WinNT4},
++ {"Windows XP", VBOXOSTYPE_WinXP},
++ {"Windows 2000", VBOXOSTYPE_Win2k},
++ {"Windows 2003", VBOXOSTYPE_Win2k3},
++ {"Windows Vista", VBOXOSTYPE_WinVista},
++ {"Windows 2008", VBOXOSTYPE_Win2k8},
++ {"SUSE", VBOXOSTYPE_OpenSUSE},
++ {"Novell", VBOXOSTYPE_OpenSUSE},
++ {"Red Hat", VBOXOSTYPE_RedHat},
++ {"Mandriva", VBOXOSTYPE_Mandriva},
++ {"Ubuntu", VBOXOSTYPE_Ubuntu},
++ {"Debian", VBOXOSTYPE_Debian},
++ {"QNX", VBOXOSTYPE_QNX},
++ {"GNU/Linux 2.4", VBOXOSTYPE_Linux24},
++ {"GNU/Linux 2.6", VBOXOSTYPE_Linux26},
++ {"GNU/Linux", VBOXOSTYPE_Linux},
++ {"OpenSolaris", VBOXOSTYPE_OpenSolaris},
++ {"Solaris", VBOXOSTYPE_OpenSolaris},
++ {"FreeBSD", VBOXOSTYPE_FreeBSD},
++ {"NetBSD", VBOXOSTYPE_NetBSD},
++ {"Windows 95", VBOXOSTYPE_Win95},
++ {"Windows 98", VBOXOSTYPE_Win98},
++ {"Windows Me", VBOXOSTYPE_WinMe},
++ {"Windows 3.", VBOXOSTYPE_Win31},
++ {"DOS", VBOXOSTYPE_DOS},
++ {"OS2", VBOXOSTYPE_OS2},
++ {"Parabola", VBOXOSTYPE_Parabola},
++ {"gNewSense", VBOXOSTYPE_gNewSense},
++ {"Blag", VBOXOSTYPE_Blag},
++ {"Dragora", VBOXOSTYPE_Dragora},
++ {"Ututo XS", VBOXOSTYPE_Ututo},
++ {"Musix", VBOXOSTYPE_Musix},
++ {"Trisquel", VBOXOSTYPE_Trisquel},
++ {"Dyne:bolic", VBOXOSTYPE_Dynebolic},
++ {"Venenux", VBOXOSTYPE_Venenux},
++ {"GNU", VBOXOSTYPE_GNU},
++ {"GNU-Hurd", VBOXOSTYPE_GNUHurd},
};
/* These are the 64-Bit ones. They are sorted by priority. */
static const osTypePattern g_osTypesPattern64[] =
{
-- {"Windows XP", SchemaDefs_OSTypeId_WindowsXP_64},
-- {"Windows 2003", SchemaDefs_OSTypeId_Windows2003_64},
-- {"Windows Vista", SchemaDefs_OSTypeId_WindowsVista_64},
-- {"Windows 2008", SchemaDefs_OSTypeId_Windows2008_64},
-- {"SUSE", SchemaDefs_OSTypeId_OpenSUSE_64},
-- {"Novell", SchemaDefs_OSTypeId_OpenSUSE_64},
-- {"Red Hat", SchemaDefs_OSTypeId_RedHat_64},
-- {"Mandriva", SchemaDefs_OSTypeId_Mandriva_64},
-- {"Ubuntu", SchemaDefs_OSTypeId_Ubuntu_64},
-- {"Debian", SchemaDefs_OSTypeId_Debian_64},
-- {"Linux 2.4", SchemaDefs_OSTypeId_Linux24_64},
-- {"Linux 2.6", SchemaDefs_OSTypeId_Linux26_64},
-- {"Linux", SchemaDefs_OSTypeId_Linux26_64},
-- {"OpenSolaris", SchemaDefs_OSTypeId_OpenSolaris_64},
-- {"Solaris", SchemaDefs_OSTypeId_OpenSolaris_64},
-- {"FreeBSD", SchemaDefs_OSTypeId_FreeBSD_64},
-+ {"Parabola GNU/Linux-libre", SchemaDefs_OSTypeId_Parabola_64},
-+ {"gNewSense", SchemaDefs_OSTypeId_gNewSense_64},
-+ {"Blag Linux and GNU", SchemaDefs_OSTypeId_Blag_64},
-+ {"Dragora", SchemaDefs_OSTypeId_Dragora_64},
-+ {"Ututo XS", SchemaDefs_OSTypeId_Ututo_64},
-+ {"Musix", SchemaDefs_OSTypeId_Musix_64},
-+ {"Trisquel", SchemaDefs_OSTypeId_Trisquel_64},
-+ {"GNU", SchemaDefs_OSTypeId_GNU_64},
-+ {"GNU/Linux", SchemaDefs_OSTypeId_GNULinux_64},
+- {"Windows XP", VBOXOSTYPE_WinXP_x64},
+- {"Windows 2003", VBOXOSTYPE_Win2k3_x64},
+- {"Windows Vista", VBOXOSTYPE_WinVista_x64},
+- {"Windows 2008", VBOXOSTYPE_Win2k8_x64},
+- {"SUSE", VBOXOSTYPE_OpenSUSE_x64},
+- {"Novell", VBOXOSTYPE_OpenSUSE_x64},
+- {"Red Hat", VBOXOSTYPE_RedHat_x64},
+- {"Mandriva", VBOXOSTYPE_Mandriva_x64},
+- {"Ubuntu", VBOXOSTYPE_Ubuntu_x64},
+- {"Debian", VBOXOSTYPE_Debian_x64},
+- {"Linux 2.4", VBOXOSTYPE_Linux24_x64},
+- {"Linux 2.6", VBOXOSTYPE_Linux26_x64},
+- {"Linux", VBOXOSTYPE_Linux26_x64},
+- {"OpenSolaris", VBOXOSTYPE_OpenSolaris_x64},
+- {"Solaris", VBOXOSTYPE_OpenSolaris_x64},
+- {"FreeBSD", VBOXOSTYPE_FreeBSD_x64},
++ {"Windows XP", VBOXOSTYPE_WinXP_x64},
++ {"Windows 2003", VBOXOSTYPE_Win2k3_x64},
++ {"Windows Vista", VBOXOSTYPE_WinVista_x64},
++ {"Windows 2008", VBOXOSTYPE_Win2k8_x64},
++ {"SUSE", VBOXOSTYPE_OpenSUSE_x64},
++ {"Novell", VBOXOSTYPE_OpenSUSE_x64},
++ {"Red Hat", VBOXOSTYPE_RedHat_x64},
++ {"Mandriva", VBOXOSTYPE_Mandriva_x64},
++ {"Ubuntu", VBOXOSTYPE_Ubuntu_x64},
++ {"Debian", VBOXOSTYPE_Debian_x64},
++ {"GNU/Linux 2.4", VBOXOSTYPE_Linux24_x64},
++ {"GNU/Linux 2.6", VBOXOSTYPE_Linux26_x64},
++ {"GNU/Linux", VBOXOSTYPE_Linux26_x64},
++ {"OpenSolaris", VBOXOSTYPE_OpenSolaris_x64},
++ {"Solaris", VBOXOSTYPE_OpenSolaris_x64},
++ {"FreeBSD", VBOXOSTYPE_FreeBSD_x64},
++ {"Parabola", VBOXOSTYPE_Parabola_x64},
++ {"gNewSense", VBOXOSTYPE_gNewSense_x64},
++ {"Blag", VBOXOSTYPE_Blag_x64},
++ {"Dragora", VBOXOSTYPE_Dragora_x64},
++ {"Ututo XS", VBOXOSTYPE_Ututo_x64},
++ {"Musix", VBOXOSTYPE_Musix_x64},
++ {"Trisquel", VBOXOSTYPE_Trisquel_x64},
++ {"GNU", VBOXOSTYPE_GNU_x64},
};
/**
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ovfreader.h 2012-06-20 10:17:34.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/include/ovfreader.h 2012-07-26 03:51:21.807619186 -0300
-@@ -34,119 +34,24 @@
-
- enum CIMOSType_T
- {
-- CIMOSType_CIMOS_Unknown = 0,
-- CIMOSType_CIMOS_Other = 1,
-- CIMOSType_CIMOS_MACOS = 2,
-- CIMOSType_CIMOS_ATTUNIX = 3,
-- CIMOSType_CIMOS_DGUX = 4,
-- CIMOSType_CIMOS_DECNT = 5,
-- CIMOSType_CIMOS_Tru64UNIX = 6,
-- CIMOSType_CIMOS_OpenVMS = 7,
-- CIMOSType_CIMOS_HPUX = 8,
-- CIMOSType_CIMOS_AIX = 9,
-- CIMOSType_CIMOS_MVS = 10,
-- CIMOSType_CIMOS_OS400 = 11,
-- CIMOSType_CIMOS_OS2 = 12,
-- CIMOSType_CIMOS_JavaVM = 13,
-- CIMOSType_CIMOS_MSDOS = 14,
-- CIMOSType_CIMOS_WIN3x = 15,
-- CIMOSType_CIMOS_WIN95 = 16,
-- CIMOSType_CIMOS_WIN98 = 17,
-- CIMOSType_CIMOS_WINNT = 18,
-- CIMOSType_CIMOS_WINCE = 19,
-- CIMOSType_CIMOS_NCR3000 = 20,
-- CIMOSType_CIMOS_NetWare = 21,
-- CIMOSType_CIMOS_OSF = 22,
-- CIMOSType_CIMOS_DCOS = 23,
-- CIMOSType_CIMOS_ReliantUNIX = 24,
-- CIMOSType_CIMOS_SCOUnixWare = 25,
-- CIMOSType_CIMOS_SCOOpenServer = 26,
-- CIMOSType_CIMOS_Sequent = 27,
-- CIMOSType_CIMOS_IRIX = 28,
-- CIMOSType_CIMOS_Solaris = 29,
-- CIMOSType_CIMOS_SunOS = 30,
-- CIMOSType_CIMOS_U6000 = 31,
-- CIMOSType_CIMOS_ASERIES = 32,
-- CIMOSType_CIMOS_HPNonStopOS = 33,
-- CIMOSType_CIMOS_HPNonStopOSS = 34,
-- CIMOSType_CIMOS_BS2000 = 35,
-- CIMOSType_CIMOS_LINUX = 36,
-- CIMOSType_CIMOS_Lynx = 37,
-- CIMOSType_CIMOS_XENIX = 38,
-- CIMOSType_CIMOS_VM = 39,
-- CIMOSType_CIMOS_InteractiveUNIX = 40,
-- CIMOSType_CIMOS_BSDUNIX = 41,
-- CIMOSType_CIMOS_FreeBSD = 42,
-- CIMOSType_CIMOS_NetBSD = 43,
-- CIMOSType_CIMOS_GNUHurd = 44,
-- CIMOSType_CIMOS_OS9 = 45,
-- CIMOSType_CIMOS_MACHKernel = 46,
-- CIMOSType_CIMOS_Inferno = 47,
-- CIMOSType_CIMOS_QNX = 48,
-- CIMOSType_CIMOS_EPOC = 49,
-- CIMOSType_CIMOS_IxWorks = 50,
-- CIMOSType_CIMOS_VxWorks = 51,
-- CIMOSType_CIMOS_MiNT = 52,
-- CIMOSType_CIMOS_BeOS = 53,
-- CIMOSType_CIMOS_HPMPE = 54,
-- CIMOSType_CIMOS_NextStep = 55,
-- CIMOSType_CIMOS_PalmPilot = 56,
-- CIMOSType_CIMOS_Rhapsody = 57,
-- CIMOSType_CIMOS_Windows2000 = 58,
-- CIMOSType_CIMOS_Dedicated = 59,
-- CIMOSType_CIMOS_OS390 = 60,
-- CIMOSType_CIMOS_VSE = 61,
-- CIMOSType_CIMOS_TPF = 62,
-- CIMOSType_CIMOS_WindowsMe = 63,
-- CIMOSType_CIMOS_CalderaOpenUNIX = 64,
-- CIMOSType_CIMOS_OpenBSD = 65,
-- CIMOSType_CIMOS_NotApplicable = 66,
-- CIMOSType_CIMOS_WindowsXP = 67,
-- CIMOSType_CIMOS_zOS = 68,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2003 = 69,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2003_64 = 70,
-- CIMOSType_CIMOS_WindowsXP_64 = 71,
-- CIMOSType_CIMOS_WindowsXPEmbedded = 72,
-- CIMOSType_CIMOS_WindowsVista = 73,
-- CIMOSType_CIMOS_WindowsVista_64 = 74,
-- CIMOSType_CIMOS_WindowsEmbeddedforPointofService = 75,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2008 = 76,
-- CIMOSType_CIMOS_MicrosoftWindowsServer2008_64 = 77,
-- CIMOSType_CIMOS_FreeBSD_64 = 78,
-- CIMOSType_CIMOS_RedHatEnterpriseLinux = 79,
-- CIMOSType_CIMOS_RedHatEnterpriseLinux_64 = 80,
-- CIMOSType_CIMOS_Solaris_64 = 81,
-- CIMOSType_CIMOS_SUSE = 82,
-- CIMOSType_CIMOS_SUSE_64 = 83,
-- CIMOSType_CIMOS_SLES = 84,
-- CIMOSType_CIMOS_SLES_64 = 85,
-- CIMOSType_CIMOS_NovellOES = 86,
-- CIMOSType_CIMOS_NovellLinuxDesktop = 87,
-- CIMOSType_CIMOS_SunJavaDesktopSystem = 88,
-- CIMOSType_CIMOS_Mandriva = 89,
-- CIMOSType_CIMOS_Mandriva_64 = 90,
-- CIMOSType_CIMOS_TurboLinux = 91,
-- CIMOSType_CIMOS_TurboLinux_64 = 92,
-- CIMOSType_CIMOS_Ubuntu = 93,
-- CIMOSType_CIMOS_Ubuntu_64 = 94,
-- CIMOSType_CIMOS_Debian = 95,
-- CIMOSType_CIMOS_Debian_64 = 96,
-- CIMOSType_CIMOS_Linux_2_4_x = 97,
-- CIMOSType_CIMOS_Linux_2_4_x_64 = 98,
-- CIMOSType_CIMOS_Linux_2_6_x = 99,
-- CIMOSType_CIMOS_Linux_2_6_x_64 = 100,
-- CIMOSType_CIMOS_Linux_64 = 101,
-- CIMOSType_CIMOS_Other_64 = 102,
-- // types added with CIM 2.25.0 follow:
-- CIMOSType_CIMOS_WindowsServer2008R2 = 103,
-- CIMOSType_CIMOS_VMwareESXi = 104,
-- CIMOSType_CIMOS_Windows7 = 105,
-- CIMOSType_CIMOS_CentOS = 106,
-- CIMOSType_CIMOS_CentOS_64 = 107,
-- CIMOSType_CIMOS_OracleEnterpriseLinux = 108,
-- CIMOSType_CIMOS_OracleEnterpriseLinux_64 = 109,
+--- VirtualBox-4.2.0.orig/src/VBox/Main/include/ovfreader.h 2011-04-28 05:00:56.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Main/include/ovfreader.h 2012-10-03 17:13:50.738308572 -0300
+@@ -145,8 +145,20 @@
+ CIMOSType_CIMOS_CentOS_64 = 107,
+ CIMOSType_CIMOS_OracleEnterpriseLinux = 108,
+ CIMOSType_CIMOS_OracleEnterpriseLinux_64 = 109,
- CIMOSType_CIMOS_eComStation = 110
-- // no new types added with CIM 2.26.0
-+ CIMOSType_CIMOS_Unknown = 0,
-+ CIMOSType_CIMOS_Other = 1,
-+ CIMOSType_CIMOS_Other_64 = 2,
-+ CIMOSType_CIMOS_gNewSense = 3,
-+ CIMOSType_CIMOS_gNewSense_64 = 4,
-+ CIMOSType_CIMOS_Dragora = 5,
-+ CIMOSType_CIMOS_Dragora_64 = 6,
-+ CIMOSType_CIMOS_Musix = 7,
-+ CIMOSType_CIMOS_Musix_64 = 8,
-+ CIMOSType_CIMOS_Trisquel = 9,
-+ CIMOSType_CIMOS_Trisquel_64 = 10,
-+ CIMOSType_CIMOS_Dynebolic = 11,
-+ CIMOSType_CIMOS_Venenux = 12,
-+ CIMOSType_CIMOS_GNU = 13,
-+ CIMOSType_CIMOS_GNU_64 = 14,
-+ CIMOSType_CIMOS_GNUHurd = 15,
-+ CIMOSType_CIMOS_GNULinux = 16,
-+ CIMOSType_CIMOS_GNULinux_64 = 17
++ CIMOSType_CIMOS_eComStation = 110,
+ // no new types added with CIM 2.26.0
++ CIMOSType_CIMOS_gNewSense = 111,
++ CIMOSType_CIMOS_gNewSense_64 = 112,
++ CIMOSType_CIMOS_Dragora = 113,
++ CIMOSType_CIMOS_Dragora_64 = 114,
++ CIMOSType_CIMOS_Musix = 115,
++ CIMOSType_CIMOS_Musix_64 = 116,
++ CIMOSType_CIMOS_Trisquel = 117,
++ CIMOSType_CIMOS_Trisquel_64 = 118,
++ CIMOSType_CIMOS_Dynebolic = 119,
++ CIMOSType_CIMOS_Venenux = 120,
++ CIMOSType_CIMOS_GNU = 121,
++ CIMOSType_CIMOS_GNU_64 = 122
};
---- VirtualBox-4.1.18.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c 2012-06-20 10:09:01.000000000 -0300
-+++ VirtualBox-4.1.18/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c 2012-07-26 15:32:55.309812685 -0300
-@@ -622,16 +622,16 @@
- * Call the common device extension initializer.
- */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) && defined(RT_ARCH_X86)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux26;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0) && defined(RT_ARCH_AMD64)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux26_x64;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux_x64;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) && defined(RT_ARCH_X86)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux24;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux;
- #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) && defined(RT_ARCH_AMD64)
-- VBOXOSTYPE enmOSType = VBOXOSTYPE_Linux24_x64;
-+ VBOXOSTYPE enmOSType = VBOXOSTYPE_GNULinux_x64;
- #else
- # warning "huh? which arch + version is this?"
-- VBOXOSTYPE enmOsType = VBOXOSTYPE_Linux;
-+ VBOXOSTYPE enmOsType = VBOXOSTYPE_GNULinux;
- #endif
- rc = VBoxGuestInitDevExt(&g_DevExt,
- g_IOPortBase,
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp 2012-07-18 05:58:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp 2012-10-03 22:49:11.871882837 -0300
+@@ -141,7 +141,7 @@
+ #ifdef VBOX_WITH_VIDEOHWACCEL
+ /* Check if 2D video acceleration supported by the guest OS type: */
+ QString strguestOSTypeFamily = m_guestOSType.GetFamilyId();
+- m_f2DVideoAccelerationSupported = strguestOSTypeFamily == "Windows";
++ m_f2DVideoAccelerationSupported = strguestOSTypeFamily == "Non-free OSs";
+ #endif /* VBOX_WITH_VIDEOHWACCEL */
+ #ifdef VBOX_WITH_CRHGSMI
+ /* Check if WDDM mode supported by the guest OS type: */
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts 2012-10-16 00:13:25.992465184 -0200
+@@ -9065,8 +9065,8 @@
+ <translation>Име и операционна система</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Моля, изберете описателно име за новата виртуална машина и изберете типа на операционната система, която планирате да инсталирате в нея. Името, което изберете, ще се използва от VirtualBox за разпознаване на тази машина.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don&apos;t use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Моля, изберете описателно име за новата виртуална машина и изберете типа на операционната система, която планирате да инсталирате в нея. Името, което изберете, ще се използва от VirtualBox за разпознаване на тази машина.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts 2012-10-16 13:48:43.077565860 -0200
+@@ -9732,8 +9732,8 @@
+ <translation>Název a operační systém</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Zvolte prosím výstižný název pro nový virtuální počítač a vyberte typ operačního systému, který do něj budete instalovat. Zvolený název bude následně aplikací VirtualBox používán pro identifikaci tohoto počítače.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Zvolte prosím výstižný název pro nový virtuální počítač a vyberte typ operačního systému, který do něj budete instalovat. Zvolený název bude následně aplikací VirtualBox používán pro identifikaci tohoto počítače.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts 2012-09-13 05:26:18.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts 2012-10-16 13:52:23.322043944 -0200
+@@ -5837,8 +5837,8 @@
+ <translation>Name und Betriebssystem</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Bitte wählen Sie einen angemessenen Namen für die neue virtuelle Maschine und wählen Sie den Typ des Betriebssystems, das Sie installieren möchten. Der gewählte Name wird zur Identifizierung dieser Maschine verwendet.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Bitte wählen Sie einen angemessenen Namen für die neue virtuelle Maschine und wählen Sie den Typ des Betriebssystems, das Sie installieren möchten. Der gewählte Name wird zur Identifizierung dieser Maschine verwendet.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts 2012-10-16 13:59:29.357639018 -0200
+@@ -9578,8 +9578,8 @@
+ <translation>Nombre y sistema operativo</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Seleccione un nombre descriptivo para la nueva máquina virtual y seleccione el tipo de sistema operativo que tiene intención de instalar en ella. El nombre que seleccione será usado por VirtualBox para identificar esta máquina.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Seleccione un nombre descriptivo para la nueva máquina virtual y seleccione el tipo de sistema operativo que tiene intención de instalar en ella. El nombre que seleccione será usado por VirtualBox para identificar esta máquina.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Nota: Esperamos que no uses distros no libres de GNU/Linux y sistemas operativos no libres, ya que al hacerlo pierdes tu libertad.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts 2012-09-08 06:36:08.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts 2012-10-16 14:05:28.901905114 -0200
+@@ -9505,8 +9505,8 @@
+ <translation>Név és operációs rendszer</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Adj meg egy leíró nevet az új virtuális géphez és válaszd ki a telepíteni kívánt operációs rendszír típusát. A választott névvel lesz azonosítva a gép a VirtualBoxban.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Adj meg egy leíró nevet az új virtuális géphez és válaszd ki a telepíteni kívánt operációs rendszír típusát. A választott névvel lesz azonosítva a gép a VirtualBoxban.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts 2012-10-16 14:09:15.132822795 -0200
+@@ -10164,8 +10164,8 @@
+ <translation>Nome e sistema operativo</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Scegli un nome descrittivo per la nuova macchina virtuale e seleziona il tipo di sistema operativo che desideri installare. Il nome che scegli sarà utilizzato da VirtualBox per identificare questa macchina.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Scegli un nome descrittivo per la nuova macchina virtuale e seleziona il tipo di sistema operativo che desideri installare. Il nome che scegli sarà utilizzato da VirtualBox per identificare questa macchina.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts 2012-09-08 06:36:08.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts 2012-10-16 14:12:46.698999485 -0200
+@@ -10874,8 +10874,8 @@
+ </message>
+ <message>
+ <location filename="../src/wizards/newvm/UIWizardNewVMPageBasic1.cpp" line="269"/>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>新しい仮想マシンの記述名を指定し、インストールするオペレーティングシステムのタイプを選択してください。入力した名前はVirtualBoxでこのマシンを特定するのに使われます。</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;新しい仮想マシンの記述名を指定し、インストールするオペレーティングシステムのタイプを選択してください。入力した名前はVirtualBoxでこのマシンを特定するのに使われます。&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location filename="../src/wizards/newvm/UIWizardNewVMPageBasic2.cpp" line="129"/>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts 2012-10-16 14:15:54.360627673 -0200
+@@ -9120,8 +9120,8 @@
+ <translation>이름 및 운영 체제</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>새 가상 머신을 나타내는 이름을 입력하고 설치할 운영 체제를 선택하십시오. 입력한 이름은 VirtualBox에서 가상 머신을 식별하는 데 사용됩니다.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;새 가상 머신을 나타내는 이름을 입력하고 설치할 운영 체제를 선택하십시오. 입력한 이름은 VirtualBox에서 가상 머신을 식별하는 데 사용됩니다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts 2012-10-16 14:18:48.962964625 -0200
+@@ -7241,8 +7241,8 @@
+ <translation>Naam en besturingssysteem</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Kies een herkenbare naam voor de nieuwe virtuele machine en selecteer het type besturingssysteem dat u erop wilt installeren. De naam die u kiest zal binnen VirtualBox gebruikt worden om deze machine te identificeren.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Kies een herkenbare naam voor de nieuwe virtuele machine en selecteer het type besturingssysteem dat u erop wilt installeren. De naam die u kiest zal binnen VirtualBox gebruikt worden om deze machine te identificeren.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts 2012-10-16 14:21:26.059420850 -0200
+@@ -10180,8 +10180,8 @@
+ <translation>Nome e Sistema Operacional</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Escolha um nome descritivo para a nova máquina virtual e selecione o tipo de sistema operacional que você pretende instalar nela. O nome que você escolher será utilizado pelo VirtualBox para identificar esta máquina.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Escolha um nome descritivo para a nova máquina virtual e selecione o tipo de sistema operacional que você pretende instalar nela. O nome que você escolher será utilizado pelo VirtualBox para identificar esta máquina.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Aviso: Esperamos que não se usem distros não-livres de GNU/Linux e sistemas operacionais não-livres, pois ao usá-los abre-se mão de sua liberdade.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts 2012-09-13 05:26:18.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts 2012-10-16 14:24:13.128882291 -0200
+@@ -9221,8 +9221,8 @@
+ <translation>Укажите имя и тип ОС</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>Пожалуйста введите имя новой виртуальной машины и выберите тип операционной системы, которую Вы собираетесь установить на данную машину. Заданное Вами имя будет использоваться для идентификации данной машины.</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;Пожалуйста введите имя новой виртуальной машины и выберите тип операционной системы, которую Вы собираетесь установить на данную машину. Заданное Вами имя будет использоваться для идентификации данной машины.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts 2012-10-16 14:31:55.985969428 -0200
+@@ -9058,7 +9058,7 @@
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts 2012-10-16 14:35:52.321589511 -0200
+@@ -5832,7 +5832,7 @@
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts 2012-10-16 14:39:00.340417942 -0200
+@@ -7217,8 +7217,8 @@
+ <translation>虚拟电脑名称和系统类型</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>请选择新虚拟电脑的描述名称及要安装的操作系统类型。此名称将用于标识此虚拟电脑。</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;请选择新虚拟电脑的描述名称及要安装的操作系统类型。此名称将用于标识此虚拟电脑。&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts 2012-09-08 06:36:09.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts 2012-10-16 14:42:12.176147258 -0200
+@@ -5836,8 +5836,8 @@
+ <translation>名稱和作業系統</translation>
+ </message>
+ <message>
+- <source>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</source>
+- <translation>請選擇新虛擬機器的描述性名稱,並選取您打算在其上安裝的作業系統類型。 VirtualBox 將使用整個選擇的名稱來識別此機器。</translation>
++ <source>&lt;p&gt;Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</source>
++ <translation>&lt;p&gt;請選擇新虛擬機器的描述性名稱,並選取您打算在其上安裝的作業系統類型。 VirtualBox 將使用整個選擇的名稱來識別此機器。&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.&lt;/b&gt;&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Memory size</source>
diff --git a/libre/virtualbox-libre/gsoap.patch b/libre/virtualbox-libre/gsoap.patch
index c49caa720..c49caa720 100644..100755
--- a/libre/virtualbox-libre/gsoap.patch
+++ b/libre/virtualbox-libre/gsoap.patch
diff --git a/libre/virtualbox-libre/ipv6_vnc.patch b/libre/virtualbox-libre/ipv6_vnc.patch
index 8f50aba1c..8f50aba1c 100644..100755
--- a/libre/virtualbox-libre/ipv6_vnc.patch
+++ b/libre/virtualbox-libre/ipv6_vnc.patch
diff --git a/libre/virtualbox-libre/libre.patch b/libre/virtualbox-libre/libre.patch
index e51d0c0a7..41a34fc84 100644..100755
--- a/libre/virtualbox-libre/libre.patch
+++ b/libre/virtualbox-libre/libre.patch
@@ -1,5 +1,5 @@
---- VirtualBox-4.1.18.orig/Config.kmk 2012-07-24 16:38:43.981310996 -0300
-+++ VirtualBox-4.1.18/Config.kmk 2012-07-24 16:38:44.001309865 -0300
+--- VirtualBox-4.2.0.orig/Config.kmk 2012-09-13 05:26:16.000000000 -0300
++++ VirtualBox-4.2.0/Config.kmk 2012-09-18 21:35:33.118487052 -0300
@@ -56,9 +56,6 @@
PROPS_SYSMODS_ACCUMULATE_L += INTERMEDIATES
PROPS_MISCBINS_ACCUMULATE_L += INTERMEDIATES
@@ -10,7 +10,7 @@
# Install paths
## @todo This will change after 4.1 is branched off!
# What is now 'bin' and 'lib' will be moved down under 'staged/', except on
-@@ -125,9 +122,6 @@
+@@ -129,9 +126,6 @@
endif
INST_DOC = doc/
@@ -20,7 +20,7 @@
INST_PACKAGES = packages/
VBOX_PATH_SDK = $(patsubst %/,%,$(PATH_STAGE)/$(INST_SDK))
-@@ -136,7 +130,6 @@
+@@ -140,7 +134,6 @@
VBOX_PATH_ADDITIONS = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS))
VBOX_PATH_ADDITIONS_ISO = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS_ISO))
VBOX_PATH_ADDITIONS_LIB = $(patsubst %/,%,$(PATH_STAGE)/$(INST_ADDITIONS_LIB))
@@ -28,7 +28,7 @@
VBOX_PATH_PACKAGES = $(patsubst %/,%,$(PATH_STAGE)/$(INST_PACKAGES))
-@@ -208,7 +201,6 @@
+@@ -215,7 +208,6 @@
export VBOX_ADDITIONS_SH_MODE = release
export VBOX_DOCUMENTATION_SH_MODE = release
export VBOX_EFI_SH_MODE = release
@@ -36,7 +36,7 @@
endif
# Some info on the vendor
-@@ -361,8 +353,6 @@
+@@ -368,8 +360,6 @@
VBOX_WITH_USB = 1
# Enable the USB 1.1 controller plus virtual USB HID devices.
VBOX_WITH_VUSB = 1
@@ -45,7 +45,7 @@
# Enable the ISCSI feature.
VBOX_WITH_ISCSI = 1
# Enable INIP support in the ISCSI feature.
-@@ -430,9 +420,6 @@
+@@ -439,9 +429,6 @@
ifdef VBOX_WITH_USB
VBOX_WITH_VUSB = 1
endif
@@ -55,10 +55,11 @@
ifdef VBOX_WITH_PCI_PASSTHROUGH
VBOX_WITH_PCI_PASSTHROUGH_IMPL = 1
endif
-@@ -591,15 +578,6 @@
+@@ -609,17 +596,6 @@
+ endif
## @}
-
+-
-## @name Extension pack
-## @{
-# Enables the extension pack feature.
@@ -68,10 +69,11 @@
-# Enables building+packing the Oracle VM VirtualBox Extension Pack, includes VBOX_WITH_EXTPACK_PUEL
-VBOX_WITH_EXTPACK_PUEL_BUILD = 1
-## @}
-
+-
## @name Misc
## @{
-@@ -777,14 +755,6 @@
+ # Enable Seamless mode
+@@ -810,14 +786,6 @@
# Skip stuff.
#
@@ -86,7 +88,7 @@
# VBOX_QUICK can be used by core developers to speed to the build
ifdef VBOX_QUICK
# undefine variables by assigning blank.
-@@ -848,7 +818,6 @@
+@@ -872,7 +840,6 @@
VBOX_WITH_TESTSUITE=
VBOX_WITH_QTGUI=
VBOX_WITH_USB=
@@ -94,7 +96,7 @@
VBOX_WITH_DOCS=
VBOX_WITH_PDM_ASYNC_COMPLETION=
VBOX_WITH_KCHMVIEWER=
-@@ -870,7 +839,6 @@
+@@ -894,7 +861,6 @@
VBOX_WITH_CROGL=
VBOX_WITH_DEBUGGER=
VBOX_WITH_DOCS=
@@ -102,7 +104,7 @@
VBOX_WITH_HARDENING=
VBOX_WITH_HEADLESS=
VBOX_WITH_HGCM=
-@@ -952,9 +920,6 @@
+@@ -985,9 +951,6 @@
#
ifdef VBOX_OSE
VBOX_WITH_VRDP=
@@ -112,7 +114,7 @@
VBOX_WITH_PCI_PASSTHROUGH_IMPL=
VBOX_WITH_OS2_ADDITIONS_BIN=
VBOX_WITH_SECURELABEL=
-@@ -1082,10 +1047,6 @@
+@@ -1118,10 +1081,6 @@
VBOX_WITH_KCHMVIEWER=
endif
@@ -123,17 +125,17 @@
#
# Mark OSE builds clearly, helps figuring out limitations more easily.
#
-@@ -1679,9 +1640,6 @@
- # biossums (set BIOS checksums)
- VBOX_BIOSSUMS ?= $(PATH_OBJ)/biossums/biossums$(HOSTSUFF_EXE)
+@@ -1744,9 +1703,6 @@
+ # bin2c (convert binary files into C arrays)
+ VBOX_BIN2C ?= $(PATH_OBJ)/bin2c/bin2c$(HOSTSUFF_EXE)
-# RTManifest (extension pack manifest utility)
-VBOX_RTMANIFEST ?= $(PATH_OBJ)/bldRTManifest/bldRTManifest$(HOSTSUFF_EXE)
-
- # filesplitter (splits java files)
- VBOX_FILESPLIT ?= $(PATH_OBJ)/filesplitter/filesplitter$(HOSTSUFF_EXE)
+ # VBoxCmp (simple /bin/cmp with more sensible output)
+ VBOX_VBOXCMP ?= $(PATH_OBJ)/VBoxCmp/VBoxCmp$(HOSTSUFF_EXE)
-@@ -2461,13 +2419,6 @@
+@@ -2638,13 +2594,6 @@
SDK_VBOX_OPENSSL2_LIBS = $(NO_SUCH_VARIABLE)
endif
@@ -147,11 +149,10 @@
SDK_VBOX_BLD_OPENSSL = .
SDK_VBOX_BLD_OPENSSL_EXTENDS = VBOX_OPENSSL
SDK_VBOX_BLD_OPENSSL_LIBS ?= \
-@@ -3817,100 +3768,6 @@
- endif
+@@ -4100,99 +4049,6 @@
TEMPLATE_VBOXMAINCLIENTDLL_LDFLAGS.darwin = $(filter-out -bind_at_load,$(TEMPLATE_VBOXMAINCLIENTEXE_LDFLAGS.darwin))
--
+
-
-#
-# Templates used for building the extension packs.
@@ -248,9 +249,9 @@
#
# Qt 4
# Qt 4
---- VirtualBox-4.1.18.orig/Makefile.kmk 2012-07-24 17:16:47.078929150 -0300
-+++ VirtualBox-4.1.18/Makefile.kmk 2012-07-24 17:16:47.125592981 -0300
-@@ -446,7 +446,6 @@
+--- VirtualBox-4.2.0.orig/Makefile.kmk 2012-08-29 11:13:46.000000000 -0300
++++ VirtualBox-4.2.0/Makefile.kmk 2012-09-18 23:43:54.750454776 -0300
+@@ -378,7 +378,6 @@
include/VBox \
include/VBox/vmm \
include/VBox/com \
@@ -258,12 +259,10 @@
include/VBox/HostServices \
include/VBox/GuestHost \
include/VBox/HGSMI \
-@@ -862,191 +861,6 @@
- additions-build-linux.x86.combined \
- additions-packing
+@@ -990,200 +989,6 @@
--
--#
+
+ #
-# Build the extension packs, all of them.
-#
-# This is tailored (hardcoded) for the extension pack build box.
@@ -325,16 +324,18 @@
-ifeq ($(KBUILD_TARGET),win)
- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-else
-- $(call MSG_L1,Building Windows/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.6 " echo $@ && cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
+- $(call VBOX_BLD_VM_MSG_BEGIN,Windows/amd64 extension packs)
+- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_WIN_AMD64_IP) " echo $@ && cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
+- $(call VBOX_BLD_VM_MSG_END__,Windows/amd64 extension packs)
-endif
-
-extpacks-build-win.x86:
-ifeq ($(KBUILD_TARGET),win)
- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-else
-- $(call MSG_L1,Building Windows/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.16 " echo $@ && cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+- $(call VBOX_BLD_VM_MSG_BEGIN,Windows/x86 extension packs)
+- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_WIN_X86_IP) " echo $@ && cd e:/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+- $(call VBOX_BLD_VM_MSG_END__,Windows/x86 extension packs)
-endif
-
-ifeq ($(KBUILD_TARGET),solaris)
@@ -347,17 +348,19 @@
-else
-# Serialize 32-bit and 64-bit ASSUMING the same VM builds both.
-extpacks-build-solaris.rsync-into-vm: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,solaris,*) . 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
+- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,solaris,*) . $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
-
-extpacks-build-solaris.build-it: extpacks-build-solaris.rsync-into-vm
-- $(call MSG_L1,Building Solaris/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.4 " echo $@/amd64 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
-- $(call MSG_L1,Building Solaris/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.4 " echo $@/x86 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+- $(call VBOX_BLD_VM_MSG_BEGIN,Solaris/amd64 extension packs)
+- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_SOLARIS_IP) " echo $@/amd64 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
+- $(call VBOX_BLD_VM_MSG_END__,Solaris/amd64 extension packs)
+- $(call VBOX_BLD_VM_MSG_BEGIN,Solaris/x86 extension packs)
+- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_SOLARIS_IP) " echo $@/x86 && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+- $(call VBOX_BLD_VM_MSG_END__,Solaris/x86 extension packs)
-
-extpacks-build-solaris.rsync-out-of-vm: extpacks-build-solaris.build-it
-- $(VBOX_KMK_TIME) rsync -a --delete 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.x86 out/
-- $(VBOX_KMK_TIME) rsync -a --delete 192.168.27.4:/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.amd64 out/
+- $(VBOX_KMK_TIME) rsync -a --delete $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.x86 out/
+- $(VBOX_KMK_TIME) rsync -a --delete $(VBOX_BLD_VM_SOLARIS_IP):/mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/solaris.amd64 out/
-
-.NOTPARALLEL: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm
-.PHONY: extpacks-build-solaris.rsync-out-of-vm extpacks-build-solaris.rsync-into-vm extpacks-build-solaris.build-it
@@ -370,59 +373,65 @@
-#ifeq ($(KBUILD_TARGET),os2)
-# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-#else
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.3 " cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) "
+-# $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_OS2_IP) " cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) "
-#endif
-
-extpacks-build-linux.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.amd64)
- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-else
-- $(call MSG_L1,Building Linux/amd64 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.12 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
+- $(call VBOX_BLD_VM_MSG_BEGIN,Linux/amd64 extension packs)
+- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_LNX_AMD64_IP) " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
+- $(call VBOX_BLD_VM_MSG_END__,Linux/amd64 extension packs)
-endif
-
-extpacks-build-linux.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),linux.x86)
- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-else
-- $(call MSG_L1,Building Linux/x86 extension packs)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.11 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+- $(call VBOX_BLD_VM_MSG_BEGIN,Linux/x86 extension packs)
+- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_LNX_NEW_X86_IP) " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+- $(call VBOX_BLD_VM_MSG_END__,Linux/x86 extension packs)
-endif
-
-extpacks-build-freebsd.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-#ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.amd64)
-# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-#else
--# $(call MSG_L1,Building FreeBSD/amd64 extension packs)
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.17 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
+-# $(call VBOX_BLD_VM_MSG_BEGIN,FreeBSD/amd64 extension packs)
+-# $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_FBSD_AMD64_IP) " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
+-# $(call VBOX_BLD_VM_MSG_END__,FreeBSD/amd64 extension packs)
-#endif
-
-extpacks-build-freebsd.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-#ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),freebsd.x86)
-# + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-#else
--# $(call MSG_L1,Building FreeBSD/x86 extension packs)
--# $(VBOX_KMK_TIME) ssh vbox@192.168.27.7 " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+-# $(call VBOX_BLD_VM_MSG_BEGIN,FreeBSD/x86 extension packs)
+-# $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_FBSD_X86_IP) " echo $@ && cd /mnt/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+-# $(call VBOX_BLD_VM_MSG_END__,FreeBSD/x86 extension packs)
-#endif
-
-extpacks-build-darwin.amd64: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.amd64)
- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.amd64) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-else
-- $(call MSG_L1,Building Darwin/amd64 extension packs)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,amd64) . 192.168.27.15:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.15 " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
-- $(VBOX_KMK_TIME) rsync -am -v --delete 192.168.27.15:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.amd64 out/
+- $(call VBOX_BLD_VM_MSG_BEGIN,Darwin/amd64 extension packs)
+- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,amd64) . $(VBOX_BLD_VM_DARWIN_AMD64_IP):/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
+- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_DARWIN_AMD64_IP) " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.amd64) all"
+- $(VBOX_KMK_TIME) rsync -am -v --delete $(VBOX_BLD_VM_DARWIN_AMD64_IP):/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.amd64 out/
+- $(call VBOX_BLD_VM_MSG_END__,Darwin/amd64 extension packs)
-endif
-
-extpacks-build-darwin.x86: $(VBOX_EXTPACKS_BUILD_WIN_HOST_FIRST)
-ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.x86)
- + $(VBOX_KMK_TIME) $(KMK) $(VBOX_EXTPACKS_BUILD.x86) all $(VBOX_EXTPACKS_HOST_BUILD_TWEAK)
-else
-- $(call MSG_L1,Building Darwin/x86 extension packs)
-- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,x86) . 192.168.27.5:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
-- $(VBOX_KMK_TIME) ssh vbox@192.168.27.5 " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
-- $(VBOX_KMK_TIME) rsync -am -v --delete 192.168.27.5:/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.x86 out/
+- $(call VBOX_BLD_VM_MSG_BEGIN,Darwin/x86 extension packs)
+- $(VBOX_KMK_TIME) $(call VBOX_RSYNC_IN_FN,darwin,x86) . $(VBOX_BLD_VM_DARWIN_X86_IP):/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)
+- $(VBOX_KMK_TIME) ssh vbox@$(VBOX_BLD_VM_DARWIN_X86_IP) " echo $@ && cd /Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME) && tools/env.sh --no-wine kmk $(VBOX_EXTPACKS_BUILD.x86) all"
+- $(VBOX_KMK_TIME) rsync -am -v --delete $(VBOX_BLD_VM_DARWIN_X86_IP):/Users/vbox/tinderbox/$(VBOX_EXTPACKS_BUILD_SUBDIRNAME)/out/darwin.x86 out/
+- $(call VBOX_BLD_VM_MSG_END__,Darwin/x86 extension packs)
-endif
-
-
@@ -447,9 +456,10 @@
- extpacks-packing
-
-
- #
+-#
# Build the test suite, all of it.
#
+ # This is currently tailored (hardcoded) for the additions build box just like
--- VirtualBox-4.1.18.orig/src/VBox/Devices/build/VBoxDD.cpp 2012-06-20 10:15:51.000000000 -0300
+++ VirtualBox-4.1.18/src/VBox/Devices/build/VBoxDD.cpp 2012-07-24 16:18:03.964493454 -0300
@@ -132,11 +132,6 @@
@@ -474,10 +484,10 @@
extern const PDMDEVREG g_DeviceACPI;
extern const PDMDEVREG g_DeviceDMA;
extern const PDMDEVREG g_DeviceFloppyController;
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ExtPackManagerImpl.h 2012-06-20 10:17:33.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
-@@ -1,245 +0,0 @@
--/* $Id: ExtPackManagerImpl.h $ */
+--- VirtualBox-4.2.0.orig/src/VBox/Main/include/ExtPackManagerImpl.h 2012-03-13 11:51:50.000000000 -0300
++++ /dev/null 2012-09-18 22:18:48.866734195 -0300
+@@ -1,247 +0,0 @@
+-/* $Id: ExtPackManagerImpl.h 39878 2012-01-25 16:30:07Z vboxsync $ */
-/** @file
- * VirtualBox Main - interface for Extension Packs, VBoxSVC & VBoxC.
- */
@@ -533,6 +543,7 @@
- STDMETHOD(COMGETTER(Description))(BSTR *a_pbstrDescription);
- STDMETHOD(COMGETTER(Version))(BSTR *a_pbstrVersion);
- STDMETHOD(COMGETTER(Revision))(ULONG *a_puRevision);
+- STDMETHOD(COMGETTER(Edition))(BSTR *a_pbstrEdition);
- STDMETHOD(COMGETTER(VRDEModule))(BSTR *a_pbstrVrdeModule);
- STDMETHOD(COMGETTER(PlugIns))(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns));
- STDMETHOD(COMGETTER(Usable))(BOOL *a_pfUsable);
@@ -596,6 +607,7 @@
- STDMETHOD(COMGETTER(Description))(BSTR *a_pbstrDescription);
- STDMETHOD(COMGETTER(Version))(BSTR *a_pbstrVersion);
- STDMETHOD(COMGETTER(Revision))(ULONG *a_puRevision);
+- STDMETHOD(COMGETTER(Edition))(BSTR *a_pbstrEdition);
- STDMETHOD(COMGETTER(VRDEModule))(BSTR *a_pbstrVrdeModule);
- STDMETHOD(COMGETTER(PlugIns))(ComSafeArrayOut(IExtPackPlugIn *, a_paPlugIns));
- STDMETHOD(COMGETTER(Usable))(BOOL *a_pfUsable);
@@ -722,10 +734,10 @@
-
-#endif
-/* vi: set tabstop=4 shiftwidth=4 expandtab: */
---- VirtualBox-4.1.18.orig/src/VBox/Main/include/ExtPackUtil.h 2012-06-20 10:17:33.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
+--- VirtualBox-4.2.0.orig/src/VBox/Main/include/ExtPackUtil.h 2012-03-13 11:51:50.000000000 -0300
++++ /dev/null 2012-09-18 22:18:48.866734195 -0300
@@ -1,137 +0,0 @@
--/* $Id: ExtPackUtil.h $ */
+-/* $Id: ExtPackUtil.h 39878 2012-01-25 16:30:07Z vboxsync $ */
-/** @file
- * VirtualBox Main - Extension Pack Utilities and definitions, VBoxC, VBoxSVC, ++.
- */
@@ -839,14 +851,14 @@
-
-
-void VBoxExtPackInitDesc(PVBOXEXTPACKDESC a_pExtPackDesc);
--RTCString *VBoxExtPackLoadDesc(const char *a_pszDir, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo);
--RTCString *VBoxExtPackLoadDescFromVfsFile(RTVFSFILE hVfsFile, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo);
--RTCString *VBoxExtPackExtractNameFromTarballPath(const char *pszTarball);
+-RTCString *VBoxExtPackLoadDesc(const char *a_pszDir, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo);
+-RTCString *VBoxExtPackLoadDescFromVfsFile(RTVFSFILE hVfsFile, PVBOXEXTPACKDESC a_pExtPackDesc, PRTFSOBJINFO a_pObjInfo);
+-RTCString *VBoxExtPackExtractNameFromTarballPath(const char *pszTarball);
-void VBoxExtPackFreeDesc(PVBOXEXTPACKDESC a_pExtPackDesc);
-bool VBoxExtPackIsValidName(const char *pszName);
-bool VBoxExtPackIsValidMangledName(const char *pszMangledName, size_t cchMax = RTSTR_MAX);
--RTCString *VBoxExtPackMangleName(const char *pszName);
--RTCString *VBoxExtPackUnmangleName(const char *pszMangledName, size_t cbMax);
+-RTCString *VBoxExtPackMangleName(const char *pszName);
+-RTCString *VBoxExtPackUnmangleName(const char *pszMangledName, size_t cbMax);
-int VBoxExtPackCalcDir(char *pszExtPackDir, size_t cbExtPackDir, const char *pszParentDir, const char *pszName);
-bool VBoxExtPackIsValidVersionString(const char *pszVersion);
-bool VBoxExtPackIsValidEditionString(const char *pszEdition);
@@ -862,10 +874,10 @@
-
-#endif
-
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-all/ExtPackManagerImpl.cpp 2012-06-20 10:17:34.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
+--- VirtualBox-4.2.0.orig/src/VBox/Main/src-all/ExtPackManagerImpl.cpp 2012-04-03 04:56:24.000000000 -0300
++++ /dev/null 2012-09-18 22:18:48.866734195 -0300
@@ -1,3126 +0,0 @@
--/* $Id: ExtPackManagerImpl.cpp $ */
+-/* $Id: ExtPackManagerImpl.cpp 40468 2012-03-14 17:07:58Z vboxsync $ */
-/** @file
- * VirtualBox Main - interface for Extension Packs, VBoxSVC & VBoxC.
- */
@@ -1260,22 +1272,22 @@
- HRESULT hrc = autoCaller.rc();
- if (SUCCEEDED(hrc))
- {
-- /* HACK ALERT: This is for easing backporting to 4.1. The edition stuff
-- will be changed into a separate */
-- if (m->Desc.strEdition.isEmpty())
-- {
-- Bstr str(m->Desc.strVersion);
-- str.cloneTo(a_pbstrVersion);
-- }
-- else
-- {
-- RTCString strHack(m->Desc.strVersion);
-- strHack.append('-');
-- strHack.append(m->Desc.strEdition);
+- Bstr str(m->Desc.strVersion);
+- str.cloneTo(a_pbstrVersion);
+- }
+- return hrc;
+-}
-
-- Bstr str(strHack);
-- str.cloneTo(a_pbstrVersion);
-- }
+-STDMETHODIMP ExtPackFile::COMGETTER(Edition)(BSTR *a_pbstrEdition)
+-{
+- CheckComArgOutPointerValid(a_pbstrEdition);
+-
+- AutoCaller autoCaller(this);
+- HRESULT hrc = autoCaller.rc();
+- if (SUCCEEDED(hrc))
+- {
+- Bstr str(m->Desc.strEdition);
+- str.cloneTo(a_pbstrEdition);
- }
- return hrc;
-}
@@ -2494,22 +2506,8 @@
- HRESULT hrc = autoCaller.rc();
- if (SUCCEEDED(hrc))
- {
-- /* HACK ALERT: This is for easing backporting to 4.1. The edition stuff
-- will be changed into a separate */
-- if (m->Desc.strEdition.isEmpty())
-- {
-- Bstr str(m->Desc.strVersion);
-- str.cloneTo(a_pbstrVersion);
-- }
-- else
-- {
-- RTCString strHack(m->Desc.strVersion);
-- strHack.append('-');
-- strHack.append(m->Desc.strEdition);
--
-- Bstr str(strHack);
-- str.cloneTo(a_pbstrVersion);
-- }
+- Bstr str(m->Desc.strVersion);
+- str.cloneTo(a_pbstrVersion);
- }
- return hrc;
-}
@@ -2525,6 +2523,20 @@
- return hrc;
-}
-
+-STDMETHODIMP ExtPack::COMGETTER(Edition)(BSTR *a_pbstrEdition)
+-{
+- CheckComArgOutPointerValid(a_pbstrEdition);
+-
+- AutoCaller autoCaller(this);
+- HRESULT hrc = autoCaller.rc();
+- if (SUCCEEDED(hrc))
+- {
+- Bstr str(m->Desc.strEdition);
+- str.cloneTo(a_pbstrEdition);
+- }
+- return hrc;
+-}
+-
-STDMETHODIMP ExtPack::COMGETTER(VRDEModule)(BSTR *a_pbstrVrdeModule)
-{
- CheckComArgOutPointerValid(a_pbstrVrdeModule);
@@ -3991,10 +4003,10 @@
-}
-
-/* vi: set tabstop=4 shiftwidth=4 expandtab: */
---- VirtualBox-4.1.18.orig/src/VBox/Main/src-all/ExtPackUtil.cpp 2012-06-20 10:17:34.000000000 -0300
-+++ /dev/null 2012-07-24 14:48:18.638572110 -0300
+--- VirtualBox-4.2.0.orig/src/VBox/Main/src-all/ExtPackUtil.cpp 2012-07-18 05:57:58.000000000 -0300
++++ /dev/null 2012-09-18 22:18:48.866734195 -0300
@@ -1,1385 +0,0 @@
--/* $Id: ExtPackUtil.cpp $ */
+-/* $Id: ExtPackUtil.cpp 41783 2012-06-16 19:24:15Z vboxsync $ */
-/** @file
- * VirtualBox Main - Extension Pack Utilities and definitions, VBoxC, VBoxSVC, ++.
- */
@@ -4092,7 +4104,7 @@
- *
- * @returns NULL on success, pointer to an error message on failure (caller
- * deletes it).
-- * @param a_pDoc Pointer to the the XML document.
+- * @param a_pDoc Pointer to the XML document.
- * @param a_pExtPackDesc Where to store the extension pack descriptor.
- */
-static RTCString *vboxExtPackLoadDescFromDoc(xml::Document *a_pDoc, PVBOXEXTPACKDESC a_pExtPackDesc)
@@ -5389,25 +5401,22 @@
iprt/alloca.h \
iprt/tcp.h \
iprt/localipc.h \
---- VirtualBox-4.1.18.orig/src/Makefile.kmk 2012-06-20 10:07:57.000000000 -0300
-+++ VirtualBox-4.1.18/src/Makefile.kmk 2012-07-24 22:51:10.206996034 -0300
-@@ -26,14 +26,6 @@
- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
+--- VirtualBox-4.2.0.orig/src/Makefile.kmk 2012-08-03 09:28:25.000000000 -0300
++++ VirtualBox-4.2.0/src/Makefile.kmk 2012-09-19 03:01:57.588337894 -0300
+@@ -23,10 +23,8 @@
+ if !defined(VBOX_ONLY_ADDITIONS)
include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
+ endif
+-if defined(VBOX_ONLY_EXTPACKS) && !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS) && defined(VBOX_WITH_REM)
+- include $(PATH_SUB_CURRENT)/recompiler/Makefile.kmk
--else if defined(VBOX_ONLY_EXTPACKS)
-- include $(PATH_SUB_CURRENT)/bldprogs/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
-- include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
-- ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS
-- include $(PATH_SUB_CURRENT)/recompiler/Makefile.kmk
-- endif
--
- else if defined(VBOX_ONLY_TESTSUITE)
- include $(PATH_SUB_CURRENT)/libs/Makefile.kmk
- include $(PATH_SUB_CURRENT)/VBox/Makefile.kmk
---- VirtualBox-4.1.18.orig/src/VBox/Makefile.kmk 2012-07-24 21:19:55.565641784 -0300
-+++ VirtualBox-4.1.18/src/VBox/Makefile.kmk 2012-07-24 22:12:55.429156962 -0300
+-else if !defined(VBOX_ONLY_BUILD)
++if !defined(VBOX_ONLY_BUILD)
+ # Normal build.
+ if1of ($(KBUILD_TARGET_ARCH), x86 amd64)
+ ifdef VBOX_WITH_REM
+--- VirtualBox-4.2.0.orig/src/VBox/Makefile.kmk 2012-05-30 07:39:32.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Makefile.kmk 2012-09-19 00:03:08.577726965 -0300
@@ -33,19 +33,6 @@
include $(PATH_SUB_CURRENT)/HostDrivers/Makefile.kmk
include $(PATH_SUB_CURRENT)/Frontends/Makefile.kmk
@@ -5428,17 +5437,15 @@
else ifdef VBOX_ONLY_SDK
include $(PATH_SUB_CURRENT)/Main/Makefile.kmk
ifdef VBOX_WITH_VRDP
-@@ -92,9 +79,6 @@
+@@ -92,7 +79,6 @@
if1of ($(KBUILD_TARGET_ARCH), amd64 x86)
include $(PATH_SUB_CURRENT)/NetworkServices/Makefile.kmk
endif
-- ifndef VBOX_OSE
-- include $(PATH_SUB_CURRENT)/ExtPacks/Makefile.kmk
-- endif
+- include $(PATH_SUB_CURRENT)/ExtPacks/Makefile.kmk
ifdef VBOX_WITH_INSTALLER
include $(PATH_SUB_CURRENT)/Installer/Makefile.kmk # Keep this last.
endif
---- VirtualBox-4.1.18/src/libs/Makefile.kmk.orig 2012-07-24 21:23:26.938013023 -0300
+--- VirtualBox-4.1.18.orig/src/libs/Makefile.kmk 2012-07-24 21:23:26.938013023 -0300
+++ VirtualBox-4.1.18/src/libs/Makefile.kmk 2012-07-24 21:43:42.557911752 -0300
@@ -48,13 +48,6 @@
include $(PATH_SUB_CURRENT)/kStuff/Makefile.kmk
@@ -5454,52 +5461,46 @@
# libjpeg for VRDP video redirection
if defined(VBOX_WITH_VRDP) && defined(VBOX_WITH_VRDP_VIDEO_CHANNEL)
include $(PATH_SUB_CURRENT)/jpeg-8a/Makefile.kmk
---- VirtualBox-4.1.18.orig/src/VBox/Devices/Makefile.kmk 2012-07-24 23:06:45.916276235 -0300
-+++ VirtualBox-4.1.18/src/VBox/Devices/Makefile.kmk 2012-07-24 23:17:00.202963228 -0300
-@@ -21,9 +21,7 @@
+--- VirtualBox-4.2.0.orig/src/VBox/Devices/Makefile.kmk 2012-08-03 09:28:25.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Devices/Makefile.kmk 2012-09-19 02:54:35.912748288 -0300
+@@ -25,9 +25,7 @@
# Include sub-makefiles.
include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
-if defined(VBOX_WITH_INTEL_PXE) || defined(VBOX_ONLY_EXTPACKS)
- include $(PATH_SUB_CURRENT)/PC/PXE/Makefile.kmk
--else if defined(VBOX_WITH_PXE_ROM) && !defined(VBOX_WITHOUT_ETHERBOOT)
-+if defined(VBOX_WITH_PXE_ROM) && !defined(VBOX_WITHOUT_ETHERBOOT)
- include $(PATH_SUB_CURRENT)/PC/Etherboot-src/Makefile.kmk
- endif
- if !defined(VBOX_ONLY_EXTPACKS) # Goes on almost to the end of the file.
-@@ -57,9 +55,6 @@
+-else if defined(VBOX_WITH_PXE_ROM)
++if defined(VBOX_WITH_PXE_ROM)
+ if !defined(VBOX_WITHOUT_ETHERBOOT)
+ include $(PATH_SUB_CURRENT)/PC/Etherboot-src/Makefile.kmk
+ endif
+@@ -71,9 +69,6 @@
ifdef VBOX_WITH_USB
VBoxDDU_DEFS += VBOX_WITH_USB IN_USBLIB
- VBoxDDU_SDKS.win = WINPSDK W2K3DDK
+ VBoxDDU_SDKS.win = ReorderCompilerIncs $(VBOX_WINPSDK) $(VBOX_WINDDK)
- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
- VBoxDDU_DEFS += VBOX_WITH_EHCI_IMPL
- endif
ifdef VBOX_WITH_NEW_USB_CODE_ON_DARWIN
VBoxDDU_DEFS.darwin += VBOX_WITH_NEW_USB_CODE_ON_DARWIN
endif
-@@ -122,9 +117,6 @@
- VBoxDD_DEFS = VBOX_ACPI
- ifdef VBOX_WITH_USB
- VBoxDD_DEFS += VBOX_WITH_USB
+@@ -326,15 +321,7 @@
+ Storage/UsbMsd.cpp
+ endif
+
- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
- VBoxDD_DEFS += VBOX_WITH_EHCI_IMPL
- endif
- endif
- ifdef VBOX_WITH_VUSB
- VBoxDD_DEFS += VBOX_WITH_VUSB
-@@ -446,11 +438,6 @@
- endif
- ifdef VBOX_WITH_USB
- DevicesR3_DEFS += VBOX_WITH_USB
+ VBoxDD_DEFS += VBOX_WITH_USB
- if defined(VBOX_WITH_EHCI_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-- DevicesR3_DEFS += VBOX_WITH_EHCI_IMPL
-- DevicesR3_SOURCES += \
+- VBoxDD_DEFS += VBOX_WITH_EHCI_IMPL
+- VBoxDD_SOURCES += \
- USB/DevEHCI.cpp
- endif
- endif
- if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
- DevicesR3_DEFS += VBOX_WITH_PCI_PASSTHROUGH_IMPL
-@@ -607,11 +594,6 @@
+
+ endif # VBOX_WITH_USB
+
+@@ -869,11 +856,6 @@
ifdef VBOX_WITH_USB
VBoxDDGC_DEFS += VBOX_WITH_USB
@@ -5511,7 +5512,7 @@
endif
ifdef VBOX_WITH_VIDEOHWACCEL
-@@ -711,11 +693,6 @@
+@@ -1020,11 +1002,6 @@
endif
ifdef VBOX_WITH_USB
VBoxDDR0_DEFS += VBOX_WITH_USB
@@ -5523,10 +5524,10 @@
endif
if defined(VBOX_WITH_PCI_PASSTHROUGH_IMPL) && !defined(VBOX_WITH_EXTPACK_PUEL)
-@@ -1204,49 +1181,5 @@
-
+@@ -1163,50 +1140,5 @@
endif # !VBOX_ONLY_EXTPACKS
+
-if defined(VBOX_WITH_EXTPACK_PUEL) && defined(VBOX_WITH_EXTPACK_PUEL_BUILD)
- #
- # The EHCI (USB 2.0) Extension Pack Modules.
@@ -5563,6 +5564,7 @@
- Bus/DevPciRaw.cpp_INCS = Bus
- endif
-
+-
- #
- # The Intel PXE rom.
- #
@@ -5571,11 +5573,11 @@
- VBoxExtPackPuelInsRoms_SOURCES = PC/PXE/PXE-Intel.rom=>PXE-Intel.rom
-endif # VBOX_WITH_EXTPACK_PUEL
-
- include $(KBUILD_PATH)/subfooter.kmk
+ include $(FILE_KBUILD_SUB_FOOTER)
---- VirtualBox-4.1.18.orig/src/VBox/Main/Makefile.kmk 2012-07-24 23:38:25.304126039 -0300
-+++ VirtualBox-4.1.18/src/VBox/Main/Makefile.kmk 2012-07-24 23:38:25.350789964 -0300
-@@ -230,14 +230,12 @@
+--- VirtualBox-4.2.0.orig/src/VBox/Main/Makefile.kmk 2012-09-04 09:48:44.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Main/Makefile.kmk 2012-09-19 00:46:39.251763337 -0300
+@@ -233,14 +233,12 @@
$(if $(VBOX_USB_WITH_SYSFS),VBOX_USB_WITH_SYSFS,) \
$(if $(VBOX_USB_WITH_INOTIFY),VBOX_USB_WITH_INOTIFY,) \
$(if $(VBOX_WITH_LIVE_MIGRATION),VBOX_WITH_LIVE_MIGRATION,) \
@@ -5590,7 +5592,7 @@
$(if $(VBOX_WITH_NEW_USB_CODE_ON_DARWIN),VBOX_WITH_NEW_USB_CODE_ON_DARWIN,)
endif
VBoxSVC_DEFS.win += VBOX_COM_OUTOFPROC_MODULE
-@@ -290,7 +288,6 @@
+@@ -293,7 +291,6 @@
src-all/SharedFolderImpl.cpp \
src-all/VirtualBoxBase.cpp \
src-all/VirtualBoxErrorInfoImpl.cpp \
@@ -5598,25 +5600,25 @@
src-server/ApplianceImpl.cpp \
src-server/ApplianceImplExport.cpp \
src-server/ApplianceImplImport.cpp \
-@@ -543,8 +540,6 @@
- $(if $(VBOX_WITH_HGSMI),VBOX_WITH_HGSMI,) \
- $(if $(VBOX_WITH_VIDEOHWACCEL),VBOX_WITH_VIDEOHWACCEL,) \
+@@ -538,8 +535,6 @@
+ $(if $(VBOX_WITH_DRAG_AND_DROP),VBOX_WITH_DRAG_AND_DROP,) \
+ $(if $(VBOX_WITH_DRAG_AND_DROP_GH),VBOX_WITH_DRAG_AND_DROP_GH,) \
$(if $(VBOX_WITH_USB),VBOX_WITH_USB,) \
- $(if-expr defined(VBOX_WITH_EHCI) && defined(VBOX_WITH_USB),VBOX_WITH_EHCI,) \
- $(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK,) \
- $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,)
+ $(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,) \
+ $(if $(VBOX_WITH_VPX),VBOX_WITH_VPX,)
- VBoxC_DEFS.darwin.x86 = VBOX_WITH_2X_4GB_ADDR_SPACE
-@@ -602,7 +597,6 @@
+@@ -605,7 +600,6 @@
src-all/SharedFolderImpl.cpp \
src-all/VirtualBoxBase.cpp \
src-all/VirtualBoxErrorInfoImpl.cpp \
- $(if $(VBOX_WITH_EXTPACK),src-all/ExtPackManagerImpl.cpp src-all/ExtPackUtil.cpp,) \
$(if $(VBOX_WITH_USB_VIDEO),src-client/UsbWebcamInterface.cpp,) \
$(if $(VBOX_WITH_USB_CARDREADER),src-client/UsbCardReader.cpp,) \
- src-client/AdditionsFacilityImpl.cpp \
-@@ -711,22 +705,6 @@
- endif # !win
+ src-client/Nvram.cpp \
+@@ -733,22 +727,6 @@
+ $(if $(VBOX_BLEEDING_EDGE),VBOX_BLEEDING_EDGE=\"$(VBOX_BLEEDING_EDGE)\",)
-#
@@ -5631,7 +5633,7 @@
- src-helper-apps/VBoxExtPackHelperApp.cpp \
- src-all/ExtPackUtil.cpp
- VBoxExtPackHelperApp_LIBS = \
-- $(LIB_RUNTIME)
+- $(LIB_RUNTIME)
-endif # VBOX_WITH_EXTPACK
-
-
@@ -5648,27 +5650,27 @@
$(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-ovf.icns=>Resources/virtualbox-ovf.icns \
$(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-ova.icns=>Resources/virtualbox-ova.icns \
$(PATH_ROOT)/src/VBox/Resources/darwin/virtualbox-vdi.icns=>Resources/virtualbox-vdi.icns \
---- VirtualBox-4.1.18.orig/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-24 23:28:17.985011038 -0300
-+++ VirtualBox-4.1.18/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-07-24 23:28:18.051673913 -0300
-@@ -167,18 +167,6 @@
- <file alias="status_check_32px.png">images/status_check_32px.png</file>
- <file alias="status_error_16px.png">images/status_error_16px.png</file>
- <file alias="status_error_32px.png">images/status_error_32px.png</file>
-- <file alias="extension_pack_16px.png">images/extension_pack_16px.png</file>
-- <file alias="extension_pack_disabled_16px.png">images/extension_pack_disabled_16px.png</file>
-- <file alias="extension_pack_32px.png">images/extension_pack_32px.png</file>
-- <file alias="extension_pack_disabled_32px.png">images/extension_pack_disabled_32px.png</file>
-- <file alias="extension_pack_install_16px.png">images/extension_pack_install_16px.png</file>
-- <file alias="extension_pack_install_disabled_16px.png">images/extension_pack_install_disabled_16px.png</file>
-- <file alias="extension_pack_install_32px.png">images/extension_pack_install_32px.png</file>
-- <file alias="extension_pack_install_disabled_32px.png">images/extension_pack_install_disabled_32px.png</file>
-- <file alias="extension_pack_uninstall_16px.png">images/extension_pack_uninstall_16px.png</file>
-- <file alias="extension_pack_uninstall_disabled_16px.png">images/extension_pack_uninstall_disabled_16px.png</file>
-- <file alias="extension_pack_uninstall_32px.png">images/extension_pack_uninstall_32px.png</file>
-- <file alias="extension_pack_uninstall_disabled_32px.png">images/extension_pack_uninstall_disabled_32px.png</file>
- <file alias="proxy_16px.png">images/proxy_16px.png</file>
- <file alias="proxy_disabled_16px.png">images/proxy_disabled_16px.png</file>
- <file alias="proxy_32px.png">images/proxy_32px.png</file>
+--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-05-30 07:39:18.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc 2012-09-19 00:51:25.413310527 -0300
+@@ -169,18 +169,6 @@
+ <file alias="status_check_32px.png">images/status_check_32px.png</file>
+ <file alias="status_error_16px.png">images/status_error_16px.png</file>
+ <file alias="status_error_32px.png">images/status_error_32px.png</file>
+- <file alias="extension_pack_16px.png">images/extension_pack_16px.png</file>
+- <file alias="extension_pack_disabled_16px.png">images/extension_pack_disabled_16px.png</file>
+- <file alias="extension_pack_32px.png">images/extension_pack_32px.png</file>
+- <file alias="extension_pack_disabled_32px.png">images/extension_pack_disabled_32px.png</file>
+- <file alias="extension_pack_install_16px.png">images/extension_pack_install_16px.png</file>
+- <file alias="extension_pack_install_disabled_16px.png">images/extension_pack_install_disabled_16px.png</file>
+- <file alias="extension_pack_install_32px.png">images/extension_pack_install_32px.png</file>
+- <file alias="extension_pack_install_disabled_32px.png">images/extension_pack_install_disabled_32px.png</file>
+- <file alias="extension_pack_uninstall_16px.png">images/extension_pack_uninstall_16px.png</file>
+- <file alias="extension_pack_uninstall_disabled_16px.png">images/extension_pack_uninstall_disabled_16px.png</file>
+- <file alias="extension_pack_uninstall_32px.png">images/extension_pack_uninstall_32px.png</file>
+- <file alias="extension_pack_uninstall_disabled_32px.png">images/extension_pack_uninstall_disabled_32px.png</file>
+ <file alias="proxy_16px.png">images/proxy_16px.png</file>
+ <file alias="proxy_disabled_16px.png">images/proxy_disabled_16px.png</file>
+ <file alias="proxy_32px.png">images/proxy_32px.png</file>
--- VirtualBox-4.1.18.orig/src/VBox/Installer/linux/Makefile.kmk 2012-07-25 00:32:00.780012664 -0300
+++ VirtualBox-4.1.18/src/VBox/Installer/linux/Makefile.kmk 2012-07-25 00:32:00.806677728 -0300
@@ -170,11 +170,6 @@
@@ -5702,17 +5704,17 @@
-E 'VBOX_WITH_GUEST_CONTROL=$(if $(VBOX_WITH_GUEST_CONTROL),yes,no)' \
-E 'VBOX_WITH_GUEST_PROPS=$(if $(VBOX_WITH_GUEST_PROPS),yes,no)' \
-E 'VBOX_WITH_NETFLT=$(if $(VBOX_WITH_NETFLT),yes,no)' \
---- VirtualBox-4.1.18.orig/src/VBox/Installer/darwin/Makefile.kmk 2012-07-25 00:36:55.929571374 -0300
-+++ VirtualBox-4.1.18/src/VBox/Installer/darwin/Makefile.kmk 2012-07-25 00:36:55.959569630 -0300
-@@ -629,7 +629,6 @@
+--- VirtualBox-4.2.0.orig/src/VBox/Installer/darwin/Makefile.kmk 2012-09-08 06:36:03.000000000 -0300
++++ VirtualBox-4.2.0/src/VBox/Installer/darwin/Makefile.kmk 2012-09-19 00:55:08.991167973 -0300
+@@ -497,7 +497,6 @@
MacOS/VirtualBoxVM \
MacOS/VBoxNetAdpCtl \
MacOS/VBoxNetDHCP \
- MacOS/VBoxExtPackHelperApp \
- MacOS/VBoxBalloonCtrl
+ MacOS/VBoxBalloonCtrl \
+ MacOS/VBoxAutostart
ifdef VBOX_WITH_WEBSERVICES
- VBOX_DI_VBAPP_PROGS += \
-@@ -659,7 +658,6 @@
+@@ -522,7 +521,6 @@
Resources/virtualbox.icns \
Resources/virtualbox.png \
Resources/virtualbox-vbox.icns \
diff --git a/libre/virtualbox-libre/os_blag.png b/libre/virtualbox-libre/os_blag.png
index 61995ca10..61995ca10 100644..100755
--- a/libre/virtualbox-libre/os_blag.png
+++ b/libre/virtualbox-libre/os_blag.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_blag_64.png b/libre/virtualbox-libre/os_blag_64.png
index aa4463a97..aa4463a97 100644..100755
--- a/libre/virtualbox-libre/os_blag_64.png
+++ b/libre/virtualbox-libre/os_blag_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_dragora.png b/libre/virtualbox-libre/os_dragora.png
index d1df45880..d1df45880 100644..100755
--- a/libre/virtualbox-libre/os_dragora.png
+++ b/libre/virtualbox-libre/os_dragora.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_dragora_64.png b/libre/virtualbox-libre/os_dragora_64.png
index 64bcecf20..64bcecf20 100644..100755
--- a/libre/virtualbox-libre/os_dragora_64.png
+++ b/libre/virtualbox-libre/os_dragora_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_dynebolic.png b/libre/virtualbox-libre/os_dynebolic.png
index 67b07d4c0..67b07d4c0 100644..100755
--- a/libre/virtualbox-libre/os_dynebolic.png
+++ b/libre/virtualbox-libre/os_dynebolic.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_gnewsense.png b/libre/virtualbox-libre/os_gnewsense.png
index 76d9e38b3..76d9e38b3 100644..100755
--- a/libre/virtualbox-libre/os_gnewsense.png
+++ b/libre/virtualbox-libre/os_gnewsense.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_gnewsense_64.png b/libre/virtualbox-libre/os_gnewsense_64.png
index 8859c34e8..8859c34e8 100644..100755
--- a/libre/virtualbox-libre/os_gnewsense_64.png
+++ b/libre/virtualbox-libre/os_gnewsense_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_gnu.png b/libre/virtualbox-libre/os_gnu.png
index 26c4550f9..26c4550f9 100644..100755
--- a/libre/virtualbox-libre/os_gnu.png
+++ b/libre/virtualbox-libre/os_gnu.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_gnu_64.png b/libre/virtualbox-libre/os_gnu_64.png
index 4161634e9..4161634e9 100644..100755
--- a/libre/virtualbox-libre/os_gnu_64.png
+++ b/libre/virtualbox-libre/os_gnu_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_gnuhurd.png b/libre/virtualbox-libre/os_gnuhurd.png
index 26c4550f9..26c4550f9 100644..100755
--- a/libre/virtualbox-libre/os_gnuhurd.png
+++ b/libre/virtualbox-libre/os_gnuhurd.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_gnulinux.png b/libre/virtualbox-libre/os_gnulinux.png
index 26c4550f9..26c4550f9 100644..100755
--- a/libre/virtualbox-libre/os_gnulinux.png
+++ b/libre/virtualbox-libre/os_gnulinux.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_gnulinux_64.png b/libre/virtualbox-libre/os_gnulinux_64.png
index 4161634e9..4161634e9 100644..100755
--- a/libre/virtualbox-libre/os_gnulinux_64.png
+++ b/libre/virtualbox-libre/os_gnulinux_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_musix.png b/libre/virtualbox-libre/os_musix.png
index fb7b94577..fb7b94577 100644..100755
--- a/libre/virtualbox-libre/os_musix.png
+++ b/libre/virtualbox-libre/os_musix.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_musix_64.png b/libre/virtualbox-libre/os_musix_64.png
index a1bbbbf3a..a1bbbbf3a 100644..100755
--- a/libre/virtualbox-libre/os_musix_64.png
+++ b/libre/virtualbox-libre/os_musix_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_os64base.png b/libre/virtualbox-libre/os_os64base.png
index 7aec20314..7aec20314 100644..100755
--- a/libre/virtualbox-libre/os_os64base.png
+++ b/libre/virtualbox-libre/os_os64base.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_os64base.xcf b/libre/virtualbox-libre/os_os64base.xcf
index d8e28e35e..d8e28e35e 100644..100755
--- a/libre/virtualbox-libre/os_os64base.xcf
+++ b/libre/virtualbox-libre/os_os64base.xcf
Binary files differ
diff --git a/libre/virtualbox-libre/os_osbase.png b/libre/virtualbox-libre/os_osbase.png
index 00f197fca..00f197fca 100644..100755
--- a/libre/virtualbox-libre/os_osbase.png
+++ b/libre/virtualbox-libre/os_osbase.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_osbase.xcf b/libre/virtualbox-libre/os_osbase.xcf
index c4463c857..c4463c857 100644..100755
--- a/libre/virtualbox-libre/os_osbase.xcf
+++ b/libre/virtualbox-libre/os_osbase.xcf
Binary files differ
diff --git a/libre/virtualbox-libre/os_parabola.png b/libre/virtualbox-libre/os_parabola.png
index 757abc484..757abc484 100644..100755
--- a/libre/virtualbox-libre/os_parabola.png
+++ b/libre/virtualbox-libre/os_parabola.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_parabola_64.png b/libre/virtualbox-libre/os_parabola_64.png
index 5ac7c2767..5ac7c2767 100644..100755
--- a/libre/virtualbox-libre/os_parabola_64.png
+++ b/libre/virtualbox-libre/os_parabola_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_trisquel.png b/libre/virtualbox-libre/os_trisquel.png
index c6f0d3d7a..c6f0d3d7a 100644..100755
--- a/libre/virtualbox-libre/os_trisquel.png
+++ b/libre/virtualbox-libre/os_trisquel.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_trisquel_64.png b/libre/virtualbox-libre/os_trisquel_64.png
index ebca3dd43..ebca3dd43 100644..100755
--- a/libre/virtualbox-libre/os_trisquel_64.png
+++ b/libre/virtualbox-libre/os_trisquel_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_ututo.png b/libre/virtualbox-libre/os_ututo.png
index e1dffb575..e1dffb575 100644..100755
--- a/libre/virtualbox-libre/os_ututo.png
+++ b/libre/virtualbox-libre/os_ututo.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_ututo_64.png b/libre/virtualbox-libre/os_ututo_64.png
index 158468e0a..158468e0a 100644..100755
--- a/libre/virtualbox-libre/os_ututo_64.png
+++ b/libre/virtualbox-libre/os_ututo_64.png
Binary files differ
diff --git a/libre/virtualbox-libre/os_venenux.png b/libre/virtualbox-libre/os_venenux.png
index 5e0c1585d..5e0c1585d 100644..100755
--- a/libre/virtualbox-libre/os_venenux.png
+++ b/libre/virtualbox-libre/os_venenux.png
Binary files differ
diff --git a/libre/virtualbox-libre/vboxbuild b/libre/virtualbox-libre/vboxbuild
index 27519950f..27519950f 100644..100755
--- a/libre/virtualbox-libre/vboxbuild
+++ b/libre/virtualbox-libre/vboxbuild
diff --git a/libre/virtualbox-libre/vboxdrv-reference.patch b/libre/virtualbox-libre/vboxdrv-reference.patch
index 9599a3a49..51fd6361c 100644
--- a/libre/virtualbox-libre/vboxdrv-reference.patch
+++ b/libre/virtualbox-libre/vboxdrv-reference.patch
@@ -20,9 +20,9 @@ diff -Nur VirtualBox-4.1.6_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp V
- "DKMS package first. This package keeps track of Linux kernel changes and "
- "recompiles the vboxdrv kernel module if necessary."
+ "libre module by executing<br/><br/>"
-+ " <font color=blue>'pacman -S virtualbox-libre-modules'</font><br/><br/>"
-+ "as root. If you don't use our stock kernel libre, install virtualbox-libre-source and "
-+ "execute dkms install vboxhost/4.1.18 ."
++ " <font color=blue>'pacman -S virtualbox-libre-host-modules'</font><br/><br/>"
++ "as root. If you don't use our stock kernel libre, install virtualbox-libre-host-source and "
++ "execute dkms autoinstall ."
);
QString g_QStrHintOtherWrongDriverVersion = QApplication::tr(
@@ -42,7 +42,7 @@ diff -Nur VirtualBox-4.1.6_OSE.orig/src/VBox/Frontends/VirtualBox/src/main.cpp V
- "OSE version and the PUEL version of VirtualBox."
+ "The VirtualBox kernel libre modules do not match this version of "
+ "VirtualBox. Reload the modules or if you don't use our stock kernel libre execute<br/><br/> "
-+ " <font color=blue>'dkms install vboxhost/4.1.18'</font><br/><br/>"
++ " <font color=blue>'dkms autoinstall'</font><br/><br/>"
);
QString g_QStrHintOtherNoDriver = QApplication::tr(
@@ -81,11 +81,11 @@ diff -Nur VirtualBox-4.1.6_OSE.orig/src/VBox/Installer/linux/VBox.sh VirtualBox-
- load. Please recompile the kernel module and install it by
+WARNING: The vboxdrv kernel libre module is not loaded. Either there is no module
+ available for the current kernel libre (`uname -r`) or it failed to
-+ load. Please reinstall the kernel libre module virtualbox-libre-modules or
++ load. Please reinstall the kernel libre module virtualbox-libre-host-modules or
+ if you don't use our stock kernel libre compile the modules with
- sudo /etc/init.d/vboxdrv setup
-+ sudo dkms install vboxhost/4.1.18
++ sudo dkms autoinstall
You will not be able to start VMs until this problem is fixed.
EOF
diff --git a/libre/virtualbox-libre/vboxservice.conf b/libre/virtualbox-libre/vboxservice.conf
index 9d4ec629f..9d4ec629f 100644..100755
--- a/libre/virtualbox-libre/vboxservice.conf
+++ b/libre/virtualbox-libre/vboxservice.conf
diff --git a/libre/virtualbox-libre/vboxservice.rc b/libre/virtualbox-libre/vboxservice.rc
index 5a62d69a3..5a62d69a3 100644..100755
--- a/libre/virtualbox-libre/vboxservice.rc
+++ b/libre/virtualbox-libre/vboxservice.rc
diff --git a/libre/virtualbox-libre/vboxservice.service b/libre/virtualbox-libre/vboxservice.service
index bbd61617d..bbd61617d 100644..100755
--- a/libre/virtualbox-libre/vboxservice.service
+++ b/libre/virtualbox-libre/vboxservice.service
diff --git a/libre/virtualbox-libre/vboxweb.conf b/libre/virtualbox-libre/vboxweb.conf
index c36f6a143..c36f6a143 100644..100755
--- a/libre/virtualbox-libre/vboxweb.conf
+++ b/libre/virtualbox-libre/vboxweb.conf
diff --git a/libre/virtualbox-libre/vboxweb.rc b/libre/virtualbox-libre/vboxweb.rc
index 97273e3c7..97273e3c7 100644..100755
--- a/libre/virtualbox-libre/vboxweb.rc
+++ b/libre/virtualbox-libre/vboxweb.rc
diff --git a/libre/virtualbox-libre/vboxweb.service b/libre/virtualbox-libre/vboxweb.service
index 303381597..303381597 100644..100755
--- a/libre/virtualbox-libre/vboxweb.service
+++ b/libre/virtualbox-libre/vboxweb.service
diff --git a/libre/virtualbox-libre/virtualbox-libre-parabola-source.install b/libre/virtualbox-libre/virtualbox-libre-guest-source.install
index 966fb5681..2d62eae43 100644..100755
--- a/libre/virtualbox-libre/virtualbox-libre-parabola-source.install
+++ b/libre/virtualbox-libre/virtualbox-libre-guest-source.install
@@ -2,6 +2,7 @@
# arg 1: the new package version
post_install() {
+ dkms add vboxguest/${1%-*}
cat << EOF
==> To build and install your modules run dkms install vboxguest/${1%-*}
==> To do this automatically at startup you can add dkms in your DAEMONS
diff --git a/libre/virtualbox-libre/virtualbox-libre-parabola-additions.install b/libre/virtualbox-libre/virtualbox-libre-guest-utils.install
index 38bbe807d..38bbe807d 100644..100755
--- a/libre/virtualbox-libre/virtualbox-libre-parabola-additions.install
+++ b/libre/virtualbox-libre/virtualbox-libre-guest-utils.install
diff --git a/libre/virtualbox-libre/virtualbox-libre-source.install b/libre/virtualbox-libre/virtualbox-libre-host-source.install
index 6a3994c8d..8028cb7e0 100644..100755
--- a/libre/virtualbox-libre/virtualbox-libre-source.install
+++ b/libre/virtualbox-libre/virtualbox-libre-host-source.install
@@ -2,6 +2,7 @@
# arg 1: the new package version
post_install() {
+ dkms add vboxhost/${1%-*}
cat << EOF
==> To build and install your modules run dkms install vboxhost/${1%-*}
==> To do this automatically at startup you can add dkms in your DAEMONS
diff --git a/libre/virtualbox-libre/virtualbox-libre.install b/libre/virtualbox-libre/virtualbox-libre.install
index b6d804eb7..b6d804eb7 100644..100755
--- a/libre/virtualbox-libre/virtualbox-libre.install
+++ b/libre/virtualbox-libre/virtualbox-libre.install
diff --git a/libre/xarchiver-libre/PKGBUILD b/libre/xarchiver-libre/PKGBUILD
index 87d775d4e..87d775d4e 100644..100755
--- a/libre/xarchiver-libre/PKGBUILD
+++ b/libre/xarchiver-libre/PKGBUILD
diff --git a/libre/xarchiver-libre/rePKGBUILD b/libre/xarchiver-libre/rePKGBUILD
index 7f435d23f..7f435d23f 100644..100755
--- a/libre/xarchiver-libre/rePKGBUILD
+++ b/libre/xarchiver-libre/rePKGBUILD
diff --git a/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch b/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch
index f7ff098c0..f7ff098c0 100644..100755
--- a/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch
+++ b/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch
diff --git a/libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch b/libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch
index d962a44af..d962a44af 100644..100755
--- a/libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch
+++ b/libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch
diff --git a/libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch b/libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch
index e29d40c41..e29d40c41 100644..100755
--- a/libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch
+++ b/libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch
diff --git a/libre/xarchiver-libre/xarchiver.install b/libre/xarchiver-libre/xarchiver.install
index c317fbaca..c317fbaca 100644..100755
--- a/libre/xarchiver-libre/xarchiver.install
+++ b/libre/xarchiver-libre/xarchiver.install
diff --git a/libre/xchat-libre/ChangeLog b/libre/xchat-libre/ChangeLog
index faa8383c8..faa8383c8 100644..100755
--- a/libre/xchat-libre/ChangeLog
+++ b/libre/xchat-libre/ChangeLog
diff --git a/libre/xchat-libre/PKGBUILD b/libre/xchat-libre/PKGBUILD
index 223eaff72..223eaff72 100644..100755
--- a/libre/xchat-libre/PKGBUILD
+++ b/libre/xchat-libre/PKGBUILD
diff --git a/libre/xchat-libre/no-firefox.patch b/libre/xchat-libre/no-firefox.patch
index f1ecd6631..f1ecd6631 100644..100755
--- a/libre/xchat-libre/no-firefox.patch
+++ b/libre/xchat-libre/no-firefox.patch
diff --git a/libre/xchat-libre/remove-non-free-suggestion.patch b/libre/xchat-libre/remove-non-free-suggestion.patch
index 9383db521..9383db521 100644..100755
--- a/libre/xchat-libre/remove-non-free-suggestion.patch
+++ b/libre/xchat-libre/remove-non-free-suggestion.patch
diff --git a/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch b/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch
index 63f562ff8..63f562ff8 100644..100755
--- a/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch
+++ b/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch
diff --git a/libre/xchat-libre/xchat-2.8.8-libnotify07.patch b/libre/xchat-libre/xchat-2.8.8-libnotify07.patch
index 2a6dce9a2..2a6dce9a2 100644..100755
--- a/libre/xchat-libre/xchat-2.8.8-libnotify07.patch
+++ b/libre/xchat-libre/xchat-2.8.8-libnotify07.patch
diff --git a/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch b/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch
index 31e6c0854..31e6c0854 100644..100755
--- a/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch
+++ b/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch
diff --git a/libre/xchat-libre/xchat.install b/libre/xchat-libre/xchat.install
index eab82d16f..eab82d16f 100644..100755
--- a/libre/xchat-libre/xchat.install
+++ b/libre/xchat-libre/xchat.install
diff --git a/libre/xmlstarlet/PKGBUILD b/libre/xmlstarlet/PKGBUILD
index a06daf063..a06daf063 100644..100755
--- a/libre/xmlstarlet/PKGBUILD
+++ b/libre/xmlstarlet/PKGBUILD
diff --git a/libre/xorg-fonts-100dpi-libre/PKGBUILD b/libre/xorg-fonts-100dpi-libre/PKGBUILD
index 3f88f1cee..3f88f1cee 100644..100755
--- a/libre/xorg-fonts-100dpi-libre/PKGBUILD
+++ b/libre/xorg-fonts-100dpi-libre/PKGBUILD
diff --git a/libre/xorg-fonts-100dpi-libre/xfonts.install b/libre/xorg-fonts-100dpi-libre/xfonts.install
index 5c5e8a2b4..5c5e8a2b4 100644..100755
--- a/libre/xorg-fonts-100dpi-libre/xfonts.install
+++ b/libre/xorg-fonts-100dpi-libre/xfonts.install
diff --git a/libre/xorg-fonts-75dpi-libre/PKGBUILD b/libre/xorg-fonts-75dpi-libre/PKGBUILD
index c262229fc..c262229fc 100644..100755
--- a/libre/xorg-fonts-75dpi-libre/PKGBUILD
+++ b/libre/xorg-fonts-75dpi-libre/PKGBUILD
diff --git a/libre/xorg-fonts-75dpi-libre/xfonts.install b/libre/xorg-fonts-75dpi-libre/xfonts.install
index e52603946..e52603946 100644..100755
--- a/libre/xorg-fonts-75dpi-libre/xfonts.install
+++ b/libre/xorg-fonts-75dpi-libre/xfonts.install
diff --git a/libre/xorg-fonts-type1-libre/PKGBUILD b/libre/xorg-fonts-type1-libre/PKGBUILD
index 3e52ef85a..3e52ef85a 100644..100755
--- a/libre/xorg-fonts-type1-libre/PKGBUILD
+++ b/libre/xorg-fonts-type1-libre/PKGBUILD
diff --git a/libre/xorg-fonts-type1-libre/xfonts.install b/libre/xorg-fonts-type1-libre/xfonts.install
index 51688a1d1..51688a1d1 100644..100755
--- a/libre/xorg-fonts-type1-libre/xfonts.install
+++ b/libre/xorg-fonts-type1-libre/xfonts.install
diff --git a/libre/xscreensaver-libre/LICENSE b/libre/xscreensaver-libre/LICENSE
index 4f587b5a3..4f587b5a3 100644..100755
--- a/libre/xscreensaver-libre/LICENSE
+++ b/libre/xscreensaver-libre/LICENSE
diff --git a/libre/xscreensaver-libre/PKGBUILD b/libre/xscreensaver-libre/PKGBUILD
index 2404ba154..2404ba154 100644..100755
--- a/libre/xscreensaver-libre/PKGBUILD
+++ b/libre/xscreensaver-libre/PKGBUILD
diff --git a/libre/xscreensaver-libre/add-electricsheep.diff b/libre/xscreensaver-libre/add-electricsheep.diff
index 18b4dea97..18b4dea97 100644..100755
--- a/libre/xscreensaver-libre/add-electricsheep.diff
+++ b/libre/xscreensaver-libre/add-electricsheep.diff
diff --git a/libre/xscreensaver-libre/libre.patch b/libre/xscreensaver-libre/libre.patch
index 569f8435c..569f8435c 100644..100755
--- a/libre/xscreensaver-libre/libre.patch
+++ b/libre/xscreensaver-libre/libre.patch
diff --git a/libre/xscreensaver-libre/xscreensaver.pam b/libre/xscreensaver-libre/xscreensaver.pam
index b4d80c21f..b4d80c21f 100644..100755
--- a/libre/xscreensaver-libre/xscreensaver.pam
+++ b/libre/xscreensaver-libre/xscreensaver.pam
diff --git a/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
index 4a0507271..240c3d4e8 100644..100755
--- a/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
+++ b/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
@@ -41,10 +41,10 @@ index 0e8ccf5..fa46c08 100644
brandBundle.getFormattedString("homePageImport", [appName]);
var oldHomePage = document.getElementById("oldHomePage");
diff --git a/browser/components/migration/content/migration.xul b/browser/components/migration/content/migration.xul
-index 4bcc1d9..c4db956 100644
+index f030756..23e37ff 100644
--- a/browser/components/migration/content/migration.xul
+++ b/browser/components/migration/content/migration.xul
-@@ -74,7 +74,7 @@
+@@ -42,7 +42,7 @@
#elifdef XP_UNIX
<radio id="chrome" label="&importFromChrome.label;" accesskey="&importFromChrome.accesskey;"/>
#endif
@@ -54,7 +54,7 @@ index 4bcc1d9..c4db956 100644
</radiogroup>
<label id="noSources" hidden="true">&noMigrationSources.label;</label>
diff --git a/browser/components/migration/src/BrowserProfileMigrators.manifest b/browser/components/migration/src/BrowserProfileMigrators.manifest
-index 527771f..782b38f 100644
+index d7fec75..d531b83 100644
--- a/browser/components/migration/src/BrowserProfileMigrators.manifest
+++ b/browser/components/migration/src/BrowserProfileMigrators.manifest
@@ -3,7 +3,7 @@ contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737
@@ -63,11 +63,11 @@ index 527771f..782b38f 100644
component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js
-contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386}
+contract @mozilla.org/profile/migrator;1?app=browser&type=self {91185366-ba97-4438-acba-48deaca63386}
+ #ifdef HAS_IE_MIGRATOR
component {3d2532e3-4932-4774-b7ba-968f5899d3a4} IEProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=ie {3d2532e3-4932-4774-b7ba-968f5899d3a4}
- component {4b609ecf-60b2-4655-9df4-dc149e474da1} SafariProfileMigrator.js
diff --git a/browser/components/migration/src/FirefoxProfileMigrator.js b/browser/components/migration/src/FirefoxProfileMigrator.js
-index 8f14f49..8dc175d 100644
+index a6598fe..8f83da8 100644
--- a/browser/components/migration/src/FirefoxProfileMigrator.js
+++ b/browser/components/migration/src/FirefoxProfileMigrator.js
@@ -88,7 +88,7 @@ Object.defineProperty(FirefoxProfileMigrator.prototype, "startupOnlyMigrator", {
@@ -80,7 +80,7 @@ index 8f14f49..8dc175d 100644
const NSGetFactory = XPCOMUtils.generateNSGetFactory([FirefoxProfileMigrator]);
diff --git a/browser/components/migration/src/MigrationUtils.jsm b/browser/components/migration/src/MigrationUtils.jsm
-index 9460e6d..8db6827 100644
+index 0669aa8..19552e3 100644
--- a/browser/components/migration/src/MigrationUtils.jsm
+++ b/browser/components/migration/src/MigrationUtils.jsm
@@ -403,11 +403,6 @@ let MigrationUtils = Object.freeze({
@@ -126,10 +126,10 @@ index 744f117..59e5a4c 100644
classDescription: "Profile Migrator",
contractID: "@mozilla.org/toolkit/profile-migrator;1",
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.dtd b/browser/locales/en-US/chrome/browser/migration/migration.dtd
-index 0b4b776..ce26fbd 100644
+index 21cf405..f3c1a6b 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.dtd
+++ b/browser/locales/en-US/chrome/browser/migration/migration.dtd
-@@ -13,8 +13,6 @@
+@@ -17,8 +17,6 @@
<!ENTITY importFromSafari.accesskey "S">
<!ENTITY importFromChrome.label "Chrome">
<!ENTITY importFromChrome.accesskey "C">
@@ -139,10 +139,10 @@ index 0b4b776..ce26fbd 100644
<!ENTITY noMigrationSources.label "No programs that contain bookmarks, history or password data could be found.">
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.properties b/browser/locales/en-US/chrome/browser/migration/migration.properties
-index f522a66..be26460 100644
+index ab82d85..915f6b8 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.properties
+++ b/browser/locales/en-US/chrome/browser/migration/migration.properties
-@@ -4,7 +4,6 @@ profileName_format=%S %S
+@@ -8,7 +8,6 @@ profileName_format=%S %S
sourceNameIE=Internet Explorer
sourceNameSafari=Safari
sourceNameChrome=Google Chrome
@@ -150,7 +150,7 @@ index f522a66..be26460 100644
importedBookmarksFolder=From %S
-@@ -18,29 +17,29 @@ importedSafariReadingList=Reading List (From Safari)
+@@ -22,22 +21,22 @@ importedSafariReadingList=Reading List (From Safari)
2_ie=Cookies
2_safari=Cookies
2_chrome=Cookies
@@ -177,79 +177,72 @@ index f522a66..be26460 100644
32_ie=Favorites
32_safari=Bookmarks
- 32_chrome=Bookmarks
--32_firefox=Bookmarks
-+32_self=Bookmarks
-
+@@ -46,4 +45,4 @@ importedSafariReadingList=Reading List (From Safari)
64_ie=Other Data
64_safari=Other Data
64_chrome=Other Data
-64_firefox=Bookmarks Backups
+64_self=Bookmarks Backups
-diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
-index 957d4d8..1af3629 100644
---- a/toolkit/content/aboutSupport.js
-+++ b/toolkit/content/aboutSupport.js
-@@ -616,13 +616,13 @@ function populateResetBox() {
- .getService(Ci.nsIToolkitProfileService);
+diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
+index 697b217..b6e1709 100644
+--- a/toolkit/content/jar.mn
++++ b/toolkit/content/jar.mn
+@@ -38,7 +38,7 @@ toolkit.jar:
+ + content/global/mozilla.xhtml (mozilla.xhtml)
+ *+ content/global/nsDragAndDrop.js (nsDragAndDrop.js)
+ content/global/resetProfile.css (resetProfile.css)
+-* content/global/resetProfile.js (resetProfile.js)
++ content/global/resetProfile.js (resetProfile.js)
+ * content/global/resetProfile.xul (resetProfile.xul)
+ * content/global/resetProfileProgress.xul (resetProfileProgress.xul)
+ * content/global/treeUtils.js (treeUtils.js)
+diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
+index dcb4065..09c1146 100644
+--- a/toolkit/content/resetProfile.js
++++ b/toolkit/content/resetProfile.js
+@@ -36,13 +36,13 @@ function resetSupported() {
+ getService(Ci.nsIToolkitProfileService);
let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
-
- // Only show the reset box for the default profile if the self-migrator used for reset exists.
+ // Reset is only supported for the default profile if the self-migrator used for reset exists.
try {
- if (!currentProfileDir.equals(profileService.selectedProfile.rootDir) ||
-- !("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc))
-+ !("@mozilla.org/toolkit/profile-migrator;1" in Cc))
-+ return;
-+ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
-+ if (!("canMigrate" in pm) || !pm.canMigrate("self"))
- return;
- document.getElementById("reset-box").style.visibility = "visible";
+- return currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
+- ("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc);
++ if (currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
++ "@mozilla.org/toolkit/profile-migrator;1" in Cc) {
++ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
++ return ("canMigrate" in pm) && pm.canMigrate("self");
++ }
} catch (e) {
-diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
-index 84de6cd..3126da6 100644
---- a/toolkit/content/resetProfile.js
-+++ b/toolkit/content/resetProfile.js
-@@ -6,6 +6,7 @@ Components.utils.import("resource://gre/modules/Services.jsm");
+ // Catch exception when there is no selected profile.
+ Cu.reportError(e);
+@@ -53,9 +53,6 @@ function resetSupported() {
+ function getMigratedData() {
+ Components.utils.import("resource:///modules/MigrationUtils.jsm");
- // based on onImportItemsPageShow from migration.js
- function onResetProfileLoad() {
-+<<<<<<< HEAD
- #expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
- #expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
-
-@@ -16,16 +17,22 @@ function onResetProfileLoad() {
- "8_" + MOZ_APP_NAME, // Form History
- "2_" + MOZ_APP_NAME, // Cookies
- ];
-+=======
-+ Components.utils.import("resource:///modules/MigrationUtils.jsm");
-+ const MAX_MIGRATED_TYPES = 16;
-+>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic
-
- var migratedItems = document.getElementById("migratedItems");
-- var bundle = Services.strings.createBundle("chrome://" + MOZ_BUILD_APP +
-- "/locale/migration/migration.properties");
-
- // Loop over possible data to migrate to give the user a list of what will be preserved.
- for (var itemStringName of MIGRATED_TYPES) {
+-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
+-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
+-
+ // From migration.properties
+ const MIGRATED_TYPES = [
+ 4, // History and Bookmarks
+@@ -68,7 +65,7 @@ function getMigratedData() {
+ let dataTypes = [];
+ for (let itemID of MIGRATED_TYPES) {
try {
- var checkbox = document.createElement("label");
-+<<<<<<< HEAD
- checkbox.setAttribute("value", bundle.GetStringFromName(itemStringName));
-+=======
-+ checkbox.setAttribute("value", MigrationUtils.getLocalizedString(itemID + "_self"));
-+>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic
- migratedItems.appendChild(checkbox);
+- let typeName = MigrationUtils.getLocalizedString(itemID + "_" + MOZ_APP_NAME);
++ let typeName = MigrationUtils.getLocalizedString(itemID + "_self");
+ dataTypes.push(typeName);
} catch (x) {
// Catch exceptions when the string for a data type doesn't exist.
diff --git a/toolkit/profile/nsIProfileMigrator.idl b/toolkit/profile/nsIProfileMigrator.idl
-index e941336..5b264af 100644
+index f35c227..7062886 100644
--- a/toolkit/profile/nsIProfileMigrator.idl
+++ b/toolkit/profile/nsIProfileMigrator.idl
-@@ -69,7 +69,7 @@ interface nsIProfileStartup : nsISupports
+@@ -37,7 +37,7 @@ interface nsIProfileStartup : nsISupports
* @client Toolkit (Startup code)
* @obtainable service, contractid("@mozilla.org/toolkit/profile-migrator;1")
*/
@@ -258,7 +251,7 @@ index e941336..5b264af 100644
interface nsIProfileMigrator : nsISupports
{
/**
-@@ -92,6 +92,14 @@ interface nsIProfileMigrator : nsISupports
+@@ -60,6 +60,14 @@ interface nsIProfileMigrator : nsISupports
* @note The startup code ignores COM exceptions thrown from this method.
*/
void migrate(in nsIProfileStartup aStartup, in ACString aKey);
@@ -274,15 +267,15 @@ index e941336..5b264af 100644
%{C++
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index d2db0e2..45a4b0d 100644
+index e5d3042..6de3390 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3642,7 +3642,7 @@ XREMain::XRE_mainRun()
- if (gDoProfileReset) {
- // Automatically migrate from the current application if we just
- // reset the profile.
-- aKey = MOZ_APP_NAME;
-+ aKey = "self";
+@@ -3650,7 +3650,7 @@ XREMain::XRE_mainRun()
+ if (gDoProfileReset) {
+ // Automatically migrate from the current application if we just
+ // reset the profile.
+- aKey = MOZ_APP_NAME;
++ aKey = "self";
+ }
pm->Migrate(&mDirProvider, aKey);
- // Set the new profile as the default after migration.
- rv = SetCurrentProfileAsDefault(mProfileSvc, mProfD);
+ }
diff --git a/libre/xulrunner-libre/PKGBUILD b/libre/xulrunner-libre/PKGBUILD
index 8c332db12..4c93e1c48 100644..100755
--- a/libre/xulrunner-libre/PKGBUILD
+++ b/libre/xulrunner-libre/PKGBUILD
@@ -6,8 +6,8 @@
# We're getting this from Debian Experimental
_debname=iceweasel
-_debver=14.0.1
-_debrel=2
+_debver=15.0.1
+_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -30,11 +30,11 @@ options=('!emptydirs')
conflicts=('xulrunner')
provides=("xulrunner=${_debver}")
replaces=('xulrunner-oss' 'xulrunner')
-md5sums=('8e4f3987d37c8e73b168948d0771b872'
- '8689c150a4d3a0a688ad2db6044feac6'
+md5sums=('0936242388cd4c75930c1d2487e15216'
+ 'ce37c76476b8edf40780d00cf79d0d62'
'f2f4f4a573f549e8b494e33b3ad226bc'
'27271ce647a83906ef7a24605e840d61'
- '88350bc611361a1ff635f5c960c6d6ee')
+ 'c52fac65c1e06290a5108b75c31ace79')
build() {
export QUILT_PATCHES=debian/patches
diff --git a/libre/xulrunner-libre/mozconfig b/libre/xulrunner-libre/mozconfig
index 34c5a6137..34c5a6137 100644..100755
--- a/libre/xulrunner-libre/mozconfig
+++ b/libre/xulrunner-libre/mozconfig
diff --git a/libre/xulrunner-libre/mozilla-pkgconfig.patch b/libre/xulrunner-libre/mozilla-pkgconfig.patch
index 037d4aee0..037d4aee0 100644..100755
--- a/libre/xulrunner-libre/mozilla-pkgconfig.patch
+++ b/libre/xulrunner-libre/mozilla-pkgconfig.patch
diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD
index 649cb962d..649cb962d 100644..100755
--- a/libre/your-freedom/PKGBUILD
+++ b/libre/your-freedom/PKGBUILD
diff --git a/libre/your-freedom/your-freedom.install b/libre/your-freedom/your-freedom.install
index 0786adabf..0786adabf 100644..100755
--- a/libre/your-freedom/your-freedom.install
+++ b/libre/your-freedom/your-freedom.install