summaryrefslogtreecommitdiffstats
path: root/os-plugins
diff options
context:
space:
mode:
authorSebastian Schmelzer2010-09-02 17:50:49 +0200
committerSebastian Schmelzer2010-09-02 17:50:49 +0200
commit416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5 (patch)
tree4715f7d742fec50931017f38fe6ff0a89d4ceccc /os-plugins
parentFix for the problem reported on the list (sed filter forgotten for the (diff)
downloadcore-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.gz
core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.tar.xz
core-416ab8a37f1b07dc9f6c0fb3ff1a8ff2036510b5.zip
change dir structure
Diffstat (limited to 'os-plugins')
-rw-r--r--os-plugins/OpenSLX/OSPlugin/Base.pm631
-rw-r--r--os-plugins/OpenSLX/OSPlugin/Engine.pm857
-rw-r--r--os-plugins/OpenSLX/OSPlugin/Roster.pm213
-rw-r--r--os-plugins/plugins/bootsplash/OpenSLX/OSPlugin/bootsplash.pm253
-rw-r--r--os-plugins/plugins/bootsplash/XX_bootsplash.sh56
-rw-r--r--os-plugins/plugins/bootsplash/files/lib/libglib-2.0.so.0bin822344 -> 0 bytes
-rw-r--r--os-plugins/plugins/bootsplash/files/lib/libsplashy.so.1bin18948 -> 0 bytes
-rw-r--r--os-plugins/plugins/bootsplash/files/lib/libsplashycnf.so.1bin7804 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/bootsplash/files/sbin/splashybin54215 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/bootsplash/files/sbin/splashy_configbin66416 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/bootsplash/files/sbin/splashy_updatebin9611 -> 0 bytes
-rw-r--r--os-plugins/plugins/bootsplash/files/themes/openslx/blank.ttf0
-rw-r--r--os-plugins/plugins/bootsplash/files/themes/openslx/openslx.pngbin89872 -> 0 bytes
-rw-r--r--os-plugins/plugins/bootsplash/files/themes/openslx/theme.xml138
-rw-r--r--os-plugins/plugins/bootsplash/files/usr/lib/libdirect-1.2.so.9bin80552 -> 0 bytes
-rw-r--r--os-plugins/plugins/bootsplash/files/usr/lib/libdirectfb-1.2.so.9bin474652 -> 0 bytes
-rw-r--r--os-plugins/plugins/bootsplash/files/usr/lib/libmagic.so.1bin105596 -> 0 bytes
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/05-have-kernelvars/bootsplash.sh18
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/10-nw-if-config/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/20-nw-bridge-config/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/25-have-ip-config/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/35-have-network-root/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/40-started-hw-config/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/50-have-layered-fs/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/60-have-servconfig/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/70-before-plugins/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/80-after-plugins/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/85-have-initial-boot/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/90-postinit-done/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/95-cleanup/bootsplash.sh1
-rw-r--r--os-plugins/plugins/bootsplash/init-hooks/99-handing-over/bootsplash.sh1
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm432
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm63
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Fedora.pm30
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Gentoo.pm30
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm132
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm162
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm54
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm169
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_8.pm161
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_9_04.pm161
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm712
-rw-r--r--os-plugins/plugins/desktop/XX_desktop.sh33
l---------os-plugins/plugins/desktop/themes/gdm/openslx-legacy1
-rwxr-xr-xos-plugins/plugins/desktop/themes/gdm/openslx/GdmGreeterTheme.desktop8
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/color.pngbin177 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/environment.pngbin4296 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/language-selector.pngbin2253 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/language-selector_inactive.pngbin2198 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/main-runner.pngbin153 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/openslx-logo-main.pngbin82050 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/openslx-logo.pngbin9113 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/sessions.pngbin4245 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/sessions_inactive.pngbin4066 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/system.pngbin4257 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/system_inactive.pngbin4091 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/theme.xml224
-rw-r--r--os-plugins/plugins/desktop/themes/gdm/openslx/welcome-time-shadowed.pngbin1580 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/desktop/themes/kdm/openslx-legacy/GdmGreeterTheme.desktop8
-rwxr-xr-xos-plugins/plugins/desktop/themes/kdm/openslx-legacy/KdmGreeterTheme.desktop8
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/color.pngbin177 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/enter.pngbin4260 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/enter_inactive.pngbin4072 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/environment.pngbin5076 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/main-runner.pngbin143 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/openslx-logo-main.pngbin82050 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/openslx-logo.pngbin9113 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/sessions.pngbin4245 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/sessions_inactive.pngbin4066 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/system.pngbin4257 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/system_inactive.pngbin4091 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/theme.xml204
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx-legacy/welcome-time-shadowed.pngbin1580 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/desktop/themes/kdm/openslx/KdmGreeterTheme.desktop8
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/color.pngbin177 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/enter.pngbin4260 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/enter_inactive.pngbin4072 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/environment.pngbin5076 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/main-runner.pngbin153 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/openslx-logo-main.pngbin82050 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/openslx-logo.pngbin9113 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/sessions.pngbin4245 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/sessions_inactive.pngbin4066 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/system.pngbin4257 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/system_inactive.pngbin4091 -> 0 bytes
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/theme.xml232
-rw-r--r--os-plugins/plugins/desktop/themes/kdm/openslx/welcome-time-shadowed.pngbin1580 -> 0 bytes
-rw-r--r--os-plugins/plugins/dropbear/OpenSLX/OSPlugin/dropbear.pm104
-rw-r--r--os-plugins/plugins/dropbear/XX_dropbear.sh58
-rwxr-xr-xos-plugins/plugins/dropbear/files/dropbearmultibin160408 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/dropbear/init-hooks/95-cleanup/dropbear.sh1
-rw-r--r--os-plugins/plugins/example/OpenSLX/OSPlugin/example.pm154
-rw-r--r--os-plugins/plugins/example/XX_example.sh47
-rw-r--r--os-plugins/plugins/infoscreen/OpenSLX/Distro/Base.pm60
-rw-r--r--os-plugins/plugins/infoscreen/OpenSLX/Distro/Debian.pm32
-rw-r--r--os-plugins/plugins/infoscreen/OpenSLX/Distro/Fedora.pm32
-rw-r--r--os-plugins/plugins/infoscreen/OpenSLX/Distro/Gentoo.pm32
-rw-r--r--os-plugins/plugins/infoscreen/OpenSLX/Distro/Scilin.pm32
-rw-r--r--os-plugins/plugins/infoscreen/OpenSLX/Distro/Suse.pm32
-rw-r--r--os-plugins/plugins/infoscreen/OpenSLX/Distro/Ubuntu.pm44
-rw-r--r--os-plugins/plugins/infoscreen/OpenSLX/OSPlugin/infoscreen.pm112
-rw-r--r--os-plugins/plugins/infoscreen/XX_infoscreen.sh58
-rw-r--r--os-plugins/plugins/infoscreen/files/empty.xbm6
-rw-r--r--os-plugins/plugins/infoscreen/files/infoscreenClient.tgzbin267172 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/infoscreen/files/kiosk.dpms27
-rw-r--r--os-plugins/plugins/kiosk/OpenSLX/Distro/Base.pm65
-rw-r--r--os-plugins/plugins/kiosk/OpenSLX/Distro/Debian.pm32
-rw-r--r--os-plugins/plugins/kiosk/OpenSLX/Distro/Fedora.pm32
-rw-r--r--os-plugins/plugins/kiosk/OpenSLX/Distro/Gentoo.pm32
-rw-r--r--os-plugins/plugins/kiosk/OpenSLX/Distro/Scilin.pm32
-rw-r--r--os-plugins/plugins/kiosk/OpenSLX/Distro/Suse.pm32
-rw-r--r--os-plugins/plugins/kiosk/OpenSLX/Distro/Ubuntu.pm47
-rw-r--r--os-plugins/plugins/kiosk/OpenSLX/OSPlugin/kiosk.pm123
-rw-r--r--os-plugins/plugins/kiosk/XX_kiosk.sh60
-rwxr-xr-xos-plugins/plugins/kiosk/files/kgettybin14524 -> 0 bytes
l---------os-plugins/plugins/kiosk/files/profiles/plain/.bashrc1
-rw-r--r--os-plugins/plugins/kiosk/files/profiles/plain/bashrc4
-rw-r--r--os-plugins/plugins/kiosk/files/profiles/vmchooser/.bash_profile2
l---------os-plugins/plugins/kiosk/files/profiles/vmchooser/.bashrc1
l---------os-plugins/plugins/kiosk/files/profiles/vmchooser/.xinitrc1
-rw-r--r--os-plugins/plugins/kiosk/files/profiles/vmchooser/bashrc4
-rw-r--r--os-plugins/plugins/kiosk/files/profiles/vmchooser/xinitrc7
-rw-r--r--os-plugins/plugins/openvz/OpenSLX/OSPlugin/openvz.pm110
-rw-r--r--os-plugins/plugins/openvz/XX_openvz.sh66
-rw-r--r--os-plugins/plugins/openvz/files/machine.include0
-rw-r--r--os-plugins/plugins/openvz/files/run-virt.include37
-rwxr-xr-xos-plugins/plugins/openvz/init-hooks/20-nw-bridge-config/bridge.sh30
-rw-r--r--os-plugins/plugins/profile/OpenSLX/Distro/Base.pm84
-rw-r--r--os-plugins/plugins/profile/OpenSLX/Distro/Debian.pm32
-rw-r--r--os-plugins/plugins/profile/OpenSLX/Distro/Fedora.pm32
-rw-r--r--os-plugins/plugins/profile/OpenSLX/Distro/Gentoo.pm32
-rw-r--r--os-plugins/plugins/profile/OpenSLX/Distro/Scilin.pm32
-rw-r--r--os-plugins/plugins/profile/OpenSLX/Distro/Suse.pm68
-rw-r--r--os-plugins/plugins/profile/OpenSLX/Distro/Ubuntu.pm66
-rw-r--r--os-plugins/plugins/profile/OpenSLX/Distro/Ubuntu_10.pm66
-rw-r--r--os-plugins/plugins/profile/OpenSLX/OSPlugin/profile.pm174
-rw-r--r--os-plugins/plugins/profile/XX_profile.sh31
-rw-r--r--os-plugins/plugins/pvs/OpenSLX/Distro/Base.pm46
-rw-r--r--os-plugins/plugins/pvs/OpenSLX/Distro/Debian.pm29
-rw-r--r--os-plugins/plugins/pvs/OpenSLX/Distro/Fedora.pm28
-rw-r--r--os-plugins/plugins/pvs/OpenSLX/Distro/Gentoo.pm28
-rw-r--r--os-plugins/plugins/pvs/OpenSLX/Distro/Suse.pm28
-rw-r--r--os-plugins/plugins/pvs/OpenSLX/Distro/Ubuntu.pm23
-rw-r--r--os-plugins/plugins/pvs/OpenSLX/OSPlugin/pvs.pm127
-rw-r--r--os-plugins/plugins/pvs/XX_pvs.sh46
-rwxr-xr-xos-plugins/plugins/pvs/files/pvs-vncsrv105
-rw-r--r--os-plugins/plugins/qemukvm/OpenSLX/Distro/Base.pm63
-rw-r--r--os-plugins/plugins/qemukvm/OpenSLX/Distro/Debian.pm43
-rw-r--r--os-plugins/plugins/qemukvm/OpenSLX/Distro/Suse.pm42
-rw-r--r--os-plugins/plugins/qemukvm/OpenSLX/Distro/Ubuntu.pm24
-rw-r--r--os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm256
-rw-r--r--os-plugins/plugins/qemukvm/XX_qemukvm.sh112
-rw-r--r--os-plugins/plugins/qemukvm/files/ifdown34
-rw-r--r--os-plugins/plugins/qemukvm/files/ifup75
-rw-r--r--os-plugins/plugins/qemukvm/files/run-virt.include306
-rw-r--r--os-plugins/plugins/qemukvm/init-hooks/20-nw-bridge-config/bridge.sh30
-rwxr-xr-xos-plugins/plugins/qemukvm/init-hooks/60-have-servconfig/vm-dhcpd.sh60
-rw-r--r--os-plugins/plugins/syslog/OpenSLX/Distro/Base.pm93
-rw-r--r--os-plugins/plugins/syslog/OpenSLX/Distro/Suse.pm41
-rw-r--r--os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm322
-rw-r--r--os-plugins/plugins/syslog/XX_syslog.sh31
-rw-r--r--os-plugins/plugins/syslog/init-hooks/15-have-ip-config/syslog.sh18
-rw-r--r--os-plugins/plugins/syslog/init-hooks/95-cleanup/syslog.sh12
-rw-r--r--os-plugins/plugins/sysrqshutdown/OpenSLX/OSPlugin/sysrqshutdown.pm101
-rw-r--r--os-plugins/plugins/sysrqshutdown/XX_sysrqshutdown.sh38
-rw-r--r--os-plugins/plugins/sysrqshutdown/files/shutdown54
-rw-r--r--os-plugins/plugins/virtualbox/OpenSLX/Distro/Base.pm59
-rw-r--r--os-plugins/plugins/virtualbox/OpenSLX/Distro/Debian.pm52
-rw-r--r--os-plugins/plugins/virtualbox/OpenSLX/Distro/Suse.pm48
-rw-r--r--os-plugins/plugins/virtualbox/OpenSLX/Distro/Ubuntu.pm54
-rw-r--r--os-plugins/plugins/virtualbox/OpenSLX/OSPlugin/virtualbox.pm284
-rw-r--r--os-plugins/plugins/virtualbox/XX_virtualbox.sh98
-rw-r--r--os-plugins/plugins/virtualbox/files/empty-diff.vdi.gzbin282 -> 0 bytes
-rw-r--r--os-plugins/plugins/virtualbox/files/machine.include132
-rw-r--r--os-plugins/plugins/virtualbox/files/run-virt.include372
-rw-r--r--os-plugins/plugins/virtualbox/files/rwimg.vdi.gzbin268 -> 0 bytes
-rw-r--r--os-plugins/plugins/virtualbox/files/virtualbox.include47
-rw-r--r--os-plugins/plugins/virtualbox/init-hooks/20-nw-bridge-config/bridge.sh30
-rw-r--r--os-plugins/plugins/vmchooser/OpenSLX/Distro/Base.pm64
-rw-r--r--os-plugins/plugins/vmchooser/OpenSLX/Distro/Debian.pm49
-rw-r--r--os-plugins/plugins/vmchooser/OpenSLX/Distro/Suse.pm47
-rw-r--r--os-plugins/plugins/vmchooser/OpenSLX/Distro/Ubuntu.pm50
-rw-r--r--os-plugins/plugins/vmchooser/OpenSLX/OSPlugin/vmchooser.pm143
-rw-r--r--os-plugins/plugins/vmchooser/README21
-rw-r--r--os-plugins/plugins/vmchooser/XX_vmchooser.sh57
-rw-r--r--os-plugins/plugins/vmchooser/files/default.desktop10
-rwxr-xr-xos-plugins/plugins/vmchooser/files/mesgdispbin222820 -> 0 bytes
l---------os-plugins/plugins/vmchooser/files/mkdosfs1
-rwxr-xr-xos-plugins/plugins/vmchooser/files/printer.sh10
-rw-r--r--os-plugins/plugins/vmchooser/files/run-virt.sh402
-rwxr-xr-xos-plugins/plugins/vmchooser/files/scanner.sh4
-rwxr-xr-xos-plugins/plugins/vmchooser/files/vm-template.xml60
-rw-r--r--os-plugins/plugins/vmchooser/files/vmchooserbin1364048 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/vmchooser/files/xmlfilter.sh50
-rw-r--r--os-plugins/plugins/vmchooser/init-hooks/40-started-hw-config/run-virt.sh21
-rw-r--r--os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh144
-rw-r--r--os-plugins/plugins/vmgrid/OpenSLX/OSPlugin/vmgrid.pm319
-rw-r--r--os-plugins/plugins/vmgrid/XX_vmgrid.sh104
-rw-r--r--os-plugins/plugins/vmgrid/files/run-vmgrid.sh430
-rw-r--r--os-plugins/plugins/vmgrid/files/vmgrid154
-rw-r--r--os-plugins/plugins/vmgrid/init-hooks/80-after-plugins/virtualization.sh144
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm47
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm227
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Fedora.pm29
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm28
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm28
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Ubuntu.pm23
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm836
-rw-r--r--os-plugins/plugins/vmware/XX_vmware.sh201
-rw-r--r--os-plugins/plugins/vmware/files/README12
-rw-r--r--os-plugins/plugins/vmware/files/install-vmpl.sh284
-rw-r--r--os-plugins/plugins/vmware/files/nvrambin8664 -> 0 bytes
-rw-r--r--os-plugins/plugins/vmware/files/run-virt.include448
-rwxr-xr-xos-plugins/plugins/vmware/init-hooks/20-nw-bridge-config/bridge.sh30
-rwxr-xr-xos-plugins/plugins/vmware/init-hooks/60-have-servconfig/vm-dhcpd.sh60
-rw-r--r--os-plugins/plugins/vmware/init-hooks/80-after-plugins/adapt-tmpfs.sh24
-rw-r--r--os-plugins/plugins/wlanboot/OpenSLX/OSPlugin/wlanboot.pm154
-rw-r--r--os-plugins/plugins/wlanboot/XX_wlanboot.sh27
-rwxr-xr-xos-plugins/plugins/wlanboot/files/bin/iwconfigbin17596 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/wlanboot/files/bin/iweventbin13496 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/wlanboot/files/bin/iwgetidbin9300 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/wlanboot/files/bin/iwlistbin25840 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/wlanboot/files/bin/iwprivbin9340 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/wlanboot/files/bin/iwspybin9328 -> 0 bytes
-rw-r--r--os-plugins/plugins/wlanboot/files/bin/iwtest1
-rw-r--r--os-plugins/plugins/wlanboot/files/firmware/README8
-rw-r--r--os-plugins/plugins/wlanboot/files/firmware/iwlwifi-3945-1.ucodebin149652 -> 0 bytes
-rw-r--r--os-plugins/plugins/wlanboot/files/firmware/iwlwifi-3945-2.ucodebin149816 -> 0 bytes
-rw-r--r--os-plugins/plugins/wlanboot/files/firmware/iwlwifi-4965-1.ucodebin187608 -> 0 bytes
-rw-r--r--os-plugins/plugins/wlanboot/files/firmware/iwlwifi-4965-2.ucodebin187764 -> 0 bytes
-rw-r--r--os-plugins/plugins/wlanboot/files/firmware/iwlwifi-5000-1.ucodebin345008 -> 0 bytes
l---------os-plugins/plugins/wlanboot/files/lib/libiw.so1
-rwxr-xr-xos-plugins/plugins/wlanboot/files/lib/libiw.so.29bin25892 -> 0 bytes
-rwxr-xr-xos-plugins/plugins/wlanboot/init-hooks/10-nw-if-config/wlanboot.sh75
-rw-r--r--os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm94
-rw-r--r--os-plugins/plugins/x11vnc/OpenSLX/Distro/Debian.pm88
-rw-r--r--os-plugins/plugins/x11vnc/OpenSLX/Distro/Fedora.pm30
-rw-r--r--os-plugins/plugins/x11vnc/OpenSLX/Distro/Gentoo.pm30
-rw-r--r--os-plugins/plugins/x11vnc/OpenSLX/Distro/Suse.pm91
-rw-r--r--os-plugins/plugins/x11vnc/OpenSLX/Distro/Ubuntu.pm23
-rw-r--r--os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm221
-rw-r--r--os-plugins/plugins/x11vnc/XX_x11vnc.sh135
-rwxr-xr-xos-plugins/plugins/x11vnc/files/x11vnc-init83
-rw-r--r--os-plugins/plugins/xen/OpenSLX/OSPlugin/xen.pm185
-rw-r--r--os-plugins/plugins/xen/XX_xen.sh73
-rw-r--r--os-plugins/plugins/xen/files/hvm.include209
-rw-r--r--os-plugins/plugins/xen/files/machine.include167
-rw-r--r--os-plugins/plugins/xen/files/run-virt.include157
-rw-r--r--os-plugins/plugins/xen/init-hooks/10-nw-if-config/xennet.sh4
-rwxr-xr-xos-plugins/plugins/xen/init-hooks/20-nw-bridge-config/bridge.sh30
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm212
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm50
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm89
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse_10.pm63
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_0.pm360
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_1.pm361
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_2.pm53
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm96
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_8.pm73
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_9.pm30
-rw-r--r--os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm396
-rw-r--r--os-plugins/plugins/xserver/XX_xserver.sh351
-rw-r--r--os-plugins/plugins/xserver/files/README77
-rwxr-xr-xos-plugins/plugins/xserver/files/ati-install.sh24
-rwxr-xr-xos-plugins/plugins/xserver/files/nvidia-install.sh138
-rwxr-xr-xos-plugins/plugins/xserver/files/suse-gfx-install.sh330
-rwxr-xr-xos-plugins/plugins/xserver/files/ubuntu-gfx-install.sh124
-rwxr-xr-xos-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh236
-rw-r--r--os-plugins/plugins/xserver/init-hooks/00-started/xserver.sh53
-rwxr-xr-xos-plugins/slxos-plugin525
270 files changed, 0 insertions, 20656 deletions
diff --git a/os-plugins/OpenSLX/OSPlugin/Base.pm b/os-plugins/OpenSLX/OSPlugin/Base.pm
deleted file mode 100644
index 2af0f04c..00000000
--- a/os-plugins/OpenSLX/OSPlugin/Base.pm
+++ /dev/null
@@ -1,631 +0,0 @@
-# Copyright (c) 2006, 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# Base.pm
-# - provides empty base of the OpenSLX OSPlugin API.
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-=head1 NAME
-
-OpenSLX::OSPlugin::Base - the base class for all OpenSLX OS-plugins.
-
-=head1 DESCRIPTION
-
-This class defines the OpenSLX API for OS-plugins.
-
-The general idea behind OS-plugins is to extend any installed vendor-OS with
-a specific features. Each feature is implemented as a separate, small software
-component in order to make them easy to understand and maintain.
-
-Since all of these software components are plugged into the OpenSLX system by
-means of a common API, we call them B<OS-plugin>s.
-
-This API can be separated into different parts:
-
-=over
-
-=item - L</Declarative Interface> (provide info about a plugin)
-
-=item - L</Vendor-OS Interface> (installing or removing a plugin into/from a
-vendor-OS)
-
-=item - L</Initramfs Interface> (integrating a plugin into an initramfs)
-
-=back
-
-=head1 MORE INFO
-
-Please read the user-level introduction on plugins in the OpenSLX-wiki:
-L<http://openslx.org/trac/de/openslx/wiki/PluginKonzept> (in German).
-
-If you'd like to know how a plugin is implemented, please have a look at the
-'example' plugin, which contains some explainations and useful hints.
-
-If you have any questions regarding the concept of OS-plugins and their
-implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-'#openslx' (on freenode).
-
-=cut
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::OSPlugin::Roster;
-
-=head1 PLUGIN API
-
-=head2 Declarative Interface
-
-=over
-
-=item new()
-
-Every plugin should provide a new-method and provide it's own name in the
-'name' entry of $self.
-
-Please note that by convention, plugin names are all lowercase!
-
-=cut
-
-sub new
-{
- confess "Creating OpenSLX::OSPlugin::Base-objects directly makes no sense!";
-}
-
-=item initialize()
-
-Initializes basic context for this plugin (esp. a reference to the OSPlugin
-engine that drives this plugin.
-
-=cut
-
-sub initialize
-{
- my $self = shift;
-
- $self->{'os-plugin-engine'} = shift;
- $self->{'distro'} = shift;
-
- weaken($self->{'os-plugin-engine'});
- # avoid circular reference between plugin and its engine
-
- return;
-}
-
-=item getInfo()
-
-Returns a hash-ref with administrative information about this plugin (what does
-it do and how does it relate to other plugins). Every plugin needs to provide
-this method and return the information about itself.
-
-The returned hash-ref must include at least the following entries:
-
-=over
-
-=item B<description>
-
-Explains the purpose of this plugins.
-
-=item B<precedence>
-
-Specifies the execution precedence of this plugin with respect to all other
-plugins (plugins with lower precedences will be started before the ones with
-a higher precedence).
-
-Valid values range from 0-99. If your plugin does not have any requirements
-in this context, just specify the default value '50'.
-
-=item B<required>
-
-Specifies the list of plugins that are required by this plugin.
-
-Before any plugin can be installed, all other plugins that are required by it
-must have been installed.
-
-=back
-
-=cut
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- # a short (one-liner) description of this plugin
- description => '',
- };
-}
-
-=item getAttrInfo()
-
-Returns a hash-ref with information about all attributes supported by this
-specific plugin.
-
-This default configuration will be added as attributes to the default system,
-such that it can be overruled for any specific system by means of B<slxconfig>.
-
-The returned hash-ref must include at least the following entries:
-
-=over
-
-=item B<I<plugin-name>::active>
-
-Indicates whether or not this plugin is active (1 for active, 0 for inactive).
-
-=back
-
-=cut
-
-sub getAttrInfo
-{
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- };
-}
-
-=item getDefaultAttrsForVendorOS()
-
-Returns a hash-ref with the default attribute values for the given vendor-OS.
-
-=cut
-
-sub getDefaultAttrsForVendorOS
-{
- my $self = shift;
-
- # the default implementation does not change the default values at all:
- return $self->getAttrInfo();
-}
-
-=item checkStage3AttrValues()
-
-Checks if the stage3 values given in B<$stage3Attrs> are allowed and make sense.
-
-This method returns an array-ref of problems found. If there were no problems,
-this methods returns undef.
-
-Plugins may override this implementation to do checks that for instance look
-at the stage1 vendor-OS-attributes given in B<$vendorOSAttrs>.
-
-N.B.: this method is called while being chrooted into the vendor-OS, so it
- may invoke all distro methods that expect to be run in this environment,
- too
-
-=cut
-
-sub checkStage3AttrValues
-{
- my $self = shift;
- my $stage3Attrs = shift;
- my $vendorOSAttrs = shift;
-
- # this default implementation does no further checks (thus relying on the
- # attributte regex check that is done in the AttributeRoster)
- return;
-}
-
-=item dependsOnPlugin()
-
-=cut
-
-sub dependsOnPlugin
-{
- my $self = shift;
- my $otherName = shift;
-
- if (!defined $self->{dependsOn}) {
- my @dependsOn = $self->_determineAllPluginsWeDependOn();
- $self->{dependsOn} = \@dependsOn;
- }
-
- return grep { $_ eq $otherName } @{$self->{dependsOn}};
-}
-
-=back
-
-=head2 Vendor-OS Interface
-
-=over
-
-=item installationPhase()
-
-In this method, the plugin should install itself into the given vendor-OS.
-
-What "installation" means is up to the plugin. Some plugins may just copy
-a file from the OpenSLX host installation into the vendor-OS, while others may
-need to download files from the internet and/or install packages through the
-vendor-OS' meta packager.
-
-N.B.: This method is invoked while chrooted into the vendor-OS root.
-
-The hash-ref given in B<$info> contains vital information for the installation
-process:
-
-=over
-
-=item C<plugin-repo-path>
-
-The folder where the stage1-plugin should store all files required by the
-corresponding stage3 runlevel script.
-
-=item C<plugin-temp-path>
-
-A temporary playground that will be cleaned up automatically.
-
-=item C<openslx-base-path>
-
-In order to make the OpenSLX files from the host available, the OpenSLX base
-folder (normally /opt/openslx) will be mounted into the chroot.
-So if you have to copy any files from the host, fetch them from this path.
-
-=item C<openslx-config-path>
-
-In order to make the OpenSLX config files from the host available, the OpenSLX
-config folder (normally /etc/opt/openslx) will be mounted into the chroot.
-So if you have to copy any config files from the host, fetch them from this
-path.
-
-=item C<plugin-attrs>
-
-Contains the attributes in effect for the installation of this plugin.
-
-=back
-
-=cut
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-=item removalPhase()
-
-In this method, the plugin should remove itself from the given vendor-OS.
-
-What "removal" means is up to the plugin. Some plugins may just delete
-a file from the vendor-OS, while others may need to uninstall packages through
-the vendor-OS' meta packager.
-
-N.B.: This method is invoked while chrooted into the vendor-OS root.
-
-The hash-ref given in B<$info> contains vital information for the installation
-process:
-
-=over
-
-=item C<plugin-repo-path>
-
-The folder where the stage1-plugin should store all files required by the
-corresponding stage3 runlevel script.
-
-=item C<plugin-temp-path>
-
-A temporary playground that will be cleaned up automatically.
-
-=item C<openslx-base-path>
-
-In order to make the OpenSLX files from the host available, the OpenSLX base
-folder (normally /opt/openslx) will be mounted into the chroot.
-So if you have to copy any files from the host, fetch them from this path.
-
-=item C<openslx-config-path>
-
-In order to make the OpenSLX config files from the host available, the OpenSLX
-config folder (normally /etc/opt/openslx) will be mounted into the chroot.
-So if you have to copy any config files from the host, fetch them from this
-path.
-
-=item C<plugin-attrs>
-
-Contains the attributes in effect for the installation of this plugin.
-
-=back
-
-=cut
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-=item preInstallationPhase()
-
-In this method, any preparations for installation of the plugin into a vendor-OS
-should be executed. As this method is being called immediately before the chroot
-is entered, this is the last/only chance to copy any files into the chroot that
-are required from within (in installationPhase()).
-
-The given parameters are similar to the ones for installationPhase(), except
-that all paths are now relative to the root-fs instead of being relative to the
-chroot (i.e. the paths are ready to be used from outside the chroot):
-
-A "exit 1;" will result in a not installed plugin.
-
-=over
-
-=item C<plugin-repo-path>
-
-The folder where the stage1-plugin should store all files required by the
-corresponding stage3 runlevel script.
-
-=item C<plugin-temp-path>
-
-A temporary playground that will be cleaned up automatically.
-
-If a plugin needs to unpack any archives, these archives should be copied to
-this folder (as it will be cleaned automatically).
-
-=item C<openslx-base-path>
-
-In order to make the OpenSLX files from the host available, the OpenSLX base
-folder (normally /opt/openslx) will be mounted into the chroot.
-So if you have to copy any files from the host, fetch them from this path.
-
-=item C<openslx-config-path>
-
-In order to make the OpenSLX config files from the host available, the OpenSLX
-config folder (normally /etc/opt/openslx) will be mounted into the chroot.
-So if you have to copy any config files from the host, fetch them from this
-path.
-
-=item C<plugin-attrs>
-
-Contains the attributes in effect for the installation of this plugin.
-
-=item C<vendor-os-path>
-
-Contains the path to the vendor-OS into which the plugin will be installed.
-
-=back
-
-=cut
-
-sub preInstallationPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-=item postRemovalPhase()
-
-In this method, any plugin has the chance to do any necessary cleanup that
-must be executed outside of the chroot.
-
-This method is invoked immediately after leaving the chroot into the vendor-OS
-root, but before the plugin-temp-path has been cleaned up. So if required, any
-files could be copied out of the temp-path somewhere into the root-fs.
-
-The given parameters are similar to the ones for removalPhase(), except that all
-paths are now relative to the root-fs instead of being relative to the chroot
-(i.e. the paths are ready to be used from outside the chroot):
-
-=over
-
-=item C<plugin-repo-path>
-
-The folder where the stage1-plugin should store all files required by the
-corresponding stage3 runlevel script.
-
-=item C<plugin-temp-path>
-
-A temporary playground that will be cleaned up automatically.
-
-=item C<openslx-base-path>
-
-In order to make the OpenSLX files from the host available, the OpenSLX base
-folder (normally /opt/openslx) will be mounted into the chroot.
-So if you have to copy any files from the host, fetch them from this path.
-
-=item C<openslx-config-path>
-
-In order to make the OpenSLX config files from the host available, the OpenSLX
-config folder (normally /etc/opt/openslx) will be mounted into the chroot.
-So if you have to copy any config files from the host, fetch them from this
-path.
-
-=item C<plugin-attrs>
-
-Contains the attributes in effect for the installation of this plugin.
-
-=item C<vendor-os-path>
-
-Contains the path to the vendor-OS from which the plugin has been removed.
-
-=back
-
-=cut
-
-sub postRemovalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-=back
-
-=head2 Initramfs Interface
-
-All of the following methods are invoked by the config demuxer when it makes an
-initramfs for a system that has this plugin activated. Through these methods,
-each plugin can integrate itself into that initramfs.
-
-=over
-
-=item suggestAdditionalKernelParams()
-
-Called in order to give the plugin a chance to add any kernel params it
-requires.
-
-In order to do so, the plugin should return a list of additional kernel params
-that it would like to see added.
-
-=cut
-
-sub suggestAdditionalKernelParams
-{
- my $self = shift;
- my $makeInitRamFSEngine = shift;
-
- return;
-}
-
-=item suggestAdditionalKernelModules()
-
-Called in order to give the plugin a chance to add any kernel modules it
-requires.
-
-In order to do so, the plugin should return the names of additional kernel
-modules that it would like to see added.
-
-=cut
-
-sub suggestAdditionalKernelModules
-{
- my $self = shift;
- my $makeInitRamFSEngine = shift;
- my $attrs = shift;
-
- return;
-}
-
-=item copyRequiredFilesIntoInitramfs()
-
-Called in order to give the plugin a chance to copy all required files from the
-vendor-OS into the initramfs.
-
-N.B.: Only files that are indeed required by the initramfs should be copied
-here, i.e. files that are needed *before* the root-fs has been mounted.
-All other files should be taken from the root-fs instead!
-
-=cut
-
-sub copyRequiredFilesIntoInitramfs
-{
- my $self = shift;
- my $targetPath = shift;
- my $attrs = shift;
- my $makeInitRamFSEngine = shift;
-
- return;
-}
-
-=item setupPluginInInitramfs()
-
-Called in order to let the plugin setup all the files it requires in the
-initramfs.
-
-Normally, you don't need to override this method in your own plugin,
-as it is usually enough to override suggestAdditionalKernelParams(),
-suggestAdditionalKernelModules() and maybe copyRequiredFilesIntoInitramfs().
-
-=cut
-
-sub setupPluginInInitramfs
-{
- my $self = shift;
- my $attrs = shift;
- my $makeInitRamFSEngine = shift;
-
- my $pluginName = $self->{name};
- my $pluginSrcPath = "$openslxConfig{'base-path'}/lib/plugins";
- my $buildPath = $makeInitRamFSEngine->{'build-path'};
- my $pluginInitdPath = "$buildPath/etc/plugin-init.d";
- my $initHooksPath = "$buildPath/etc/init-hooks";
-
- # copy runlevel script
- my $precedence = sprintf('%02d', $self->getInfo()->{precedence});
- my $scriptName = "$pluginSrcPath/$pluginName/XX_${pluginName}.sh";
- my $targetName = "$pluginInitdPath/${precedence}_${pluginName}.sh";
- if (-e $scriptName) {
- $makeInitRamFSEngine->addCMD("cp $scriptName $targetName");
- $makeInitRamFSEngine->addCMD("chmod a+x $targetName");
- }
-
- # copy init hook scripts, if any
- if (-d "$pluginSrcPath/$pluginName/init-hooks") {
- my $hookSrcPath = "$pluginSrcPath/$pluginName/init-hooks";
- $makeInitRamFSEngine->addCMD(
- "cp -r $hookSrcPath/* $buildPath/etc/init-hooks/"
- );
- }
-
- # invoke hook methods to suggest additional kernel params ...
- my @suggestedParams
- = $self->suggestAdditionalKernelParams($makeInitRamFSEngine);
- if (@suggestedParams) {
- my $params = join ' ', @suggestedParams;
- vlog(1, "plugin $pluginName suggests these kernel params: $params");
- $makeInitRamFSEngine->addKernelParams(@suggestedParams);
- }
-
- # ... and kernel modules
- my @suggestedModules
- = $self->suggestAdditionalKernelModules($makeInitRamFSEngine, $attrs);
- if (@suggestedModules) {
- my $modules = join(',', @suggestedModules);
- vlog(1, "plugin $pluginName suggests these kernel modules: $modules");
- $makeInitRamFSEngine->addKernelModules(@suggestedModules);
- }
-
- # invoke hook method to copy any further files that are required in stage3
- # before the root-fs has been mounted
- $self->copyRequiredFilesIntoInitramfs(
- $buildPath, $attrs, $makeInitRamFSEngine
- );
-
- return 1;
-}
-
-sub _determineAllPluginsWeDependOn
-{
- my $self = shift;
- my $seen = shift || {};
-
- return if $seen->{$self->{name}};
- $seen->{$self->{name}} = 1;
-
- my %dependsOn;
- if ($self->getInfo()->{required}) {
- @dependsOn{@{$self->getInfo()->{required}}} = ();
- }
-
- foreach my $depName (keys %dependsOn) {
- my $depPlugin = OpenSLX::OSPlugin::Roster->getPlugin($depName);
- my @subDeps = $depPlugin->_determineAllPluginsWeDependOn($seen);
- @dependsOn{@subDeps} = ();
- }
-
- return keys %dependsOn;
-}
-
-=back
-
-1;
diff --git a/os-plugins/OpenSLX/OSPlugin/Engine.pm b/os-plugins/OpenSLX/OSPlugin/Engine.pm
deleted file mode 100644
index 25827205..00000000
--- a/os-plugins/OpenSLX/OSPlugin/Engine.pm
+++ /dev/null
@@ -1,857 +0,0 @@
-# Copyright (c) 2007, 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# Engine.pm
-# - provides driver engine for the OSPlugin API.
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::Engine;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Config;
-use File::Basename;
-use File::Path;
-use Storable;
-
-use OpenSLX::Basics;
-use OpenSLX::OSPlugin::Roster;
-use OpenSLX::OSSetup::Engine;
-use OpenSLX::ScopedResource;
-use OpenSLX::Utils;
-
-=head1 NAME
-
-OpenSLX::OSPlugin::Engine - driver class for plugin handling.
-
-=head1 DESCRIPTION
-
-This class works as a driver for the installation/removal of plugins
-into/from a vendor.
-
-Additionally, it provides the OS-Plugin support interface.
-
-=head1 PUBLIC METHODS
-
-=over
-
-=item new()
-
-Trivial constructor
-
-=cut
-
-sub new
-{
- my $class = shift;
-
- my $self = {};
-
- return bless $self, $class;
-}
-
-=item initialize($pluginName, $vendorOSName )
-
-Sets up basic data (I<$pluginName> and I<$vendorOSName>) as well as paths and
-loads plugin.
-
-=cut
-
-sub initialize
-{
- my $self = shift;
- my $pluginName = shift;
- my $vendorOSName = shift;
- my $givenAttrs = shift || {};
-
- $self->{'vendor-os-name'} = $vendorOSName;
-
- $self->{'vendor-os-path'}
- = "$openslxConfig{'private-path'}/stage1/$vendorOSName";
- vlog(2, "vendor-OS path is '$self->{'vendor-os-path'}'");
-
- if ($pluginName) {
- $self->{'plugin-name'} = $pluginName;
- $self->{'plugin-path'}
- = "$openslxConfig{'base-path'}/lib/plugins/$pluginName";
- vlog(1, "plugin path is '$self->{'plugin-path'}'");
-
- $self->{'plugin'} = $self->_loadPlugin();
- return if !$self->{'plugin'};
-
- $self->{'chrooted-plugin-repo-path'}
- = "$openslxConfig{'base-path'}/plugin-repo/$self->{'plugin-name'}";
- $self->{'plugin-repo-path'}
- = "$self->{'vendor-os-path'}/$self->{'chrooted-plugin-repo-path'}";
- $self->{'chrooted-plugin-temp-path'}
- = "/tmp/slx-plugin/$self->{'plugin-name'}";
- $self->{'plugin-temp-path'}
- = "$self->{'vendor-os-path'}/$self->{'chrooted-plugin-temp-path'}";
- $self->{'chrooted-openslx-base-path'} = '/mnt/opt/openslx';
- $self->{'chrooted-openslx-config-path'} = '/mnt/etc/opt/openslx';
-
- # merge attributes that were given on cmdline with the ones that
- # already exist in the DB and finally with the default values
- $self->{'plugin-attrs'} = { %$givenAttrs };
- my $defaultAttrs = $self->{plugin}->getDefaultAttrsForVendorOS(
- $vendorOSName
- );
- my $dbAttrs = $self->_fetchInstalledPluginAttrs($vendorOSName);
- for my $attrName (keys %$defaultAttrs) {
- next if exists $givenAttrs->{$attrName};
- $self->{'plugin-attrs'}->{$attrName}
- = exists $dbAttrs->{$attrName}
- ? $dbAttrs->{$attrName}
- : $defaultAttrs->{$attrName}->{default};
- }
- $self->{'vendorOS-attrs'} = $dbAttrs;
- }
-
- return 1;
-}
-
-=back
-
-=head2 Driver Interface
-
-The following methods are invoked by the slxos-plugin script in order to
-install/remove a plugin into/from a vendor-OS:
-
-=over
-
-=item installPlugin()
-
-Invokes the plugin's installer method while chrooted into that vendor-OS.
-
-=cut
-
-sub installPlugin
-{
- my $self = shift;
-
- $self->_checkIfRequiredPluginsAreInstalled();
-
- # look for unknown attributes
- my $attrs = $self->{'plugin-attrs'};
- my $attrInfos = $self->{plugin}->getAttrInfo();
- my @unknownAttrs = grep { !exists $attrInfos->{$_} } keys %$attrs;
- if (@unknownAttrs) {
- die _tr(
- "The plugin '%s' does not support these attributes:\n\t%s",
- $self->{'plugin-name'}, join(',', @unknownAttrs)
- );
- }
-
- # check all attr-values against the regex of the attribute (if any)
- my @attrProblems;
- foreach my $attr (keys %$attrs) {
- my $value = $attrs->{$attr};
- next if !defined $value;
- my $attrInfo = $attrInfos->{$attr};
- my $regex = $attrInfo->{content_regex};
- if ($regex && $value !~ $regex) {
- push @attrProblems, _tr(
- "the value '%s' for attribute %s is not allowed.\nAllowed values are: %s",
- $value, $attr, $attrInfo->{content_descr}
- );
- }
- }
-
- if (@attrProblems) {
- my $complaint = join "\n", @attrProblems;
- die $complaint;
- }
-
- if ($self->{'vendor-os-name'} ne '<<<default>>>') {
-
- # as the attrs may be changed by the plugin during installation, we
- # have to find a way to pass them back to this process (remember:
- # installation takes place in a forked process in order to do a chroot).
- # We simply serialize the attributes into a temp file and deserialize
- # it in the calling process.
- my $serializedAttrsFile
- = "$self->{'plugin-temp-path'}/serialized-attrs";
- my $chrootedSerializedAttrsFile
- = "$self->{'chrooted-plugin-temp-path'}/serialized-attrs";
-
- rmtree([ $self->{'plugin-repo-path'}, $self->{'plugin-temp-path'} ]);
- mkpath([ $self->{'plugin-repo-path'}, $self->{'plugin-temp-path'} ]);
-
- # invoke plugin and let it prepare the installation
- $self->{plugin}->preInstallationPhase( {
- 'plugin-repo-path' => $self->{'plugin-repo-path'},
- 'plugin-temp-path' => $self->{'plugin-temp-path'},
- 'openslx-base-path' => $openslxConfig{'base-path'},
- 'openslx-config-path' => $openslxConfig{'config-path'},
- 'plugin-attrs' => $self->{'plugin-attrs'},
- 'vendor-os-path' => $self->{'vendor-os-path'},
- } );
-
- # HACK: do a dummy serialization here in order to get Storable
- # completely loaded (otherwise it will complain in the chroot about
- # missing modules).
- store $self->{'plugin-attrs'}, $serializedAttrsFile;
-
- $self->_callChrootedFunctionForPlugin(
- sub {
- # invoke plugin and let it install itself into vendor-OS
- $self->{plugin}->installationPhase( {
- 'plugin-repo-path'
- => $self->{'chrooted-plugin-repo-path'},
- 'plugin-temp-path'
- => $self->{'chrooted-plugin-temp-path'},
- 'openslx-base-path'
- => $self->{'chrooted-openslx-base-path'},
- 'openslx-config-path'
- => $self->{'chrooted-openslx-config-path'},
- 'plugin-attrs'
- => $self->{'plugin-attrs'},
- } );
-
- # serialize possibly changed attributes (executed inside chroot)
- store $self->{'plugin-attrs'}, $chrootedSerializedAttrsFile;
- }
- );
-
- # now retrieve (deserialize) the current attributes and store them
- $self->{'plugin-attrs'} = retrieve $serializedAttrsFile;
-
- # cleanup temp path
- rmtree([ $self->{'plugin-temp-path'} ]);
-
- # now update the vendorOS-attrs and let the plugin itself check the
- # stage3 attrs
- $self->{'vendorOS-attrs'} = $self->{'plugin-attrs'};
- $self->checkStage3AttrValues(
- $self->{'plugin-attrs'}, \@attrProblems
- );
- if (@attrProblems) {
- my $complaint = join "\n", @attrProblems;
- die $complaint;
- }
- }
-
- $self->_addInstalledPluginToDB();
-
- return 1;
-}
-
-=item removePlugin()
-
-Invokes the plugin's removal method while chrooted into that vendor-OS.
-
-=cut
-
-sub removePlugin
-{
- my $self = shift;
-
- $self->_checkIfPluginIsRequiredByOthers();
-
- if ($self->{'vendor-os-name'} ne '<<<default>>>') {
-
- mkpath([ $self->{'plugin-repo-path'}, $self->{'plugin-temp-path'} ]);
-
- $self->_callChrootedFunctionForPlugin(
- sub {
- $self->{plugin}->removalPhase( {
- 'plugin-repo-path'
- => $self->{'chrooted-plugin-repo-path'},
- 'plugin-temp-path'
- => $self->{'chrooted-plugin-temp-path'},
- 'openslx-base-path'
- => $self->{'chrooted-openslx-base-path'},
- 'openslx-config-path'
- => $self->{'chrooted-openslx-config-path'},
- 'plugin-attrs'
- => $self->{'plugin-attrs'},
- } );
- }
- );
-
- # invoke plugin and let it prepare the installation
- $self->{plugin}->postRemovalPhase( {
- 'plugin-repo-path' => $self->{'plugin-repo-path'},
- 'plugin-temp-path' => $self->{'plugin-temp-path'},
- 'openslx-base-path' => $openslxConfig{'base-path'},
- 'openslx-config-path' => $openslxConfig{'config-path'},
- 'plugin-attrs' => $self->{'plugin-attrs'},
- 'vendor-os-path' => $self->{'vendor-os-path'},
- } );
-
- rmtree([ $self->{'plugin-repo-path'}, $self->{'plugin-temp-path'} ]);
- }
-
- $self->_removeInstalledPluginFromDB();
-
- return 1;
-}
-
-=item getInstalledPlugins()
-
-Returns the list of names of the plugins that are installed into the current
-vendor-OS.
-
-=cut
-
-sub getInstalledPlugins
-{
- my $self = shift;
-
- my $openslxDB = instantiateClass("OpenSLX::ConfigDB");
- $openslxDB->connect();
- my $vendorOSID = $self->_fetchVendorOSID($openslxDB);
- my @installedPlugins = $openslxDB->fetchInstalledPlugins($vendorOSID);
- $openslxDB->disconnect();
-
- return @installedPlugins;
-}
-
-=back
-
-=head2 Support Interface
-
-This is the plugin support interface for OS-plugins, which represents the
-connection between a plugin's implementation and the rest of the OpenSLX system.
-
-Plugin implementations are meant to use this interface in order to find
-out details about the current vendor-OS or download files or install packages.
-
-=over
-
-=item vendorOSName()
-
-Returns the name of the current vendor-OS.
-
-=cut
-
-sub vendorOSName
-{
- my $self = shift;
-
- return $self->{'vendor-os-name'};
-}
-
-=item distroName()
-
-Returns the name of the distro that the current vendor-OS is based on.
-
-Each distro name always consists of the distro type, a dash and the
-distro version, like 'suse-10.2' or 'ubuntu-7.04'.
-
-=cut
-
-sub distroName
-{
- my $self = shift;
-
- return $self->_osSetupEngine()->distroName();
-}
-
-=item downloadFile($fileURL, $targetPath, $wgetOptions)
-
-Invokes busybox's wget to download a file from the given URL.
-
-=over
-
-=item I<$fileURL>
-
-The URL of the file to download.
-
-=item I<$targetPath> [optional]
-
-The directory where the file should be downloaded into. The default is the
-current plugin's temp directory.
-
-=item I<$wgetOptions> [optional]
-
-Any other options you'd like to pass to wget.
-
-=item I<Return Value>
-
-If the downloaded was successful this method returns C<1>, otherwise it dies.
-
-=back
-
-=cut
-
-sub downloadFile
-{
- my $self = shift;
- my $fileURL = shift || return;
- my $targetPath = shift || $self->{'chrooted-plugin-temp-path'};
- my $wgetOptions = shift || '';
-
- my $busybox = $self->_osSetupEngine()->busyboxBinary();
-
- if (slxsystem("$busybox wget -P $targetPath $wgetOptions $fileURL")) {
- die _tr('unable to download file "%s"! (%s)', $fileURL, $!);
- }
-
- return 1;
-}
-
-=item getInstalledPackages()
-
-Returns the list of names of the packages (as an array) that are already
-installed in the vendor-OS.
-Useful if a plugin wants to find out whether or not it has to
-install additional packages.
-
-=cut
-
-sub getInstalledPackages
-{
- my $self = shift;
-
- my $packager = $self->_osSetupEngine()->packager();
- return if !$packager;
-
- return $packager->getInstalledPackages();
-}
-
-=item getInstallablePackagesForSelection()
-
-Looks at the selection with the given name and returns the list of names of the
-packages (as one string separated by spaces) that need to be installed in order
-to complete the selection.
-
-=cut
-
-sub getInstallablePackagesForSelection
-{
- my $self = shift;
- my $selection = shift;
-
- return $self->_osSetupEngine()->getInstallablePackagesForSelection(
- $selection
- );
-}
-
-=item installPackages($packages)
-
-Installs the given packages into the vendor-OS.
-
-N.B: Since this method uses the meta-packager of the vendor-OS, package
-dependencies will be determined and solved automatically.
-
-=over
-
-=item I<$packages>
-
-Contains a list of package names (separated by spaces) that shall be installed.
-
-=item I<Return Value>
-
-If the packages have been installed successfully this method return 1,
-otherwise it dies.
-
-=back
-
-=cut
-
-sub installPackages
-{
- my $self = shift;
- my $packages = shift;
-
- return if !$packages;
-
- my $metaPackager = $self->_osSetupEngine()->metaPackager();
- return if !$metaPackager;
-
- return $metaPackager->installPackages($packages, 1);
-}
-
-=item removePackages($packages)
-
-Removes the given packages from the vendor-OS.
-
-=over
-
-=item I<$packages> [ARRAY-ref]
-
-Contains a list of package names (separated by spaces) that shall be removed.
-
-=item I<Return Value>
-
-If the packages have been removed successfully this method return 1,
-otherwise it dies.
-
-=back
-
-=cut
-
-sub removePackages
-{
- my $self = shift;
- my $packages = shift;
-
- return if !$packages;
-
- my $metaPackager = $self->_osSetupEngine()->metaPackager();
- return if !$metaPackager;
-
- return $metaPackager->removePackages($packages);
-}
-
-=back
-
-=head2 Driver Interface
-
-The following methods are invoked by the slxos-plugin script in order to
-install/remove a plugin into/from a vendor-OS:
-
-=over
-
-=item checkStage3AttrValues()
-
-Checks if the stage3 values given in B<$stage3Attrs> are allowed and make sense.
-
-This method gets also invoked whenever changes by slxconfig were made (passing
-in only the stage3 attributes the user tried to change) and by the config
-demuxer (passing in all stage3 attributes for the system currently being
-demuxed).
-
-If all values are ok, this method returns 1 - if not, it extends the given
-problems array-ref with the problems that were found (and returns undef).
-
-This method chroots into the vendor-OS and then asks the plugin itself to check
-the attributes.
-
-=cut
-
-sub checkStage3AttrValues
-{
- my $self = shift;
- my $stage3Attrs = shift;
- my $problemsOut = shift;
-
- # we have to pass any problems back to this process (remember:
- # installation takes place in a forked process in order to do a chroot).
- # We simply serialize the problems into a temp file and deserialize
- # it in the calling process.
- my $serializedProblemsFile
- = "$self->{'plugin-temp-path'}/serialized-problems";
- my $chrootedSerializedProblemsFile
- = "$self->{'chrooted-plugin-temp-path'}/serialized-problems";
-
- mkpath([ $self->{'plugin-repo-path'}, $self->{'plugin-temp-path'} ]);
-
- # HACK: do a dummy serialization here in order to get Storable
- # completely loaded (otherwise it will complain in the chroot about
- # missing modules).
- store [], $serializedProblemsFile;
-
- $self->_callChrootedFunctionForPlugin(
- sub {
- # let plugin check by itself
- my $problems = $self->{plugin}->checkStage3AttrValues(
- $stage3Attrs, $self->{'vendorOS-attrs'}
- );
-
- # serialize list of problems (executed inside chroot)
- store($problems, $chrootedSerializedProblemsFile) if $problems;
- }
- );
-
- # now retrieve (deserialize) the found problems and pass them on
- my $problems = retrieve $serializedProblemsFile;
- rmtree([ $self->{'plugin-temp-path'} ]);
- if ($problems && ref($problems) eq 'ARRAY' && @$problems) {
- push @$problemsOut, @$problems;
- return;
- }
-
- return 1;
-}
-
-=back
-
-=cut
-
-sub _loadPlugin
-{
- my $self = shift;
-
- my $pluginModule = "OpenSLX::OSPlugin::$self->{'plugin-name'}";
- my $plugin = instantiateClass(
- $pluginModule, {
- acceptMissing => 1,
- pathToClass => $self->{'plugin-path'},
- }
- );
- return if !$plugin;
-
- # if there's a distro folder, instantiate the most appropriate distro class
- my $distro;
- if ($self->{'vendor-os-name'} ne '<<<default>>>'
- && -d "$self->{'plugin-path'}/OpenSLX/Distro") {
- my $pluginBasePath = "$openslxConfig{'base-path'}/lib/plugins";
- my $distroScope = $plugin->{name} . '::OpenSLX::Distro';
- $distro = loadDistroModule({
- distroName => $self->distroName(),
- distroScope => $distroScope,
- pathToClass => $pluginBasePath,
- });
- if (!$distro) {
- die _tr(
- 'unable to load any distro module for vendor-OS %s in plugin %s',
- $self->{'vendor-os-name'}, $plugin->{name}
- );
- }
- $distro->initialize($self);
- }
-
- $plugin->initialize($self, $distro);
-
- return $plugin;
-}
-
-sub _callChrootedFunctionForPlugin
-{
- my $self = shift;
- my $function = shift;
-
- # create os-setup engine here in order to block access to the vendor-OS
- # via other processes (which could cause problems)
- my $osSetupEngine = $self->_osSetupEngine();
-
- my @bindmounts;
- my @chrootPerlIncludes;
-
- # setup list of perl modules we want to bind into chroot
- push @chrootPerlIncludes, "/mnt/opt/openslx/lib";
-
- push @bindmounts, {
- 'source' => $Config{privlibexp},
- 'target' => "$self->{'vendor-os-path'}/mnt/perl/privlibexp"
- };
- push @chrootPerlIncludes, "/mnt/perl/privlibexp";
- push @bindmounts, {
- 'source' => $Config{archlibexp},
- 'target' => "$self->{'vendor-os-path'}/mnt/perl/archlibexp"
- };
- push @chrootPerlIncludes, "/mnt/perl/archlibexp";
- push @bindmounts, {
- 'source' => $Config{vendorlibexp},
- 'target' => "$self->{'vendor-os-path'}/mnt/perl/vendorlibexp"
- };
- push @chrootPerlIncludes, "/mnt/perl/vendorlibexp";
- push @bindmounts, {
- 'source' => $Config{vendorarchexp},
- 'target' => "$self->{'vendor-os-path'}/mnt/perl/vendorarchexp"
- };
- push @chrootPerlIncludes, "/mnt/perl/vendorarchexp";
-
- # prepare openslx bind mounts
- push @bindmounts, {
- 'source' => $openslxConfig{'base-path'},
- 'target' => "$self->{'vendor-os-path'}/mnt/opt/openslx"
- };
- push @bindmounts, {
- 'source' => $openslxConfig{'config-path'},
- 'target' => "$self->{'vendor-os-path'}/mnt/etc/opt/openslx"
- };
-
- # create mountpoints
- foreach (@bindmounts) {
- mkpath($_->{'target'});
- }
-
- my $pluginSession = OpenSLX::ScopedResource->new({
- name => 'osplugin::session',
- acquire => sub {
- # bind mount perl includes, openslx base and config paths into vendor-OS
- foreach (@bindmounts) {
- slxsystem("mount -o bind $_->{'source'} $_->{'target'}") == 0
- or die _tr(
- "unable to bind mount '%s' to '%s'! (%s)",
- $_->{'source'}, $_->{'target'}, $!
- );
- }
-
- # add mounted perl includes to @INC
- foreach (@chrootPerlIncludes) {
- unshift @INC, $_;
- }
- 1
- },
- release => sub {
- # cleanup @INC again
- while (my $perlinc = pop(@chrootPerlIncludes)) {
- if ($INC[0] eq $perlinc) {
- shift @INC;
- }
- }
-
- # unmount bindmounts
- foreach (@bindmounts) {
- slxsystem("umount $_->{'target'}") == 0
- or die _tr(
- "unable to umount '%s'! (%s)",
- $_->{'target'}, $!
- );
- }
- 1
- },
- });
-
- # now let plugin install itself into vendor-OS
- $osSetupEngine->callChrootedFunctionForVendorOS($function);
-
- return;
-}
-
-sub _addInstalledPluginToDB
-{
- my $self = shift;
-
- my $openslxDB = instantiateClass("OpenSLX::ConfigDB");
- $openslxDB->connect();
- my $vendorOSID = $self->_fetchVendorOSID($openslxDB);
- $openslxDB->addInstalledPlugin(
- $vendorOSID, $self->{'plugin-name'}, $self->{'plugin-attrs'}
- );
- $openslxDB->disconnect();
-
- return 1;
-}
-
-sub _checkIfRequiredPluginsAreInstalled
-{
- my $self = shift;
-
- my $requiredPlugins = $self->{plugin}->getInfo()->{required} || [];
- return 1 if !@$requiredPlugins;
-
- my $openslxDB = instantiateClass("OpenSLX::ConfigDB");
- $openslxDB->connect();
- my $vendorOSID = $self->_fetchVendorOSID($openslxDB);
- my @installedPlugins = $openslxDB->fetchInstalledPlugins($vendorOSID);
- $openslxDB->disconnect();
-
- my @missingPlugins
- = grep {
- my $required = $_;
- ! grep { $_->{plugin_name} eq $required } @installedPlugins;
- }
- @$requiredPlugins;
-
- if (@missingPlugins) {
- die _tr(
- 'the plugin "%s" requires the following plugins to be installed first: "%s"!',
- $self->{'plugin-name'}, join(',', @missingPlugins)
- );
- }
-
- return 1;
-}
-
-sub _checkIfPluginIsRequiredByOthers
-{
- my $self = shift;
-
- my $openslxDB = instantiateClass("OpenSLX::ConfigDB");
- $openslxDB->connect();
- my $vendorOSID = $self->_fetchVendorOSID($openslxDB);
- my @installedPlugins = $openslxDB->fetchInstalledPlugins($vendorOSID);
- $openslxDB->disconnect();
-
- my @lockingPlugins
- = grep {
- my $installed
- = OpenSLX::OSPlugin::Roster->getPlugin($_->{plugin_name});
- my $requiredByInstalled
- = $installed
- ? ($installed->getInfo()->{required} || [])
- : [];
- grep { $_ eq $self->{'plugin-name'} } @$requiredByInstalled;
- }
- @installedPlugins;
-
- if (@lockingPlugins) {
- die _tr(
- 'the plugin "%s" is required by the following plugins: "%s"!',
- $self->{'plugin-name'},
- join(',', map { $_->{plugin_name} } @lockingPlugins)
- );
- }
-
- return 1;
-}
-
-sub _fetchInstalledPluginAttrs
-{
- my $self = shift;
-
- my $openslxDB = instantiateClass("OpenSLX::ConfigDB");
- $openslxDB->connect();
- my $vendorOSID = $self->_fetchVendorOSID($openslxDB);
- my $installedPlugin = $openslxDB->fetchInstalledPlugins(
- $vendorOSID, $self->{'plugin-name'}
- );
- $openslxDB->disconnect();
-
- return {} if !$installedPlugin;
- return $installedPlugin->{attrs};
-}
-
-sub _removeInstalledPluginFromDB
-{
- my $self = shift;
-
- my $openslxDB = instantiateClass("OpenSLX::ConfigDB");
- $openslxDB->connect();
- my $vendorOSID = $self->_fetchVendorOSID($openslxDB);
- $openslxDB->removeInstalledPlugin($vendorOSID, $self->{'plugin-name'});
- $openslxDB->disconnect();
-
- return 1;
-}
-
-sub _fetchVendorOSID
-{
- my $self = shift;
- my $openslxDB = shift;
-
- if ($self->{'vendor-os-name'} eq '<<<default>>>') {
- return 0;
- }
-
- my $vendorOS = $openslxDB->fetchVendorOSByFilter( {
- name => $self->{'vendor-os-name'},
- } );
- if (!$vendorOS) {
- die _tr(
- 'unable to find vendor-OS "%s" in DB!', $self->{'vendor-os-name'}
- );
- }
-
- return $vendorOS->{id};
-}
-
-sub _osSetupEngine
-{
- my $self = shift;
-
- if (!$self->{'ossetup-engine'}) {
- # create ossetup-engine for given vendor-OS:
- my $osSetupEngine = OpenSLX::OSSetup::Engine->new;
- $osSetupEngine->initialize($self->{'vendor-os-name'}, 'plugin');
- $self->{'ossetup-engine'} = $osSetupEngine;
- }
-
- return $self->{'ossetup-engine'};
-}
-
-1;
diff --git a/os-plugins/OpenSLX/OSPlugin/Roster.pm b/os-plugins/OpenSLX/OSPlugin/Roster.pm
deleted file mode 100644
index 7bfed044..00000000
--- a/os-plugins/OpenSLX/OSPlugin/Roster.pm
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright (c) 2006, 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# OSPlugin::Roster.pm
-# - provides information about all available plugins
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::Roster;
-
-use strict;
-use warnings;
-
-use OpenSLX::Basics;
-use Clone qw(clone);
-
-my %plugins;
-
-=item C<getAvailablePlugins()>
-
-Returns a hash that keys the names of available plugins to their info hash.
-
-=cut
-
-sub getAvailablePlugins
-{
- my $class = shift;
-
- $class->_init() if !%plugins;
-
- my %pluginInfo;
- foreach my $pluginName (keys %plugins) {
- $pluginInfo{$pluginName} = $plugins{$pluginName}->getInfo();
- }
- return \%pluginInfo;
-}
-
-=item C<getPlugin()>
-
-Returns an instance of the plugin with the given name
-
-=cut
-
-sub getPlugin
-{
- my $class = shift;
- my $pluginName = shift;
-
- $class->_init() if !%plugins;
-
- my $plugin = $plugins{$pluginName};
- return if !$plugin;
-
- return clone($plugin);
-}
-
-=item C<getPluginAttrInfo()>
-
-Returns a hash that contains info about the attributes support by the
-given plugin
-
-=cut
-
-sub getPluginAttrInfo
-{
- my $class = shift;
- my $pluginName = shift;
-
- $class->_init() if !%plugins;
-
- return if !$plugins{$pluginName};
-
- return $plugins{$pluginName}->getAttrInfo();
-}
-
-=item C<addAllAttributesToHash()>
-
-Fetches attribute info from all available plugins and adds it to the given
-hash-ref.
-
-If a plugin name has been given, only the attributes of that plugin will be
-added.
-
-=over
-
-=item Return Value
-
-1
-
-=back
-
-=cut
-
-sub addAllAttributesToHash
-{
- my $class = shift;
- my $attrInfo = shift;
- my $pluginName = shift;
-
- return $class->_addAttributesToHash($attrInfo, $pluginName, sub { 1 } );
-}
-
-=item C<addAllStage1AttributesToHash()>
-
-Fetches attribute info relevant for stage1 (i.e. vendor-OS-attributes)
-from all available plugins and adds it to the given hash-ref.
-
-If a plugin name has been given, only the attributes of that plugin will be
-added.
-
-=over
-
-=item Return Value
-
-1
-
-=back
-
-=cut
-
-sub addAllStage1AttributesToHash
-{
- my $class = shift;
- my $attrInfo = shift;
- my $pluginName = shift;
-
- return $class->_addAttributesToHash($attrInfo, $pluginName, sub {
- my $attr = shift;
- return $attr->{applies_to_vendor_os};
- } );
-}
-
-=item C<addAllStage3AttributesToHash()>
-
-Fetches attribute info relevant for stage3 (i.e. system- or client-attributes)
-from all available plugins and adds it to the given hash-ref.
-
-If a plugin name has been given, only the attributes of that plugin will be
-added.
-
-=over
-
-=item Return Value
-
-1
-
-=back
-
-=cut
-
-sub addAllStage3AttributesToHash
-{
- my $class = shift;
- my $attrInfo = shift;
- my $pluginName = shift;
-
- return $class->_addAttributesToHash($attrInfo, $pluginName, sub {
- my $attr = shift;
- return $attr->{applies_to_systems} || $attr->{applies_to_clients};
- } );
-}
-
-sub _addAttributesToHash
-{
- my $class = shift;
- my $attrInfo = shift;
- my $pluginName = shift;
- my $testFunc = shift;
-
- $class->_init() if !%plugins;
-
- foreach my $plugin (values %plugins) {
- next if $pluginName && $plugin->{name} ne $pluginName;
- my $pluginAttrInfo = $plugin->getAttrInfo();
- foreach my $attr (keys %$pluginAttrInfo) {
- next if !$testFunc->($pluginAttrInfo->{$attr});
- $attrInfo->{$attr} = clone($pluginAttrInfo->{$attr});
- }
- }
- return 1;
-}
-
-sub _init
-{
- my $class = shift;
-
- %plugins = ();
- my $pluginPath = "$openslxConfig{'base-path'}/lib/plugins";
- foreach my $modulePath (glob("$pluginPath/*")) {
- next if $modulePath !~ m{/([^/]+)$};
- my $pluginName = $1;
- if (!-e "$modulePath/OpenSLX/OSPlugin/$pluginName.pm") {
- vlog(
- 1,
- "skipped plugin-folder $modulePath as no corresponding perl "
- . "module could be found."
- );
- next;
- }
- my $class = "OpenSLX::OSPlugin::$pluginName";
- vlog(2, "loading plugin $class from path '$modulePath'");
- my $plugin = instantiateClass($class, { pathToClass => $modulePath });
- $plugins{$pluginName} = $plugin;
- }
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/bootsplash/OpenSLX/OSPlugin/bootsplash.pm b/os-plugins/plugins/bootsplash/OpenSLX/OSPlugin/bootsplash.pm
deleted file mode 100644
index ef1db778..00000000
--- a/os-plugins/plugins/bootsplash/OpenSLX/OSPlugin/bootsplash.pm
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright (c) 2007..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# bootsplash.pm
-# - implementation of the 'bootsplash' plugin, which installs splashy
-# into the ramfs, including changeing theme
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::bootsplash;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'bootsplash',
- };
-
- mkpath("$openslxConfig{'config-path'}/plugins/bootsplash/themes");
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Installs Splashy as bootsplash into ramfs and sets a Theme.
- End-of-Here
- precedence => 30,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'bootsplash::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'bootsplash'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
-
- 'bootsplash::theme' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- name of the theme to apply to bootsplash (unset for no theme)
- End-of-Here
- content_regex => undef,
- content_descr => undef,
- default => 'openslx',
- },
- };
-}
-
-sub suggestAdditionalKernelParams
-{
- my $self = shift;
- my $makeInitRamFSEngine = shift;
-
- my @suggestedParams;
-
- # add vga=0x317 unless explicit vga-mode is already set
- if (!$makeInitRamFSEngine->haveKernelParam(qr{\bvga=})) {
- push @suggestedParams, 'vga=0x317';
- }
-
- # add quiet, if not already set
- if (!$makeInitRamFSEngine->haveKernelParam('quiet')) {
- push @suggestedParams, 'quiet';
- }
-
- return @suggestedParams;
-}
-
-sub suggestAdditionalKernelModules
-{
- my $self = shift;
- my $makeInitRamFSEngine = shift;
-
- my @suggestedModules;
-
- # Ubuntu needs vesafb and fbcon (which drags along some others)
- #if ($makeInitRamFSEngine->{'distro-name'} =~ m{^ubuntu}i) {
- push @suggestedModules, qw( i810 i830 i915 mga nouveau r128 radeon savage sis tdfx ttm via drm fbcon vesafb );
- #}
-
- return @suggestedModules;
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
-
- my $splashyPath =
- "$self->{openslxBasePath}/lib/plugins/bootsplash/files";
- my $pluginRepoPath = "$self->{pluginRepositoryPath}";
-
- my $initFile = newInitFile();
- my $do_stop = unshiftHereDoc(<<' End-of-Here');
- /opt/openslx/plugin-repo/bootsplash/bin/splashy shutdown
- sleep 1
- /opt/openslx/plugin-repo/bootsplash/bin/splashy_update \
- "progress 100" 2>/dev/null
- End-of-Here
-
- # add helper functions to initfile
- # first parameter name of the function
- # second parameter content of the function
- $initFile->addFunction('do_start', " : # do nothing here");
- $initFile->addFunction('do_stop', $do_stop);
- $initFile->addFunction('do_restart', " : # do nothing here");
-
- # place a call of the helper function in the stop block
- # of the init file
- # first parameter name of the function
- # second parameter name of the block
- $initFile->addFunctionCall('do_start', 'start');
- $initFile->addFunctionCall('do_stop', 'stop');
- $initFile->addFunctionCall('do_restart', 'restart');
-
- my $distro = (split('-',$self->{'os-plugin-engine'}->distroName()))[0];
-
- # write initfile to filesystem
- spitFile(
- "$pluginRepoPath/bootsplash.halt",
- getInitFileForDistro($initFile, ucfirst($distro))
- );
-
- # copy splashy(_update) into plugin-repo folder
- mkpath("$pluginRepoPath/sbin");
- mkpath("$pluginRepoPath/lib");
- mkpath("$pluginRepoPath/usr/lib");
- slxsystem("cp -a $splashyPath/sbin/* $pluginRepoPath/sbin/;
- cp -p $splashyPath/lib/* $pluginRepoPath/lib/;
- cp -p $splashyPath/usr/lib/* $pluginRepoPath/usr/lib/") == 0
- or die _tr(
- "unable to copy splashy to $pluginRepoPath"
- );
- # create a proper (distro specific) runlevel script for halt
- #my $initfile = newInitFile();
- #$initfile->addDaemon("");
- #
- #my $runlevelscript = getInitFileForDistro($initfile, "ubuntu");
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-
-sub copyRequiredFilesIntoInitramfs
-{
- my $self = shift;
- my $targetPath = shift;
- my $attrs = shift;
- my $makeInitRamFSEngine = shift;
-
- my $bootsplashDir = "$openslxConfig{'base-path'}/lib/plugins/bootsplash";
- my $bootsplashConfigDir
- = "$openslxConfig{'config-path'}/plugins/bootsplash";
- my $bootsplashTheme = $attrs->{'bootsplash::theme'} || '';
- my $splashyThemeDir = '';
-
- if ($bootsplashTheme) {
- my $bootsplashThemeDir = "$bootsplashDir/files/themes/$bootsplashTheme";
- my $altThemeDir = "$bootsplashConfigDir/themes/$bootsplashTheme";
- if (-d $bootsplashThemeDir) {
- $splashyThemeDir = "$bootsplashThemeDir";
- }
- elsif (-d $altThemeDir) {
- $splashyThemeDir = "$altThemeDir";
- }
- if (-d $splashyThemeDir) {
- my $splashyPath = "$bootsplashDir/files";
- $makeInitRamFSEngine->addCMD(
- "cp -p $splashyPath/sbin/splashy* $targetPath/sbin/;
- cp -p $splashyPath/lib/lib* $targetPath/lib/;
- cp -p $splashyPath/usr/lib/lib* $targetPath/usr/lib/"
- );
- $makeInitRamFSEngine->addCMD(
- "mkdir -p $targetPath/etc/splashy/themes"
- );
- $makeInitRamFSEngine->addCMD(
- "cp -a $splashyThemeDir $targetPath/etc/splashy/themes/"
- );
- my $defSplashyTheme = "/etc/splashy/themes/$bootsplashTheme";
- my $splashyConfig = unshiftHereDoc(<<" End-of-Here");
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Autogenerated by OpenSLX-plugin 'bootsplash' -->
- <splashy>
- <!-- themes directory: -->
- <themes>/etc/splashy/themes</themes>
- <!-- current theme (relative path) -->
- <current_theme>$bootsplashTheme</current_theme>
- <!-- full path to theme, fall back in case of problems -->
- <default_theme>$defSplashyTheme</default_theme>
- <pid>/etc/splashy/splashy.pid</pid>
- <fifo>/dev/.initramfs/splashy.fifo</fifo>
- </splashy>
- End-of-Here
- $makeInitRamFSEngine->addCMD( {
- file => "$targetPath/etc/splashy/config.xml",
- content => $splashyConfig,
- } );
- }
- }
- else {
- $bootsplashTheme = '<none>';
- }
-
- vlog(1, _tr("bootsplash-plugin: bootsplash=%s", $bootsplashTheme));
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/bootsplash/XX_bootsplash.sh b/os-plugins/plugins/bootsplash/XX_bootsplash.sh
deleted file mode 100644
index 372e025d..00000000
--- a/os-plugins/plugins/bootsplash/XX_bootsplash.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (c) 2007..2008 - RZ Uni Freiburg
-# Copyright (c) 2008 - 2009 OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'bootsplash' plugin - the runlevel script
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-if [ -e /initramfs/plugin-conf/bootsplash.conf ]; then
- . /initramfs/plugin-conf/bootsplash.conf
- if [ $bootsplash_active -ne 0 ]; then
- if [ ${no_bootsplash} -eq 0 ]; then
- # create a runlevelscript that will stop splashy before the start of KDM
- d_mkrlscript init splashy.boot ""
- echo -e "\tLD_LIBRARY_PATH=/opt/openslx/uclib-rootfs/lib/ \
- /opt/openslx/plugin-repo/bootsplash/sbin/splashy_update \
- exit 2>/dev/null \
- \n\ttype killall >/dev/null 2>&1 && killall -9 splashy" \
- >>/mnt/etc/init.d/splashy.boot
- d_mkrlscript close splashy.boot ""
-
- cp /mnt/opt/openslx/plugin-repo/bootsplash/bootsplash.halt \
- /mnt/etc/init.d/bootsplash.halt
- chmod 744 /mnt/etc/init.d/bootsplash.halt
- cp -a /etc/splashy /mnt/etc/
- rllinker "bootsplash.halt" 1 1
-
- # fix for ubuntu 1004+
- for i in init init.inactive; do
- for j in kdm gdm xdm lxdm; do
- dmfile=/mnt/etc/${i}/${j}.conf
- if [ -f $dmfile ]; then
- sed -e "s,^script.*,script\n\t#0x42#," \
- -e "s,#0x42#,# shutdown splashy - added by splashy plugin\n\t#0x42#," \
- -e "s,#0x42#,if [ ! \"x$(ps aux |grep splashy |grep -v grep | wc -l)\" -eq \"x0\" ]; then\n\t#0x42#, " \
- -e "s,#0x42#, LD_LIBRARY_PATH=/opt/openslx/uclib-rootfs/lib/ \\\\\n\t#0x42#," \
- -e "s,#0x42#, /opt/openslx/plugin-repo/bootsplash/sbin/splashy_update exit \\\\\n\t#0x42#," \
- -e "s,#0x42#, 2>/dev/null \n\t#0x42#," \
- -e "s,#0x42#,fi \n\t#0x42#," \
- -e "s,#0x42#,#splashy-stop-done#," \
- -i $dmfile 2>/dev/null &
- fi
- done
- done
- fi
- fi
-fi
-
diff --git a/os-plugins/plugins/bootsplash/files/lib/libglib-2.0.so.0 b/os-plugins/plugins/bootsplash/files/lib/libglib-2.0.so.0
deleted file mode 100644
index e96b345b..00000000
--- a/os-plugins/plugins/bootsplash/files/lib/libglib-2.0.so.0
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/lib/libsplashy.so.1 b/os-plugins/plugins/bootsplash/files/lib/libsplashy.so.1
deleted file mode 100644
index 817c6d2d..00000000
--- a/os-plugins/plugins/bootsplash/files/lib/libsplashy.so.1
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/lib/libsplashycnf.so.1 b/os-plugins/plugins/bootsplash/files/lib/libsplashycnf.so.1
deleted file mode 100644
index 71c251d1..00000000
--- a/os-plugins/plugins/bootsplash/files/lib/libsplashycnf.so.1
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/sbin/splashy b/os-plugins/plugins/bootsplash/files/sbin/splashy
deleted file mode 100755
index fee26325..00000000
--- a/os-plugins/plugins/bootsplash/files/sbin/splashy
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/sbin/splashy_config b/os-plugins/plugins/bootsplash/files/sbin/splashy_config
deleted file mode 100755
index 1e048366..00000000
--- a/os-plugins/plugins/bootsplash/files/sbin/splashy_config
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/sbin/splashy_update b/os-plugins/plugins/bootsplash/files/sbin/splashy_update
deleted file mode 100755
index cb624fde..00000000
--- a/os-plugins/plugins/bootsplash/files/sbin/splashy_update
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/themes/openslx/blank.ttf b/os-plugins/plugins/bootsplash/files/themes/openslx/blank.ttf
deleted file mode 100644
index e69de29b..00000000
--- a/os-plugins/plugins/bootsplash/files/themes/openslx/blank.ttf
+++ /dev/null
diff --git a/os-plugins/plugins/bootsplash/files/themes/openslx/openslx.png b/os-plugins/plugins/bootsplash/files/themes/openslx/openslx.png
deleted file mode 100644
index e7f996c6..00000000
--- a/os-plugins/plugins/bootsplash/files/themes/openslx/openslx.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/themes/openslx/theme.xml b/os-plugins/plugins/bootsplash/files/themes/openslx/theme.xml
deleted file mode 100644
index 48854551..00000000
--- a/os-plugins/plugins/bootsplash/files/themes/openslx/theme.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Automatically generated by splashy_config. Do not edit -->
-<splashy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://splashy.alioth.debian.org/schemas/1.1/themes.xsd">
- <info>
- <!-- theme name is case sensitive. use directory name -->
- <name>openslx</name>
- <version>0.2</version>
- <description>OpenSLX Splashy Theme</description>
- <urls>http://openslx.com</urls>
- <author>mj0@uni-freiburg.de</author>
- </info>
- <progressbar>
- <!-- here are tags to set the bar... x coordinate,
- y coordinate, width and height are for the progress bar.
- Remember that x, y, width and height are expressed in percentage -->
- <dimension>
- <x>0</x>
- <y>42</y>
- <width>100</width>
- <height>16</height>
- </dimension>
- <!-- here you can set the color of the progressbar...
- set the amount of red, green, blue and alpha channel.
- Remember that the max value is 255 and the minumun value is 0-->
- <color>
- <red>128</red>
- <green>147</green>
- <blue>161</blue>
- <alpha>255</alpha>
- </color>
- <!-- whether or not you want a border around the progressbar. default: no -->
- <border>
- <enable>no</enable>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- <alpha>0</alpha>
- </color>
- </border>
- <!-- here you can set the color of the progressbar background
- set the amount of red, green, blue and alpha channel.
- Remember that the max value is 255 and the minumun value is 0-->
- <background>
- <color>
- <red>240</red>
- <green>240</green>
- <blue>240</blue>
- <alpha>255</alpha>
- </color>
- </background>
- <direction>
- <boot>forward</boot>
- <shutdown>backward</shutdown>
- <resume>forward</resume>
- <suspend>backward</suspend>
- </direction>
- <visibility>
- <boot>yes</boot>
- <shutdown>yes</shutdown>
- <resume>yes</resume>
- <suspend>yes</suspend>
- </visibility>
- </progressbar>
- <!-- conventional path: /etc/splashy/themes + theme-name -->
- <background>
- <boot>openslx.png</boot>
- <shutdown>openslx.png</shutdown>
- <resume>openslx.png</resume>
- <suspend>openslx.png</suspend>
- <errorimg>openslx.png</errorimg>
- <!-- resolution of the images. this value affects where
- the progressbar will be drawn. If VALUE <= 0, then percentages
- of the screen width and hight will be assumed -->
- <dimension>
- <!-- NOTE: x and y are not used by splashy -->
- <x>0</x>
- <y>0</y>
- <width>0</width>
- <height>0</height>
- </dimension>
- </background>
- <textbox>
- <!-- whether you want the textbox always
- shown or no. If no, it will be shown only on error,
- see autoverboseonerror -->
- <enable>no</enable>
- <!-- here are tags to set the text area... x coordinate,
- y coordinate, width and height are for the text area.
- Remember that x, y, width and height are expressed in percentage
- or pixel units -->
- <dimension>
- <x>1</x>
- <y>61</y>
- <width>98</width>
- <height>38</height>
- </dimension>
- <!-- here you can set the color of the text area...
- set the amount of red, green, blue and alpha channel.
- Remember that the max value is 255 and the minumun value is 0-->
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- <alpha>0</alpha>
- </color>
- <!-- whether or not you want a border around the progressbar. default: no -->
- <border>
- <enable>no</enable>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- <alpha>0</alpha>
- </color>
- </border>
- <text>
- <!-- font file to use, path relative to theme -->
- <font>
- <file>blank.ttf</file>
- <height>2</height>
- </font>
- <!-- here you can set the color of the text/font...
- set the amount of red, green, blue and alpha channel.
- Remember that the max value is 255 and the minumun value is 0-->
- <color>
- <red>62</red>
- <green>93</green>
- <blue>114</blue>
- <alpha>0</alpha>
- </color>
- </text>
- </textbox>
- <autoverboseonerror>no</autoverboseonerror>
- <fadein>no</fadein>
- <fadeout>no</fadeout>
-</splashy>
diff --git a/os-plugins/plugins/bootsplash/files/usr/lib/libdirect-1.2.so.9 b/os-plugins/plugins/bootsplash/files/usr/lib/libdirect-1.2.so.9
deleted file mode 100644
index fbe2d611..00000000
--- a/os-plugins/plugins/bootsplash/files/usr/lib/libdirect-1.2.so.9
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/usr/lib/libdirectfb-1.2.so.9 b/os-plugins/plugins/bootsplash/files/usr/lib/libdirectfb-1.2.so.9
deleted file mode 100644
index 76b77716..00000000
--- a/os-plugins/plugins/bootsplash/files/usr/lib/libdirectfb-1.2.so.9
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/files/usr/lib/libmagic.so.1 b/os-plugins/plugins/bootsplash/files/usr/lib/libmagic.so.1
deleted file mode 100644
index 513b3508..00000000
--- a/os-plugins/plugins/bootsplash/files/usr/lib/libmagic.so.1
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/bootsplash/init-hooks/05-have-kernelvars/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/05-have-kernelvars/bootsplash.sh
deleted file mode 100644
index a54fde96..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/05-have-kernelvars/bootsplash.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# splashy depends on /proc/fb with VESA
-# only activate with kernel option quiet and no debuglevel
-if grep -q ".*" /proc/fb > /dev/null 2>&1 \
- && grep -qie " quiet " -qie "^quiet " -qie " quiet$" /proc/cmdline \
- > /dev/null 2>&1 \
- && [ $DEBUGLEVEL -eq 0 ] \
- && [ -e /bin/splashy ] ; then
- export no_bootsplash=0
-else
- export no_bootsplash=1
-fi
-
-if [ ${no_bootsplash} -eq 0 ]; then
- /bin/splashy boot 2>/dev/null
- # add splashy.boot runlevel script
- export D_SPLASHY=splashy.boot
-fi
-
diff --git a/os-plugins/plugins/bootsplash/init-hooks/10-nw-if-config/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/10-nw-if-config/bootsplash.sh
deleted file mode 100644
index 7f3d563e..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/10-nw-if-config/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 10" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/20-nw-bridge-config/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/20-nw-bridge-config/bootsplash.sh
deleted file mode 100644
index d8155ff0..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/20-nw-bridge-config/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 20" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/25-have-ip-config/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/25-have-ip-config/bootsplash.sh
deleted file mode 100644
index be6ac567..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/25-have-ip-config/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 25" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/35-have-network-root/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/35-have-network-root/bootsplash.sh
deleted file mode 100644
index 606eb694..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/35-have-network-root/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 35" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/40-started-hw-config/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/40-started-hw-config/bootsplash.sh
deleted file mode 100644
index d5fc62ec..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/40-started-hw-config/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 40" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/50-have-layered-fs/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/50-have-layered-fs/bootsplash.sh
deleted file mode 100644
index 4b7e9c78..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/50-have-layered-fs/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 50" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/60-have-servconfig/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/60-have-servconfig/bootsplash.sh
deleted file mode 100644
index 9c3bd20f..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/60-have-servconfig/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 60" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/70-before-plugins/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/70-before-plugins/bootsplash.sh
deleted file mode 100644
index fcd0c410..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/70-before-plugins/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 70" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/80-after-plugins/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/80-after-plugins/bootsplash.sh
deleted file mode 100644
index 0abfa5b2..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/80-after-plugins/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 80" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/85-have-initial-boot/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/85-have-initial-boot/bootsplash.sh
deleted file mode 100644
index 8738e454..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/85-have-initial-boot/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 85" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/90-postinit-done/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/90-postinit-done/bootsplash.sh
deleted file mode 100644
index 2546d298..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/90-postinit-done/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 90" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/95-cleanup/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/95-cleanup/bootsplash.sh
deleted file mode 100644
index 5ff86715..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/95-cleanup/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 95" >/dev/null 2>&1
diff --git a/os-plugins/plugins/bootsplash/init-hooks/99-handing-over/bootsplash.sh b/os-plugins/plugins/bootsplash/init-hooks/99-handing-over/bootsplash.sh
deleted file mode 100644
index 93673915..00000000
--- a/os-plugins/plugins/bootsplash/init-hooks/99-handing-over/bootsplash.sh
+++ /dev/null
@@ -1 +0,0 @@
-[ ${no_bootsplash} -eq 0 ] && /bin/splashy_update "progress 100" >/dev/null 2>&1
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 316448bb..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,432 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the desktop plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use File::Basename;
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{'engine'});
- # avoid circular reference between distro and its engine
-
- return 1;
-}
-
-sub getDefaultDesktopManager
-{
- my $self = shift;
-
- # the default implementation prefers KDM over GDM over XDM
- return $self->isKDMInstalled() ? 'kdm'
- : $self->isGDMInstalled() ? 'gdm'
- : $self->isXDMInstalled() ? 'xdm' : undef;
-}
-
-sub getDefaultDesktopKind
-{
- my $self = shift;
-
- # the default implementation prefers GNOME over KDE over XFCE
- return $self->isGNOMEInstalled() ? 'gnome'
- : $self->isKDEInstalled() ? 'kde'
- : $self->isXFCEInstalled() ? 'xfce' : undef;
-}
-
-sub isGNOMEInstalled
-{
- my $self = shift;
-
- return isInPath('gnome-session');
-}
-
-sub installGNOME
-{
- my $self = shift;
-
- $self->{engine}->installPackages(
- $self->{engine}->getInstallablePackagesForSelection('gnome')
- );
-
- return 1;
-}
-
-sub isGDMInstalled
-{
- my $self = shift;
-
- return isInPath('gdm');
-}
-
-sub installGDM
-{
- my $self = shift;
-
- $self->{engine}->installPackages('gdm');
-
- return 1;
-}
-
-sub GDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = {
- config => '/etc/gdm/gdm.conf',
- paths => [
- '/var/lib/gdm',
- '/var/log/gdm',
- ],
- };
-
- return $pathInfo;
-}
-
-sub setupGDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $pathInfo = $self->GDMPathInfo();
- my $configFile = $pathInfo->{config};
-
- my $paths
- = join(
- ' ',
- map { '/mnt' . $_ } ( dirname($configFile), @{$pathInfo->{paths}} )
- );
- my $script = unshiftHereDoc(<<" End-of-Here");
- # written by OpenSLX-plugin 'desktop'
-
- for i in $paths; do
- testmkd \$i
- done
-
- cp /mnt$repoPath/gdm/\$desktop_mode/gdm.conf /mnt$configFile
-
- # activate theme only if the corresponding xml file is found
- # (otherwise fall back to default theme of vendor-OS)
- if [ -n "\$desktop_theme" ]; then
- thdir=/opt/openslx/plugin-repo/desktop/themes/gdm
- theme=\$desktop_theme
- if [ -e /mnt\$thdir/\$theme/*.xml ]; then
- sed -i "s,\\[greeter\\],[greeter]\\nGraphicalThemedColor=," \\
- /mnt$configFile
- sed -i "s,\\[greeter\\],[greeter]\\nGraphicalThemeDir=\$thdir," \\
- /mnt$configFile
- sed -i "s,\\[greeter\\],[greeter]\\nGraphicalTheme=\$theme," \\
- /mnt$configFile
- fi
- fi
- case "\${desktop_allowshutdown}" in
- none)
- ;;
- root)
- sed "s|AllowShutdown.*|AllowShutdown=true|;\\
- s|SecureShutdown.*|SecureShutdown=true|" \\
- -i /mnt$configFile
- ;;
- users)
- sed "s|AllowShutdown.*|AllowShutdown=true|;\\
- s|SecureShutdown.*|SecureShutdown=false|" \\
- -i /mnt$configFile
- ;;
- esac
- [ "\${desktop_rootlogin}" -ne 0 ] && \\
- sed "s|AllowRoot.*|AllowRoot=true|" -i /mnt$configFile
- End-of-Here
-
- return $script;
-}
-
-sub GDMConfigHashForWorkstation
-{
- my $self = shift;
-
- return {
- 'chooser' => {
- },
- 'daemon' => {
- AutomaticLoginEnable => 'false',
- Group => 'gdm',
- User => 'gdm',
- DefaultSession => 'default.desktop',
- },
- 'debug' => {
- Enable => 'false',
- },
- 'greeter' => {
- AllowShutdown => 'false',
- Browser => 'false',
- MinimalUID => '500',
- SecureShutdown => 'false',
- ShowDomain => 'false',
- DefaultWelcome => 'false',
- Welcome => 'OpenSLX Workstation (%n)',
- },
- 'gui' => {
- },
- 'security' => {
- AllowRoot => 'false',
- AllowRemoteRoot => 'false',
- DisallowTCP => 'true',
- SupportAutomount => 'true',
- },
- 'server' => {
- },
- 'xdmcp' => {
- Enable => 'false',
- },
- };
-}
-
-sub GDMConfigHashForKiosk
-{
- my $self = shift;
-
- my $configHash = $self->GDMConfigHashForWorkstation();
- $configHash->{daemon}->{AutomaticLoginEnable} = 'true';
- $configHash->{daemon}->{AutomaticLogin} = 'nobody';
-
- return $configHash;
-}
-
-sub GDMConfigHashForChooser
-{
- my $self = shift;
-
- my $configHash = $self->GDMConfigHashForWorkstation();
- $configHash->{xdmcp}->{Enable} = 'true';
-
- return $configHash;
-}
-
-sub isKDEInstalled
-{
- my $self = shift;
-
- return isInPath('startkde');
-}
-
-sub installKDE
-{
- my $self = shift;
-
- $self->{engine}->installPackages(
- $self->{engine}->getInstallablePackagesForSelection('kde')
- );
-
- return 1;
-}
-
-sub isKDMInstalled
-{
- my $self = shift;
-
- return isInPath('kdm');
-}
-
-sub installKDM
-{
- my $self = shift;
-
- $self->{engine}->installPackages('kdm');
-
- return 1;
-}
-
-sub KDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = {
- config => '/etc/opt/kdm/kdmrc',
- paths => [
- '/var/lib/kdm',
- ],
- };
-
- return $pathInfo;
-}
-
-sub setupKDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $pathInfo = $self->KDMPathInfo();
- my $configFile = $pathInfo->{config};
-
- my $paths
- = join(
- ' ',
- map { '/mnt' . $_ } ( dirname($configFile), @{$pathInfo->{paths}} )
- );
- my $script = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # written by OpenSLX-plugin 'desktop'
-
- for i in $paths; do
- testmkd \$i
- done
-
- cp /mnt$repoPath/kdm/\$desktop_mode/kdmrc /mnt$configFile
-
- # activate theme only if the corresponding xml file is found
- # (otherwise fall back to default theme of vendor-OS)
- if [ -n "\$desktop_theme" ]; then
- theme=\$desktop_theme
- thdir=/opt/openslx/plugin-repo/desktop/themes/kdm/\$theme
- if [ -e /mnt\$thdir/*.xml ]; then
- sed -i "s,\\[X-\\*-Greeter\\],[X-*-Greeter]\\nUseBackground=false," \\
- /mnt$configFile
- sed -i "s,\\[X-\\*-Greeter\\],[X-*-Greeter]\\nTheme=\$thdir," \\
- /mnt$configFile
- sed -i "s,\\[X-\\*-Greeter\\],[X-*-Greeter]\\nUseTheme=true," \\
- /mnt$configFile
- fi
- fi
- case "\${desktop_allowshutdown}" in
- none)
- sed "s|AllowShutdown.*|AllowShutdown=None|" \\
- -i /mnt$configFile
- ;;
- root)
- sed "s|AllowShutdown.*|AllowShutdown=Root|" \\
- -i /mnt$configFile
- ;;
- users)
- sed "s|AllowShutdown.*|AllowShutdown=All|" \\
- -i /mnt$configFile
- ;;
- esac
- [ "\${desktop_rootlogin}" -ne 0 ] && \\
- sed "s|AllowRootLogin.*|AllowRootLogin=true|" -i /mnt$configFile
- End-of-Here
-
- return $script;
-}
-
-sub KDMConfigHashForWorkstation
-{
- my $self = shift;
-
- return {
-# 'General' => {
-# StaticServers => ':0',
-# ReserveServers => ':1,:2,:3',
-# ServerVTs => '-7',
-# ConsoleTTYs => 'tty1,tty2,tty3,tty4,tty5,tty6',
-# },
- 'X-:0-Core' => {
- AutoLoginEnable => 'false',
- AllowRootLogin => 'false',
- AllowShutdown => 'All',
- },
- 'X-*-Greeter' => {
- GreetString => 'OpenSLX Workstation (%h)',
- SelectedUsers => '',
- UserList => 'false',
- },
- 'X-:*-Greeter' => {
- AllowClose => 'false',
- UseAdminSession => 'true',
- },
- 'X-:0-Greeter' => {
- LogSource => '/dev/xconsole',
- UseAdminSession => 'false',
- PreselectUser => 'None',
- },
- 'xdmcp' => {
- Enable => 'false',
- },
- };
-}
-
-sub KDMConfigHashForKiosk
-{
- my $self = shift;
-
- my $configHash = $self->KDMConfigHashForWorkstation();
- $configHash->{'X-:0-Core'}->{AutoLoginEnable} = 'true';
- $configHash->{'X-:0-Core'}->{AutoLoginUser} = 'nobody';
-
- return $configHash;
-}
-
-sub KDMConfigHashForChooser
-{
- my $self = shift;
-
- my $configHash = $self->KDMConfigHashForWorkstation();
- $configHash->{xdmcp}->{Enable} = 'true';
-
- return $configHash;
-}
-
-sub isXFCEInstalled
-{
- my $self = shift;
-
- return isInPath('startxfce4');
-}
-
-sub installXFCE
-{
- my $self = shift;
-
- $self->{engine}->installPackages(
- $self->{engine}->getInstallablePackagesForSelection('xfce')
- );
-
- return 1;
-}
-
-sub isXDMInstalled
-{
- my $self = shift;
-
- return isInPath('xdm');
-}
-
-sub installXDM
-{
- my $self = shift;
-
- $self->{engine}->installPackages('xdm');
-
- return 1;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index c212b3ef..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright (c) 2006..2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Debian.pm
-# - provides Debian-specific overrides of the Distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupGDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupGDMScript($repoPath);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- rllinker gdm 1 1
- echo '/usr/bin/gdm' > /mnt/etc/X11/default-display-manager
- # gdm does not like AUFS/UnionFS on its var directory
- rm -rf /mnt/var/lib/gdm
- mkdir -m 1770 /mnt/var/lib/gdm
- chown root:gdm /mnt/var/lib/gdm
- End-of-Here
-
- return $script;
-}
-
-sub setupKDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupKDMScript($repoPath);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- rllinker kdm 1 1
- echo '/usr/bin/kdm' > /mnt/etc/X11/default-display-manager
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Fedora.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Fedora.pm
deleted file mode 100644
index f9428aab..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Fedora.pm
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2006, 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Fedora.pm
-# - provides Fedora-specific overrides of the Distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Fedora;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-# TODO: implement!
-
-1; \ No newline at end of file
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Gentoo.pm
deleted file mode 100644
index 129f4d08..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Gentoo.pm
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2006, 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Gentoo.pm
-# - provides Gentoo-specific overrides of the Distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Gentoo;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-# TODO: implement!
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm
deleted file mode 100644
index 1dc0482c..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright (c) 2006..2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Scilin.pm
-# - provides Scilin-specific overrides of the Distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Scilin;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub GDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::GDMPathInfo();
-
- # create gdm.conf-custom instead of gdm.conf
- $pathInfo->{config} = '/etc/gdm/custom.conf';
-
- return $pathInfo;
-}
-
-sub setupGDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupGDMScript($repoPath);
-
- my $configFile = $self->GDMPathInfo->{config};
-
- # include common stuff (independent of display manager used)
- $script = _setupCommonDmScript($script);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- echo "DISPLAYMANAGER=GNOME" \
- >/mnt/etc/sysconfig/desktop
- # gdm does not like AUFS/UnionFS on its var directory
- mkdir -m 1770 /mnt/var/lib/gdm
- chown root:gdm /mnt/var/lib/gdm
- End-of-Here
-
- return $script;
-}
-
-sub GDMConfigHashForWorkstation
-{
- my $self = shift;
-
- my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
- $configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/session/:/usr/share/xsessions/:/usr/share/gdm/BuiltInSessions';
- $configHash->{'daemon'}->{Greeter} =
- '/usr/libexec/gdmgreeter';
-
- return $configHash;
-}
-
-sub setupKDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- # SUSE reads /var/adm/kdm/kdmrc.sysconfig, so we link that to
- # our config file
- my $pathInfo = $self->KDMPathInfo();
- my $configFile = $pathInfo->{config};
- mkpath("/etc/opt/kdm");
- mkpath("/var/adm/kdm");
- # maybe backup kdmrc.sysconfig sometimes
- unlink("/var/adm/kdm/kdmrc.sysconfig");
- # the config file gets overwritten if this script is present
- unlink("/opt/kde3/share/apps/kdm/read_sysconfig.sh");
- symlink("/etc/opt/kdm/kdmrc", "/var/adm/kdm/kdmrc.sysconfig");
-
- my $script = $self->SUPER::setupKDMScript($repoPath);
-
- # include common stuff (independent of display manager used)
- $script = _setupCommonDmScript($script);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- echo "DISPLAYMANAGER=KDE" \
- >/mnt/etc/sysconfig/desktop
- End-of-Here
-
- return $script;
-}
-
-sub _setupCommonDmScript
-{
- my $script = shift;
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # cleanup after users Xorg session
- sed 's,^#!.*,,' /mnt/etc/X11/xdm/Xreset \
- > /mnt/etc/X11/xdm/Xreset.system
- echo -e '#!/bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n
- # remove safely any remaining files of the leaving user in /tmp
- ( su -c "rm -rf /tmp/*" - $USER
- echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null ) &
- . /etc/X11/xdm/Xreset.system' >/mnt/etc/X11/xdm/Xreset
- chmod a+x /mnt/etc/X11/xdm/Xreset*
-
- # enable the inittab entry again (incomplete)
- # sed -e "s,# line deleted.*,x:5:respawn:/etc/X11/prefdm -nodaemon," \
- # -i /mnt/etc/inittab
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 433ed7e1..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright (c) 2006..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Suse.pm
-# - provides SUSE-specific overrides of the Distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub GDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::GDMPathInfo();
-
- # create gdm.conf-custom instead of gdm.conf
- $pathInfo->{config} = '/etc/gdm/custom.conf';
-
- return $pathInfo;
-}
-
-sub setupGDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupGDMScript($repoPath);
-
- my $configFile = $self->GDMPathInfo->{config};
-
- # include common stuff (independent of display manager used)
- $script = _setupCommonDmScript($script);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- echo -e '# changed by $0 during stage3 setup\nDISPLAYMANAGER="gdm"' \
- >/mnt/etc/sysconfig/displaymanager
- sed -i "s/DEFAULT_WM=.*/DEFAULT_WM=\"$desktop_kind\"/" \
- /mnt/etc/sysconfig/windowmanager
- #sed "s|XSESSION|/etc/xdm/Xsession|" -i /mnt$configFile
- # gdm does not like AUFS/UnionFS on its var directory
- rm -rf /mnt/var/lib/gdm
- mkdir -m 1770 /mnt/var/lib/gdm
- chown root:gdm /mnt/var/lib/gdm
- # no use for this configuration info file
- rm /mnt/etc/gdm/gdm_sysconfig.* 2>/dev/null
- End-of-Here
-
- return $script;
-}
-
-sub GDMConfigHashForWorkstation
-{
- my $self = shift;
-
- my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
- $configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/session/:/usr/share/xsessions/';
- $configHash->{'daemon'}->{DefaultSession} = 'default.desktop';
- $configHash->{'daemon'}->{Greeter} =
- '/usr/lib/gdm/gdmgreeter';
-
- return $configHash;
-}
-
-sub setupKDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- # check for kdm version
- my $kdmVer;
- my $kdmPath;
- if (-e "/usr/bin/kdm") {
- $kdmVer = "4";
- $kdmPath = "/usr/share/kde4";
- }
- else {
- $kdmVer = "";
- $kdmPath = "/opt/kde3/share";
- # change default theme to openslx-legacy if kdm3
- print " * Please change to openslx-legacy theme when using kdm3\n";
- }
-
- # SUSE reads /var/adm/kdm/kdmrc.sysconfig, so we link that to
- # our config file
- my $pathInfo = $self->KDMPathInfo();
- my $configFile = $pathInfo->{config};
- mkpath("/etc/opt/kdm");
- mkpath("/var/adm/kdm");
- # maybe backup kdmrc.sysconfig sometimes
- unlink("/var/adm/kdm/kdmrc.sysconfig");
- # the config file gets overwritten if this script is present
- unlink("$kdmPath/apps/kdm/read_sysconfig.sh");
- symlink("/etc/opt/kdm/kdmrc", "/var/adm/kdm/kdmrc.sysconfig");
-
- my $script = $self->SUPER::setupKDMScript($repoPath);
-
- # include common stuff (independent of display manager used)
- $script = _setupCommonDmScript($script);
-
- $script .= "kdmver=$kdmVer\n";
- $script .= unshiftHereDoc(<<' End-of-Here');
- sed -i "s/DISPLAYMANAGER=.*/DISPLAYMANAGER=\"kdm$kdmver\"/" \
- /mnt/etc/sysconfig/displaymanager
- [ $(grep -q DISPLAYMANAGER /mnt/etc/sysconfig/displaymanager) ] && \
- echo "DISPLAYMANAGER=\"kdm$kdmver\"" >>/mnt/etc/sysconfig/displaymanager
- sed -i "s/DEFAULT_WM=.*/DEFAULT_WM=\"$desktop_kind\"/" \
- /mnt/etc/sysconfig/windowmanager
- # needed for compatibility X11/session(s)
- ln -s /etc/X11/session /mnt/etc/X11/sessions
- End-of-Here
-
- return $script;
-}
-
-sub _setupCommonDmScript
-{
- my $script = shift;
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- rllinker xdm 1 10
- # cleanup after users Xorg session
- sed 's,^#!.*,,' /mnt/etc/X11/xdm/Xreset \
- > /mnt/etc/X11/xdm/Xreset.system
- echo -e '#!/bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n
- # avoid annoying messages on removed sound devices
- ( su -c "rm ~/.kde4/share/config/phonondevicesrc" - $USER ) &
-
- # remove safely any remaining files of the leaving user in /tmp
- ( su -c "rm -rf /tmp/*" - $USER
- echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null
- chmod 0400 /tmp/files.removed ) &
- . /etc/X11/xdm/Xreset.system' >/mnt/etc/X11/xdm/Xreset
- chmod a+x /mnt/etc/X11/xdm/Xreset*
-
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm
deleted file mode 100644
index ac14b2a5..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (c) 2006..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Suse_10_2.pm
-# - provides SUSE-10.2-specific overrides of the Distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Suse_10_2;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Suse);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub GDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::GDMPathInfo();
-
- # link gdm.conf-custom instead of gdm.conf
- $pathInfo->{config} = '/etc/opt/gnome/gdm/custom.conf';
-
- return $pathInfo;
-}
-
-sub GDMConfigHashForWorkstation
-{
- my $self = shift;
-
- my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
- $configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/session/:/usr/share/xsessions/';
- $configHash->{'daemon'}->{Greeter} =
- '/opt/gnome/lib/gdm/gdmgreeter';
-
- return $configHash;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index d222c102..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright (c) 2006..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Ubuntu.pm
-# - provides Ubuntu-specific overrides of the distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub GDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::GDMPathInfo();
-
- # link gdm.conf-custom instead of gdm.conf
- $pathInfo->{config} = '/etc/gdm/custom.conf';
-
- return $pathInfo;
-}
-
-sub setupGDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupGDMScript($repoPath);
-
- my $configFile = $self->GDMPathInfo->{config};
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # cleanup after users Xorg session
- sed 's,^#!.*,,' /mnt/etc/gdm/PostSession/Default \
- >/mnt/etc/gdm/PostSession/Default.system
- echo -e '#! /bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n
- # remove safely any remaining files of the leaving user in /tmp
- ( su -c "rm -rf /tmp/*"
- echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null ) &
- . /etc/gdm/PostSession/Default.system' >/mnt/etc/gdm/PostSession/Default
- chmod a+x /mnt/etc/gdm/PostSession/Default*
- # gdm should be started via upstart mechanism
- mv /mnt/etc/init.inactive/gdm.conf /mnt/etc/init
- echo '/usr/sbin/gdm' >/mnt/etc/X11/default-display-manager
- # possible to do this directly?
- chroot /mnt update-alternatives --set x-window-manager /usr/bin/metacity
- chroot /mnt update-alternatives --set x-session-manager \
- /usr/bin/gnome-session
- # gdm does not like AUFS/UnionFS on its var directory
- rm -rf /mnt/var/lib/gdm
- mkdir -m 1770 /mnt/var/lib/gdm
- chown root:gdm /mnt/var/lib/gdm
- #sed '/^\\[daemon\\]/ a\\BaseXsession=/etc/gdm/Xsession' \
- # -i /mnt$configFile
- End-of-Here
-
- return $script;
-}
-
-sub KDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::KDMPathInfo();
-
- $pathInfo = {
- config => "/etc/kde4/kdm/kdmrc",
- paths => [
- '/var/lib/kdm',
- '/var/run/kdm',
- ],
- };
-
- return $pathInfo;
-}
-
-sub GDMConfigHashForWorkstation
-{
- my $self = shift;
-
- return {
- 'chooser' => {
- Multicast => 'false',
- },
- 'daemon' => {
- AutomaticLoginEnable => 'false',
- Group => 'gdm',
- User => 'gdm',
- DefaultSession => 'default.desktop',
- },
- 'security' => {
- DisallowTCP => 'true',
- },
- 'xdmcp' => {
- Enable => 'false',
- },
- };
-}
-
-sub KDMConfigHashForWorkstation
-{
- my $self = shift;
-
- my $kdmVer = "4";
- my $configHash = $self->SUPER::KDMConfigHashForWorkstation();
- $configHash->{'General'}->{PidFile} = "/var/run/kdm.pid";
- $configHash->{'General'}->{ServerVTs} = "-7";
- $configHash->{'X-:0-Core'}->{Setup} = "/etc/kde$kdmVer/kdm/Xsetup";
- $configHash->{'X-:0-Core'}->{Startup} = "/etc/kde$kdmVer/kdm/Xstartup";
- $configHash->{'X-:0-Core'}->{Session} = "/etc/kde$kdmVer/kdm/Xsession";
- $configHash->{'X-:0-Core'}->{Reset} = "/etc/kde$kdmVer/kdm/Xreset";
- $configHash->{'X-:0-Core'}->{SessionsDirs} =
- '/etc/X11/session,/usr/share/xsessions,/usr/share/apps/kdm/sessions';
- $configHash->{'X-:0-Core'}->{ServerAttempts} = "2";
-
- return $configHash;
-}
-
-sub setupKDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $kdmVer = "4";
- my $script = $self->SUPER::setupKDMScript($repoPath);
-
- $script .= "kdmver=$kdmVer\n";
- $script .= unshiftHereDoc(<<' End-of-Here');
-
- # cleanup after users Xorg session
- sed 's,^#!.*,,' /mnt/etc/kde$kdmver/kdm/Xreset \
- >/mnt/etc/kde$kdmver/kdm/Xreset.system
- echo -e '#! /bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n
- # remove safely any remaining files of the leaving user in /tmp
- ( su -c "rm -rf /tmp/*" - $USER
- echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null
- chmod 0400 /tmp/files.removed ) &
- . /etc/kde$kdmver/kdm/Xreset.system' >/mnt/etc/kde$kdmver/kdm/Xreset
- chmod a+x /mnt/etc/kde$kdmver/kdm/Xreset*
-
- mv /mnt/etc/init.inactive/kdm.conf /mnt/etc/init
- echo '/usr/bin/kdm' > /mnt/etc/X11/default-display-manager
- chroot /mnt update-alternatives --set x-window-manager /usr/bin/kwin
- chroot /mnt update-alternatives --set x-session-manager \
- /usr/bin/startkde
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_8.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_8.pm
deleted file mode 100644
index 6f00f181..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_8.pm
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright (c) 2006..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Ubuntu_8.pm
-# - provides Ubuntu-specific overrides of the distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Ubuntu_8;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub GDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::GDMPathInfo();
-
- # link gdm.conf-custom instead of gdm.conf
- $pathInfo->{config} = '/etc/gdm/gdm.conf-custom';
-
- return $pathInfo;
-}
-
-sub setupGDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupGDMScript($repoPath);
-
- my $configFile = $self->GDMPathInfo->{config};
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # cleanup after users Xorg session
- sed 's,^#!.*,,' /mnt/etc/gdm/PostSession/Default \
- >/mnt/etc/gdm/PostSession/Default.system
- echo -e '#! /bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n
- # remove safely any remaining files of the leaving user in /tmp
- ( su -c "rm -rf /tmp/*"
- echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null ) &
- . /etc/gdm/PostSession/Default.system' >/mnt/etc/gdm/PostSession/Default
- chmod a+x /mnt/etc/gdm/PostSession/Default*
- # gdm should be started after dbus/hal
- rllinker gdm 5 10
- echo '/usr/sbin/gdm' >/mnt/etc/X11/default-display-manager
- chroot /mnt update-alternatives --set x-window-manager /usr/bin/metacity
- chroot /mnt update-alternatives --set x-session-manager \
- /usr/bin/gnome-session
- # gdm does not like AUFS/UnionFS on its var directory
- rm -rf /mnt/var/lib/gdm
- mkdir -m 1770 /mnt/var/lib/gdm
- chown root:gdm /mnt/var/lib/gdm
- sed '/^\\[daemon\\]/ a\\BaseXsession=/etc/gdm/Xsession' \
- -i /mnt$configFile
- End-of-Here
-
- return $script;
-}
-
-sub KDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::KDMPathInfo();
- my $kdmVer = "3";
-
- $pathInfo = {
- config => "/etc/kde$kdmVer/kdm/kdmrc",
- paths => [
- '/var/lib/kdm',
- '/var/run/kdm',
- ],
- };
-
- return $pathInfo;
-}
-
-sub GDMConfigHashForWorkstation
-{
- my $self = shift;
-
- my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
- $configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/session/:/usr/share/xsessions/:/usr/share/gdm/BuiltInSessions/';
-
- return $configHash;
-}
-
-sub KDMConfigHashForWorkstation
-{
- my $self = shift;
-
- my $kdmVer = "4";
- my $configHash = $self->SUPER::KDMConfigHashForWorkstation();
- $configHash->{'General'}->{PidFile} = "/var/run/kdm.pid";
- $configHash->{'X-:0-Core'}->{Setup} = "/etc/kde$kdmVer/kdm/Xsetup";
- $configHash->{'X-:0-Core'}->{Startup} = "/etc/kde$kdmVer/kdm/Xstartup";
- $configHash->{'X-:0-Core'}->{Session} = "/etc/kde$kdmVer/kdm/Xsession";
- $configHash->{'X-:0-Core'}->{Reset} = "/etc/kde$kdmVer/kdm/Xreset";
- $configHash->{'X-:0-Core'}->{SessionsDirs} =
- '/etc/X11/session,/usr/share/xsessions,/usr/share/apps/kdm/sessions';
- $configHash->{'X-:0-Core'}->{ServerAttempts} = "2";
-
- return $configHash;
-}
-
-sub setupKDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $kdmVer = "4";
- my $script = $self->SUPER::setupKDMScript($repoPath);
-
- # change default theme to openslx-legacy if kdm3
- if ( $kdmVer == "3" ) {
- print " * Please change to openslx-legacy theme when using kdm3\n";
- }
-
- $script .= "kdmver=$kdmVer\n";
- $script .= unshiftHereDoc(<<' End-of-Here');
-
- # cleanup after users Xorg session
- sed 's,^#!.*,,' /mnt/etc/kde$kdmver/kdm/Xreset \
- >/mnt/etc/kde$kdmver/kdm/Xreset.system
- echo -e '#! /bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n
- # remove safely any remaining files of the leaving user in /tmp
- ( su -c "rm -rf /tmp/*" - $USER
- echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null
- chmod 0400 /tmp/files.removed ) &
- . /etc/kde$kdmver/kdm/Xreset.system' >/mnt/etc/kde$kdmver/kdm/Xreset
- chmod a+x /mnt/etc/kde$kdmver/kdm/Xreset*
-
- rllinker kdm 1 10
- echo '/usr/bin/kdm' > /mnt/etc/X11/default-display-manager
- chroot /mnt update-alternatives --set x-window-manager /usr/bin/kwin
- chroot /mnt update-alternatives --set x-session-manager \
- /usr/bin/startkde
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_9_04.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_9_04.pm
deleted file mode 100644
index 1022d6e8..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_9_04.pm
+++ /dev/null
@@ -1,161 +0,0 @@
-# Copyright (c) 2006..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop/OpenSLX/Distro/Ubuntu_9_04.pm
-# - provides Ubuntu-specific overrides of the distro API for the desktop
-# plugin.
-# -----------------------------------------------------------------------------
-package desktop::OpenSLX::Distro::Ubuntu_9_04;
-
-use strict;
-use warnings;
-
-use base qw(desktop::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub GDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::GDMPathInfo();
-
- # link gdm.conf-custom instead of gdm.conf
- $pathInfo->{config} = '/etc/gdm/gdm.conf-custom';
-
- return $pathInfo;
-}
-
-sub setupGDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupGDMScript($repoPath);
-
- my $configFile = $self->GDMPathInfo->{config};
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # cleanup after users Xorg session
- sed 's,^#!.*,,' /mnt/etc/gdm/PostSession/Default \
- >/mnt/etc/gdm/PostSession/Default.system
- echo -e '#! /bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n
- # remove safely any remaining files of the leaving user in /tmp
- ( su -c "rm -rf /tmp/*"
- echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null ) &
- . /etc/gdm/PostSession/Default.system' >/mnt/etc/gdm/PostSession/Default
- chmod a+x /mnt/etc/gdm/PostSession/Default*
- # gdm should be started after dbus/hal
- rllinker gdm 5 10
- echo '/usr/sbin/gdm' >/mnt/etc/X11/default-display-manager
- chroot /mnt update-alternatives --set x-window-manager /usr/bin/metacity
- chroot /mnt update-alternatives --set x-session-manager \
- /usr/bin/gnome-session
- # gdm does not like AUFS/UnionFS on its var directory
- rm -rf /mnt/var/lib/gdm
- mkdir -m 1770 /mnt/var/lib/gdm
- chown root:gdm /mnt/var/lib/gdm
- sed '/^\\[daemon\\]/ a\\BaseXsession=/etc/gdm/Xsession' \
- -i /mnt$configFile
- End-of-Here
-
- return $script;
-}
-
-sub KDMPathInfo
-{
- my $self = shift;
-
- my $pathInfo = $self->SUPER::KDMPathInfo();
- my $kdmVer = "4";
-
- $pathInfo = {
- config => "/etc/kde$kdmVer/kdm/kdmrc",
- paths => [
- '/var/lib/kdm',
- '/var/run/kdm',
- ],
- };
-
- return $pathInfo;
-}
-
-sub GDMConfigHashForWorkstation
-{
- my $self = shift;
-
- my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
- $configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/session/:/usr/share/xsessions/:/usr/share/gdm/BuiltInSessions/';
-
- return $configHash;
-}
-
-sub KDMConfigHashForWorkstation
-{
- my $self = shift;
-
- my $kdmVer = "4";
- my $configHash = $self->SUPER::KDMConfigHashForWorkstation();
- $configHash->{'General'}->{PidFile} = "/var/run/kdm.pid";
- $configHash->{'X-:0-Core'}->{Setup} = "/etc/kde$kdmVer/kdm/Xsetup";
- $configHash->{'X-:0-Core'}->{Startup} = "/etc/kde$kdmVer/kdm/Xstartup";
- $configHash->{'X-:0-Core'}->{Session} = "/etc/kde$kdmVer/kdm/Xsession";
- $configHash->{'X-:0-Core'}->{Reset} = "/etc/kde$kdmVer/kdm/Xreset";
- $configHash->{'X-:0-Core'}->{SessionsDirs} =
- '/etc/X11/session,/usr/share/xsessions,/usr/share/apps/kdm/sessions';
- $configHash->{'X-:0-Core'}->{ServerAttempts} = "2";
-
- return $configHash;
-}
-
-sub setupKDMScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $kdmVer = "4";
- my $script = $self->SUPER::setupKDMScript($repoPath);
-
- # change default theme to openslx-legacy if kdm3
- if ( $kdmVer == "3" ) {
- print " * Please change to openslx-legacy theme when using kdm3\n";
- }
-
- $script .= "kdmver=$kdmVer\n";
- $script .= unshiftHereDoc(<<' End-of-Here');
-
- # cleanup after users Xorg session
- sed 's,^#!.*,,' /mnt/etc/kde$kdmver/kdm/Xreset \
- >/mnt/etc/kde$kdmver/kdm/Xreset.system
- echo -e '#! /bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n
- # remove safely any remaining files of the leaving user in /tmp
- ( su -c "rm -rf /tmp/*" - $USER
- echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null
- chmod 0400 /tmp/files.removed ) &
- . /etc/kde$kdmver/kdm/Xreset.system' >/mnt/etc/kde$kdmver/kdm/Xreset
- chmod a+x /mnt/etc/kde$kdmver/kdm/Xreset*
-
- rllinker kdm 1 10
- echo '/usr/bin/kdm' > /mnt/etc/X11/default-display-manager
- chroot /mnt update-alternatives --set x-window-manager /usr/bin/kwin
- chroot /mnt update-alternatives --set x-session-manager \
- /usr/bin/startkde
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm b/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
deleted file mode 100644
index 7d496483..00000000
--- a/os-plugins/plugins/desktop/OpenSLX/OSPlugin/desktop.pm
+++ /dev/null
@@ -1,712 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# desktop.pm
-# - implementation of the 'desktop' plugin, which installs
-# all needed information for a displaymanager and for the desktop.
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::desktop;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Basename;
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'desktop',
- };
-
- my $localGDMThemesDir
- = "$openslxConfig{'config-path'}/plugins/desktop/themes/gdm";
- mkpath($localGDMThemesDir) unless -e $localGDMThemesDir;
- my $localKDMThemesDir
- = "$openslxConfig{'config-path'}/plugins/desktop/themes/kdm";
- mkpath($localKDMThemesDir) unless -e $localKDMThemesDir;
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Sets a desktop and creates needed configs, theme can be set as well.
- End-of-Here
- precedence => 40,
- # not really required e.g. for modern autoconfiguring systems like Ubuntu
- # 10.04
- # required => [ qw( xserver ) ],
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- # stage3
- 'desktop::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'desktop'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'desktop::kind' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- which desktop environment shall be used: gnome, kde, or xfce?
- End-of-Here
- content_regex => qr{^(gnome|kde|xfce)$},
- content_descr => '"gnome", "kde" or "xfce"',
- default => undef,
- },
- 'desktop::manager' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- which display manager to start: gdm, kdm or xdm?
- End-of-Here
- content_regex => qr{^(gdm|kdm|xdm)$},
- content_descr => '"gdm", "kdm" or "xdm"',
- default => undef,
- },
- 'desktop::mode' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- which type of operation mode shall be activated:
- workstattion, kiosk or chooser?
- End-of-Here
- content_regex => qr{^(workstation|kiosk|chooser)$},
- content_descr => '"workstation", "kiosk" or "chooser"',
- default => 'workstation',
- },
- 'desktop::theme' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- name of the theme to apply to the desktop (unset for no theme)
- End-of-Here
- content_descr => 'one of the entries in "supported_themes"',
- default => 'openslx',
- },
- 'desktop::allowshutdown' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- allow shutdown of the SLX client via gdm/kdm. "none" disables
- this functionality, "root" allows only the sysadmin and
- "users" means free4all.
- End-of-Here
- content_regex => qr{^(none|root|users)$},
- content_descr => 'possible entries "none", "root" or "users"',
- default => 'users',
- },
- 'desktop::rootlogin' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- allow the system administrator to logon to the graphical
- user interface (1 allow, 0 disallow).
- End-of-Here
- content_descr => '1 means allowed - 0 means forbidden',
- content_regex => qr{^(0|1)$},
- default => '1',
- },
- # kiosk mode just has the option to logon user nobody
- #'desktop::auto-login' => {
- # applies_to_systems => 1,
- # applies_to_clients => 1,
- # description => unshiftHereDoc(<<' End-of-Here'),
- # set an arbitrary user which is logged in automatically into
- # the graphical user interface (none disables, default).
- # End-of-Here
- # content_descr => 'none disables - <user> logins in that userid',
- # default => 'none',
- #},
-
- # stage1
- 'desktop::gdm' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should gdm be available (installed in vendor-OS)?
- End-of-Here
- content_regex => qr{^0|1$},
- content_descr => '"0", "1" or "-" (for unset)',
- default => undef,
- },
- 'desktop::gnome' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should gnome be available (installed in vendor-OS)?
- End-of-Here
- content_regex => qr{^0|1$},
- content_descr => '"0", "1" or "-" (for unset)',
- default => undef,
- },
- 'desktop::kde' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should kde be available (installed in vendor-OS)?
- End-of-Here
- content_regex => qr{^0|1$},
- content_descr => '"0", "1" or "-" (for unset)',
- default => undef,
- },
- 'desktop::kdm' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should kdm be available (installed in vendor-OS)?
- End-of-Here
- content_regex => qr{^0|1$},
- content_descr => '"0", "1" or "-" (for unset)',
- default => undef,
- },
- 'desktop::supported_themes' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- name of all themes that shall be installed in vendor-OS (such
- that they can be selected via 'desktop::theme' in stage 3).
- End-of-Here
- content_descr => 'a comma-separated list of theme names',
- default => undef,
- },
- 'desktop::xdm' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should xdm be available (installed in vendor-OS)?
- End-of-Here
- content_regex => qr{^0|1$},
- content_descr => '"0", "1" or "-" (for unset)',
- default => undef,
- },
- 'desktop::xfce' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should xfce be available (installed in vendor-OS)?
- End-of-Here
- content_regex => qr{^0|1$},
- content_descr => '"0", "1" or "-" (for unset)',
- default => undef,
- },
- };
-}
-
-sub getDefaultAttrsForVendorOS
-{
- my $self = shift;
- my $vendorOSName = shift;
-
- my $attrs = $self->getAttrInfo();
-
- if ($vendorOSName =~ m{kde}) {
- $attrs->{'desktop::manager'}->{default} = 'kdm';
- $attrs->{'desktop::kind'}->{default} = 'kde';
- }
- elsif ($vendorOSName =~ m{gnome}) {
- $attrs->{'desktop::manager'}->{default} = 'gdm';
- $attrs->{'desktop::kind'}->{default} = 'gnome';
- }
- elsif ($vendorOSName =~ m{xfce}) {
- $attrs->{'desktop::manager'}->{default} = 'xdm';
- $attrs->{'desktop::kind'}->{default} = 'xcfe';
- }
- else {
- $attrs->{'desktop::manager'}->{default}
- = $self->{distro}->getDefaultDesktopManager();
- $attrs->{'desktop::kind'}->{default}
- = $self->{distro}->getDefaultDesktopKind();
- }
- return $attrs;
-}
-
-sub checkStage3AttrValues
-{
- my $self = shift;
- my $stage3Attrs = shift;
- my $vendorOSAttrs = shift;
-
- my @problems;
-
- my $manager = $stage3Attrs->{'desktop::manager'} || '';
- if ($manager eq 'kdm') {
- if (!defined $vendorOSAttrs->{'desktop::kdm'}
- || $vendorOSAttrs->{'desktop::kdm'} == 1) {
- if (!$self->{distro}->isKDMInstalled()) {
- push @problems, _tr(
- "KDM is not installed in vendor-OS, so using it as desktop manager wouldn't work!"
- );
- }
- }
- elsif ($vendorOSAttrs->{'desktop::kdm'} == 0) {
- push @problems, _tr(
- "desktop::kdm is 0, so using KDM as desktop manager is not allowed for this vendor-OS!"
- );
- }
- }
- elsif ($manager eq 'gdm') {
- if (!defined $vendorOSAttrs->{'desktop::gdm'}
- || $vendorOSAttrs->{'desktop::gdm'} == 1) {
- if (!$self->{distro}->isGDMInstalled()) {
- push @problems, _tr(
- "GDM is not installed in vendor-OS, so using it as desktop manager wouldn't work!"
- );
- }
- }
- elsif ($vendorOSAttrs->{'desktop::gdm'} == 0) {
- push @problems, _tr(
- "desktop::gdm is 0, so using GDM as desktop manager is not allowed for this vendor-OS!"
- );
- }
- }
- elsif ($manager eq 'xdm') {
- if (!defined $vendorOSAttrs->{'desktop::xdm'}
- || $vendorOSAttrs->{'desktop::xdm'} == 1) {
- if (!$self->{distro}->isXDMInstalled()) {
- push @problems, _tr(
- "XDM is not installed in vendor-OS, so using it as desktop manager wouldn't work!"
- );
- }
- }
- elsif ($vendorOSAttrs->{'desktop::xdm'} == 0) {
- push @problems, _tr(
- "desktop::xdm is 0, so using XDM as desktop manager is not allowed for this vendor-OS!"
- );
- }
- }
-
- my $kind = $stage3Attrs->{'desktop::kind'} || '';
- if ($kind eq 'kde') {
- if (!defined $vendorOSAttrs->{'desktop::kde'}
- || $vendorOSAttrs->{'desktop::kde'} == 1) {
- if (!$self->{distro}->isKDEInstalled()) {
- push @problems, _tr(
- "KDE is not installed in vendor-OS, so using it as desktop kind wouldn't work!"
- );
- }
- }
- elsif ($vendorOSAttrs->{'desktop::kde'} == 0) {
- push @problems, _tr(
- "desktop::kde is 0, so using KDE as desktop kind is not allowed for this vendor-OS!"
- );
- }
- }
- elsif ($kind eq 'gnome') {
- if (!defined $vendorOSAttrs->{'desktop::gnome'}
- || $vendorOSAttrs->{'desktop::gnome'} == 1) {
- if (!$self->{distro}->isGNOMEInstalled()) {
- push @problems, _tr(
- "GNOME is not installed in vendor-OS, so using it as desktop kind wouldn't work!"
- );
- }
- }
- elsif ($vendorOSAttrs->{'desktop::gnome'} == 0) {
- push @problems, _tr(
- "desktop::gnome is 0, so using GNOME as desktop kind is not allowed for this vendor-OS!"
- );
- }
- }
- elsif ($kind eq 'xfce') {
- if (!defined $vendorOSAttrs->{'desktop::xfce'}
- || $vendorOSAttrs->{'desktop::xfce'} == 1) {
- if (!$self->{distro}->isXFCEInstalled()) {
- push @problems, _tr(
- "XFCE is not installed in vendor-OS, so using it as desktop kind wouldn't work!"
- );
- }
- }
- elsif ($vendorOSAttrs->{'desktop::xfce'} == 0) {
- push @problems, _tr(
- "desktop::xfce is 0, so using XFCE as desktop kind is not allowed for this vendor-OS!"
- );
- }
- }
-
- my @supportedThemes
- = split ',', $vendorOSAttrs->{'desktop::supported_themes'} || '';
- my $theme = $stage3Attrs->{'desktop::theme'};
- if (defined $theme && !grep { $_ eq $theme } @supportedThemes) {
- push @problems, _tr(
- "desktop::theme '%s' does not refer to a supported theme!\nSupported themes are: %s",
- $theme, $vendorOSAttrs->{'desktop::supported_themes'} || ''
- );
- }
-
- return if !@problems;
-
- return \@problems;
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{pluginTempPath} = $info->{'plugin-temp-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
- $self->{openslxConfigPath} = $info->{'openslx-config-path'};
- $self->{attrs} = $info->{'plugin-attrs'};
-
- # We are going to change some of the stage1 attributes during installation
- # (basically we are filling the ones that are not defined). Since the result
- # of these changes might change between invocations, we do not want to store
- # the resulting values, but we want to store the original (undef).
- # In order to do so, we copy all stage1 attributes directly into the
- # object hash and change them there.
- $self->{gdm} = $self->{attrs}->{'desktop::gdm'};
- $self->{kdm} = $self->{attrs}->{'desktop::kdm'};
- $self->{xdm} = $self->{attrs}->{'desktop::xdm'};
- $self->{gnome} = $self->{attrs}->{'desktop::gnome'};
- $self->{kde} = $self->{attrs}->{'desktop::kde'};
- $self->{xcfe} = $self->{attrs}->{'desktop::xfce'};
- $self->{supported_themes} = $self->{attrs}->{'desktop::supported_themes'};
-
- $self->_installRequiredPackages();
- $self->_fillUnsetStage1Attrs();
- $self->_ensureSensibleStage3Attrs();
-
- # start to actually do something - according to current stage1 attributes
- if ($self->{gdm}) {
- $self->_setupGDM();
- }
- if ($self->{kdm}) {
- $self->_setupKDM();
- }
- if ($self->{xdm}) {
- $self->_setupXDM();
- }
- $self->_setupSupportedThemes();
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-sub copyRequiredFilesIntoInitramfs
-{
- my $self = shift;
- my $targetPath = shift;
- my $attrs = shift;
- my $makeInitRamFSEngine = shift;
-
- my $desktopTheme = $attrs->{'desktop::theme'} || '<none>';
-
- vlog(1, _tr("desktop-plugin: desktop=%s", $desktopTheme));
-
- return;
-}
-
-sub _installRequiredPackages
-{
- my $self = shift;
-
- my $engine = $self->{'os-plugin-engine'};
-
- if ($self->{'gnome'} && !$self->{distro}->isGNOMEInstalled()) {
- $self->{distro}->installGNOME();
- }
- if ($self->{'gdm'} && !$self->{distro}->isGDMInstalled()) {
- $self->{distro}->installGDM();
- }
- if ($self->{'kde'} && !$self->{distro}->isKDEInstalled()) {
- $self->{distro}->installKDE();
- }
- if ($self->{'kdm'} && !$self->{distro}->isKDMInstalled()) {
- $self->{distro}->installKDM();
- }
- if ($self->{'xfce'} && !$self->{distro}->isXFCEInstalled()) {
- $self->{distro}->installXFCE();
- }
- if ($self->{'xdm'} && !$self->{distro}->isXDMInstalled()) {
- $self->{distro}->installXDM();
- }
-
- return 1;
-}
-
-sub _fillUnsetStage1Attrs
-{
- my $self = shift;
-
- if (!defined $self->{'gnome'}) {
- $self->{'gnome'} = $self->{distro}->isGNOMEInstalled();
- }
- if (!defined $self->{'gdm'}) {
- $self->{'gdm'} = $self->{distro}->isGDMInstalled();
- }
- if (!defined $self->{'kde'}) {
- $self->{'kde'} = $self->{distro}->isKDEInstalled();
- }
- if (!defined $self->{'kdm'}) {
- $self->{'kdm'} = $self->{distro}->isKDMInstalled();
- }
- if (!defined $self->{'xfce'}) {
- $self->{'xfce'} = $self->{distro}->isXFCEInstalled();
- }
- if (!defined $self->{'xdm'}) {
- $self->{'xdm'} = $self->{distro}->isXDMInstalled();
- }
- if (!defined $self->{'supported_themes'}) {
- $self->{attrs}->{'desktop::supported_themes'}
- = $self->{'supported_themes'}
- = join ",", $self->_getAvailableThemes();
- }
-
- return 1;
-}
-
-sub _ensureSensibleStage3Attrs
-{
- my $self = shift;
-
- # check if current desktop kind is enabled at all and select another
- # one, if it isn't
- my $kind = $self->{attrs}->{'desktop::kind'} || '';
- if (!$self->{$kind}) {
- my @desktops = map { $self->{$_} ? $_ : () } qw( gnome kde xfce );
- if (!@desktops) {
- die _tr(
- "no desktop kind is possible, plugin 'desktop' wouldn't work!"
- );
- }
- vlog(0, _tr("selecting %s as desktop kind\n", $desktops[0]));
- $self->{attrs}->{'desktop::kind'} = $desktops[0];
- }
-
- # check if current desktop manager is enabled at all and select another
- # one, if it isn't
- my $manager = $self->{attrs}->{'desktop::manager'} || '';
- if (!$self->{$manager}) {
- my @managers = map { $self->{$_} ? $_ : () } qw( kdm gdm xdm );
- if (!@managers) {
- die _tr(
- "no desktop manager is possible, plugin 'desktop' wouldn't work!"
- );
- }
- vlog(0, _tr("selecting %s as desktop manager\n", $managers[0]));
- $self->{attrs}->{'desktop::manager'} = $managers[0];
- }
-
- # check if current theme is supported at all and select another one, if it
- # isn't
- my $theme = $self->{attrs}->{'desktop::theme'} || '';
- my @supportedThemes = split ",", $self->{'supported_themes'} || '';
- if (!grep { $_ eq $theme } @supportedThemes) {
- if (!@supportedThemes) {
- vlog( 0, _tr("no themes are supported, using no theme!"));
- $self->{attrs}->{'desktop::theme'} = undef;
- }
- else {
- vlog(0, _tr("selecting %s as theme\n", $supportedThemes[0]));
- $self->{attrs}->{'desktop::theme'} = $supportedThemes[0];
- }
- }
-
- return 1;
-}
-
-sub _setupGDM
-{
- my $self = shift;
-
- my $repoPath = $self->{pluginRepositoryPath};
- mkpath([
- "$repoPath/gdm/workstation",
- "$repoPath/gdm/kiosk",
- "$repoPath/gdm/chooser",
- ]);
-
- $self->_setupGDMScript();
-
- my $configHash = $self->{distro}->GDMConfigHashForWorkstation();
- $self->_writeConfigHash($configHash, "$repoPath/gdm/workstation/gdm.conf");
-
- $configHash = $self->{distro}->GDMConfigHashForKiosk();
- $self->_writeConfigHash($configHash, "$repoPath/gdm/kiosk/gdm.conf");
-
- $configHash = $self->{distro}->GDMConfigHashForChooser();
- $self->_writeConfigHash($configHash, "$repoPath/gdm/chooser/gdm.conf");
-
- return;
-}
-
-sub _setupGDMScript
-{
- my $self = shift;
-
- my $repoPath = $self->{pluginRepositoryPath};
- my $script = $self->{distro}->setupGDMScript($repoPath);
-
- spitFile("$repoPath/gdm/desktop.sh", $script);
-
- return;
-}
-
-sub _setupKDM
-{
- my $self = shift;
-
- my $repoPath = $self->{pluginRepositoryPath};
- mkpath([
- "$repoPath/kdm/workstation",
- "$repoPath/kdm/kiosk",
- "$repoPath/kdm/chooser",
- ]);
-
- $self->_setupKDMScript();
-
- my $configHash = $self->{distro}->KDMConfigHashForWorkstation();
- $self->_writeConfigHash($configHash, "$repoPath/kdm/workstation/kdmrc");
-
- $configHash = $self->{distro}->KDMConfigHashForKiosk();
- $self->_writeConfigHash($configHash, "$repoPath/kdm/kiosk/kdmrc");
-
- $configHash = $self->{distro}->KDMConfigHashForChooser();
- $self->_writeConfigHash($configHash, "$repoPath/kdm/chooser/kdmrc");
-
- return;
-}
-
-sub _setupKDMScript
-{
- my $self = shift;
-
- my $repoPath = $self->{pluginRepositoryPath};
- my $script = $self->{distro}->setupKDMScript($repoPath);
-
- spitFile("$repoPath/kdm/desktop.sh", $script);
-
- return;
-}
-
-sub _setupXDM
-{
- my $self = shift;
-}
-
-sub _writeConfigHash
-{
- my $self = shift;
- my $hash = shift || {};
- my $file = shift;
-
- my $content = '';
- for my $domain (sort keys %$hash) {
- $content .= "[$domain]\n";
- for my $key (sort keys %{$hash->{$domain}}) {
- my $value
- = defined $hash->{$domain}->{$key}
- ? $hash->{$domain}->{$key}
- : '';
- $content .= "$key=$value\n";
- }
- $content .= "\n";
- }
- spitFile($file, $content);
-
- return;
-}
-
-sub _setupSupportedThemes
-{
- my $self = shift;
-
- my $supportedThemes = $self->{attrs}->{'desktop::supported_themes'} || '';
- my @supportedThemes = split m{\s*,\s*}, $supportedThemes;
- return if !@supportedThemes;
-
- # Every theme is copied from the folder where it is found first, such that
- # themes in the config folder will be preferred to a theme with the same
- # name living in the base folder
- my @themeBaseDirs = (
- "$self->{openslxConfigPath}/plugins/desktop/themes",
- "$self->{openslxBasePath}/lib/plugins/desktop/themes",
- );
- THEME:
- for my $theme (@supportedThemes) {
- THEME_DIR:
- foreach my $themeBaseDir (@themeBaseDirs) {
- my $gdmThemeDir = "$themeBaseDir/gdm/$theme";
- my $kdmThemeDir = "$themeBaseDir/kdm/$theme";
- next THEME_DIR if !-d $gdmThemeDir && !-d $kdmThemeDir;
- # any of both dirs is enough
-
- # copy theme into plugin-repo folder
- vlog(1, "installing theme '$theme'...");
- my $gdmThemeTargetPath = "$self->{pluginRepositoryPath}/themes/gdm";
- mkpath($gdmThemeTargetPath);
- slxsystem(
- "cp -a $gdmThemeDir $gdmThemeTargetPath/$theme 2>/dev/null"
- ) == 0
- or die _tr('unable to copy GDM-theme %s (%s)', $theme, $!);
- my $kdmThemeTargetPath = "$self->{pluginRepositoryPath}/themes/kdm";
- mkpath($kdmThemeTargetPath);
- slxsystem(
- "cp -a $kdmThemeDir $kdmThemeTargetPath/$theme 2>/dev/null"
- ) == 0
- or die _tr('unable to copy KDM-theme %s (%s)', $theme, $!);
- next THEME;
- }
- warn _tr('theme "%s" not found - skipped!', $theme);
- }
-
- return;
-}
-
-sub _getAvailableThemes
-{
- my $self = shift;
-
- my %availableThemes;
-
- # return all themes found in any of these two folders
- my @themeBaseDirs = (
- "$self->{openslxConfigPath}/plugins/desktop/themes",
- "$self->{openslxBasePath}/lib/plugins/desktop/themes",
- );
- for my $themeBaseDir (@themeBaseDirs) {
- my @foundGDMThemes
- = map { basename $_ } grep { -d $_ } glob("$themeBaseDir/gdm/*");
- @availableThemes{@foundGDMThemes} = ();
- my @foundKDMThemes
- = map { basename $_ } grep { -d $_ } glob("$themeBaseDir/kdm/*");
- @availableThemes{@foundKDMThemes} = ();
- }
-
- vlog(1, _tr("available themes: %s", join ",", keys %availableThemes));
-
- return keys %availableThemes;
-}
-
-1;
diff --git a/os-plugins/plugins/desktop/XX_desktop.sh b/os-plugins/plugins/desktop/XX_desktop.sh
deleted file mode 100644
index a8cc71fc..00000000
--- a/os-plugins/plugins/desktop/XX_desktop.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2007..2008 - RZ Uni Freiburg
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'desktop' plugin - the runlevel script
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-if [ -e /initramfs/plugin-conf/desktop.conf ]; then
- . /initramfs/plugin-conf/desktop.conf
- if [ $desktop_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'desktop' os-plugin ...";
-
- # problem which occurs if exporting was forgotten (quick fix code)
- if [ -e /mnt/opt/openslx/plugin-repo/desktop/${desktop_manager}/desktop.sh ]
- then . /mnt/opt/openslx/plugin-repo/desktop/${desktop_manager}/desktop.sh
- else
- error "This shouldn't fail - you might have forgotten to export \
-your system." fatal
- fi
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'desktop' os-plugin ...";
-
- fi
-fi
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx-legacy b/os-plugins/plugins/desktop/themes/gdm/openslx-legacy
deleted file mode 120000
index d97839a5..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx-legacy
+++ /dev/null
@@ -1 +0,0 @@
-openslx \ No newline at end of file
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/GdmGreeterTheme.desktop b/os-plugins/plugins/desktop/themes/gdm/openslx/GdmGreeterTheme.desktop
deleted file mode 100755
index 08e5efce..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/GdmGreeterTheme.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[GdmGreeterTheme]
-Encoding=UTF-8
-Greeter=theme.xml
-Name=OpenSLX GDM theme
-Description=GDM Port of Daemonic KDM theme for FreeBSD
-Author=MJanc / KDM by aceph <aceph@ventcore.net>
-Copyright=Creative Commons
-Screenshot=screenshot.png \ No newline at end of file
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/color.png b/os-plugins/plugins/desktop/themes/gdm/openslx/color.png
deleted file mode 100644
index 7a0feb03..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/color.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/environment.png b/os-plugins/plugins/desktop/themes/gdm/openslx/environment.png
deleted file mode 100644
index 7ad6783a..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/environment.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/language-selector.png b/os-plugins/plugins/desktop/themes/gdm/openslx/language-selector.png
deleted file mode 100644
index da016473..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/language-selector.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/language-selector_inactive.png b/os-plugins/plugins/desktop/themes/gdm/openslx/language-selector_inactive.png
deleted file mode 100644
index bb2c8f69..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/language-selector_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/main-runner.png b/os-plugins/plugins/desktop/themes/gdm/openslx/main-runner.png
deleted file mode 100644
index dde10cc8..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/main-runner.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/openslx-logo-main.png b/os-plugins/plugins/desktop/themes/gdm/openslx/openslx-logo-main.png
deleted file mode 100644
index f98e6517..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/openslx-logo-main.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/openslx-logo.png b/os-plugins/plugins/desktop/themes/gdm/openslx/openslx-logo.png
deleted file mode 100644
index 8cfaaf94..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/openslx-logo.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/sessions.png b/os-plugins/plugins/desktop/themes/gdm/openslx/sessions.png
deleted file mode 100644
index 00d05f29..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/sessions.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/sessions_inactive.png b/os-plugins/plugins/desktop/themes/gdm/openslx/sessions_inactive.png
deleted file mode 100644
index 86bbe642..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/sessions_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/system.png b/os-plugins/plugins/desktop/themes/gdm/openslx/system.png
deleted file mode 100644
index f7b9e71f..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/system.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/system_inactive.png b/os-plugins/plugins/desktop/themes/gdm/openslx/system_inactive.png
deleted file mode 100644
index c3e1719b..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/system_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/theme.xml b/os-plugins/plugins/desktop/themes/gdm/openslx/theme.xml
deleted file mode 100644
index 46ef334e..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/theme.xml
+++ /dev/null
@@ -1,224 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE greeter SYSTEM "greeter.dtd">
-<!--
-GDM-OpenSLX-Theme
--->
-<greeter id="theme">
-
- <!-- background -->
- <item type="pixmap" id="background" background="true">
- <normal file="color.png"/>
- <pos x="0" y="0" width="100%" height="100%"/>
- </item>
-
- <!-- top / welcome, clock and big logo -->
- <item type="rect" id="top" background="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="n" x="50%" y="0" width="100%" height="40%"/>
- <box orientation="vertical" homogeneous="true">
-
- <item type="pixmap" background="true">
- <normal file="welcome-time-shadowed.png"/>
- <pos anchor="n" x="50%" y="0" width="80%" height="44"/>
- <box orientation="horizontal" homogeneous="true">
- <!-- Welcome on ... -->
- <item type="label" background="true">
- <pos anchor="w" x="10%" y="30%"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <stock type="welcome-label"/>
- </item>
- <!-- clock -->
- <item type="label" id="clock">
- <pos anchor="e" x="90%" y="30%"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <text>%c</text>
- </item>
- </box>
- </item>
-
- <item type="rect" id="logo">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="10%" width="100%" height="100%"/>
- <box orientation="vertical" homogeneous="true">
- <item type="pixmap">
- <normal file="openslx-logo-main.png"/>
- <pos anchor="c" x="50%" y="50%"/>
- </item>
- </box>
- </item>
-
- </box>
- </item>
-
- <!-- main part / login, session, menu, ... -->
- <item type="pixmap" id="main-runner" background="true">
- <normal file="main-runner.png"/>
- <pos anchor="c" x="50%" y="50%" width="100%" height="160"/>
- <box orientation="horizontal" homogeneous="true">
-
- <item type="rect" background="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="w" x="0%" y="50%" width="100%" height="100%"/>
- <box orientation="horizontal" homogeneous="true">
-
- <!-- left part / login -->
- <item type="rect" background="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="w" x="0" y="50%" width="100%" height="100%"/>
- <box orientation="horizontal">
-
- <!-- small logo -->
- <item type="pixmap" background="true">
- <normal file="openslx-logo.png"/>
- <pos anchor="w" x="30" y="50%"/>
- </item>
-
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="w" x="70" y="50%" width="box" height="box"/>
- <box homogeneous="true" spacing="5">
- <!-- username-label -->
- <item type="label" id="pam-prompt">
- <pos anchor="nw" x="0" y="0"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <stock type="username-label"/>
- </item>
- <!-- username-entry -->
- <item type="entry" id="user-pw-entry">
- <normal color="#0f0f0f" font="Sans 11"/>
- <pos anchor="sw" x="0" y="100%" height="20" width="120"/>
- </item>
- </box>
- </item>
-
- </box>
- </item>
-
- <!-- middle part / errors, caps info, gdm logo -->
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="50%" width="90%" height="100%"/>
- <box orientation="vertical">
-
- <!-- Login-Error -->
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="n" x="50%" y="10" width="100%" height="30"/>
- <box>
- <item type="label" id="pam-error">
- <normal color="#ff8b00" font="Sans 11"/>
- <pos anchor="c" x="50%" y="15"/>
- <text/>
- </item>
- </box>
- </item>
-
- <item type="pixmap">
- <normal file="environment.png"/>
- <pos anchor="c" x="50%" y="50%"/>
- </item>
-
- <!-- capslock-warning -->
- <item type="rect" id="caps-lock-warning">
- <normal color="#000000" alpha="0.4"/>
- <pos anchor="s" x="50%" y="-10" width="100%" height="30"/>
- <box>
- <item type="label">
- <normal color="#ff8b00" font="Sans 11"/>
- <pos anchor="c" x="50%" y="15"/>
- <stock type="caps-lock-warning"/>
- </item>
- </box>
- </item>
-
- </box>
- </item>
-
- <!-- right part / sessions, menu -->
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="e" x="100%" y="50%" width="100%" height="100%"/>
- <box orientation="vertical" homogeneous="true" spacing="10">
-
- <!-- session-button -->
- <item type="rect" id="session_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="se" x="-50" y="100%" width="box" height="box"/>
- <box orientation="horizontal">
- <item type="label">
- <normal color="#bbbbbb" font="Sans 11"/>
- <prelight color="#f0f0f0" font="Sans 11"/>
- <active color="#ff8b00" font="Sans 11"/>
- <pos anchor="e" x="100%" y="-24"/>
- <stock type="session"/>
- </item>
- <item type="rect" id="session_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="50%" width="10"/>
- </item>
- <item type="pixmap" id="session_button" button="true">
- <normal file="sessions_inactive.png"/>
- <prelight file="sessions.png"/>
- <pos anchor="se" x="100%" y="100%"/>
- </item>
- </box>
- </item>
-
- <!-- menu-button -->
- <item type="rect" id="system_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="ne" x="-50" y="0" width="box" height="box"/>
- <box orientation="horizontal">
- <item type="label">
- <normal color="#bbbbbb" font="Sans 11"/>
- <prelight color="#f0f0f0" font="Sans 11"/>
- <active color="#ff8b00" font="Sans 11"/>
- <pos anchor="e" x="100%" y="24"/>
- <stock type="system"/>
- </item>
- <item type="rect" id="system_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="50%" width="10"/>
- </item>
- <item type="pixmap" id="system_button" button="true">
- <normal file="system_inactive.png"/>
- <prelight file="system.png"/>
- <pos anchor="ne" x="100%" y="0%"/>
- </item>
- </box>
- </item>
-
- </box>
- </item>
-
- </box>
- </item>
-
- </box>
- </item>
-
- <!-- language-button -->
- <item type="rect" id="language_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="se" x="-10" y="-10" width="box" height="box"/>
- <box orientation="horizontal">
- <item type="label">
- <normal color="#3e5d72" font="Sans 11"/>
- <prelight color="#557f9c" font="Sans 11"/>
- <active color="#ff8b00" font="Sans 11"/>
- <pos anchor="e" x="100%" y="16"/>
- <stock type="language"/>
- </item>
- <item type="rect" id="language_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="50%" width="10"/>
- </item>
- <item type="pixmap" id="language_button" button="true">
- <normal file="language-selector_inactive.png"/>
- <prelight file="language-selector.png"/>
- <pos anchor="ne" x="100%" y="0%"/>
- </item>
- </box>
- </item>
-
-</greeter>
diff --git a/os-plugins/plugins/desktop/themes/gdm/openslx/welcome-time-shadowed.png b/os-plugins/plugins/desktop/themes/gdm/openslx/welcome-time-shadowed.png
deleted file mode 100644
index 79e872c3..00000000
--- a/os-plugins/plugins/desktop/themes/gdm/openslx/welcome-time-shadowed.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/GdmGreeterTheme.desktop b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/GdmGreeterTheme.desktop
deleted file mode 100755
index da63ec08..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/GdmGreeterTheme.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[GdmGreeterTheme]
-Encoding=UTF-8
-Greeter=theme.xml
-Name=OpenSLX KDM theme
-Description=KDM Port of Daemonic KDM theme for FreeBSD
-Author=MJanc / KDM by aceph <aceph@ventcore.net>
-Copyright=Creative Commons
-Screenshot=screenshot.png
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/KdmGreeterTheme.desktop b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/KdmGreeterTheme.desktop
deleted file mode 100755
index 3cb9069d..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/KdmGreeterTheme.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[KdmGreeterTheme]
-Encoding=UTF-8
-Greeter=theme.xml
-Name=OpenSLX KDM theme
-Description=KDM Port of Daemonic KDM theme for FreeBSD
-Author=MJanc / KDM by aceph <aceph@ventcore.net>
-Copyright=Creative Commons
-Screenshot=screenshot.png
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/color.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/color.png
deleted file mode 100644
index 7a0feb03..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/color.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/enter.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/enter.png
deleted file mode 100644
index b646e851..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/enter.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/enter_inactive.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/enter_inactive.png
deleted file mode 100644
index e12cfb8e..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/enter_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/environment.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/environment.png
deleted file mode 100644
index b9682822..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/environment.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/main-runner.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/main-runner.png
deleted file mode 100644
index 5b3cf656..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/main-runner.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/openslx-logo-main.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/openslx-logo-main.png
deleted file mode 100644
index f98e6517..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/openslx-logo-main.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/openslx-logo.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/openslx-logo.png
deleted file mode 100644
index 8cfaaf94..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/openslx-logo.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/sessions.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/sessions.png
deleted file mode 100644
index 00d05f29..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/sessions.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/sessions_inactive.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/sessions_inactive.png
deleted file mode 100644
index 86bbe642..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/sessions_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/system.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/system.png
deleted file mode 100644
index f7b9e71f..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/system.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/system_inactive.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/system_inactive.png
deleted file mode 100644
index c3e1719b..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/system_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/theme.xml b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/theme.xml
deleted file mode 100644
index 61ae6644..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/theme.xml
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE greeter SYSTEM "greeter.dtd">
-<!--
-KDM3-OpenSLX-Theme
--->
-<greeter>
- <!-- main pic, login pic -->
- <item type="pixmap">
- <normal file="color.png"/>
- <pos x="0" y="0" width="100%" height="100%"/>
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="n" x="50%" y="0" width="100%" height="40%"/>
-
- <item type="pixmap">
- <normal file="welcome-time-shadowed.png"/>
- <pos anchor="n" x="50%" y="0" width="80%" height="44"/>
-
- <!-- Welcome on ... -->
- <item type="label">
- <pos anchor="w" x="5%" y="33%"/>
- <normal color="#f0f0f0" font="Sans 12"/>
- <!-- <stock type="welcome-label"/> -->
- <text>OpenSLX Workstation (%h)</text>
- </item>
-
- <!-- clock -->
- <item type="label" id="clock">
- <normal color="#f0f0f0" font="Sans 12"/>
- <pos anchor="e" x="95%" y="33%"/>
- <text>%c</text>
- </item>
-
- </item>
-
- <item type="pixmap">
- <normal file="openslx-logo-main.png"/>
- <pos anchor="n" x="50%" y="20%" height="70%"/>
- </item>
-
- </item>
-
- <item type="pixmap">
- <normal file="main-runner.png"/>
- <pos anchor="c" x="50%" y="50%" width="100%" height="160"/>
-
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="w" x="0" y="50%" width="35%" height="100%"/>
-
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="w" x="0" y="50%" width="120" height="100%"/>
- <item type="pixmap">
- <normal file="openslx-logo.png"/>
- <pos anchor="e" x="100%" y="50%"/>
- </item>
- </item>
-
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="e" x="-140" y="50%" width="100%" height="100%"/>
-
- <!-- username-label -->
- <item type="label">
- <pos anchor="e" x="-5" y="40%"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <stock type="username-label"/>
- </item>
-
- <!-- password-label -->
- <item type="label">
- <pos anchor="e" x="-5" y="60%"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <stock type="password-label"/>
- </item>
-
- </item>
-
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="e" x="100%" y="50%" width="140" height="100%"/>
-
- <!-- username-entry -->
- <item type="entry" id="user-entry">
- <pos anchor="w" x="0" y="40%" height="22" width="114"/>
- </item>
-
- <!-- password-entry -->
- <item type="entry" id="pw-entry">
- <pos anchor="w" x="0" y="60%" height="22" width="114"/>
- </item>
-
- <item type="pixmap" button="true" id="login_button">
- <pos anchor="e" x="100%" y="60%" height="22" width="22"/>
- <normal file="enter_inactive.png"/>
- <prelight file="enter.png"/>
- </item>
-
- </item>
-
- </item>
-
- <item type="rect">
- <normal color="#ff0000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="50%" width="30%" height="160"/>
-
- <!-- capslock-warning -->
- <item type="pixmap" id="caps-lock-warning">
- <normal file="error.png"/>
- <pos anchor="c" x="50%" y="22" width="100%" height="70"/>
- <item type="rect" id="caps-lock-warning">
- <normal color="#000000" alpha="0.4"/>
- <pos anchor="c" x="50%" y="50%" width="100%" height="box"/>
- <box orientation="vertical" xpadding="10" ypadding="5" spacing="0">
- <item type="label">
- <normal color="#ff8b00" font="Sans 11"/>
- <pos x="50%" anchor="n"/>
- <stock type="caps-lock-warning"/>
- </item>
- </box>
- </item>
- </item>
-
- <item type="pixmap">
- <normal file="environment.png"/>
- <pos anchor="c" x="50%" y="50%" width="186" height="100"/>
- </item>
-
- <!-- Login-Error -->
- <item type="pixmap" id="pam-error">
- <normal file="error.png"/>
- <pos anchor="c" x="50%" y="-22" width="100%" height="70"/>
- <item type="rect">
- <normal color="#000000" alpha="0.4"/>
- <pos anchor="c" x="50%" y="50%" width="100%" height="box"/>
- <box orientation="vertical" xpadding="10" ypadding="5" spacing="0">
- <item type="label">
- <normal color="#ff8b00" font="Sans 11"/>
- <pos anchor="n" x="50%"/>
- <text>Login failed!</text>
- <text xml:lang="en">Login failed!</text>
- <text xml:lang="de">Login fehlgeschlagen!</text>
- </item>
- </box>
- </item>
- </item>
-
- </item>
-
- <!-- icons and text on the left -->
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="e" x="100%" y="50%" width="35%" height="100%"/>
-
- <!-- session-button -->
- <item type="rect" id="session_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="se" x="80%" y="50%" width="160" height="50%"/>
-
- <item type="pixmap" id="session_button" button="true">
- <normal file="sessions_inactive.png"/>
- <prelight file="sessions.png"/>
- <pos anchor="se" x="94%" y="-8" width="48" height="48"/>
- </item>
-
- <item type="label">
- <normal color="#bbbbbb" font="Sans 11"/>
- <prelight color="#f0f0f0" font="Sans 11"/>
- <active color="#ff8b00" font="Sans 11"/>
- <pos anchor="e" x="-70" y="-32"/>
- <text>Session</text>
- <text xml:lang="en">Session</text>
- <text xml:lang="de">Sitzung</text>
- </item>
-
- </item>
-
- <!-- menu-button -->
- <item type="rect" id="system_button" button="true">
- <show modes="console" type="system"/>
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="ne" x="80%" y="50%" width="160" height="50%"/>
- <item type="pixmap" id="system_button" button="true">
- <normal file="system_inactive.png"/>
- <prelight file="system.png"/>
- <pos anchor="ne" x="94%" y="8" width="48" height="48"/>
- </item>
- <item type="label">
- <normal color="#bbbbbb" font="Sans 11"/>
- <prelight color="#f0f0f0" font="Sans 11"/>
- <active color="#ff8b00" font="Sans 11"/>
- <pos anchor="e" x="-70" y="32"/>
- <text>System Menu</text>
- <text xml:lang="en">System Menu</text>
- <text xml:lang="de">System Menü</text>
- </item>
- </item>
-
- </item>
-
- </item>
- </item>
-</greeter>
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/welcome-time-shadowed.png b/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/welcome-time-shadowed.png
deleted file mode 100644
index 79e872c3..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx-legacy/welcome-time-shadowed.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/KdmGreeterTheme.desktop b/os-plugins/plugins/desktop/themes/kdm/openslx/KdmGreeterTheme.desktop
deleted file mode 100755
index 3cb9069d..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/KdmGreeterTheme.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[KdmGreeterTheme]
-Encoding=UTF-8
-Greeter=theme.xml
-Name=OpenSLX KDM theme
-Description=KDM Port of Daemonic KDM theme for FreeBSD
-Author=MJanc / KDM by aceph <aceph@ventcore.net>
-Copyright=Creative Commons
-Screenshot=screenshot.png
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/color.png b/os-plugins/plugins/desktop/themes/kdm/openslx/color.png
deleted file mode 100644
index 7a0feb03..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/color.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/enter.png b/os-plugins/plugins/desktop/themes/kdm/openslx/enter.png
deleted file mode 100644
index b646e851..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/enter.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/enter_inactive.png b/os-plugins/plugins/desktop/themes/kdm/openslx/enter_inactive.png
deleted file mode 100644
index e12cfb8e..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/enter_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/environment.png b/os-plugins/plugins/desktop/themes/kdm/openslx/environment.png
deleted file mode 100644
index b9682822..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/environment.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/main-runner.png b/os-plugins/plugins/desktop/themes/kdm/openslx/main-runner.png
deleted file mode 100644
index dde10cc8..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/main-runner.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/openslx-logo-main.png b/os-plugins/plugins/desktop/themes/kdm/openslx/openslx-logo-main.png
deleted file mode 100644
index f98e6517..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/openslx-logo-main.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/openslx-logo.png b/os-plugins/plugins/desktop/themes/kdm/openslx/openslx-logo.png
deleted file mode 100644
index 8cfaaf94..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/openslx-logo.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/sessions.png b/os-plugins/plugins/desktop/themes/kdm/openslx/sessions.png
deleted file mode 100644
index 00d05f29..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/sessions.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/sessions_inactive.png b/os-plugins/plugins/desktop/themes/kdm/openslx/sessions_inactive.png
deleted file mode 100644
index 86bbe642..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/sessions_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/system.png b/os-plugins/plugins/desktop/themes/kdm/openslx/system.png
deleted file mode 100644
index f7b9e71f..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/system.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/system_inactive.png b/os-plugins/plugins/desktop/themes/kdm/openslx/system_inactive.png
deleted file mode 100644
index c3e1719b..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/system_inactive.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/theme.xml b/os-plugins/plugins/desktop/themes/kdm/openslx/theme.xml
deleted file mode 100644
index d748c776..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/theme.xml
+++ /dev/null
@@ -1,232 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE greeter SYSTEM "greeter.dtd">
-<!--
-KDM-OpenSLX-Theme
--->
-<greeter id="theme">
- <style font="Sans 11" window-text-color="#f0f0f0" base-color="#f0f0f0" text-color="#000000"/>
-
- <!-- background -->
- <item type="pixmap" id="background" background="true">
- <normal file="color.png"/>
- <pos x="0" y="0" width="100%" height="100%"/>
- </item>
-
- <!-- top / welcome, clock and big logo -->
- <item type="rect" id="top" background="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="n" x="50%" y="0" width="100%" height="40%"/>
- <box orientation="vertical" homogeneous="true">
-
- <item type="pixmap" background="true">
- <normal file="welcome-time-shadowed.png"/>
- <pos anchor="n" x="50%" y="0" width="80%" height="44"/>
- <box orientation="horizontal" homogeneous="true">
- <!-- Welcome on ... -->
- <item type="label" background="true">
- <pos anchor="w" x="10%" y="30%"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <stock type="welcome-label"/>
- </item>
- <!-- clock -->
- <item type="label" id="clock">
- <pos anchor="e" x="90%" y="30%"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <text>%c</text>
- </item>
- </box>
- </item>
-
- <item type="rect" id="logo">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="10%" width="100%" height="100%"/>
- <box orientation="vertical" homogeneous="true">
- <item type="pixmap">
- <normal file="openslx-logo-main.png"/>
- <pos anchor="c" x="50%" y="50%"/>
- </item>
- </box>
- </item>
-
- </box>
- </item>
-
- <!-- main part / login, session, menu, ... -->
- <item type="pixmap" id="main-runner" background="true">
- <normal file="main-runner.png"/>
- <pos anchor="c" x="50%" y="50%" width="100%" height="160"/>
- <box orientation="horizontal" homogeneous="true">
-
- <item type="rect" background="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="w" x="0%" y="50%" width="100%" height="100%"/>
- <box orientation="horizontal" homogeneous="true">
-
- <!-- left part / login -->
- <item type="rect" background="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="w" x="0" y="50%" width="100%" height="100%"/>
- <box orientation="horizontal">
-
- <!-- small logo -->
- <item type="pixmap" background="true">
- <normal file="openslx-logo.png"/>
- <pos anchor="w" x="30" y="50%"/>
- </item>
-
- <!-- login -->
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="w" x="70" y="50%" width="box" height="box"/>
- <box orientation="horizontal" spacing="10">
-
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="sw" x="0" y="100%" width="box" height="100%"/>
- <box homogeneous="true" spacing="10">
- <!-- username-label -->
- <item type="label">
- <pos anchor="nw" x="0" y="0"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <stock type="username-label"/>
- </item>
- <!-- password-label -->
- <item type="label">
- <pos anchor="sw" x="0" y="-0"/>
- <normal color="#f0f0f0" font="Sans 11"/>
- <stock type="password-label"/>
- </item>
- </box>
- </item>
-
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="nw" x="0" y="0" width="box" height="box"/>
- <box homogeneous="true" spacing="10">
- <!-- username-entry -->
- <item type="entry" id="user-entry">
- <pos anchor="w" x="0" y="50%" height="20" width="100"/>
- </item>
- <!-- password-entry -->
- <item type="entry" id="pw-entry">
- <pos anchor="w" x="0" y="50%" height="20" width="100"/>
- </item>
- </box>
- </item>
-
- <item type="pixmap" button="true" id="login_button">
- <pos anchor="sw" x="0" y="-0" height="20" width="20"/>
- <normal file="enter_inactive.png"/>
- <prelight file="enter.png"/>
- </item>
-
- </box>
- </item>
-
- </box>
- </item>
-
- <!-- middle part / errors, caps info, kdm logo -->
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="50%" width="90%" height="100%"/>
- <box orientation="vertical">
-
- <!-- Login-Error -->
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="n" x="50%" y="10" width="100%" height="30"/>
- <box>
- <item type="label" id="pam-error">
- <normal color="#ff8b00" font="Sans 11"/>
- <pos anchor="c" x="50%" y="15"/>
- <text/>
- </item>
- </box>
- </item>
-
- <item type="pixmap">
- <normal file="environment.png"/>
- <pos anchor="c" x="50%" y="50%"/>
- </item>
-
- <!-- capslock-warning -->
- <item type="rect" id="caps-lock-warning">
- <normal color="#000000" alpha="0.4"/>
- <pos anchor="s" x="50%" y="-10" width="100%" height="30"/>
- <box>
- <item type="label">
- <normal color="#ff8b00" font="Sans 11"/>
- <pos anchor="c" x="50%" y="15"/>
- <stock type="caps-lock-warning"/>
- </item>
- </box>
- </item>
-
- </box>
- </item>
-
- <!-- right part / sessions, menu -->
- <item type="rect">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="e" x="100%" y="50%" width="100%" height="100%"/>
- <box orientation="vertical" homogeneous="true" spacing="10">
-
- <!-- session-button -->
- <item type="rect" id="session_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="se" x="-50" y="100%" width="box" height="box"/>
- <box orientation="horizontal">
- <item type="label">
- <normal color="#bbbbbb" font="Sans 11"/>
- <prelight color="#f0f0f0" font="Sans 11"/>
- <active color="#ff8b00" font="Sans 11"/>
- <pos anchor="e" x="100%" y="-24"/>
- <stock type="session"/>
- </item>
- <item type="rect" id="session_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="50%" width="10"/>
- </item>
- <item type="pixmap" id="session_button" button="true">
- <normal file="sessions_inactive.png"/>
- <prelight file="sessions.png"/>
- <pos anchor="se" x="100%" y="100%"/>
- </item>
- </box>
- </item>
-
- <!-- menu-button -->
- <item type="rect" id="system_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="ne" x="-50" y="0" width="box" height="box"/>
- <box orientation="horizontal">
- <item type="label">
- <normal color="#bbbbbb" font="Sans 11"/>
- <prelight color="#f0f0f0" font="Sans 11"/>
- <active color="#ff8b00" font="Sans 11"/>
- <pos anchor="e" x="100%" y="24"/>
- <stock type="system"/>
- </item>
- <item type="rect" id="system_button" button="true">
- <normal color="#000000" alpha="0.0"/>
- <pos anchor="c" x="50%" y="50%" width="10"/>
- </item>
- <item type="pixmap" id="system_button" button="true">
- <normal file="system_inactive.png"/>
- <prelight file="system.png"/>
- <pos anchor="ne" x="100%" y="0%"/>
- </item>
- </box>
- </item>
-
- </box>
- </item>
-
- </box>
- </item>
-
- </box>
- </item>
-
-</greeter>
diff --git a/os-plugins/plugins/desktop/themes/kdm/openslx/welcome-time-shadowed.png b/os-plugins/plugins/desktop/themes/kdm/openslx/welcome-time-shadowed.png
deleted file mode 100644
index 79e872c3..00000000
--- a/os-plugins/plugins/desktop/themes/kdm/openslx/welcome-time-shadowed.png
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/dropbear/OpenSLX/OSPlugin/dropbear.pm b/os-plugins/plugins/dropbear/OpenSLX/OSPlugin/dropbear.pm
deleted file mode 100644
index fc1b96f8..00000000
--- a/os-plugins/plugins/dropbear/OpenSLX/OSPlugin/dropbear.pm
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# dropbear.pm
-# - an dropbear implementation of the OSPlugin API (i.e. an os-plugin)
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::dropbear;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-# if you have any questions regarding the concept of OS-plugins and their
-# implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-# '#openslx' (on freenode).
-################################################################################
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'dropbear',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- dropbear is a simple/small ssh daemon (for stage 3)
- End-of-Here
- precedence => 50,
- };
-}
-
-sub getAttrInfo
-{ # returns a hash-ref with information about all attributes supported
- # by this specific plugin
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- 'dropbear::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'dropbear'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
- my $openslxConfigPath = $info->{'openslx-config-path'};
- my $attrs = $info->{'plugin-attrs'};
-
- my $filesDir = "$openslxBasePath/lib/plugins/dropbear/files";
-
- copyFile("$filesDir/dropbearmulti","$pluginRepoPath");
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/dropbear/XX_dropbear.sh b/os-plugins/plugins/dropbear/XX_dropbear.sh
deleted file mode 100644
index cb4321ff..00000000
--- a/os-plugins/plugins/dropbear/XX_dropbear.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-
-# Copyright (c) 2007..2008 - RZ Uni Freiburg
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'dropbear' plugin - the runlevel script
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-if [ -e /initramfs/plugin-conf/dropbear.conf ]; then
- . /initramfs/plugin-conf/dropbear.conf
- if [ $dropbear_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'dropbear' os-plugin ...";
-
- # setup links to multibinary
- ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /sbin/dropbear
- ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /sbin/dropbearkey
- ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /sbin/dropbearconvert
- ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /bin/dbclient
- ln -sf /mnt/opt/openslx/plugin-repo/dropbear/dropbearmulti /bin/scp
-
- # create dropbear config dir
- mkdir -p /etc/dropbear
-
- # touch some files to get rid of error msgs
- touch /var/log/lastlog
- touch /var/log/wtmp
-
- # copy ssh auth keys from stage1
- cp -r /mnt/root/.ssh /root
-
- # give root a valid shell
- sed -i /etc/passwd -e "s/bash/sh/"
-
- # convert openssh rsa key to dropbear key - if available
- if [ -e /mnt/etc/ssh/ssh_host_rsa_key ]; then
- dropbearconvert openssh dropbear /mnt/etc/ssh/ssh_host_rsa_key \
- /etc/dropbear/dropbear_rsa_host_key
- else
- dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
- fi
-
- echo "OpenSLX Debugshell (stage3)" >> /etc/motd
-
- /sbin/dropbear
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'dropbear' os-plugin ...";
-
- fi
-fi
diff --git a/os-plugins/plugins/dropbear/files/dropbearmulti b/os-plugins/plugins/dropbear/files/dropbearmulti
deleted file mode 100755
index 357e644f..00000000
--- a/os-plugins/plugins/dropbear/files/dropbearmulti
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/dropbear/init-hooks/95-cleanup/dropbear.sh b/os-plugins/plugins/dropbear/init-hooks/95-cleanup/dropbear.sh
deleted file mode 100755
index c0c9cffe..00000000
--- a/os-plugins/plugins/dropbear/init-hooks/95-cleanup/dropbear.sh
+++ /dev/null
@@ -1 +0,0 @@
-killall -9 dropbear >/dev/null 2>&1
diff --git a/os-plugins/plugins/example/OpenSLX/OSPlugin/example.pm b/os-plugins/plugins/example/OpenSLX/OSPlugin/example.pm
deleted file mode 100644
index 79f0ba48..00000000
--- a/os-plugins/plugins/example/OpenSLX/OSPlugin/example.pm
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# example.pm
-# - an example implementation of the OSPlugin API (i.e. an os-plugin)
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::example;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-# if you have any questions regarding the concept of OS-plugins and their
-# implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-# '#openslx' (on freenode).
-################################################################################
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'example',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- just an exemplary plugin that prints a smiley when the client boots
- End-of-Here
- precedence => 50,
- };
-}
-
-sub getAttrInfo
-{ # returns a hash-ref with information about all attributes supported
- # by this specific plugin
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- 'example::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'example'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
-
- # plugin specific attributes start here ...
- 'example::preferred_side' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- determines to which side you have to tilt your head in order
- to read the smiley
- End-of-Here
- content_regex => qr{^(left|right)$},
- content_descr => q{'left' will print ';-)' - 'right' will print '(-;'},
- default => 'left',
- },
- };
-}
-
-sub installationPhase
-{ # called while chrooted to the vendor-OS root in order to give the plugin
- # a chance to install required files into the vendor-OS.
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- # The folder where the stage1-plugin should store all files
- # required by the corresponding stage3 runlevel script.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $pluginTempPath = $info->{'plugin-temp-path'};
- # A temporary playground that will be cleaned up automatically.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $openslxBasePath = $info->{'openslx-base-path'};
- # the openslx base path (/opt/openslx) bind-mounted into the chroot
- my $openslxConfigPath = $info->{'openslx-config-path'};
- # the openslx config path (/etc/opt/openlsx) bind-mounted into the
- # chroot
- my $attrs = $info->{'plugin-attrs'};
- # attributes in effect for this installation
-
- # for this example plugin, we simply create two files:
- spitFile("$pluginRepoPath/right", "(-;\n");
- spitFile("$pluginRepoPath/left", ";-)\n");
-
- # Some plugins have to copy files from their plugin folder into the
- # vendor-OS. Here's an example for how to do that:
- #
- # # get our own name:
- # my $pluginName = $self->{'name'};
- #
- # # get our own base path:
- # my $pluginBasePath = "$openslxBasePath/lib/plugins/$pluginName";
- #
- # # copy all needed files now:
- # foreach my $file ( qw( file1, file2 ) ) {
- # copyFile("$pluginBasePath/$file", "$pluginRepoPath/");
- # }
-
- # name of current os
- # my $vendorOSName = $self->{'os-plugin-engine'}->{'vendor-os-name'}
-
- return;
-}
-
-sub removalPhase
-{ # called while chrooted to the vendor-OS root in order to give the plugin
- # a chance to uninstall no longer required files from the vendor-OS.
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- # The folder where the stage1-plugin should store all files
- # required by the corresponding stage3 runlevel script.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $pluginTempPath = $info->{'plugin-temp-path'};
- # A temporary playground that will be cleaned up automatically.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/example/XX_example.sh b/os-plugins/plugins/example/XX_example.sh
deleted file mode 100644
index 18f2e47d..00000000
--- a/os-plugins/plugins/example/XX_example.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# stage3 part of 'example' plugin - the runlevel script
-#
-# This basically is a runlevel script (just like you know them from 'init'),
-# whose purpose is to activate the plugin in stage3. The 'XX' at the beginning
-# of the filename will be replaced with a runlevel precedence number taken
-# from the configuration of the respective plugin. All plugin runlevel scripts
-# will be executed in the order of those precedence numbers.
-#
-# In order to activate the corresponding plugin, each runlevel script should:
-#
-# a) read the corresponding configuration file (in this case:
-# /initramfs/plugin-conf/example.conf)
-#
-# b) analyse the client (look at the available hardware) and decide what
-# needs to be done, taking into account the settings given in the config
-# file
-#
-# c) activate the plugin by copying/linking appropriate plugin-specific files
-# (in this case: from /mnt/opt/openslx/plugins/example/), load required kernel
-# modules and whatever else might be necessary.
-#
-# if you have any questions regarding the use of this file, please drop a mail
-# to: ot@openslx.com, or join the IRC-channel '#openslx' (on freenode).
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-if [ -e /initramfs/plugin-conf/example.conf ]; then
- . /initramfs/plugin-conf/example.conf
- if [ $example_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'example' os-plugin ...";
-
- # for this example plugin, we simply take a filename from the
- # configuration and cat that file (output the smiley):
- cat /mnt/opt/openslx/plugin-repo/example/$preferred_side
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'example' os-plugin ...";
- fi
-fi
diff --git a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Base.pm b/os-plugins/plugins/infoscreen/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 83570d7d..00000000
--- a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# infoscreen/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the infoscreen plugin.
-# -----------------------------------------------------------------------------
-package infoscreen::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-sub getRequirements
-{
- my $self = shift;
-
- return ('libxml2', 'libcurl', 'libimlib2', 'libx11');
-}
-
-sub getPackagemanagerCommand
-{
- my $self = shift;
-
- return "yum install";
-}
-
-1;
diff --git a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/infoscreen/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 6ac025f5..00000000
--- a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# infoscreen/OpenSLX/Distro/Debian.pm
-# - provides Debian-specific overrides of the Distro API for the infoscreen
-# plugin.
-# -----------------------------------------------------------------------------
-package infoscreen::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(infoscreen::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Fedora.pm b/os-plugins/plugins/infoscreen/OpenSLX/Distro/Fedora.pm
deleted file mode 100644
index a4252b62..00000000
--- a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Fedora.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# infoscreen/OpenSLX/Distro/Fedora.pm
-# - provides Fedora-specific overrides of the Distro API for the infoscreen
-# plugin.
-# -----------------------------------------------------------------------------
-package infoscreen::OpenSLX::Distro::Fedora;
-
-use strict;
-use warnings;
-
-use base qw(infoscreen::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/infoscreen/OpenSLX/Distro/Gentoo.pm
deleted file mode 100644
index c2730674..00000000
--- a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Gentoo.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# infoscreen/OpenSLX/Distro/Gentoo.pm
-# - provides Gentoo-specific overrides of the Distro API for the infoscreen
-# plugin.
-# -----------------------------------------------------------------------------
-package infoscreen::OpenSLX::Distro::Gentoo;
-
-use strict;
-use warnings;
-
-use base qw(infoscreen::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Scilin.pm b/os-plugins/plugins/infoscreen/OpenSLX/Distro/Scilin.pm
deleted file mode 100644
index e89d6d88..00000000
--- a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Scilin.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# infoscreen/OpenSLX/Distro/Scilin.pm
-# - provides Scilin-specific overrides of the Distro API for the infoscreen
-# plugin.
-# -----------------------------------------------------------------------------
-package infoscreen::OpenSLX::Distro::Scilin;
-
-use strict;
-use warnings;
-
-use base qw(infoscreen::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/infoscreen/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 21d02fbb..00000000
--- a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# infoscreen/OpenSLX/Distro/Suse.pm
-# - provides Suse-specific overrides of the Distro API for the infoscreen
-# plugin.
-# -----------------------------------------------------------------------------
-package infoscreen::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(infoscreen::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/infoscreen/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index 10360825..00000000
--- a/os-plugins/plugins/infoscreen/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# infoscreen/OpenSLX/Distro/Ubuntu.pm
-# - provides Debian-specific overrides of the Distro API for the infoscreen
-# plugin.
-# -----------------------------------------------------------------------------
-package infoscreen::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-use base qw(infoscreen::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub getRequirements
-{
- my $self = shift;
-
- return ('libxml2', 'libcurl3', 'libimlib2', 'libx11-6');
-}
-
-sub getPackagemanagerCommand
-{
- my $self = shift;
-
- return "aptitude install";
-}
-
-
-1;
diff --git a/os-plugins/plugins/infoscreen/OpenSLX/OSPlugin/infoscreen.pm b/os-plugins/plugins/infoscreen/OpenSLX/OSPlugin/infoscreen.pm
deleted file mode 100644
index dadd8fe0..00000000
--- a/os-plugins/plugins/infoscreen/OpenSLX/OSPlugin/infoscreen.pm
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# infoscreen.pm
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::infoscreen;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-# if you have any questions regarding the concept of OS-plugins and their
-# implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-# '#openslx' (on freenode).
-################################################################################
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'infoscreen',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- infoscreen plugin ..
- End-of-Here
- precedence => 82,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- # attribute 'active' is mandatory for all plugins
- 'infoscreen::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'infoscreen'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
- my $openslxConfigPath = $info->{'openslx-config-path'};
- my $attrs = $info->{'plugin-attrs'};
-
- my $filesDir = "$openslxBasePath/lib/plugins/infoscreen/files";
-
- copyFile("$filesDir/empty.xbm","$pluginRepoPath");
- copyFile("$filesDir/kiosk.dpms","$pluginRepoPath");
-
-
- my @requirements = $self->{distro}->getRequirements();
-
- my $pcmd = $self->{distro}->getPackagemanagerCommand();
- my $req = join(' ', @requirements);
-
- slxsystem("$pcmd $req") or _tr(
- "failed to install requirements"
- );
-
- slxsystem("tar -xzf $filesDir/infoscreenClient.tgz -C / ");
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/infoscreen/XX_infoscreen.sh b/os-plugins/plugins/infoscreen/XX_infoscreen.sh
deleted file mode 100644
index e2176387..00000000
--- a/os-plugins/plugins/infoscreen/XX_infoscreen.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# check if the plugin config directory is generally available or if the client
-# configuration failed somehow
-[ -d /initramfs/plugin-conf ] || error "${init_picfg}" nonfatal
-
-# main script
-if [ -e /initramfs/plugin-conf/infoscreen.conf ]; then
- . /initramfs/plugin-conf/infoscreen.conf
-
- if [ $infoscreen_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'infoscreen' os-plugin ...";
-
- ln -sf /opt/openslx/plugin-repo/infoscreen/kiosk.dpms \
- /mnt/bin/kiosk.dpms
-
- # prepare xsession
- echo "#!/bin/bash" \
- > /mnt/home/kiosk/.xinitrc
- echo "xhost +local:" \
- >> /mnt/home/kiosk/.xinitrc
- echo "xsetroot -cursor /opt/openslx/plugin-repo/infoscreen/empty.xbm \\" \
- >> /mnt/home/kiosk/.xinitrc
- echo "/opt/openslx/plugin-repo/infoscreen/empty.xbm" \
- >> /mnt/home/kiosk/.xinitrc
- echo "/usr/bin/dpclient" \
- >> /mnt/home/kiosk/.xinitrc
-
- # remove Standby
- sed -r "s,(Option.*\"(Blank|Standby|Suspend|Off)Time\"[^\"]*)(.*),\1 \"0\" # disabled by infoscreen \3," \
- -i /mnt/etc/X11/xorg.conf
- sed -r "s,(Option.*\"(blank|standby|suspend|off) time\"[^\"]*)(.*),\1 \"0\" # disabled by infoscreen \3," \
- -i /mnt/etc/X11/xorg.conf
-
- # energy safe
- # (requires "xhost +local:")
- sed -r "s,(Section \"Module\"),\1\n Load \"dpms\"," -i /mnt/etc/X11/xorg.conf
- echo "0 22 * * * root /bin/kiosk.dpms sleep" >> /mnt/etc/crontab
- echo "0 7 * * * root /bin/kiosk.dpms wakeup" >> /mnt/etc/crontab
-
-
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'infoscreen' os-plugin ...";
-
- fi
-
-fi
diff --git a/os-plugins/plugins/infoscreen/files/empty.xbm b/os-plugins/plugins/infoscreen/files/empty.xbm
deleted file mode 100644
index 73b5f706..00000000
--- a/os-plugins/plugins/infoscreen/files/empty.xbm
+++ /dev/null
@@ -1,6 +0,0 @@
-#define empty_width 16
-#define empty_height 16
-static unsigned char empty_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/os-plugins/plugins/infoscreen/files/infoscreenClient.tgz b/os-plugins/plugins/infoscreen/files/infoscreenClient.tgz
deleted file mode 100644
index d1a932c0..00000000
--- a/os-plugins/plugins/infoscreen/files/infoscreenClient.tgz
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/infoscreen/files/kiosk.dpms b/os-plugins/plugins/infoscreen/files/kiosk.dpms
deleted file mode 100755
index d8fd57c5..00000000
--- a/os-plugins/plugins/infoscreen/files/kiosk.dpms
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-case "$1" in
- "sleep")
- xset -display :0 dpms force off
- xset -display :0 dpms 0 0 0
- exit 0
- ;;
- "wakeup")
- xset -display :0 dpms force on
- xset -display :0 dpms 0 0 0
- xset -display :0 s reset
- xset -display :0 s noblank
- xset -display :0 s noexpose
- xset -display :0 s 0 0
- xset -display :0 s off
- xset -display :0 -dpms
- exit 0
- ;;
- *)
- echo "Usage: kiosk.dpms <command>"
- echo "Commands"
- echo " sleep : shut monitor down"
- echo " wakeup : wake monitor up"
- exit 0
- ;;
-esac
diff --git a/os-plugins/plugins/kiosk/OpenSLX/Distro/Base.pm b/os-plugins/plugins/kiosk/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 8f7e506d..00000000
--- a/os-plugins/plugins/kiosk/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# kiosk/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the kiosk plugin.
-# -----------------------------------------------------------------------------
-package kiosk::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-sub getKgettySetupScript
-{
- my $self = shift;
-
- my $script = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # written by OpenSLX-plugin 'kiosk'
-
- kgettyCmd=\$1
- sed -i /mnt/etc/inittab \\
- -e "s,^\(1:[^:]*:respawn\):.*tty1,\\1:\$kgettyCmd,"
-
- End-of-Here
-
- return $script;
-
-}
-
-
-1;
diff --git a/os-plugins/plugins/kiosk/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/kiosk/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 08bb18e7..00000000
--- a/os-plugins/plugins/kiosk/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# kiosk/OpenSLX/Distro/Debian.pm
-# - provides Debian-specific overrides of the Distro API for the kiosk
-# plugin.
-# -----------------------------------------------------------------------------
-package kiosk::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(kiosk::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/kiosk/OpenSLX/Distro/Fedora.pm b/os-plugins/plugins/kiosk/OpenSLX/Distro/Fedora.pm
deleted file mode 100644
index 2b9f8ff5..00000000
--- a/os-plugins/plugins/kiosk/OpenSLX/Distro/Fedora.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# kiosk/OpenSLX/Distro/Fedora.pm
-# - provides Fedora-specific overrides of the Distro API for the kiosk
-# plugin.
-# -----------------------------------------------------------------------------
-package kiosk::OpenSLX::Distro::Fedora;
-
-use strict;
-use warnings;
-
-use base qw(kiosk::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/kiosk/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/kiosk/OpenSLX/Distro/Gentoo.pm
deleted file mode 100644
index c3133f07..00000000
--- a/os-plugins/plugins/kiosk/OpenSLX/Distro/Gentoo.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# kiosk/OpenSLX/Distro/Gentoo.pm
-# - provides Gentoo-specific overrides of the Distro API for the kiosk
-# plugin.
-# -----------------------------------------------------------------------------
-package kiosk::OpenSLX::Distro::Gentoo;
-
-use strict;
-use warnings;
-
-use base qw(kiosk::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/kiosk/OpenSLX/Distro/Scilin.pm b/os-plugins/plugins/kiosk/OpenSLX/Distro/Scilin.pm
deleted file mode 100644
index 7423a3b8..00000000
--- a/os-plugins/plugins/kiosk/OpenSLX/Distro/Scilin.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# kiosk/OpenSLX/Distro/Scilin.pm
-# - provides Scilin-specific overrides of the Distro API for the kiosk
-# plugin.
-# -----------------------------------------------------------------------------
-package kiosk::OpenSLX::Distro::Scilin;
-
-use strict;
-use warnings;
-
-use base qw(kiosk::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/kiosk/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/kiosk/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 587d6db3..00000000
--- a/os-plugins/plugins/kiosk/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# kiosk/OpenSLX/Distro/Suse.pm
-# - provides Suse-specific overrides of the Distro API for the kiosk
-# plugin.
-# -----------------------------------------------------------------------------
-package kiosk::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(kiosk::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/kiosk/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/kiosk/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index b8fcb25b..00000000
--- a/os-plugins/plugins/kiosk/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# kiosk/OpenSLX/Distro/Ubuntu.pm
-# - provides Debian-specific overrides of the Distro API for the kiosk
-# plugin.
-# -----------------------------------------------------------------------------
-package kiosk::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-use base qw(kiosk::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub getKgettySetupScript
-{
- my $self = shift;
-
- my $script = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # written by OpenSLX-plugin 'kiosk'
-
- kgettyCmd=\$1
- sed -i /mnt/etc/event.d/tty1 \\
- -e "s,exec.*,exec \$kgettyCmd,"
-
- End-of-Here
-
- return $script;
-
-}
-
-1;
diff --git a/os-plugins/plugins/kiosk/OpenSLX/OSPlugin/kiosk.pm b/os-plugins/plugins/kiosk/OpenSLX/OSPlugin/kiosk.pm
deleted file mode 100644
index bfeeae0a..00000000
--- a/os-plugins/plugins/kiosk/OpenSLX/OSPlugin/kiosk.pm
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# kiosk.pm
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::kiosk;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-# if you have any questions regarding the concept of OS-plugins and their
-# implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-# '#openslx' (on freenode).
-################################################################################
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'kiosk',
- };
-
- mkpath("$openslxConfig{'config-path'}/plugins/kiosk/profiles");
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- kiosk plugin ..
- End-of-Here
- precedence => 50,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- # attribute 'active' is mandatory for all plugins
- 'kiosk::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'kiosk'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'kiosk::profile' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'kiosk'-plugin setup a specific profile for the
- kiosk user? (profile data should be placed in
- /etc/opt/openslx/plugins/kiosk/profiles/<profilename>/)
- End-of-Here
- #content_regex => qr{^(0|1)$},
- content_descr => 'name of profile',
- default => 'plain',
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
- my $openslxConfigPath = $info->{'openslx-config-path'};
- my $attrs = $info->{'plugin-attrs'};
-
- my $filesDir = "$openslxBasePath/lib/plugins/kiosk/files";
-
- copyFile("$filesDir/kgetty","$pluginRepoPath");
-
- system(qq{cp -r $filesDir/profiles/* $openslxConfig{'config-path'}/plugins/kiosk/profiles/});
-
- my $scriptpath = "$pluginRepoPath/setup.kgetty";
- my $script = $self->{distro}->getKgettySetupScript();
-
- spitFile($scriptpath, $script);
- chmod (0744, "$scriptpath");
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/kiosk/XX_kiosk.sh b/os-plugins/plugins/kiosk/XX_kiosk.sh
deleted file mode 100644
index c7e275ad..00000000
--- a/os-plugins/plugins/kiosk/XX_kiosk.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# check if the plugin config directory is generally available or if the client
-# configuration failed somehow
-[ -d /initramfs/plugin-conf ] || error "${init_picfg}" nonfatal
-
-# main script
-if [ -e /initramfs/plugin-conf/kiosk.conf ]; then
- . /initramfs/plugin-conf/kiosk.conf
-
- if [ $kiosk_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'kiosk' os-plugin ...";
-
-
- profile_path="/etc/opt/openslx/plugins/kiosk/profiles/"
-
- # avoid ldap conflicts - part I
- # hide nsswitch.conf
- if [ -e /mnt/etc/nsswitch.conf ]; then
- mv /mnt/etc/nsswitch.conf /mnt/etc/nsswitch.conf.bak
- fi
-
- if [ -e /mnt/$profile_path/$kiosk_profile/ ]; then
- # create new user
- chroot /mnt useradd -s /bin/bash -k $profile_path/$kiosk_profile/ -m kiosk
- chroot /mnt chown kiosk /home/kiosk/ -R
- else
- chroot /mnt useradd -s /bin/bash -k $profile_path/plain/ -m kiosk
- fi
-
- # avoid ldap conflicts - part II
- # restore old nsswitch setup
- if [ -e /mnt/etc/nsswitch.conf.bak ]; then
- mv /mnt/etc/nsswitch.conf.bak /mnt/etc/nsswitch.conf
- fi
-
- # setup custom rungetty
- mkdir -p /mnt/root/bin
- ln -sf /opt/openslx/plugin-repo/kiosk/kgetty /mnt/root/bin/kgetty
-
- kgettycmd="/root/bin/kgetty --autologin kiosk tty1"
-
- /mnt/opt/openslx/plugin-repo/kiosk/setup.kgetty "$kgettycmd"
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'kiosk' os-plugin ...";
-
- fi
-
-fi
diff --git a/os-plugins/plugins/kiosk/files/kgetty b/os-plugins/plugins/kiosk/files/kgetty
deleted file mode 100755
index a65d96de..00000000
--- a/os-plugins/plugins/kiosk/files/kgetty
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/kiosk/files/profiles/plain/.bashrc b/os-plugins/plugins/kiosk/files/profiles/plain/.bashrc
deleted file mode 120000
index cee304e6..00000000
--- a/os-plugins/plugins/kiosk/files/profiles/plain/.bashrc
+++ /dev/null
@@ -1 +0,0 @@
-bashrc \ No newline at end of file
diff --git a/os-plugins/plugins/kiosk/files/profiles/plain/bashrc b/os-plugins/plugins/kiosk/files/profiles/plain/bashrc
deleted file mode 100644
index 28694f85..00000000
--- a/os-plugins/plugins/kiosk/files/profiles/plain/bashrc
+++ /dev/null
@@ -1,4 +0,0 @@
-if [ "x$(tty)" == "x/dev/tty1" ]; then
- startx
- exit
-fi
diff --git a/os-plugins/plugins/kiosk/files/profiles/vmchooser/.bash_profile b/os-plugins/plugins/kiosk/files/profiles/vmchooser/.bash_profile
deleted file mode 100644
index 099cd106..00000000
--- a/os-plugins/plugins/kiosk/files/profiles/vmchooser/.bash_profile
+++ /dev/null
@@ -1,2 +0,0 @@
-# fix for some systems which don't source .bashrc automatically
-. ~/.bashrc \ No newline at end of file
diff --git a/os-plugins/plugins/kiosk/files/profiles/vmchooser/.bashrc b/os-plugins/plugins/kiosk/files/profiles/vmchooser/.bashrc
deleted file mode 120000
index cee304e6..00000000
--- a/os-plugins/plugins/kiosk/files/profiles/vmchooser/.bashrc
+++ /dev/null
@@ -1 +0,0 @@
-bashrc \ No newline at end of file
diff --git a/os-plugins/plugins/kiosk/files/profiles/vmchooser/.xinitrc b/os-plugins/plugins/kiosk/files/profiles/vmchooser/.xinitrc
deleted file mode 120000
index 5539532c..00000000
--- a/os-plugins/plugins/kiosk/files/profiles/vmchooser/.xinitrc
+++ /dev/null
@@ -1 +0,0 @@
-xinitrc \ No newline at end of file
diff --git a/os-plugins/plugins/kiosk/files/profiles/vmchooser/bashrc b/os-plugins/plugins/kiosk/files/profiles/vmchooser/bashrc
deleted file mode 100644
index 28694f85..00000000
--- a/os-plugins/plugins/kiosk/files/profiles/vmchooser/bashrc
+++ /dev/null
@@ -1,4 +0,0 @@
-if [ "x$(tty)" == "x/dev/tty1" ]; then
- startx
- exit
-fi
diff --git a/os-plugins/plugins/kiosk/files/profiles/vmchooser/xinitrc b/os-plugins/plugins/kiosk/files/profiles/vmchooser/xinitrc
deleted file mode 100644
index 7774f4d2..00000000
--- a/os-plugins/plugins/kiosk/files/profiles/vmchooser/xinitrc
+++ /dev/null
@@ -1,7 +0,0 @@
-# check if we need to include Xsession script generated by out profile
-# plugin
-[ -e /etc/X11/Xsession.d/10slx-home_env ] && \
- . /etc/X11/Xsession.d/10slx-home_env
-
-/usr/bin/xsetroot -solid navy
-/opt/openslx/plugin-repo/vmchooser/vmchooser -p /dev/null \ No newline at end of file
diff --git a/os-plugins/plugins/openvz/OpenSLX/OSPlugin/openvz.pm b/os-plugins/plugins/openvz/OpenSLX/OSPlugin/openvz.pm
deleted file mode 100644
index 35e12bb2..00000000
--- a/os-plugins/plugins/openvz/OpenSLX/OSPlugin/openvz.pm
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# openvz.pm
-# - implementation of the 'openvz' plugin
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::openvz;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'openvz',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Configures openVZ diskless boot, no installation yet.
- End-of-Here
- precedence => 20,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'openvz::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'openvz'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- # set active to 0, later set specially created openVZ system to 1
- default => '0',
- },
- # attribute 'imagesrc' defines where we can find openvz images
- 'openvz::imagesrc' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Where do we store our openvz images? NFS? Filesystem?
- End-of-Here
- content_regex => qr{^(/|nfs://)},
- content_descr => 'local path or URI or "-" (unset)',
- default => undef,
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
-
- # Copy run-virt.include and template files to the appropriate place for
- # inclusion in stage4
- my $pluginName = $self->{'name'};
- my $pluginBasePath =
- "$self->{openslxBasePath}/lib/plugins/$pluginName/files";
-
- foreach my $file ( qw( run-virt.include machine.include ) ) {
- copyFile("$pluginBasePath/$file", "$self->{pluginRepositoryPath}/");
- chmod 0644, "$self->{pluginRepositoryPath}/$file";
- }
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/openvz/XX_openvz.sh b/os-plugins/plugins/openvz/XX_openvz.sh
deleted file mode 100644
index 721c76a4..00000000
--- a/os-plugins/plugins/openvz/XX_openvz.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'openvz' plugin - the runlevel script
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILE=/initramfs/plugin-conf/openvz.conf
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/openvz
-PLUGINDIR=/mnt/${OPENSLX_DEFAULT_DIR}/plugin-repo/openvz
-VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR}/openvz
-
-# check if the configuration file is available
-if [ -e ${CONFFILE} ]; then
-
- # load needed variables
- . ${CONFFILE}
-
- # Test if this plugin is activated... more or less useless with the
- # new plugin system
- if [ $openvz_active -ne 0 2>/dev/null ]; then
-
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'openvz' os-plugin ...";
-
- # load general configuration
- . /etc/initramfs-setup
-
- # get source of openvz image server (get type, server and path)
- if strinstr "/" "${openvz_imagesrc}" ; then
- vbimgprot=$(uri_token ${openvz_imagesrc} prot)
- vbimgserv=$(uri_token ${openvz_imagesrc} server)
- vbimgpath="$(uri_token ${openvz_imagesrc} path)"
- fi
- if [ -n "${vbimgserv}" ] ; then
- # directory where qemu images are expected in
- mnttarget=${VIRTDIR}
- # mount the openvz image source readonly (ro)
- fsmount ${vbimgprot} ${vbimgserv} ${vbimgpath} ${mnttarget} ro
- else
- [ $DEBUGLEVEL -gt 1 ] && \
- error " * Incomplete information in variable ${openvz_imagesrc}." \
- nonfatal
- fi
-
- # copy virtualization include files to config dir
- testmkd ${PLUGINCONFDIR}
- cp ${PLUGINDIR}/*.include ${PLUGINCONFDIR}
- # copy ${CONFFILE} to ${PLUGINCONFDIR} just in case
- cp ${CONFFILE} ${PLUGINCONFDIR}
-
- # activate init files
-
- fi
-fi
diff --git a/os-plugins/plugins/openvz/files/machine.include b/os-plugins/plugins/openvz/files/machine.include
deleted file mode 100644
index e69de29b..00000000
--- a/os-plugins/plugins/openvz/files/machine.include
+++ /dev/null
diff --git a/os-plugins/plugins/openvz/files/run-virt.include b/os-plugins/plugins/openvz/files/run-virt.include
deleted file mode 100644
index 53c982c8..00000000
--- a/os-plugins/plugins/openvz/files/run-virt.include
+++ /dev/null
@@ -1,37 +0,0 @@
-# run-virt.include
-# -----------------------------------------------------------------------------
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-# -----------------------------------------------------------------------------
-# run-virt.include
-# - Include script for running openVZ on an OpenSLX client via run-virt.sh or
-# run-vmgrid.sh
-################################################################################
-
-################################################################################
-### Include general configuration
-################################################################################
-if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf ]; then
- . ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf
-else
- writelog "Problems reading config file of ${self} plugin"
- exit 1
-fi
-
-################################################################################
-### Declaration of default variables
-################################################################################
-
-PLUGINCONFXEN="${PLUGINCONFROOT}/${self}"
-# create TMPDIR for all users
-mkdir -m 1777 /tmp/${self} 2>/dev/null
-# dir for configs
-confdir="/tmp/${self}/${USER}/${VM_ID}"
diff --git a/os-plugins/plugins/openvz/init-hooks/20-nw-bridge-config/bridge.sh b/os-plugins/plugins/openvz/init-hooks/20-nw-bridge-config/bridge.sh
deleted file mode 100755
index d5245234..00000000
--- a/os-plugins/plugins/openvz/init-hooks/20-nw-bridge-config/bridge.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Init hook to create a bridge on the active network interface
-# (should be kept identical to the files of virtualbox and qemukvm plugins)
-#############################################################################
-
-local bridge=br0
-local brnwif=${nwif}
-local nwifmac=${macaddr}
-
-# bridge 0 already defined or some other problem
-brctl addbr ${bridge} || exit 0
-brctl stp ${bridge} 0
-brctl setfd ${bridge} 0.000000000001
-ip link set addr ${nwifmac} ${bridge}
-ip link set dev ${nwif} up
-brctl addif ${bridge} ${nwif}
-
-# fixme: sending back the variable to init does not work properly at the
-# moment
-nwif=${bridge}
diff --git a/os-plugins/plugins/profile/OpenSLX/Distro/Base.pm b/os-plugins/plugins/profile/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 5588a177..00000000
--- a/os-plugins/plugins/profile/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the profile plugin.
-# -----------------------------------------------------------------------------
-package profile::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-sub getXsessionDPath
-{
- my $self = shift;
-
- return "/etc/X11/Xsession.d/10slx-home_env";
-}
-
-
-sub getProfileDPAth
-{
- my $self = shift;
-
- return "/etc/profile.d/slx-kdehome.sh";
-}
-
-sub getKdeHome
-{
- my $self = shift;
-
- return ".openslx/unknown/kde";
-}
-
-sub getGconfPathConfig
-{
- my $self = shift;
-
- return "/etc/gconf/2/path";
-}
-
-
-sub getGconfHome
-{
- my $self = shift;
-
- return ".openslx/unknown/gconf";
-}
-
-
-1;
diff --git a/os-plugins/plugins/profile/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/profile/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 31ca1e8e..00000000
--- a/os-plugins/plugins/profile/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile/OpenSLX/Distro/Debian.pm
-# - provides Debian-specific overrides of the Distro API for the profile
-# plugin.
-# -----------------------------------------------------------------------------
-package profile::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(profile::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/profile/OpenSLX/Distro/Fedora.pm b/os-plugins/plugins/profile/OpenSLX/Distro/Fedora.pm
deleted file mode 100644
index 433f6f7f..00000000
--- a/os-plugins/plugins/profile/OpenSLX/Distro/Fedora.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile/OpenSLX/Distro/Fedora.pm
-# - provides Fedora-specific overrides of the Distro API for the profile
-# plugin.
-# -----------------------------------------------------------------------------
-package profile::OpenSLX::Distro::Fedora;
-
-use strict;
-use warnings;
-
-use base qw(profile::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/profile/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/profile/OpenSLX/Distro/Gentoo.pm
deleted file mode 100644
index 240811df..00000000
--- a/os-plugins/plugins/profile/OpenSLX/Distro/Gentoo.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile/OpenSLX/Distro/Gentoo.pm
-# - provides Gentoo-specific overrides of the Distro API for the profile
-# plugin.
-# -----------------------------------------------------------------------------
-package profile::OpenSLX::Distro::Gentoo;
-
-use strict;
-use warnings;
-
-use base qw(profile::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/profile/OpenSLX/Distro/Scilin.pm b/os-plugins/plugins/profile/OpenSLX/Distro/Scilin.pm
deleted file mode 100644
index de66f02a..00000000
--- a/os-plugins/plugins/profile/OpenSLX/Distro/Scilin.pm
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile/OpenSLX/Distro/Scilin.pm
-# - provides Scilin-specific overrides of the Distro API for the profile
-# plugin.
-# -----------------------------------------------------------------------------
-package profile::OpenSLX::Distro::Scilin;
-
-use strict;
-use warnings;
-
-use base qw(profile::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-
-
-1;
diff --git a/os-plugins/plugins/profile/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/profile/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index e90e8211..00000000
--- a/os-plugins/plugins/profile/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile/OpenSLX/Distro/Suse.pm
-# - provides Suse-specific overrides of the Distro API for the profile
-# plugin.
-# -----------------------------------------------------------------------------
-package profile::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(profile::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub _getKdeHomeMap
-{
- my $self = shift;
-
- return;
-}
-
-sub getProfileDPAth
-{
- my $self = shift;
-
-
- return "/etc/profile.d/slx-kdehome.sh";
-}
-
-sub getKdeHome
-{
- my $self = shift;
-
- return ".openslx/suse/kde";
-}
-
-sub getGconfPathConfig
-{
- my $self = shift;
-
- return "/etc/gconf/2/path";
-}
-
-
-sub getGconfHome
-{
- my $self = shift;
-
- return ".openslx/suse/gconf";
-}
-
-
-
-1;
diff --git a/os-plugins/plugins/profile/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/profile/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index 26cd9426..00000000
--- a/os-plugins/plugins/profile/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile/OpenSLX/Distro/Ubuntu.pm
-# - provides Debian-specific overrides of the Distro API for the profile
-# plugin.
-# -----------------------------------------------------------------------------
-package profile::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-use base qw(profile::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub _getKdeHomeMap
-{
- my $self = shift;
-
- return;
-}
-
-sub getProfileDPAth
-{
- my $self = shift;
-
-
- return "/etc/profile.d/slx-kdehome.sh";
-}
-
-sub getKdeHome
-{
- my $self = shift;
-
- return ".openslx/ubuntu/kde";
-}
-
-sub getGconfPathConfig
-{
- my $self = shift;
-
- return "/etc/gconf/2/path";
-}
-
-
-sub getGconfHome
-{
- my $self = shift;
-
- return ".openslx/ubuntu/gconf";
-}
-
-1;
diff --git a/os-plugins/plugins/profile/OpenSLX/Distro/Ubuntu_10.pm b/os-plugins/plugins/profile/OpenSLX/Distro/Ubuntu_10.pm
deleted file mode 100644
index 3b288e97..00000000
--- a/os-plugins/plugins/profile/OpenSLX/Distro/Ubuntu_10.pm
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile/OpenSLX/Distro/Ubuntu.pm
-# - provides Debian-specific overrides of the Distro API for the profile
-# plugin.
-# -----------------------------------------------------------------------------
-package profile::OpenSLX::Distro::Ubuntu_10;
-
-use strict;
-use warnings;
-
-use base qw(profile::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub _getKdeHomeMap
-{
- my $self = shift;
-
- return;
-}
-
-sub getProfileDPAth
-{
- my $self = shift;
-
-
- return "/etc/profile.d/slx-kdehome.sh";
-}
-
-sub getKdeHome
-{
- my $self = shift;
-
- return ".openslx/ubuntu-lucid.kde";
-}
-
-sub getGconfPathConfig
-{
- my $self = shift;
-
- return "/etc/gconf/2/path";
-}
-
-
-sub getGconfHome
-{
- my $self = shift;
-
- return ".openslx.ubuntu-lucid.gconf";
-}
-
-1;
diff --git a/os-plugins/plugins/profile/OpenSLX/OSPlugin/profile.pm b/os-plugins/plugins/profile/OpenSLX/OSPlugin/profile.pm
deleted file mode 100644
index b9538374..00000000
--- a/os-plugins/plugins/profile/OpenSLX/OSPlugin/profile.pm
+++ /dev/null
@@ -1,174 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# profile.pm
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::profile;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-# if you have any questions regarding the concept of OS-plugins and their
-# implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-# '#openslx' (on freenode).
-################################################################################
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'profile',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- profile plugin ..
- End-of-Here
- precedence => 82,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- # attribute 'active' is mandatory for all plugins
- 'profile::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'profile'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- };
-}
-
-sub _writeKdehomeEnv
-{
- my $self = shift;
-
- my $profileFile = unshiftHereDoc(<<' End-of-Here');
- # Do not modify this file.
- # File generated by profile plugin.
- # For more information have a look at
- # http://lab.openslx.org/wiki/openslx/profile
-
- export KDEHOME=${HOME}/%s
- End-of-Here
-
- $profileFile = sprintf(
- $profileFile,
- $self->{distro}->getKdeHome()
- );
-
- spitFile($self->{distro}->getProfileDPAth(), $profileFile);
-
- return $self->{distro}->getKdeHome();
-}
-
-sub _modifyGconfPaths
-{
- my $self = shift;
-
- my $cmd = "sed -i \"s,readwrite:\\\$(HOME)/.gconf,readwrite:\\\$(HOME)/%s,\" %s";
- $cmd = sprintf (
- $cmd,
- $self->{distro}->getGconfHome(),
- $self->{distro}->getGconfPathConfig()
- );
-
- slxsystem($cmd);
-
- return $self->{distro}->getGconfHome();
-}
-
-sub _writeXsessionScript
-{
- my $self = shift;
- my @paths = @_;
-
- my $xsessionFile= unshiftHereDoc(<<' End-of-Here');
- # Do not modify this file.
- # File generated by profile plugin.
- # For more information have a look at
- # http://lab.openslx.org/wiki/openslx/profile
-
- %s
- End-of-Here
-
- my $cmd = "mkdir -p ";
-
- while (@paths) {
- my $path = shift(@paths);
- $cmd .= "\${HOME}/$path \\\n";
- }
-
- $cmd .= "> /dev/null 2>&1 \n";
-
- $xsessionFile = sprintf(
- $xsessionFile,
- $cmd
- );
-
- spitFile($self->{distro}->getXsessionDPath(), $xsessionFile);
-
- return;
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
- my $openslxConfigPath = $info->{'openslx-config-path'};
- my $attrs = $info->{'plugin-attrs'};
-
- my @slxHomeEnv;
-
- push (@slxHomeEnv, $self->_writeKdehomeEnv());
- push (@slxHomeEnv, $self->_modifyGconfPaths());
-
- $self->_writeXsessionScript(@slxHomeEnv);
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/profile/XX_profile.sh b/os-plugins/plugins/profile/XX_profile.sh
deleted file mode 100644
index 1589bd61..00000000
--- a/os-plugins/plugins/profile/XX_profile.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# check if the plugin config directory is generally available or if the client
-# configuration failed somehow
-[ -d /initramfs/plugin-conf ] || error "${init_picfg}" nonfatal
-
-# main script
-if [ -e /initramfs/plugin-conf/profile.conf ]; then
- . /initramfs/plugin-conf/profile.conf
-
- if [ $profile_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'profile' os-plugin ...";
-
-
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'profile' os-plugin ...";
-
- fi
-
-fi
diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Base.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 3425f2ab..00000000
--- a/os-plugins/plugins/pvs/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# pvs/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the pvs plugin.
-# -----------------------------------------------------------------------------
-package pvs::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-1;
diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 0382d3b9..00000000
--- a/os-plugins/plugins/pvs/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# pvs/OpenSLX/Distro/debian.pm
-# - provides Debian-specific overrides of the Distro API for the pvs
-# plugin.
-# -----------------------------------------------------------------------------
-package pvs::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(pvs::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-1;
diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Fedora.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Fedora.pm
deleted file mode 100644
index 76b8ffa1..00000000
--- a/os-plugins/plugins/pvs/OpenSLX/Distro/Fedora.pm
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# pvs/OpenSLX/Distro/Fedora.pm
-# - provides Fedora-specific overrides of the Distro API for the pvs
-# plugin.
-# -----------------------------------------------------------------------------
-package pvs::OpenSLX::Distro::Fedora;
-
-use strict;
-use warnings;
-
-use base qw(pvs::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-1;
diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Gentoo.pm
deleted file mode 100644
index b943a63b..00000000
--- a/os-plugins/plugins/pvs/OpenSLX/Distro/Gentoo.pm
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# pvs/OpenSLX/Distro/Gentoo.pm
-# - provides Gentoo-specific overrides of the Distro API for the pvs
-# plugin.
-# -----------------------------------------------------------------------------
-package pvs::OpenSLX::Distro::Gentoo;
-
-use strict;
-use warnings;
-
-use base qw(pvs::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-1;
diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 411fa1c9..00000000
--- a/os-plugins/plugins/pvs/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# pvs/OpenSLX/Distro/Suse.pm
-# - provides SUSE-specific overrides of the Distro API for the pvs plugin.
-# -----------------------------------------------------------------------------
-package pvs::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(pvs::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-1;
diff --git a/os-plugins/plugins/pvs/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/pvs/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index c7496ac0..00000000
--- a/os-plugins/plugins/pvs/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# pvs/OpenSLX/Distro/Ubuntu.pm
-# - provides Ubuntu-specific overrides of the Distro API for the pvs
-# plugin.
-# -----------------------------------------------------------------------------
-package pvs::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-# inherit everything from Debian (as Ubuntu is based on it anyway)
-use base qw(pvs::OpenSLX::Distro::Debian);
-
-1;
diff --git a/os-plugins/plugins/pvs/OpenSLX/OSPlugin/pvs.pm b/os-plugins/plugins/pvs/OpenSLX/OSPlugin/pvs.pm
deleted file mode 100644
index d0a629e4..00000000
--- a/os-plugins/plugins/pvs/OpenSLX/OSPlugin/pvs.pm
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# pvs.pm - plugin to use the pool video switch tools within OpenSLX environment
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::pvs;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-sub new
-{
- my $class = shift;
- my $self = {
- name => 'pvs',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- enables pvs server (user or xorg)
- End-of-Here
- # waits for xorg to add configuration if needed
- precedence => 70,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'pvs::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'pvs' plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
-
- 'pvs::mode' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- set pvs to listen on Xorg user sessions (default), general
- access to the Xorg server (including displaymanager login) and
- console framebuffer.
- End-of-Here
- content_regex => qr{^(x11user|x11mod|fb)$},
- content_descr => 'x11user for user, x11mod for access via Xorg module or fb',
- default => 'x11user',
- },
-
- 'pvs::scale' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- scale screen size (e.g. as fraction 2/3 or as decimal 0.5)
- End-of-Here
- content_regex => undef,
- content_descr => undef,
- default => '',
- },
-
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepositoryPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
-
- # should we distinguish between the two different packages!?
- # libvnc should be part of the xorg package!? (so no check needed)
- #my $engine = $self->{'os-plugin-engine'};
- #if (!isInPath('pvs')) {
- # $engine->installPackages(
- # $engine->getInstallablePackagesForSelection('pvs')
- # );
- #} else {
- # vlog(3, "pvs is already installed");
- #}
-
- # get path of files we need to install
- my $pluginFilesPath = "$openslxBasePath/lib/plugins/$self->{'name'}/files";
- my $script = $self->{distro}->fillRunlevelScript();
-
- # copy all needed files now
- copyFile("$pluginFilesPath/*", "$pluginRepositoryPath");
-
- # link these files
-
- #chmod 0755, "/etc/init.d/pvs";
-
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-}
-
-1;
diff --git a/os-plugins/plugins/pvs/XX_pvs.sh b/os-plugins/plugins/pvs/XX_pvs.sh
deleted file mode 100644
index 9a86574f..00000000
--- a/os-plugins/plugins/pvs/XX_pvs.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# Check if the plugin config directory is generally available or if the client
-# configuration failed somehow
-[ -d /initramfs/plugin-conf ] || error "${init_picfg}" nonfatal
-
-# main script
-if [ -e /initramfs/plugin-conf/pvs.conf ]; then
- . /initramfs/plugin-conf/pvs.conf
- if [ $pvs_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'pvs' os-plugin ...";
- # location of central pvs configuration files
- testmkdi /mnt/etc/openslx/pvs
-
- # add it to the Xserver script (?)
-
- # link the executables
- #for tool in poolVS poolVSClient VNCwrapper ; do
- # ln -s /opt/openslx/plugin-repo/pvs/${tool} /mnt/var/X11R6/bin/${tool}
- #done
-
- # write config file
- #echo "# parameters generated by $0" > /mnt/etc/pvs/pvs.conf
- #echo "pvs_PARAMS=\"$PARAMS\"" >> /mnt/etc/pvs/pvs.conf
- #echo "pvs_X11=\"$pvs_X11\"" >> /mnt/etc/pvs/pvs.conf
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'pvs' os-plugin ...";
-
- fi
- fi
-else
- [ $DEBUGLEVEL -gt 2 ] && \
- echo "No configuration file found for pvs plugin."
-fi
diff --git a/os-plugins/plugins/pvs/files/pvs-vncsrv b/os-plugins/plugins/pvs/files/pvs-vncsrv
deleted file mode 100755
index 966bf1df..00000000
--- a/os-plugins/plugins/pvs/files/pvs-vncsrv
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Copyright (c) 2009 - RZ Uni FR
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# pvs-vncsrv
-# - This is a generic wrapper script for starting any userspace VNC server
-# to offer connectivity from the pvs contol console. The script expects
-# start/stop in $1, the port to start on in $2 and the password in $3. The
-# latter one should be changed to piping for security reasons ...
-# -----------------------------------------------------------------------------
-
-# parameters for x11vnc
-X11VNC_PARAMS="-bg -forever -display :0 -passwdfile rm:$HOME/.pvs/vncpasswd -o $HOME/.pvs/log.vncsrv -shared"
-X11VNC_X11="0"
-
-# at the moment the poolVSClient is expected to use the ~/.pvs directory
-[ -d ~/.pvs ] || mkdir ~/.pvs
-
-# write the password file
-echo -e "$3\n__BEGIN_VIEWONLY__\n$3" > ~/.pvs/vncpasswd
-
-# find xauthority file
-find_xauth () {
- FOUND=0
- RETRIES=4
- [ -z "$1" ] || RETRIES="$1"
-
- [ -e "/var/lib/kdm/" ] &&
- XAUTHFILE_KDM=`find /var/lib/kdm/ -iname "A\:0-*"`
- [ -e "/var/run/xauth/" ] &&
- XAUTHFILE_KDM2=$(find /var/run/xauth/ -iname "A\:0-*")
- [ -e "/var/lib/xdm/authdir/authfiles/" ] &&
- XAUTHFILE_XDM=$(find /var/lib/xdm/authdir/authfiles/ -iname "A\:0-*")
- [ -e "/var/lib/gdm/" ] &&
- XAUTHFILE_GDM=$(find /var/lib/gdm/ -iname *Xauth*)
-
- [ -f "$XAUTHFILE_KDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM"
- [ -f "$XAUTHFILE_KDM2" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM2"
- [ -f "$XAUTHFILE_XDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_XDM"
- [ -f "$XAUTHFILE_GDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_GDM"
-
- if [ "$FOUND" -eq "0" ]; then
- if [ "$RETRIES" -gt "0" ]; then
- let "RETRIES-=1"
- find_xauth "$RETRIES"
- else
- echo "start FAILED (can't find way to authenticate myself against X)" \
- >>~/.pvs/log.vncsrv
- exit -1
- fi
- else
- echo "found authfile ($XAUTHORITY)" >>~/.pvs/log.vncsrv
- fi
-}
-
-START_COMMAND="x11vnc"
-
-case "$1" in
- start)
- [ -z "$2" -o -z "$3" ] && echo " Port and/or Password not set" \
- >>~/.pvs/log.vncsrv
- echo "$2 $3" >>~/.pvs/log.test
- if [ ! -f ~/.pvs/vncpasswd ]; then
- echo " Start FAILED (~/.pvs/vncpasswd not found)" >>~/.pvs/log.vncsrv
- echo " Create it manualy and retry starting x11vnc" >>~/.pvs/log.vncsrv
- exit -1;
- fi
-
- if [ $X11VNC_X11 = 1 ]; then
- # find_xauth
- START_COMMAND="$START_COMMAND -auth $XAUTHORITY $X11VNC_PARAMS"
- else
- START_COMMAND="$START_COMMAND $X11VNC_PARAMS"
- fi
- OUTPUT=$($START_COMMAND -rfbport $2)
- echo "$START_COMMAND" >>~/.pvs/log.vncsrv
- echo "$OUTPUT" >>~/.pvs/log.vncsrv
- ;;
- stop)
- pid=$(pidof x11vnc)
- if [ -z "$pid" ]
- then
- echo "x11vnc not running" >>~/.pvs/log.vncsrv
- exit -1;
- else
- kill -9 $pid 2>/dev/null
- echo "x11vnc stopped" >>~/.pvs/log.vncsrv
- fi
- ;;
- *)
- echo "x11vnc startscript"
- echo "Usage: $0 (start|stop)"
- ;;
-esac
-exit 0
-
diff --git a/os-plugins/plugins/qemukvm/OpenSLX/Distro/Base.pm b/os-plugins/plugins/qemukvm/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 1e3a9bfe..00000000
--- a/os-plugins/plugins/qemukvm/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# qemukvm/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the qemukvm plugin.
-# -----------------------------------------------------------------------------
-package qemukvm::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-
-}
-
-sub initialize
-{
- my $self = shift;
- my $engine = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-sub fillRunlevelScript
-{
- my $self = shift;
- my $location = shift;
- my $kind = shift;
-
- my $script = unshiftHereDoc(<<' End-of-Here');
-
- # cpuvirt=$(grep -e "vmx|svm" /proc/cpuinfo)
- # modprobe $cpuvirt
-
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/qemukvm/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/qemukvm/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 6e2cab9b..00000000
--- a/os-plugins/plugins/qemukvm/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# qemukvm/OpenSLX/Distro/debian.pm
-# - provides Debian-specific overrides of the Distro API for the qemukvm
-# plugin.
-# -----------------------------------------------------------------------------
-package qemukvm::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(qemukvm::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub fillRunlevelScript
-{
- my $self = shift;
- my $location = shift;
- my $kind = shift;
-
- my $script = unshiftHereDoc(<<' End-of-Here');
-
- # something into here ...
-
- End-of-Here
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/qemukvm/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/qemukvm/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 719dae2b..00000000
--- a/os-plugins/plugins/qemukvm/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# qemukvm/OpenSLX/Distro/Suse.pm
-# - provides SUSE specific overrides of the distro API for the qemukvm
-# plugin.
-# -----------------------------------------------------------------------------
-package qemukvm::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(qemukvm::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub fillRunlevelScript
-{
- my $self = shift;
- my $location = shift;
- my $kind = shift;
-
- my $script = unshiftHereDoc(<<' End-of-Here');
-
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/qemukvm/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/qemukvm/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index ac764d31..00000000
--- a/os-plugins/plugins/qemukvm/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# qemukvm/OpenSLX/Distro/Ubuntu.pm
-# - provides Ubuntu-specific overrides of the Distro API for the qemukvm
-# plugin.
-# -----------------------------------------------------------------------------
-package qemukvm::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-# inherit everything from Debian (as Ubuntu is based on it anyway)
-use base qw(qemukvm::OpenSLX::Distro::Debian);
-
-
-1;
diff --git a/os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm b/os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm
deleted file mode 100644
index 14e5917f..00000000
--- a/os-plugins/plugins/qemukvm/OpenSLX/OSPlugin/qemukvm.pm
+++ /dev/null
@@ -1,256 +0,0 @@
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# qemukvm.pm
-# - Declares necessary information for the qemukvm plugin
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::qemukvm;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Basename;
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-sub new
-{
- my $class = shift;
- my $self = {
- name => 'qemukvm',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Module for enabling services for the Linux kvm using qemu for
- IO on an OpenSLX stateless client.
- End-of-Here
- precedence => 70,
- required => [ qw( desktop ) ],
- };
-}
-
-sub getAttrInfo
-{
- # Returns a hash-ref with information about all attributes supported
- # by this specific plugin
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- 'qemukvm::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'qemukvm'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- # attribute 'imagesrc' defines where we can find qemukvm images
- 'qemukvm::imagesrc' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Where do we store our qemukvm images? NFS? Filesystem?
- End-of-Here
- #TODO: check if the input is valid
- #content_regex => qr{^(0|1)$},
- content_descr => 'Allowed values: local path or URI',
- default => '',
- },
- # attribute 'bridge' defines if bridged network mode should be
- # switched on
- 'qemukvm::bridge' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Should the bridging (direct access of the qemukvm clients
- to the ethernet the host is connected to) be enabled
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => 'Allowed values: 0 or 1',
- default => '1',
- },
-
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{pluginTempPath} = $info->{'plugin-temp-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
- $self->{openslxConfigPath} = $info->{'openslx-config-path'};
- $self->{attrs} = $info->{'plugin-attrs'};
-
- my $engine = $self->{'os-plugin-engine'};
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
-
- # Different names of the tool (should be unified somehow!?)
- if (!isInPath('qemu-kvm') || !isInPath('kvm')) {
- $engine->installPackages(
- $engine->getInstallablePackagesForSelection('qemu-kvm')
- );
- }
- # Sudo is needed to get access to certain system network commands
- if (!isInPath('sudo')) {
- $engine->installPackages($self->{distro}->getPackageName('sudo'));
- }
-
- # Copy run-virt.include and template files to the appropriate place for
- # inclusion in stage4
- my $pluginName = $self->{'name'};
- my $pluginBasePath = "$openslxBasePath/lib/plugins/$pluginName/files";
- foreach my $file ( qw( run-virt.include ifup ifdown ) ) {
- copyFile("$pluginBasePath/$file", "$pluginRepoPath/");
- }
- chmod 0755, "$pluginRepoPath/ifup", "$pluginRepoPath/ifdown";
-
- my $initFile = newInitFile();
- $initFile->setName("qemukvm");
- $initFile->setDesc("Setup environment for QEMU/KVM");
-
- # TODO: default dirs als globale funktion anbieten
- $initFile->
- addToBlock('head','. /etc/opt/openslx/plugins/qemukvm/network.conf');
-
- # TODO: remove all runlevel links for qemu-kvm or kvm
- my $kvm_module = unshiftHereDoc(<<' End-of-Here');
- # Figure out which module we need.
- if grep -q ^flags.*\\\<vmx\\\> /proc/cpuinfo; then
- module=kvm_intel
- elif grep -q ^flags.*\\\<svm\\\> /proc/cpuinfo; then
- module=kvm_amd
- else
- module=kqemu
- fi
- End-of-Here
-
- my $do_start = unshiftHereDoc(<<' End-of-Here');
- # loading kvm module
- kvm_module
- [ -n "${module}" ] && modprobe -q ${module}
- # load the tunnel device module
- modprobe -q tun
- # TODO: maybe in the ifup-script better solution?
- # configuring the tap0 interface to the existing bridge configured in stage3
- #for i in 0 1 2; do
- # /opt/openslx/uclib-rootfs/sbin/tunctl -t tap${i} >/dev/null 2>&1
- # ip link set dev tap${i} up
- #done
- #/opt/openslx/uclib-rootfs/usr/sbin/brctl addif br0 tap0
- #ip addr add ${nataddress} dev tap1
- #ip addr add ${hoaddress} dev tap2
- #echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding
- #echo "1" >/proc/sys/net/ipv4/conf/tap0/forwarding
- # make /dev/fb0 writable for all
- # TODO: maybe solve via group or udev, etc...
- chmod 766 /dev/fb*
- End-of-Here
-
- my $do_stop = unshiftHereDoc(<<' End-of-Here');
- kvm_module
- [ -n "${module}" ] && modprobe -q -r ${module}
- modprobe -q -r tun
- # TODO: tun removed, so this is not necessary
- #/opt/openslx/uclib-rootfs/usr/sbin/brctl delif br0 tap0
- #ip addr del ${nataddress} dev tap1
- #ip addr del ${hoaddress} dev tap2
- #echo "0" >/proc/sys/net/ipv4/conf/br0/forwarding
- #echo "0" >/proc/sys/net/ipv4/conf/tap0/forwarding
- chmod 760 /dev/fb*
- End-of-Here
-
- my $do_restart = unshiftHereDoc(<<' End-of-Here');
- do_stop && do_start
- End-of-Here
-
- # add helper functions to initfile
- # first parameter name of the function
- # second parameter content of the function
- $initFile->addFunction('kvm_module', $kvm_module);
- $initFile->addFunction('do_start', $do_start);
- $initFile->addFunction('do_stop', $do_stop);
- $initFile->addFunction('do_restart', $do_restart);
-
- # place a call of the helper function in the stop block of the init file
- # first parameter name of the function
- # second parameter name of the block
- $initFile->addFunctionCall('do_start', 'start');
- $initFile->addFunctionCall('do_stop', 'stop');
- $initFile->addFunctionCall('do_restart', 'restart');
-
- my $distro = (split('-',$self->{'os-plugin-engine'}->distroName()))[0];
-
- # write qemukvm initfile to plugin path
- spitFile(
- "$pluginRepoPath/qemukvm",
- getInitFileForDistro($initFile, ucfirst($distro))
- );
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-sub checkStage3AttrValues
-{
- my $self = shift;
- my $stage3Attrs = shift;
- my $vendorOSAttrs = shift;
- #my @problems;
-
- #my $vmimg = $stage3Attrs->{'qemukvm::imagesrc'} || '';
-
- return;
-}
-
-# The bridge configuration needs the bridge module to be present in early
-# stage3
-sub suggestAdditionalKernelModules
-{
- my $self = shift;
- my $makeInitRamFSEngine = shift;
-
- my @suggestedModules;
-
- push @suggestedModules, qw( bridge );
-
- return @suggestedModules;
-}
-
-1;
diff --git a/os-plugins/plugins/qemukvm/XX_qemukvm.sh b/os-plugins/plugins/qemukvm/XX_qemukvm.sh
deleted file mode 100644
index 8a41ff3b..00000000
--- a/os-plugins/plugins/qemukvm/XX_qemukvm.sh
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILE=/initramfs/plugin-conf/qemukvm.conf
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/qemukvm
-PLUGINDIR=${OPENSLX_DEFAULT_DIR}/plugin-repo/qemukvm
-VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR}/qemukvm
-LOGDIR=/mnt/${OPENSLX_DEFAULT_LOGDIR}
-
-# check if the configuration file is available
-if [ -e ${CONFFILE} ]; then
-
- # load needed variables
- . ${CONFFILE}
-
- # Test if this plugin is activated... more or less useless with the
- # new plugin system
- if [ ${qemukvm_active} -ne 0 2>/dev/null ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'qemukvm' os-plugin ...";
-
- # load general configuration
- . /initramfs/machine-setup
-
- # copy virtualization include files and qemukvm.conf to config dir
- testmkd ${PLUGINCONFDIR}
- cp /mnt/${PLUGINDIR}/run-virt.include ${PLUGINCONFDIR}
- cp ${CONFFILE} ${PLUGINCONFDIR}
-
-# # check for the virtualization CPU features
-# if grep -q "vmx" /proc/cpuinfo && modprobe ${MODPRV} kvm_intel ; then
-# [ $DEBUGLEVEL -gt 0 ] && echo " * Loaded kvm_intel module"
-# echo "kvm=intel" >> ${PLUGINCONFDIR}/qemukvm.conf
-# elif grep -q "svm" /proc/cpuinfo && modprobe ${MODPRV} kvm_amd ; then
-# [ $DEBUGLEVEL -gt 0 ] && echo " * Loaded kvm_amd module"
-# echo "kvm=amd" >> ${PLUGINCONFDIR}/qemukvm.conf
-# elif modprobe ${MODPRV} kqemu ; then
-# [ $DEBUGLEVEL -gt 0 ] && \
-# error " * Successfully loaded the kqemu module, but loading of kvm_amd \
-#or kvm_intel\n failed, because no virtualization extenstion found in this \
-#CPU. Please\n enable the extension within your machines BIOS or get another \
-#CPU." nonfatal
-# else
-# error " * All module loading failed including the kqemu module, which \
-#was either\n not found or couldn't be loaded for other reasons. Thus using \
-#qemu(-kvm)\n makes not much sense." nonfatal
-# fi
-
-# # load the tunnel device module
-# modprobe tun 2>/dev/null
-
- # get source of qemukvm image server (get type, server and path)
- if strinstr "/" "${qemukvm_imagesrc}" ; then
- qkimgprot=$(uri_token ${qemukvm_imagesrc} prot)
- qkimgserv=$(uri_token ${qemukvm_imagesrc} server)
- qkimgpath="$(uri_token ${qemukvm_imagesrc} path)"
- fi
- if [ -n "${qkimgserv}" ] ; then
- # directory where qemu images are expected in
- mnttarget=/mnt/var/lib/virt/qemukvm
- # mount the qemukvm image source readonly (ro)
- fsmount ${qkimgprot} ${qkimgserv} ${qkimgpath} ${mnttarget} ro
- else
- [ $DEBUGLEVEL -gt 1 ] && error " * Incomplete information in variable \
-${qemukvm_imagesrc}." nonfatal
- fi
-
- # create a network configuration template (variables should be setable in
- # the future, see vmware plugin)
- natnetwork="192.168.101"
- honetwork="192.168.102"
- echo -e "nataddress=${natnetwork}.254/24\nhoaddress=${honetwork}.254/24" \
- >${PLUGINCONFDIR}/network.conf
-
- # copy the runlevel script (proper place for all distros??)
- cp /mnt/${PLUGINDIR}/qemukvm /mnt/etc/init.d
- chmod 0755 /mnt/etc/init.d/qemukvm
- rllinker "qemukvm" 22 2
-
- # copy the /etc/qemu-ifup script and enable extended rights for running
- # the emulator and certain network commands via sudo
- ln -sf ${PLUGINDIR}/ifup ${PLUGINCONFDIR}/ifup
- ln -sf ${PLUGINDIR}/ifdown ${PLUGINCONFDIR}/ifdown
-
- cat >> /mnt/etc/sudoers << EOF
-# allow to start and stop kvm services / load-/unload kvm modules
-#ALL ALL=NOPASSWD: /etc/init.d/qemukvm
-ALL ALL=NOPASSWD: /opt/openslx/uclib-rootfs/sbin/tunctl -t tap*
-ALL ALL=NOPASSWD: /opt/openslx/uclib-rootfs/usr/sbin/brctl addif br0 tap*
-ALL ALL=NOPASSWD: /opt/openslx/uclib-rootfs/bin/ip link set dev tap* up
-ALL ALL=NOPASSWD: /opt/openslx/uclib-rootfs/bin/ip addr add * dev tap*
-ALL ALL=NOPASSWD: /opt/openslx/uclib-rootfs/usr/sbin/udhcpd -S /tmp/qemukvm/*/udhcpd.conf
-ALL ALL=NOPASSWD: /opt/openslx/uclib-rootfs/bin/cp /tmp/qemukvm/*/forwarding /proc/sys/net/ipv4/conf/tap*/forwarding
-#ALL ALL=NOPASSWD: ${killall} udhcpd
-EOF
- fi
-else
- [ $DEBUGLEVEL -gt 0 ] && echo " * Configuration of 'qemukvm' plugin failed"
-fi
diff --git a/os-plugins/plugins/qemukvm/files/ifdown b/os-plugins/plugins/qemukvm/files/ifdown
deleted file mode 100644
index e741d9ca..00000000
--- a/os-plugins/plugins/qemukvm/files/ifdown
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# ifdown
-# - Script used for network cleanup of qemukvm in stage4
-# -----------------------------------------------------------------------------
-
-# get VM_ID through tap name
-VM_ID=$(echo $1 | grep -oE "0[0-4]$")
-QKTMPDIR=/tmp/qemukvm/${USER}/${VM_ID}
-touch /tmp/qemukvm/udhcpd.pids
-chmod 666 tmp/qemukvm/udhcpd.pids
-
-case "$1" in
- tapnat0*)
- # kill udhcpd
- cat ${QKTMPDIR}/udhcpd.pid >> /tmp/qemukvm/udhcpd-unused.pid
- ;;
- taphost0*)
- # kill udhcpd
- cat ${QKTMPDIR}/udhcpd.pid >> /tmp/qemukvm/udhcpd-unused.pid
- ;;
-esac
-
-# Produce a clean exit status
-exit 0
diff --git a/os-plugins/plugins/qemukvm/files/ifup b/os-plugins/plugins/qemukvm/files/ifup
deleted file mode 100644
index b3218798..00000000
--- a/os-plugins/plugins/qemukvm/files/ifup
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# ifup
-# - Script used for network setup of qemukvm in stage4
-# -----------------------------------------------------------------------------
-
-. /etc/opt/openslx/openslx.conf
-
-PLUGINCONFDIR=${OPENSLX_DEFAULT_CONFDIR}/plugins/qemukvm
-
-# get VM_ID through tap name
-VM_ID=$(echo $1 | grep -oE "0[0-4]$")
-QKTMPDIR=/tmp/qemukvm/${USER}/${VM_ID}
-
-# Use the udhcpcd as DHCP server and brctl as provided by default in OpenSLX
-# environments via uclibc-wrapper.
-. ${PLUGINCONFDIR}/network.conf
-
-# Just decide by the virtual network device used which kind of connection
-# should be set up (passed in $1): tap0 = bridge, tap1 = nat, tap2 = hostonly.
-case "$1" in
- tapbridge0*)
- sudo ip link set dev $1 up
- # TODO: forwarding?, where needed
- echo "1" >${QKTMPDIR}/forwarding
- sudo cp ${QKTMPDIR}/forwarding /proc/sys/net/ipv4/conf/br0/forwarding
- sudo cp ${QKTMPDIR}/forwarding /proc/sys/net/ipv4/conf/$1/forwarding
- ;;
- tapnat0*)
- # Configuring DHCP on host tapnat interface and enable IP masquerading
- sudo ip addr add ${nataddress} dev $1
- sudo ip link set dev $1 up
- # TODO: forwarding?, where needed
- echo "1" >${QKTMPDIR}/forwarding
- sudo cp ${QKTMPDIR}/forwarding /proc/sys/net/ipv4/conf/br0/forwarding
- sudo cp ${QKTMPDIR}/forwarding /proc/sys/net/ipv4/conf/$1/forwarding
- # TODO: we use here atatic address, maybe change later
- sed -e "s,NWIF,$1,;s,CNETWORK,192.168.1${VM_ID}," \
- -e "s,PIDFILE,${QKTMPDIR}/udhcpd.pid," \
- -e "s,LEASEFILE,${QKTMPDIR}/udhcpd.leases," \
- ${OPENSLX_DEFAULT_CONFDIR}/udhcpd.conf \
- >${QKTMPDIR}/udhcpd.conf
- touch ${QKTMPDIR}/udhcpd.leases
- sudo /opt/openslx/uclib-rootfs/usr/sbin/udhcpd \
- -S ${QKTMPDIR}/udhcpd.conf
- # iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
- ;;
- taphost0*)
- # Configuring DHCP on host taphost interface
- sudo ip addr add ${hoaddress} dev $1
- sudo ip link set dev $1 up
- # TODO: forwarding?, where needed
- echo "1" >${QKTMPDIR}/forwarding
- sudo cp ${QKTMPDIR}/forwarding /proc/sys/net/ipv4/conf/br0/forwarding
- sudo cp ${QKTMPDIR}/forwarding /proc/sys/net/ipv4/conf/$1/forwarding
- sed -e "s,NWIF,$1,;s,USER,${USER},;s,CNETWORK,192.168.1${VM_ID}," \
- -e "s,PIDFILE,${QKTMPDIR}/udhcpd.pid," \
- -e "s,LEASEFILE,${QKTMPDIR}/udhcpd.leases," \
- ${OPENSLX_DEFAULT_CONFDIR}/udhcpd.conf >${QKTMPDIR}/udhcpd.conf
- touch ${QKTMPDIR}/udhcpd.leases
- sudo /opt/openslx/uclib-rootfs/usr/sbin/udhcpd \
- -S ${QKTMPDIR}/udhcpd.conf
- ;;
-esac
-
-exit 0
diff --git a/os-plugins/plugins/qemukvm/files/run-virt.include b/os-plugins/plugins/qemukvm/files/run-virt.include
deleted file mode 100644
index 02c70469..00000000
--- a/os-plugins/plugins/qemukvm/files/run-virt.include
+++ /dev/null
@@ -1,306 +0,0 @@
-# run-virt.include
-# -----------------------------------------------------------------------------
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-# -----------------------------------------------------------------------------
-# run-virt.include
-# - Include script for running the QEMU/Linux KVM virtual machine on an
-# OpenSLX client via the run-virt.sh or run-vmgrid.sh
-################################################################################
-
-################################################################################
-### Include general configuration
-################################################################################
-if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf ]; then
- . ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf
-else
- writelog "Problems reading config file of ${self} plugin"
- # TODO: exit wenn conf wichtig
- #exit 1
-fi
-
-################################################################################
-### Declaration of default variables
-################################################################################
-
-PLUGINCONFQK="${PLUGINCONFROOT}/${self}"
-PLUGINDIRQK=${OPENSLX_DEFAULT_DIR}/plugin-repo/${self}
-# create TMPDIR for all users
-mkdir -m 1777 /tmp/${self} 2>/dev/null
-# TMPDIR
-QKTMPDIR="/tmp/${self}/${USER}/${VM_ID}"
-# define dirs and files which can be removed after exit, be carefull!
-RMDIRS="${QKTMPDIR}"
-rm -rf ${RMDIRS} 2>/dev/null
-mkdir -m 1777 -p ${QKTMPDIR} 2>/dev/null
-# vmpath is the path to the vm, here an image (img|qcow*|vmdk)
-diskfile=${vmpath}
-
-# check the file type
-if echo ${imgname} | grep -iE "img|qcow|vmdk" >/dev/null 2>&1; then
- imgtype=$(echo ${imgname##*.} | tr [a-z] [A-Z])
-else
- writelog "${imgname} is not a valid image type (img|qcow*|vmdk), exiting!"
- exit 1
-fi
-
-# hot keys ALT+CTRL+SHIFT
-VIRTCMDOPTS="${VIRTCMDOPTS} -alt-grab"
-
-# display name, remove blanks because of cmdline problems
-displayname=$(echo ${displayname} | sed -e "s, ,-,g")
-VIRTCMDOPTS="${VIRTCMDOPTS} -name ${displayname}"
-
-writelog "Directories:"
-writelog "\tTMPDIR:\t\t\t$QKTMPDIR"
-writelog "Diskimage:"
-writelog "\tDisk type:\t\t$imgtype"
-writelog "\tDisk file:\t\t$diskfile"
-
-################################################################################
-### Hardware checks
-################################################################################
-
-# memory part equal to vmware plugin
-# percentage of memory to use for virtualbox in standard case
-if [ -n "${forcemem}" ]; then
- mem="${forcemem}"
-else
- permem=30
- if [ "${totalmem}" -ge "1600" ]; then
- permem=40
- fi
-# # check if /tmp is on harddisk
-# if grep -qe "/dev/.* /tmp " /proc/mounts ; then
-# permem=60
-# id44="1"
-# # Hack, if more than 2,5G RAM use 40% of Ram and write vmem into Ram as well
-# # (40% vmware | 40% confdir(vmem...) | 20% host
-# # VMplayer 2+ issue
-# # TODO: makes this sense for vbox?
-# #if [ "${totalmem}" -ge "2500" ]; then
-# #permem=40
-# #rmdir ${snapshotdir}
-# #snapshotdirold=${snapshotdir}
-# #snapshotdir=/dev/shm/${self}/${USER}/${VM_ID}
-# #mkdir -p ${snapshotdir}
-# #ln -sf ${snapshotdir} ${snapshotdirold}
-# #fi
-# fi
- mem=$(expr ${totalmem} / 100 \* ${permem})
- if [ "${id44}" = "1" ]; then
- memhost=$(expr ${totalmem} - ${mem})
- else
- memhost=$(expr ${totalmem} - ${mem} - ${mem})
- fi
- # static first
- permem=50
- mem=$(expr ${totalmem} / 100 \* ${permem})
- if [ "${mem}" -lt "256" ] || [ "${memhost}" -lt "256" ]; then
- writelog "Memory out of range: ${mem} MB (guest) / ${memhost} MB (host)!"
- writelog "Min. 256 MB for host and guest!"
- exit 1
- fi
-fi
-
-VIRTCMDOPTS="${VIRTCMDOPTS} -m ${mem}"
-
-# network adaptor alternatives: rtl8139, pcnet, e1000
-network_card=${network_card:=pcnet}
-VIRTCMDOPTS="${VIRTCMDOPTS} -net nic,macaddr=${macaddr},model=${network_card}"
-
-# define net kind and apply script
-qemu_ifscr="script=${PLUGINCONFQK}/ifup,downscript=${PLUGINCONFQK}/ifdown"
-case "${network_kind}" in
- bridge*)
- VIRTCMDOPTS="${VIRTCMDOPTS} -net tap,ifname=tapbridge${VM_ID},${qemu_ifscr}"
- sudo /opt/openslx/uclib-rootfs/sbin/tunctl -t tapbridge${VM_ID} -u ${USER} \
- >/dev/null 2>&1
- sudo /opt/openslx/uclib-rootfs/usr/sbin/brctl addif br0 tapbridge${VM_ID}
- POSTRUN="/opt/openslx/uclib-rootfs/sbin/tunctl -d tapbridge${VM_ID}"
- ;;
- nat)
- VIRTCMDOPTS="${VIRTCMDOPTS} -net tap,ifname=tapnat${VM_ID},${qemu_ifscr}"
- sudo /opt/openslx/uclib-rootfs/sbin/tunctl -t tapnat${VM_ID} -u ${USER} \
- >/dev/null 2>&1
- sudo /opt/openslx/uclib-rootfs/usr/sbin/brctl addif br0 tapnat${VM_ID}
- POSTRUN="/opt/openslx/uclib-rootfs/sbin/tunctl -d tapnat${VM_ID}"
- ;;
- host*)
- VIRTCMDOPTS="${VIRTCMDOPTS} -net tap,ifname=taphost${VM_ID},${qemu_ifscr}"
- sudo /opt/openslx/uclib-rootfs/sbin/tunctl -t taphost${VM_ID} -u ${USER} \
- >/dev/null 2>&1
- sudo /opt/openslx/uclib-rootfs/usr/sbin/brctl addif br0 taphost${VM_ID}
- POSTRUN="/opt/openslx/uclib-rootfs/sbin/tunctl -d taphost${VM_ID}"
- ;;
- *)
- network_kind="user"
- VIRTCMDOPTS="${VIRTCMDOPTS} -net user"
- ;;
-esac
-
-# translate boot, use if set else set to HardDisk
-if [ -n "${boot}" ]; then
- case ${boot} in
- n*) # usually support for a,c,d,n, stands for Floppy, HD, CD-ROM, Network
- boot="n"
- # TODO: does not work yet, can be removed if tap1 solution better
- if [ "${network_kind}" = "user" ] && [ -n "${virtualbox_tftpdir}" ]; then
- VIRTCMDOPTS="${VIRTCMDOPTS},tftp=${virtualbox_tftpdir}"
- fi
- ;;
- # later maybe c|disk|hd*|sd*) for HD and d|cd*) for CD-ROM
- *)
- boot="c"
- ;;
- esac
-else
- boot="c"
-fi
-
-# external GUI port
-vncport="590${VM_ID}"
-
-# TODO: most of the following does not make much sense yet ...
-# virtual fd/cd/dvd and drive devices, floppy b: for configuration
-# if $floppy_0 from run-virt.include set then fdtest="TRUE"
-fdtest=
-fdtest=${floppy_0:+"TRUE"}
-# if $fdtest not set floppy0="FALSE", else "TRUE"
-floppy0=${fdtest:-"FALSE"}
-floppy1="TRUE"
-floppy1name="/var/lib/virt/vmchooser/loopimg/fd.img"
-# if $cdrom_0 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_0:+"TRUE"}
-# if $cdtest not set cdrom0="FALSE", else "TRUE"
-cdrom0=${cdtest:-"FALSE"}
-# if $cdrom_1 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_1:+"TRUE"}
-# if $cdtest not set cdrom1="FALSE", else "TRUE"
-cdrom1=${cdtest:-"FALSE"}
-# ide is expected default, test for the virtual disk image type should
-# be done while creating the runscripts ...
-ide="TRUE"
-hddrv="ide"
-
-# TODO: nur bei vmchooser
-#VIRTCMDOPTS="${VIRTCMDOPTS} -fda /dev/fd0"
-#VIRTCMDOPTS="${VIRTCMDOPTS} -fdb ${floppy1name}"
-
-# audio
-VIRTCMDOPTS="${VIRTCMDOPTS} -soundhw all"
-
-# serial
-#VIRTCMDOPTS="${VIRTCMDOPTS} -serial /dev/ttyS0"
-
-writelog "Virtual Hardware:"
-writelog "\tGuest RAM:\t\t${mem} MB"
-# echo nur wenn memhost gesetzt
-[ -n "${memhost}" ] && writelog "\tHost RAM:\t\t${memhost} MB"
-writelog "\tMAC address:\t\t$macaddr"
-writelog "\tNetwork card:\t\t${network_card}"
-writelog "\tNetwork kind:\t\t${network_kind}"
-#writelog "\tCD-ROM1:\t${cdrom0}"
-#writelog "\tCD-ROM2:\t${cdrom1}"
-#writelog "\tFloppy_A:\t${floppy0}"
-#writelog "\tFloppy_B:\t${floppy1}"
-#writelog "\tShared Folders 'home':\t/home/${USER}"
-
-################################################################################
-### finally set env for run-virt.sh
-################################################################################
-
-# TODO: besser drive statt hda?
-#-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]
-# [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]
-# [,cache=writethrough|writeback|none][,format=f][,serial=s]
-# [,boot=on|off]
-#-snapshot write to temporary files instead of disk image files
-#-usb enable the USB driver (will be the default soon)
-#-usbdevice name add the host or guest USB device 'name'
-#-nographic disable graphical output and redirect serial I/Os to console
-#-vga [std|cirrus|vmware|none] select video card type
-#-vnc display start a VNC server on display
-#-tftp dir allow tftp access to files in dir [-net user]
-#-bootp file advertise file in BOOTP replies
-#-no-fd-bootchk disable boot signature checking for floppy disks
-#-no-acpi disable ACPI
-#-kernel bzImage use 'bzImage' as kernel image
-#-append cmdline use 'cmdline' as kernel command line
-#-initrd file use 'file' as initial ram disk
-#-serial dev redirect the serial port to char device 'dev'
-#-parallel dev redirect the parallel port to char device 'dev'
-#-monitor dev redirect the monitor to char device 'dev'
-#-pidfile file write PID to 'file'
-#-d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)
-#-L path set the directory for the BIOS, VGA BIOS and keymaps
-#-bios file set the filename for the BIOS
-#-no-kvm disable KVM hardware virtualization
-#-enable-nesting enable support for running a VM inside the VM (AMD only)
-#-no-reboot exit instead of rebooting
-#-no-shutdown stop before shutdown
-#-loadvm [tag|id]
-# start right away with a saved state (loadvm in monitor)
-#-daemonize daemonize QEMU after initializing
-#-kvm-shadow-memory megs set the amount of shadow pages to be allocated
-#-mem-path set the path to hugetlbfs/tmpfs mounted directory, also
-# enables allocation of guest memory with huge pages
-#-mem-prealloc toggles preallocation of -mem-path backed physical memory
-# at startup. Default is enabled.
-#-option-rom rom load a file, rom, into the option ROM space
-#-localtime set the real time clock to local time [default=utc]
-#-startdate select initial date of the clock
-#-icount [N|auto]
-# enable virtual instruction counter with 2^N clock ticks per instruction
-#-echr chr set terminal escape character instead of ctrl-a
-#-virtioconsole c
-# set virtio console
-#-show-cursor show cursor
-
-# check for kvm modules
-if [ -c /dev/kvm ]; then
- for tool in kvm qemu-kvm; do
- VIRTCMD=$(which ${tool} 2>/dev/null)
- [ -n "$VIRTCMD" ] && break
- done
-else
- VIRTCMD=$(which qemu 2>/dev/null)
- writelog "KVM available but /dev/kvm not found!"
- writelog "Trying fallback to QEMU emulation."
-fi
-
-if [ -z "${VIRTCMD}" ]; then
- writelog "No QEMU/KVM found, exiting!"
- rm -rf ${RMDIRS}
- exit 1
-elif [ "${VIRTCMD##*/}" = "qemu" ]; then
- writelog "User space emulation:\t\t${VIRTCMD}"
-else
- writelog "User space virtualization:\t${VIRTCMD}"
-fi
-
-# using snapshots
-VIRTCMDOPTS="${VIRTCMDOPTS} -snapshot"
-
-# TODO: boot als var, -boot n, tftp...
-VIRTCMDOPTS="${VIRTCMDOPTS} -boot c"
-
-# set headless mode
-# define first, you do not want VIRTCMDOPTS from graphical start
-VIRTCMDHL=${VIRTCMD}
-VIRTCMDOPTSHL="${VIRTCMDOPTS} -nographic ${diskfile}"
-
-# graphical start
-# vga std/cirrus/vmware?
-#VIRTCMDOPTS="${VIRTCMDOPTS} -vga std -full-screen ${diskfile}"
-VIRTCMDOPTS="${VIRTCMDOPTS} ${diskfile}"
diff --git a/os-plugins/plugins/qemukvm/init-hooks/20-nw-bridge-config/bridge.sh b/os-plugins/plugins/qemukvm/init-hooks/20-nw-bridge-config/bridge.sh
deleted file mode 100644
index ccae3381..00000000
--- a/os-plugins/plugins/qemukvm/init-hooks/20-nw-bridge-config/bridge.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Init hook to create a bridge on the active network interface
-# (should be kept identical to the files of virtualbox and vmware plugins)
-#############################################################################
-
-local bridge=br0
-local brnwif=${nwif}
-local nwifmac=${macaddr}
-
-# bridge 0 already defined or some other problem
-brctl addbr ${bridge} || exit 0
-brctl stp ${bridge} 0
-brctl setfd ${bridge} 0.000000000001
-ip link set addr ${nwifmac} ${bridge}
-ip link set dev ${nwif} up
-brctl addif ${bridge} ${nwif}
-
-# fixme: sending back the variable to init does not work properly at the
-# moment
-nwif=${bridge}
diff --git a/os-plugins/plugins/qemukvm/init-hooks/60-have-servconfig/vm-dhcpd.sh b/os-plugins/plugins/qemukvm/init-hooks/60-have-servconfig/vm-dhcpd.sh
deleted file mode 100755
index b4f02389..00000000
--- a/os-plugins/plugins/qemukvm/init-hooks/60-have-servconfig/vm-dhcpd.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Init hook to create a bridge on the active network interface
-# (should be kept identical in vmware, virtualbox and qemukvm plugins)
-#############################################################################
-
-. /etc/openslx.conf
-
-CONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}
-testmkd ${CONFDIR}
-
-# configuring dhcpd stub for virtual networks
-cat > ${CONFDIR}/udhcpd.conf << EOF
-# general udhcpd configuration file for virtual machines written by
-# $0 during OpenSLX stage3 configuration
-
-# start and end of the IP lease block
-start CNETWORK.20
-end CNETWORK.100
-
-# interface that udhcpd will use
-interface NWIF
-
-# how long an offered address is reserved (leased) in seconds
-offer_time 6000
-
-# location of the leases file
-lease_file LEASEFILE
-
-# location of the pid file
-pidfile PIDFILE
-
-option dns ${domain_name_servers}
-option subnet 255.255.255.0
-option router CNETWORK.1
-option wins CNETWORK.10
-option domain virtual.site ${domain_name}
-
-# additional options known to udhcpd
-#subnet #timezone
-#router #timesvr
-#namesvr #dns
-#logsvr #cookiesvr
-#lprsvr #bootsize
-#domain #swapsvr
-#rootpath #ipttl
-#mtu #broadcast
-#wins #lease
-#ntpsrv #tftp
-#bootfile
-EOF
diff --git a/os-plugins/plugins/syslog/OpenSLX/Distro/Base.pm b/os-plugins/plugins/syslog/OpenSLX/Distro/Base.pm
deleted file mode 100644
index ed08c5f3..00000000
--- a/os-plugins/plugins/syslog/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# syslog/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the syslog plugin.
-# -----------------------------------------------------------------------------
-package syslog::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-sub runlevelInfo
-{
- my $self = shift;
- my $kind = shift;
-
- # most distros (well: Debian & Ubuntu) use a different initscript depending
- # on which version of syslog is installed ('syslogd', 'syslog-ng' or 'rsyslog')
- my %nameMap = (
- 'syslogd' => 'sysklogd',
- 'syslog-ng' => 'syslog-ng',
- 'rsyslog' => 'rsyslog',
- );
- my $rlInfo = {
- scriptName => $nameMap{$kind},
- startAt => 2,
- stopAt => 15,
- };
-
- return $rlInfo;
-}
-
-sub getPackageName
-{
- my $self = shift;
- my $name = shift;
-
- my %nameMap = (
- 'syslogd' => 'sysklogd',
- 'syslog-ng' => 'syslog-ng',
- 'rsyslog' => 'rsyslog',
- );
- return $nameMap{$name};
-}
-
-sub getBinaryName
-{
- my $self = shift;
- my $name = shift;
-
- my %nameMap = (
- 'syslogd' => 'sysklogd',
- 'syslog-ng' => 'syslog-ng',
- 'rsyslog' => 'rsyslogd',
- );
- return $nameMap{$name};
-}
-
-1;
diff --git a/os-plugins/plugins/syslog/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/syslog/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 7255d6f5..00000000
--- a/os-plugins/plugins/syslog/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (c) 2006, 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# syslog/OpenSLX/Distro/Suse.pm
-# - provides SUSE-specific overrides of the Distro API for the syslog plugin.
-# -----------------------------------------------------------------------------
-package syslog::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(syslog::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub runlevelInfo
-{
- my $self = shift;
- my $attrs = shift;
-
- my $rlInfo = $self->SUPER::runlevelInfo($attrs);
-
- # SUSE uses a script named 'syslog', no matter if syslogd or syslog-ng
- # is installed
- $rlInfo->{scriptName} = 'syslog';
-
- return $rlInfo;
-}
-
-1;
diff --git a/os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm b/os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm
deleted file mode 100644
index c011bf66..00000000
--- a/os-plugins/plugins/syslog/OpenSLX/OSPlugin/syslog.pm
+++ /dev/null
@@ -1,322 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# syslog.pm
-# - implementation of the 'syslog' plugin, which installs
-# all needed information for a displaymanager and for the syslog.
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::syslog;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Basename;
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'syslog',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Sets up system log service for SLX-clients.
- End-of-Here
- precedence => 50,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'syslog::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'syslog'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'syslog::kind' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- kind of syslog to use \(syslogd-ng or old-style syslog\)
- End-of-Here
- content_regex => qr{^(syslog-ng|syslogd|rsyslog)$},
- content_descr => 'allowed: syslog-ng, syslogd, rsyslog',
- default => 'rsyslog',
- },
- 'syslog::host' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- name or IP-address of host where syslog shall be sent to
- End-of-Here
- content_regex => undef,
- content_descr => 'a hostname or an IP address',
- default => undef,
- },
- 'syslog::port' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- port number (UDP) where syslog shall be sent to
- End-of-Here
- content_regex => undef,
- content_descr => 'a port number',
- default => 514,
- },
- 'syslog::file' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- name of file where all log messages shall be written
- End-of-Here
- content_regex => undef,
- content_descr => 'a complete file path',
- default => '/var/log/messages',
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{pluginTempPath} = $info->{'plugin-temp-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
- $self->{openslxConfigPath} = $info->{'openslx-config-path'};
- $self->{attrs} = $info->{'plugin-attrs'};
-
- # We are going to change some of the stage1 attributes during installation
- # (basically we are filling the ones that are not defined). Since the result
- # of these changes might change between invocations, we do not want to store
- # the resulting values, but we want to store the original (undef).
- # In order to do so, we copy all stage1 attributes directly into the
- # object hash and change them there.
- $self->{kind} = lc($self->{attrs}->{'syslog::kind'});
-
- my $engine = $self->{'os-plugin-engine'};
-
- if ($self->{kind} eq 'rsyslog' && !isInPath($self->{distro}->getBinaryName('rsyslog'))) {
- $engine->installPackages($self->{distro}->getPackageName('rsyslog'));
- }
-
- if ($self->{kind} eq 'syslog-ng' && !isInPath('syslog-ng')) {
- $engine->installPackages($self->{distro}->getPackageName($self->{distro}->getBinaryName('syslog-ng')));
- }
-
- # not sure if we ever should setup this service
- if ($self->{kind} eq 'syslogd' && !isInPath($self->{distro}->getBinaryName('syslogd'))) {
- $engine->installPackages($self->{distro}->getPackageName('syslogd'));
- }
-
- if (!$self->{kind}) {
- if (qx{which $self->{distro}->getBinaryName('rsyslog')}) {
- $self->{kind} = 'rsyslog';
- }
- elsif (qx{which $self->{distro}->getBinaryName('syslog-ng')}) {
- $self->{kind} = 'syslog-ng';
- }
- elsif (qx{which $self->{distro}->getBinaryName('syslogd')}) {
- $self->{kind} = 'syslogd';
- }
- else {
- die _tr(
- "no syslog daemon available, plugin 'syslog' wouldn't work!"
- );
- }
- print _tr("selecting %s as syslog kind\n", $self->{kind});
- }
-
- # start to actually do something - according to current stage1 attributes
- if ($self->{kind} eq 'rsyslog') {
- $self->_setupRsyslog($self->{attrs});
- }
- elsif ($self->{kind} eq 'syslog-ng') {
- $self->_setupSyslogNG($self->{attrs});
- }
- elsif ($self->{kind} eq 'syslogd') {
- $self->_setupSyslogd($self->{attrs});
- }
- else {
- die _tr(
- 'unknown kind "%s" given, only "rsyslog", "syslog-ng" and "syslogd" are supported!',
- $self->{kind}
- );
- }
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-sub _setupRsyslog
-{
- my $self = shift;
- my $attrs = shift;
-
- my $repoPath = $self->{pluginRepositoryPath};
-
- my $kind = lc($attrs->{'syslog::kind'});
- my $rlInfo = $self->{distro}->runlevelInfo($kind);
-
- my $conf = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # written by OpenSLX-plugin 'syslog'
-
- testmkd /mnt/var/run/rsyslog
- rllinker $rlInfo->{scriptName} $rlInfo->{startAt} $rlInfo->{stopAt}
-
- End-of-Here
- spitFile("$repoPath/syslog.sh", $conf);
-
- return;
-}
-
-sub _setupSyslogNG
-{
- my $self = shift;
- my $attrs = shift;
-
- my $repoPath = $self->{pluginRepositoryPath};
-
- my $kind = lc($attrs->{'syslog::kind'});
- my $rlInfo = $self->{distro}->runlevelInfo($kind);
-
- my $conf = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # written by OpenSLX-plugin 'syslog'
-
- cat >/mnt/etc/syslog-ng/syslog-ng.conf <<END
- # written by OpenSLX-plugin 'syslog'
- source all {
- file("/proc/kmsg");
- unix-dgram("/dev/log");
- internal();
- };
- destination console_all {
- file("/dev/tty10");
- };
- log {
- source(all);
- destination(console_all);
- };
- END
-
- if [ -n "\${syslog_host}" ]; then
- [ -z \${syslog_port} ] && syslog_port=514
- cat >>/mnt/etc/syslog-ng/syslog-ng.conf <<END
- destination loghost {
- udp( "\${syslog_host}" port(\${syslog_port}) );
- };
- log {
- source(all);
- destination(loghost);
- };
- END
- fi
-
- if [ -n "\${syslog_file}" ]; then
- cat >>/mnt/etc/syslog-ng/syslog-ng.conf <<END
- destination allmessages {
- file("\${syslog_file}");
- };
- log {
- source(all);
- destination(allmessages);
- };
- END
- fi
-
- rllinker $rlInfo->{scriptName} $rlInfo->{startAt} $rlInfo->{stopAt}
-
- End-of-Here
- spitFile("$repoPath/syslog.sh", $conf);
-
- return;
-}
-
-sub _setupSyslogd
-{
- my $self = shift;
- my $attrs = shift;
-
- my $repoPath = $self->{pluginRepositoryPath};
-
- my $kind = lc($attrs->{'syslog::kind'});
- my $rlInfo = $self->{distro}->runlevelInfo($kind);
-
- my $conf = unshiftHereDoc(<<' End-of-Here');
- #!/bin/sh
- # written by OpenSLX-plugin 'syslog'
-
- cat >/mnt/etc/syslog.conf <<END
- # written by OpenSLX-plugin 'syslog'
- *.=debug;\
- auth,authpriv.none;\
- news.none;mail.none -/var/log/debug
- *.=info;*.=notice;*.=warn;\
- auth,authpriv.none;\
- cron,daemon.none;\
- mail,news.none -/var/log/messages
-
- END
-
- if [ -n "\${syslog_host}" ]; then
- [ -z \${syslog_port} ] && syslog_port=514
- cat >/mnt/etc/syslog.conf <<END
- *.* @${syslog_host}
- END
- fi
-
- if [ -n "\${syslog_file}" ]; then
- cat >/mnt/etc/syslog.conf <<END
- *.* ${syslog_file}
- };
- END
- fi
-
- rllinker $rlInfo->{scriptName} $rlInfo->{startAt} $rlInfo->{stopAt}
-
- End-of-Here
- spitFile("$repoPath/syslog.sh", $conf);
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/syslog/XX_syslog.sh b/os-plugins/plugins/syslog/XX_syslog.sh
deleted file mode 100644
index 0a96814f..00000000
--- a/os-plugins/plugins/syslog/XX_syslog.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2007..2008 - RZ Uni Freiburg
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'syslog' plugin - the runlevel script
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# check if the plugin config directory is generally available or if the client
-# configuration failed somehow
-[ -d /initramfs/plugin-conf ] || error "${init_picfg}" nonfatal
-
-if [ -e /initramfs/plugin-conf/syslog.conf ]; then
- . /initramfs/plugin-conf/syslog.conf
- if [ $syslog_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'syslog' os-plugin ..."
-
- . /mnt/opt/openslx/plugin-repo/syslog/syslog.sh
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'syslog' os-plugin ..."
-
- fi
-fi
diff --git a/os-plugins/plugins/syslog/init-hooks/15-have-ip-config/syslog.sh b/os-plugins/plugins/syslog/init-hooks/15-have-ip-config/syslog.sh
deleted file mode 100644
index f0ca370f..00000000
--- a/os-plugins/plugins/syslog/init-hooks/15-have-ip-config/syslog.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-if [ -e /initramfs/plugin-conf/syslog.conf ]; then
- . /initramfs/plugin-conf/syslog.conf
- if [ $syslog_active -ne 0 ]; then
- # TODO: maybe limit the maximum log file size via rotation?
- params="-s 0"
- if [ -n "$syslog_host" ]; then
- if [ -n "${syslog_port}" ]; then
- host="${syslog_host}:${syslog_port}"
- else
- host="${syslog_host}"
- fi
- params="$params -R ${host}"
- fi
- echo "syslogd $params ..."
- syslogd $params >/dev/null 2>&1
- klogd >/dev/null 2>&1
- fi
-fi
diff --git a/os-plugins/plugins/syslog/init-hooks/95-cleanup/syslog.sh b/os-plugins/plugins/syslog/init-hooks/95-cleanup/syslog.sh
deleted file mode 100644
index 08076c34..00000000
--- a/os-plugins/plugins/syslog/init-hooks/95-cleanup/syslog.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-if [ -e /initramfs/plugin-conf/syslog.conf ]; then
- . /initramfs/plugin-conf/syslog.conf
- if [ $syslog_active -ne 0 ] && [ -n "$syslog_host" ]; then
- # kill syslogd, as it is going to be replaced by system's syslog soon
- killall syslogd
- # remove links to boot.klog, as that will hang (I suppose that is
- # because we already emptied /dev/kmsg)
- if [ -e /mnt/etc/init.d/boot.klog ]; then
- rm /mnt/etc/init.d/boot.d/*.klog
- fi
- fi
-fi
diff --git a/os-plugins/plugins/sysrqshutdown/OpenSLX/OSPlugin/sysrqshutdown.pm b/os-plugins/plugins/sysrqshutdown/OpenSLX/OSPlugin/sysrqshutdown.pm
deleted file mode 100644
index 9800c203..00000000
--- a/os-plugins/plugins/sysrqshutdown/OpenSLX/OSPlugin/sysrqshutdown.pm
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright (c) 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# sysrqshutdown.pm
-# - implementation of the 'sysrqshutdow' plugin, which replaces the shutdown
-# binary through a SYSRQ shutdown script
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::sysrqshutdown;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'sysrqshutdown',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Replaces the shutdown binary through a SYSRQ shutdown script
- End-of-Here
- precedence => 10,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'sysrqshutdown::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'sysrqshutdown'-plugin be activated?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
-
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- if (! -e "/sbin/shutdown.slxorig") {
- # copy files
- my $openslxBasePath = $info->{'openslx-base-path'};
- my $pluginName = $self->{'name'};
- my $pluginBasePath
- = "$openslxBasePath/lib/plugins/$pluginName/files";
-
- system("mv /sbin/shutdown /sbin/shutdown.slxorig");
- system("cp -p $pluginBasePath/shutdown /sbin/");
- chmod 0755, "/sbin/shutdown";
- }
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- if (-e "/sbin/shutdown.slxorig") {
- system("mv /sbin/shutdown.slxorig /sbin/shutdown");
- }
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/sysrqshutdown/XX_sysrqshutdown.sh b/os-plugins/plugins/sysrqshutdown/XX_sysrqshutdown.sh
deleted file mode 100644
index 66a728da..00000000
--- a/os-plugins/plugins/sysrqshutdown/XX_sysrqshutdown.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILE="/initramfs/plugin-conf/sysrqshutdown.conf"
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/sysrqshutdown
-
-if [ -f $CONFFILE ]; then
-
- # load needed variables
- . $CONFFILE
-
- if [ ${sysrqshutdown_active} -ne 0 ] ; then
- [ ${DEBUGLEVEL} -gt 0 ] && echo "executing the 'sysrqshutdown' plugin ..."
-
- testmkd ${PLUGINCONFDIR}
- cp $CONFFILE ${PLUGINCONFDIR}/sysrqshutdown.conf
-
- # finished ...
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'sysrqshutdown' plugin ..."
- fi
-else
- [ $DEBUGLEVEL -gt 0 ] && echo " * config of 'sysrqshutdown' plugin failed"
-fi
-
diff --git a/os-plugins/plugins/sysrqshutdown/files/shutdown b/os-plugins/plugins/sysrqshutdown/files/shutdown
deleted file mode 100644
index 7f4e9a1f..00000000
--- a/os-plugins/plugins/sysrqshutdown/files/shutdown
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Copyright (c) 2010 - RZ Uni FR
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# shutdown
-# - Script for SYSRQ shutdown
-################################################################################
-
-. /etc/opt/openslx/openslx.conf
-
-################################################################################
-### Define default dirs / get configs
-################################################################################
-
-PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins
-PLUGINCONFVMGRID=${PLUGINCONFROOT}/sysrqshutdown
-# include general configuration from vmgrid
-if [ -f ${PLUGINCONFVMGRID}/sysrqshutdown.conf ]; then
- . ${PLUGINCONFVMGRID}/sysrqshutdown.conf
-else
- sysrqshutdown_active=0
-fi
-
-if [ ${sysrqshutdown_active} -eq 1 ]; then
- # check if reboot or halt
- case "$@" in
- '-r now')
- for i in $(echo s u b); do
- echo $i > /proc/sysrq-trigger &
- done
- exit 0
- ;;
- '-h now')
- for i in $(echo s u o); do
- echo $i > /proc/sysrq-trigger &
- done
- exit 0
- ;;
- esac
-fi
-# else use orig shutdown
-shutdown.slxorig $@
-
-exit 0
-
diff --git a/os-plugins/plugins/virtualbox/OpenSLX/Distro/Base.pm b/os-plugins/plugins/virtualbox/OpenSLX/Distro/Base.pm
deleted file mode 100644
index d26cdfcc..00000000
--- a/os-plugins/plugins/virtualbox/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# virtualbox/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the VirtualBox plugin.
-# -----------------------------------------------------------------------------
-package virtualbox::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-sub installVbox
-{
- my $self = shift;
-
- my $engine = $self->{'engine'};
-
- # lets try it... we can't loose anything :)
- $engine->installPackages('virtualbox-ose');
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/virtualbox/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/virtualbox/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index edd117ca..00000000
--- a/os-plugins/plugins/virtualbox/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# virtualbox/OpenSLX/Distro/debian.pm
-# - provides Debian-specific overrides of the Distro API for the VirtualBox
-# plugin.
-# -----------------------------------------------------------------------------
-package virtualbox::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(virtualbox::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub installVbox
-{
- my $self = shift;
-
- my $engine = $self->{'engine'};
- my $release = `lsb_release -rs`;
- chomp($release);
-
- # lenny(5.0) has v1.6
- # testing is ok. but no clue which lsb_release -rs it has...
- if ( $release eq "999999.0") {
- #the usual "in stage1 chroot we get another kernel vers. problem"
- # kernel modules need to be installed from the cloned system
- #$engine->installPackages('virtualbox-ose');
- #system('/etc/init.d/virtualbox-ose setup');
- } else {
- print "Couldn't install VirtualBox, no package from distribution\n";
- exit;
- }
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/virtualbox/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/virtualbox/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 9af3191e..00000000
--- a/os-plugins/plugins/virtualbox/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# virtualbox/OpenSLX/Distro/Suse.pm
-# - provides SUSE specific overrides of the distro API for the VirtualBox
-# plugin.
-# -----------------------------------------------------------------------------
-package virtualbox::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(virtualbox::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub installVbox
-{
- my $self = shift;
-
- my $engine = $self->{'engine'};
- # should be replaced by proper function
- my $release = `lsb_release -rs`;
- chomp($release);
-
- if ( $release eq "11.1" || $release eq "11.0" || $release eq "10.3") {
- $engine->installPackages('virtualbox-ose');
- } else {
- print "Couldn't install VirtualBox, no package from distribution\n";
- exit;
- }
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/virtualbox/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/virtualbox/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index 44695680..00000000
--- a/os-plugins/plugins/virtualbox/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# virtualbox/OpenSLX/Distro/Ubuntu.pm
-# - provides Ubuntu-specific overrides of the Distro API for the virtualbox
-# plugin.
-# -----------------------------------------------------------------------------
-package virtualbox::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-# inherit everything from Debian (as Ubuntu is based on it anyway)
-use base qw(virtualbox::OpenSLX::Distro::Debian);
-use base qw(virtualbox::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-
-################################################################################
-#### interface methods
-################################################################################
-sub installVbox
-{
- my $self = shift;
-
- my $engine = $self->{'engine'};
- my $release = `lsb_release -rs`;
- chomp($release);
-
- # hardy (8.04LTS): only version VBox v1.5
- if ( $release eq "8.10" || $release eq "9.04") {
- #the usual "in stage1 chroot we get another kernel vers. problem"
- # kernel modules need to be installed from the cloned system
- #$engine->installPackages("virtualbox-ose");
- #system('/etc/init.d/virtualbox-ose setup');
- } else {
- print "Couldn't install VirtualBox, no package from distribution!\n";
- exit;
- }
-
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/virtualbox/OpenSLX/OSPlugin/virtualbox.pm b/os-plugins/plugins/virtualbox/OpenSLX/OSPlugin/virtualbox.pm
deleted file mode 100644
index 07ec9dc0..00000000
--- a/os-plugins/plugins/virtualbox/OpenSLX/OSPlugin/virtualbox.pm
+++ /dev/null
@@ -1,284 +0,0 @@
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# virtualbox.pm
-# - declares necessary information for the virtualbox plugin
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::virtualbox;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Basename;
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-sub new
-{
- my $class = shift;
- my $self = {
- name => 'virtualbox',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Module for enabling services for the VirtualBox on an OpenSLX
- stateless client.
- End-of-Here
- precedence => 70,
- # headless mode does not require a desktop!
- #required => [ qw( desktop ) ],
- };
-}
-
-sub getAttrInfo
-{
- # Returns a hash-ref with information about all attributes supported
- # by this specific plugin
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- 'virtualbox::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'virtualbox'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 for active, 0 for inactive',
- default => '1',
- },
- # attribute 'imagesrc' defines where we can find virtualbox images
- 'virtualbox::imagesrc' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Where do we store our virtualbox images? NFS? Filesystem?
- End-of-Here
- content_regex => qr{^(/|nfs://)},
- content_descr => 'local path or URI or "-" (unset)',
- default => undef,
- },
- # attribute 'bridge' defines if bridged network mode should be
- # switched on
- # TODO: change to net -> nat, bridge, hostonly?
- # TODO: since we use def in XML maybe use to override
- 'virtualbox::bridge' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Should the bridging (direct access of the virtualbox clients
- to the ethernet the host is connected to) be enabled
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '0 or 1',
- default => '1',
- },
- # attribute 'mem' defines if memory should be forced
- 'virtualbox::mem' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Do you want to force a ralative amount of RAM?
- (Not implemented right now!)
- End-of-Here
- content_regex => qr{^(\d\d??)$},
- content_descr => 'Between 0 - 99',
- default => undef,
- },
- # attribute 'kvm' defines if KVM modules should be forced
- 'virtualbox::kvm' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Do you want to force the usage of KVM modules where applicable?
- (Not implemented right now!)
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '0 or 1',
- default => undef,
- },
- # attribute 'tftpdir' defines TFTP dir for network boots /w NAT
- 'virtualbox::tftpdir' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Do you want to define a stage 4 TFTP dir for netwoork boots when
- using NAT?
- Hint: Mount your TFTP ro via NFS to a local dir
- End-of-Here
- content_regex => qr{^(/)},
- content_descr => 'local path or "-" (unset)',
- default => '/var/lib/virt/virtualbox',
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{pluginTempPath} = $info->{'plugin-temp-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
- $self->{openslxConfigPath} = $info->{'openslx-config-path'};
- $self->{attrs} = $info->{'plugin-attrs'};
-
- my $engine = $self->{'os-plugin-engine'};
-
- # Different names of the tool (should be unified somehow!?)
- if (!isInPath('VirtualBox')) {
- # todo: fix this
- $self->{distro}->installVbox();
- }
- if (!isInPath('VirtualBox')) {
- print
- "VirtualBox is not installed. VirtualBox Plugin won't be installed!\n"
- ;
- #exit
- }
-
- $self->_writeRunlevelScript();
-
- # Copy run-virt.include and template files to the appropriate place for
- # inclusion in stage4
- my $pluginName = $self->{'name'};
- my $pluginBasePath =
- "$self->{openslxBasePath}/lib/plugins/$pluginName/files";
- foreach my $file ( qw( run-virt.include virtualbox.include machine.include
- empty-diff.vdi.gz rwimg.vdi.gz ) ) {
- copyFile("$pluginBasePath/$file", "$self->{pluginRepositoryPath}/");
- chmod 0644, "$self->{pluginRepositoryPath}/$file";
- }
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-sub checkStage3AttrValues
-{
- my $self = shift;
- my $stage3Attrs = shift;
- my $vendorOSAttrs = shift;
- #my @problems;
-
- #my $vmimg = $stage3Attrs->{'virtualbox::imagesrc'} || '';
-
- return;
-}
-
-# Write the runlevelscript
-sub _writeRunlevelScript
-{
- my $self = shift;
- my $initfile = newInitFile();
- my $script = "";
-
- $initfile->setName("vbox-slx");
- $initfile->setDesc("Setup environment for virtualbox. Part of OpenSLX virtualbox plugin.");
-
- # todo: Function need to be formated proper... not important right now
- $initfile->addFunction(
- 'running',
- 'lsmod | grep -q "$1[^_-]"'
- );
- #
- $script = unshiftHereDoc(<<' End-of-Here');
- if running vboxdrv; then
- if running vboxnetflt; then
- echo "VirtualBox kernel modules (vboxdrv and vboxnetflt) are loaded."
- else
- echo "VirtualBox kernel module is loaded."
- fi
- #TODO: check it: ignore user check. handling our own way:
- for i in /tmp/.vbox-*-ipc; do
- echo "Running: "
- $(VBoxManage -q list runningvms | sed -e 's/^".*"//' 2>/dev/null)
- done
- else
- echo "VirtualBox kernel module(s) are not loaded."
- fi
- End-of-Here
- $initfile->addFunction(
- "vmstatus",
- "$script"
- );
- $initfile->addFunction(
- 'start',
- ' modprobe -qa vboxdrv vboxnetflt vboxnetadp',
- );
- $initfile->addFunction(
- 'stop',
- ' rmmod vboxnetadp vboxnetflt vboxdrv',
- );
- $initfile->addToCase(
- 'start',
- 'start'
- );
- $initfile->addToCase(
- 'stop',
- 'stop'
- );
- $initfile->addToCase(
- 'status',
- 'vmstatus'
- );
- $initfile->addToCase(
- 'restart',
- 'stop && start'
- );
-
- # get distro version
- my $distro = (split('-',$self->{'os-plugin-engine'}->distroName()))[0];
- my $runlevelscript = getInitFileForDistro($initfile, $distro);
-
- spitFile("$self->{'pluginRepositoryPath'}/vbox-slx", $runlevelscript);
-}
-
-# The bridge configuration needs the bridge module to be present in early
-# stage3
-sub suggestAdditionalKernelModules
-{
- my $self = shift;
- my $makeInitRamFSEngine = shift;
-
- my @suggestedModules;
-
- push @suggestedModules, qw( bridge );
-
- return @suggestedModules;
-}
-
-1;
diff --git a/os-plugins/plugins/virtualbox/XX_virtualbox.sh b/os-plugins/plugins/virtualbox/XX_virtualbox.sh
deleted file mode 100644
index b54b4bec..00000000
--- a/os-plugins/plugins/virtualbox/XX_virtualbox.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILE=/initramfs/plugin-conf/virtualbox.conf
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/virtualbox
-PLUGINDIR=/mnt/${OPENSLX_DEFAULT_DIR}/plugin-repo/virtualbox
-VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR}/virtualbox
-
-# check if the configuration file is available
-if [ -e ${CONFFILE} ]; then
-
- # load needed variables
- . ${CONFFILE}
-
- # Test if this plugin is activated... more or less useless with the
- # new plugin system
- if [ $virtualbox_active -ne 0 2>/dev/null ]; then
-
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'virtualbox' os-plugin ...";
-
- # load general configuration
- . /etc/initramfs-setup
-
- # get source of virtualbox image server (get type, server and path)
- if strinstr "/" "${virtualbox_imagesrc}" ; then
- vbimgprot=$(uri_token ${virtualbox_imagesrc} prot)
- vbimgserv=$(uri_token ${virtualbox_imagesrc} server)
- vbimgpath="$(uri_token ${virtualbox_imagesrc} path)"
- fi
- if [ -n "${vbimgserv}" ] ; then
- # directory where qemu images are expected in
- mnttarget=${VIRTDIR}
- # mount the virtualbox image source readonly (ro)
- fsmount ${vbimgprot} ${vbimgserv} ${vbimgpath} ${mnttarget} ro
- else
- [ $DEBUGLEVEL -gt 1 ] && \
- error " * Incomplete information in variable ${virtualbox_imagesrc}." \
- nonfatal
- fi
-
- # copy virtualization include files to config dir
- testmkd ${PLUGINCONFDIR}
- cp ${PLUGINDIR}/*.include ${PLUGINCONFDIR}
- # copy ${CONFFILE} to ${PLUGINCONFDIR} just in case
- cp ${CONFFILE} ${PLUGINCONFDIR}
-
-# # TODO: create rawdisk if requested
-# # create raw disk
-# for part in $(grep -qE " 44 | 45 " /etc/disk.partition); do
-# case "${part}" in
-# * 45 *)
-# id4x=$(grep " 45 " /etc/disk.partition | grep -E " 44 | 45 " \
-# | awk '{print $1}' | cut -c -8)
-# break
-# ;;
-# * 44 *)
-# id4x=$(grep " 44 " /etc/disk.partition | grep -E " 44 | 45 " \
-# | awk '{print $1}' | cut -c -8)
-# break
-# ;;
-# esac
-# if [ -n "${id4x}" ]; then
-# mount --bind /dev /mnt/dev
-# chroot /mnt VBoxManage -q internalcommands createrawvmdk -filename \
-# ${OPENSLX_DEFAULT_CONFDIR}/plugins/virtualbox/raw.vmdk -rawdisk ${id4x}
-# chmod 777 ${OPENSLX_DEFAULT_CONFDIR}/plugins/virtualbox/raw.vmdk
-# umount -f /mnt/dev 2>/dev/null
-# fi
-
- # copy and activate init file
- cp ${PLUGINDIR}/vbox-slx /mnt/etc/init.d/
- chmod 755 /mnt/etc/init.d/vbox-slx
- rllinker "vbox-slx" 20 2
-
- mknod -m 0660 /dev/vboxdrv c 10 59
- chown root:vboxusers /dev/vboxdrv
-
- # finished ...
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'virtualbox' os-plugin ..."
- fi
-else
- [ $DEBUGLEVEL -gt 0 ] \
- && echo " * Configuration of 'virtualbox' plugin failed"
-fi
diff --git a/os-plugins/plugins/virtualbox/files/empty-diff.vdi.gz b/os-plugins/plugins/virtualbox/files/empty-diff.vdi.gz
deleted file mode 100644
index 24697b58..00000000
--- a/os-plugins/plugins/virtualbox/files/empty-diff.vdi.gz
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/virtualbox/files/machine.include b/os-plugins/plugins/virtualbox/files/machine.include
deleted file mode 100644
index 96acd7a2..00000000
--- a/os-plugins/plugins/virtualbox/files/machine.include
+++ /dev/null
@@ -1,132 +0,0 @@
-# Include file (machine template) for run-virt.include of the virtualbox plugin
-cat << EOF > "${machconfig}"
-<?xml version="1.0"?>
-<VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.9-linux">
- <Machine uuid="{${machineuuid}}" name="${vm_name}" OSType="${vmostype}">
- <ExtraData>
- <ExtraDataItem name="GUI/AutoresizeGuest" value="on"/>
- <ExtraDataItem name="GUI/Fullscreen" value="on"/>
- <ExtraDataItem name="GUI/LastCloseAction" value="powerOff"/>
- <ExtraDataItem name="GUI/MiniToolBarAlignment" value="top"/>
- <ExtraDataItem name="GUI/MiniToolBarAutoHide" value="on"/>
- <ExtraDataItem name="GUI/SaveMountedAtRuntime" value="yes"/>
- <ExtraDataItem name="GUI/Seamless" value="off"/>
- <ExtraDataItem name="GUI/ShowMiniToolBar" value="yes"/>
- </ExtraData>
- <Hardware version="2">
- <CPU count="${cpu_cores}">
- <HardwareVirtEx enabled="${enablevt}" exclusive="true"/>
- <HardwareVirtExNestedPaging enabled="${npaging}"/>
- <HardwareVirtExVPID enabled="false"/>
- <PAE enabled="true"/>
- </CPU>
- <Memory RAMSize="${mem}"/>
- <Boot>
- <Order position="1" device="${boot}"/> <!-- HardDisk, DVD, Network, Floppy -->
- <Order position="2" device="None"/>
- <Order position="3" device="None"/>
- <Order position="4" device="None"/>
- </Boot>
- <Display VRAMSize="24" monitorCount="1" accelerate3D="false" accelerate2DVideo="false"/>
- <!-- authType="External", "Guest", "Null" -->
- <RemoteDisplay enabled="false" port="${vrdpport}" authType="Null" authTimeout="5000"/>
- <BIOS>
- <ACPI enabled="true"/>
- <IOAPIC enabled="true"/>
- <Logo fadeIn="false" fadeOut="false" displayTime="0"/>
- <BootMenu mode="MessageAndMenu"/>
- <TimeOffset value="0"/>
- <PXEDebug enabled="false"/>
- </BIOS>
- <USBController enabled="true" enabledEhci="true"/>
- <Network>
- <Adapter slot="0" enabled="true" MACAddress="${macaddr}" cable="true" speed="0" type="${vb_network_card}">
- <${network_kind}/>
- </Adapter>
- <Adapter slot="1" enabled="false" MACAddress="0800279312FB" cable="true" speed="0" type="Am79C973"/>
- <Adapter slot="2" enabled="false" MACAddress="080027A3A3CA" cable="true" speed="0" type="Am79C973"/>
- <Adapter slot="3" enabled="false" MACAddress="0800277356F6" cable="true" speed="0" type="Am79C973"/>
- <Adapter slot="4" enabled="false" MACAddress="080027CEA83A" cable="true" speed="0" type="Am79C973"/>
- <Adapter slot="5" enabled="false" MACAddress="0800271B8D7A" cable="true" speed="0" type="Am79C973"/>
- <Adapter slot="6" enabled="false" MACAddress="08002771BBD7" cable="true" speed="0" type="Am79C973"/>
- <Adapter slot="7" enabled="false" MACAddress="080027EB6A12" cable="true" speed="0" type="Am79C973"/>
- </Network>
- <UART>
- <Port slot="0" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected"/>
- <Port slot="1" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected"/>
- </UART>
- <LPT>
- <Port slot="0" enabled="false" IOBase="0x378" IRQ="4"/>
- <Port slot="1" enabled="false" IOBase="0x378" IRQ="4"/>
- </LPT>
- <AudioAdapter controller="AC97" driver="Alsa" enabled="${audio}"/> <!-- OSS, Alsa, Pulse (HANGS!) -->
- <SharedFolders>
- <SharedFolder name="${sharename}" hostPath="${sharepath}" writable="true"/>
- </SharedFolders>
- <Clipboard mode="Bidirectional"/>
- <Guest memoryBalloonSize="0" statisticsUpdateInterval="0"/>
- <!--
- <GuestProperties>
- <GuestProperty name="/VirtualBox/HostGuest/SysprepExec" value="" timestamp="1268140071072779000" flags="TRANSIENT, RDONLYGUEST"/>
- <GuestProperty name="/VirtualBox/HostGuest/SysprepArgs" value="" timestamp="1268140071072939000" flags="TRANSIENT, RDONLYGUEST"/>
- <GuestProperty name="/VirtualBox/GuestInfo/OS/Product" value="Linux" timestamp="1268140265864540000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/OS/Release" value="2.6.27.21" timestamp="1268140265894019000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/OS/Version" value="#3 SMP Fri Feb 26 16:38:21 CET 2010" timestamp="1268140265898448000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/OS/ServicePack" value="" timestamp="1268140265899571000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestAdd/Revision" value="57640" timestamp="1268140265900144000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestAdd/Version" value="3.1.4" timestamp="1268140265899937000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/OS/LoggedInUsers" value="1" timestamp="1268164075148440000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/Count" value="4" timestamp="1268164075148790000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/0/V4/IP" value="132.230.4.224" timestamp="1268164075149053000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/0/V4/Broadcast" value="132.230.4.255" timestamp="1268164075149297000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/0/V4/Netmask" value="255.255.255.0" timestamp="1268164075149596000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/0/Status" value="Up" timestamp="1268164075149829000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/1/V4/IP" value="192.168.112.1" timestamp="1268164075150037000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/1/V4/Broadcast" value="192.168.112.255" timestamp="1268164075150238000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/1/V4/Netmask" value="255.255.255.0" timestamp="1268164075150439000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/1/Status" value="Up" timestamp="1268164075150635000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/2/V4/IP" value="192.168.54.1" timestamp="1268164075150835000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/2/V4/Broadcast" value="192.168.54.255" timestamp="1268164075151072000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/2/V4/Netmask" value="255.255.255.0" timestamp="1268164075151282000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/2/Status" value="Up" timestamp="1268164075151479000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/OS/NoLoggedInUsers" value="false" timestamp="1268140276063587000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestAdd/Vbgl/Video/SavedMode" value="1024x768x32" timestamp="1268140287190297000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestAdd/HostVerLastChecked" value="3.1.4" timestamp="1268140310962236000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/3/V4/IP" value="192.168.122.1" timestamp="1268164075152293000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/3/V4/Broadcast" value="192.168.122.255" timestamp="1268164075152615000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/3/V4/Netmask" value="255.255.255.0" timestamp="1268164075152828000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/3/Status" value="Up" timestamp="1268164075153029000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/4/V4/IP" value="169.254.4.104" timestamp="1265728007966805000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/4/V4/Broadcast" value="169.254.255.255" timestamp="1265728007967184000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/4/V4/Netmask" value="255.255.0.0" timestamp="1265728007967487000" flags=""/>
- <GuestProperty name="/VirtualBox/GuestInfo/Net/4/Status" value="Up" timestamp="1265728007967829000" flags=""/>
- <GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="de_DE" timestamp="1268140070610343000" flags=""/>
- <GuestProperty name="/VirtualBox/HostInfo/VBoxVer" value="3.1.4" timestamp="1268154582522485000" flags="TRANSIENT, RDONLYGUEST"/>
- <GuestProperty name="/VirtualBox/HostInfo/VBoxRev" value="57640" timestamp="1268154582522507000" flags="TRANSIENT, RDONLYGUEST"/>
- <GuestProperty name="/VirtualBox/GuestInfo/OS/LoggedInUsersList" value="vmuser" timestamp="1268164075147867000" flags=""/>
- </GuestProperties>
- -->
- </Hardware>
- <StorageControllers>
- <StorageController name="IDE-Controller" type="PIIX4" PortCount="2">
- <AttachedDevice type="HardDisk" port="0" device="0">
- <Image uuid="{${imageuuid}}"/>
- </AttachedDevice> <!-- PLEASE DO NOT REMOVE THIS COMMENT (HD)!!! -->
- <AttachedDevice passthrough="false" type="DVD" port="0" device="1">
- <HostDrive src="${cdrom_0}"/>
- </AttachedDevice> <!-- PLEASE DO NOT REMOVE THIS COMMENT (CD)!!! -->
- </StorageController>
- <!--
- <StorageController name="Disketten-Controller" type="I82078" PortCount="1">
- <AttachedDevice type="Floppy" port="0" device="0"/>
- </StorageController>
- <StorageController name="SCSI-Controller" type="LsiLogic" PortCount="16">
- <AttachedDevice type="HardDisk" port="0" device="0">
- <Image uuid="{812c82bf-bd1a-4f59-a5b6-b54ae2f6c669}"/>
- </AttachedDevice>
- </StorageController>
- -->
- </StorageControllers>
- </Machine>
-</VirtualBox>
-EOF
diff --git a/os-plugins/plugins/virtualbox/files/run-virt.include b/os-plugins/plugins/virtualbox/files/run-virt.include
deleted file mode 100644
index 53120f2c..00000000
--- a/os-plugins/plugins/virtualbox/files/run-virt.include
+++ /dev/null
@@ -1,372 +0,0 @@
-# run-virt.include
-# -----------------------------------------------------------------------------
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-# -----------------------------------------------------------------------------
-# run-virt.include
-# - Include script for running the VirtualBox on an OpenSLX client via the
-# run-virt.sh or run-vmgrid.sh
-################################################################################
-
-################################################################################
-### Include general configuration
-################################################################################
-if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf ]; then
- . ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf
-else
- writelog "Problems reading config file of ${self} plugin"
- exit 1
-fi
-
-################################################################################
-### Declaration of default variables
-################################################################################
-
-PLUGINCONFVIRTUALBOX="${PLUGINCONFROOT}/${self}"
-PLUGINDIRVIRTUALBOX="${OPENSLX_DEFAULT_DIR}/plugin-repo/${self}"
-# create TMPDIR for all users
-TMPDIR=/tmp/${self}
-mkdir -m 1777 ${TMPDIR} 2>/dev/null
-# dir for configs
-confdir="/tmp/${self}/${USER}/${VM_ID}"
-# use alternate configuration directory instead of $HOME/.VirtualBox
-export VBOX_USER_HOME=${confdir}
-# define dirs and files which can be removed after exit, be carefull!
-RMDIRS="${snapshotdir} ${confdir} /tmp/.vbox-${USER}-ipc"
-rm -rf ${RMDIRS} 2>/dev/null
-machfolder="${confdir}/Machines"
-# use vm_shortname for dir and config names since vm_name can be very long
-machconfig="${machfolder}/${vm_shortname}/${vm_shortname}.xml"
-diskfolder="${confdir}/HardDisks"
-snapshotdir=${machfolder}/${vm_shortname}/Snapshots
-mkdir -p ${diskfolder} ${snapshotdir} 2>/dev/null
-# check if diskless var empty?
-[ -z "${diskless}" ] && diskless=0
-
-# configure our own rwimg, empty image which we support
-if [ "${imgmode}" = "rwimg" ]; then
- # what is our rwimg called?
- imgname="${vm_shortname}.vdi"
- vmpath=${imgpath}/${imgname}
- if ! [ -e "${vmpath}" ]; then
- cat ${PLUGINDIRVIRTUALBOX}/rwimg.vdi.gz | gunzip > "${vmpath}"
- fi
-fi
-
-# link to image
-diskfile="${diskfolder}/${imgname}"
-[ ${diskless} -eq 0 ] && ln -sf ${vmpath} ${diskfile}
-
-# check the file type
-if echo ${imgname} | grep -qiE "vdi|vmdk|vhd" && [ ${diskless} -eq 0 ]; then
- imgfmt=$(echo ${imgname##*.} | tr [a-z] [A-Z])
-elif [ ${diskless} -eq 0 ]; then
- writelog "${imgname} is not a valid image format (vdi|vmdk|vhd), exiting!"
- cleanexit 1
-fi
-
-# TODO: maybe rewrite, to reduce checks, merge it with network option,
-# so we can have a "compatibility to vmware config" section
-case "${vmostype}" in
- winxp*|windowsxp*)
- vmostype="WindowsXP"
- ;;
- winvista*|windowsvista*)
- vmostype="WindowsVista"
- ;;
- windows7*)
- vmostype="Windows7"
- ;;
- linux*|*ubuntu*|*suse*|debian*|*sci*)
- if echo "${vmostype}" | grep -q "64"; then
- vmostype="Linux26_64"
- # check for vtflag
- if [ ${vtflag} -ne 1 ]; then
- writelog "You are trying to boot a 64 bit OS without a VT enabled CPU"
- writelog "This is not supported, exiting!"
- cleanexit 1
- fi
- # check if host is only 32 bit, then use only 1 cpu (only 1 supported)
- if echo "${host_arch}" | grep -qE "i.86"; then
- cpu_cores=1
- fi
- else
- vmostype="Linux26"
- fi
- ;;
-esac
-
-writelog "Directories:"
-writelog "\tConfig dir:\t\t$confdir"
-writelog "\tMachines dir:\t\t$machfolder"
-writelog "\tMachine config:\t\t$machconfig"
-[ ${diskless} -eq 0 ] && writelog "\tHardDisks dir:\t\t$diskfolder"
-
-################################################################################
-### Hardware checks
-################################################################################
-
-# remove ':' from MAC addr for vbox
-macaddr=$(echo ${macaddr} | sed 's/://g')
-
-# machine UUID, MAC addr part of it
-machineuuid="00000000-0000-0000-0000-${macaddr}"
-# cosmetical, since UUID in lower case
-machineuuid=$(echo ${machineuuid} | tr [A-Z] [a-z])
-# get UUID of VBox image, if not diskless
-[ ${diskless} -eq 0 ] && diskuuid=$(VBoxManage -q showvdiinfo ${diskfile} \
- | grep UUID | awk '{print $2}')
-# make disk immutable
-imgtype="Immutable"
-# snapshot UUID is static
-snapshotuuid="88bc8b6d-f248-468a-95fe-318084904f8b"
-# imageuuid in machine.include, dafault snapshotuuid
-imageuuid=${snapshotuuid}
-
-# check if rw image
-# remove disk and add rwimg if set
-if echo "${imgmode}" | grep -q rw; then
- # lock existing?
- if [ -e "${vmpath}.lock" ]; then
- writelog "This rw image is already in use."
- writelog "Found lock: ${vmpath}.lock, exiting!"
- writelog "Remove lock if you are sure that this is not the case"
- cleanexit 1
- # image rw?
- elif ! [ -w ${vmpath} ]; then
- writelog "You defined mode rw, but image ${vmpath} is not rw! \c"
- writelog "Please correct, exiting!"
- cleanexit 1
- fi
- # add lock
- touch "${vmpath}.lock"
- # remove lock after VM stopped
- RMDIRS="${RMDIRS} ${vmpath}.lock"
- imgtype="Normal"
- # replace image uuid in machine config
- imageuuid=${diskuuid}
-elif [ ${diskless} -eq 0 ]; then
- # use temp disk as snapshot
- cat ${PLUGINDIRVIRTUALBOX}/empty-diff.vdi.gz \
- | gunzip > "${snapshotdir}/{${snapshotuuid}}.vdi"
-fi
-
-# TODO: MEM muss noch angepasst werden. Maschine crasht wenn nehr als 50% MEM
-# memory part equal to vmware plugin
-# percentage of memory to use for virtualbox in standard case
-#if [ -n "${forcemem}" ]; then
-# mem="${forcemem}"
-#else
-# permem=30
-# if [ "${totalmem}" -ge "1600" ]; then
-# permem=40
-# fi
-# # check if /tmp is on harddisk
-# if grep -qe "/dev/.* /tmp " /proc/mounts ; then
-# permem=60
-# id44="1"
-# # Hack, if more than 2,5G RAM use 40% of Ram and write vmem into Ram as well
-# # (40% vmware | 40% confdir(vmem...) | 20% host
-# # VMplayer 2+ issue
-# # TODO: makes this sense for vbox?
-# #if [ "${totalmem}" -ge "2500" ]; then
-# #permem=40
-# #rmdir ${snapshotdir}
-# #snapshotdirold=${snapshotdir}
-# #snapshotdir=/dev/shm/${self}/${USER}/${VM_ID}
-# #mkdir -p ${snapshotdir}
-# #ln -sf ${snapshotdir} ${snapshotdirold}
-# #fi
-# fi
-# mem=$(expr ${totalmem} / 100 \* ${permem})
-# if [ "${id44}" = "1" ]; then
-# hostmem=$(expr ${totalmem} - ${mem})
-# else
-# hostmem=$(expr ${totalmem} - ${mem} - ${mem})
-# fi
-# #permem=40
-# #mem=$(expr ${totalmem} * ${permem})
-# if [ "${mem}" -lt "256" ] || [ "${hostmem}" -lt "256" ]; then
-# writelog "Memory out of range: ${mem} MB (guest) / ${hostmem} MB (host)!"
-# writelog "Min. 256 MB for host and guest!"
-# cleanexit 1
-# fi
-#fi
-
-# translate network cards
-case "${network_card}" in
- e1000)
- vb_network_card="82540EM"
- ;;
- virtio)
- vb_network_card="virtio"
- ;;
- *)
- network_card="pcnet"
- vb_network_card="Am79C973"
-esac
-
-# translate network kinds (nat, bridged, host-only)
-case "${network_kind}" in
- bridge*)
- network_kind='BridgedInterface name="br0"'
- ;;
- host*)
- network_kind='HostOnlyInterface name="vboxnet0"'
- ;;
- *)
- network_kind="NAT"
-esac
-
-# translate boot, use if set else set to HardDisk
-# usually support for a,c,d,n, stands for Floppy, HD, CD-ROM, Network
-# support nfs and tftp as well
-case ${boot} in
- n*|tftp)
- boot="Network"
- if [ "${network_kind}" = "NAT" ] && [ -n "${virtualbox_tftpdir}" ]; then
- # use vm_shortname to avoid Problems /w TFTP in NAT
- vm_name=${vm_shortname}
- # link TFTP dir for NAT TFTP boots
- mkdir -p ${confdir}/TFTP
- if [ -e ${virtualbox_tftpdir}/pxelinux.0 ]; then
- cp ${virtualbox_tftpdir}/pxelinux.0 ${confdir}/TFTP/${vm_name}.pxe
- else
- writelog "${virtualbox_tftpdir}/pxelinux.0 not found!"
- writelog "Network boot won't work, exiting!"
- cleanexit 1
- fi
- for i in $(ls ${virtualbox_tftpdir}); do
- ln -sf ${virtualbox_tftpdir}/${i} ${confdir}/TFTP/${i}
- done
- fi
- ;;
- # later maybe c|disk|hd*|sd*) for HD and d|cd*) for CD-ROM
- *)
- boot="HardDisk"
- ;;
-esac
-
-# nested paging
-npaging="false"
-# enable VT
-enablevt="false"
-# check for VT, if not available use only 1 cpu (only 1 supported)
-[ ${vtflag} -eq 0 ] && cpu_cores=1
-[ ${vtflag} -eq 1 ] && enablevt="true"
-
-# external GUI
-vrdpport=${remotedesktopport}
-
-[ ${diskless} -eq 0 ] && writelog "\tSnapshots dir:\t\t$snapshotdir"
-writelog "Diskimage:"
-[ ${diskless} -eq 0 ] && writelog "\tDisk file:\t\t$diskfile"
-[ ${diskless} -eq 0 ] && writelog "\tDisk format:\t\t$imgfmt"
-[ ${diskless} -eq 0 ] && writelog "\tDisk type:\t\t$imgtype"
- writelog "\tVMostype:\t\t$vmostype"
- writelog "\tMachine UUID:\t\t$machineuuid"
-[ ${diskless} -eq 0 ] && writelog "\tDisk UUID:\t\t$diskuuid"
-writelog "Virtual Hardware:"
-writelog "\tCPU cores:\t\t${cpu_cores}\c"
-[ ${vtflag} -eq 0 ] && writelog ""
-[ ${vtflag} -eq 1 ] && writelog " (VT enabled CPU)"
-writelog "\tGuest RAM:\t\t${mem} MB"
-# echo nur wenn hostmem gesetzt
-[ -n "${hostmem}" ] && writelog "\tHost RAM:\t\t${hostmem} MB"
-writelog "\tMAC address:\t\t$macaddr"
-writelog "\tNetwork card:\t\t${vb_network_card}"
-writelog "\tNetwork kind:\t\t${network_kind}"
-writelog "\tBooting from:\t\t${boot}\c"
-[ ${diskless} -eq 0 ] && writelog ""
-[ ${diskless} -eq 1 ] && writelog " 'diskless'"
-# TODO: server start activate via xml, etc...
-#writelog "\tGuest VRDP port:\t${vrdpport}"
-writelog "\tCD-ROM1:\t\t${cdrom0}"
-#writelog "\tCD-ROM2:\t\t${cdrom1}"
-#writelog "\tFloppy_A:\t\t${floppy0}"
-#writelog "\tFloppy_B:\t\t${floppy1}"
-# defined in run-virt.sh and run-vmgrid.sh
-writelog "\tShared Folders '${sharename}':\t${sharepath}"
-
-################################################################################
-### Pepare and configure virtual machine and disk image
-################################################################################
-
-# create Virtualbox.xml
-. ${PLUGINCONFVIRTUALBOX}/virtualbox.include
-
-# remove snapshot disk when using rw images
-if [ "${imgtype}" != "Immutable" ]; then
- sed -i "/${snapshotuuid}/d" "${confdir}/VirtualBox.xml"
-fi
-
-# TODO: add rawdisk if requested
-#"raw.vmdk" format="VMDK" type="Writethrough"/>
-
-# create machine.xml
-. ${PLUGINCONFVIRTUALBOX}/machine.include
-
-# remove CD-ROM
-if [ "${cdrom0}" != "TRUE" ]; then
- sed -i "/HostDrive/d" ${machconfig}
- sed -i '/AttachedDevice.*type="DVD"/d' ${machconfig}
- sed -i "/<!-- PLEASE DO NOT REMOVE THIS COMMENT (CD)!!! -->/d" ${machconfig}
-fi
-
-# if diskless remove all disks
-if [ ${diskless} -eq 1 ]; then
- sed -i "/<HardDisk/d;/<\/HardDisk/d" "${confdir}/VirtualBox.xml"
- sed -i "/${imageuuid}/d" ${machconfig}
- sed -i '/AttachedDevice type="HardDisk"/d' ${machconfig}
- sed -i "/<!-- PLEASE DO NOT REMOVE THIS COMMENT (HD)!!! -->/d" ${machconfig}
-fi
-
-# define redirects
-if [ ${redirects} -ge 1 ]; then
- (( i=1 ))
- writelog "\tGuest redirects:\t\c"
- while [ ${i} -le ${redirects} ]; do
- extradataitem='<ExtraDataItem name="VBoxInternal/Devices'
- extradataitem="${extradataitem}/${network_card}/0/LUN#0/Config"
- extradataitem="${extradataitem}/${redirect_name[$i]}/"
- extradataprotocol="Protocol\" value=\"${redirect_proto[$i]}\"/>"
- extradatahostport="HostPort\" value=\"${redirect_hport[$i]}\"/>"
- extradataguestport="GuestPort\" value=\"${redirect_gport[$i]}\"/>"
- sed -i "s,</ExtraData>, ${extradataitem}${extradataguestport}\n\
- ${extradataitem}${extradatahostport}\n\
- ${extradataitem}${extradataprotocol}\n\
- </ExtraData>," "${machconfig}"
- writelog "${tabspace}${redirect_name[$i]} port: ${redirect_hport[$i]}"
- tabspace='\t\t\t\t'
- (( i=$i+1 ))
- done
-fi
-
-################################################################################
-### finally set env for run-virt.sh
-################################################################################
-
-# wait for a certain command to settle
-# get the PID of the right process
-# kill PID, seems to work
-VBMANPID=$(pstree -p | grep VBoxXPCOMIPCD | grep -ivE "VirtualBox|VBoxHeadless"\
- | sed -e "s/.*VBoxXPCOMIPCD(\(.*\)).*/\1/")
-for i in $(echo ${VBMANPID}); do
- kill -9 ${VBMANPID} >/dev/null 2>&1
-done
-
-# set the variables appropriately (several interfaces with different names)
-VIRTCMD=$(which VirtualBox 2>/dev/null)
-VIRTCMDOPTS="--startvm ${machineuuid} --start-running"
-
-# set headless mode (-v off to disable vrdp)
-VIRTCMDHL=$(which VBoxHeadless 2>/dev/null)
-VIRTCMDOPTSHL="-s ${machineuuid}"
diff --git a/os-plugins/plugins/virtualbox/files/rwimg.vdi.gz b/os-plugins/plugins/virtualbox/files/rwimg.vdi.gz
deleted file mode 100644
index e2133d6d..00000000
--- a/os-plugins/plugins/virtualbox/files/rwimg.vdi.gz
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/virtualbox/files/virtualbox.include b/os-plugins/plugins/virtualbox/files/virtualbox.include
deleted file mode 100644
index 9576fc9c..00000000
--- a/os-plugins/plugins/virtualbox/files/virtualbox.include
+++ /dev/null
@@ -1,47 +0,0 @@
-# Include file (general template) for run-virt.include of the virtualbox plugin
-cat << EOF > "${confdir}/VirtualBox.xml"
-<?xml version="1.0"?>
-<VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.9-linux"> <!-- 1.7-linux -->
- <Global>
- <ExtraData>
- <ExtraDataItem name="GUI/Input/AutoCapture" value="true"/>
- <ExtraDataItem name="GUI/Input/HostKey" value="65300"/> <!-- scroll lock / Rollen -->
- <ExtraDataItem name="GUI/LastVMSelected" value="${machineuuid}"/>
- <ExtraDataItem name="GUI/LicenseAgreed" value="1,2,3,4,5,6,7,8,9"/>
- <ExtraDataItem name="GUI/MaxGuestResolution" value="any"/> <!-- auto, width,height -->
- <ExtraDataItem name="GUI/SUNOnlineData" value="triesLeft=0"/>
- <ExtraDataItem name="GUI/SuppressMessages" value=",remindAboutAutoCapture,confirmInputCapture,remindAboutWrongColorDepth,confirmGoingFullscreen,remindAboutMouseIntegrationOn,remindAboutMouseIntegrationOff,showRuntimeError.warning.DevATA_DISKFULL,remindAboutPausedVMInput,confirmVMReset,showRuntimeError.warning.HostAudioNotResponding"/>
- <ExtraDataItem name="GUI/TrayIcon/Enabled" value="false"/>
- <ExtraDataItem name="GUI/UpdateCheckCount" value="2"/>
- <ExtraDataItem name="GUI/UpdateDate" value="never"/>
- </ExtraData>
- <MachineRegistry>
- <MachineEntry uuid="{${machineuuid}}" src="Machines/${vm_shortname}/${vm_shortname}.xml"/>
- </MachineRegistry>
- <MediaRegistry>
- <HardDisks>
- <HardDisk uuid="{${diskuuid}}" location="${diskfile}" format="${imgfmt}" type="${imgtype}">
- <HardDisk uuid="{${snapshotuuid}}" location="${snapshotdir}/{${snapshotuuid}}.vdi" format="VDI" autoReset="true"/>
- </HardDisk>
- </HardDisks>
- <!--
- <DVDImages>
- <Image uuid="{dcd1e32a-729f-4faa-b319-67adca15e4a4}" location="/.../gpxe-1.0.0+-virtio-net.iso"/>
- <Image uuid="{b71450c6-b8ff-43c1-a290-2a793b3023d8}" location="/.../gpxe-1.0.0+-e1000.iso"/>
- </DVDImages>
- -->
- <FloppyImages/>
- </MediaRegistry>
- <NetserviceRegistry>
- <DHCPServers>
- <DHCPServer networkName="HostInterfaceNetworking-vboxnet0" IPAddress="192.168.56.100" networkMask="255.255.255.0" lowerIP="192.168.56.101" upperIP="192.168.56.254" enabled="1"/>
- <!--
- <DHCPServer networkName="HostInterfaceNetworking-vboxnet1" IPAddress="0.0.0.0" networkMask="0.0.0.0" lowerIP="0.0.0.0" upperIP="0.0.0.0" enabled="0"/>
- -->
- </DHCPServers>
- </NetserviceRegistry>
- <SystemProperties defaultMachineFolder="${machfolder}" defaultHardDiskFolder="${diskfolder}" defaultHardDiskFormat="VDI" remoteDisplayAuthLibrary="VRDPAuth" webServiceAuthLibrary="VRDPAuth" LogHistoryCount="3"/>
- <USBDeviceFilters/>
- </Global>
-</VirtualBox>
-EOF
diff --git a/os-plugins/plugins/virtualbox/init-hooks/20-nw-bridge-config/bridge.sh b/os-plugins/plugins/virtualbox/init-hooks/20-nw-bridge-config/bridge.sh
deleted file mode 100644
index a6d335c5..00000000
--- a/os-plugins/plugins/virtualbox/init-hooks/20-nw-bridge-config/bridge.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Init hook to create a bridge on the active network interface
-# (should be kept identical to the files of virtualbox and qemukvm plugins)
-#############################################################################
-
-local bridge=br0
-local brnwif=${nwif}
-local nwifmac=${macaddr}
-
-# bridge 0 already defined or some other problem
-brctl addbr ${bridge} || exit 0
-brctl stp ${bridge} 0
-brctl setfd ${bridge} 0.000000000001
-ip link set addr ${nwifmac} ${bridge}
-ip link set dev ${nwif} up
-brctl addif ${bridge} ${nwif}
-
-# fixme: sending back the variable to init does not work properly at the
-# moment
-nwif=${bridge}
diff --git a/os-plugins/plugins/vmchooser/OpenSLX/Distro/Base.pm b/os-plugins/plugins/vmchooser/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 43e4ea1f..00000000
--- a/os-plugins/plugins/vmchooser/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmchooser/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the vmchooser plugin.
-# -----------------------------------------------------------------------------
-package vmchooser::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use File::Basename;
-use File::Path;
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-
-sub copyDefaultSession
-{
- my $self = shift;
- my $pluginroot = shift;
-
-
- # Take the default path of SuSE
- # (as we have the most experience with it)
- if( -f "/etc/X11/session/default.desktop") {
- rename("/etc/X11/session/default.desktop",
- "/etc/X11/session/default.desktop.back")
- }
- copyFile("$pluginroot/default.desktop","/etc/X11/session");
-
- return 1;
-} \ No newline at end of file
diff --git a/os-plugins/plugins/vmchooser/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/vmchooser/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 173f249e..00000000
--- a/os-plugins/plugins/vmchooser/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmchooser/OpenSLX/Distro/Debian.pm
-# - provides Debian implementation of the Distro API for the vmchooser plugin.
-# -----------------------------------------------------------------------------
-package vmchooser::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use base qw(vmchooser::OpenSLX::Distro::Base);
-
-use File::Basename;
-use File::Path;
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub copyDefaultSession
-{
- my $self = shift;
- my $pluginroot = shift;
-
-
- # Take the default path of SuSE
- # (as we have the most experience with it)
- if( -f "/usr/share/xsessions/default.desktop") {
- rename("/usr/share/xsessions/default.desktop",
- "/usr/share/xsessions/default.desktop.back")
- }
- copyFile("$pluginroot/default.desktop","/usr/share/xsessions");
-
- return 1;
-} \ No newline at end of file
diff --git a/os-plugins/plugins/vmchooser/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/vmchooser/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index c93a066b..00000000
--- a/os-plugins/plugins/vmchooser/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmchooser/OpenSLX/Distro/Suse.pm
-# - provides Suse implementation of the Distro API for the vmchooser plugin.
-# -----------------------------------------------------------------------------
-package vmchooser::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use base qw(vmchooser::OpenSLX::Distro::Base);
-
-use File::Basename;
-use File::Path;
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub copyDefaultSession
-{
- my $self = shift;
- my $pluginroot = shift;
-
- # Take the default path of SuSE
- # (as we have the most experience with it)
- if( -f "/etc/X11/session/default.desktop") {
- rename("/etc/X11/session/default.desktop",
- "/etc/X11/session/default.desktop.back")
- }
- copyFile("$pluginroot/default.desktop","/etc/X11/session");
- return 1;
-} \ No newline at end of file
diff --git a/os-plugins/plugins/vmchooser/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/vmchooser/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index 1677321f..00000000
--- a/os-plugins/plugins/vmchooser/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmchooser/OpenSLX/Distro/Ubuntu.pm
-# - provides Ubuntu implementation of the Distro API for the vmchooser plugin.
-# -----------------------------------------------------------------------------
-package vmchooser::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use base qw(vmchooser::OpenSLX::Distro::Base);
-
-use File::Basename;
-use File::Path;
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-sub copyDefaultSession
-{
- my $self = shift;
- my $pluginroot = shift;
-
-
- # Take the default path of SuSE
- # (as we have the most experience with it)
- if( -f "/usr/share/xsessions/default.desktop") {
- rename("/usr/share/xsessions/default.desktop",
- "/usr/share/xsessions/default.desktop.back")
- }
- copyFile("$pluginroot/default.desktop","/usr/share/xsessions");
-
- return 1;
-} \ No newline at end of file
diff --git a/os-plugins/plugins/vmchooser/OpenSLX/OSPlugin/vmchooser.pm b/os-plugins/plugins/vmchooser/OpenSLX/OSPlugin/vmchooser.pm
deleted file mode 100644
index 71ce3637..00000000
--- a/os-plugins/plugins/vmchooser/OpenSLX/OSPlugin/vmchooser.pm
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright (c) 2008, 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmchooser.pm
-# - allows user to pick from a list of virtual machine images
-#
-# - serves as base for virtualizer plugins / and requires one of these
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::vmchooser;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'vmchooser',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- allows user to pick from a list of different virtual machine images
- based on xml-files, which tell about available images. One of the
- virtualization tools like vmware*, virtualbox or qemu/kvm is
- required.
- End-of-Here
- precedence => 50,
- required => [ qw( desktop ) ],
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'vmchooser::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'vmchooser'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'vmchooser::env' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- environment, seperates pools based on XML configuration
- End-of-Here
- #TODO:
- #content_regex => qr{^(0|1)$},
- content_descr => 'name of environment',
- default => 'default',
- },
- 'vmchooser::xmlpath' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- location of XML configuration for virtual images
- End-of-Here
- #TODO:
- #content_regex => qr{^(0|1)$},
- content_descr => 'path to xml files',
- default => '/var/lib/virt',
- },
-
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
-
- # copy all needed files now:
- my $pluginName = $self->{'name'};
- my $pluginBasePath = "$openslxBasePath/lib/plugins/$pluginName/files";
- foreach my $file ( qw( vmchooser printer.sh scanner.sh xmlfilter.sh
- default.desktop mesgdisp run-virt.sh ) ) {
- copyFile("$pluginBasePath/$file", "$pluginRepoPath/");
- chmod 0755, "$pluginRepoPath/$file";
- }
-
- # set ditro-specific default session
- $self->{distro}->copyDefaultSession($pluginRepoPath);
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-sub copyRequiredFilesIntoInitramfs
-{
- my $self = shift;
- my $targetPath = shift;
- my $attrs = shift;
- my $makeInitRamFSEngine = shift;
- my $pluginRepoPath = "$openslxConfig{'base-path'}/lib/plugins/vmchooser";
-
- $makeInitRamFSEngine->addCMD(
- "cp -a $pluginRepoPath/files/mkdosfs $targetPath/bin"
- );
-
- vlog(1, _tr("vmchooser-plugin: ..."));
-
- return;
-}
-
-1;
-
diff --git a/os-plugins/plugins/vmchooser/README b/os-plugins/plugins/vmchooser/README
deleted file mode 100644
index 29434bcc..00000000
--- a/os-plugins/plugins/vmchooser/README
+++ /dev/null
@@ -1,21 +0,0 @@
-
-VirtualMachine Chooser - plugin
-===============================
-
-This Plugin uses an additionally provided program to display a list of virtual
-machine sessions (vm's provided by other plugins), from which a user can choose.
-
-This Programm is included in binary format. You can look into the sources at
-svn://svn.openslx.org/srv/svn/openslx/openslx-src-tools/os-plugins/plugins/vmchooser/
-
-There you can change the program to your needs and compile it with the included
-Makefile.
-
-Additionally the plugin provides a script to start a specific virtual machine
-preconfigured. Parts of the configuration are taken from an xml file which
-should be provided with each container file. You will find additional infor-
-mation online at: http://lab.openslx.org/wiki/openslx/Vmchooser
-
-Use at your own risk! No warranty is given by the author of this software for
-any purposes!
-
diff --git a/os-plugins/plugins/vmchooser/XX_vmchooser.sh b/os-plugins/plugins/vmchooser/XX_vmchooser.sh
deleted file mode 100644
index 168bcda1..00000000
--- a/os-plugins/plugins/vmchooser/XX_vmchooser.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright (c) 2008, 2009 - RZ Uni Freiburg
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILE="/initramfs/plugin-conf/vmchooser.conf"
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser
-BINDIR=/mnt/${OPENSLX_DEFAULT_BINDIR}
-PLUGINDIR=${OPENSLX_DEFAULT_DIR}/plugin-repo/vmchooser
-VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR}
-
-if [ -e $CONFFILE ]; then
- . $CONFFILE
- if [ $vmchooser_active -ne 0 ] ; then
- [ $DEBUGLEVEL -gt 0 ] \
- && echo "vmchooser: copying stage3 configuration file ..."
- testmkd ${PLUGINCONFDIR}/loopimg
- testmkd ${PLUGINCONFDIR}/fd-loop 1777
- cp $CONFFILE ${PLUGINCONFDIR}/vmchooser.conf
- ln -s ${PLUGINDIR}/run-virt.sh ${BINDIR}/run-virt.sh
- ln -s ${PLUGINDIR}/vmchooser ${BINDIR}/vmchooser
-
- # setup all generic virtualization / starting stuff like the floppy image
- # loop file for exchanging information between linux and vm guest
- if modprobe ${MODPRV} loop; then
- mdev -s
- else
- : #|| error "" nonfatal
- fi
- # mount a clean tempfs (bug in UnionFS prevents loopmount to work)
- grep -qE "unionfs |aufs " /proc/mounts && \
- mount -n -o size=1500k -t tmpfs vm-loopimg ${PLUGINCONFDIR}/loopimg
- # create an empty floppy image of 1.4MByte size
- dd if=/dev/zero of=${PLUGINCONFDIR}/loopimg/fd.img count=2880 bs=512 \
- 2>/dev/null
- chmod 0777 ${PLUGINCONFDIR}/loopimg/fd.img
- # use dos formatter copied into stage3
- mkdosfs ${PLUGINCONFDIR}/loopimg/fd.img >/dev/null 2>&1 #|| error
- mount -n -t msdos -o loop,umask=000 ${PLUGINCONFDIR}/loopimg/fd.img \
- ${PLUGINCONFDIR}/fd-loop
-
- # finished ...
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'vmchooser' os-plugin ..."
- fi
-fi
diff --git a/os-plugins/plugins/vmchooser/files/default.desktop b/os-plugins/plugins/vmchooser/files/default.desktop
deleted file mode 100644
index 91540228..00000000
--- a/os-plugins/plugins/vmchooser/files/default.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=virtual machine chooser (default)
-Name[de]=Virtuelle Maschine auswählen
-Comment=This session starts the vm session chooser
-Comment[de]=Diese Sitzung startet das Auswahlmenü für die vorhandenen Sitzungen
-Exec=/opt/openslx/plugin-repo/vmchooser/vmchooser
-TryExec=/opt/openslx/plugin-repo/vmchooser/vmchooser
-Icon=
-Type=Application
diff --git a/os-plugins/plugins/vmchooser/files/mesgdisp b/os-plugins/plugins/vmchooser/files/mesgdisp
deleted file mode 100755
index 41e3721c..00000000
--- a/os-plugins/plugins/vmchooser/files/mesgdisp
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/vmchooser/files/mkdosfs b/os-plugins/plugins/vmchooser/files/mkdosfs
deleted file mode 120000
index c3fa8102..00000000
--- a/os-plugins/plugins/vmchooser/files/mkdosfs
+++ /dev/null
@@ -1 +0,0 @@
-busybox \ No newline at end of file
diff --git a/os-plugins/plugins/vmchooser/files/printer.sh b/os-plugins/plugins/vmchooser/files/printer.sh
deleted file mode 100755
index 8f1d5ffa..00000000
--- a/os-plugins/plugins/vmchooser/files/printer.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-#echo "<printer name=\"info\" path=\"//printserver/info\"> some pseudo printer </printer>"
-
-for(( i=0; $i<10; i=$i+1)); do
- echo -e "printserver$i\tprinter$i\tPrinter Description $i"
-done
-
-echo -e "printserver.ruf.uni-freiburg.de\treal-printer-name\tSome really long printer Description"
-
diff --git a/os-plugins/plugins/vmchooser/files/run-virt.sh b/os-plugins/plugins/vmchooser/files/run-virt.sh
deleted file mode 100644
index 23f026c7..00000000
--- a/os-plugins/plugins/vmchooser/files/run-virt.sh
+++ /dev/null
@@ -1,402 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Copyright (c) 2007..2010 - RZ Uni FR
-# Copyright (c) 2007..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# run-virt.sh
-# - This is the generic wrapper for the several virtualization solutions.
-# The idea is to setup a set of variables used by at least two different
-# tools and then include the specific plugin which configures the speci-
-# fied virtualization tool.
-################################################################################
-
-. /etc/opt/openslx/openslx.conf
-
-################################################################################
-### Define default dirs / get configs
-################################################################################
-
-PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins
-PLUGINCONFDIR=${PLUGINCONFROOT}/vmchooser
-# include general configuration from vmchooser
-[ -f ${PLUGINCONFROOT}/vmchooser/vmchooser.conf ] && \
- . ${PLUGINCONFROOT}/vmchooser/vmchooser.conf
-# load general virtualization information
-[ -f ${PLUGINCONFROOT}/virtualization/virtualization.conf ] && \
- . ${PLUGINCONFROOT}/virtualization/virtualization.conf
-
-################################################################################
-### Functions used throughout the script
-################################################################################
-
-# function to write to stdout and logfile
-LOGFILE=${OPENSLX_DEFAULT_LOGDIR}/run-virt.${USER}.$$.log
-writelog () {
- # write to stdout
- echo -e "$1"
- # log into file
- echo -e "$1" >> ${LOGFILE}
-}
-
-# remove config dirs when exit
-cleanexit () {
- if echo "${RMDIRS}" 2>/dev/null | grep -q ${xmlvirt}; then
- writelog "${xmlvirt} exited. Cleanning up... \c"
- rm -rf ${RMDIRS} >/dev/null 2>&1
- writelog "done"
- fi
-
- exit "$1"
-}
-
-# Check for important files used
-filecheck ()
-{
- filecheck=$(LANG=us ls -lh ${diskfile} 2>&1)
- writelog "Filecheck:\n${filecheck}\n"
- noimage=$(echo ${filecheck} | grep -i "no such file or directory" | wc -l)
- rightsfile=${diskfile}
-
- # Check if link
- if [ -L "${diskfile}" ]; then
- # take link target
- rightsfile=$(ls -lh ${diskfile} 2>&1 | awk -F '-> *' '{print $2}')
- rightsfile=${vmdir}/${rightsfile}
- filecheck=$(LANG=us ls -lh ${rightsfile} 2>&1)
- fi
-
- # Does file exist
- if [ "${noimage}" -ge "1" ]; then
- writelog "Virtual Machine Image Problem:\c "
- writelog "\tThe image you've specified doesn't exist."
- writelog "Filecheck says:\c "
- writelog "\t\t${diskfile}:\n\t\t\tNo such file or directory"
- writelog "Hint:\c "
- writelog "\t\t\tCompare spelling of the image with your options.\n"
- exit 1
- fi
-
- # Readable by calling user
- if ! [ -r "${diskfile}" >/dev/null 2>&1 \
- -o -r "${diskfile}" >/dev/null 2>&1 ]; then
- writelog "Vmware Image Problem:\c "
- writelog "\tThe image you've specified has wrong rights."
- writelog "Filecheck says:\t\t$(echo ${filecheck} \
- | awk '{print $1" "$3" "$4}') ${rightsfile}"
- writelog "Hint:\t\t\tChange rights with: chmod a+r ${rightsfile}\n"
- exit 1
- fi
-
- # Writable (for persistent-mode)?
- if ! [ -w "${diskfile}" >/dev/null 2>&1 \
- -o -w "${diskfile}" >/dev/null 2>&1 ] \
- && [ "${np}" = "independent-persistent" ]; then
- writelog "Vmware Image Problem:\c "
- writelog "\tThe image you have specified has wrong rights."
- writelog "Filecheck says:\t\t$(echo ${filecheck} \
- | awk '{print $1" "$3" "$4}') ${rightsfile}"
- writelog "Hint:\t\t\tUse nonpersistent-mode or change rights to rw\n"
- exit 1
- fi
-}
-
-################################################################################
-### Get XML file and dir
-################################################################################
-
-# absolute or relative path?
-xmlfile=$1
-if ls ${xmlfile} 2>/dev/null | grep '/' >/dev/null 2>&1; then
- xmlpath=$(dirname ${xmlfile})
- xmlfile=$(basename ${xmlfile})
-else
- xmlpath=${vmchooser_xmlpath}
-fi
-# full path
-xmlfile="${xmlpath}/${xmlfile%.xml}.xml"
-
-################################################################################
-### Sanity checks
-################################################################################
-
-# test if the xml file is valid
-if ! [ -r "${xmlfile}" ]; then
- writelog "${xmlfile} not a readable XML file!"
- exit 1
-fi
-
-# test if XML file
-if ! grep '<?xml' "${xmlfile}" >/dev/null 2>&1; then
- writelog \
- "Submitted configuration file ${xmlfile} seems to have wrong XML format"
- exit 1
-fi
-
-# Theck for running in graphical environment otherwise no much use here
-[ -z "$DISPLAY" ] && echo -e "\n\tStart only within a graphical desktop!\n" \
- && exit 1
-
-################################################################################
-### Logo for console
-################################################################################
-
-cat <<EOL
- __ __
- .----.--.--.-----.___.--.--.|__|.----.| |_
- | _| | | |___| | || || _|| _|
- |__| |_____|__|__| \___/ |__||__| |____|
- OpenSLX virtual machine environment preparation script ...
-
-EOL
-
-################################################################################
-### Read needed variables from XML file
-################################################################################
-
-writelog "Starting configuration..."
-writelog "\tLogfile:\t\t${LOGFILE}"
-writelog "\t/tmp info:\t\t$(df -h | grep " /tmp$" | awk '{print $2}') \c"
-writelog "$(grep "/tmp " /proc/mounts | awk '{print $1" "$2" "$3" "$4}')"
-writelog "\tVM XML dir:\t\t$(dirname ${xmlfile})"
-writelog "\tXML file:\t\t${xmlfile}"
-writelog "VM config:"
-
-# name of the virt image
-imgname=$(grep -io '<image_name param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-
-# imagename /w full path
-if echo ${imgname} 2>/dev/null | grep -q '^/' >/dev/null 2>&1; then
- imgpath=$(dirname ${imgname})
- imgname=$(basename ${imgname})
- vmpath=${imgpath}/${imgname}
-# if old vmchooser binary stuff
-# we do not need folder name as it is already included by vmchooser
-elif echo ${xmlfile} 2>/dev/null | grep -q '^/tmp/' >/dev/null 2>&1; then
- vmpath=$imgname
- imgname=$(basename ${imgname})
-# else use same path as xml
-else
- imgpath=${xmlpath}
- vmpath=${imgpath}/${imgname}
-fi
-
-# check if virtual machine container file exists
-if ! [ -e "${vmpath}" ]; then
- writelog "Virtual machine image ${vmpath} not found!"
- exit 1
-fi
-
-# name of the virt machine, sed because of Windows formatting
-vm_name=$(grep -o 'short_description param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
-# if ${vm_name} not defined use ${xmlfile}
-vm_name=${vm_name:-${xmlfile%.xml}}
-
-# define vm_shortname since vm_name can be very long
-vm_shortname=$(basename ${xmlfile%.xml} | sed -e "s, ,-,g")
-
-# vm_name = displayname, define for old scripts
-displayname=${vm_name}
-
-# image is for the following virtual machine
-xmlvirt=$(grep -o 'virtualmachine param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
-
-# make a guess from the filename extension if ${xmlvirt} is empty
-# (not set within the XML file)
-# TODO: implement possibility to submit own configuration files
-if [ -z "${xmlvirt}" ] && [ -n "${additional_config}" ]; then
- writelog "No virtual machine parameter defined in ${xmlfile}"
- writelog "Trying to guess VM...\c"
- case "$(cat ${additional_config} | tr [A-Z] [a-z])" in
- *config.version*|*virtualhw.version*|*independent-nonpersistent*|*vmdk*)
- xmlvirt="vmware"
- ;;
- *innotek*|*virtualbox*)
- xmlvirt="virtualbox"
- ;;
- *qemu*|*kvm*)
- xmlvirt="qemukvm"
- ;;
- *)
- xmlvirt="none"
- ;;
- esac
-elif [ -z "${xmlvirt}" ]; then
- case "$(echo ${imgname##*.} | tr [A-Z] [a-z])" in
- vmdk)
- xmlvirt="vmware"
- ;;
- vbox)
- xmlvirt="virtualbox"
- ;;
- img|qcow*)
- xmlvirt="qemukvm"
- ;;
- *)
- xmlvirt="none"
- ;;
- esac
- writelog "result:\t${xmlvirt}"
-fi
-
-# definition of the client system
-vmostype=$(grep -io '<os param=.*"' ${xmlfile} | awk -F '"' '{ print $2 }' \
- | tr [A-Z] [a-z])
-
-# definition of the networking the client system is connected to
-network_kind=$(grep -io '<network param=.*"' ${xmlfile} \
- | awk -F '"' '{ print $2 }' | tr [A-Z] [a-z])
-network_card=$(grep -io '<netcard param=.*"' ${xmlfile} \
- | awk -F '"' '{ print $2 }'| tr [A-Z] [a-z])
-
-# set redirects to 0, see vmgrid if you want to define some
-redirects=0
-
-# Serial/parallel ports defined (e.g. "ttyS0" or "autodetect")
-serial=$(grep -io '<serialport param=.*"' ${xmlfile} \
- | awk -F '"' '{ print $2 }')
-parallel=$(grep -io '<parport param=.*"' ${xmlfile} \
- | awk -F '"' '{ print $2 }')
-
-writelog "\tVirtualization:\t\t$xmlvirt"
-writelog "\tVM name:\t\t$vm_name"
-writelog "\tVM short name:\t\t$vm_shortname"
-
-###############################################################################
-### Declaration of default variables
-###############################################################################
-
-# VM-ID static (00)
-VM_ID="00"
-
-# make sure cpu_cores is not empty
-cpu_cores=${cpu_cores:-"1"}
-
-# total amount of memory defined in stage 3
-permem=50
-# get a result which can be divided through 4
-mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4)
-if [ -n "${mainvirtmem}" ]; then
- forcemem=$(expr ${mainvirtmem} / 4 \* 4)
- mem=${forcemem}
-fi
-hostmem=$(expr ${totalmem} - ${mem})
-
-# configuring ethernet mac address: first 3 bytes are fixed (00:50:56)
-# 4th byte is the VM-ID (0D)
-# last two bytes are taken from the bridge of the host
-# define one MAC per guest
-macguestpart="00:50:56:${VM_ID}"
-machostpart=$(echo ${hostmacaddr} | awk -F ":" '{print $(NF-1)":"$NF}')
-macaddr=$(echo "${macguestpart}:${machostpart}" | tr [a-z] [A-Z])
-
-# virtual fd/cd/dvd and drive devices, floppy b: for configuration
-# if $floppy_0 from run-virt.include set then fdtest="TRUE"
-fdtest=
-fdtest=${floppy_0:+"TRUE"}
-# if $fdtest not set floppy0="FALSE", else "TRUE"
-floppy0=${fdtest:-"FALSE"}
-floppy1="TRUE"
-floppy1name="${PLUGINCONFDIR}/loopimg/fd.img"
-# if $cdrom_0 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_0:+"TRUE"}
-# if $cdtest not set cdrom0="FALSE", else "TRUE"
-cdrom0=${cdtest:-"FALSE"}
-# if $cdrom_1 from run-virt.include set then cdtest="TRUE"
-cdtest=
-cdtest=${cdrom_1:+"TRUE"}
-# if $cdtest not set cdrom1="FALSE", else "TRUE"
-cdrom1=${cdtest:-"FALSE"}
-# ide is expected default, test for the virtual disk image type should
-# be done while creating the runscripts ...
-ide="TRUE"
-scsi="FALSE"
-hddrv="ide"
-audio="true"
-remotedesktopport="590${VM_ID}"
-
-# Display resolution within the host system
-hostres=$(xvidtune -show 2>/dev/null| grep -ve "^$")
-xres=$(echo "${hostres}" | awk '{print $3}')
-yres=$(echo "${hostres}" | awk '{print $7}')
-
-# enable 3D
-enable3d=$(grep -i "<enable3d param=.*" ${xmlfile} 2>/dev/null | \
- awk -F '=' {'print $2'})
-
-# add rw share
-sharepath="${HOME}"
-sharename="home"
-
-# set hostname: using original hostname and adding string
-hostname="virt-$(hostname)"
-
-writelog "\tVM Hostname:\t\t$hostname"
-
-################################################################################
-### Setup the rest of the environment and run the configured vm
-################################################################################
-
-# Adjust sound volume
-writelog "Unmuting sound...\c "
-amixer -q sset Master 80% unmute 2>/dev/null
-amixer -q sset PCM 80% unmute 2>/dev/null
-amixer -q sset CD 80% unmute 2>/dev/null
-amixer -q sset Headphone 80% unmute 2>/dev/null
-amixer -q sset Front 80% umute 2>/dev/null # in SUSE 11.0 it's headphone
-amixer -q sset Speaker 0 mute 2>/dev/null # annoying built-in speaker
-writelog "finished\n"
-
-# Copy guest configuration (with added information) config.xml to be accessed
-# via virtual floppy
-# fixme -> to be changed (vmchooser adapts the file content!?)
-#TODO: wozu echo?
-#echo "Please fix the config.xml generation"
-cp ${xmlfile} ${PLUGINCONFDIR}/fd-loop/config.xml
-
-# Check if virtual machine container file exists
-#filecheck
-
-# Get all virtual machine specific stuff from the respective include file
-if [ -e ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include ] ; then
- self=${xmlvirt}
- . ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include
- # start a windowmanager for easier handling
- # (expect problems /w windows opening in background /w vmware without wm)
- for dm in xfwm4 metacity openbox blackbox kwin fvwm2 ; do
- if which $dm >/dev/null 2>&1 ; then
- if [ "$dm" = "fvwm2" ] ; then
- echo "EdgeScroll 0 0" > ${redodir}/fvwm
- fvwm2 -f ${redodir}/fvwm >/dev/null 2>&1 &
- else
- $dm >/dev/null 2>&1 &
- fi
- break
- fi
- done
- ${VIRTCMD} ${VIRTCMDOPTS}
- writelog "Bye."
- cleanexit 0
-else
- writelog "Failed because of missing ${xmlvirt} plugin."
- cleanexit 1
-fi
-
-# postrun for scripts after virtualization finishes
-if [ -n "${POSTRUN}" ]; then
- eval ${POSTRUN} >/dev/null 2>&1
-fi
-
-cleanexit 0
-exit 0
diff --git a/os-plugins/plugins/vmchooser/files/scanner.sh b/os-plugins/plugins/vmchooser/files/scanner.sh
deleted file mode 100755
index dcb94c68..00000000
--- a/os-plugins/plugins/vmchooser/files/scanner.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-
-echo -e "scanserver\tscanner1hp\tThis is a test Scanner"
diff --git a/os-plugins/plugins/vmchooser/files/vm-template.xml b/os-plugins/plugins/vmchooser/files/vm-template.xml
deleted file mode 100755
index f6b59fea..00000000
--- a/os-plugins/plugins/vmchooser/files/vm-template.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<settings>
- <entry>
- <!-- "vmware", "virtualbox", "qemu" -->
- <virtualmachine param="vmware"/>
- <!-- VM-name with ending .vmdk, .img, .vdi, .qcow2 -->
- <image_name param="vm-image.vmdk"/>
- <!-- sort after parameters then alphabet, values 0(top) - 9(bottom) -->
- <priority param="5"/>
- <!-- title shown in the menu -->
- <title param="My VM Image"/>
- <!-- description shown when image is chosen -->
- <description>Image for lectures with a lot of software: office, ...
- </description>
- <!-- if active="true" the image is selectable via vmchooser -->
- <active param="true"/>
- <!-- in which environment this image will be selectable via vmchooser -->
- <environment param="default"/>
- <!-- image locked with a password? -->
- <locked param="false"/>
- <creator param="Your Name"/>
- <email param="your@e-mail.add"/>
- <phone param="0123-12345678"/>
- <!-- when should this image be deactivated automatically -->
- <valid_until param="DD-MM-YY"/>
- <!-- type of the OS: if you do not know use "other" -->
- <!-- vmware refer to: http://sanbarrow.com/vmx/vmx-guestos.html -->
- <os param="winxppro"/>
- <!-- "nat", "bridge", "hostonly" -->
- <network param="nat"/>
- <!-- use a different virtual network card than default -->
- <netcard param="e1000"/>
- <!-- activate serial port: "ttyS0", "auto" (recommended) -->
- <serialport param="false"/>
- <!-- activate parallel port: "parport0" (recommended) -->
- <parport param="false"/>
- <!-- enable 3D support -->
- <enable3d param="true"/>
- <!-- which shared folders should be connected -->
- <shared_folders param="true">
- <!-- name="Home" path="/home/$USER" for internal VMware sf -->
- <shared_folder name="" path="" pass=""></shared_folder>
- </shared_folders>
- <!-- which printers should be connected -->
- <printers>
- <printer name="" path="">Human readable description</printer>
- </printers>
- <!-- which scanners should be connected -->
- <scanners>
- <scanner name="" path="">Description</scanner>
- </scanners>
- <!-- added automatically through vmchooser when started
- <username param="user-id"/>
- -->
- <!-- obsolete, maybe for future implementations
- <xdm param="false">
- </xdm>
- -->
- </entry>
-</settings>
diff --git a/os-plugins/plugins/vmchooser/files/vmchooser b/os-plugins/plugins/vmchooser/files/vmchooser
deleted file mode 100644
index fc12e0fe..00000000
--- a/os-plugins/plugins/vmchooser/files/vmchooser
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/vmchooser/files/xmlfilter.sh b/os-plugins/plugins/vmchooser/files/xmlfilter.sh
deleted file mode 100755
index 5196992c..00000000
--- a/os-plugins/plugins/vmchooser/files/xmlfilter.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Copyright (c) 2007..2009 - RZ Uni FR
-# Copyright (c) 2007..2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xmlfilter.sh
-# - This script is invoked by the vmchooser tool. It simply filters xml-
-# files (taking the path to these files in $1). You might modify it in any
-# way to match your needs, e.g. ask some database instead. You can re-
-# implement it in any other programming language too. You simply have to
-# return a list of proper xml files to be interpreted by the vmchooser
-# binary). Please check for vmchooser.sh too ...
-# -----------------------------------------------------------------------------
-
-# This script .
-#
-# currently:
-# - filter for slxgrp (which comes from /etc/machine-setup)
-#
-
-# include default directories
-. /etc/opt/openslx/openslx.conf
-
-if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/vmchooser.conf ]; then
- . ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/vmchooser.conf
-fi
-
-for FILE in $1/*.xml; do
- # filter all xmls which aren't set active
- if [ $(grep "<active param=.*true.*" ${FILE} | wc -l) -eq 1 ]; then
- if [ -n ${vmchooser_env} ]; then
- # filter all xmls with pool-param not equal to vmchooser::env
- if [ $(grep "<pools param=\"${vmchooser_env}\"" ${FILE} | wc -l) -eq 1 ];\
- then
- echo ${FILE};
- fi
- else
- # if there is no pool set, just take all available xmls
- echo -e ${active}
- fi
- fi
-done
diff --git a/os-plugins/plugins/vmchooser/init-hooks/40-started-hw-config/run-virt.sh b/os-plugins/plugins/vmchooser/init-hooks/40-started-hw-config/run-virt.sh
deleted file mode 100644
index 7f1ae20d..00000000
--- a/os-plugins/plugins/vmchooser/init-hooks/40-started-hw-config/run-virt.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2009 - RZ Uni Freiburg
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Stage3 part of 'vmchooser' plugin - this script detects additionally to the
-# the standard hardware configuration the availability of optical and floppy
-# drives for virtual machines.
-#
-# The script is included from init via the "." load function - thus it has all
-# variables and functions available.
-
-waitfor /tmp/hwcfg
-( hwinfo --cdrom | grep -i "Device File:" | awk {'print $3'} >/etc/hwinfo.cdrom ) &
-( hwinfo --floppy | grep -i "Device File:" | awk {'print $3'} >/etc/hwinfo.floppy ) &
diff --git a/os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh b/os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh
deleted file mode 100644
index 73a65ac5..00000000
--- a/os-plugins/plugins/vmchooser/init-hooks/80-after-plugins/virtualization.sh
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# virtual virtualization plugin
-# make sure that this file is the same in vmgrid and vmchooser plugin!
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILEVMCHOOSER="/initramfs/plugin-conf/vmchooser.conf"
-CONFFILEVMGRID="/initramfs/plugin-conf/vmgrid.conf"
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/virtualization
-
-# check if plugins available
-active=0
-[ -f ${CONFFILEVMCHOOSER} ] && . ${CONFFILEVMCHOOSER}
-[ "x${vmchooser_active}" = "x1" ] && active=1
-[ -f ${CONFFILEVMGRID} ] && . ${CONFFILEVMGRID}
-[ "x${vmgrid_active}" = "x1" ] && active=1
-
-[ $DEBUGLEVEL -gt 0 ] \
- && echo -e "Executing the 'virtualization' plugin ... \c"
-
-if [ ${active} -ne 0 ] ; then
-
- # load general configuration
- . /etc/initramfs-setup
- # include functions
- . /etc/functions
-
- testmkd ${PLUGINCONFDIR}
-
- # check if vmgrid active and change free mem
- totalmem=$(expr $(grep -i "memtotal" /proc/meminfo \
- | awk '{print $2}') / 1024)
- echo "totalmem=${totalmem}" >> ${PLUGINCONFDIR}/virtualization.conf
-
- if [ "x${vmgrid_active}" = "x1" ]; then
-
- totalmemtest=$(expr $(echo ${vmgrid_memratio} \
- | awk -F ',' '{print $1" + "$2" + "$3" + "$4" + "$5" + "$6}'))
-
- # not more than 100% memory assigned
- if [ ${totalmemtest} -le 100 2>/dev/null ]; then
-
- # host mem
- hostratio=$(echo ${vmgrid_memratio} | awk -F ',' '{print $6}')
- hostmem=$(expr ${totalmem} \* ${hostratio} / 100 2>/dev/null)
- if [ ${hostmem} -lt 256 2>/dev/null ]; then
- # min. 256 MB for host
- hostmem=256
- fi
-
- # main vm mem (vmchooser)
- if [ "x${vmchooser_active}" = "x1" ]; then
- mainvirtratio=$(echo ${vmgrid_memratio} | awk -F ',' '{print $5}')
- mainvirtmem=$(expr ${totalmem} \* ${mainvirtratio} / 100 2>/dev/null)
- if [ ${mainvirtmem} -lt 512 2>/dev/null ]; then
- # min. 512 for vmchooser
- mainvirtmem=512
- fi
- else
- mainvirtratio=0
- mainvirtmem=0
- fi
-
- cat << EOF >> ${PLUGINCONFDIR}/virtualization.conf
-hostratio=${hostratio}
-hostmem=${hostmem}
-mainvirtratio=${mainvirtratio}
-mainvirtmem=${mainvirtmem}
-EOF
-
- fi
- fi
-
- # cpu cores
- CPU_CORES=$(grep 'processor.*:' /proc/cpuinfo | wc -l)
- if [ "${CPU_CORES}" -gt "1" 2>/dev/null ]; then
- echo "cpu_cores=${CPU_CORES}" \
- >> ${PLUGINCONFDIR}/virtualization.conf
- else
- echo 'cpu_cores=1' >> ${PLUGINCONFDIR}/virtualization.conf
- fi
-
- # arch
- echo "host_arch=$(uname -m)" >> ${PLUGINCONFDIR}/virtualization.conf
-
- # VT enabled cpu?
- if grep -q ^flags.*\\\<vmx\\\> /proc/cpuinfo; then
- echo "vtflag=1" >> ${PLUGINCONFDIR}/virtualization.conf
- echo 'kvm_module="kvm_intel"' >> ${PLUGINCONFDIR}/virtualization.conf
- elif grep -q ^flags.*\\\<svm\\\> /proc/cpuinfo; then
- echo "vtflag=1" >> ${PLUGINCONFDIR}/virtualization.conf
- echo 'kvm_module="kvm_amd"' >> ${PLUGINCONFDIR}/virtualization.conf
- else
- echo "vtflag=0" >> ${PLUGINCONFDIR}/virtualization.conf
- fi
-
- # write mac
- echo "hostmacaddr=${macaddr}" >> ${PLUGINCONFDIR}/virtualization.conf
- # ip addr
- echo "hostip=${clientip}" >> ${PLUGINCONFDIR}/virtualization.conf
- # hostname
- echo "hostname=${host_name}" >> ${PLUGINCONFDIR}/virtualization.conf
-
- # get further hw information
- waitfor /etc/hwinfo.cdrom
- j=0
- for i in $(cat /etc/hwinfo.cdrom); do
- echo "cdrom_$j=$i" >> ${PLUGINCONFDIR}/virtualization.conf
- j=$(expr $j + 1)
- done
-
- waitfor /etc/hwinfo.floppy
- j=0
- for i in $(cat /etc/hwinfo.floppy); do
- echo "floppy_$j=$i" >> ${PLUGINCONFDIR}/virtualization.conf
- j=$(expr $j + 1)
- done
-
- # copy host information to rwshare of vmgrid plugin
- if [ "x${vmgrid_active}" = "x1" ]; then
- cp ${PLUGINCONFDIR}/virtualization.conf ${vmgrid_rwmnt}/host.conf
- fi
-
- # finished ...
- [ $DEBUGLEVEL -gt 0 ] \
- && echo "ok"
-else
- [ $DEBUGLEVEL -gt 0 ] \
- && echo "failed"
-fi
diff --git a/os-plugins/plugins/vmgrid/OpenSLX/OSPlugin/vmgrid.pm b/os-plugins/plugins/vmgrid/OpenSLX/OSPlugin/vmgrid.pm
deleted file mode 100644
index 0965b482..00000000
--- a/os-plugins/plugins/vmgrid/OpenSLX/OSPlugin/vmgrid.pm
+++ /dev/null
@@ -1,319 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-# -----------------------------------------------------------------------------
-# vmgrid.pm
-# - ...
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::vmgrid;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'vmgrid',
- };
-
- return bless $self, $class;
-}
-
-# TODO: desc
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- ...
- End-of-Here
- precedence => 80,
- #required => [ qr{^(vmware|virtualbox|qemukvm|xen)$} ],
- #openvz|vserver
- # TODO: virtaul plugin (requires, provides?)
- #required => [ qw( virtualization ) ],
- #provided => [ qw( virtualization ) ],
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'vmgrid::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'vmgrid'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'vmgrid::virt' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- which virtualization technique schould be used?
- End-of-Here
- content_regex => qr{^(virtualbox|qemukvm|xen)$},
- #openvz|vserver
- content_descr => 'virtualbox, qemukvm, xen',
- #openvz, vserver
- default => undef,
- },
- 'vmgrid::roshare' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- do you want to mount external resources?
- e.g. NFS share /w virt images ...
- will be mounted to /var/lib/virt/vmgrid
- End-of-Here
- content_regex => qr{^nfs://},
- content_descr => 'NFS share as URI (nfs://...)',
- default => undef,
- },
- 'vmgrid::rwshare' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- do you want a persistent storage device?
- use local hard drive (ID45) or NFS share.
- will be mounted to /var/opt/openslx/plugins/vmgrid/share
- End-of-Here
- content_regex => qr{^(id45|nfs://)},
- content_descr => 'NFS share as URI (nfs://...) or "id45"',
- default => undef,
- },
- 'vmgrid::imgpath' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- location of virtual images
- for starts /w relative path
- End-of-Here
- content_descr => 'absolute path to vm image files',
- default => '/var/lib/virt/vmgrid/images',
- },
- 'vmgrid::xmlpath' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- location of XML configuration for virtual images
- for starts /w relative path
- End-of-Here
- content_descr => 'absolute path to vm xml files',
- default => '/var/lib/virt/vmgrid/xml',
- },
- 'vmgrid::startvms' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- which virtaul machines should be started per default
- comma separated list. first will be started first,
- second second, and so on, max. 4 VMs
- End-of-Here
- content_descr => 'name of xml file e.g. scilin-5.4-wn(.xml)',
- default => undef,
- },
- 'vmgrid::vt' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- use hardware virtualization, if applicable
- override the settings of the corresponding virt plugin
- (only if supported by plugin)
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '"0", "1" or "-" (for unset)',
- default => undef,
- },
- 'vmgrid::maxvcpus' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- use this number of vcpus as maximum for one vm
- (only if supported by plugin)
- End-of-Here
- content_regex => qr{^(1|2|4|8|16)$},
- content_descr => '1, 2, 4, 8, 16',
- default => undef,
- },
- 'vmgrid::minvcpus' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- use this number of vcpus as minimum for one vm
- (only if supported by plugin)
- End-of-Here
- content_regex => qr{^(1|2|4|8|16)$},
- content_descr => '1, 2, 4, 8, 16',
- default => undef,
- },
- 'vmgrid::memratio' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- define memory ratio in nn%
- order: grid client 1, 2, 3, 4, other VMs, host
- if desktop virtualization defined the free memory will be
- distributed between the remaining grid clients,
- according to their ratio
- if less than 4 VMs defined in startvms the memory is being
- reserved for a later manual start
- set to 0 if you do not intend to start them manually
- (only if supported by plugin)
- End-of-Here
- content_regex => qr{^(\d\d??,\d\d??,\d\d??,\d\d??,\d\d??,\d\d??)$},
- content_descr => '\d\d??,\d\d??,\d\d??,\d\d??,\d\d??,\d\d??',
- default => '40,0,0,0,40,20',
- },
- 'vmgrid::maxmem' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- maximum RAM used by one vm
- (only if supported by plugin)
- End-of-Here
- content_regex => qr{^(\d\d\d\d??\d??)$},
- content_descr => 'absolute amount: \d\d\d\d??\d??',
- default => undef,
- },
- 'vmgrid::minmem' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- minimum RAM used by one vm
- (only if supported by plugin)
- End-of-Here
- content_regex => qr{^(\d\d\d\d??\d??)$},
- content_descr => 'absolute amount: \d\d\d\d??\d??',
- default => undef,
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
-
- $self->_writeRunlevelScript();
-
- # copy all needed files now:
- my $pluginName = $self->{'name'};
- my $pluginBasePath = "$openslxBasePath/lib/plugins/$pluginName/files";
- foreach my $file ( qw( vmgrid run-vmgrid.sh ) ) {
- copyFile("$pluginBasePath/$file", "$pluginRepoPath/");
- chmod 0755, "$pluginRepoPath/$file";
- }
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-# Write the runlevelscript
-sub _writeRunlevelScript
-{
- my $self = shift;
- my $initfile = newInitFile();
-
- $initfile->setName("vmgrid");
- $initfile->setDesc("Setup environment for vmgrid. Part of OpenSLX vmgrid plugin.");
-
- # todo: Function need to be formated proper... not important right now
- #$initfile->addFunction(
- # 'running',
- # 'lsmod | grep -q "$1[^_-]"'
- #);
-
-# # Is a VM running?
-# my $runningvms = unshiftHereDoc(<<' End-of-Here');
-# if [ -e /tmp/vmgrid/vmgrid.pids ]; then
-# for pid in $(cat /tmp/vmgrid/vmgrid.pids); do
-# if ps aux | grep " ${pid} " | grep vmgrid; then
-# echo "Running: ${pid}"
-# fi
-# done
-# fi
-# End-of-Here
-
- # Kill all VMS!
- my $killvms = unshiftHereDoc(<<' End-of-Here');
- if [ -e /tmp/vmgrid/vmgrid.pids ]; then
- for pid in $(cat /tmp/vmgrid/vmgrid.pids); do
- if ps aux | grep " ${pid} " | grep vmgrid; then
- kill ${pid}
- fi
- done
- fi
- End-of-Here
-
- # FORCE: Kill all VMS!
- my $fkillvms = unshiftHereDoc(<<' End-of-Here');
- if [ -e /tmp/vmgrid/vmgrid.pids ]; then
- for pid in $(cat /tmp/vmgrid/vmgrid.pids); do
- if ps aux | grep " ${pid} " | grep vmgrid; then
- kill -9 ${pid}
- fi
- done
- fi
- End-of-Here
-
- $initfile->addFunction(
- 'start',
- ' vmgrid',
- );
- $initfile->addToCase(
- 'kill',
- 'killvms'
- );
- $initfile->addToCase(
- 'force-kill',
- 'fkillvms'
- );
- $initfile->addToCase(
- 'status',
- 'runningvms'
- );
- $initfile->addToCase(
- 'restart',
- 'stop && start'
- );
-
-# # get distro version
-# my $distro = (split('-',$self->{'os-plugin-engine'}->distroName()))[0];
-# my $runlevelscript = getInitFileForDistro($initfile, $distro);
-#
-# spitFile("$self->{'pluginRepositoryPath'}/vmgrid-slx", $runlevelscript);
-}
-
-1;
diff --git a/os-plugins/plugins/vmgrid/XX_vmgrid.sh b/os-plugins/plugins/vmgrid/XX_vmgrid.sh
deleted file mode 100644
index 16f5fbd1..00000000
--- a/os-plugins/plugins/vmgrid/XX_vmgrid.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILE="/initramfs/plugin-conf/vmgrid.conf"
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/vmgrid
-VIRTUALIZATIONPLUGIN=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/virtualization
-#RWSHARE=/mnt/${OPENSLX_DEFAULT_VARDIR}/plugins/vmgrid/share
-RWSHARE=/mnt/var/opt/openslx/plugins/vmgrid/share
-RWSHAREMNT=/mnt/var/opt/openslx/mnt/vmgrid
-BINDIR=/mnt/${OPENSLX_DEFAULT_BINDIR}
-PLUGINDIR=${OPENSLX_DEFAULT_DIR}/plugin-repo/vmgrid
-VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR}/vmgrid
-
-if [ -f $CONFFILE ]; then
-
- # load needed variables
- . $CONFFILE
-
- if [ ${vmgrid_active} -ne 0 ] ; then
- [ ${DEBUGLEVEL} -gt 0 ] && echo "executing the 'vmgrid' os-plugin ..."
-
- # load general configuration
- . /etc/initramfs-setup
- # include functions
- . /etc/functions
-
- testmkd ${PLUGINCONFDIR}
- testmkd ${VIRTDIR}
- cp $CONFFILE ${PLUGINCONFDIR}/vmgrid.conf
- # create link to binpath
- ln -fs ${PLUGINDIR}/vmgrid ${BINDIR}/vmgrid
- ln -fs ${PLUGINDIR}/run-vmgrid.sh ${BINDIR}/run-vmgrid.sh
-
- # mount nfs virt ro share
- if strinstr "nfs://" "${vmgrid_roshare}"; then
- virtsrcprot=$(uri_token ${vmgrid_roshare} prot)
- virtsrcserv=$(uri_token ${vmgrid_roshare} server)
- virtsrcpath="$(uri_token ${vmgrid_roshare} path)"
- if [ -n "${virtsrcprot}" -a -n "${virtsrcserv}" -a -n "${virtsrcpath}" ];
- then
- virtsrctarget=${VIRTDIR}
- # mount the vmgrid source ro
- fsmount ${virtsrcprot} ${virtsrcserv} ${virtsrcpath} ${virtsrctarget} \
- ro
- fi
- fi
-
- # create rw share
- testmkd ${RWSHARE}
- # bind mount id 45 to ${RWSHARE}
- if strinstr "id45" "${vmgrid_rwshare}" ; then
- id45part=$(grep " 45 " /etc/disk.partition | awk '{print $1}' | \
- cut -f 3,3 -d /)
- if [ -n "${id45part}" ]; then
- testmkd /mnt/media/${id45part}/vmgrid
- mount --bind -n /mnt/media/${id45part}/vmgrid ${RWSHARE} \
- >>/tmp/vmgrid.log 2>&1
- fi
- # mount nfs rw share
- elif strinstr "nfs://" "${vmgrid_rwshare}" ; then
- rwshareprot=$(uri_token ${vmgrid_rwshare} prot)
- rwshareserv=$(uri_token ${vmgrid_rwshare} server)
- rwsharepath="$(uri_token ${vmgrid_rwshare} path)"
- if [ -n "${rwshareprot}" -a -n "${rwshareserv}" -a -n "${rwsharepath}" ];
- then
- # mount to a dir fist to create spec host dir, then bind mount
- testmkd ${RWSHAREMNT}
- rwtarget=${RWSHAREMNT}
- # mount the vmgrid source rw
- fsmount ${rwshareprot} ${rwshareserv} ${rwsharepath} ${rwtarget} rw
- # hostname?
- host_name=${host_name:=$clientip}
- testmkd ${RWSHAREMNT}/${host_name}
- mount --bind ${RWSHAREMNT}/${host_name} ${RWSHARE} \
- >>/tmp/vmgrid.log 2>&1
- fi
- else
- testmkd /mnt/tmp/vmgrid
- mount --bind -n /mnt/tmp/vmgrid ${RWSHARE} >>/tmp/vmgrid.log 2>&1
- fi
- # chmod so that everybody can write
- chmod 1777 ${RWSHARE}
- echo "vmgrid_rwmnt=${RWSHARE#/mnt}" >> ${PLUGINCONFDIR}/vmgrid.conf
-
- # finished ...
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'vmgrid' os-plugin ..."
- fi
-else
- [ $DEBUGLEVEL -gt 0 ] && echo " * configuration of 'vmgrid' os-plugin failed"
-fi
diff --git a/os-plugins/plugins/vmgrid/files/run-vmgrid.sh b/os-plugins/plugins/vmgrid/files/run-vmgrid.sh
deleted file mode 100644
index 51cb5dbc..00000000
--- a/os-plugins/plugins/vmgrid/files/run-vmgrid.sh
+++ /dev/null
@@ -1,430 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Copyright (c) 2010 - RZ Uni FR
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmgrid
-# - This is the generic wrapper for the several virtualization solutions...
-################################################################################
-
-. /etc/opt/openslx/openslx.conf
-
-################################################################################
-### Define default dirs / get configs
-################################################################################
-
-PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins
-PLUGINCONFVMGRID=${PLUGINCONFROOT}/vmgrid
-RWSHARE=/var/opt/openslx/plugins/vmgrid/share
-# include general configuration from vmgrid
-[ -f ${PLUGINCONFVMGRID}/vmgrid.conf ] && \
- . ${PLUGINCONFVMGRID}/vmgrid.conf
-# load general virtualization information
-[ -f ${PLUGINCONFROOT}/virtualization/virtualization.conf ] && \
- . ${PLUGINCONFROOT}/virtualization/virtualization.conf
-# get the vmchooser_active var
-[ -f ${PLUGINCONFROOT}/vmchooser/vmchooser.conf ] && \
- . ${PLUGINCONFROOT}/vmchooser/vmchooser.conf
-
-################################################################################
-### Functions used throughout the script
-################################################################################
-
-# function to write to stdout and logfile
-LOGFILE=${OPENSLX_DEFAULT_LOGDIR}/run-vmgrid.${USER}.$$.log
-writelog () {
- # write to stdout
- echo -e "$1"
- # log into file
- echo -e "$1" >> ${LOGFILE}
- # log into share dir, so that log is available in vm as well
- echo -e "$1" >> ${vmgrid_rwmnt}/logs/run-vmgrid.${USER}.$$.log
-}
-
-# remove config dirs when exit
-cleanexit () {
- if echo "${RMDIRS}" 2>/dev/null | grep -q ${vmgrid_virt}; then
- writelog "${vmgrid_virt} exited. Cleanning up... \c"
- rm -rf ${RMDIRS} >/dev/null 2>&1
- writelog "done"
- fi
-
- exit "$1"
-}
-
-################################################################################
-### Get XML file and dir
-################################################################################
-
-# check if mem, nice or graphical mode set
-headless=1
-unice=19
-while [ $# -gt 0 ]; do
- case "$1" in
- -h|--help)
- echo -e "Usage: run-vmgrid.sh [-g] [--mem <memory size in MB>] \c"
- echo -e "[--nice <nice level>] [/path/]filename[.xml]"
- exit
- ;;
- -g)
- headless=0
- ;;
- --mem)
- # get a result which can be divided through 4
- if echo $2 | grep -qE \
- '^[2-9][0-9][0-9]$|^[1-9][0-9][0-9][0-9]$|^1[0-9][0-9][0-9][0-9]$';
- then
- forcemem=$(expr $2 / 4 \* 4)
- else
- echo "memory $2 not supported (200-19999)!"
- exit 1
- fi
- shift
- ;;
- --nice)
- # set nice level
- if echo $2 | grep -qE '^-[1-9]$|-1[0-9]$|^-20$|^[0-9]$|^1[0-9]$'; then
- unice=$2
- else
- echo "nice level $2 does not exist!"
- exit 1
- fi
- shift
- ;;
- *)
- xmlfile=$@
- break
- ;;
- esac
- shift
-done
-
-# absolute or relative path?
-if ls ${xmlfile} 2>/dev/null | grep '/' >/dev/null 2>&1; then
- xmlpath=$(dirname ${xmlfile})
- xmlfile=$(basename ${xmlfile})
-else
- xmlpath=${vmgrid_xmlpath}
-fi
-# full path
-xmlfile="${xmlpath}/${xmlfile%.xml}.xml"
-
-################################################################################
-### Sanity checks
-################################################################################
-
-# test if the xml file is valid
-if ! [ -r "${xmlfile}" ]; then
- writelog "${xmlfile} not a readable XML file!"
- run-vmgrid.sh -h &
- exit 1
-fi
-
-# start to log, create shrare log dir
-mkdir -m 1777 -p ${vmgrid_rwmnt}/logs
-echo "Starting to log at $(date)" \
- >${vmgrid_rwmnt}/logs/run-vmgrid.${USER}.$$.log
-
-# test how many instances running
-runningvms=$(ps aux | grep "run-vmgrid.sh " | grep -v grep | wc -l)
-# 2 steps, /w only one is seems not to work
-runningvms=$(expr ${runningvms} - 1)
-# if Xen use different method
-if [ "${vmgrid_virt}" = "xen" ]; then
- runningvms=$(xm list 2>/dev/null | grep -vE "Domain-0|Name.*ID" | wc -l)
- runningvms=$(expr ${runningvms} + 1)
-fi
-# check value
-if [ ${runningvms} -le 0 ]; then
- writelog "Error in value: Running VMs: ${runningvms}. Exit!"
- exit 1
-fi
-# check if vmchooser plugin installed
-if [ -n "${vmchooser_active}" ] && [ ${runningvms} -gt 1 ]; then
- # only allow one instance of vmgrid
- writelog "Already 1 VMs running and vmchooser plugin is active."
- writelog "Can't start ${xmlfile}, exiting!"
- exit 1
-# else allow max. 4 instances
-elif [ ${runningvms} -gt 4 ]; then
- writelog "Already 4 VMs running, exiting!"
- exit 1
-fi
-VM_ID="0${runningvms}"
-
-# test if XML file
-if ! grep '<?xml' "${xmlfile}" >/dev/null 2>&1; then
- writelog \
- "Submitted configuration file ${xmlfile} seems to have wrong XML format"
- exit 1
-fi
-
-################################################################################
-### Logo for console
-################################################################################
-
-cat <<EOL
- __ __
- .----.--.--.-----.___.--.--.--------.-----.----.|__|.--| |
- | _| | | |___| | | | _ | _|| || _ |
- |__| |_____|__|__| \___/|__|__|__|___ |__| |__||_____|
- |_____|
- OpenSLX virtual machine environment preparation script ...
-
-EOL
-
-################################################################################
-### Read needed variables from XML file
-################################################################################
-
-writelog "Starting configuration..."
-writelog "\tVM-ID:\t\t\t${VM_ID}"
-writelog "\tLogfile:\t\t${OPENSLX_DEFAULT_LOGDIR}/run-vmgrid.${USER}.$$.log"
-writelog "\t/tmp info:\t\t$(df -h | grep " /tmp$" | awk '{print $2}') \c"
-writelog "$(grep "/tmp " /proc/mounts | awk '{print $1" "$2" "$3" "$4}')"
-writelog "\tVM XML dir:\t\t$(dirname ${xmlfile})"
-writelog "\tXML file:\t\t${xmlfile}"
-writelog "VM config:"
-
-# name of the virt image or dir
-imgname=$(grep -io '<image_name param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-
-# image mode
-imgmode=$(grep -io '<image_mode param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
-
-# get boot attr
-boot=$(grep -io 'boot param=.*"' ${xmlfile} | awk -F '"' '{ print $2 }')
-diskless=0
-
-# special rw image
-if [ "${imgmode}" = "rwimg" ]; then
- # maybe you want to use an empty rw imgae?
- # define only for writelog, will be set in the plugin include again!
- vmpath="{special rw image}"
- # add new path for rwimg
- imgpath=${vmgrid_rwmnt}/specialrwimages
- unset $imgname
- mkdir -m 1777 -p ${imgpath}
-# diskless boot
-elif [ "${boot}" = "n" ] && [ -z "${imgname}" ]; then
- diskless=1
- vmpath="{diskless boot}"
-# imagename /w full path
-elif echo ${imgname} 2>/dev/null | grep -q '^/' >/dev/null 2>&1; then
- imgpath=$(dirname ${imgname})
- imgname=$(basename ${imgname})
- vmpath=${imgpath}/${imgname}
-# get path from var
-else
- imgpath=${vmgrid_imgpath}
- vmpath=${imgpath}/${imgname}
-fi
-
-# check if virtual machine container file exists, only if not rwimg
-if ! [ -e "${vmpath}" ] && [ "${imgmode}" != "rwimg" ] && [ ${diskless} -eq 0 ];
-then
- writelog "Virtual machine image or directory ${vmpath} not found!"
- exit 1
-fi
-
-# name of the virt machine, sed because of Windows formatting
-vm_name=$(grep -o 'short_description param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
-# if ${vm_name} not defined use ${xmlfile}
-vm_name=${vm_name:-${xmlfile%.xml}}
-
-# define vm_shortname since vm_name can be very long
-vm_shortname=$(basename ${xmlfile%.xml} | sed -e "s, ,-,g")
-
-# vm_name = displayname, define for old scripts
-displayname=${vm_name}
-
-[ "${imgmode}" != "rwimg" ] && [ ${diskless} -eq 0 ] \
- && writelog "\tVM Image dir:\t\t${imgpath}"
-writelog "\tVM file/dir:\t\t$vmpath"
-
-# is there an additional configuration provided?
-additional_config=$(grep -o 'additional_config param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
-
-# image is for the following virtual machine
-xmlvirt=$(grep -o 'virtualmachine param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
-
-# make a guess from the filename extension if ${xmlvirt} is empty
-# (not set within the XML file)
-# TODO: implement possibility to submit own configuration files
-if [ -z "${xmlvirt}" ] && [ -n "${additional_config}" ]; then
- writelog "No virtual machine parameter defined in ${xmlfile}"
- writelog "Trying to guess VM...\c"
- case "$(cat ${additional_config} | tr [A-Z] [a-z])" in
- *config.version*|*virtualhw.version*|*independent-nonpersistent*|*vmdk*)
- xmlvirt="vmware"
- ;;
- *innotek*|*virtualbox*)
- xmlvirt="virtualbox"
- ;;
- *qemu*|*kvm*)
- xmlvirt="qemukvm"
- ;;
- *)
- xmlvirt="none"
- ;;
- esac
-elif [ -z "${xmlvirt}" ]; then
- case "$(echo ${imgname##*.} | tr [A-Z] [a-z])" in
- vmdk)
- xmlvirt="vmware"
- ;;
- vbox)
- xmlvirt="virtualbox"
- ;;
- img|qcow*)
- xmlvirt="qemukvm"
- ;;
- *)
- xmlvirt="none"
- ;;
- esac
- writelog "result:\t${xmlvirt}"
-fi
-
-# check for virt
-if [ "${vmgrid_virt}" != "${xmlvirt}" ]; then
- writelog "The virtual machine specified in ${xmlfile}"
- writelog "does not match the virtualization used here (${vmgrid_virt})"
- exit 1
-fi
-
-# definition of the client system
-vmostype=$(grep -io '<os param=.*"' ${xmlfile} | awk -F '"' '{ print $2 }' \
- | tr [A-Z] [a-z])
-
-# definition of the networking the client system is connected to
-network_kind=$(grep -io '<network param=.*"' ${xmlfile} \
- | awk -F '"' '{ print $2 }' | tr [A-Z] [a-z])
-network_card=$(grep -io '<netcard param=.*"' ${xmlfile} \
- | awk -F '"' '{ print $2 }'| tr [A-Z] [a-z])
-
-# define redirects
-redirects=$(grep -ic '<redirect name=.*"' ${xmlfile})
-[ -z "${redirects}" ] && redirects=0
-(( i=1 ))
-while [ ${i} -le ${redirects} ]; do
- # get only the $i-th line
- redirect_name[$i]=$(grep -m ${i} -io '<redirect.*' ${xmlfile} | tail -n 1 \
- | grep -o "name=\".*" | awk -F '"' '{ print $2 }')
- redirect_proto[$i]=$(grep -m ${i} -io '<redirect.*' ${xmlfile} | tail -n 1 \
- | grep -o "proto=\".*" | awk -F '"' '{ print $2 }')
- redirect_hport[$i]=$(grep -m ${i} -io '<redirect.*' ${xmlfile} | tail -n 1 \
- | grep -o "hostport=\".*" | awk -F '"' '{ print $2 }')
- redirect_gport[$i]=$(grep -m ${i} -io '<redirect.*' ${xmlfile} | tail -n 1 \
- | grep -o "guestport=\".*" | awk -F '"' '{ print $2 }')
- (( i=$i+1 ))
-done
-
-writelog "\tVirtualization:\t\t$xmlvirt"
-writelog "\tVM name:\t\t$vm_name"
-writelog "\tVM short name:\t\t$vm_shortname"
-
-###############################################################################
-### Declaration of default variables
-###############################################################################
-
-# make sure cpu_cores is not empty
-cpu_cores=${cpu_cores:-"1"}
-#vmgrid::maxvcpus
-#vmgrid::minvcpus
-# check for CPU virtualization flags
-#vmgrid::vt
-
-# total amount of memory defined in stage 3
-permem=60
-# get a result which can be divided through 4
-mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4)
-#vmgrid::maxmem
-#vmgrid::minmem
-
-# configuring ethernet mac address: first 3 bytes are fixed (00:50:56)
-# 4th byte is the VM-ID
-# last two bytes are taken from the bridge of the host
-# define one MAC per guest
-macguestpart="00:50:56:${VM_ID}"
-machostpart=$(echo ${hostmacaddr} | awk -F ":" '{print $(NF-1)":"$NF}')
-macaddr=$(echo "${macguestpart}:${machostpart}" | tr [a-z] [A-Z])
-
-# ide is expected default, test for the virtual disk image type should
-# be done while creating the runscripts ...
-# TODO: cdrom / floppy?
-ide="TRUE"
-scsi="FALSE"
-hddrv="ide"
-cdrom0="FALSE"
-audio="false"
-remotedesktopport="590${VM_ID}"
-
-# add rw share
-sharepath="${vmgrid_rwmnt}/folders/${vm_shortname}"
-mkdir -p ${sharepath}
-chmod -f 1777 "${vmgrid_rwmnt}/folders"
-sharename="share"
-
-# set hostname: using original hostname and adding string
-hostname="vmgrid${VM_ID}-$(hostname)"
-
-writelog "\tVM Hostname:\t\t$hostname"
-
-################################################################################
-### Setup the rest of the environment and run the configured vm
-################################################################################
-
-# Copy guest configuration (with added information) config.xml to be accessed
-# via virtual floppy
-# TODO: virt-floppy needed?
-
-# Get all virtual machine specific stuff from the respective include file
-if [ -e ${PLUGINCONFROOT}/${vmgrid_virt}/run-virt.include ] ; then
- writelog "Starting ${vmgrid_virt} specific part ..."
- self=${vmgrid_virt}
- . ${PLUGINCONFROOT}/${vmgrid_virt}/run-virt.include
-else
- writelog "Failed because of missing ${vmgrid_virt} plugin"
- exit 1
-fi
-
-# start graphical mode
-if [ ${headless} -eq 0 ]; then
- if [ -z "${VIRTCMD}" ]; then
- writelog "Grapical mode not available, exiting!"
- cleanexit 1
- fi
- writelog "Starting ${vmgrid_virt} in graphical mode /w nice level ${unice}..."
- # start /w low nice level
- nice -n ${unice} ${VIRTCMD} ${VIRTCMDOPTS} 2>/dev/null
-# start headless
-elif [ -n "${VIRTCMDHL}" ]; then
- writelog "Starting ${vmgrid_virt} in headless mode /w nice level ${unice}..."
- # start /w low nice level
- nice -n ${unice} ${VIRTCMDHL} ${VIRTCMDOPTSHL} 2>/dev/null
-else
- writelog "${vmgrid_virt}: No headless mode defined, exiting!"
- cleanexit 1
-fi
-
-# postrun for scripts after virtualization finishes
-if [ -n "${POSTRUN}" ]; then
- eval ${POSTRUN} >/dev/null 2>&1
-fi
-
-cleanexit 0
-exit 0
diff --git a/os-plugins/plugins/vmgrid/files/vmgrid b/os-plugins/plugins/vmgrid/files/vmgrid
deleted file mode 100644
index 2bb91481..00000000
--- a/os-plugins/plugins/vmgrid/files/vmgrid
+++ /dev/null
@@ -1,154 +0,0 @@
-#!/bin/bash
-# -----------------------------------------------------------------------------
-# Copyright (c) 2010 - RZ Uni FR
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmgrid
-# - Script for autostarts defined in vmgrid::startvms
-################################################################################
-
-# include default directories
-. /etc/opt/openslx/openslx.conf
-
-################################################################################
-### Manual Start
-################################################################################
-
-if [ -n "$1" ]; then
- if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
- echo -e "Usage: vmgrid [[-g] [--mem <memory size in MB>] \c"
- echo -e "[--nice <nice level>] [/path/]filename[.xml]]"
- exit 0
- else
- echo "Starting run-vmgrid.sh with options '$@'"
- run-vmgrid.sh $@ 2>/dev/null
- exit
- fi
-fi
-
-################################################################################
-### Define default dirs / get configs
-################################################################################
-
-PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins
-PLUGINCONFDIR=${PLUGINCONFROOT}/vmgrid
-RWSHARE=/var/opt/openslx/plugins/vmgrid/share
-# include general configuration from vmgrid
-[ -f ${PLUGINCONFDIR}/vmgrid.conf ] && \
- . ${PLUGINCONFDIR}/vmgrid.conf
-# load general virtualization information
-[ -f ${PLUGINCONFROOT}/virtualization/virtualization.conf ] && \
- . ${PLUGINCONFROOT}/virtualization/virtualization.conf
-
-################################################################################
-### Functions used throughout the script
-################################################################################
-
-# function to write to stdout and logfile
-writelog () {
- # write to stdout
- echo -e "$1"
- # log into file
- echo -e "$1" >> ${OPENSLX_DEFAULT_LOGDIR}/vmgrid.${USER}.$$.log
- # log into share dir, so that log is available in vm as well
- echo -e "$1" >> ${vmgrid_rwmnt}/logs/vmgrid.${USER}.$$.log
-}
-
-################################################################################
-### Configure VMs for autostart and set RAM
-################################################################################
-
-# start to log, create share log dir
-mkdir -m 1777 -p ${vmgrid_rwmnt}/logs
-mkdir -m 1777 -p /tmp/vmgrid
-mkdir -p /tmp/vmgrid/${USER}
-echo "Starting to log at $(date)" \
- >${vmgrid_rwmnt}/logs/vmgrid.${USER}.$$.log
-
-if [ -z "${hostratio}" ]; then
- writelog "There has been an error in the memory configuration in stage 3"
- writelog "Please check your memory ratio settings, exiting!"
- exit 1
-fi
-
-if [ -z "${hostratio}" ]; then
- writelog "There has been an error in the memory configuration in stage 3"
- writelog "Please check your memory ratio settings, exiting!"
- exit 1
-fi
-
-# remove blanks
-vmgrid_startvms=$(echo ${vmgrid_startvms} | sed -e "s, *,,g")
-vmgrid_memratio=$(echo ${vmgrid_memratio} | sed -e "s, *,,g")
-
-# hostmem, mainvirt from virtualization plugin
-# ratio minus other vms and host
-restratio=$(expr 100 - ${hostratio} - ${mainvirtratio})
-
-# hostmem, totalmem, mainvirtmem from virtualization plugin
-# calculate freemem
-freemem=$(expr ${totalmem} - ${hostmem} - ${mainvirtmem} 2>/dev/null)
-if [ ${freemem} -lt 512 2>/dev/null ]; then
- writelog "Not enough free RAM for this plugin, free: ${freemem} MB"
- exit 1
-fi
-
-# get clients mem ratio
-vmsumratios=0
-for i in {1..4}; do
- vm[$i]=$(echo ${vmgrid_startvms} | awk -F ',' '{print $1}')
- # remove ${vm[$i]} from list because of '{print $1}'
- vmgrid_startvms=$(echo ${vmgrid_startvms} | sed -e "s,${vm[$i]}\,*,,")
- vmratio[$i]=$(echo ${vmgrid_memratio} | awk -F ',' '{print $1}')
- # remove ${vmratio[$i]} from list because of '{print $1}'
- vmgrid_memratio=$(echo ${vmgrid_memratio} | sed -e "s/${vmratio[$i]},*//")
- vmsumratios=$(expr ${vmsumratios} + ${vmratio[$i]} 2>/dev/null)
-done
-
-for i in {1..4}; do
- # calculate VMs mem: mem = $freemem * $vmratio/100 * 100/$restratio
- # multiple of 4
- vmmem[$i]=$(expr ${freemem} \* ${vmratio[$i]} / ${restratio} / 4 \* 4 \
- 2>/dev/null)
- if [ -n "${vm[$i]}" ] && [ ${vmmem[$i]} -lt 512 2>/dev/null ]; then
- writelog "Not enough free RAM for ${vm[$i]} (min. 512 MB), \c"
- writelog "free: ${vmmem[$i]} MB"
- unset vm[$i]
- fi
-done
-
-################################################################################
-### Start the VMs
-################################################################################
-
-# start vms
-for i in {1..4}; do
- if [ -n "${vm[$i]}" ]; then
- alreadyrunning=$(ps aux | grep run-vmgrid.sh | grep -v grep \
- | grep "${vm[$i]}" | wc -l)
- # if Xen use different method
- if [ "${vmgrid_virt}" = "xen" ]; then
- alreadyrunning=$(xm list 2>/dev/null | grep -vE "Domain-0|Name.*ID" \
- | grep "${vm[$i]}-0.$" | wc -l)
- fi
- if [ ${alreadyrunning} -gt 0 2>/dev/null ]; then
- writelog "${vm[$i]} already running, skipping!"
- else
- writelog "Starting ${vm[$i]} via run-vmgrid.sh with ${vmmem[$i]} MB RAM"
- run-vmgrid.sh --mem ${vmmem[$i]} ${vm[$i]} 2>/dev/null &
- echo $! > /tmp/vmgrid/${USER}/vmgrid.pids
- # wait 10 secs for the next vm to start
- sleep 10
- fi
- fi
-done
-
-exit 0
diff --git a/os-plugins/plugins/vmgrid/init-hooks/80-after-plugins/virtualization.sh b/os-plugins/plugins/vmgrid/init-hooks/80-after-plugins/virtualization.sh
deleted file mode 100644
index 73a65ac5..00000000
--- a/os-plugins/plugins/vmgrid/init-hooks/80-after-plugins/virtualization.sh
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# virtual virtualization plugin
-# make sure that this file is the same in vmgrid and vmchooser plugin!
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILEVMCHOOSER="/initramfs/plugin-conf/vmchooser.conf"
-CONFFILEVMGRID="/initramfs/plugin-conf/vmgrid.conf"
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/virtualization
-
-# check if plugins available
-active=0
-[ -f ${CONFFILEVMCHOOSER} ] && . ${CONFFILEVMCHOOSER}
-[ "x${vmchooser_active}" = "x1" ] && active=1
-[ -f ${CONFFILEVMGRID} ] && . ${CONFFILEVMGRID}
-[ "x${vmgrid_active}" = "x1" ] && active=1
-
-[ $DEBUGLEVEL -gt 0 ] \
- && echo -e "Executing the 'virtualization' plugin ... \c"
-
-if [ ${active} -ne 0 ] ; then
-
- # load general configuration
- . /etc/initramfs-setup
- # include functions
- . /etc/functions
-
- testmkd ${PLUGINCONFDIR}
-
- # check if vmgrid active and change free mem
- totalmem=$(expr $(grep -i "memtotal" /proc/meminfo \
- | awk '{print $2}') / 1024)
- echo "totalmem=${totalmem}" >> ${PLUGINCONFDIR}/virtualization.conf
-
- if [ "x${vmgrid_active}" = "x1" ]; then
-
- totalmemtest=$(expr $(echo ${vmgrid_memratio} \
- | awk -F ',' '{print $1" + "$2" + "$3" + "$4" + "$5" + "$6}'))
-
- # not more than 100% memory assigned
- if [ ${totalmemtest} -le 100 2>/dev/null ]; then
-
- # host mem
- hostratio=$(echo ${vmgrid_memratio} | awk -F ',' '{print $6}')
- hostmem=$(expr ${totalmem} \* ${hostratio} / 100 2>/dev/null)
- if [ ${hostmem} -lt 256 2>/dev/null ]; then
- # min. 256 MB for host
- hostmem=256
- fi
-
- # main vm mem (vmchooser)
- if [ "x${vmchooser_active}" = "x1" ]; then
- mainvirtratio=$(echo ${vmgrid_memratio} | awk -F ',' '{print $5}')
- mainvirtmem=$(expr ${totalmem} \* ${mainvirtratio} / 100 2>/dev/null)
- if [ ${mainvirtmem} -lt 512 2>/dev/null ]; then
- # min. 512 for vmchooser
- mainvirtmem=512
- fi
- else
- mainvirtratio=0
- mainvirtmem=0
- fi
-
- cat << EOF >> ${PLUGINCONFDIR}/virtualization.conf
-hostratio=${hostratio}
-hostmem=${hostmem}
-mainvirtratio=${mainvirtratio}
-mainvirtmem=${mainvirtmem}
-EOF
-
- fi
- fi
-
- # cpu cores
- CPU_CORES=$(grep 'processor.*:' /proc/cpuinfo | wc -l)
- if [ "${CPU_CORES}" -gt "1" 2>/dev/null ]; then
- echo "cpu_cores=${CPU_CORES}" \
- >> ${PLUGINCONFDIR}/virtualization.conf
- else
- echo 'cpu_cores=1' >> ${PLUGINCONFDIR}/virtualization.conf
- fi
-
- # arch
- echo "host_arch=$(uname -m)" >> ${PLUGINCONFDIR}/virtualization.conf
-
- # VT enabled cpu?
- if grep -q ^flags.*\\\<vmx\\\> /proc/cpuinfo; then
- echo "vtflag=1" >> ${PLUGINCONFDIR}/virtualization.conf
- echo 'kvm_module="kvm_intel"' >> ${PLUGINCONFDIR}/virtualization.conf
- elif grep -q ^flags.*\\\<svm\\\> /proc/cpuinfo; then
- echo "vtflag=1" >> ${PLUGINCONFDIR}/virtualization.conf
- echo 'kvm_module="kvm_amd"' >> ${PLUGINCONFDIR}/virtualization.conf
- else
- echo "vtflag=0" >> ${PLUGINCONFDIR}/virtualization.conf
- fi
-
- # write mac
- echo "hostmacaddr=${macaddr}" >> ${PLUGINCONFDIR}/virtualization.conf
- # ip addr
- echo "hostip=${clientip}" >> ${PLUGINCONFDIR}/virtualization.conf
- # hostname
- echo "hostname=${host_name}" >> ${PLUGINCONFDIR}/virtualization.conf
-
- # get further hw information
- waitfor /etc/hwinfo.cdrom
- j=0
- for i in $(cat /etc/hwinfo.cdrom); do
- echo "cdrom_$j=$i" >> ${PLUGINCONFDIR}/virtualization.conf
- j=$(expr $j + 1)
- done
-
- waitfor /etc/hwinfo.floppy
- j=0
- for i in $(cat /etc/hwinfo.floppy); do
- echo "floppy_$j=$i" >> ${PLUGINCONFDIR}/virtualization.conf
- j=$(expr $j + 1)
- done
-
- # copy host information to rwshare of vmgrid plugin
- if [ "x${vmgrid_active}" = "x1" ]; then
- cp ${PLUGINCONFDIR}/virtualization.conf ${vmgrid_rwmnt}/host.conf
- fi
-
- # finished ...
- [ $DEBUGLEVEL -gt 0 ] \
- && echo "ok"
-else
- [ $DEBUGLEVEL -gt 0 ] \
- && echo "failed"
-fi
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm
deleted file mode 100644
index d59227ad..00000000
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmware/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the vmware plugin.
-# -----------------------------------------------------------------------------
-package vmware::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-
-}
-
-sub initialize
-{
- my $self = shift;
- my $engine = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-1;
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index fb7b4998..00000000
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmware/OpenSLX/Distro/debian.pm
-# - provides Debian-specific overrides of the Distro API for the vmware
-# plugin.
-# -----------------------------------------------------------------------------
-package vmware::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(vmware::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub fillRunlevelScript
-{
- my $self = shift;
- my $location = shift;
- my $kind = shift;
-
- my $script = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # Ubuntu/Debian specific start/stop script, generated via stage1 'vmware'
- # plugin install
- # inspiration taken from vmware start script:
- # Copyright 1998-2007 VMware, Inc. All rights reserved.
- #
- # This script manages the services needed to run VMware software
-
- # Basic support for the Linux Standard Base Specification 1.3
- ### BEGIN INIT INFO
- # Provides: VMware
- # Required-Start: \$syslog
- # Required-Stop:
- # Default-Start: 2 3 5
- # Default-Stop: 0 6
- # Short-Description: Manages the services needed to run VMware software
- # Description: Manages the services needed to run VMware software
- ### END INIT INFO
-
- load_modules() {
- End-of-Here
-
- # Load modules
- if ($kind eq 'local' || $kind eq 'local25' || $kind eq 'local30') {
- if ($kind eq 'local30') {
- $script .= unshiftHereDoc(<<" End-of-Here");
- # vmplayer 3.0 specific stuff
- insmod /lib/modules/\$(uname -r)/misc/vsock.ko || return 1
- insmod /lib/modules/\$(uname -r)/misc/vmci.ko || return 1
- End-of-Here
- }
- $script .= unshiftHereDoc(<<" End-of-Here");
- # to be filled in via the stage1 configuration script
- insmod /lib/modules/\$(uname -r)/misc/vmmon.ko || return 1
- insmod /lib/modules/\$(uname -r)/misc/vmnet.ko || return 1
- insmod /lib/modules/\$(uname -r)/misc/vmblock.o 2>/dev/null || return 0
- End-of-Here
- } elsif ($kind eq 'vmpl1.0') {
- $script .= unshiftHereDoc(<<" End-of-Here");
- vmware_kind_path=/opt/openslx/plugin-repo/vmware/${kind}/
- module_src_path=\${vmware_kind_path}/vmroot/modules
- insmod \${module_src_path}/vmmon.ko
- insmod \${module_src_path}/vmnet.ko
- End-of-Here
- } elsif ($kind eq "vmpl2.0") {
- $script .= unshiftHereDoc(<<" End-of-Here");
- vmware_kind_path=/opt/openslx/plugin-repo/vmware/${kind}/
- module_src_path=\${vmware_kind_path}/vmroot/modules
- insmod \${module_src_path}/vmmon.ko
- insmod \${module_src_path}/vmnet.ko
- insmod \${module_src_path}/vmblock.ko
- End-of-Here
- } elsif ($kind eq 'vmpl2.5') {
- $script .= unshiftHereDoc(<<" End-of-Here");
- vmware_kind_path=/opt/openslx/plugin-repo/vmware/${kind}/
- module_src_path=\${vmware_kind_path}/vmroot/modules
- insmod \${module_src_path}/vmmon.ko
- insmod \${module_src_path}/vmnet.ko
- insmod \${module_src_path}/vmblock.ko
- End-of-Here
- } elsif ($kind eq 'vmpl3.0') {
- $script .= unshiftHereDoc(<<" End-of-Here");
- vmware_kind_path=/opt/openslx/plugin-repo/vmware/${kind}/
- module_src_path=\${vmware_kind_path}/vmroot/modules
- insmod \${module_src_path}/vmmon.ko
- insmod \${module_src_path}/vmnet.ko
- insmod \${module_src_path}/vmblock.ko
- insmod \${module_src_path}/vsock.ko
- insmod \${module_src_path}/vmci.ko
- End-of-Here
- }
-
- # unload modules
- $script .= unshiftHereDoc(<<" End-of-Here");
- }
-
- unload_modules() {
- # to be filled with the proper list within via the stage1
- # configuration script
- rmmod vmmon vmblock vmnet vmmon vmci vsock 2>/dev/null
- }
- End-of-Here
-
- # setup vmnet0 and vmnet8
- # depends on specific stage3 setting. I let this if in the code
- # because else this whole if-reducing process will become more
- # complicated and the code will get less understandable
- $script .= unshiftHereDoc(<<" End-of-Here");
- # the bridged interface
- setup_vmnet0() {
- if [ -n "\$vmnet0" ] ; then
- # the path might be directly point to the plugin dir
- End-of-Here
- if ($kind eq 'vmpl2.5' || $kind eq 'vmpl3.0' || $kind eq 'local25' || $kind eq 'local30') {
- $script .= " $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0\n";
- } else {
- $script .= " $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0\n";
- }
- $script .= unshiftHereDoc(<<" End-of-Here");
- fi
- }
- # we definately prefer the hostonly interface for NATed operation too
- # distinction is made via enabled forwarding
- setup_vmnet1() {
- if [ -n "\$vmnet1" ] ; then
- # the path might be directly point to the plugin dir
- $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet1.pid \\
- /dev/vmnet1 vmnet1
- dhcpif="\$dhcpif vmnet1"
- ip addr add \$vmnet1 dev vmnet1
- ip link set vmnet1 up
- if [ -n "\$vmnet1nat" ] ; then
- # needs refinement interface name for eth0 is known in stage3 already
- echo "1" > /proc/sys/net/ipv4/conf/vmnet1/forwarding 2>/dev/null
- echo "1" > /proc/sys/net/ipv4/conf/eth0/forwarding 2>/dev/null
- #iptables -A -s vmnet1 -d eth0
- fi
- $location/vmnet-dhcpd -cf /etc/vmware/dhcpd-vmnet1.conf -lf \\
- /var/run/vmware/dhcpd-vmnet1.leases \\
- -pf /var/run/vmnet-dhcpd-vmnet1.pid vmnet1 2>/dev/null # or logfile
- fi
- }
- # incomplete ...
- setup_vmnet8() {
- if [ -n "\$vmnet8" ] ; then
- # we don't need the following test. It's handled by
- # XX_vmware.sh
- #test -c /dev/vmnet8 || mknod c 119 8 /dev/vmnet8
- $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet8.pid \\
- /dev/vmnet8 vmnet8
- ip addr add \$vmnet8 dev vmnet8
- ip link set vmnet8 up
- # /etc/vmware/vmnet-natd-8.mac simply contains a mac like 00:50:56:F1:30:50
- $location/vmnet-natd -d /var/run/vmnet-natd-8.pid \\
- -m /etc/vmware/vmnet-natd-8.mac -c /etc/vmware/nat.conf 2>/dev/null # or logfile
- $location/vmnet-dhcpd -cf /etc/vmware/dhcpd-vmnet8.conf \\
- -lf /var/run/vmware/dhcpd-vmnet8.leases \\
- -pf /var/run/vmnet-dhcpd-vmnet8.pid vmnet8 2>/dev/null # or logfile
- fi
- }
- # initialize the lsb status messages
- . /lib/lsb/init-functions
-
- case \$1 in
- start)
- log_daemon_msg "Starting vmware background services ..." "vmware"
- # include default directories
- . /etc/opt/openslx/openslx.conf
- # load the configuration file
- . \${OPENSLX_DEFAULT_CONFDIR}/plugins/vmware/vmware.conf
- mkdir -p /var/run/vmware
- touch /var/run/vmware/dhcpd-vmnet1.leases
- touch /var/run/vmware/dhcpd-vmnet8.leases
- load_modules || log_warning_msg "The loading of vmware modules failed"
- setup_vmnet0 || log_warning_msg "Problems setting up vmnet0 interface"
- setup_vmnet1 || log_warning_msg "Problems setting up vmnet1 interface"
- setup_vmnet8 || log_warning_msg "Problems setting up vmnet8 interface"
- log_end_msg $?
- ;;
- stop)
- # message output should match the given vendor-os
- log_daemon_msg "Stopping vmware background services ..." "vmware"
- killall vmnet-netifup vmnet-natd vmnet-bridge vmware vmplayer \\
- vmware-tray vmnet-dhcpd 2>/dev/null
- # wait for shutting down of interfaces. vmnet needs kinda
- # long
- sleep 1
- unload_modules
- log_end_msg $?
- ;;
- # we don't need a status yet... at least as long as it is
- # unclear in which path the corresponding binary (see original
- # /etc/init.d/vmware) is in our case
- #status)
- # log_daemon_msg "Say something useful here ..."
- #;;
- restart)
- \$0 stop
- \$0 start
- exit $?
- ;;
- *)
- log_success_msg "Usage: \$0 {start|stop|restart}"
- exit 2
- ;;
- esac
- exit 0
- End-of-Here
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Fedora.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Fedora.pm
deleted file mode 100644
index 912bdfa0..00000000
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Fedora.pm
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2007..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmware/OpenSLX/Distro/Fedora.pm
-# - provides Fedora-specific overrides of the Distro API for the vmware
-# plugin.
-# -----------------------------------------------------------------------------
-package vmware::OpenSLX::Distro::Fedora;
-
-use strict;
-use warnings;
-
-use base qw(vmware::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-1;
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm
deleted file mode 100644
index 2e1197d8..00000000
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmware/OpenSLX/Distro/Gentoo.pm
-# - provides Gentoo-specific overrides of the Distro API for the vmware
-# plugin.
-# -----------------------------------------------------------------------------
-package vmware::OpenSLX::Distro::Gentoo;
-
-use strict;
-use warnings;
-
-use base qw(vmware::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-1;
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index c1b2ecf4..00000000
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmware/OpenSLX/Distro/Suse.pm
-# - provides SUSE-specific overrides of the Distro API for the vmware plugin.
-# -----------------------------------------------------------------------------
-package vmware::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(vmware::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-1;
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index 922fb34f..00000000
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2007..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmware/OpenSLX/Distro/Ubuntu.pm
-# - provides Ubuntu-specific overrides of the Distro API for the vmware
-# plugin.
-# -----------------------------------------------------------------------------
-package vmware::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-# inherit everything from Debian (as Ubuntu is based on it anyway)
-use base qw(vmware::OpenSLX::Distro::Debian);
-
-1;
diff --git a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
deleted file mode 100644
index 7e55019c..00000000
--- a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
+++ /dev/null
@@ -1,836 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# vmware.pm
-# - declares necessary information for the vmware plugin
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::vmware;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Basename;
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'vmware',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Module for enabling services of VMware Inc. on an OpenSLX stateless
- client. This plugin might use pre-existing installations of VMware
- tools or install addional variants and versions.
- End-of-Here
- precedence => 70,
- required => [ qw( desktop ) ],
- };
-}
-
-sub getAttrInfo
-{
- # returns a hash-ref with information about all attributes supported
- # by this specific plugin
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- 'vmware::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'vmware'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- # attribute 'imagesrc' defines where we can find vmware images
- 'vmware::imagesrc' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Where do we store our vmware images? NFS? Filesystem?
- End-of-Here
- #TODO: check if the input is valid
- #content_regex => qr{^(0|1)$},
- content_descr => 'Allowed values: path or URI',
- default => '',
- },
- # attribute 'bridge' defines if bridged network mode should be
- # switched on
- 'vmware::bridge' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Should the bridging (direct access of the vmware clients
- to the ethernet the host is connected to) be enabled
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => 'Allowed values: 0 or 1',
- default => '1',
- },
- # attribute 'vmnet1' defines if the host connection network mode
- # should be switched on and NAT should be enabled
- 'vmware::vmnet1' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Format ServerIP/Netprefix without NAT
- Format ServerIP/Netprefix,NAT enables NAT/Masquerading
- End-of-Here
- #TODO: check if the input is valid
- #content_regex => qr{^(0|1)$},
- content_descr => 'Allowed value: IP/Prefix[,NAT]',
- default => '192.168.101.1/24,NAT',
- },
- # attribute 'vmnet8' defines if vmware specific NATed network mode
- # should be switched on
- 'vmware::vmnet8' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Format ServerIP/Netprefix. Last octet will be omitted
- End-of-Here
- #TODO: check if the input is valid
- #content_regex => qr{^(0|1)$},
- content_descr => 'Allowed value: IP/Prefix. Last octet will be omitted',
- default => '192.168.102.x/24',
- },
- # attribute 'kind' defines which set of VMware binaries should be
- # activated ('local' provided with the main installation set).
- 'vmware::kind' => {
- applies_to_vendor_os => 0,
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Which set of VMware binaries to use: installed (local) or provided by the
- plugin itself (vmpl1.0, vmpl2.0, vmpl2.5, vmpl3.X)?
- End-of-Here
- # only allow the supported once...
- # TODO: modify if we know which of them work
- #content_regex => qr{^(local|vmws(5\.5|6.0)|vmpl(1\.0|2\.0))$},
- content_regex => qr{^(local|vmpl3\.0||vmpl2\.0|vmpl1\.0|vmpl2\.5)$},
- content_descr => 'Allowed values: local, vmpl2.0',
- #TODO: what if we don't have a local installation. default
- # is still local. Someone has a clue how to test
- # it and change the default value?
- default => 'local',
- },
- ##
- ## only stage1 setup options: different kinds to setup
- 'vmware::local' => {
- applies_to_vendor_os => 1,
- applies_to_system => 0,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- Set's up stage1 configuration for a local installed
- vmplayer or vmware workstation
- End-of-Here
- content_regex => qr{^(1|0)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'vmware::vmpl2.0' => {
- applies_to_vendor_os => 1,
- applies_to_system => 0,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- Install and configure vmplayer v2
- End-of-Here
- content_regex => qr{^(1|0)$},
- content_descr => '1 means active - 0 means inactive',
- default => '0',
- },
- 'vmware::vmpl2.5' => {
- applies_to_vendor_os => 1,
- applies_to_system => 0,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- Install and configure vmplayer v2
- End-of-Here
- content_regex => qr{^(1|0)$},
- content_descr => '1 means active - 0 means inactive',
- default => '0',
- },
- 'vmware::vmpl1.0' => {
- applies_to_vendor_os => 1,
- applies_to_system => 0,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- Install and configure vmplayer v1
- End-of-Here
- content_regex => qr{^(1|0)$},
- content_descr => '1 means active - 0 means inactive',
- default => '0',
- },
- 'vmware::pkgpath' => {
- applies_to_vendor_os => 1,
- applies_to_system => 0,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- Path to VMware packages
- End-of-Here
- #TODO
- #content_regex => qr{^(1|0)$},
- content_descr => '1 means active - 0 means inactive',
- default => '/root/vmware-pkgs',
- },
- # ** set of attributes for the installation of VM Workstation/Player
- # versions. More than one package could be installed in parallel.
- # To be matched to/triggerd by 'vmware::kind'
- };
-}
-
-
-sub preInstallationPhase()
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{pluginTempPath} = $info->{'plugin-temp-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
- $self->{openslxConfigPath} = $info->{'openslx-config-path'};
- $self->{attrs} = $info->{'plugin-attrs'};
- $self->{vendorOsPath} = $info->{'vendor-os-path'};
-
- my $pkgpath = $self->{attrs}->{'vmware::pkgpath'};
- my $vmpl10 = $self->{attrs}->{'vmware::vmpl1.0'};
- my $vmpl20 = $self->{attrs}->{'vmware::vmpl2.0'};
- my $vmpl25 = $self->{attrs}->{'vmware::vmpl2.5'};
- my $local = $self->{attrs}->{'vmware::local'};
-
- if ($local == 0 && $vmpl10 == 0 && $vmpl20 == 0 && $vmpl25 == 0) {
- print "\n\n * At least one kind needs to get installed/activated:\n";
- print " vmware::local=1 or\n";
- print " vmware::vmpl1.0=1 or\n";
- print " vmware::vmpl2.0=1\n";
- print " vmware::vmpl2.5=1\n";
- print " * vmware plugin was not installed!\n\n";
- exit 1;
- }
-
- if (! -d $pkgpath && ($vmpl10 == 1 || $vmpl20 == 1 || $vmpl25 == 1)) {
- print "\n\n * vmware::pkgpath: no such directory $pkgpath!\n";
- print " See wiki about vmware Plugin\n";
- print " * vmware plugin was not installed!\n\n";
- exit 1;
- }
-
- # test just for the case we only set up local vmware
- if (-d $pkgpath && ($vmpl10 == 1 || $vmpl20 == 1 || $vmpl25 == 1)) {
- # todo: ask oliver about a similiar function
- # like copyFile() just for directorys
- # or fix the manual after checked the source of
- # copyFile() function. check if copyFile etc. perldoc
- # is somewhere in the wiki documented else do it!
- system("cp -r $pkgpath $self->{pluginRepositoryPath}/packages");
- }
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{pluginTempPath} = $info->{'plugin-temp-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
- $self->{openslxConfigPath} = $info->{'openslx-config-path'};
- $self->{attrs} = $info->{'plugin-attrs'};
-
- # copy common part of run-virt.include to the appropriate place for
- # inclusion in stage4
- copyFile("$self->{openslxBasePath}/lib/plugins/vmware/files/run-virt.include",
- "$self->{pluginRepositoryPath}/");
-
- # kinds we will configure and install
- # TODO: write a list of installed/setted up and check it in stage3
- # this will avoid conflict of configured vmware version in
- # stage3 which are not setted up or installed in stage1
- if ($self->{attrs}->{'vmware::local'} == 1) {
- $self->_localInstallation();
- }
- if ($self->{attrs}->{'vmware::vmpl2.0'} == 1) {
- $self->_vmpl2Installation();
- }
- if ($self->{attrs}->{'vmware::vmpl1.0'} == 1) {
- $self->_vmpl1Installation();
- }
- if ($self->{attrs}->{'vmware::vmpl2.5'} == 1) {
- $self->_vmpl25Installation();
- }
-
- ## prepration for our faster wrapper script
- # rename the default vmplayer script and create a link.
- # uninstall routine takes care about plugin remove.
- # stage3 copys our own wrapper script
- if (-e "/usr/bin/vmplayer" && ! -e "/usr/bin/vmplayer.slx-back") {
- rename("/usr/bin/vmplayer", "/usr/bin/vmplayer.slx-bak");
- }
- # the same with vmware, if ws is installed
- if (-e "/usr/bin/vmware" && ! -e "/usr/bin/vmware.slx-bak") {
- rename("/usr/bin/vmware", "/usr/bin/vmware.slx-bak");
- }
-
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- # restore old start scripts - to be discussed
- my @files = qw( vmware vmplayer );
- foreach my $file (@files) {
- if (-e "/usr/bin/$file.slx-bak") {
- unlink("/usr/bin/$file");
- rename("/usr/bin/$file.slx-bak", "/usr/bin/$file");
- }
- }
- return;
-}
-
-sub checkStage3AttrValues
-{
- my $self = shift;
- my $stage3Attrs = shift;
- my $vendorOSAttrs = shift;
- my @problems;
-
- my $vm_kind = $stage3Attrs->{'vmware::kind'} || '';
- my $vmimg = $stage3Attrs->{'vmware::imagesrc'} || '';
-
- if ($vm_kind eq 'local' && ! -x "/usr/lib/vmware/bin/vmplayer") {
- push @problems, _tr(
- "No local executeable installation of vmware found! Using it as virtual machine wouldn't work!"
- );
- }
-
- if ($vm_kind eq 'local' &&
- ! -d "/opt/openslx/plugin-repo/vmware/local") {
- push @problems, _tr(
- "local vmware installation not configured by slxos-plugin!"
- );
- }
-
- if ($vm_kind eq 'vmpl1.0' &&
- ! -d "/opt/openslx/plugin-repo/vmware/vmpl1.0/vmroot") {
- push @problems, _tr(
- "No OpenSLX installation of VMware Player 1 found or installation failed. Using it as virtual machine wouldn't work!"
- );
- }
-
- if ($vm_kind eq 'vmpl2.0' &&
- ! -d "/opt/openslx/plugin-repo/vmware/vmpl2.0/vmroot") {
- push @problems, _tr(
- "No OpenSLX installation of VMware Player 2.0 found or installation failed. Using it as virtual machine wouldn't work!"
- );
- }
-
- if ($vm_kind eq 'vmpl2.5' &&
- ! -d "/opt/openslx/plugin-repo/vmware/vmpl2.5/vmroot") {
- push @problems, _tr(
- "No OpenSLX installation of VMware Player 2.5 found or installation failed. Using it as virtual machine wouldn't work!"
- );
- }
-
- if ($vm_kind eq 'vmpl3.X' &&
- ! -d "/opt/openslx/plugin-repo/vmware/vmpl3.X/vmroot") {
- push @problems, _tr(
- "No OpenSLX installation of VMware Player 3.X found or installation failed. Using it as virtual machine wouldn't work!"
- );
- }
-
- return if !@problems;
-
- return \@problems;
-}
-
-
-#######################################
-## local, non-general OpenSLX functions
-#######################################
-
-# Write the runlevelscript
-# usage: _writeRunlevelScript("$vmpath", "$kind")
-sub _writeRunlevelScript
-{
- my $self = shift;
- my $vmpath = shift;
- my $kind = shift;
- my $initfile = newInitFile();
-
- my $script = "";
- my $modpath = "";
- my $modlist = "";
- # vmpath is to be redefined here ...
- if ($kind =~ /local*/) {
- $vmpath = "";
- $modpath = "/lib/modules/\$(uname -r)/misc";
- } elsif ($kind =~ /vmpl*/) {
- $vmpath = "/opt/openslx/plugin-repo/vmware/${kind}";
- $modpath = "${vmpath}/vmroot/modules";
- }
-
- $initfile->setName("vmware-slx");
- $initfile->setDesc("Setup environment for VMware Workstation or Player ($kind).");
-
- # functions ...
- $modlist = "vmnet vmmon";
- $script = unshiftHereDoc(<<" End-of-Here");
- # VMplayer common stuff
- insmod ${modpath}/vmmon.ko || return 1
- insmod ${modpath}/vmnet.ko || return 1
- End-of-Here
- if ($kind eq 'local3X' || $kind eq 'vmpl3.X') {
- $script .= unshiftHereDoc(<<" End-of-Here");
- # VMplayer 3.X specific stuff
- insmod ${modpath}/vmci.ko
- insmod ${modpath}/vmblock.ko
- insmod ${modpath}/vsock.ko
- End-of-Here
- $modlist .= "vsock vmci vmblock";
- } elsif ($kind eq 'local20' || $kind eq 'local25' || $kind eq 'vmpl2.0' || $kind eq 'vmpl2.5') {
- $script .= unshiftHereDoc(<<" End-of-Here");
- # VMplayer 2.X specific stuff
- insmod ${modpath}/vmblock.ko
- End-of-Here
- $modlist .= "vmblock";
- }
- $initfile->addFunction(
- "load_modules",
- "$script"
- );
- $initfile->addFunction(
- "unload_modules",
- "rmmod $modlist 2>/dev/null"
- );
- # vmnet0,1,8 (bridge, nat, host-only) interface definition
- $script = unshiftHereDoc(<<" End-of-Here");
- # let point the path directly to the directory where the binary lives
- location="$vmpath/usr/bin"
- if [ -n "\$vmnet0" ] ; then
- # the path might be directly point to the plugin dir
- End-of-Here
- if ($kind eq 'vmpl1.0' || $kind eq 'vmpl2.0' || $kind eq 'local10' || $kind eq 'local20') {
- $script .= " \$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0\n";
- } else {
- $script .= " \$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0\n";
- }
- $script .= unshiftHereDoc(<<" End-of-Here");
- fi
- if [ -n "\$vmnet1" ] ; then
- \$location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet1.pid \\
- /dev/vmnet1 vmnet1
- ip addr add \$vmnet1 dev vmnet1
- ip link set vmnet1 up
- if [ -n "\$vmnet1nat" ] ; then
- echo "1" >/proc/sys/net/ipv4/conf/vmnet1/forwarding 2>/dev/null
- echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null
- #iptables -A -s vmnet1 -d br0
- fi
- /opt/openslx/uclib-rootfs/usr/sbin/udhcpd \\
- -S /etc/vmware/udhcpd/udhcpd-vmnet1.conf
- fi
- if [ -n "\$vmnet8" ] ; then
- \$location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet8.pid \\
- /dev/vmnet8 vmnet8
- ip addr add \$vmnet8 dev vmnet8
- ip link set vmnet8 up
- echo "1" >/proc/sys/net/ipv4/conf/vmnet8/forwarding 2>/dev/null
- echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null
- iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
- /opt/openslx/uclib-rootfs/usr/sbin/udhcpd \\
- -S /etc/vmware/udhcpd/udhcpd-vmnet8.conf
- fi
- End-of-Here
- $initfile->addFunction(
- "vmnetif",
- "$script"
- );
- # vmblock for handling e.g. removable USB devices
- $script = unshiftHereDoc(<<" End-of-Here");
- # let point the path directly to the directory where the binary lives
- $vmpath/usr/bin/vmware-usbarbitrator
- End-of-Here
- $initfile->addFunction(
- "vmblock",
- "$script"
- );
- $script = unshiftHereDoc(<<" End-of-Here");
- # include default directories
- . /etc/opt/openslx/openslx.conf
- # load the configuration file
- . \${OPENSLX_DEFAULT_CONFDIR}/plugins/vmware/vmware.conf
- # hack to access the first serial/parallel port
- chmod a+rw /dev/ttyS0
- chmod a+rw /dev/parport0
- load_modules
- vmnetif
- End-of-Here
- # start the USB arbitrator on higher VMware/player versions (3.0+)
- if ($kind eq 'vmpl3.X' || $kind eq 'local3X') {
- $script .= unshiftHereDoc(<<" End-of-Here");
- vmblock
- End-of-Here
- }
- $initfile->addToCase(
- "start",
- "$script"
- );
- $script = unshiftHereDoc(<<" End-of-Here");
- killall vmnet-netifup vmnet-natd vmnet-bridge vmware vmplayer \\
- vmware-tray vmnet-dhcpd 2>/dev/null
- # might take a while until all services are shut down
- sleep 1
- unload_modules
- End-of-Here
- $initfile->addToCase(
- "stop",
- "$script"
- );
- $initfile->addToCase(
- "status",
- "vmstatus"
- );
- $initfile->addToCase(
- "restart",
- "\$0 stop && \$0 start"
- );
-
- my $distro = (split('-',$self->{'os-plugin-engine'}->distroName()))[0];
- my $runlevelscript = getInitFileForDistro($initfile, $distro);
- # todo: because we dont have distribution or version dependend
- # init scripts we could put it directly into /etc/init.d...
- spitFile("$self->{'pluginRepositoryPath'}/vmware-slx", $runlevelscript);
-}
-
-
-# writes the wrapper script for vmware workstation and player, depending
-# on the flag. If player: just player wrapper, if ws: ws+player wrapper
-# usage: _writeWrapperScript("$vmpath", "$kind", "player")
-# _writeWrapperScript("$vmpath", "$kind", "ws")
-sub _writeWrapperScript
-{
- my $self = shift;
- my $vmpath = shift;
- my $kind = shift;
- my $type = shift;
- my @files;
-
- if ("$type" eq "ws") {
- @files = qw(vmware vmplayer);
- } else {
- @files = qw(vmplayer);
- }
-
- foreach my $file (@files) {
- # create our own simplified version of the vmware and player wrapper
- # Depending on the configured kind it will be copied in stage3
- # because of tempfs of /var but not /usr we link the file
- # to /var/..., where we can write in stage3
- my $script = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # written by OpenSLX-plugin 'vmware' in Stage1
- # radically simplified version of the original script $file by VMware Inc.
- End-of-Here
-
- # kinda ugly and we only need it for local. Preserves errors
- if ($kind ne "local") {
- $script .= unshiftHereDoc(<<" End-of-Here");
- export LD_LIBRARY_PATH=$vmpath/lib
- export GDK_PIXBUF_MODULE_FILE=$vmpath/libconf/etc/gtk-2.0/gdk-pixbuf.loaders
- export GTK_IM_MODULE_FILE=$vmpath/libconf/etc/gtk-2.0/gtk.immodules
- export FONTCONFIG_PATH=$vmpath/libconf/etc/fonts
- export PANGO_RC_FILE=$vmpath/libconf/etc/pango/pangorc
- # possible needed... but what are they good for?
- #export GTK_DATA_PREFIX=
- #export GTK_EXE_PREFIX=
- #export GTK_PATH=
- End-of-Here
- }
-
- $script .= unshiftHereDoc(<<" End-of-Here");
- PREFIX=$vmpath # depends on the vmware location
- exec "\$PREFIX"'/lib/wrapper-gtk24.sh' \\
- "\$PREFIX"'/lib' \\
- "\$PREFIX"'/bin/$file' \\
- "\$PREFIX"'/libconf' "\$@"
- End-of-Here
-
- # TODO: check if these will be overwritten if we have more as
- # local defined (add the version/type like vmpl1.0, vmws5.5, ...)
- # then we have a lot of files easily distinguishable by there suffix
- spitFile("$self->{'pluginRepositoryPath'}/$kind/$file", $script);
- chmod 0755, "$self->{'pluginRepositoryPath'}/$kind/$file";
- }
-}
-
-sub _writeVmwareConfigs {
- my $self = shift;
- my $kind = shift;
- my $vmpath = shift;
- my %versionhash = (vmversion => "", vmbuildversion => "");
- my $vmversion = "";
- my $vmbuildversion = "";
- my $config = "";
-
- %versionhash = _getVersion($vmpath);
-
- $config .= "version=\"".$versionhash{vmversion}."\"\n";
- $config .= "buildversion=\"".$versionhash{vmbuildversion}."\"\n";
- spitFile("$self->{'pluginRepositoryPath'}/$kind/vmware.conf", $config);
- chmod 0755, "$self->{'pluginRepositoryPath'}/$kind/vmware.conf";
-
- $config = "libdir = \"$vmpath\"\n";
- spitFile("$self->{'pluginRepositoryPath'}/$kind/config", $config);
- chmod 0755, "$self->{'pluginRepositoryPath'}/$kind/config";
-}
-
-sub _getVersion {
-
- my $vmpath = shift;
- my $vmversion = "";
- my $vmbuildversion = "";
- my %versioninfo = (vmversion => "", vmbuildversion => "");
-
- # get version information about installed vmplayer
- if (open(FH, "$vmpath/bin/vmplayer")) {
- $/ = undef;
- my $data = <FH>;
- close FH;
- # depending on the installation it could differ and has multiple build
- # strings
- if ($data =~ m{[^\d\.](\d\.\d) build-(\d+)}) {
- $vmversion = $1;
- $vmbuildversion = $2;
- }
- if ($data =~ m{\0(2\.[05])\.[0-9]}) {
- $vmversion = $1;
- }
- # else { TODO: errorhandling if file or string doesn't exist }
- chomp($vmversion);
- chomp($vmbuildversion);
-
-
- $versioninfo{vmversion} = $vmversion;
- $versioninfo{vmbuildversion} = $vmbuildversion;
- }
- return %versioninfo;
-}
-
-########################################################################
-## Functions, which setup the different environments (local, ws-v(5.5|6),
-## player-v(1|2)
-## Seperation makes this file more readable. Has a bigger benefit as
-## one big copy function. Makes integration of new versions easier.
-########################################################################
-
-# local installation
-sub _localInstallation
-{
- my $self = shift;
-
- my $kind = "local";
- my $vmpath = "/usr/lib/vmware";
- my $vmbin = "/usr/bin";
- my %versionhash = (vmversion => "", vmbuildversion => "");
- my $vmversion = "";
- my $vmbuildversion = "";
-
- # if vmware ws is installed, vmplayer is installed, too.
- # we will only use vmplayer
- if (-e "/usr/lib/vmware/bin/vmplayer") {
-
- ## Get and write version information
- %versionhash = _getVersion($vmpath);
- $vmversion = $versionhash{vmversion};
- $vmbuildversion = $versionhash{vmbuildversion};
-
- # set version information
- # VMplayer 2.0
- if ($vmversion eq "2.0" || $vmversion eq "6.0") {
- $kind="local20";
- # VMplayer 2.5
- } elsif ($vmversion eq "2.5" || $vmversion eq "6.5") {
- $kind="local25";
- # VMplayer 3.0, 3.1, Workstation 7.0, 7.1
- } elsif ($vmversion eq "3.0" || $vmversion eq "7.0" ||
- $vmversion eq "3.1" || $vmversion eq "7.1") { $kind="local3X";
- }
- # Create runlevel script depending on detected version
- $self->_writeRunlevelScript("$vmpath", "$kind");
-
- # Create wrapper scripts, kind of localNN is set to local
- if ( $kind =~ /local*/ ) { $kind = "local"; }
- if (-e "/usr/lib/vmware/bin/vmware") {
- $self->_writeWrapperScript("$vmpath", "$kind", "ws");
- }
- if (-e "/usr/lib/vmware/bin/vmplayer") {
- $self->_writeWrapperScript("$vmpath", "$kind", "player");
- }
-
- # copy nvram file
- my $pluginFilesPath
- = "$self->{'openslxBasePath'}/lib/plugins/$self->{'name'}/files";
- my @files = qw(nvram);
- foreach my $file (@files) {
- copyFile("$pluginFilesPath/$file", "$self->{'pluginRepositoryPath'}/$kind");
- }
-
- } # else { TODO: errorhandling if file or string doesn't exist }
-
- ## creating needed config /etc/vmware/config
- $self->_writeVmwareConfigs("$kind", "$vmpath");
-}
-
-sub _vmpl2Installation {
- my $self = shift;
-
- my $kind = "vmpl2.0";
- my $vmpath = "/opt/openslx/plugin-repo/vmware/$kind/vmroot/lib/vmware";
- my $vmbin = "/opt/openslx/plugin-repo/vmware/$kind/vmroot/bin";
-
- my $pluginFilesPath
- = "$self->{'openslxBasePath'}/lib/plugins/$self->{'name'}/files";
- my $installationPath = "$self->{'pluginRepositoryPath'}/$kind";
-
- mkpath($installationPath);
-
- ##
- ## Copy needed files
-
- # copy 'normal' needed files
- my @files = qw( nvram install-vmpl.sh );
- foreach my $file (@files) {
- copyFile("$pluginFilesPath/$file", "$installationPath");
- }
-
- # Install the binarys from given pkgpath
- system("/bin/sh /opt/openslx/plugin-repo/$self->{'name'}/$kind/install-vmpl.sh $kind");
-
- # Create runlevel script
- $self->_writeRunlevelScript($vmpath, $kind);
-
- # Create wrapperscripts
- $self->_writeWrapperScript("$vmpath", "$kind", "player");
-
- # Creating needed config /etc/vmware/config
- $self->_writeVmwareConfigs("$kind", "$vmpath");
-
-}
-
-sub _vmpl25Installation {
- my $self = shift;
-
- my $kind = "vmpl2.5";
- my $vmpath = "/opt/openslx/plugin-repo/vmware/$kind/vmroot/lib/vmware";
- my $vmbin = "/opt/openslx/plugin-repo/vmware/$kind/vmroot/bin";
- my $vmversion = "6.5";
- my $vmbuildversion = "TODO_we_need_it_for_enhanced_runvmware_config_in_stage1";
-
- my $pluginFilesPath
- = "$self->{'openslxBasePath'}/lib/plugins/$self->{'name'}/files";
- my $installationPath = "$self->{'pluginRepositoryPath'}/$kind";
-
- mkpath($installationPath);
-
- # copy 'normal' needed files
- my @files = qw( nvram install-vmpl.sh );
- foreach my $file (@files) {
- copyFile("$pluginFilesPath/$file", "$installationPath");
- }
-
- # Install the binarys from given pkgpath
- system("/bin/sh /opt/openslx/plugin-repo/$self->{'name'}/$kind/install-vmpl.sh $kind");
-
- # Create runlevel script
- $self->_writeRunlevelScript($vmpath, $kind);
-
- # Create wrapperscripts
- $self->_writeWrapperScript("$vmpath", "$kind", "player");
-
- # Creating needed config /etc/vmware/config
- $self->_writeVmwareConfigs("$kind", "$vmpath");
-
-}
-
-sub _vmpl1Installation {
- my $self = shift;
-
- my $kind = "vmpl1.0";
- my $vmpath = "/opt/openslx/plugin-repo/vmware/$kind/vmroot/lib/vmware";
- my $vmbin = "/opt/openslx/plugin-repo/vmware/$kind/vmroot/bin";
- my $vmversion = "5.5";
- my $vmbuildversion = "TODO_we_need_it_for_enhanced_runvmware_config_in_stage1";
-
- my $pluginFilesPath
- = "$self->{'openslxBasePath'}/lib/plugins/$self->{'name'}/files";
- my $installationPath = "$self->{'pluginRepositoryPath'}/$kind";
-
- mkpath($installationPath);
-
- # copy 'normal' needed files
- my @files = qw( nvram install-vmpl.sh );
- foreach my $file (@files) {
- copyFile("$pluginFilesPath/$file", "$installationPath");
- }
-
- # Download and install the binarys
- system("/bin/sh /opt/openslx/plugin-repo/$self->{'name'}/$kind/install-vmpl.sh $kind");
-
- # Create runlevel script
- $self->_writeRunlevelScript($vmpath, $kind);
-
- # create wrapper scripts
- $self->_writeWrapperScript("$vmpath", "$kind", "player");
-
- # creating needed config /etc/vmware/config
- $self->_writeVmwareConfigs("$kind", "$vmpath");
-
-}
-
-# The bridge configuration needs the bridge module to be present in early
-# stage3
-sub suggestAdditionalKernelModules
-{
- my $self = shift;
- my $makeInitRamFSEngine = shift;
-
- my @suggestedModules;
-
- push @suggestedModules, qw( bridge );
-
- return @suggestedModules;
-}
-
-1;
diff --git a/os-plugins/plugins/vmware/XX_vmware.sh b/os-plugins/plugins/vmware/XX_vmware.sh
deleted file mode 100644
index 26b49cc5..00000000
--- a/os-plugins/plugins/vmware/XX_vmware.sh
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright (c) 2007..2009 - RZ Uni Freiburg
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# TODO:
-# configs nach /etc/opt/openslx/plugins/vmware
-# cp nach run-virt.include
-
-# TODO: nvram,functions
-# write /etc/vmware/config (if a non-standard location of vmware basedir is
-# to be configured), /etc/init.d/vmware
-
-# include default directories
-. /etc/openslx.conf
-
-ETCDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}
-PLUGINCONFDIR=${ETCDIR}/plugins/vmware
-BINDIR=/mnt/${OPENSLX_DEFAULT_BINDIR}
-PLUGINDIR=/mnt/${OPENSLX_DEFAULT_DIR}/plugin-repo/vmware
-VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR}
-
-# check if the configuration file is available
-if [ -e /initramfs/plugin-conf/vmware.conf ]; then
-
- # load needed variables
- . /initramfs/plugin-conf/vmware.conf
-
- # Test if this plugin is activated... more or less useless with the
- # new plugin system
- if [ $vmware_active -ne 0 ]; then
-
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'vmware' os-plugin ...";
- # Load general configuration
- . /initramfs/machine-setup
-
- testmkd /mnt/tmp/vmware 1777
- testmkd /dev/shm/vmware 1777
- testmkd /mnt/var/run/vmware 1777
- testmkd ${PLUGINCONFDIR}
- testmkd /mnt/etc/vmware/udhcpd
-
- # write the ${PLUGINCONFDIR}/vmware.conf file
- # check for the several variables and write the several files:
- # dhcpd.conf for vmnet* interfaces
- # nat.conf for the NAT configuration of vmnet8
- # TODO: vmnet-natd-8.mac not clear if really needed and which mac it
- # should contain (seems to be an average one)
- echo -e "# configuration file for vmware background services written in \
-stage3 setup" > ${PLUGINCONFDIR}/vmware.conf
- if [ "$vmware_bridge" = 1 ] ; then
- echo "vmnet0=true" >> ${PLUGINCONFDIR}/vmware.conf
- fi
-
- # variable might contain ",NAT" which is to be taken off
- if [ -n "$vmware_vmnet1" ] ; then
- local vmnet1=${vmware_vmnet1%,*} # x.x.x.x/yy,NAT => 'x.x.x.x/yy'
- local vmnat=${vmware_vmnet1#$vmnet1*} # x.x.x.x/yy,NAT => ',NAT'
- local vmip=${vmnet1%/*} # x.x.x.x/yy => 'x.x.x.x'">
- local vmpx=${vmnet1#*/} # x.x.x.x/yy => 'yy'
- local vmsub=$(echo $vmip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x
- echo -e "vmnet1=$vmnet1" >> ${PLUGINCONFDIR}/vmware.conf
- [ -n "$vmnat" ] && echo "vmnet1nat=true" >> ${PLUGINCONFDIR}/vmware.conf
- # setting up the udhcpd configuration
- sed -e "s,NWIF,vmnet1,;s,/misc/,/vmware/," \
- -e "s,CNETWORK,$vmsub,;s,PIDFILE,/var/run/vmware/udhcpd-vmnet1.pid," \
- -e "s,LEASEFILE,/var/run/vmware/udhcpd-vmnet1.leases," \
- /mnt/etc/opt/openslx/udhcpd.conf >/mnt/etc/vmware/udhcpd/udhcpd-vmnet1.conf
- fi
-
- # vmware nat interface configuration
- if [ -n "$vmware_vmnet8" ] ; then
- local vmnet8ip=${vmware_vmnet8%/*}
- local vmpx=${vmware_vmnet8#*/}
- local vmsub=$(echo $vmnet8ip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x">
- # vmip is user for vmnet8 device
- # vmnet is user for config files nat.conf/dhcp
- local vmip="${vmsub}.1"
- local vmnet="${vmsub}.2"
- echo -e "vmnet8=$vmip/$vmpx" >>${PLUGINCONFDIR}/vmware.conf
- # setting up the udhcpd configuration
- sed -e "s,NWIF,vmnet8,;s,/misc/,/vmware/," \
- -e "s,CNETWORK,$vmsub,;s,PIDFILE,/var/run/vmware/udhcpd-vmnet8.pid," \
- -e "s,LEASEFILE,/var/run/vmware/udhcpd-vmnet8.leases," \
- /mnt/etc/opt/openslx/udhcpd.conf >/mnt/etc/vmware/udhcpd/udhcpd-vmnet8.conf
- # might be not needed any more ...
- echo -e "# Linux NAT configuration file" \
- > /mnt/etc/vmware/nat.conf
- echo -e "[host]" \
- >> /mnt/etc/vmware/nat.conf
- echo -e "ip = $vmnet/$vmpx" \
- >> /mnt/etc/vmware/nat.conf
- echo -e "device = /dev/vmnet8" \
- >> /mnt/etc/vmware/nat.conf
- echo -e "activeFTP = 1" \
- >> /mnt/etc/vmware/nat.conf
- echo -e "[udp]" \
- >> /mnt/etc/vmware/nat.conf
- echo -e "timeout = 60" \
- >> /mnt/etc/vmware/nat.conf
- echo -e "[incomingtcp]" \
- >> /mnt/etc/vmware/nat.conf
- echo -e "[incomingudp]" \
- >> /mnt/etc/vmware/nat.conf
- echo "00:50:56:F1:30:50" > /mnt/etc/vmware/vmnet-natd-8.mac
- fi
- # copy the runlevel script to the proper place and activate it
- sed "s/eth0/$nwif/g" ${PLUGINDIR}/vmware-slx > /mnt/etc/init.d/vmware-env \
- || echo " * Error copying runlevel script. Shouldn't happen."
- chmod a+x /mnt/etc/init.d/vmware-env
- rllinker "vmware-env" 20 2
-
- ############################################################################
- # vmware stuff first part: two scenarios
- # * VM images in /usr/share/vmware - then simply link
- # * VM images via additional mount (mount source NFS, NBD, ...)
-
- # get source of vmware image server (get type, server and path)
- if strinstr "/" "${vmware_imagesrc}" ; then
- vmimgprot=$(uri_token ${vmware_imagesrc} prot)
- vmimgserv=$(uri_token ${vmware_imagesrc} server)
- vmimgpath="$(uri_token ${vmware_imagesrc} path)"
- fi
- if [ -n "${vmimgserv}" -a -n ${vmimgpath} -a -n ${vmimgprot} ] ; then
- mnttarget=${VIRTDIR}/vmware
- # mount the vmware image source readonly (ro)
- fsmount ${vmimgprot} ${vmimgserv} ${vmimgpath} ${mnttarget} ro
- else
- [ $DEBUGLEVEL -gt 1 ] && error " * Incomplete information in variable \
-${vmware_imagesrc}." nonfatal
- fi
-
- ############################################################################
- # vmware stuff second part: setting up the environment
- # make udhcpd more silent
- touch /mnt/var/run/vmware/udhcpd-vmnet1.leases \
- /mnt/var/run/vmware/udhcpd-vmnet8.leases
-
- # create the needed devices which effects all vmware options
- # they are not created automatically via module load
- for i in "/dev/vmnet0 c 119 0" "/dev/vmnet1 c 119 1" \
- "/dev/vmnet8 c 119 8" "/dev/vmmon c 10 165"; do
- mknod $i
- done
- chmod 0700 /dev/vmnet*
-
- echo -e "usbfs\t\t/proc/bus/usb\tusbfs\t\tauto\t\t 0 0" >> /mnt/etc/fstab
- # needed for VMware 5.5.4 and versions below
- echo -e "\tmount -t usbfs usbfs /proc/bus/usb 2>/dev/null" \
- >>/mnt/etc/init.d/boot.slx
-
- # allow VMware swapping if RamZSWAP is enabled
- if grep -E "^ramzswap.*1 -.*" /proc/modules ; then
- echo -e '.encoding = "UTF-8"\nprefvmx.minVmMemPct = "50"
-prefvmx.useRecommendedLockedMemSize = "TRUE"' | sed -e "s/^ *//" \
- >/mnt/etc/vmware/config
- else
- # disable VMware swapping else
- echo -e '.encoding = "UTF-8"\nprefvmx.minVmMemPct = "100"
-prefvmx.useRecommendedLockedMemSize = "TRUE"' | sed -e "s/^ *//" \
- >/mnt/etc/vmware/config
- fi
-
- # copy virtualization include files to config dir
- cp ${PLUGINDIR}/run-virt.include ${PLUGINCONFDIR}
- # copy version depending files
- cp ${PLUGINDIR}/${vmware_kind}/vmplayer ${BINDIR}/vmplayer
- if [ -e ${PLUGINDIR}/${vmware_kind}/vmware ]; then
- cp ${PLUGINDIR}/${vmware_kind}/vmware ${BINDIR}/vmware
- fi
-
- # affects only kernel and config depending configuration of not
- # local installed versions
- cat ${PLUGINDIR}/${vmware_kind}/config >>/mnt/etc/vmware/config
- chmod 644 /mnt/etc/vmware/config
- echo "# stage1 variables produced during plugin install" \
- >>${PLUGINCONFDIR}/vmware.conf
- cat ${PLUGINDIR}/${vmware_kind}/vmware.conf >>${PLUGINCONFDIR}/vmware.conf
-
- # if /tmp resides on nfs: create an empty container file for vmware *.vmem
- # it does not like to live on NFS exports (still needed??)
- #if [ cat /proc/mounts|grep -qe "^/tmp "|grep -qe "nfs" ] ; then
- # dd if=/dev/zero of=/mnt/tmp/vm-container count=1 seek=2048000
- # diskfm /mnt/tmp/vm-container /mnt/tmp/vmware
- # chmod a+rwxt /mnt/tmp/vmware
- #fi
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'vmware' os-plugin ..."
-
- fi
-else
- [ $DEBUGLEVEL -gt 0 ] && echo " * Configuration of vmware plugin failed"
-fi
diff --git a/os-plugins/plugins/vmware/files/README b/os-plugins/plugins/vmware/files/README
deleted file mode 100644
index ae8bf1e7..00000000
--- a/os-plugins/plugins/vmware/files/README
+++ /dev/null
@@ -1,12 +0,0 @@
-Files
-- nvram (version from VMware5)
- This nvram supports a second Floppy drive. Helpfull if you want to
- get some data from linux to your Windows VirtualMachine (like
- Scanner-IP or Userinformation)
-- run-virt.include
- The main include script for the vmchooser plugin run-virt.sh vir-
- tualization environments start script. All vmware related stuff like
- the creation of the configuration file is handled within this script.
-- install-vmpl.sh
- Install script, can handle different vmware version installations
-
diff --git a/os-plugins/plugins/vmware/files/install-vmpl.sh b/os-plugins/plugins/vmware/files/install-vmpl.sh
deleted file mode 100644
index e0795b30..00000000
--- a/os-plugins/plugins/vmware/files/install-vmpl.sh
+++ /dev/null
@@ -1,284 +0,0 @@
-#!/bin/sh
-
-cd /opt/openslx/plugin-repo/vmware/
-
-### Check if player are still installed
-if [ -d ${1}/vmroot/ ]; then
- echo " * $1 seems to be installed. There shouldn't be a need for a new installation."
- echo " If you want to reinstall $1 press \"y\" else we will exit"
- read
- if [ "${REPLY}" != "y" ]; then
- echo " * $1 is already installed. Nothing to do."
- exit
- fi
- echo " * $1 will be reinstalled"
-fi
-
-
-### Now define values
-if [ "$1" = "vmpl1.0" ]; then
- vmplversion="vmpl1.0"
- tgzfile=$(ls packages/VMware-player-1.0.*|sort|tail -n 1)
-elif [ "$1" = "vmpl2.0" ]; then
- vmplversion="vmpl2.0"
- tgzfile=$(ls packages/VMware-player-2.0.*|sort|tail -n 1)
-elif [ "$1" = "vmpl2.5" ]; then
- vmplversion="vmpl2.5"
- tgzfile=$(ls packages/VMware-Player-2.5.*.bundle|sort|tail -n 1)
-else
- echo "Attribute of install-vmpl.sh isn't valid!"
- echo "This shouldn't happen! Fix vmware.pm!"
- exit 1;
-fi
-
-
-### Main installation part
-if [ "${vmplversion}" != "vmpl2.5" ]; then
- # tgz Installation of vmpl1.0 and vmpl2.0
- cd ${vmplversion}
-
- echo " * Unpacking vmplayer ${vmplversion}"
- tar xfz ../${tgzfile}
- # TODO: errorcheck if tgz wasnt downloaded properly.
- # ask on mailinglist if theres a way how to handle it
- # in preInstallation() "exit 1" is enough. Perhaps it will work
- # here, too. Try first, and then document it in the wiki
-
- # reduce some errors
- echo " * deleting old files if available"
- rm -rf vmroot
-
- echo " * copying files..."
- mkdir vmroot
- mkdir -p vmroot/modules
- mkdir -p vmroot/lib
- mv vmware-player-distrib/lib vmroot/lib/vmware
- mv vmware-player-distrib/bin vmroot/
- if [ "${vmplversion}" != "vmpl1.0" ]; then
- mv vmware-player-distrib/sbin vmroot/
- fi
- mv vmware-player-distrib/doc vmroot/
- rm -rf vmware-player-distrib/
- rm -rf vmroot/lib/vmware/modules/binary
-
- echo " * fixing file permission"
- chmod 04755 vmroot/lib/vmware/bin/vmware-vmx
-
- # I don't want to understand what vmware is doing, but without this
- # step we need to have LD_LIBRARY_PATH with 53 entrys. welcome to
- # library hell
- echo " * fixing librarys..."
- cd vmroot/lib/vmware/lib
- mkdir test
- mv lib* test
- mv test/lib*/* .
- rm -rf test
- cd ../../../..
-
- echo " * fixing gdk and pango config files"
- sed -i \
- "s,/build/mts/.*/vmui/../libdir/libconf,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \
- vmroot/lib/vmware/libconf/etc/gtk-2.0/gdk-pixbuf.loaders
- sed -i \
- "s,/build/mts/.*/vmui/../libdir/libconf,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \
- vmroot/lib/vmware/libconf/etc/gtk-2.0/gtk.immodules
- sed -i \
- "s,/build/mts/.*/vmui/../libdir/libconf,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \
- vmroot/lib/vmware/libconf/etc/pango/pango.modules
- sed -i \
- "s,/build/mts/.*/vmui/../libdir/libconf,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \
- vmroot/lib/vmware/libconf/etc/pango/pangorc
- sed -i \
- "s,/etc/pango/pango/,/etc/pango/," \
- vmroot/lib/vmware/libconf/etc/pango/pangorc
-
- echo " * creating /etc/vmware"
- rm -rf /etc/vmware
- mkdir -p /etc/vmware
-
- echo " * unpacking kernel modules"
- cd vmroot/lib/vmware/modules/source
- tar xf vmnet.tar
- tar xf vmmon.tar
- if [ "${vmplversion}" != "vmpl1.0" ]; then
- tar xf vmblock.tar
- fi
-
- echo " * building vmblock module"
- if [ "${vmplversion}" != "vmpl1.0" ]; then
- cd vmblock-only/
- sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile
- make -s
- mv vmblock.ko vmblock.o ../../../../../modules
- cd ..
- fi
-
- echo " * building vmmon module"
- cd vmmon-only
- sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile
- make -s
- mv vmmon.ko vmmon.o ../../../../../modules
- cd ..
-
- echo " * building vmnet module"
- cd vmnet-only
- sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile
- make -s
- mv vmnet.ko vmnet.o ../../../../../modules
- cd ../../../../../..
-
- echo " * setting up EULA"
- mv vmroot/doc/EULA vmroot/lib/vmware/share/EULA.txt
-
- echo " * finishing installation"
-
-
-else
- # bundle Installation of vmpl2.5
- # note: the rpm just include the stupid .bundle file...
- cd ${vmplversion}
-
- echo " * Manipulating and extracting vmplayer ${vmplversion} package. this may take a while"
-
- # fool non-root user extraction... just for testing
- sed -i 's/ exit 1/ echo 1/' ../${tgzfile}
- # don't use deinstallation stuff and checks of /etc...
- # and don't modify file size, else it wont work!
- sed -i 's/ migrate_networks/ echo te_networks/' ../${tgzfile}
- sed -i 's/ uninstall_legacy/ echo tall_legacy/' ../${tgzfile}
- sed -i 's/ uninstall_rpm/ echo tall_rpm/' ../${tgzfile}
- sed -i 's/ uninstall_bundle/ echo tall_bundle/' ../${tgzfile}
- # this won't work as root on our clients... I hope it don't break
- # anything on our clients in stage1
- sh ../${tgzfile} -x temp
- # TODO: errorcheck if rpm wasnt downloaded properly.
- # ask on mailinglist if theres a way how to handle it
- # in preInstallation() "exit 1" is enough. Perhaps it will work
- # here, too. Try first, and then document it in the wiki
-
- # reduce some errors
- echo " * deleting old files if available"
- rm -rf vmroot
-
- echo " * copying files..."
- mkdir -p vmroot
- mkdir -p vmroot/lib
- mkdir -p vmroot/modules
-
- mv temp/vmware-player/lib vmroot/lib/vmware
- mv temp/vmware-player/sbin vmroot/
- # the following shouldn't be needed, just to have it 1:1 self-created
- # copy of /usr/lib/vmware
- # Todo: clean it out when everything is running
- mv temp/vmware-installer vmroot/lib/vmware/installer
- rm -rf vmroot/lib/vmware/installer/.installer
- rm -rf vmroot/lib/vmware/installer/bootstrap
- mkdir -p vmroot/lib/vmware/setup
- mv temp/vmware-player-setup/vmware-config vmroot/lib/vmware/setup
- mv temp/vmware-player/doc vmroot/
- mv temp/vmware-player/bin vmroot/
-
- ##
- ## left files/dirs
- ##
- # temp/vmware-player/files/index.theme ... hopefully not needed,
- # temp/vmware-player/share => /usr/share ... icons
- # temp/vmware-player/etc/... => /etc
- # temp/vmware-player/build => unknown... not found...
-
-
- # etc/vmware/
- # bootstrap => Path definitions. confusing due of version 1.0
- # which looks like the instller version
- # perhaps just for installer... hopefully
- # config => path definition, networking, different configurations
- # database => sqlite3 db. includes all files mapped to component
- # hopefully just used by installer and some path config
- # networking => networking config... has options which are in
- # dhcpd.conf, hopefully not needed
- # vmnet(1|8) => we know it from v1/v2
-
- echo " * fixing file permission"
- chmod 755 vmroot/lib/vmware/bin/*
- chmod 04755 vmroot/lib/vmware/bin/vmware-vmx
- chmod 04755 vmroot/lib/vmware/bin/vmware-vmx-debug
- chmod 04755 vmroot/lib/vmware/bin/vmware-vmx-stats
- chmod 755 vmroot/bin/*
- chmod 755 vmroot/lib/vmware/lib/wrapper-gtk24.sh
-
- # I don't want to understand what vmware is doing, but without this
- # step we need to have LD_LIBRARY_PATH with 53 entrys. welcome to
- # library hell
- # if this fact is still valid for 2.5 is unclear, but lets do it
- echo " * fixing librarys..."
- cd vmroot/lib/vmware/lib
- mkdir test
- mv lib* test
- mv test/lib*/* .
- rm -rf test
- cd ../../../..
-
- echo " * fixing gdk and pango config files"
- sed -i \
- "s,@@LIBCONF_DIR@@,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \
- vmroot/lib/vmware/libconf/etc/gtk-2.0/gdk-pixbuf.loaders
- sed -i \
- "s,@@LIBCONF_DIR@@,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \
- vmroot/lib/vmware/libconf/etc/gtk-2.0/gtk.immodules
- sed -i \
- "s,@@LIBCONF_DIR@@,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \
- vmroot/lib/vmware/libconf/etc/pango/pango.modules
- sed -i \
- "s,@@LIBCONF_DIR@@,/opt/openslx/plugin-repo/vmware/${vmplversion}/vmroot/lib/vmware/libconf," \
- vmroot/lib/vmware/libconf/etc/pango/pangorc
- sed -i \
- "s,/etc/pango/pango/,/etc/pango/," \
- vmroot/lib/vmware/libconf/etc/pango/pangorc
-
- echo " * creating /etc/vmware"
- rm -rf /etc/vmware
- mkdir -p /etc/vmware
-
- echo " * unpacking kernel modules"
- cd vmroot/lib/vmware/modules/source
- tar xf vmnet.tar
- tar xf vmmon.tar
- tar xf vmblock.tar
- #tar xf vmci.tar # just for 2 or more VMs => not needed
- #tar xf vmppuser.tar # we don't need it
- tar xf vsock.tar
-
- echo " * building vmblock module"
- cd vmblock-only/
- sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile
- make -s
- mv vmblock.ko vmblock.o ../../../../../modules
- cd ..
-
- echo " * building vmmon module"
- cd vmmon-only
- sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile
- make -s
- mv vmmon.ko vmmon.o ../../../../../modules
- cd ..
-
- echo " * building vmnet module"
- cd vmnet-only
- sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile
- make -s
- mv vmnet.ko vmnet.o ../../../../../modules
- cd ..
-
- echo " * building vmsock module"
- cd vsock-only
- sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile
- make -s
- mv vsock.ko vsock.o ../../../../../modules
- cd ../../../../../..
-
- echo " * setting up EULA"
- mv vmroot/doc/EULA vmroot/lib/vmware/share/EULA.txt
-
- echo " * finishing installation"
-
-fi
diff --git a/os-plugins/plugins/vmware/files/nvram b/os-plugins/plugins/vmware/files/nvram
deleted file mode 100644
index 85125f1e..00000000
--- a/os-plugins/plugins/vmware/files/nvram
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/vmware/files/run-virt.include b/os-plugins/plugins/vmware/files/run-virt.include
deleted file mode 100644
index 2010dc4b..00000000
--- a/os-plugins/plugins/vmware/files/run-virt.include
+++ /dev/null
@@ -1,448 +0,0 @@
-# run-virt.include
-# -----------------------------------------------------------------------------
-# Copyright (c) 2009..2010 - RZ Uni Freiburg
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# run-virt.include
-# - component for vmware/player of the vmchooser plugin run-virt.sh
-################################################################################
-
-# configuration writer functions
-################################################################################
-
-runvmwareconfheader ()
-{
-echo "# This configuration file was generated by $0" >${conffile}
-
-case "$vmversion" in
- *)
- svga_autodetect="TRUE"
- numvcpus="1"
- shared_folder="FALSE"
- echo ".encoding = \"UTF-8\"
-# version specific stuff - all versions
-config.version = \"8\"" >>${conffile}
- ;;
-esac
-case "$vmversion" in
- 2.*|3.*|6.*|7.*)
- shared_folder="TRUE"
- echo "
-# version specific stuff - ver. 2.*|3.*|6.*|7.*
-sharedFolder.option = \"alwaysEnabled\"" >>${conffile}
- ;;
-esac
-case "$vmversion" in
- 2.5|3.*|6.5|7.*)
- if [ "${cpu_cores}" -ge "2" 2>/dev/null ]; then
- numvcpus="2"
- fi
- cap3d="TRUE" # helper var for loging output
- echo "
-# version specific stuff - ver. 2.5|3.*|6.5|7.*
-ehci.present = \"TRUE\"
-mks.enable3d = \"${enable3d}\"" >>${conffile}
- ;;
-esac
-case "$vmversion" in
- 3.*|7.*)
- numvcpus="${cpu_cores}"
- # svga_autodetect="FALSE" # if defined manual, see below
- echo "
-# version specific stuff - ver. 3.*|7.*
-cpuid.coresPerSocket = \"${cpu_cores}\"
-maxvcpus = \"4\"
-# svga.numDisplays = "2"
-# svga.maxWidth = "2560"
-# svga.maxHeight = "2048"
-# svga.vramSize = "134217728"
-monitor.virtual_mmu = \"automatic\"
-monitor.virtual_exec = \"automatic\"
-floppy1.clientDevice = \"FALSE\"
-floppy1.readonly = \"TRUE\"" >>${conffile}
- ;;
-esac
-
-echo "
-# id
-virtualHW.version = \"${hwver}\"
-displayName = \"${displayname}\"
-guestOS = \"${vmostype}\"
-
-# CPU/MEM
-numvcpus = \"${numvcpus}\"
-memsize = \"${mem}\"
-MemAllowAutoScaleDown = \"FALSE\"
-MemTrimRate = \"-1\"
-
-# ide-disks
-ide0:0.present = \"${ide}\"
-ide0:0.fileName = \"${diskfile}\"
-ide0:0.mode = \"independent-nonpersistent\"
-ide1:0.present = \"${cdrom0}\"
-ide1:0.autodetect = \"TRUE\"
-ide1:0.fileName = \"auto detect\"
-ide1:0.deviceType = \"cdrom-raw\"
-ide1:1.present = \"${cdrom1}\"
-ide1:1.autodetect = \"TRUE\"
-ide1:1.fileName = \"auto detect\"
-ide1:1.deviceType = \"cdrom-raw\"
-
-# scsi-disks
-scsi0.present = \"${scsi}\"
-scsi0:0.present = \"${scsi}\"
-scsi0:0.fileName = \"${diskfile}\"
-scsi0.virtualDev = \"${hddrv}\"
-scsi0:0.mode = \"independent-nonpersistent\"
-
-# floppies
-floppy0.present = \"${floppy0}\"
-floppy0.startConnected = \"FALSE\"
-floppy0.autodetect = \"TRUE\"
-floppy0.fileName = \"auto detect\"
-# we need floppy b: for our windows client configuration
-floppy1.present = \"${floppy1}\"
-floppy1.startConnected = \"TRUE\"
-floppy1.fileType = \"file\"
-floppy1.fileName = \"${floppy1name}\"
-
-# nics
-ethernet0.present = \"TRUE\"
-ethernet0.addressType = \"static\"
-${network_virtualDev}
-ethernet0.connectionType = \"${network_kind}\"
-#ethernet1.connectionType = \"custom\"
-#ethernet1.vnet = \"/dev/vmnet2\"
-ethernet0.address = \"00:50:56:${VM_ID}:${machostpart}\"
-ethernet0.wakeOnPcktRcv = \"FALSE\"
-
-# sound
-sound.present = \"TRUE\"
-sound.fileName = \"-1\"
-sound.autodetect = \"TRUE\"
-
-# svga
-svga.autodetect = \"${svga_autodetect}\"
-
-# usb
-usb.present = \"TRUE\"
-usb.generic.autoconnect = \"TRUE\"
-
-# shared folders
-sharedFolder0.present = \"TRUE\"
-sharedFolder0.enabled = \"${shared_folder}\"
-sharedFolder0.expiration = \"never\"
-sharedFolder0.guestName = \"${sharename}\"
-sharedFolder0.hostPath = \"${sharepath}\"
-sharedFolder0.readAccess = \"TRUE\"
-sharedFolder0.writeAccess = \"TRUE\"
-sharedFolder.maxNum = \"1\"
-
-# dirs/configs
-tmpDirectory = \"${redodir}\"
-redoLogDir = \"${redodir}\"
-mainMem.useNamedFile = \"TRUE\"
-snapshot.disabled = \"TRUE\"
-tools.syncTime = \"TRUE\"
-isolation.tools.hgfs.disable = \"FALSE\"
-hgfs.mapRootShare = \"TRUE\"
-isolation.tools.dnd.disable = \"FALSE\"
-isolation.tools.copy.enable = \"TRUE\"
-isolation.tools.paste.enabled = \"TRUE\"
-
-# serial port
-serial0.present = \"${serial}\"
-${serialdev}
-
-# parallel port
-parallel0.present = \"${parallel}\"
-parallel0.bidirectional = \"${paralbidi}\"
-${paraldev}" >>${conffile}
-
-# set the appropriate permissions for the vmware config file
-chmod u+rwx ${conffile} >/dev/null 2>&1
-}
-
-preferencesheader ()
-{
-echo ".encoding = \"UTF-8\"
-# This configuration file was generated by $0
-
-# updates/tips
-webUpdate.enabled = \"FALSE\"
-pref.downloadPermission = \"deny\"
-pref.vmplayer.downloadPermission = \"deny\"
-pref.vmplayer.webUpdateOnStartup = \"FALSE\"
-pref.tip.startup = \"FALSE\"
-hints.hideAll = \"TRUE\"
-hint.vmui.showAllUSBDevs = \"FALSE\"
-
-# configs
-prefvmx.defaultVMPath = \"${vmhome}\"
-prefvmx.mru.config = \"${conffile}:\"
-
-# hot keys
-pref.hotkey.control = \"true\"
-pref.hotkey.alt = \"true\"
-pref.hotkey.shift = \"true\"
-pref.hotkey.gui = \"true\"
-gui.restricted = \"true\"
-
-# fullscreen/mouse/keyboard
-pref.fullscreen.toolbarPixels = \"0\"
-pref.vmplayer.fullscreen.autohide = \"TRUE\"
-pref.grabOnMouseClick = \"TRUE\"
-pref.grabOnKeyPress = \"FALSE\"
-pref.motionGrab = \"TRUE\"
-pref.motionUngrab = \"TRUE\"
-pref.hideCursorOnUngrab = \"TRUE\"
-pref.autoFit = \"TRUE\"
-pref.autoFitFullScreen = \"fitGuestToHost\"
-pref.vmplayer.exit.vmAction = \"poweroff\"
-pref.vmplayer.confirmOnExit = \"TRUE\"
-
-# shared folders
-pref.enableAllSharedFolders = \"TRUE\"
-
-# eula
-pref.eula.size = \"2\"
-pref.eula.0.appName = \"VMware Player\"
-pref.eula.0.buildNumber = \"${vmbuild}\"
-pref.eula.1.appName = \"VMware Workstation\"
-pref.eula.1.buildNumber = \"${vmbuild}\"" >${vmhome}/preferences
-}
-
-
-# declaration of default variables
-################################################################################
-
-# VM-ID static (0D), remove if changed to 00
-VM_ID="0D"
-# temporary disk space for logs, etc...
-redodir=/tmp/vmware/${USER}
-# dir for configs and vmem file
-confdir=${redodir}
-# configfile
-conffile="${confdir}/run-vmware.conf"
-# diskfile
-diskfile=${vmpath}
-# users vmware config folder
-vmhome="${HOME}/.vmware"
-
-# get several version infos for vmware/player
-. ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmware/vmware.conf
-vmbuild=$buildversion
-vmversion=$version
-
-# VMware start options
-# "-X": start in fullscreen
-vmopt="-X"
-
-
-# hardware checks
-################################################################################
-
-# use different network card
-if [ -n "${network_card}" ]; then
- network_virtualDev='ethernet0.virtualDev = "e1000"'
-else
- network_virtualDev='# using default virtualDev for ethernet0'
-fi
-
-case "$enable3d" in
- *true*|*TRUE*|*yes*|*YES*)
- enable3d="TRUE"
- ;;
- *)
- enable3d="FALSE"
- ;;
-esac
-
-# serial/parallel port defined (e.g. "ttyS0, lp0" or "autodetect")
-case "$serial" in
- tty*)
- serialdev="serial0.filename = \"/dev/${serial}\""
- serial="TRUE"
- ;;
- auto*)
- serialdev="serial0.autodetect = \"TRUE\""
- serial="TRUE"
- ;;
- *)
- serialdev="# no serial port configured"
- serial="FALSE"
- ;;
-esac
-case "$parallel" in
- lp*|parport*)
- paraldev="parallel0.filename = \"/dev/${parallel}\""
- paralbidi="TRUE"
- parallel="TRUE"
- ;;
- auto*)
- paraldev="parallel0.autodetect = \"TRUE\""
- paralbidi="TRUE"
- parallel="TRUE"
- ;;
- *)
- paraldev="# no parallel port configured"
- paralbidi="FALSE"
- parallel="FALSE"
- ;;
-esac
-
-# adjust memory available for vmware guests
-#if [ -n "${forcemem}" ]; then
-# mem="${forcemem}"
-#else
-# case "$vmversion" in
-# 2.*|6.*)
-# permem=30
-# ;;
-# 3.*|7.*)
-# permem=25
-# ;;
-# esac
-# if [ "${totalmem}" -ge "2500" ]; then
-# permem=40
-# fi
-# # check if /tmp is on harddisk
-# if grep -qe "/dev/.* /tmp " /proc/mounts ; then
-# permem=60
-# id44="1"
-# # Hack, if more than 2,5G RAM use 40% of Ram and write vmem into Ram as well
-# # (40% vmware | 40% confdir(vmem...) | 20% host
-# # VMplayer 2+ issue
-# if [ "${totalmem}" -ge "2500" ]; then
-# permem=40
-# confdir=/dev/shm/vmware/$USER
-# conffile=${confdir}/run-vmware.conf
-# mkdir -p /dev/shm/vmware/$USER
-# fi
-# fi
-# mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4)
-# if [ "${id44}" = "1" ]; then
-# hostmem=$(expr ${totalmem} - ${mem})
-# else
-# hostmem=$(expr ${totalmem} - ${mem} - ${mem})
-# fi
-#fi
-
-# check if ide/scsi and hwver of image
-# read only the first 30 lines to be shure
-imghead=$(head -30 ${diskfile})
-hddrv=$(echo "${imghead}" | grep -m1 -ia "ddb.adapterType" |\
- awk -F '"' '{print $2}')
-hwver=$(echo "${imghead}" | grep -m1 -ia "ddb.virtualHWVersion" |\
- awk -F '"' '{print $2}')
-case "${hddrv}" in
- ide)
- ide="TRUE"
- scsi="FALSE"
- ;;
- lsilogic|buslogic)
- ide="FALSE"
- scsi="TRUE"
- ;;
-esac
-
-
-# write configuration files
-################################################################################
-
-# create vmware directories
-mkdir -p ${redodir} >/dev/null 2>&1
-mkdir -p ${confdir} >/dev/null 2>&1
-mkdir -p ${vmhome} >/dev/null 2>&1
-
-# create preferences
-preferencesheader
-
-# create VMware startup file
-runvmwareconfheader
-# link to conffile if confdir != redodir
-ln -s ${conffile} ${redodir}/run-vmware.conf >/dev/null 2>&1
-
-# sync is needed to ensure that data is really written to virtual disk
-sync
-
-# own nvram. We need it for floppy drive b, default nvram has just drive a
-# TODO: optimize, currently kinda inefficient, too much copys, but we
-# don't know which one is installed...
-for i in /opt/openslx/plugin-repo/vmware/*; do
- cp ${i}/nvram ${confdir}/nvram 2>/dev/null
-done
-
-
-# logging and stdout
-################################################################################
-
-# log script information
-writelog "# File created by $0 (VMversion ${vmversion})\n# on $(date)\n"
-writelog "Starting with non-persistent mode ...\n"
-
-# check memory range
-if [ "${mem}" -lt "256" ] || [ "${hostmem}" -lt "256" ]; then
- writelog "\tMemory out of range: ${mem} MB (guest) / ${hostmem} MB (host)!"
- writelog "\tMin. 256 MB for host and guest!"
- exit 1
-fi
-
-# write all results to logfile
-# log disksetup
-writelog "Directories:"
-writelog "\tConfdir:\t${confdir}"
-writelog "\tConffile:\t${conffile}"
-writelog "\tRedodir:\t${redodir}"
-writelog "\tVMhome:\t\t${vmhome}"
-writelog "\t/tmp info: \
- $(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')"
-# hw setup
-writelog "Hardware:"
-writelog "\tMAC:\t\t00:50:56:${VM_ID}:${machostpart}"
-if [ -n "${network_card}" ]; then
- writelog "\tNet Adaptor:\t${network_card}"
-fi
-writelog "\tMem:\t\t${mem} MB"
-# echo nur wenn hostmem gesetzt
-[ -n "${hostmem}" ] && writelog "\tHostmem:\t${hostmem} MB"
-writelog "\tMax. res.:\t${xres}x${yres}"
-writelog "\tCD-ROM1:\t${cdrom0}"
-writelog "\tCD-ROM2:\t${cdrom1}"
-writelog "\tFloppy_A:\t${floppy0}"
-if [ "${serial}" = "TRUE" ]; then
- writelog "\tSerial Port:\t${serialdev}"
-fi
-if [ "${parallel}" = "TRUE" ]; then
- writelog "\tParallel Port:\t${paraldev}"
-fi
-# image
-writelog "Diskimage:"
-writelog "\tDiskfile:\t${diskfile}"
-writelog "\tDisktype:\t${hddrv}"
-writelog "\tHWVersion:\t${hwver}"
-writelog "\tVMostype:\t${vmostype}"
-# misc
-writelog "Misc:"
-writelog "\tDisplayname:\t${displayname}"
-if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then
- writelog "\t3D Graphics:\tenabled"
-fi
-# empty line at end
-writelog ""
-
-
-# finally set env for run-virt.sh
-################################################################################
-
-# using the modified version of the wrapper script
-VIRTCMD="${OPENSLX_DEFAULT_BINDIR}/vmplayer"
-VIRTCMDOPTS="${vmopt} ${conffile}"
diff --git a/os-plugins/plugins/vmware/init-hooks/20-nw-bridge-config/bridge.sh b/os-plugins/plugins/vmware/init-hooks/20-nw-bridge-config/bridge.sh
deleted file mode 100755
index 3ae7e946..00000000
--- a/os-plugins/plugins/vmware/init-hooks/20-nw-bridge-config/bridge.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2009..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Init hook to create a bridge on the active network interface
-# (should be kept identical to the files of virtualbox and qemukvm plugins)
-#############################################################################
-
-local bridge=br0
-local brnwif=${nwif}
-local nwifmac=${macaddr}
-
-# bridge 0 already defined or some other problem
-brctl addbr ${bridge} || exit 0
-brctl stp ${bridge} 0
-brctl setfd ${bridge} 0.000000000001
-ip link set addr ${nwifmac} ${bridge}
-ip link set dev ${nwif} up
-brctl addif ${bridge} ${nwif}
-
-# fixme: sending back the variable to init does not work properly at the
-# moment
-nwif=${bridge}
diff --git a/os-plugins/plugins/vmware/init-hooks/60-have-servconfig/vm-dhcpd.sh b/os-plugins/plugins/vmware/init-hooks/60-have-servconfig/vm-dhcpd.sh
deleted file mode 100755
index b4f02389..00000000
--- a/os-plugins/plugins/vmware/init-hooks/60-have-servconfig/vm-dhcpd.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Init hook to create a bridge on the active network interface
-# (should be kept identical in vmware, virtualbox and qemukvm plugins)
-#############################################################################
-
-. /etc/openslx.conf
-
-CONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}
-testmkd ${CONFDIR}
-
-# configuring dhcpd stub for virtual networks
-cat > ${CONFDIR}/udhcpd.conf << EOF
-# general udhcpd configuration file for virtual machines written by
-# $0 during OpenSLX stage3 configuration
-
-# start and end of the IP lease block
-start CNETWORK.20
-end CNETWORK.100
-
-# interface that udhcpd will use
-interface NWIF
-
-# how long an offered address is reserved (leased) in seconds
-offer_time 6000
-
-# location of the leases file
-lease_file LEASEFILE
-
-# location of the pid file
-pidfile PIDFILE
-
-option dns ${domain_name_servers}
-option subnet 255.255.255.0
-option router CNETWORK.1
-option wins CNETWORK.10
-option domain virtual.site ${domain_name}
-
-# additional options known to udhcpd
-#subnet #timezone
-#router #timesvr
-#namesvr #dns
-#logsvr #cookiesvr
-#lprsvr #bootsize
-#domain #swapsvr
-#rootpath #ipttl
-#mtu #broadcast
-#wins #lease
-#ntpsrv #tftp
-#bootfile
-EOF
diff --git a/os-plugins/plugins/vmware/init-hooks/80-after-plugins/adapt-tmpfs.sh b/os-plugins/plugins/vmware/init-hooks/80-after-plugins/adapt-tmpfs.sh
deleted file mode 100644
index a28a8c6f..00000000
--- a/os-plugins/plugins/vmware/init-hooks/80-after-plugins/adapt-tmpfs.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Init hook to adapt the tmpfs size for VMware/Player
-# (should be kept identical to the files of virtualbox plugin)
-#############################################################################
-
-# adapt tmpfs size (overbook)
-case $(grep tmpfs /proc/mounts) in
- */tmp*)
- mount -o remount,size=160% /mnt/tmp
- ;;
- */uniontmp*)
- mount -o remount,size=160% /mnt/uniontmp
- ;;
-esac
diff --git a/os-plugins/plugins/wlanboot/OpenSLX/OSPlugin/wlanboot.pm b/os-plugins/plugins/wlanboot/OpenSLX/OSPlugin/wlanboot.pm
deleted file mode 100644
index ab1c614e..00000000
--- a/os-plugins/plugins/wlanboot/OpenSLX/OSPlugin/wlanboot.pm
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# wlanboot.pm
-# - an wlanboot extension to the stage3 system
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::wlanboot;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Path;
-
-use Data::Dumper;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-# if you have any questions regarding the concept of OS-plugins and their
-# implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-# '#openslx' (on freenode).
-################################################################################
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'wlanboot',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- wlanboot is an extension for stage 3
- End-of-Here
- precedence => 50,
- };
-}
-
-sub getAttrInfo
-{ # returns a hash-ref with information about all attributes supported
- # by this specific plugin
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- 'wlanboot::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'wlanboot'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'wlanboot::activenics' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- kernel modules to load ..
- End-of-Here
- content_regex => '',
- content_descr => 'space seperated list of kernel modules (without .ko)',
- default => 'iwl3945 arc4 ecb',
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
- my $openslxConfigPath = $info->{'openslx-config-path'};
- my $attrs = $info->{'plugin-attrs'};
-
- my $filesDir = "$openslxBasePath/lib/plugins/wlanboot/files";
- slxsystem("cp -r $filesDir $pluginRepoPath/");
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
-
- return;
-}
-
-sub suggestAdditionalKernelModules
-{
- my $self = shift;
- my $info = shift;
-
- my $attrs = $info->{'attrs'};
-
- my @suggestedKernelModules;
-
- print Dumper(split(/ /, $attrs->{'wlanboot::activenics'}));
- push(@suggestedKernelModules, split(/ /, $attrs->{'wlanboot::activenics'} ));
-
- return @suggestedKernelModules;
-}
-
-sub copyRequiredFilesIntoInitramfs
-{
- my $self = shift;
- my $targetPath = shift;
- my $attrs = shift;
- my $makeInitRamFSEngine = shift;
- my $pluginRepoPath = "$openslxConfig{'base-path'}/lib/plugins/wlanboot";
-
- $makeInitRamFSEngine->addCMD(
- "cp -p $pluginRepoPath/files/bin/* $targetPath/bin/"
- );
- $makeInitRamFSEngine->addCMD(
- "cp -a $pluginRepoPath/files/firmware $targetPath/lib"
- );
- $makeInitRamFSEngine->addCMD(
- "cp -a $pluginRepoPath/files/lib $targetPath/"
- );
- vlog(1, _tr("wlanboot-plugin: ..."));
-
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/wlanboot/XX_wlanboot.sh b/os-plugins/plugins/wlanboot/XX_wlanboot.sh
deleted file mode 100644
index c33c1e19..00000000
--- a/os-plugins/plugins/wlanboot/XX_wlanboot.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'wlanboot' plugin - the runlevel script
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-if [ -e /initramfs/plugin-conf/wlanboot.conf ]; then
- . /initramfs/plugin-conf/wlanboot.conf
- if [ $wlanboot_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'wlanboot' os-plugin ...";
- #iwconfig wlan0 essid "wlanboottest"
- #ip link set wlan0 up
- #udhcpc -i wlan0
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'wlanboot' os-plugin ...";
-
- fi
-fi
diff --git a/os-plugins/plugins/wlanboot/files/bin/iwconfig b/os-plugins/plugins/wlanboot/files/bin/iwconfig
deleted file mode 100755
index 42c18ca1..00000000
--- a/os-plugins/plugins/wlanboot/files/bin/iwconfig
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/bin/iwevent b/os-plugins/plugins/wlanboot/files/bin/iwevent
deleted file mode 100755
index bf9b921b..00000000
--- a/os-plugins/plugins/wlanboot/files/bin/iwevent
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/bin/iwgetid b/os-plugins/plugins/wlanboot/files/bin/iwgetid
deleted file mode 100755
index a310ee85..00000000
--- a/os-plugins/plugins/wlanboot/files/bin/iwgetid
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/bin/iwlist b/os-plugins/plugins/wlanboot/files/bin/iwlist
deleted file mode 100755
index 9597d4d4..00000000
--- a/os-plugins/plugins/wlanboot/files/bin/iwlist
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/bin/iwpriv b/os-plugins/plugins/wlanboot/files/bin/iwpriv
deleted file mode 100755
index a9fd399e..00000000
--- a/os-plugins/plugins/wlanboot/files/bin/iwpriv
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/bin/iwspy b/os-plugins/plugins/wlanboot/files/bin/iwspy
deleted file mode 100755
index 2bded1e1..00000000
--- a/os-plugins/plugins/wlanboot/files/bin/iwspy
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/bin/iwtest b/os-plugins/plugins/wlanboot/files/bin/iwtest
deleted file mode 100644
index c6846702..00000000
--- a/os-plugins/plugins/wlanboot/files/bin/iwtest
+++ /dev/null
@@ -1 +0,0 @@
-test file for plugin wlanboot.
diff --git a/os-plugins/plugins/wlanboot/files/firmware/README b/os-plugins/plugins/wlanboot/files/firmware/README
deleted file mode 100644
index 0845746d..00000000
--- a/os-plugins/plugins/wlanboot/files/firmware/README
+++ /dev/null
@@ -1,8 +0,0 @@
-Put all the required firmwares of WLAN adapters you would like to use in
-your setup here into this subdirectory. They are copied into the InitRamFS
-to be present for device configuration via modprobe/mdev in stage3.
-
-For more information on the "wlanboot" plugin have a look at the project
-page!
-
-The OpenSLX Team
diff --git a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-3945-1.ucode b/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-3945-1.ucode
deleted file mode 100644
index 14dc7aac..00000000
--- a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-3945-1.ucode
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-3945-2.ucode b/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-3945-2.ucode
deleted file mode 100644
index c1ea0aab..00000000
--- a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-3945-2.ucode
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-4965-1.ucode b/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-4965-1.ucode
deleted file mode 100644
index 6d67a882..00000000
--- a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-4965-1.ucode
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-4965-2.ucode b/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-4965-2.ucode
deleted file mode 100644
index 8cf429d3..00000000
--- a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-4965-2.ucode
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-5000-1.ucode b/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-5000-1.ucode
deleted file mode 100644
index 5519149b..00000000
--- a/os-plugins/plugins/wlanboot/files/firmware/iwlwifi-5000-1.ucode
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/files/lib/libiw.so b/os-plugins/plugins/wlanboot/files/lib/libiw.so
deleted file mode 120000
index ee7675c6..00000000
--- a/os-plugins/plugins/wlanboot/files/lib/libiw.so
+++ /dev/null
@@ -1 +0,0 @@
-libiw.so.29 \ No newline at end of file
diff --git a/os-plugins/plugins/wlanboot/files/lib/libiw.so.29 b/os-plugins/plugins/wlanboot/files/lib/libiw.so.29
deleted file mode 100755
index 1fde3844..00000000
--- a/os-plugins/plugins/wlanboot/files/lib/libiw.so.29
+++ /dev/null
Binary files differ
diff --git a/os-plugins/plugins/wlanboot/init-hooks/10-nw-if-config/wlanboot.sh b/os-plugins/plugins/wlanboot/init-hooks/10-nw-if-config/wlanboot.sh
deleted file mode 100755
index fee893d4..00000000
--- a/os-plugins/plugins/wlanboot/init-hooks/10-nw-if-config/wlanboot.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 init-hook 10 of 'wlanboot' plugin - firing up the wlan connection
-
-#setting udhcpc up
-mkdir -p /usr/share/udhcpc
-echo -e "#!/bin/ash\nunset infomsg HOME IFS mask lease interface DEBUGLEVEL \
-BOOT_IMAGE\nset >/tmp/ipstuff" >/usr/share/udhcpc/default.script
-chmod u+x /usr/share/udhcpc/default.script
-
-echo "! shutting down watchdog for debugging";
-killall watchdog;
-
-essid=$(sed -n 's/.*essid=\([^[:blank:]]*\) .*/\1/p' /proc/cmdline);
-[ $DEBUGLEVEL -gt 0 ] && echo "set essid to ${essid}";
-#value of essid unchecked yet
-
-
-# load network adaptor modules
-#modprobe iwl3945
-cd /lib/modules/$(ls /lib/modules/)/kernel/drivers/net/wireless
-for mod in $(find . | grep .ko | sed 's,.*/\([^/]*\).ko,\1',); do
- echo "Mod:";
- echo $mod;
- modprobe $mod || echo "module $mod did not load for some reason"
- usleep 10000
-done
-cd /
-
-wlanif=$(iwconfig 2>/dev/null|sed -n "/ESSID:/p"|sed "s/ .*//")
-[ $DEBUGLEVEL -gt 0 ] && echo "wlancard recognized as ${wlanif}";
-
-if [ -n "$wlanif" ] ; then
- ip link set dev ${wlanif} up
- if iwconfig ${wlanif} mode managed essid "${essid}"; then
- nwif=${wlanif}
- else
- error " Unable to configure the WLAN interface."
- fi
-
-
- ( sleep 6 ; killall udhcpc >/dev/null 2>&1 ) &
- udhcpc -f -n -q $vci -s /usr/share/udhcpc/default.script -i $nwif 2>/dev/null
- if grep "ip=" /tmp/ipstuff >/dev/null 2>&1 ; then
- . /tmp/ipstuff
- for i in $dns ; do
- echo "nameserver $i" >>/etc/resolv.conf
- done
- # simply add a single dns server for passing via kernel cmdline to stage3
- # (quickhack, just the last, list of dns might be better ...)
- echo "dnssrv=$i" >>/tmp/ipstuff
- return
- else
- if [ $i -eq 1 ] ; then
- sleep 1
- else
- echo "Did not get any proper IP configuration"; /bin/ash
- fi
- fi
-
- ip addr add $ip/$(ipcalc -s -p $ip $subnet|sed s/.*=//) dev $nwif
- ip route add default via $router
- [ $DEBUGLEVEL -gt 0 ] && echo "IP-Configuration: $ip on interface $wlanif."
-else
- error " No wireless LAN capable interface found. Did you provide the \
-proper kernel\n modules and firmware?"
-fi \ No newline at end of file
diff --git a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm b/os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 1e6a97a5..00000000
--- a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# x11vnc/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the x11vnc plugin.
-# -----------------------------------------------------------------------------
-package x11vnc::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-sub fillRunlevelScript
-{
- my $self = shift;
-
- my $script = unshiftHereDoc(<<" End-of-Here");
- #! /bin/sh
- # completely generic start/stop script, generated via stage1 'x11vnc' plugin
- # install
- #
- # This script manages the services needed to run x11vnc software
-
- # Basic support for the Linux Standard Base Specification 1.3
- ### BEGIN INIT INFO
- # Provides: x11vnc
- # Required-Start:
- # Required-Stop:
- # Default-Start:
- # Default-Stop:
- # Short-Description: Manages the services needed to run x11vnc software
- # Description: Manages the services needed to run x11vnc software
- ### END INIT INFO
-
- [ -f /opt/openslx/plugin-repo/x11vnc/x11vnc-init ] \\
- && CMD="/opt/openslx/plugin-repo/x11vnc/x11vnc-init"
-
- case \$1 in
- start)
- echo "Starting x11vnc ..."
- \$CMD start
- ;;
- stop)
- # message output should match the given vendor-os
- echo "Stopping x11vnc ..."
- \$CMD stop
- ;;
- #status)
- # echo "Say something useful here ..."
- #;;
- restart)
- "\$0" stop
- "\$0" start
- ;;
- esac
- exit 0
- End-of-Here
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/x11vnc/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 6623d22f..00000000
--- a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# x11vnc/OpenSLX/Distro/debian.pm
-# - provides Debian-specific overrides of the Distro API for the x11vnc
-# plugin.
-# -----------------------------------------------------------------------------
-package x11vnc::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(x11vnc::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub fillRunlevelScript
-{
- my $self = shift;
-
- my $script = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # Ubuntu/Debian specific start/stop script, generated via stage1 'x11vnc'
- # plugin install
- # inspiration taken from x11vnc start script:
- # Copyright 1998-2007 x11vnc, Inc. All rights reserved.
- #
- # This script manages the services needed to run x11vnc software
-
- # Basic support for the Linux Standard Base Specification 1.3
- ### BEGIN INIT INFO
- # Provides: x11vnc
- # Required-Start: \$syslog
- # Required-Stop:
- # Default-Start: 2 3 5
- # Default-Stop: 0 6
- # Short-Description: Manages the services needed to run x11vnc software
- # Description: Manages the services needed to run x11vnc software
- ### END INIT INFO
-
- # initialize the lsb status messages
- . /lib/lsb/init-functions
-
- [ -f /opt/openslx/plugin-repo/x11vnc/x11vnc-init ] \\
- && CMD="/opt/openslx/plugin-repo/x11vnc/x11vnc-init"
-
- case \$1 in
- start)
- log_daemon_msg "Starting x11vnc background services ..." "x11vnc"
- \$CMD start
- log_end_msg \$?
- ;;
- stop)
- log_daemon_msg "Stopping x11vnc background services ..." "x11vnc"
- \$CMD stop
- log_end_msg \$?
- ;;
- #status)
- # log_daemon_msg "Say something useful here ..."
- #;;
- restart)
- \$0 stop
- \$0 start
- exit $?
- ;;
- *)
- log_success_msg "Usage: \$0 {start|stop|restart}"
- exit 2
- ;;
- esac
- exit 0
- End-of-Here
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Fedora.pm b/os-plugins/plugins/x11vnc/OpenSLX/Distro/Fedora.pm
deleted file mode 100644
index a1678912..00000000
--- a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Fedora.pm
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2006, 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# x11vnc/OpenSLX/Distro/Fedora.pm
-# - provides Fedora-specific overrides of the Distro API for the x11vnc
-# plugin.
-# -----------------------------------------------------------------------------
-package x11vnc::OpenSLX::Distro::Fedora;
-
-use strict;
-use warnings;
-
-use base qw(x11vnc::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-# TODO: implement!
-
-1;
diff --git a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/x11vnc/OpenSLX/Distro/Gentoo.pm
deleted file mode 100644
index 1bacf1d8..00000000
--- a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Gentoo.pm
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# x11vnc/OpenSLX/Distro/Gentoo.pm
-# - provides Gentoo-specific overrides of the Distro API for the x11vnc
-# plugin.
-# -----------------------------------------------------------------------------
-package x11vnc::OpenSLX::Distro::Gentoo;
-
-use strict;
-use warnings;
-
-use base qw(x11vnc::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-
-################################################################################
-### interface methods
-################################################################################
-
-# TODO: implement!
-
-1;
diff --git a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/x11vnc/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index f43a3893..00000000
--- a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# x11vnc/OpenSLX/Distro/Suse.pm
-# - provides SUSE-specific overrides of the Distro API for the x11vnc plugin.
-# -----------------------------------------------------------------------------
-package x11vnc::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(x11vnc::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub fillRunlevelScript
-{
- my $self = shift;
-
- my $script = unshiftHereDoc(<<" End-of-Here");
- #!/bin/sh
- # SuSE compatible start/stop script, generated via stage1 'x11vnc' plugin
- # installation
- #
- # inspiration taken from x11vnc start script:
- # Copyright 1998-2007 x11vnc, Inc. All rights reserved.
- #
- # This script manages the services needed to run x11vnc software
-
- # Basic support for the Linux Standard Base Specification 1.3
- ### BEGIN INIT INFO
- # Provides: x11vnc
- # Required-Start: \$syslog
- # Required-Stop:
- # Default-Start: 2 3 5
- # Default-Stop: 0 6
- # Short-Description: Manages the services needed to run x11vnc software
- # Description: Manages the services needed to run x11vnc software
- ### END INIT INFO
-
- # load the helper stuff
- . /etc/rc.status
- # reset the script status
- rc_reset
-
- [ -f /opt/openslx/plugin-repo/x11vnc/x11vnc-init ] \\
- && CMD="/opt/openslx/plugin-repo/x11vnc/x11vnc-init"
-
- case \$1 in
- start)
- echo -n "Starting x11vnc background services ..."
- \$CMD start
- rc_status -v
- ;;
- stop)
- # message output should match the given vendor-os
- echo -n "Stopping x11vnc background services ..."
- rc_reset
- \$CMD stop
- rc_status -v
- ;;
- #status)
- # echo -n "Say something useful here ..."
- #;;
- restart)
- "\$0" stop
- "\$0" start
- ;;
- *)
- echo "Usage: `basename "\$0"` {start|stop|restart}"
- exit 1
- ;;
- esac
- exit 0
- End-of-Here
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/x11vnc/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index 3379f14d..00000000
--- a/os-plugins/plugins/x11vnc/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2006, 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# x11vnc/OpenSLX/Distro/Ubuntu.pm
-# - provides Ubuntu-specific overrides of the Distro API for the x11vnc
-# plugin.
-# -----------------------------------------------------------------------------
-package x11vnc::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-# inherit everything from Debian (as Ubuntu is based on it anyway)
-use base qw(x11vnc::OpenSLX::Distro::Debian);
-
-1;
diff --git a/os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm b/os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm
deleted file mode 100644
index fe06648c..00000000
--- a/os-plugins/plugins/x11vnc/OpenSLX/OSPlugin/x11vnc.pm
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright (c) 2007, 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# x11vnc.pm
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::x11vnc;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-sub new
-{
- my $class = shift;
- my $self = {
- name => 'x11vnc',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- enables x11vnc server (user or xorg)
- End-of-Here
- # waits for xorg to add configuration if needed
- precedence => 70,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'x11vnc::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'x11vnc' plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
-
- 'x11vnc::mode' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- set x11vnc to listen on Xorg user sessions (default), general
- access to the Xorg server (including displaymanager login) and
- console framebuffer.
- End-of-Here
- content_regex => qr{^(x11user|x11mod|fb)$},
- content_descr => 'x11user for user, x11mod for access via Xorg module or fb',
- default => 'x11user',
- },
-
- 'x11vnc::scale' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- scale screen size (e.g. as fraction 2/3 or as decimal 0.5)
- End-of-Here
- content_regex => undef,
- content_descr => undef,
- default => '',
- },
-
- 'x11vnc::shared' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- by default x11vnc is always called with the -shared option
- End-of-Here
- content_regex => qr{^(yes|no|1|0)$},
- content_descr => 'use 1 or yes to enable - 0 or no to disable',
- default => 'yes',
- },
-
- 'x11vnc::force_viewonly' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- disable user interaction with vnc
- End-of-Here
- content_regex => qr{^(yes|no|1|0)$},
- content_descr => 'use 1 or yes to enable - 0 or no to disable',
- default => 'no',
- },
-
- 'x11vnc::auth_type' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- set authentication type of the vnc connection. rfbauth is
- available for x11user and fb only.
- End-of-Here
- content_regex => qr{^(passwd|rfbauth|none)$},
- content_descr => 'choose: passwd, rfbauth, none',
- default => 'passwd',
- },
-
- 'x11vnc::allowed_hosts' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- set allowed hosts (multiple hosts are seperated by semicolons,
- (simple) subnets are possible too e.g. "192.168.")
- End-of-Here
- content_regex => undef,
- content_descr => undef,
- default => '',
- },
-
- 'x11vnc::force_localhost' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- force x11vnc to only accept local connections and only listen
- on the loopback device
- End-of-Here
- content_regex => qr{^(1|0|yes|no)$},
- content_descr => 'use 1 or yes to enable - 0 or no to disable',
- default => 'no',
- },
-
- 'x11vnc::pass' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- viewonly password (you can add multiple passwords seperated
- by semicolons, if you're using rfbauth only the first one is
- used)
- End-of-Here
- content_regex => undef,
- content_descr => undef,
- default => '',
- },
-
- 'x11vnc::viewonlypass' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- viewonly password (you can add multiple passwords seperated by
- semicolons, disabled with rfb-auth)
- End-of-Here
- content_regex => undef,
- content_descr => undef,
- default => 'viewonly',
- },
-
- 'x11vnc::logging' => {
- applies_to_systems => 1,
- applies_to_clients => 0,
- description => unshiftHereDoc(<<' End-of-Here'),
- enable logging
- End-of-Here
- content_regex => qr{^(1|0|yes|no)$},
- content_descr => 'use 1 or yes to enable - 0 or no to disable',
- default => 'yes',
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- my $pluginRepositoryPath = $info->{'plugin-repo-path'};
- my $pluginTempPath = $info->{'plugin-temp-path'};
- my $openslxBasePath = $info->{'openslx-base-path'};
-
- # should we distinguish between the two different packages!?
- # libvnc should be part of the xorg package!? (so no check needed)
- my $engine = $self->{'os-plugin-engine'};
- if (!isInPath('x11vnc')) {
- $engine->installPackages(
- $engine->getInstallablePackagesForSelection('x11vnc')
- );
- } else {
- vlog(3, "x11vnc is already installed");
- }
-
- # get path of files we need to install
- my $pluginFilesPath = "$openslxBasePath/lib/plugins/$self->{'name'}/files";
- my $script = $self->{distro}->fillRunlevelScript();
-
- # copy all needed files now
- copyFile("$pluginFilesPath/x11vnc-init", "$pluginRepositoryPath");
-
- spitFile("/etc/init.d/x11vnc", $script);
- chmod 0755, "/etc/init.d/x11vnc";
-
- vlog(3, "install init file");
-
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-}
-
-1;
diff --git a/os-plugins/plugins/x11vnc/XX_x11vnc.sh b/os-plugins/plugins/x11vnc/XX_x11vnc.sh
deleted file mode 100644
index 3970e468..00000000
--- a/os-plugins/plugins/x11vnc/XX_x11vnc.sh
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright (c) 2007..2009 - RZ Uni Freiburg
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# check if the plugin config directory is generally available or if the client
-# configuration failed somehow
-[ -d /initramfs/plugin-conf ] || error "${init_picfg}" nonfatal
-
-# function to add vnc functionality to xorg server
-addvnc2xorg () {
- sed -e '/^# autog/a# modified by x11vnc plugin (adding vnc module config)' \
- -e '/\"Module\"/a\\ \ Load "vnc"' \
- -e '/n \"Device\"/a\\ \ Option "usevnc" "yes"' \
- -e '/n \"Device\"/a\\ \ Option "rfbauth" "/etc/X11/vncpasswd"' \
- -e '/e \"Generic Mouse\"/a\\ \ InputDevice "VNC Keyboard" "ExtraKeyboard"' \
- -e '/e \"Generic Mouse\"/a\\ \ InputDevice "VNC Mouse" "ExtraPointer"' \
- -e '/\"CorePointer\"/ {
-a\
-EndSection\
-Section "InputDevice"\
- Identifier "VNC Keyboard"\
- Driver "rfbkeyb"\
-EndSection\
-Section "InputDevice"\
- Identifier "VNC Mouse"\
- Driver "rfbmouse"
-}' -i /mnt/etc/X11/xorg.conf
-}
-
-# main script
-if [ -e /initramfs/plugin-conf/x11vnc.conf ]; then
- . /initramfs/plugin-conf/x11vnc.conf
- if [ $x11vnc_active -ne 0 ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'x11vnc' os-plugin ...";
- # configure x11vnc user mode or framebuffer
- if [ "$x11vnc_mode" = "x11user" -o "$x11vnc_mode" = "fb" ] ; then
- # create config dir for stage 3
- mkdir -p /mnt/etc/x11vnc
- # default parameters
- PARAMS="-bg -forever"
- # client restrictions
- if [ -z x11vnc_allowed_hosts ]; then
- PARAMS="$PARAMS -allow $x11vnc_allowd_hosts"
- fi
- # mode
- case "$x11vnc_mode" in
- x11user)
- PARAMS="$PARAMS -display :0"
- X11VNC_X11=1
- ;;
- fb)
- PARAMS="$PARAMS -rawfb console"
- ;;
- esac
- # auth type
- case "$x11vnc_auth_type" in
- passwd)
- # use x11vnc passwd style - recommended
- echo "$x11vnc_pass" > /mnt/etc/x11vnc/passwd
- echo "__BEGIN_VIEWONLY__" >> /mnt/etc/x11vnc/passwd
- echo "$x11vnc_viewonlypass" >> /mnt/etc/x11vnc/passwd
- # multiuser handling
- sed -i "s/,/\n/" /mnt/etc/x11vnc/passwd
- # add parameter to commandline
- PARAMS="$PARAMS -passwdfile rm:/etc/x11vnc/passwd"
- ;;
- rfbauth)
- # use rfbauth
- vncpasswd "$x11vnc_pass" > /mnt/etc/x11vnc/passwd
- PARAMS="$PARAMS -rfbauth /etc/x11vnc/passwd"
- ;;
- *)
- # no password
- PARAMS="$PARAMS -nopw"
- ;;
- esac
-
- # force viewonly
- if [ "$x11vnc_force_viewonly" = "1" \
- -o "$x11vnc_force_viewonly" = "yes" ]; then
- PARAMS="$PARAMS -viewonly"
- fi
-
- # force localhost
- if [ "$x11vnc_force_localhost" = "1" \
- -o "$x11vnc_force_localhost" = "yes" ]; then
- PARAMS="$PARAMS -localhost"
- fi
-
- # enable logging
- if [ "$x11vnc_logging" = "1" -o "$x11vnc_logging" = "yes" ]; then
- PARAMS="$PARAMS -o /var/log/x11vnc.log"
- fi
-
- # shared desktops
- if [ "$x11vnc_shared" = "1" -o "$x11vnc_shared" = "yes" ]; then
- PARAMS="$PARAMS -shared"
- fi
-
- # scale desktop
- if [ "$x11vnc_scale" != "" ]; then
- PARAMS="$PARAMS -scale $x11vnc_scale"
- fi
-
- # write config file
- echo "# parameters generated by $0" > /mnt/etc/x11vnc/x11vnc.conf
- echo "X11VNC_PARAMS=\"$PARAMS\"" >> /mnt/etc/x11vnc/x11vnc.conf
- echo "X11VNC_X11=\"$X11VNC_X11\"" >> /mnt/etc/x11vnc/x11vnc.conf
-
- rllinker "x11vnc" 30 10
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'x11vnc' os-plugin ...";
-
- # x11mod offers access to the running X server via module
- elif [ "$x11vnc_mode" = "x11mod" ]; then
- # password setting (use stage4 environment)
- echo -e "$x11vnc_pass\n$x11vnc_viewonlypass" | chroot /mnt vncpasswd -f \
- > /mnt/etc/X11/vncpasswd
- ( waitfor /mnt/etc/X11/xorg.conf 10000; addvnc2xorg ) &
- fi
- fi
-else
- [ $DEBUGLEVEL -gt 2 ] && \
- echo "No configuration file found for x11vnc plugin."
-fi
diff --git a/os-plugins/plugins/x11vnc/files/x11vnc-init b/os-plugins/plugins/x11vnc/files/x11vnc-init
deleted file mode 100755
index 548b2114..00000000
--- a/os-plugins/plugins/x11vnc/files/x11vnc-init
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/bash
-# --------------------------------
-# /etc/init.d/x11vnc
-# --------------------------------
-
-if [ -f /etc/x11vnc/x11vnc.conf ]
-then
- . /etc/x11vnc/x11vnc.conf
-fi
-
-# find xauthority file
-find_xauth () {
- FOUND=0
- RETRIES=4
- [ -z "$1" ] || RETRIES="$1"
-
- [ -e "/var/lib/kdm/" ] &&
- XAUTHFILE_KDM=`find /var/lib/kdm/ -iname "A\:0-*"`
- [ -e "/var/run/xauth/" ] &&
- XAUTHFILE_KDM2=`find /var/run/xauth/ -iname "A\:0-*"`
- [ -e "/var/lib/xdm/authdir/authfiles/" ] &&
- XAUTHFILE_XDM=`find /var/lib/xdm/authdir/authfiles/ -iname "A\:0-*"`
- [ -e "/var/lib/gdm/" ] &&
- XAUTHFILE_GDM=`find /var/lib/gdm/ -iname *Xauth*`
-
- [ -f "$XAUTHFILE_KDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM"
- [ -f "$XAUTHFILE_KDM2" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_KDM2"
- [ -f "$XAUTHFILE_XDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_XDM"
- [ -f "$XAUTHFILE_GDM" ] && FOUND=1 && XAUTHORITY="$XAUTHFILE_GDM"
-
- if [ "$FOUND" -eq "0" ]; then
- if [ "$RETRIES" -gt "0" ]; then
- let "RETRIES-=1"
- find_xauth "$RETRIES"
- else
- echo "start FAILED (can't find way to authenticate myself against X)" >>/var/log/x11vnc.debug
- exit -1
- fi
- else
- echo "found authfile ($XAUTHORITY)" >>/var/log/x11vnc.debug
- fi
-}
-
-START_COMMAND="x11vnc"
-
-case "$1" in
- start)
-
- if [ ! -f /etc/x11vnc/passwd ]; then
- echo " start FAILED (/etc/x11vnc/passwd not found)" >>/var/log/x11vnc.debug
- echo " Create it manualy and retry starting x11vnc" >>/var/log/x11vnc.debug
- exit -1;
- fi
-
- #su -c "$COMMAND" -l x11vnc &
- if [ $X11VNC_X11 = 1 ]; then
- find_xauth
- START_COMMAND="$START_COMMAND -auth $XAUTHORITY $X11VNC_PARAMS"
- else
- START_COMMAND="$START_COMMAND $X11VNC_PARAMS"
- fi
- OUTPUT=`$START_COMMAND`
- echo "$START_COMMAND" >>/var/log/x11vnc.debug
- echo "$OUTPUT" >>/var/log/x11vnc.debug
- ;;
- stop)
- pid=`pidof x11vnc`
- if [ -z "$pid" ]
- then
- echo "x11vnc not running" >>/var/log/x11vnc.debug
- exit -1;
- else
- kill -9 $pid
- echo "x11vnc stopped" >>/var/log/x11vnc.debug
- fi
-
- ;;
- *)
- echo "x11vnc startscript"
- echo "Usage: $0 (start|stop)"
- ;;
-esac
-exit 0
diff --git a/os-plugins/plugins/xen/OpenSLX/OSPlugin/xen.pm b/os-plugins/plugins/xen/OpenSLX/OSPlugin/xen.pm
deleted file mode 100644
index 12331983..00000000
--- a/os-plugins/plugins/xen/OpenSLX/OSPlugin/xen.pm
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xen.pm
-# - implementation of the 'xen' plugin
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::xen;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'xen',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- Configures Xen diskless boot, no installation yet.
- End-of-Here
- precedence => 10,
- };
-}
-
-sub getAttrInfo
-{
- my $self = shift;
-
- return {
- 'xen::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xen'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- # set active to 0, later set specially created Xen system to 1
- default => '0',
- },
- # attribute 'imagesrc' defines where we can find xen images
- 'xen::imagesrc' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Where do we store our xen images? NFS? Filesystem?
- End-of-Here
- content_regex => qr{^(/|nfs://)},
- content_descr => 'local path or URI or "-" (unset)',
- default => undef,
- },
- # attribute 'tftpdir' defines TFTP dir for network boots /w NAT
- 'xen::tftpdir' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Do you want to define a stage 4 TFTP dir for netwoork boots?
- Needed to boot Xen via NFS, we only need the initramfs
- Hint: Mount your TFTP ro via NFS to a local dir
- End-of-Here
- content_regex => qr{^(/)},
- content_descr => 'local path or "-" (unset)',
- default => undef,
- },
- };
-}
-
-sub installationPhase
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
-
- # Copy run-virt.include and template files to the appropriate place for
- # inclusion in stage4
- my $pluginName = $self->{'name'};
- my $pluginBasePath =
- "$self->{openslxBasePath}/lib/plugins/$pluginName/files";
-
- foreach my $file ( qw( run-virt.include machine.include hvm.include ) ) {
- copyFile("$pluginBasePath/$file", "$self->{pluginRepositoryPath}/");
- chmod 0644, "$self->{pluginRepositoryPath}/$file";
- }
-
- return;
-}
-
-sub removalPhase
-{
- my $self = shift;
- my $info = shift;
-
- return;
-}
-
-sub suggestAdditionalKernelModules
-{
- my $self = shift;
- my $makeInitRamFSEngine = shift;
-
- my @suggestedModules;
-
- # Xen needs bridge module, for guests xennet and maybe xenblk
- # earlier versions needed netloop
- push @suggestedModules, qw( bridge xennet xenblk );
-
- return @suggestedModules;
-}
-
-#sub _xenLabel
-#{
-# # set label for each Xen system
-# foreach my $info (@$systemInfos) {
-# if ($info->{xen::active} eq 1) {
-# my $label = $info->{label} || '';
-# if (!length($label) || $label eq $info->{name}) {
-# if ($info->{name} =~ m{^(.+)::(.+)$}) {
-# my $system = $1;
-# my $exportType = $2;
-# $label = $system . "-xen" . ' ' x (36-length($system))
-# . $exportType;
-# } else {
-# $label = $info->{name};
-# }
-# }
-# }
-# $info->{pxeLabel} = $label;
-# }
-# return $info; #???
-#}
-
-#sub _xenBootEntry
-#{
-# # Xen entries look different
-# # Example:
-# # KERNEL mboot.c32 vendor-os/xen.gz dom0_mem=128000 ---
-# # vendor-os/vmlinuz-xen debug=3 --- vendor-os/initramfs-1
-# # TODO: versionsort oder per attr?
-# if ($info->{xen::active} eq 1) {
-# my $xenKernel = slxsystem(ls /boot/xen* | sort | tail -n 1);
-# $append .= " file=$bootURI" if length($bootURI);
-# $append .= " file=$tftpPrefix" if length($tftpPrefix);
-# $append .= " $clientAppend";
-# $append .= " --- $pxePrefix$vendorOSName/$info->{'initramfs-name'}";
-# $slxLabels .= "LABEL openslx-$info->{'external-id'}-xen\n";
-# # $slxLabels .= $pxeDefault;
-# $slxLabels .= "\tMENU LABEL ^$info->{pxeLabel}\n";
-# $slxLabels .= "\tKERNEL mboot.c32\n";
-# $slxLabels .= "\tAPPEND $pxePrefix$vendorOSName/$xenKernel";
-# # $slxLabels .= " dom0_mem=128000";
-# $slxLabels .= " --- $pxePrefix$vendorOSName/$kernelName";
-# $slxLabels .= " --- $append\n";
-# $slxLabels .= "\tIPAPPEND 3\n";
-# }
-# return $slxLabels;
-#}
-
-1;
diff --git a/os-plugins/plugins/xen/XX_xen.sh b/os-plugins/plugins/xen/XX_xen.sh
deleted file mode 100644
index 7dddeee0..00000000
--- a/os-plugins/plugins/xen/XX_xen.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'xen' plugin - the runlevel script
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# include default directories
-. /etc/openslx.conf
-
-CONFFILE=/initramfs/plugin-conf/xen.conf
-PLUGINCONFDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR}/plugins/xen
-PLUGINDIR=/mnt/${OPENSLX_DEFAULT_DIR}/plugin-repo/xen
-VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR}/xen
-
-# check if the configuration file is available
-if [ -e ${CONFFILE} ]; then
-
- # load needed variables
- . ${CONFFILE}
-
- # Test if this plugin is activated... more or less useless with the
- # new plugin system
- if [ $xen_active -ne 0 2>/dev/null ]; then
-
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'xen' os-plugin ...";
-
- # load general configuration
- . /etc/initramfs-setup
-
- # get source of xen image server (get type, server and path)
- if strinstr "/" "${xen_imagesrc}" ; then
- vbimgprot=$(uri_token ${xen_imagesrc} prot)
- vbimgserv=$(uri_token ${xen_imagesrc} server)
- vbimgpath="$(uri_token ${xen_imagesrc} path)"
- fi
- if [ -n "${vbimgserv}" ] ; then
- # directory where qemu images are expected in
- mnttarget=${VIRTDIR}
- # mount the xen image source readonly (ro)
- fsmount ${vbimgprot} ${vbimgserv} ${vbimgpath} ${mnttarget} ro
- else
- [ $DEBUGLEVEL -gt 1 ] && \
- error " * Incomplete information in variable ${xen_imagesrc}." \
- nonfatal
- fi
-
- # copy virtualization include files to config dir
- testmkd ${PLUGINCONFDIR}
- testmkd /mnt/var/log/xen
- testmkd /mnt/var/run/xend
- testmkd /mnt/var/run/xenstored
- cp ${PLUGINDIR}/*.include ${PLUGINCONFDIR}
- # copy ${CONFFILE} to ${PLUGINCONFDIR} just in case
- cp ${CONFFILE} ${PLUGINCONFDIR}
-
- # activate init files
- # TODO: in xen-slx start
- # increase loop devices for loop images
- modprobe -q loop max_loop=64 >/tmp/xen.log 2>&1
- rllinker "xendomains" 14 8
- rllinker "xend" 13 9
- fi
-fi
diff --git a/os-plugins/plugins/xen/files/hvm.include b/os-plugins/plugins/xen/files/hvm.include
deleted file mode 100644
index beb9315a..00000000
--- a/os-plugins/plugins/xen/files/hvm.include
+++ /dev/null
@@ -1,209 +0,0 @@
-# This is an machine template for run-virt.include of the Xen plugin.
-# This template was taken from an example in openSUSE 11.2
-# HVM template
-
-cat <<EOF
-# -*- mode: python; -*-
-#============================================================================
-# Python configuration setup for 'xm create'.
-# This configuration was created through $0 on $(date)
-#============================================================================
-
-import os, re
-
-arch_libdir = 'lib'
-arch = os.uname()[4]
-if os.uname()[0] == 'Linux' and re.search('64', arch):
- arch_libdir = 'lib64'
-
-#----------------------------------------------------------------------------
-# Kernel image file.
-kernel = "/usr/lib/xen/boot/hvmloader"
-
-# The domain build function. HVM domain uses 'hvm'.
-builder='hvm'
-
-# Initial memory allocation (in megabytes) for the new domain.
-memory = ${mem}
-
-# Shadow pagetable memory for the domain, in MB.
-# If not explicictly set, xend will pick an appropriate value.
-# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
-#shadow_memory = 8
-
-# A name for your domain. All domains must have different names.
-name = "${vm_name}"
-
-#-----------------------------------------------------------------------------
-# The number of cpus guest platform has, default=1
-#vcpus=1
-
-# Enable/disable HVM guest PAE, default=1 (enabled)
-#pae=1
-
-# Enable/disable HVM guest ACPI, default=1 (enabled)
-#acpi=1
-
-# Enable/disable HVM APIC mode, default=1 (enabled)
-# Note that this option is ignored if vcpus > 1
-#apic=1
-
-# Enable/disable extended power management support within HVM guest, i.e., beyond
-# S3, S4, S5 within guest like exposing battery meter.
-# 0 (default option, extended power management support disabled)
-# 1 (pass-through mode; uses pass-through as needed; efficient but limited in scope)
-# 2 (non pass-through mode; extended scope, likely to work on all applicable environment
-# but comparitively less efficient than pass-through mode)
-# xen_extended_power_mgmt=0
-
-# List of which CPUS this domain is allowed to use, default Xen picks
-#cpus = "" # leave to Xen to pick
-#cpus = "0" # all vcpus run on CPU0
-#cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5
-#cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3
-
-#----------------------------------------------------------------------------
-# Optionally define mac and/or bridge for the network interfaces.
-# Random MACs are assigned if not given.
-#vif = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0, model=ne2k_pci' ]
-# type=ioemu specify the NIC is an ioemu device not netfront
-#vif = [ 'type=ioemu, bridge=xenbr0' ]
-vif = [ '${xen_vif}' ]
-
-#----------------------------------------------------------------------------
-# Define the disk devices you want the domain to have access to, and
-# what you want them accessible as.
-# Each disk entry is of the form phy:UNAME,DEV,MODE
-# where UNAME is the device, DEV is the device name the domain will see,
-# and MODE is r for read-only, w for read-write.
-#disk = [ 'phy:hda1,hda1,r' ]
-#disk = [ 'file:/var/lib/xen/images/disk.img,ioemu:hda,w', ',hdc:cdrom,r' ]
-disk = [ '${xen_disk}' ]
-
-#----------------------------------------------------------------------------
-# Configure the behaviour when a domain exits. There are three 'reasons'
-# for a domain to stop: poweroff, reboot, and crash. For each of these you
-# may specify:
-# "destroy", meaning that the domain is cleaned up as normal;
-# "restart", meaning that a new domain is started in place of the old
-# one;
-# "preserve", meaning that no clean-up is done until the domain is
-# manually destroyed (using xm destroy, for example); or
-# "rename-restart", meaning that the old domain is not cleaned up, but is
-# renamed and a new domain started in its place.
-# In the event a domain stops due to a crash, you have the additional options:
-# "coredump-destroy", meaning dump the crashed domain's core and then destroy;
-# "coredump-restart', meaning dump the crashed domain's core and the restart.
-# The default is
-# on_poweroff = 'destroy'
-# on_reboot = 'restart'
-# on_crash = 'restart'
-#on_poweroff = 'destroy'
-#on_reboot = 'restart'
-#on_crash = 'restart'
-
-#============================================================================
-# HVM specific
-#============================================================================
-# Device Model to be used
-device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
-
-#-----------------------------------------------------------------------------
-# boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d)
-# default: hard disk, cd-rom, floppy
-#boot="cda"
-
-#-----------------------------------------------------------------------------
-# write to temporary files instead of disk image files
-#snapshot=1
-
-#----------------------------------------------------------------------------
-# enable SDL library for graphics, default = 0
-sdl=0
-
-#----------------------------------------------------------------------------
-# enable OpenGL for texture rendering inside the SDL window, default = 1
-# valid only if sdl is enabled.
-opengl=1
-
-#----------------------------------------------------------------------------
-# enable VNC library for graphics, default = 1
-vnc=1
-
-#----------------------------------------------------------------------------
-# address that should be listened on for the VNC server if vnc is set.
-# default is to use 'vnc-listen' setting from /etc/xen/xend-config.sxp
-#vnclisten="127.0.0.1"
-
-#----------------------------------------------------------------------------
-# set VNC display number, default = domid
-#vncdisplay=1
-
-#----------------------------------------------------------------------------
-# try to find an unused port for the VNC server, default = 1
-#vncunused=1
-
-#----------------------------------------------------------------------------
-# set password for domain's VNC console
-# default is depents on vncpasswd in xend-config.sxp
-vncpasswd=''
-
-#----------------------------------------------------------------------------
-# no graphics, use serial port
-#nographic=0
-
-#----------------------------------------------------------------------------
-# enable stdvga, default = 0 (use cirrus logic device model)
-stdvga=0
-
-#-----------------------------------------------------------------------------
-# serial port re-direct to pty deivce, /dev/pts/n
-# then xm console or minicom can connect
-serial='pty'
-
-
-#-----------------------------------------------------------------------------
-# Qemu Monitor, default is disable
-# Use ctrl-alt-2 to connect
-#monitor=1
-
-
-#-----------------------------------------------------------------------------
-# enable sound card support, [sb16|es1370|all|..,..], default none
-#soundhw='sb16'
-
-
-#-----------------------------------------------------------------------------
-# set the real time clock to local time [default=0 i.e. set to utc]
-#localtime=1
-
-
-#-----------------------------------------------------------------------------
-# set the real time clock offset in seconds [default=0 i.e. same as dom0]
-#rtc_timeoffset=3600
-
-#-----------------------------------------------------------------------------
-# start in full screen
-#full-screen=1
-
-
-#-----------------------------------------------------------------------------
-# Enable USB support (specific devices specified at runtime through the
-# monitor window)
-#usb=1
-# Enable USB mouse support (only enable one of the following, `mouse' for
-# PS/2 protocol relative mouse, `tablet' for
-# absolute mouse)
-#usbdevice='mouse'
-#usbdevice='tablet'
-
-#-----------------------------------------------------------------------------
-# Set keyboard layout, default is en-us keyboard.
-#keymap='de'
-
-#-----------------------------------------------------------------------------
-# Enable/disable xen platform PCI device, default=1 (enabled)
-#xen_platform_pci=1
-
-#============================================================================
-EOF
diff --git a/os-plugins/plugins/xen/files/machine.include b/os-plugins/plugins/xen/files/machine.include
deleted file mode 100644
index 06848949..00000000
--- a/os-plugins/plugins/xen/files/machine.include
+++ /dev/null
@@ -1,167 +0,0 @@
-# This is an machine template for run-virt.include of the Xen plugin.
-# This template was taken from an example in openSUSE 11.2
-
-cat <<EOF
-# -*- mode: python; -*-
-#============================================================================
-# Python configuration setup for 'xm create'.
-# This configuration was created through $0 on $(date)
-#============================================================================
-
-#----------------------------------------------------------------------------
-# Kernel image file and (optional) ramdisk (initrd).
-kernel = "${xen_kernel}"
-ramdisk = "${xen_ramdisk}"
-
-# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS
-#bootloader = "/usr/lib/xen/boot/domUloader.py"
-#bootentry = "hda1:/${xen_kernel},/${xen_ramdisk}"
-# TODO: check these:
-#bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen"
-
-localtime=0
-
-# The domain build function. Default is 'linux', HVM domain uses 'hvm'.
-builder = 'linux'
-
-# Initial memory allocation (in megabytes) for the new domain.
-memory = ${mem}
-
-# A name for your domain. All domains must have different names.
-name = "${vm_name}"
-
-# List of which CPUS this domain is allowed to use, default Xen picks
-#cpus = "" # leave to Xen to pick
-#cpus = "0" # all vcpus run on CPU0
-#cpus = "0-3,5,^1" # run on cpus 0,2,3,5
-#cpus = "${xen_cpus}"
-
-# Number of Virtual CPUS to use, default is 1
-#vcpus = ${xen_vcpus}
-
-#----------------------------------------------------------------------------
-# Define network interfaces.
-
-# By default, no network interfaces are configured. You may have one created
-# with sensible defaults using an empty vif clause:
-# vif = [ '' ]
-# or optionally override backend, bridge, ip, mac, script, type, or vifname:
-# vif = [ 'mac=00:16:3e:00:00:11, bridge=xenbr0' ]
-# or more than one interface may be configured:
-# vif = [ '', 'bridge=xenbr1' ]
-vif = [ '${xen_vif}' ]
-
-#----------------------------------------------------------------------------
-# Define the disk devices you want the domain to have access to, and
-# what you want them accessible as.
-# Each disk entry is of the form phy:UNAME,DEV,MODE
-# where UNAME is the device, DEV is the device name the domain will see,
-# and MODE is r for read-only, w for read-write.
-# disk = [ 'phy:hda1,hda1,w' ]
-${xen_disk}
-
-#----------------------------------------------------------------------------
-# Define frame buffer device.
-# By default, no frame buffer device is configured.
-# To create one using the SDL backend and sensible defaults:
-# vfb = [ 'type=sdl' ]
-# This uses environment variables XAUTHORITY and DISPLAY. You
-# can override that:
-# vfb = [ 'type=sdl,xauthority=/home/bozo/.Xauthority,display=:1' ]
-# To create one using the VNC backend and sensible defaults:
-# vfb = [ 'type=vnc' ]
-# The backend listens on 127.0.0.1 port 5900+N by default, where N is
-# the domain ID. You can override both address and N:
-# vfb = [ 'type=vnc,vnclisten=127.0.0.1,vncdisplay=1' ]
-# Or you can bind the first unused port above 5900:
-# vfb = [ 'type=vnc,vnclisten=0.0.0.0,vnunused=1' ]
-# You can override the password:
-# vfb = [ 'type=vnc,vncpasswd=MYPASSWD' ]
-# Empty password disables authentication. Defaults to the vncpasswd
-# configured in xend-config.sxp.
-
-#----------------------------------------------------------------------------
-# Define to which TPM instance the user domain should communicate.
-# The vtpm entry is of the form 'instance=INSTANCE,backend=DOM'
-# where INSTANCE indicates the instance number of the TPM the VM
-# should be talking to and DOM provides the domain where the backend
-# is located.
-# Note that no two virtual machines should try to connect to the same
-# TPM instance. The handling of all TPM instances does require
-# some management effort in so far that VM configration files (and thus
-# a VM) should be associated with a TPM instance throughout the lifetime
-# of the VM / VM configuration file. The instance number must be
-# greater or equal to 1.
-#vtpm = [ 'instance=1,backend=0' ]
-
-#----------------------------------------------------------------------------
-# Set the kernel command line for the new domain.
-# You only need to define the IP parameters and hostname if the domain's
-# IP config doesn't, e.g. in ifcfg-eth0 or via DHCP.
-# You can use 'extra' to set the runlevel and custom environment
-# variables used by custom rc scripts (e.g. VMID=, usr= ).
-
-# Set if you want dhcp to allocate the IP address.
-dhcp="${xen_dhcp}"
-# Set netmask.
-#netmask=
-# Set default gateway.
-#gateway=
-# Set the hostname.
-hostname= "${hostname}"
-
-# Set root device (eg. /dev/hda1).
-root = "${xen_root}"
-
-# Root device for nfs.
-#root = "/dev/nfs"
-# The nfs server.
-#nfs_server = '169.254.1.0'
-# Root directory on the nfs server.
-#nfs_root = '/full/path/to/root/directory'
-
-# Extra arguments to pass to the kernel.
-# Eg: set runlevel
-extra = "${xen_extra}"
-
-#----------------------------------------------------------------------------
-# Configure the behaviour when a domain exits. There are three 'reasons'
-# for a domain to stop: poweroff, reboot, and crash. For each of these you
-# may specify:
-# "destroy", meaning that the domain is cleaned up as normal;
-# "restart", meaning that a new domain is started in place of the old
-# one;
-# "preserve", meaning that no clean-up is done until the domain is
-# manually destroyed (using xm destroy, for example); or
-# "rename-restart", meaning that the old domain is not cleaned up, but is
-# renamed and a new domain started in its place.
-# In the event a domain stops due to a crash, you have the additional options:
-# "coredump-destroy", meaning dump the crashed domain's core and then destroy;
-# "coredump-restart', meaning dump the crashed domain's core and the restart.
-# The default is
-# on_poweroff = 'destroy'
-# on_reboot = 'restart'
-# on_crash = 'restart'
-#on_poweroff = 'destroy'
-#on_reboot = 'restart'
-#on_crash = 'restart'
-
-#-----------------------------------------------------------------------------
-# Configure PVSCSI devices:
-# PDEV gives physical SCSI device to be attached to specified guest
-# domain by one of the following identifier format.
-# - XX:XX:XX:XX (4-tuples with decimal notation which shows
-# "host:channel:target:lun")
-# - /dev/sdxx or sdx
-# - /dev/stxx or stx
-# - /dev/sgxx or sgx
-# - result of 'scsi_id -gu -s'.
-# ex. # scsi_id -gu -s /block/sdb
-# 36000b5d0006a0000006a0257004c0000
-# VDEV gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as
-# which the specified guest domain recognize.
-#vscsi = [ 'PDEV, VDEV' ]
-#vscsi = [ '/dev/sdx, 0:0:0:0' ]
-
-#============================================================================
-EOF
diff --git a/os-plugins/plugins/xen/files/run-virt.include b/os-plugins/plugins/xen/files/run-virt.include
deleted file mode 100644
index 36a1d1f4..00000000
--- a/os-plugins/plugins/xen/files/run-virt.include
+++ /dev/null
@@ -1,157 +0,0 @@
-# run-virt.include
-# -----------------------------------------------------------------------------
-# Copyright (c) 2010 - RZ Uni Freiburg
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-# -----------------------------------------------------------------------------
-# run-virt.include
-# - Include script for running Xen on an OpenSLX client via the run-virt.sh
-# or run-vmgrid.sh
-################################################################################
-
-################################################################################
-### Include general configuration
-################################################################################
-if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf ]; then
- . ${OPENSLX_DEFAULT_CONFDIR}/plugins/${self}/${self}.conf
-else
- writelog "Problems reading config file of ${self} plugin"
- exit 1
-fi
-
-################################################################################
-### Declaration of default variables
-################################################################################
-
-PLUGINCONFXEN="${PLUGINCONFROOT}/${self}"
-# create TMPDIR for all users
-mkdir -m 1777 /tmp/${self} 2>/dev/null
-# dir for configs
-confdir="/tmp/${self}/${USER}/${VM_ID}"
-# use vm_shortname for VM name since vm_name can be very long
-# add id so we can start more tahn one of the same image
-vm_name="${vm_shortname}-${VM_ID}"
-conffile=${confdir}/${vm_name}
-# define dirs and files which can be removed after exit, be carefull!
-rm -rf ${confdir} 2>/dev/null
-mkdir -p ${confdir} 2>/dev/null
-
-xen_kernel=${kernel:-"/boot/vmlinuz-xen"}
-xen_ramdisk=${initramfs:-"/boot/initrd-xen"}
-xen_extra="xencons=tty 3"
-[ -n "${imgname}" ] && xen_disk="disk = [ 'file:${vmpath},hda1,r' ]"
-
-writelog "Directories:"
-writelog "\tConfig dir:\t\t$confdir"
-
-################################################################################
-### Hardware checks
-################################################################################
-
-# memory part equal to vmware plugin
-# percentage of memory to use for virtualbox in standard case
-if [ -n "${forcemem}" ]; then
- mem="${forcemem}"
-else
- permem=30
- if [ "${totalmem}" -ge "1600" ]; then
- permem=40
- fi
- # check if /tmp is on harddisk
- if grep -qe "/dev/.* /tmp " /proc/mounts ; then
- permem=60
- id44="1"
- # Hack, if more than 2,5G RAM use 40% of Ram and write vmem into Ram as well
- # (40% vmware | 40% confdir(vmem...) | 20% host
- # VMplayer 2+ issue
- # TODO: makes this sense for vbox?
- #if [ "${totalmem}" -ge "2500" ]; then
- #permem=40
- #rmdir ${snapshotdir}
- #snapshotdirold=${snapshotdir}
- #snapshotdir=/dev/shm/${self}/${USER}/${VM_ID}
- #mkdir -p ${snapshotdir}
- #ln -sf ${snapshotdir} ${snapshotdirold}
- #fi
- fi
- mem=$(expr ${totalmem} / 100 \* ${permem})
- if [ "${id44}" = "1" ]; then
- memhost=$(expr ${totalmem} - ${mem})
- else
- memhost=$(expr ${totalmem} - ${mem} - ${mem})
- fi
- #permem=40
- #mem=$(expr ${totalmem} * ${permem})
- if [ "${mem}" -lt "256" ] || [ "${memhost}" -lt "256" ]; then
- writelog "Memory out of range: ${mem} MB (guest) / ${memhost} MB (host)!"
- writelog "Min. 256 MB for host and guest!"
- exit 1
- fi
-fi
-
-# translate network kinds (nat, bridged, host-only)
-case "${network_kind}" in
- bridge*)
- xen_vif="mac=$macaddr, bridge=br0"
- ;;
- *)
- xen_vif="mac=$macaddr"
-esac
-xen_dhcp="dhcp" # off
-
-# translate boot, use if set else set to disk
-xen_root=/dev/hda1
-case ${boot} in
- n*|tftp)
- pxe_label=$(grep -o 'pxe_label param=.*"' ${xmlfile} \
- | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
- pxe_label=$(grep -A 3 "^LABEL *${pxe_label}" \
- ${xen_tftpdir}/pxelinux.cfg/default 2>/dev/null \
- | grep "^ *KERNEL ")
- if [ -n "${pxe_label}" ] && [ -n "${xen_tftpdir}" ]; then
- xen_root=/dev/nfs
- xen_kernel="${xen_tftpdir}/$(echo ${pxe_label} \
- | awk -F " --- " '{print $2}' | awk '{print $1}')"
- xen_ramdisk="${xen_tftpdir}/$(echo ${pxe_label} \
- | awk -F " --- " '{print $3}')"
- fi
- ;;
- # later maybe c|disk|hd*|sd*) for HD and d|cd*) for CD-ROM
- *)
- xen_root=/dev/hda1
- ;;
-esac
-
-[ ${diskless} -eq 0 ] && writelog "Diskimage:"
-[ ${diskless} -eq 0 ] && writelog "\tMachine diskfile:\t$vmpath"
-writelog "Virtual Hardware:"
-writelog "\tGuest RAM:\t\t${mem} MB"
-# echo nur wenn memhost gesetzt
-[ -n "${memhost}" ] && writelog "\tHost RAM:\t\t${memhost} MB"
-writelog "\tMAC address:\t\t$macaddr"
-
-################################################################################
-### Pepare and configure virtual machine and disk image
-################################################################################
-
-. ${PLUGINCONFXEN}/machine.include > ${conffile}
-
-################################################################################
-### finally set env for run-virt.sh
-################################################################################
-
-# set the variables appropriately (several interfaces with different names)
-VIRTCMD=$(which xm 2>/dev/null)
-# '-c' for console, no graphical output available, later vnc possible
-VIRTCMDOPTS="create -c ${conffile}"
-
-# set headless mode
-VIRTCMDHL=$(which xm 2>/dev/null)
-VIRTCMDOPTSHL="create ${conffile}"
diff --git a/os-plugins/plugins/xen/init-hooks/10-nw-if-config/xennet.sh b/os-plugins/plugins/xen/init-hooks/10-nw-if-config/xennet.sh
deleted file mode 100644
index d514b68d..00000000
--- a/os-plugins/plugins/xen/init-hooks/10-nw-if-config/xennet.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-# load xennet if necessary, usualy within a NFS VM
-if grep -q "Xen Virtual Ethernet Card" /etc/hwinfo.netcard-usbctrl; then
- modprobe xennet >/tmp/xennet.log 2>&1
-fi
diff --git a/os-plugins/plugins/xen/init-hooks/20-nw-bridge-config/bridge.sh b/os-plugins/plugins/xen/init-hooks/20-nw-bridge-config/bridge.sh
deleted file mode 100755
index d5245234..00000000
--- a/os-plugins/plugins/xen/init-hooks/20-nw-bridge-config/bridge.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2009 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# Init hook to create a bridge on the active network interface
-# (should be kept identical to the files of virtualbox and qemukvm plugins)
-#############################################################################
-
-local bridge=br0
-local brnwif=${nwif}
-local nwifmac=${macaddr}
-
-# bridge 0 already defined or some other problem
-brctl addbr ${bridge} || exit 0
-brctl stp ${bridge} 0
-brctl setfd ${bridge} 0.000000000001
-ip link set addr ${nwifmac} ${bridge}
-ip link set dev ${nwif} up
-brctl addif ${bridge} ${nwif}
-
-# fixme: sending back the variable to init does not work properly at the
-# moment
-nwif=${bridge}
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm
deleted file mode 100644
index 51c1c60b..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Base.pm
+++ /dev/null
@@ -1,212 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Base.pm
-# - provides base implementation of the Distro API for the xserver plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Base;
-
-use strict;
-use warnings;
-
-our $VERSION = 1.01; # API-version . implementation-version
-
-use File::Basename;
-use File::Path;
-use Scalar::Util qw( weaken );
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-sub new
-{
- my $class = shift;
- my $self = {};
- return bless $self, $class;
-}
-
-sub initialize
-{
- my $self = shift;
- $self->{engine} = shift;
- weaken($self->{engine});
- # avoid circular reference between plugin and its engine
-
- return 1;
-}
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $pathInfo = $self->XserverPathInfo();
- my $configFile = $pathInfo->{config};
-
- my $script = unshiftHereDoc(<<' End-of-Here');
- # xserver.sh (base part)
- # written by OpenSLX-plugin 'xserver' (via xserver/Distro/Base.pm module)
-
- # generating the base configuration file (might be split into several
- # files for newer Xorg servers)
- echo -e "# ${xfc#/mnt*}\n# autogenerated X hardware configuration by \
- the xserver plugin in OpenSLX stage3\n# DO NOT EDIT THIS FILE BUT THE PLUGIN \
- INSTEAD" >${xfc}
- # using variables defined in XX_xserver.sh
- echo -e "${x_modpath}\n${x_srvflags}\n${x_modules}" >>${xfc}
- echo -e "${x_keyboard}\n${x_mouse}\n${x_videocard}" >>${xfc}
- echo -e "${x_monitor}\n${x_screen}\n${x_srvlayout}\n${x_dri}" >>${xfc}
- # if no module was detected, stick to vesa module
- if [ -n "$xmodule" ] ; then
- sed "s/vesa/$xmodule/;s/\"us\"/\"${XKEYBOARD}\"/" -i ${xfc}
- else
- sed "s/\"us\"/\"${XKEYBOARD}\"/" -i ${xfc}
- fi
- if [ -n "${BUSID}" ]; then
- sed -e "s,^#.*BusID .*, BusID \"${BUSID}\",g" -i ${xfc}
- fi
- # end of base xorg.conf generation
-
- End-of-Here
-
- return $script;
-}
-
-# not used yet, kept as example
-sub XserverPathInfo
-{
- my $self = shift;
-
- my $pathInfo = {
- config => '/etc/X11/xorg.conf',
- paths => [
- '/usr/bin',
- ],
- };
-
- return $pathInfo;
-}
-
-
-# looks for the NVIDIA-installer and extracts it
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my @paths = glob $repopath.$pkgpath."/NVIDIA-Linux-x86*\n";
- my $paths = @paths;
-
- if ($paths > 1)
- {
- print "Found more than one NVIDIA-Linux-x86 installer. Taking first one.\n";
- }
- if ($paths == 0)
- {
- print "Found no NVIDIA-Linux-x86 installer. Quitting NVIDIA installation!\n";
- return "error";
- }
-
- if ( ! -X $paths[0] )
- {
- system("chmod +x ".$paths[0]);
- }
- system($paths[0]." -x --target $repopath/nvidia/temp >/dev/null 2>&1");
-
- if($? == -1 )
- {
- print "Failed to execute ".$paths[0]."\n";
- return "error";
- }
-
- system("mv $repopath/nvidia/temp/usr/src $repopath/nvidia/temp/");
- system("mv $repopath/nvidia/temp/usr/ $repopath/nvidia/");
- rmtree("$repopath/nvidia/usr/share/");
-
- return "$repopath/nvidia/temp/src/nv";
-}
-
-
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my @paths = glob $repopath."/".$pkgpath."/ati-driver-installer*";
- my $paths = @paths;
-
- if ($paths > 1)
- {
- print "Found more than one ati-driver-installer. Taking first one.\n";
- }
- if ($paths == 0)
- {
- print "Found no ati-driver-installer. Quitting ATI installation!\n";
- return "error";
- }
-
- if ( ! -X $paths[0] )
- {
- system("chmod +x ".$paths[0]);
- }
- system($paths[0]." --extract $repopath/ati/temp >/dev/null 2>&1");
-
- if($? == -1 )
- {
- print "Failed to execute ".$paths[0]."\n";
- return "error";
- }
-
- # TODO: allow x86_64 driver installation (libs)
- my $arch = "x86";
-
- rmtree("$repopath/ati/usr");
- system("mv $repopath/ati/temp/common/usr $repopath/ati/");
- if (!-d "$repopath/ati/usr/lib" ) {
- mkdir "$repopath/ati/usr/lib";
- }
- system("mv $repopath/ati/temp/arch/$arch/usr/X11R6/lib/* $repopath/ati/usr/lib/");
- system("mv $repopath/ati/temp/arch/$arch/usr/lib/* $repopath/ati/usr/lib/");
- rmtree("$repopath/ati/usr/share/");
-
- my $cmd='gcc --version | head -n 1 | sed -e "s/[^0-9. ]//g;s/^ *//;s/^\(.\)\..*$/\1/"';
- my $gcc_ver_maj =`$cmd`;
- chomp($gcc_ver_maj);
-
- system("mv $repopath/ati/temp/arch/$arch/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$gcc_ver_maj $repopath/ati/temp/common/lib/modules/fglrx/build_mod/");
-
-
- return "$repopath/ati/temp/common/lib/modules/fglrx/build_mod";
-}
-
-# get dkms with wget/tar and put it into /sbin
-sub getdkms
-{
- if( !-f "/sbin/dkms") {
- if(!-f "dkms-2.0.21.1.tar.gz" ) {
- system("wget http://linux.dell.com/dkms/permalink/dkms-2.0.21.1.tar.gz >/dev/null 2>&1");
- die("Could not download dkms tarball! Exiting!") if($? > 0 );
- }
- if(!-f "dkms-2.0.21.1/dkms" ) {
- system("tar -zxvf dkms-2.0.21.1.tar.gz dkms-2.0.21.1/dkms >/dev/null 2>&1");
- die("Could not extract dkms script from tarball! Exiting!") if($? > 0 );
- }
- copyFile("dkms-2.0.21.1/dkms","/sbin");
- chmod 0755, "/sbin/dkms";
- }
-}
-
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm
deleted file mode 100644
index 29156e60..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Debian.pm
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Debian.pm
-# - provides Debian-specific overrides of the distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Debian;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # Debian specific extension to stage3 xserver.sh
- testmkd /mnt/var/lib/xkb
- End-of-Here
-
- return $script;
-}
-
-# stage3 script might need to add special path /var/X11R6/bin to the PATH variable
-# # fixme!! add path directly to /etc/profile!?
-# #[ "x$addpath" != "x" ] && \
-# # echo -e "# added path component by $0: $date\n\
-# #PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/profile
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm
deleted file mode 100644
index 7a706019..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse.pm
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Suse.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-use Data::Dumper;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- # add stuff to the script generated via Base.pm
- $script .= unshiftHereDoc(<<' End-of-Here');
- # SuSE specific extension to stage3 xserver.sh
- testmkd /mnt/etc/X11/xorg.conf.d
- # Add InputClass to proper setup the keyboard and other input
- echo 'Section "InputClass"
- Identifier "evdev pointer catchall"
- MatchIsPointer "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection
- Section "InputClass"
- Identifier "evdev keyboard catchall"
- MatchIsKeyboard "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection
- Section "InputClass"
- Identifier "evdev touchpad catchall"
- MatchIsTouchpad "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection
- Section "InputClass"
- Identifier "evdev tablet catchall"
- MatchIsTablet "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection
- Section "InputClass"
- Identifier "evdev touchscreen catchall"
- MatchIsTouchscreen "on"
- MatchDevicePath "/dev/input/event*"
- Driver "evdev"
- EndSection' >/mnt/etc/X11/xorg.conf.d/10-evdev.conf
- # Xorg hardware is autodetected, so no module information provided
- [ -z "${xmodule}" ] && \
- sed "/Section \"Device\"/,/EndSection/d" -i ${xfc}
- testmkd /mnt/var/lib/xkb/compiled
- testmkd /mnt/var/lib/X11
- testmkd /mnt/var/lib/xdm/authdir/authfiles 0700
- ln -s /usr/bin/Xorg /mnt/var/lib/X11/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_10.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_10.pm
deleted file mode 100644
index f0c3ebb8..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_10.pm
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Suse_10.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse_10;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # suse specific extension to stage3 xserver.sh
- testmkd /mnt/var/lib/xkb/compiled
- testmkd /mnt/var/X11R6/bin
- ln -s /usr/bin/Xorg /mnt/var/X11R6/bin/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- # use the old kbd keyboard driver instead of evdev
- sed "s/\"evdev\"/,/\"kbd\"/" -i ${xfc}
- # relevant for older xservers only: check for kind of xorg module used
- # and patch the i8,9XX VGA BIOS if needed
- #if strinfile '"i810"' $xfc && [ -f /etc/hwinfo.display ] ; then
- # highres=$(sort -run /etc/hwinfo.display|grep -i x -m 1)
- # 915resolution -l|sed -n "s/Mode //;/32 bits/p" > /tmp/915res
- # strinfile ${highres} /tmp/915res || {
- # 915resolution $(grep -i x -m 1 /tmp/915res|sed "s/\ :.*//") $(echo \
- # $highres|sed "s/x/\ /") 2>&1 >/dev/null;
- # # for some reason the above does not work for a Dell laptop with Intel
- # # 855 chipset, so add another mode too
- # 915resolution 3c $(echo $highres|sed "s/x/\ /") 2>&1 >/dev/null; }
- #fi
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_0.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_0.pm
deleted file mode 100644
index 4117c421..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_0.pm
+++ /dev/null
@@ -1,360 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Suse_11_0.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse_11_0;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-use Data::Dumper;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # SuSE specific extension to stage3 xserver.sh
- testmkd /mnt/var/lib/xkb/compiled
- testmkd /mnt/var/X11R6/bin
- testmkd /mnt/var/lib/xdm/authdir/authfiles 0700
- ln -s /usr/bin/Xorg /mnt/var/X11R6/bin/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- End-of-Here
-
- return $script;
-}
-
-# This function needs wget installed
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $tmpdir = "$repopath/nvidia/temp";
- if( !-d $tmpdir ) {
- mkdir( $tmpdir );
- }
- else {
- system("rm -rf $tmpdir/*");
- }
-
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- my $url = "ftp://download.nvidia.com/opensuse/$version/$chost";
-
- print " * Downloading NVIDIA rpm from ftp://download.nvidia.com/opensuse/$version\n";
-
- system("wget -P $tmpdir -t2 -T2 $url/nvidia-gfxG01-kmp-$ksuffix* >/dev/null 2>&1");
-
- if($? > 0) {
- print "Could not download nvidia kernel module rpm!\n";
- }
-
- my @rpm = glob "$tmpdir/nvidia-gfxG01*.rpm";
- my $rpm = @rpm;
- $rpm[0] =~ /nvidia-gfxG01-kmp-$ksuffix-(.*?)_(.*?)-.*?\.$chost.rpm/;
-
- my $nv_kver = $2;
- $nv_kver =~ s/_/-/g;
-
- if($rpm == 0) {
- print "Could not download nvidia kernel module rpm!";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- if(!-d "$repopath/nvidia/modules/")
- {
- mkdir("$repopath/nvidia/modules/");
- }
-
-
- # since kernel 2.6.25.20-0.1 there has to be a call to ld
- # ld -r -m elf_i386 -o ../modules/nvidia.ko lib/modules/2.6.25.20-0.4-pae/updates/{nv-kernel,nv-linux}.o
-
- my $nv_path = glob "$tmpdir/lib/modules/*-$ksuffix/updates/";
- if ( -f "$nv_path/nv-kernel.o" ) {
- # we have to link our kernel module here
- system("ld -r -m elf_i386 -o $nv_path/nvidia.ko $nv_path/{nv-kernel,nv-linux}.o");
- }
-
- copyFile("$nv_path/nvidia.ko", "$repopath/nvidia/modules");
-
-
- my @versions = split(/-/, $rpm[0]);
- my @nv_versions = split('_',$versions[5]);
- my $nv_version = $nv_versions[0];
-
- system("wget -P $tmpdir -t2 -T2 $url/x11-video-nvidiaG01-$nv_version* >/dev/null 2>&1");
-
- @rpm = glob "$tmpdir/x11-video-nvidiaG01-$nv_version*";
- $rpm = @rpm;
-
- if($rpm == 0)
- {
- print "Could not download x11-video-nvidiaG01-$nv_version*.rpm!\n";
- print "Exiting nvidia driver installation!\n";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- rmtree("$tmpdir/usr/share");
- system("mv $tmpdir/usr $repopath/nvidia/");
-
- rmtree($tmpdir);
-
-}
-
-# this function needs wget
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $tmpdir = "$repopath/ati/temp";
- if( !-d $tmpdir ) {
- mkdir( $tmpdir );
- }
- else {
- system("rm -rf $tmpdir/*");
- }
-
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $kver_ati = $kver;
- $kver_ati =~ s/-/_/;
-
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- my $url = "http://www2.ati.com/suse/$version/";
-
- print " * Downloading ATI rpm from http://www2.ati.com/suse/$version\n";
-
- system("wget -P $tmpdir -t2 -T2 $url/repodata/primary.xml.gz >/dev/null 2>&1");
-
- my $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$kver_ati.*?$chost.rpm"`;
- chomp($url2);
-
- if($url2 eq '') {
- # Taking more general kernel version (minus local suse version)
- my $newkernvers = '';
- if($kver_ati =~ /(.*)_(.*?)$/) {
- # if we have a match here
- $newkernvers = $1;
- }
- else {
- # just try the old method
- $newkernvers = substr $kver_ati, 0, -4;
- }
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$newkernvers.*?$chost.rpm"`;
- chomp($url2);
- if(! $url2 eq '') {
- $kver = $newkernvers;
- }
- else {
- # Minus local Suse version number - hoping, there was no ABI change
- if($newkernvers =~ /(.*).(.*?)$/) {
- # here we try with yet another older kernel version
- $newkernvers = $1;
- }
- else {
- $newkernvers = substr $kver_ati, 0, -7;
- }
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$newkernvers.*?$chost.rpm"`;
- chomp($url2);
- if(! $url2 eq '') {
- $kver = $newkernvers;
- }
-
- }
- }
-
-# print "KVER = $kver; CHOST = $chost; ksuffix=$ksuffix\n";
-# system("bash");
-
- if($url2 eq '') {
- print "No ATI module rpm for the chosen kernel version ($kver) found! Exiting!\n";
- return;
- }
- system("wget -P $tmpdir -t2 -T2 $url/$url2 >/dev/null 2>&1");
-
- my @rpm = glob "$tmpdir/ati-fglrxG01-kmp-$ksuffix*$chost.rpm";
- my $rpm = @rpm;
-
- if($rpm == 0) {
- print "Could not download ATI kernel module rpm (for kernel $kver)!\n";
- print "Consider downgrading your Kernel! \nTrying package-install!\n";
- $self->installAtiOldStyle(@_);
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- if(!-d "$repopath/ati/modules/")
- {
- mkdir("$repopath/ati/modules/");
- }
- copyFile("$tmpdir/lib/modules/$kver*-$ksuffix/updates/fglrx.ko",
- "$repopath/ati/modules");
-
- my @versions = split(/-/, $rpm[0]);
- my @ati_versions = split('_',$versions[5]);
- my $ati_version = $ati_versions[0];
-
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/x11-video-fglrxG01-$ati_version-.*?.$chost.rpm"`;
- chomp($url2);
- system("wget -P $tmpdir -t2 -T2 $url/$url2 >/dev/null 2>&1");
-
- @rpm = glob "$tmpdir/x11-video-fglrxG01-$ati_version*";
- $rpm = @rpm;
-
- if($rpm == 0)
- {
- print " Could not download x11-video-fglrxG01-$ati_version*.rpm!\n";
- print " Exiting ATI driver installation!\n";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- rmtree("$tmpdir/usr/share");
- system("mv $tmpdir/usr $repopath/ati/");
- system("mv $tmpdir/etc $repopath/ati/");
- if( ! -d "/usr/X11R6/lib/modules/dri/" ) {
- system("mkdir -p /usr/X11R6/lib/modules/dri/");
- }
- symlink("$repopath/ati/usr/lib/dri/fglrx_dri.so","/usr/X11R6/lib/modules/dri/fglrx_dri.so");
-
- rmtree($tmpdir);
-}
-
-
-
-sub installAtiOldStyle
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
-
- my $ret = $self->SUPER::installAti(@_);
-
- if($ret =~ /^error$/) {
- print "Something went wrong installing ATI files!\n";
- return;
- }
-
- $self->SUPER::getdkms();
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $kver_ati = $kver;
- $kver_ati =~ s/-/_/;
-
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- # here we have to compile the kernel modules for all kernels
- #
- my $ati_version = `head $repopath/$pkgpath/ati-driver-installer-*.run | grep -P -o '[0-9]+\.[0-9]{3}' | tail -n1`;
- chomp($ati_version);
-
- system("mv $ret /usr/src/fglrx-$ati_version >/dev/null 2>&1");
-
- open FH,">/usr/src/fglrx-$ati_version/dkms.conf";
- print FH "DEST_MODULE_LOCATION=/updates\n";
- print FH "PACKAGE_NAME=fglrx\n";
- print FH "PACKAGE_VERSION=$ati_version\n";
- close FH;
-
- my $cmd = "#============= Executing following command =============\n".
- "/sbin/dkms ".
- " -m fglrx -v $ati_version ".
- " -k $kver-$ksuffix ".
- " --kernelsourcedir /usr/src/linux-$kver-obj/i586/$ksuffix ".
- " --no-prepare-kernel ".
- " --no-clean-kernel ".
- " build >/dev/null 2>&1 \n".
- "#==========================================================";
-
-#print $cmd;
- if(!-f "/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko") {
- system("/sbin/dkms add -m fglrx -v $ati_version >/dev/null 2>&1");
- system($cmd);
- #if ($? > 0) {
- # print "\n\nCould not compile module! Exit with Ctrl-D\n";
- # system("/bin/bash");
- #}
- }
-
-
- if(!-d "$repopath/ati/modules/")
- {
- mkdir( "$repopath/ati/modules/" );
- }
-
- if( -e "/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko") {
- copyFile("/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko",
- "$repopath/ati/modules");
- }
- else {
- print "Could not install ati driver via pkg-installer!\n";
- rmtree($repopath."/ati");
- return;
- }
- rmtree("$repopath/ati/temp");
-
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_1.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_1.pm
deleted file mode 100644
index ab543549..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_1.pm
+++ /dev/null
@@ -1,361 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Suse_11_1.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse_11_1;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-use Data::Dumper;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # SuSE specific extension to stage3 xserver.sh
- testmkd /mnt/var/lib/xkb/compiled
- testmkd /mnt/var/X11R6/bin
- testmkd /mnt/var/lib/xdm/authdir/authfiles 0700
- ln -s /usr/bin/Xorg /mnt/var/X11R6/bin/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- End-of-Here
-
- return $script;
-}
-
-# This function needs wget installed
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $tmpdir = "$repopath/nvidia/temp";
- if( !-d $tmpdir ) {
- mkdir( $tmpdir );
- }
- else {
- system("rm -rf $tmpdir/*");
- }
-
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- my $url = "ftp://download.nvidia.com/opensuse/$version/$chost";
-
- print " * Downloading NVIDIA rpm from ftp://download.nvidia.com/opensuse/$version\n";
-
- system("wget -P $tmpdir -t2 -T2 $url/nvidia-gfxG01-kmp-$ksuffix* >/dev/null 2>&1");
-
- if($? > 0) {
- print "Could not download nvidia kernel module rpm!\n";
- }
-
- my @rpm = glob "$tmpdir/nvidia-gfxG01*.rpm";
- my $rpm = @rpm;
- $rpm[0] =~ /nvidia-gfxG01-kmp-$ksuffix-(.*?)_(.*?)-.*?\.$chost.rpm/;
-
- my $nv_kver = $2;
- $nv_kver =~ s/_/-/g;
-
- if($rpm == 0) {
- print "Could not download nvidia kernel module rpm!";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- if(!-d "$repopath/nvidia/modules/")
- {
- mkdir("$repopath/nvidia/modules/");
- }
-
-
- # since kernel 2.6.25.20-0.1 there has to be a call to ld
- # ld -r -m elf_i386 -o ../modules/nvidia.ko lib/modules/2.6.25.20-0.4-pae/updates/{nv-kernel,nv-linux}.o
-
- my $nv_path = glob "$tmpdir/lib/modules/*-$ksuffix/updates/";
- if ( -f "$nv_path/nv-kernel.o" ) {
- # we have to link our kernel module here
- system("ld -r -m elf_i386 -o $nv_path/nvidia.ko $nv_path/{nv-kernel,nv-linux}.o");
- }
-
- copyFile("$nv_path/nvidia.ko", "$repopath/nvidia/modules");
-
-
- my @versions = split(/-/, $rpm[0]);
- my @nv_versions = split('_',$versions[5]);
- my $nv_version = $nv_versions[0];
-
- system("wget -P $tmpdir -t2 -T2 $url/x11-video-nvidiaG01-$nv_version* >/dev/null 2>&1");
-
- @rpm = glob "$tmpdir/x11-video-nvidiaG01-$nv_version*";
- $rpm = @rpm;
-
- if($rpm == 0)
- {
- print "Could not download x11-video-nvidiaG01-$nv_version*.rpm!\n";
- print "Exiting nvidia driver installation!\n";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- rmtree("$tmpdir/usr/share");
- system("mv $tmpdir/usr $repopath/nvidia/");
-
- rmtree($tmpdir);
-
-}
-
-
-# this function needs wget
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $tmpdir = "$repopath/ati/temp";
- if( !-d $tmpdir ) {
- mkdir( $tmpdir );
- }
- else {
- system("rm -rf $tmpdir/*");
- }
-
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $kver_ati = $kver;
- $kver_ati =~ s/-/_/;
-
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- my $url = "http://www2.ati.com/suse/$version/";
-
- print " * Downloading ATI rpm from http://www2.ati.com/suse/$version\n";
-
- system("wget -P $tmpdir -t2 -T2 $url/repodata/primary.xml.gz >/dev/null 2>&1");
-
- my $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$kver_ati.*?$chost.rpm"`;
- chomp($url2);
-
- if($url2 eq '') {
- # Taking more general kernel version (minus local suse version)
- my $newkernvers = '';
- if($kver_ati =~ /(.*)_(.*?)$/) {
- # if we have a match here
- $newkernvers = $1;
- }
- else {
- # just try the old method
- $newkernvers = substr $kver_ati, 0, -4;
- }
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$newkernvers.*?$chost.rpm"`;
- chomp($url2);
- if(! $url2 eq '') {
- $kver = $newkernvers;
- }
- else {
- # Minus local Suse version number - hoping, there was no ABI change
- if($newkernvers =~ /(.*).(.*?)$/) {
- # here we try with yet another older kernel version
- $newkernvers = $1;
- }
- else {
- $newkernvers = substr $kver_ati, 0, -7;
- }
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/ati-fglrxG01-kmp-$ksuffix.*?$newkernvers.*?$chost.rpm"`;
- chomp($url2);
- if(! $url2 eq '') {
- $kver = $newkernvers;
- }
-
- }
- }
-
-# print "KVER = $kver; CHOST = $chost; ksuffix=$ksuffix\n";
-# system("bash");
-
- if($url2 eq '') {
- print "No ATI module rpm for the chosen kernel version ($kver) found! Exiting!\n";
- return;
- }
- system("wget -P $tmpdir -t2 -T2 $url/$url2 >/dev/null 2>&1");
-
- my @rpm = glob "$tmpdir/ati-fglrxG01-kmp-$ksuffix*$chost.rpm";
- my $rpm = @rpm;
-
- if($rpm == 0) {
- print "Could not download ATI kernel module rpm (for kernel $kver)!\n";
- print "Consider downgrading your Kernel! \nTrying package-install!\n";
- $self->installAtiOldStyle(@_);
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- if(!-d "$repopath/ati/modules/")
- {
- mkdir("$repopath/ati/modules/");
- }
- copyFile("$tmpdir/lib/modules/$kver*-$ksuffix/updates/fglrx.ko",
- "$repopath/ati/modules");
-
- my @versions = split(/-/, $rpm[0]);
- my @ati_versions = split('_',$versions[5]);
- my $ati_version = $ati_versions[0];
-
- $url2 = `zcat $tmpdir/primary.xml.gz | grep -P -o "$chost/x11-video-fglrxG01-$ati_version-.*?.$chost.rpm"`;
- chomp($url2);
- system("wget -P $tmpdir -t2 -T2 $url/$url2 >/dev/null 2>&1");
-
- @rpm = glob "$tmpdir/x11-video-fglrxG01-$ati_version*";
- $rpm = @rpm;
-
- if($rpm == 0)
- {
- print " Could not download x11-video-fglrxG01-$ati_version*.rpm!\n";
- print " Exiting ATI driver installation!\n";
- return;
- }
-
- system("cd $tmpdir; rpm2cpio $rpm[0] | cpio -idv >/dev/null 2>&1");
-
- rmtree("$tmpdir/usr/share");
- system("mv $tmpdir/usr $repopath/ati/");
- system("mv $tmpdir/etc $repopath/ati/");
- if( ! -d "/usr/X11R6/lib/modules/dri/" ) {
- system("mkdir -p /usr/X11R6/lib/modules/dri/");
- }
- symlink("$repopath/ati/usr/lib/dri/fglrx_dri.so","/usr/X11R6/lib/modules/dri/fglrx_dri.so");
-
- rmtree($tmpdir);
-}
-
-
-
-sub installAtiOldStyle
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
-
- my $ret = $self->SUPER::installAti(@_);
-
- if($ret =~ /^error$/) {
- print "Something went wrong installing ATI files!\n";
- return;
- }
-
- $self->SUPER::getdkms();
- my $mykernel = getKernelVersionForDistro("/boot");
- my $kver = $mykernel->{'version'};
- my $kver_ati = $kver;
- $kver_ati =~ s/-/_/;
-
- my $ksuffix = $mykernel->{'suffix'};
-
- my $srinfo = `head -n1 /etc/SuSE-release`;
- my @data = split (/ /, $srinfo);
- chomp(@data);
-
- my $version = $data[1];
- my $chost = substr($data[2],1,-1);
-
- # here we have to compile the kernel modules for all kernels
- #
- my $ati_version = `head $repopath/$pkgpath/ati-driver-installer-*.run | grep -P -o '[0-9]+\.[0-9]{3}' | tail -n1`;
- chomp($ati_version);
-
- system("mv $ret /usr/src/fglrx-$ati_version >/dev/null 2>&1");
-
- open FH,">/usr/src/fglrx-$ati_version/dkms.conf";
- print FH "DEST_MODULE_LOCATION=/updates\n";
- print FH "PACKAGE_NAME=fglrx\n";
- print FH "PACKAGE_VERSION=$ati_version\n";
- close FH;
-
- my $cmd = "#============= Executing following command =============\n".
- "/sbin/dkms ".
- " -m fglrx -v $ati_version ".
- " -k $kver-$ksuffix ".
- " --kernelsourcedir /usr/src/linux-$kver-obj/i586/$ksuffix ".
- " --no-prepare-kernel ".
- " --no-clean-kernel ".
- " build >/dev/null 2>&1 \n".
- "#==========================================================";
-
-#print $cmd;
- if(!-f "/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko") {
- system("/sbin/dkms add -m fglrx -v $ati_version >/dev/null 2>&1");
- system($cmd);
- #if ($? > 0) {
- # print "\n\nCould not compile module! Exit with Ctrl-D\n";
- # system("/bin/bash");
- #}
- }
-
-
- if(!-d "$repopath/ati/modules/")
- {
- mkdir( "$repopath/ati/modules/" );
- }
-
- if( -e "/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko") {
- copyFile("/var/lib/dkms/fglrx/$ati_version/$kver-$ksuffix/$chost/module/fglrx.ko",
- "$repopath/ati/modules");
- }
- else {
- print "Could not install ati driver via pkg-installer!\n";
- rmtree($repopath."/ati");
- return;
- }
- rmtree("$repopath/ati/temp");
-
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_2.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_2.pm
deleted file mode 100644
index 5cddcef0..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Suse_11_2.pm
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Suse_11_2.pm
-# - provides SUSE-specific overrides of the Distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Suse_11_2;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use File::Path;
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-use OpenSLX::DistroUtils;
-
-use Data::Dumper;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # SuSE specific extension to stage3 xserver.sh
- testmkd /mnt/var/lib/xkb/compiled
- testmkd /mnt/var/lib/X11
- testmkd /mnt/var/lib/xdm/authdir/authfiles 0700
- ln -s /usr/bin/Xorg /mnt/var/lib/X11/X
- rm /mnt/etc/X11/xdm/SuSEconfig.xdm
- End-of-Here
-
- return $script;
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm
deleted file mode 100644
index 057cf138..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu.pm
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Ubuntu.pm
-# - provides Ubuntu-specific overrides of the distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Ubuntu;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-# needs to be implemented ...
-sub XserverPathInfo
-{
- my $self = shift;
-
- my $pathInfo = {
- config => '/etc/X11/xorg.openslx',
- paths => [
- '/usr/bin',
- ],
- };
-
- return $pathInfo;
-}
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- # overwriting script part from Base.pm
- $script = unshiftHereDoc(<<' End-of-Here');
- # Ubuntu specific extension to stage3 xserver.sh
- echo -e "# ${xfc#/mnt*}\n# autogenerated X hardware configuration by \
- the xserver plugin in OpenSLX stage3\n# DO NOT EDIT THIS FILE BUT THE PLUGIN \
- INSTEAD" >${xfc}
- # using variables defined in XX_xserver.sh
- echo -e "${x_modpath}\n${x_srvflags}\n${x_modules}" >>${xfc}
- echo "${x_keyboard}" | sed "s/kbd/evdev/" >>${xfc}
- echo -e "${x_mouse}\n${x_monitor}\n${x_screen}" >>${xfc}
- echo "${x_srvlayout}" | sed "/ Screen /d" >>${xfc}
- testmkd /mnt/etc/X11/xorg.conf.d
- testmkd /mnt/var/run/xauth
- testmkd /mnt/var/lib/xkb
- ln -sf /usr/bin/Xorg /mnt/etc/X11/X
- End-of-Here
-
- return $script;
-}
-
-
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $distroName = $self->{engine}->distroName();
-
- system($repopath."/ubuntu-gfx-install.sh nvidia $distroName");
-
-}
-
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $distroName = $self->{engine}->distroName();
-
- system($repopath."/ubuntu-gfx-install.sh ati $distroName");
-
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_8.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_8.pm
deleted file mode 100644
index 1fa88446..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_8.pm
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Ubuntu_8.pm
-# - provides Ubuntu-specific overrides of the distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Ubuntu_8;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-sub setupXserverScript
-{
- my $self = shift;
- my $repoPath = shift;
-
- my $script = $self->SUPER::setupXserverScript($repoPath);
-
- $script .= unshiftHereDoc(<<' End-of-Here');
- # Ubuntu specific extension to stage3 xserver.sh
- # use the old kbd keyboard driver instead of evdev
- sed "s/\"evdev\"/,/\"kbd\"/" -i ${xfc}
- testmkd /mnt/var/run/xauth
- testmkd /mnt/var/lib/xkb
- ln -sf /usr/bin/Xorg /mnt/etc/X11/X
- End-of-Here
-
- return $script;
-}
-
-
-sub installNvidia
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $distroName = $self->{engine}->distroName();
-
- system($repopath."/ubuntu-gfx-install.sh nvidia $distroName");
-
-}
-
-sub installAti
-{
- my $self = shift;
- my $repopath = shift || "/opt/openslx/plugin-repo/xserver/";
- my $pkgpath = shift || "packages";
-
- my $distroName = $self->{engine}->distroName();
-
- system($repopath."/ubuntu-gfx-install.sh ati $distroName");
-
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_9.pm b/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_9.pm
deleted file mode 100644
index 80dccbc9..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/Distro/Ubuntu_9.pm
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver/OpenSLX/Distro/Ubuntu_9.pm
-# - provides Ubuntu-specific overrides of the distro API for the xserver
-# plugin.
-# -----------------------------------------------------------------------------
-package xserver::OpenSLX::Distro::Ubuntu_9;
-
-use strict;
-use warnings;
-
-use base qw(xserver::OpenSLX::Distro::Ubuntu_8);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-################################################################################
-### interface methods
-################################################################################
-
-
-1;
diff --git a/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm b/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm
deleted file mode 100644
index b172dc22..00000000
--- a/os-plugins/plugins/xserver/OpenSLX/OSPlugin/xserver.pm
+++ /dev/null
@@ -1,396 +0,0 @@
-# Copyright (c) 2008 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-# xserver.pm
-# -----------------------------------------------------------------------------
-package OpenSLX::OSPlugin::xserver;
-
-use strict;
-use warnings;
-
-use base qw(OpenSLX::OSPlugin::Base);
-
-use OpenSLX::Basics;
-use OpenSLX::Utils;
-
-use File::Basename;
-
-################################################################################
-# if you have any questions regarding the concept of OS-plugins and their
-# implementation, please drop a mail to: ot@openslx.com, or join the IRC-channel
-# '#openslx' (on freenode).
-################################################################################
-sub new
-{
- my $class = shift;
-
- my $self = {
- name => 'xserver',
- };
-
- return bless $self, $class;
-}
-
-sub getInfo
-{
- my $self = shift;
-
- return {
- description => unshiftHereDoc(<<' End-of-Here'),
- This plugin tries to configure the local Xorg-Server and
- integrates binary graphics drivers (closed sourced) into the system.
- Notice that you need to have kernel-headers installed to work properly.
- in some cases. You need to download the driver packages yourself and
- supply the download folder into the pkgpath option.
- End-of-Here
- precedence => 80,
- };
-}
-
-sub getAttrInfo
-{ # returns a hash-ref with information about all attributes supported
- # by this specific plugin
- my $self = shift;
-
- # This default configuration will be added as attributes to the default
- # system, such that it can be overruled for any specific system by means
- # of slxconfig.
- return {
- # attribute 'active' is mandatory for all plugins
- 'xserver::active' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xserver'-plugin be executed during boot?
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '1 means active - 0 means inactive',
- default => '1',
- },
- 'xserver::ddcinfo' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xserver'-plugin use the ddcinfo (if available) for
- the monitor/tft setup? Might help in scenarios with resolutions
- configured much lower than physically possible. (0 ignore, 1 use)
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '0 ignore ddcinfo, 1 use ddcinfo if available',
- default => '0',
- },
- 'xserver::driver' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- force to use defined driver
- End-of-Here
- content_regex => undef,
- content_descr => 'force to use defined driver',
- default => undef,
- },
- 'xserver::prefnongpl' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xserver'-plugin use the non-gpl drivers for some graphic
- adaptors if available (0 prefer gpl, 1 use the nongpl)
- End-of-Here
- content_regex => qr{^(0|1)$},
- content_descr => '0 prefer gpl, 1 use the nongpl',
- default => '0',
- },
- 'xserver::multihead' => {
- applies_to_systems => 1,
- applies_to_clients => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the 'xserver'-plugin configure multi-head setups of Xorg
- for different scenarios and dynamically added displays
- (not implemented yet)
- End-of-Here
- content_regex => undef,
- content_descr => '',
- default => '1',
- },
-
- # plugin specific attributes start here ...
-
- # stage1
- # Currently not needed in scenarios where distro specific packages are
- # available, but for example in SUSE 10.2 we use this method
- # -> provide downloaded packages here.
- 'xserver::pkgpath' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- Path to downloaded ATI or Nvidia package
- End-of-Here
- content_regex => qr{^.+$}, # not empty
- content_descr => 'Path to Nvidia or ATI packages',
- default => '/root/xserver-pkgs',
- },
- 'xserver::ati' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the non-gpl ATI drivers be available (installed in vendor-OS - not implemented yet)?
- End-of-Here
- content_regex => qr{^0|1$},
- content_descr => '"0", "1"',
- default => '0',
- },
- 'xserver::nvidia' => {
- applies_to_vendor_os => 1,
- description => unshiftHereDoc(<<' End-of-Here'),
- should the non-gpl NVidia drivers be available (installed in vendor-OS - not implemented yet)?
- End-of-Here
- content_regex => qr{^0|1$},
- content_descr => '"0", "1"',
- default => '0',
- },
- #'xserver::matrox' => {
- # applies_to_vendor_os => 1,
- # description => unshiftHereDoc(<<' End-of-Here'),
- # should the non-gpl Matrox drivers (e.g. for the Parhelia) be
- # available (installed in vendor-OS)?
- # End-of-Here
- # content_regex => qr{^0|1$},
- # content_descr => '"0", "1"',
- # default => '0',
- #},
- };
-}
-
-
-sub preInstallationPhase()
-{
- my $self = shift;
- my $info = shift;
-
- $self->{pluginRepositoryPath} = $info->{'plugin-repo-path'};
- $self->{pluginTempPath} = $info->{'plugin-temp-path'};
- $self->{openslxBasePath} = $info->{'openslx-base-path'};
- $self->{openslxConfigPath} = $info->{'openslx-config-path'};
- $self->{attrs} = $info->{'plugin-attrs'};
- $self->{vendorOsPath} = $info->{'vendor-os-path'};
-
-
- my $pkgpath = $self->{attrs}->{'xserver::pkgpath'};
- $pkgpath ||= "";
- my $installAti = $self->{attrs}->{'xserver::ati'};
- my $installNvidia = $self->{attrs}->{'xserver::nvidia'};
-
- if (! -d $pkgpath && ($installAti == 1 || $installNvidia == 1)) {
- print "\n\n * xserver::pkgpath: no such directory!\n";
- print " * xserver plugin can only install ATI or Nvidia driver\n";
- print " via operating system packaging (e.g. != SuSE-10.2)!\n";
- # exit 1 => xserver plugin is not getting installed because ati
- # or nvidia where selected but are not installable!
- # exit 1;
- }
-
- if (-d $pkgpath && ($installNvidia == 1 || $installAti == 1)) {
- system("cp -r $pkgpath $self->{pluginRepositoryPath}/packages");
- }
-
-}
-
-
-sub installationPhase
-{ # called while chrooted to the vendor-OS root in order to give the plugin
- # a chance to install required files into the vendor-OS.
- my $self = shift;
- my $info = shift;
-
- # ehh... every plugin has it's own different installationPhase
- # variable definition?
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- # The folder where the stage1-plugin should store all files
- # required by the corresponding stage3 runlevel script.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $pluginTempPath = $info->{'plugin-temp-path'};
- # A temporary playground that will be cleaned up automatically.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $openslxBasePath = $info->{'openslx-base-path'};
- # the openslx base path (/opt/openslx) bind-mounted into the chroot
- my $openslxConfigPath = $info->{'openslx-config-path'};
- # the openslx config path (/etc/opt/openlsx) bind-mounted into the
- # chroot
- my $attrs = $info->{'plugin-attrs'};
- # attributes in effect for this installation
- my $vendorOSName = $self->{'os-plugin-engine'}->{'vendor-os-name'};
-
- # write the distro specific extension (inclusion) of XX_xserver.sh
- my $script = $self->{distro}->setupXserverScript($pluginRepoPath);
- spitFile("$pluginRepoPath/xserver.sh", $script);
-
- # if defined: build nvidia or ati binarys
- my $pluginFilesPath =
- "$openslxBasePath/lib/plugins/$self->{'name'}/files";
- my $installationPath = "$pluginRepoPath/";
- my $binDrivers = 0;
- my $engine = $self->{'os-plugin-engine'};
-
- # removeLinks is to remove Links to the files
- # TODO: In future versions this call can be removed - deprecated version
- $self->removeLinks();
-
- if ($attrs->{'xserver::nvidia'} == 1 || $attrs->{'xserver::ati'} == 1 ) {
- if($vendorOSName =~ /.*?ubuntu.*?/i)
- {
- if($vendorOSName =~ /.*?8.10|9.04|9.10.*?/i)
- {
- copyFile("$pluginFilesPath/ubuntu-ng-gfx-install.sh",
- "$installationPath");
- rename("$installationPath/ubuntu-ng-gfx-install.sh",
- "$installationPath/ubuntu-gfx-install.sh");
- }
- else
- {
- copyFile("$pluginFilesPath/ubuntu-gfx-install.sh", "$installationPath");
- }
- }
- $binDrivers = 1;
- }
- if ($attrs->{'xserver::ati'} == 1 ) {
- $self->{distro}->installAti($pluginRepoPath,"packages");
- }
- if ($attrs->{'xserver::nvidia'} == 1 ) {
- $self->{distro}->installNvidia($pluginRepoPath,"packages");
- }
-
- if ($binDrivers == 1) {
- $self->ldconf($info);
- system("chmod -R 755 $installationPath");
- }
-
- return;
-}
-
-sub removalPhase
-{ # called while chrooted to the vendor-OS root in order to give the plugin
- # a chance to uninstall no longer required files from the vendor-OS.
- my $self = shift;
- my $info = shift;
-
- my $pluginRepoPath = $info->{'plugin-repo-path'};
- # The folder where the stage1-plugin should store all files
- # required by the corresponding stage3 runlevel script.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
- my $pluginTempPath = $info->{'plugin-temp-path'};
- # A temporary playground that will be cleaned up automatically.
- # As this method is being executed while chrooted into the vendor-OS,
- # this path is relative to that root (i.e. directly usable).
-
-
- # TODO (in far future): Remove - linking is deprecated
- # Make sure nobody has installed the old plugin version
- $self->removeLinks();
-
- return;
-}
-
-
-
-# Create ld.so.conf for the binary drivers
-sub ldconf
-{
- my $self = shift;
- my $info = shift;
-
- my $attrs = $info->{'plugin-attrs'};
- my $ldincl = $info->{'plugin-repo-path'}.'/';
- my $ldpl = "/etc/ld.conf.preload";
- my $ldconf = "/etc/ld.so.conf";
- my $ldcache = "";
-
- if( -d $ldincl.'nvidia/') {
-
- ## WRITE ld.so.conf ##
-
- open(IN,'>'.$ldincl.'nvidia/ld.so.conf');
- print IN $ldincl."nvidia/usr/lib\n".$ldincl.'nvidia/usr/X11R6/lib';
- close(IN);
-
- ## CREATE DIFFERENT 'ld.so.cache' ##
-
- $ldcache = $ldincl.'/nvidia/ld.so.cache';
- system('sed -e "1s,^,include '.$ldincl.'nvidia/ld.so.conf\n,g" -i '.$ldconf);
- #print "Calling ldconfig to create $ldcache ... Please Wait\n";
- system('ldconfig -C '.$ldcache);
- system('sed -e "1d" -i '.$ldconf);
- }
-
-
- if( -d $ldincl.'ati/') {
- open(IN,'>'.$ldincl.'ati/ld.so.conf');
- print IN $ldincl."ati/usr/lib\n".$ldincl.'ati/usr/X11R6/lib';
- close(IN);
-
- $ldcache = $ldincl.'/ati/ld.so.cache';
- system('sed -e "1s,^,include '.$ldincl.'ati/ld.so.conf\n,g" -i '.$ldconf);
- #print "Calling ldconfig to create $ldcache ... Please Wait\n";
- system('ldconfig -C '.$ldcache);
- system('sed -e "1d" -i '.$ldconf);
- }
-}
-
-
-# deprecated
-# removes linked libraries from /usr/lib/
-sub removeLinks
-{
- my $instFolders = "/usr/lib";
- if(-d "/usr/X11R6/lib") {
- $instFolders .= " /usr/X11R6/lib";
- }
- my $divertFolder = "/var/X11R6/lib";
- my $pluginFolder = "/opt/openslx/plugin-repo/xserver";
-
- # get all previously installed links
- my @linkedFiles =
- `find $instFolders -lname "$divertFolder*" -o -lname "$pluginFolder*" `;
-
-
- # also remove _MESA backup files
- my @backupFiles =
- `find $instFolders -name "*_MESA.so*"`;
- my $origfile = '';
- for my $file (@backupFiles) {
- $origfile = $file;
- $file =~ s/_MESA//;
- rename($origfile,$file);
- }
- unlink "/usr/lib/libGL.so", "/usr/lib/libGL.so.1";
- symlink "/usr/lib/libGL.so.1.2", "/usr/lib/libGL.so.1";
- symlink "/usr/lib/libGL.so.1.2", "/usr/lib/libGL.so";
-
-
- foreach my $file (@linkedFiles) {
- chomp($file);
- unlink $file;
- }
-
- # this should not print any file at all ;-(
- my @files = `find $instFolders -lname "$divertFolder*" -o -lname "$pluginFolder*" `;
- if ( $#files > 0 ) {
- print "Links were not removed properly! Exiting!\n";
- my $bla;
- foreach (@files) {
- chomp($bla = $_);
- print $bla;
- }
- exit(1);
- }
- return;
-}
-
-1;
diff --git a/os-plugins/plugins/xserver/XX_xserver.sh b/os-plugins/plugins/xserver/XX_xserver.sh
deleted file mode 100644
index 1b757901..00000000
--- a/os-plugins/plugins/xserver/XX_xserver.sh
+++ /dev/null
@@ -1,351 +0,0 @@
-# Copyright (c) 2008 - RZ Uni Freiburg
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'xserver' plugin - the runlevel script setting up the Xorg
-# configuration and checking for 3D capabilities and non-gpl drivers
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# defining a set of stanard configuration blocks
-x_modpath='Section "Files"
-# ModulePath "/usr/lib/xorg/modules/,/usr/lib64/xorg/modules/"
-EndSection'
-x_srvflags='Section "ServerFlags"
- Option "AllowMouseOpenFail"
- Option "AllowEmptyInput" "false"
- Option "blank time" "5"
- Option "standby time" "10"
- Option "suspend time" "15"
- Option "off time" "20"
-EndSection'
-x_modules='Section "Module"
- Load "i2c"
- Load "bitmap"
- Load "ddc"
- Load "extmod"
- Load "freetype"
- Load "int10"
- Load "vbe"
- Load "glx"
- Load "dri"
-EndSection'
-x_mouse='Section "InputDevice"
- Identifier "Generic Mouse"
- Driver "mouse"
-# Option "Device" "/dev/input/mice"
-# Option "Protocol" "ImPS/2"
-# Option "ZAxisMapping" "4 5"
-# Option "Emulate3Buttons" "true"
- Option "CorePointer"
-EndSection'
-x_keyboard='Section "InputDevice"
- Identifier "Generic Keyboard"
- Driver "evdev"
- Option "CoreKeyboard"
- Option "XkbRules" "xorg"
- Option "XkbModel" "pc105"
- Option "XkbLayout" "us"
-EndSection'
-x_videocard='Section "Device"
- Identifier "Generic Video Card"
- Driver "vesa"
-# BusID "PCI:xx" #especially needed for fglrx
-EndSection'
-x_monitor='Section "Monitor"
- Identifier "Generic Display"
- Option "DPMS"
-# Modelname "could be enabled via xserver::ddcinfo attribute"
-# Vertrefresh ...
-# Horizsync ...
-# DisplaySize ...
-EndSection'
-x_screen='Section "Screen"
- Identifier "Default Screen"
- Device "Generic Video Card"
- Monitor "Generic Display"
- DefaultDepth 24
-# SubSection "Display"
-# Depth 24
-# Modes "1024x768" "800x600"
-# EndSubSection
-EndSection'
-x_srvlayout='Section "ServerLayout"
- Identifier "Default Layout"
- Screen "Default Screen"
- InputDevice "Generic Keyboard"
- InputDevice "Generic Mouse"
-EndSection'
-x_dri='Section "DRI"
- Mode 0666
-EndSection'
-# Xorg configuration file location
-xfc="/mnt/etc/X11/xorg.conf"
-
-# read the central configuration file (fixme: should the keyboard layout
-# defined within the xserver plugin settings - probably not, dvs)
-if [ -e /initramfs/machine-setup ] ; then
- . /initramfs/machine-setup
-else
- error " The central configuration file 'machine-setup' (produced by the \
-slxconfig-demuxer\n and transported via fileget) is not present" nonfatal
-fi
-
-if [ -e /etc/slxsystem.conf ]; then
- . /etc/slxsystem.conf
-fi
-
-# directory for libGL, DRI library links to point to proper library set
-# depending on the hardware environment
-glliblinks="/mnt/var/X11R6/lib/"
-testmkd ${glliblinks}
-
-# check for the existance of plugin configuration and non-existance of an
-# admin provided config file in ConfTGZ
-if [ -e /initramfs/plugin-conf/xserver.conf -a \
- ! -f /rootfs/etc/X11/xorg.conf ]; then
- . /initramfs/plugin-conf/xserver.conf
- # check if driver set via xserver_driver
- # if so check for xserver_prefnongpl and xserver_driver because you want to
- # force driver even if xserver_prefnongpl=0
- # eg: [ -n "$xserver_driver" -o "$xserver_prefnongpl" -eq 1 ]
- if [ -n "$xserver_driver" ]; then
- if `grep -qi "Server Module" /etc/hwinfo.gfxcard`; then
- sed -i "s,XFree86.*,FORCED XFree86 v4 Server Module: ${xserver_driver}," \
- /etc/hwinfo.gfxcard
- echo -e "\n# File modified by $1" >> /etc/hwinfo.gfxcard
- echo "# Reason: attribute server_driver set to ${xserver_driver}" \
- >> /etc/hwinfo.gfxcard
- else
- echo -e "\n# File modified by $1" >> /etc/hwinfo.gfxcard
- echo "# Reason: attribute server_driver set to ${xserver_driver}" \
- >> /etc/hwinfo.gfxcard
- echo "FORCED XFree86 v4 Server Module: ${xserver_driver}" >> /etc/hwinfo.gfxcard
- fi
- fi
- # do not start any configuration if the admin provided a preconfigured
- # xorg.conf in /rootfs/etc/X11/xorg.conf
- if [ $xserver_active -ne 0 -a ! -f /rootfs/${xfc#/mnt} ]; then
- [ $DEBUGLEVEL -gt 0 ] && echo "executing the 'xserver' os-plugin ...";
- xmodule=$(grep -i -m 1 "XFree86 v4 Server Module" /etc/hwinfo.gfxcard | \
- sed "s/.*v4 Server Module: //")
- # proprietary ATI/NVidia modules listed a different way with hwinfo
- [ -z "$xmodule" ] || error "${hcfg_hwsetup}" nonfatal
-
- ######################################################################
- # begin proprietary drivers section (xorg.conf part)
- ######################################################################
-
- if $(grep -iq -m 1 'Module: fglrx' /etc/hwinfo.gfxcard) && \
- [ -n "$xserver_driver" -o "$xserver_prefnongpl" -eq 1 ]
- then
- # we have an ati card here
- PLUGIN_ROOTFS="/opt/openslx/plugin-repo/xserver/ati"
- if [ -f /mnt${PLUGIN_ROOTFS}/usr/X11R6/lib/dri/fglrx_dri.so -o \
- -f /mnt${PLUGIN_ROOTFS}/usr/lib/dri/fglrx_dri.so ]; then
-
- # this will be written before standard module path into xorg.conf
- MODULE_PATH="${PLUGIN_ROOTFS}/usr/lib/xorg/modules/\,\
-${PLUGIN_ROOTFS}/usr/X11R6/lib/modules/\,"
- xmodule="fglrx"
- PLUGIN_PATH="/mnt/${PLUGIN_ROOTFS}"
-
- # impossible to load it directly via stage3 insmod - yes, somehow this is too big
- chroot /mnt /sbin/insmod ${PLUGIN_ROOTFS}/modules/fglrx.ko
-
- # workaround for bug #453 (for some ati graphics cards)
- if [ $? -gt 0 -a "${slxconf_distro_name}" = "ubuntu" ]; then
- xmodule="radeon"
- MODULE_PATH="/usr/lib/xorg/modules/,/usr/X11R6/lib/xorg/modules/"
- else
-
- # we need some database for driver initialization
- cp -r "${PLUGIN_PATH}/etc/ati" /mnt/etc
-
- if [ "${slxconf_distro_name}" = "ubuntu" ]; then
- echo "${PLUGIN_ROOTFS}/usr/lib/libGL.so.1" >> /mnt/etc/ld.so.preload
- fi
-
- # if fglrx_dri.so is linked wrong -> we have to link it here
- if [ "1" -eq "$( ls -l /mnt/usr/lib/dri/fglrx_dri.so \
- | grep -o "/var/X11R6.*so$" | wc -l )" ]; then
- ln -s ${PLUGIN_ROOTFS}/usr/lib/dri/fglrx_dri.so \
- ${glliblinks}dri/fglrx_dri.so
- fi
- BUSID=$(grep -m1 -i " SysFS BusID: .*" /etc/hwinfo.gfxcard | \
- awk -F':' '{print "PCI:"$3":"$4}' | sed -e 's,\.,:,g')
- echo -e "\t${PLUGIN_ROOTFS}/usr/bin/aticonfig --initial &>/dev/null"\
- >> /mnt/etc/init.d/boot.slx
- ATI=1
- fi # if kernel module not loaded properly
- fi
- elif $(grep -iq -m 1 'Module: nvidia' /etc/hwinfo.gfxcard) && \
- [ -n "$xserver_driver" -o "$xserver_prefnongpl" -eq 1 ]
- then
- # we have an nvidia card here
- NVIDIA=1
- PLUGIN_ROOTFS="/opt/openslx/plugin-repo/xserver/nvidia"
- MODULE_PATH="${PLUGIN_ROOTFS}/usr/lib/xorg/modules/\,\
-${PLUGIN_ROOTFS}/usr/X11R6/lib/modules/\,"
- xmodule="nvidia"
- PLUGIN_PATH="/mnt${PLUGIN_ROOTFS}"
-
- # if we can't find the nongpl kernel module, use gpl xorg
- # nvidia driver
- if [ -e ${PLUGIN_PATH}/modules/nvidia.ko ]; then
- # sometimes the kernel module needs agpgart
- modprobe agpgart
- # insert kernel driver
- chroot /mnt /sbin/insmod ${PLUGIN_ROOTFS}/modules/nvidia.ko
-
-
- # workaround for bug #453 (Xorg does not start with ld.so.preload)
- if [ "${slxconf_distro_name}" = "ubuntu" -a "${xmodule}" != "nvidia" ]; then
- echo "${PLUGIN_ROOTFS}/usr/lib/libGL.so.1" >> /mnt/etc/ld.so.preload
- fi
-
- else
- xmodule="nv"
- fi
-
- fi
-
- ######################################################################
- # end proprietary drivers xorg.conf section
- ######################################################################
-
- # write the xorg.conf completely or in files needed (depending on
- # distro version)
- # determine keyboard setup (fill XKEYBOARD)
- localization "${country}"
-
- # run distro specific generated stage3 script which uses variables
- # defined in the beginning of this script like ${x_*}, ${xfc}
- [ -e /mnt/opt/openslx/plugin-repo/xserver/xserver.sh ] && \
- . /mnt/opt/openslx/plugin-repo/xserver/xserver.sh
-
- # set nodeadkeys for special layouts
- if [ ${XKEYBOARD} = "de" ]; then
- sed -e '/\"XkbLayout\"/a\\ \ Option "XkbVariant" "nodeadkeys"' \
- -i ${xfc}
- fi
- # if a synaptic touchpad is present, add it to the device list
- if grep -q -E "ynaptics" /etc/hwinfo.mouse || \
- dmesg | grep -q -E "ynaptics" ; then
- sed -e '/\"CorePointer\"/ {
-a\
-EndSection\
-Section "InputDevice"\
- Identifier "Synaptics TP"\
- Driver "synaptics"\
- Option "Device" "/dev/input/mice"\
- Option "SendCoreEvents" "true"
-}' -e '/Device "Generic Mouse"/ {
-a\ \ InputDevice\ \ "Synaptics TP"\ \ \ \ \ \ "SendCoreEvents"
-}' -i ${xfc}
- fi
-
- # ModulePath for proprietary drivers (otherwise disabled)
- if [ -n "$xserver_driver" -o "$xserver_prefnongpl" -eq "1" ]; then
- sed -e "s,# ModulePath \", ModulePath \"${MODULE_PATH},g" \
- -i ${xfc}
- fi
-
- ############################################
- # Copy the appropriate ld.so.cache file
- ############################################
- if [ "${xmodule}" = "fglrx" -o "${xmodule}" = "nvidia" ]; then
- cp ${PLUGIN_PATH}/ld.so.cache /mnt/etc/ld.so.cache
-
- # just in case somebody needs to run ldconfig - insert GL-Libs at the beginning
- sed -e "1s,^,include ${PLUGIN_ROOTFS}/ld.so.conf\n,g" -i /mnt/etc/ld.so.conf
-
- if [ "${xmodule}" = "nvidia" ]; then
- sed -i "s,\(Driver.*\"nvidia\"\),\1\n Option \"NoLogo\" \"True\"," ${xfc}
- fi
- fi
-
- # check if tablet hardware available, read device information from file
- if [ -e /etc/tablet.conf ]; then
- . /etc/tablet.conf
- echo -e 'Section "InputDevice"
- Driver "wacom"
- Identifier "Stylus"
- Option "Device" "/dev/input/wacom"
- Option "Type" "stylus"
- Option "ForceDevice" "ISDV4" # Tablet PC ONLY
-EndSection
-Section "InputDevice"
- Driver "wacom"
- Identifier "Pad"
- Option "Device" "/dev/input/wacom"
- Option "Type" "pad"
- Option "ForceDevice" "ISDV4" # Tablet PC ONLY
-EndSection
-Section "InputDevice"
- Driver "wacom"
- Identifier "Eraser"
- Option "Device" "/dev/input/wacom"
- Option "Type" "eraser"
- Option "ForceDevice" "ISDV4" # Tablet PC ONLY
-EndSection
-Section "InputDevice"
- Driver "wacom"
- Identifier "Cursor"
- Option "Device" "/dev/input/wacom"
- Option "Type" "cursor"
- Option "ForceDevice" "ISDV4" # Tablet PC ONLY
-EndSection' >> ${xfc}
- sed -e "s,/dev/input/wacom,/dev/${wacomdev}," \
- -e '/e \"Generic Mouse\"/a\\ \ InputDevice "Stylus" "SendCoreEvents"' \
- -e '/e \"Generic Mouse\"/a\\ \ InputDevice "Pad" "SendCoreEvents"' \
- -e '/e \"Generic Mouse\"/a\\ \ InputDevice "Cursor" "SendCoreEvents"' \
- -e '/e \"Generic Mouse\"/a\\ \ InputDevice "Eraser" "SendCoreEvents"' \
- -i ${xfc}
- fi
-
- # some configurations produce no proper screen resolution without
- # Horizsync and Vertrefresh set (more enhancements might be needed for
- # really old displays like CRTs)
- if [ $xserver_ddcinfo -ne 0 ] ; then
- # read /etc/hwinfo.display started at "runinithook '00-started'"
- vert=$(grep -m 1 "Vert.*Range:" /etc/hwinfo.display | \
- sed 's|.*Range:\ ||;s|\ Hz||')
- horz=$(grep -m 1 "Hor.*Range:" /etc/hwinfo.display | \
- sed 's|.*Range:\ ||;s|\ kHz||')
- modl=$(grep -m 1 " Model: " /etc/hwinfo.display | \
- sed 's|.*Model:\ ||;s|"||g')
- size="$(grep -m 1 " Size: " /etc/hwinfo.display | \
- sed 's|.*ize:\ ||;s|\ mm||;s|x|\ |')"
- modes=$(grep -i "Resolution: .*@" /etc/hwinfo.display | \
- awk '{print $2}'| sort -unr| awk -F '@' '{print "\"" $1 "\""}'|\
- tr "\n" " ")
- [ -n "$vert" -a -n "$horz" ] && \
- sed -e "s|# Horizsync.*| Horizsync $horz|;\
- s|# Vertrefre.*| Vertrefresh $vert|;\
- s|# Modelname.*| Modelname \"$modl\"|" -i ${xfc}
- [ -n "$size" ] && \
- sed -e "s|# DisplaySi.*| DisplaySize $size|" -i ${xfc}
- [ -n "$modes" ] && \
- sed -e "s|# SubSection.*| SubSection \"Display\"|;\
- s|# Depth 24.*| Depth 24|;\
- s|# Modes.*| Modes $modes|;\
- s|# EndSubSection.*| EndSubSection|;" -i ${xfc}
-
- fi
-
- [ $DEBUGLEVEL -gt 0 ] && echo "done with 'xserver' os-plugin ..."
-
- fi
-elif [ ! -e /initramfs/plugin-conf/xserver.conf ]; then
- [ $DEBUGLEVEL -gt 2 ] && \
- echo "No configuration file found for xserver plugin."
-fi
diff --git a/os-plugins/plugins/xserver/files/README b/os-plugins/plugins/xserver/files/README
deleted file mode 100644
index c13d9570..00000000
--- a/os-plugins/plugins/xserver/files/README
+++ /dev/null
@@ -1,77 +0,0 @@
-Some development notes
-======================
-
-
-Infos about ati-packages:
-Most are identical, even when 64bit packages have a different name
-Only a couple of cards have its own special package. We need to
-investigate, if they are different or one package works for all.
-
-It seems - only for the FireMV 2200 PCI graphics card, they offer an older
-version (8.25) of the unified fglrx-driver. For the FirMV PCIE-Card they
-offer a more recent Version (8.5).
-By the time of writing the drivers were at version 8.7
-
-From the ATI-FAQ:
-
-Q2: Which ATI graphics cards can use this driver?
-A2: The ATI Proprietary Linux driver currently supports Radeon 8500 and
-later AGP or PCI Express graphics products, as well as ATI FireGL 8700
-and later products. We do not currently plan to include support for any
-products earlier than this.
-
-Support for earlier graphics card can be achieved by "radeon" or "ati" drivers!
-
-===============================================================================
-
-Infos about nvidia packages:
-they seem to differ much more as ati if you search directly for a
-specific graphic card. But if you take a look on
-http://www.nvidia.com/object/unix.html there seem to be just 3 different
-ersions - all for different architectures (ia32, ia64, amd64)
-
-
-
-Supported graphics cards can be read from the nvidia-documentation
-
-For the 173.14.12-NVIDIA-Driver go to
-http://www.nvidia.com/object/linux_display_ia32_173.14.12.html
-and click on "Supported Products List" on the right side
-
-(below each unified driver a line to symbolize the evolution of
- drivers - correct me if I'm wrong)
-
-173.14.12 driver: GeForce FX 5100 & all newer supported
- |---------------------------------->
- 71.86.06 driver: Riva TNT - GeForce 6800 Ultra
-|---------------|
- 96.43.07 driver: some GeForce3 - GeForce 7900 ??
- |---------------|
-
-The Question is, wether we need to support older graphics cards.
-Probably we don't need to bother because the user can download right
-driver package for his needs - almost the same interfaces for the installer...
-
-
-
-===============================================================================
-Taken from the readme on
-http://us.download.nvidia.com/XFree86/Linux-x86/96.43.07/README/README.txt
-
-since 96.43.07 no longer supported in the unified driver:
-
- NVIDIA chip name Device PCI ID
- ---------------------------------- ----------------------------------
- RIVA TNT 0x0020
- RIVA TNT2/TNT2 Pro 0x0028
- RIVA TNT2 Ultra 0x0029
- Vanta/Vanta LT 0x002C
- RIVA TNT2 Model 64/Model 64 Pro 0x002D
- Aladdin TNT2 0x00A0
- GeForce 256 0x0100
- GeForce DDR 0x0101
- Quadro 0x0103
- GeForce2 GTS/GeForce2 Pro 0x0150
- GeForce2 Ti 0x0151
- GeForce2 Ultra 0x0152
- Quadro2 Pro 0x0153
diff --git a/os-plugins/plugins/xserver/files/ati-install.sh b/os-plugins/plugins/xserver/files/ati-install.sh
deleted file mode 100755
index 662b96bf..00000000
--- a/os-plugins/plugins/xserver/files/ati-install.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-cd /opt/openslx/plugin-repo/xserver
-
-DISTRO=$1
-case $DISTRO in
-
- ubuntu-9.10*)
- ./ubuntu-ng-gfx-install.sh ati ${DISTRO}
- ;;
- ubuntu-9.04*)
- ./ubuntu-ng-gfx-install.sh ati ${DISTRO}
- ;;
- ubuntu-8.10*)
- ./ubuntu-ng-gfx-install.sh ati ${DISTRO}
- ;;
- ubuntu-*)
- ./ubuntu-gfx-install.sh ati ${DISTRO}
- ;;
-
- suse-*)
- ./suse-gfx-install.sh ati ${DISTRO}
- ;;
-esac
diff --git a/os-plugins/plugins/xserver/files/nvidia-install.sh b/os-plugins/plugins/xserver/files/nvidia-install.sh
deleted file mode 100755
index aa2b2269..00000000
--- a/os-plugins/plugins/xserver/files/nvidia-install.sh
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/bin/bash
-
-##########################################################
-# Installs NVIDIA binary drivers into openslx plugin-repo
-##########################################################
-PLUGIN_PATH="/opt/openslx/plugin-repo/xserver"
-
-# we could easily pass this information via calling stage1 script and do not
-# need to find it our here ...
-DISTRO=$1
-
-
-# for development we take the only kernel version from normal systems
-if [ -L /boot/vmlinuz ]; then
- KVERS=$(ls -l /boot/vmlinuz | awk -F "->" '{print $2}'| grep -P -o "2.6.*")
-else
- KVERS=$(ls /boot/vmlinuz-* | head -n1 | awk -F "->" '{print $2}' | grep -P -o "2.6.*" )
-fi
-
-
-#change to plugin path
-cd ${PLUGIN_PATH}
-
-case ${DISTRO} in
- ubuntu-9.10*)
- ./ubuntu-ng-gfx-install.sh nvidia ${DISTRO}
- ;;
- ubuntu-9.04*)
- ./ubuntu-ng-gfx-install.sh nvidia ${DISTRO}
- ;;
- ubuntu-8.10*)
- ./ubuntu-ng-gfx-install.sh nvidia ${DISTRO}
- ;;
- ubuntu*)
- ./ubuntu-gfx-install.sh nvidia ${DISTRO}
- ;;
- suse-1*)
- ./suse-gfx-install.sh nvidia ${DISTRO}
- ;;
- # general purpose nvidia installer script
- *)
- echo "* Running general NVidia installer (expected in xserver::pkgpath)"
- # unpack the nvidia installer; quickhack - expects just one package
- echo " * Unpacking installer"
- sh packages/NVIDIA-Linux-*.run -a -x >>nvidia-inst.log 2>&1
- # prefix and paths should be matched more closely to each distro
- # just demo at the moment ... but working at the moment
- # without the kernel module
- stdprfx=/opt/openslx/plugin-repo/xserver/nvidia
-
- # backing up libglx.so and libGLcore.so
- BACKUP_PATH=${stdprfx}/../mesa/usr/lib/xorg/modules/extensions
- mkdir -p ${BACKUP_PATH}
- if [ -f /usr/lib/xorg/modules/extensions/libglx.so ]; then
- cp /usr/lib/xorg/modules/extensions/libGLcore.so ${BACKUP_PATH}
- cp /usr/lib/xorg/modules/extensions/libglx.so ${BACKUP_PATH}
- elif [ -f /usr/X11R6/lib/xorg/modules/extensions/libglx.so ]; then
- cp /usr/X11R6/lib/xorg/modules/extensions/libglx.so ${BACKUP_PATH}
- cp /usr/X11R6/lib/xorg/modules/extensions/libGLcore.so ${BACKUP_PATH}
- touch ${BACKUP_PATH}/X11R6
- fi
- if [ -f /usr/lib/libGL.so.1.2 ]; then
- cp /usr/lib/libGL.so.1.2 ${BACKUP_PATH}/../../..
- elif [ -f /usr/X11R6/lib/libGL.so.1.2 ]; then
- cp /usr/X11R6/lib/libGL.so.1.2 ${BACKUP_PATH}/../../..
- touch ${BACKUP_PATH}/../../../X11R6
- fi
-
-
- # run the lib installer
- echo " * Starting the library installer"
- echo "Starting the lib installer" >>nvidia-inst.log
- $(ls -d NVIDIA-Linux-*)/nvidia-installer -s -q -N --no-abi-note \
- --x-prefix=${stdprfx}/usr --x-library-path=${stdprfx}/usr/lib \
- --x-module-path=${stdprfx}/usr/lib/xorg/modules \
- --opengl-prefix=${stdprfx}/usr --utility-prefix=${stdprfx}/usr \
- --documentation-prefix=${stdprfx}/usr --no-runlevel-check \
- --no-rpms --no-x-check --no-kernel-module \
- --log-file-name=nvidia-lib.log >>nvidia-inst.log 2>&1
- # how to get an idea of the installed kernel?
- # run the kernel module creator (should be done for every kernel!?)
- kernel=${KVERS}
- echo " * Trying to compile a kernel module for $kernel"
- echo "Starting the kernel $kernel installer" >>nvidia-inst.log
- # we need the .config file in /usr/src/linux or where ever!
- # we need scripts/genksyms/genksyms compiled via make scripts in /usr/src/linux
- # option available in newer nvidia packages
- cd /usr/src/linux-${kernel%-*}
- # in suse we have the config file lying there
- cp /boot/config-${kernel} .config
- ARCH=$(cat .config| grep -o CONFIG_M.86=y |tail -n1|grep -o "[0-9]86")
- SUFFIX=${kernel##*-}
- #cp -r /usr/src/linux-${kernel%-*}-obj/i${ARCH}/${SUFFIX}/ \
- # /usr/src/linux-${kernel%-*}
- make oldconfig >/dev/null 2>&1
- make prepare >/dev/null 2>&1
- cd - >/dev/null 2>&1
- #/usr/src/linux-${kernel%-*}
- addopts="--no-cc-version-check"
- $(ls -d NVIDIA-Linux-*)/nvidia-installer -s -q -N -K --no-abi-note \
- --kernel-source-path=/usr/src/linux-${kernel%-*} \
- --kernel-include-path=/usr/src/linux-${kernel%-*}-obj/i${ARCH}/${SUFFIX}/include \
- -k ${kernel} \
- --kernel-install-path=/opt/openslx/plugin-repo/xserver/nvidia/modules \
- --no-runlevel-check --no-abi-note --no-rpms ${addopts} \
- --log-file-name=nvidia-kernel.log >>nvidia-inst.log 2>&1
- if [ $? -gt 0 ];then
- echo "* kernel module built failed!"
- fi
- echo " * Have a look into the several *.log files in "
- echo " stage1/${DISTRO}/plugin-repo/xserver"
-
-
- # redo some unwanted changes of nvidia-installer
- if [ -f ${BACKUP_PATH}/libglx.so ]; then
- cp ${BACKUP_PATH}/libGLcore.so /usr/lib/xorg/modules/extensions
- cp ${BACKUP_PATH}/libglx.so /usr/lib/xorg/modules/extensions
- if [ -f ${BACKUP_PATH}/X11R6 ]; then
- cp ${BACKUP_PATH}/libGLcore.so /usr/X11R6/lib/xorg/modules/extensions
- cp ${BACKUP_PATH}/libglx.so /usr/X11R6/lib/xorg/modules/extensions
- fi
- fi
- if [ -f ${BACKUP_PATH}/../../../libGL.so.1.2 ]; then
- cp ${BACKUP_PATH}/../../../libGL.so.1.2 /usr/lib
- ln -sf /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
- ln -sf /usr/lib/libGL.so.1.2 /usr/lib/libGL.so
- elif [ -f ${BACKUP_PATH}/../../../X11R6 ]; then
- cp ${BACKUP_PATH}/../../../libGL.so.1.2 /usr/X11R6/lib/
- ln -sf /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
- ln -sf /usr/lib/libGL.so.1.2 /usr/lib/libGL.so
- fi
-
-
- ;;
-esac
-
-# set a proper return value to evaluate it in the calling script
-exit 0
diff --git a/os-plugins/plugins/xserver/files/suse-gfx-install.sh b/os-plugins/plugins/xserver/files/suse-gfx-install.sh
deleted file mode 100755
index ac6713fb..00000000
--- a/os-plugins/plugins/xserver/files/suse-gfx-install.sh
+++ /dev/null
@@ -1,330 +0,0 @@
-#!/bin/bash
-
-#
-# supported:
-# nvidia:
-# * 10.2 (pkg-installer)
-# * 11.0 (zypper rpm packages)
-# * 11.1 (zypper rpm packages)
-#
-# ati:
-# * 10.2 (pkg-installer)
-# * 11.0 (zypper rpm packages)
-# * 11.1 (zypper rpm packages)
-#
-
-# not right any more - removed from script
-# is there any busybox in this environment
-#BUSYBOX="/mnt/opt/openslx//busybox/busybox"
-
-BASE=/opt/openslx/plugin-repo/xserver
-DISTRO=$2
-cd ${BASE}
-
-if [ -L /boot/vmlinuz ]; then
- KSUFFIX=$(ls -l /boot/vmlinuz | grep -P -o -e "-[a-z]*$" )
- KVERS=$(ls -l /boot/vmlinuz | awk -F "->" '{print $2}'| grep -P -o "2.6.*")
-else
- KSUFFIX=$(ls /boot/vmlinuz-* | head -n1 | grep -P -o -e "-[a-z]*$" )
- KVERS=$(ls /boot/vmlinuz-* | head -n1 | awk -F "->" '{print $2}' | grep -P -o "2.6.*" )
-
-fi
-
-if [ -z "${KSUFFIX}" ]; then
- echo "Could not determine proper local kernel suffix!"
- echo "This is needed to install kernel modules for graphics drivers!"
- exit 1
-fi
-
-
-buildfglrx() {
- # build ATI kernel module
- cd ${BASE}/ati/usr/src/kernel-modules/fglrx
- rm -rf fglrx.ko >/dev/null 2>&1
- make KVER=${1} >/dev/null 2>&1
- if [ "$?" -eq "0" ]; then
- cp fglrx.ko ../../../../modules
- else
- echo -e "Kernel module for kernel ${1} could not be built!"
- fi
- cd - >/dev/null 2>&1
-}
-
-
-##########################################################################
-# NVidia section
-##########################################################################
-if [ "$1" = "nvidia" ]; then
- if [ -e nvidia/usr/lib/libGL.so.1 ]; then
- exit
- fi
- if [ ! -d nvidia ]; then
- mkdir -p nvidia/{modules,usr,temp}
- fi
- cd nvidia/temp
-
- case ${DISTRO} in
- suse-10.2*)
- echo "* Running general NVidia installer (expected in xserver::pkgpath)"
- # unpack the nvidia installer; quickhack - expects just one package
- echo " * Unpacking installer"
- sh ../../packages/NVIDIA-Linux-*.run -a -x >>nvidia-inst.log 2>&1
- # prefix and paths should be matched more closely to each distro
- # just demo at the moment ... but working at the moment
- # without the kernel module
- stdprfx=/opt/openslx/plugin-repo/xserver/nvidia
-
- # backing up libglx.so and libGLcore.so
- bkpprfx=${stdprfx}/../mesa/lib/xorg/modules/extensions
- mkdir -p ${bkpprfx}
- if [ -f /usr/lib/xorg/modules/extensions/libglx.so ]; then
- cp /usr/lib/xorg/modules/extensions/libGLcore.so ${bkpprfx}
- cp /usr/lib/xorg/modules/extensions/libglx.so ${bkpprfx}
- elif [ -f /usr/X11R6/lib/xorg/modules/extensions/libglx.so ]; then
- cp /usr/X11R6/lib/xorg/modules/extensions/libglx.so ${bkpprfx}
- cp /usr/X11R6/lib/xorg/modules/extensions/libGLcore.so ${bkpprfx}
- touch ${bkpprfx}/../../../../X11R6
- fi
- if [ -f /usr/lib/libGL.so.1.2 ]; then
- cp /usr/lib/libGL.so.1.2 ${bkpprfx}/../../..
- elif [ -f /usr/X11R6/lib/libGL.so.1.2 ]; then
- cp /usr/X11R6/lib/libGL.so.1.2 ${bkpprfx}/../../..
- touch ${bkpprfx}/../../../X11R6
- fi
-
-
- # run the lib installer
- echo " * Starting the library installer"
- echo "Starting the lib installer" >>nvidia-inst.log
- $(ls -d NVIDIA-Linux-*)/nvidia-installer -s -q -N --no-abi-note \
- --x-prefix=${stdprfx}/usr --x-library-path=${stdprfx}/usr/lib \
- --x-module-path=${stdprfx}/usr/lib/xorg/modules \
- --opengl-prefix=${stdprfx}/usr --utility-prefix=${stdprfx}/usr \
- --documentation-prefix=${stdprfx}/usr --no-runlevel-check \
- --no-rpms --no-x-check --no-kernel-module \
- --log-file-name=nvidia-lib.log >>nvidia-inst.log 2>&1
- # how to get an idea of the installed kernel?
- # run the kernel module creator (should be done for every kernel!?)
- kernel=${KVERS}
- echo " * Trying to compile a kernel module for $kernel"
- echo "Starting the kernel module installer for $kernel" >>nvidia-inst.log
- # we need the .config file in /usr/src/linux or where ever!
- # we need scripts/genksyms/genksyms compiled via make scripts in /usr/src/linux
- # option available in newer nvidia packages
- cd /usr/src/linux-${kernel%-*}
- # in suse we have the config file lying there
- cp /boot/config-${kernel} .config
- ARCH=$(cat .config| grep -o CONFIG_M.86=y |tail -n1|grep -o "[0-9]86")
- SUFFIX=${kernel##*-}
- cp -r /usr/src/linux-${kernel%-*}-obj/i${ARCH}/${SUFFIX}/ \
- /usr/src/linux-${kernel%-*}
- make scripts >/dev/null 2>&1
- make prepare >/dev/null 2>&1
- cd - >/dev/null 2>&1
- #/usr/src/linux-${kernel%-*}
- addopts="--no-cc-version-check"
- $(ls -d NVIDIA-Linux-*)/nvidia-installer -s -q -N -K --no-abi-note \
- --kernel-source-path=/usr/src/linux-${kernel%-*} \
- -k ${kernel} \
- --kernel-install-path=/opt/openslx/plugin-repo/xserver/nvidia/modules \
- --no-runlevel-check --no-abi-note --no-rpms ${addopts} \
- --log-file-name=nvidia-kernel.log >>nvidia-inst.log 2>&1
- if [ $? -gt 0 ];then
- echo "* kernel module built failed!"
- echo "* Have a look into the several log files in "
- echo " stage1/${DISTRO}/plugin-repo/xserver"
- fi
-
-
- # redo some unwanted changes of nvidia-installer
- if [ -f ${bkpprfx}/libglx.so ]; then
- cp ${bkpprfx}/libGLcore.so /usr/lib/xorg/modules/extensions
- cp ${bkpprfx}/libglx.so /usr/lib/xorg/modules/extensions
- if [ -f ${bkpprfx}/X11R6 ]; then
- cp ${bkpprfx}/libGLcore.so /usr/X11R6/lib/xorg/modules/extensions
- cp ${bkpprfx}/libglx.so /usr/X11R6/lib/xorg/modules/extensions
- fi
- fi
- if [ -f ${bkpprfx}/../../../libGL.so.1.2 ]; then
- cp ${bkpprfx}/../../../libGL.so.1.2 /usr/lib
- ln -sf /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
- ln -sf /usr/lib/libGL.so.1.2 /usr/lib/libGL.so
- fi
- ;;
- suse-11.*)
- echo "* Downloading nvidia rpm packages... this could take some time..."
- # add repository for nvidia drivers
- case ${DISTRO} in
- suse-11.0*)
- REPO=http://download.nvidia.com/opensuse/11.0/
- ;;
- suse-11.1*)
- REPO=http://download.nvidia.com/opensuse/11.1/
- ;;
- esac
- zypper --no-gpg-checks addrepo ${REPO} NVIDIA > /dev/null 2>&1
- # get URLs by virtually installing nvidia-OpenGL driver
- zypper --no-gpg-checks -n -vv install -D \
- nvidia-gfxG01-kmp${KSUFFIX} > logfile 2>&1
-
- # zypper refresh is requested if something is not found
- if [ "1" -le "$(cat logfile | grep -o "zypper refresh"| wc -l)" ]; then
- zypper --no-gpg-checks refresh >/dev/null 2>&1
- fi
-
- # take unique urls from logfile
- URLS=$(cat logfile | grep -P -o "http://.*?rpm " | sort -u | xargs)
- for RPM in $URLS; do
- RNAME=$(echo ${RPM} | sed -e 's,^.*/\(.*\)$,\1,g')
- if [ ! -e ${RNAME} ]; then
- wget ${RPM} > /dev/null 2>&1
- fi
- # We use rpm2cpio from suse to extract
- if [ -f ${RNAME} ]; then
- rpm2cpio ${RNAME} | cpio -id > /dev/null 2>&1
- fi
- done
- if [ -d ./usr/X11R6/lib ]; then
- mv ./usr/X11R6/lib/* ./usr/lib/
- fi
- if [ $(find ./usr/ -name *.so* 2>/dev/null | wc -l ) -eq 0 ]; then
- echo " NVIDIA files failed to install via zypper!!"
- exit
- fi
-
- rm -rf ../usr
- if [ -d ./usr ]; then
- mv ./usr ..
- fi
- find lib/ -name "*.ko" -exec mv '{}' ../modules \; > /dev/null 2>&1
- if [ $? -ne 0 ]; then
- echo " Could not find kernel module nvidia.ko!";
- fi
-
- cd ..
- ;;
- esac
-
- rm -rf temp/
- cd ..
-
-fi
-
-
-############################################################################
-# ATI section
-############################################################################
-if [ "$1" = "ati" ]; then
- if [ -e ati/usr/lib/libGL.so.1.2 ]; then
- exit
- fi
-
- mkdir -p ati/modules ati/temp
-
- case ${DISTRO} in
- suse-10.2*)
- ### SUSE 10.2 section ###
- echo "* Extracting ATI package (expected in xserver::pkgpath) ... this could take some time..."
-
- PKG=`find packages/ -name ati-driver*\.run | tail -n1`
- PKG_VERSION=`head ${PKG} | grep -P -o "[0-9]\.[0-9]{3}"`
-
- chmod +x ${PKG}
-
- ${PKG} --extract ati/temp >/dev/null 2>&1
-
- cd ati/temp/
- RPM=`./ati-installer.sh ${PKG_VERSION} --buildpkg SuSE/SUSE102-IA32 2>&1 | grep Package | awk '{print $2}' | tail -n1`
-
- cd ..
- rpm2cpio ${RPM} 2>/dev/null | cpio -id >/dev/null 2>&1
-
-
- if [ -d ./usr/X11R6/lib ]; then
- mv ./usr/X11R6/lib/* ./usr/lib/
- fi
- if [ -d etc ]; then
- cp -r etc/* /etc/
- fi
-
- # cleanup
- rm -rf ${RPM}
- cd ..
- rm -rf ${PKG}
-
-
- buildfglrx ${KVERS}
-
- ;;
- suse-11.*)
- ### SUSE 11.0 Section ###
-
- echo "* Downloading ati rpm packages... this could take some time..."
- cd ati/temp
-
- # add repository for ATI drivers
- case ${DISTRO} in
- suse-11.0*)
- zypper --no-gpg-checks addrepo http://www2.ati.com/suse/11.0/ ATI > /dev/null 2>&1
- ;;
- suse-11.1*)
- zypper --no-gpg-checks addrepo http://www2.ati.com/suse/11.1/ ATI > /dev/null 2>&1
- ;;
- esac
- # get URLs by virtually installing fglrx-OpenGL driver
- zypper --no-gpg-checks -n -vv install -D ati-fglrxG01-kmp${KSUFFIX} \
- x11-video-fglrxG01 > logfile 2>&1
-
- # zypper refresh is requested if something is not found
- if [ "1" -le "$(cat logfile | grep -o "zypper refresh" | wc -l)" ]; then
- zypper --no-gpg-check refresh >/dev/null 2>&1
- fi
-
- # take unique urls from logfile
- URLS=$(cat logfile | grep -P -o "http://.*?rpm " | grep fglrx | sort -u | xargs)
- for RPM in $URLS; do
- RNAME=$(echo ${RPM} | sed -e 's,^.*/\(.*\)$,\1,g')
- if [ ! -e ${RNAME} ]; then
- wget ${RPM} > /dev/null 2>&1
- fi
- # We use rpm2cpio from suse to extract -> propably new rpm version
- if [ -f ${RNAME} ]; then
- rpm2cpio ${RNAME} | cpio -id > /dev/null 2>&1
- fi
- done
-
- if [ -d ./usr/X11R6/lib ]; then
- mv ./usr/X11R6/lib/* ./usr/lib/ > /dev/null 2>&1
- fi
- if [ $(find ./usr/ -name *.so* 2>/dev/null | wc -l ) -eq 0 ]; then
- echo " ATI files failed to install via zypper!!"
- exit
- fi
-
- mv ./usr ..
- mv ./etc ..
-
- find lib/ -name "*.ko" -exec mv {} ../modules \; >/dev/null 2>&1
- if [ $? -ne 0 ]; then
- echo " Could not find kernel module fglrx.ko!";
- fi
-
- ;;
- esac
- cd ..
-
- # OpenGl implementation (libGL?) expect fglrx_dri.so in /usr/X11R6/lib/dri/
- if [ ! -f /usr/X11R6/lib/modules/dri/fglrx_dri.so -a \
- ! -f usr/X11R6/lib/modules/dri/fglrx_dri.so ]; then
- if [ ! -d /usr/X11R6/lib/modules/dri ]; then
- mkdir -p /usr/X11R6/lib/modules/dri
- fi
- if [ -f usr/lib/dri/fglrx_dri.so ]; then
- ln -s ${BASE}/ati/usr/lib/dri/fglrx_dri.so \
- /usr/X11R6/lib/modules/dri/fglrx_dri.so
- fi
- fi
-
- rm -rf temp/
-fi
-
diff --git a/os-plugins/plugins/xserver/files/ubuntu-gfx-install.sh b/os-plugins/plugins/xserver/files/ubuntu-gfx-install.sh
deleted file mode 100755
index c6ac17c9..00000000
--- a/os-plugins/plugins/xserver/files/ubuntu-gfx-install.sh
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/bin/sh
-
-# gets needed packages for ubuntu nvidia/ati drivers
-# $1 = nvidia | ati
-PLUGIN_FOLDER="/opt/openslx/plugin-repo/xserver"
-TMP_FOLDER="/tmp/slx-plugin/xserver"
-TARGET="$1"
-DISTRO="$2"
-
-if [ ! -d "${PLUGIN_FOLDER}" ]; then
- mkdir -p "${PLUGIN_FOLDER}/modules"
-fi
-
-# change into temp
-cd ${TMP_FOLDER} > /dev/null
-
-if [ -e "/boot/vmlinuz" ]; then
- KVER=$(ls -ahl '/boot/vmlinuz' | sed -e 's,^.*vmlinuz-,,g')
-else
- KVER=$(find /lib/modules/2.6* -maxdepth 0|sed 's,/lib/modules/,,g'|sort|tail -n1)
-fi
-
-
-echo " * downloading restricted modules... this may take a while"
-# TODO: remove commented out "> /dev/null ..." later... multiple times
-# in this script! check all comments!
-aptitude download linux-restricted-modules-${KVER} #> /dev/null 2&>1
-if [ $? -eq 1 ]; then
- echo " * Didn't get restricted modules. Exit now!"
- #TODO: remove sh when development is finished
- sh
- exit
-fi
-MODULE_DEB=$(ls linux-restricted-modules-*.deb | tail -n1)
-dpkg-deb -x ${MODULE_DEB} ${TMP_FOLDER}/modules
-
-case ${TARGET} in
- ati)
- mkdir -p ${PLUGIN_FOLDER}/ati
- mkdir -p ${PLUGIN_FOLDER}/ati/modules
-
- echo " * downloading fglrx xorg package... this may take a while"
- aptitude download xorg-driver-fglrx #> /dev/null 2&>1
- if [ $? -eq 1 ]; then
- echo " * Didn't get package xorg-driver-fglrx! Exit now!"
- #TODO: remove sh when development is finished
- sh
- exit
- fi
- FGLRX_DEB=$(ls xorg-driver-fglrx_*.deb | tail -n1)
- # extract $DEB
- dpkg-deb -x ${FGLRX_DEB} ${PLUGIN_FOLDER}/ati
-
- # assemble module
- cd modules/lib/linux-restricted-modules/${KVER}/
- ld_static -d -r -o ${PLUGIN_FOLDER}/ati/modules/fglrx.ko fglrx/*
-
- if [ -f /usr/lib/dri/fglrx_dri.so ]; then
- mv /usr/lib/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so.slx
- else
- # remove link
- rm -rf /usr/lib/dri/fglrx_dri.so
- fi
- ln -s ${PLUGIN_FOLDER}/ati/usr/lib/dri/fglrx_dri.so \
- /usr/lib/dri/fglrx_dri.so
-
- # Recent ATI drivers expect the driver link in /xyz
- if [ ! -d /usr/X11R6/lib/modules/dri ]; then
- mkdir -p /usr/X11R6/lib/modules/dri
- fi
- ln -s ${PLUGIN_FOLDER}/ati/usr/lib/dri/fglrx_dri.so \
- /usr/X11R6/lib/modules/dri/fglrx_dri.so
-
- # cleanup
- cd ${PLUGIN_FOLDER}/ati
-
- #@Volker: We need /etc-files - there is a database
- # file for the fglrx-driver in stage3 !!!
- #rm -rf ./etc
- #TODO: check for more cleanups when the main part works!
-
- ;;
-
-
- nvidia)
- mkdir -p ${PLUGIN_FOLDER}/nvidia
- mkdir -p ${PLUGIN_FOLDER}/nvidia/modules
-
- echo " * downloading fglrx xorg package... this may take a while"
- aptitude download nvidia-glx-new #> /dev/null 2&>1
- if [ $? -eq 1 ]; then
- echo " * Didn't get package nvidia-glx-new!"
- #TODO: remove sh when development is finished
- sh
- exit
- fi
- #Bastian: what is this? please explain
- #aptitude download nvidia-glx
- NVIDIA_DEB=$(ls nvidia-glx*.deb | tail -n1)
- # extract $DEB
- dpkg-deb -x ${NVIDIA_DEB} ${PLUGIN_FOLDER}/nvidia
-
- # assemble module - we just need the new one here
- # TODO: modules for older graphics hardware can be found here
- cd modules/lib/linux-restricted-modules/${KVER}/
- ld_static -d -r -o ${PLUGIN_FOLDER}/nvidia/modules/nvidia.ko nvidia_new/*
-
- #TODO: if we use this part, we need to copy the check from ati, too!
- #if [ -f /usr/lib/dri/fglrx_dri.so ]; then
- # mv /usr/lib/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so.slx
- #else
- # # remove link
- # rm -rf /usr/lib/dri/fglrx_dri.so
- #fi
- #ln -s ${PLUGIN_FOLDER}/nvidia/nvroot/usr/lib/dri/nvidia_dri.so \
- # /usr/lib/dri/fglrx_dri.so
-
- # cleanup
- cd ${PLUGIN_FOLDER}/nvidia
- rm -rf ./etc
- #TODO: check for more cleanups when the main part works!
- ;;
-esac
-
diff --git a/os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh b/os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh
deleted file mode 100755
index 259f2650..00000000
--- a/os-plugins/plugins/xserver/files/ubuntu-ng-gfx-install.sh
+++ /dev/null
@@ -1,236 +0,0 @@
-#!/bin/sh
-
-# gets needed packages for ubuntu nvidia/ati drivers
-# $1 = nvidia | ati
-PLUGIN_FOLDER="/opt/openslx/plugin-repo/xserver"
-TMP_FOLDER="/tmp/slx-plugin/xserver"
-TARGET="$1"
-
-if [ ! -d "${PLUGIN_FOLDER}" ]; then
- mkdir -p "${PLUGIN_FOLDER}/modules"
-fi
-
-# change into temp
-cd ${TMP_FOLDER} > /dev/null
-
-if [ -e "/boot/vmlinuz" ]; then
- KVER=$(ls -ahl '/boot/vmlinuz' | sed -e 's,^.*vmlinuz-,,g')
-else
- KVER=$(find /lib/modules/2.6* -maxdepth 0|sed 's,/lib/modules/,,g'|sort|tail -n1)
-fi
-
-# TODO: check for build-essential !!
-
-if [ ! -e "/usr/sbin/dkms" ]; then
- echo -n " * DKMS not found: installing .."
- aptitude -y install dkms > /dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package dkms! Exit now!"
- exit 1
- else
- echo "ok"
- fi
-fi
-
-# TODO: find a more clean way for this workaround
-# the current dkms script included in ubuntu is trying to compile
-# kernel modules under the user nobody using "su" which is not
-# working in the installation phase of the plugin.
-
-if [ $(grep -c "getent passwd nobody" /usr/sbin/dkms) -ne 0 ]; then
- echo -n " * Patch DKMS not to run under user nobody .."
- sed -i "s/getent passwd nobody/getent passwd N0/" \
- /usr/sbin/dkms
- echo "ok"
-fi
-
-case ${TARGET} in
- ati)
- mkdir -p ${PLUGIN_FOLDER}/ati/modules
-
- echo -n " * downloading fglrx xorg package... "
- aptitude download xorg-driver-fglrx > /dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package xorg-driver-fglrx! Exit now!"
- exit 1
- else
- echo "ok"
- fi
- FGLRX_DEB=$(ls xorg-driver-fglrx_*.deb | tail -n1)
- # extract $DEB
- dpkg-deb -x ${FGLRX_DEB} ${PLUGIN_FOLDER}/ati
-
- echo -n " * downloading fglrx kernel package... "
- aptitude download fglrx-kernel-source >/dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package fglrx-kernel-source!"
- exit 1
- else
- echo "ok"
- fi
-
- FGLRX_KERNEL_DEB=$(ls fglrx-kernel-source*.deb | tail -n1)
- dpkg-deb -x ${FGLRX_KERNEL_DEB} /
-
- FGLRX_SOURCE_DIR=$(find /usr/src/fglrx-${FGLRX_DRIVER_VERSION}* \
- -maxdepth 0 -type d)
- FGLRX_FULL_VERSION=$(echo ${FGLRX_SOURCE_DIR} | \
- sed -e 's/\/usr\/src\/fglrx-//')
-
- FGLRX_DKMS_DIR="/var/lib/dkms/fglrx/${FGLRX_FULL_VERSION}"
-
- if [ -d /var/lib/dkms/fglrx/${FGLRX_FULL_VERSION} ]; then
- if [ ! -L ${FGLRX_DKMS_DIR}/source ]; then
- ln -sf ${FGLRX_SOURCE_DIR} ${FGLRX_DKMS_DIR}/source
- fi
- else
- echo -n " * Add fglrx kernel module to dkms tree... "
- dkms add -m fglrx -v ${FGLRX_FULL_VERSION} >/dev/null 2>&1
- if [ $? -eq 0 ]; then
- echo "ok"
- else
- echo "fail"
- exit 1
- fi
- fi
-
- ###### build kernel module ######
- echo -n " * Building fglrx kernel module for kernel ${KVER}... "
- dkms -m fglrx -v ${FGLRX_FULL_VERSION} \
- -k ${KVER} \
- --kernelsourcedir /usr/src/linux-headers-${KVER}/ \
- --no-prepare-kernel \
- --no-clean-kernel \
- build \
- > /tmp/dkms.log 2>&1
- if [ $? -eq 0 ]; then
- echo "ok"
- else
- if $(cat /tmp/dkms.log | grep -q "has already"); then
- echo "--- fglrx module already built ---"
- else
- echo "fail"
- echo "------ dkms.log -----"
- cat /tmp/dkms.log
- echo "---------------------"
- rm /tmp/dkms.log
- exit 1
- fi
- fi
-
- FGLRX_MODULE_PATH=$(find ${FGLRX_DKMS_DIR}/${KVER}/ -name fglrx.ko \
- | tail -n1 )
-
- cp ${FGLRX_MODULE_PATH} ${PLUGIN_FOLDER}/ati/modules/fglrx.ko
-
- # cleanup
- if [ -f /usr/lib/dri/fglrx_dri.so ]; then
- mv /usr/lib/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so.slx
- else
- # remove link
- rm -rf /usr/lib/dri/fglrx_dri.so
- fi
- ln -s ${PLUGIN_FOLDER}/ati/usr/lib/dri/fglrx_dri.so \
- /usr/lib/dri/fglrx_dri.so
-
- # cleanup
- rm /tmp/dkms.log
- cd ${PLUGIN_FOLDER}/ati
-
- ;;
-
-
- nvidia)
- mkdir -p ${PLUGIN_FOLDER}/nvidia/modules
-
- NVIDIA_DRIVER_VERSION=173
-
- echo -n " * downloading nvidia xorg package... "
- aptitude download nvidia-glx-${NVIDIA_DRIVER_VERSION} > /dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package nvidia-glx-${NVIDIA_DRIVER_VERSION}!"
- exit 1
- else
- echo "ok"
- fi
-
- echo -n " * downloading nvidia kernel package... "
- aptitude download nvidia-${NVIDIA_DRIVER_VERSION}-kernel-source >/dev/null 2>&1
- if [ $? -eq 1 ]; then
- echo "fail"
- echo " * Didn't get package nvidia-${NVIDIA_DRIVER_VERSION}-kernel-source!"
- exit 1
- else
- echo "ok"
- fi
-
- NVIDIA_DEB=$(ls -1 nvidia-glx*.deb | tail -n1)
- NVIDIA_KERNEL_DEB=$(ls -1 nvidia-${NVIDIA_DRIVER_VERSION}-kernel-source*.deb | tail -n1)
- # extract $DEB
- dpkg-deb -x ${NVIDIA_DEB} ${PLUGIN_FOLDER}/nvidia
- # extract the sources deb to root
- dpkg-deb -x ${NVIDIA_KERNEL_DEB} /
-
- NVIDIA_SOURCE_DIR=$(find /usr/src/nvidia-${NVIDIA_DRIVER_VERSION}* \
- -maxdepth 0 -type d)
- NVIDIA_FULL_VERSION=$(echo ${NVIDIA_SOURCE_DIR} | \
- sed -e 's/\/usr\/src\/nvidia-//')
-
- NVIDIA_DKMS_DIR="/var/lib/dkms/nvidia/${NVIDIA_FULL_VERSION}"
-
- if [ -d /var/lib/dkms/nvidia/${NVIDIA_FULL_VERSION} ]; then
- if [ ! -L ${NVIDIA_DKMS_DIR}/source ]; then
- ln -sf ${NVIDIA_SOURCE_DIR} ${NVIDIA_DKMS_DIR}/source
- fi
- else
- echo -n " * Add nvidia kernel module to dkms tree... "
- dkms add -m nvidia -v ${NVIDIA_FULL_VERSION} >/dev/null 2>&1
- if [ $? -eq 0 ]; then
- echo "ok"
- else
- echo "fail"
- exit 1
- fi
- fi
-
- ###### build kernel module ######
- echo -n " * Building nvidia kernel module for kernel ${KVER}... "
- dkms -m nvidia -v ${NVIDIA_FULL_VERSION} \
- -k ${KVER} \
- --kernelsourcedir /usr/src/linux-headers-${KVER}/ \
- --no-prepare-kernel \
- --no-clean-kernel \
- build \
- > /tmp/dkms.log 2>&1
- if [ $? -eq 0 ]; then
- echo "ok"
- else
- if $(cat /tmp/dkms.log | grep -q "has already"); then
- echo "--- nvidia module already built ---"
- else
- echo "fail"
- echo "------ dkms.log -----"
- cat /tmp/dkms.log
- echo "---------------------"
- rm /tmp/dkms.log
- exit 1
- fi
- fi
-
- NVIDIA_MODULE_PATH=$(find ${NVIDIA_DKMS_DIR}/${KVER}/ -name \
- nvidia.ko | tail -n 1)
-
- cp ${NVIDIA_MODULE_PATH} ${PLUGIN_FOLDER}/nvidia/modules/nvidia.ko
-
- # cleanup
- rm /tmp/dkms.log
- cd ${PLUGIN_FOLDER}/nvidia
- rm -rf ./etc
- #TODO: check for more cleanups when the main part works!
- ;;
-esac
-
diff --git a/os-plugins/plugins/xserver/init-hooks/00-started/xserver.sh b/os-plugins/plugins/xserver/init-hooks/00-started/xserver.sh
deleted file mode 100644
index 0b08ec13..00000000
--- a/os-plugins/plugins/xserver/init-hooks/00-started/xserver.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2008 - RZ Uni Freiburg
-# Copyright (c) 2008..2010 - OpenSLX GmbH
-#
-# This program/file is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your feedback to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org
-#
-# stage3 part of 'xserver' plugin - the runlevel script setting up the Xorg
-# configuration and checking for 3D capabilities and non-gpl drivers
-#
-# script is included from init via the "." load function - thus it has all
-# variables and functions available
-
-# get an idea of the installed graphics hardware - might be needed if the
-# automatic Xorg configation fails in this field. If no useable info was
-# detected just delete the file.
-
-# tablet detection function
-tabletdetect () {
- sleep 1; waitfor /etc/hwinfo.bios 20000
- # quickhack for IBM X61/ACER tablet detection (some kind of positive list
- # or external admin configurable file needed)
- if grep -qiE "tablet|TravelMate C200" /etc/hwinfo.bios ; then
- echo 'wacomdev="ttyS0"' >/etc/tablet.conf
- fi
- # wacom device attached to usb - code to be tested
- if [ ! -e /etc/tablet.conf ]; then
- if hwinfo --usb | grep -qiE "wacom|tablet" ; then
- echo 'wacomdev="input/wacom"' >/etc/tablet.conf
- fi
- fi
-}
-
-# hardware detection not really needed for Xorg => 1.7 used in newer versions
-# distro distinguishing here not 100% conform to the OpenSLX ideas. Hardware
-# detection might be needed for proprietary Xorg drivers ...
-# (clean up expected with rewritten stage3)
-case ${slxconf_distro_ver} in
- "10.04"|"11.3")
- ;;
- *)
- # hwinfo --gfxcard moved to general hardware detection as needed for two
- # different plugins (bootsplash, xserver)
- #( hwinfo --gfxcard >/etc/hwinfo.gfxcard ) &
- ( hwinfo --monitor >/etc/hwinfo.display; grep "Generic Monitor" \
- /etc/hwinfo.display >/dev/null 2>&1 && rm /etc/hwinfo.display ) &
- ;;
-esac
-( tabletdetect ) &
diff --git a/os-plugins/slxos-plugin b/os-plugins/slxos-plugin
deleted file mode 100755
index ccd3d389..00000000
--- a/os-plugins/slxos-plugin
+++ /dev/null
@@ -1,525 +0,0 @@
-#! /usr/bin/perl
-# -----------------------------------------------------------------------------
-# Copyright (c) 2007 - OpenSLX GmbH
-#
-# This program is free software distributed under the GPL version 2.
-# See http://openslx.org/COPYING
-#
-# If you have any feedback please consult http://openslx.org/feedback and
-# send your suggestions, praise, or complaints to feedback@openslx.org
-#
-# General information about OpenSLX can be found at http://openslx.org/
-# -----------------------------------------------------------------------------
-use strict;
-use warnings;
-
-my $abstract = q[
-slxos-plugin
- OpenSLX-script to install/remove plugin modules into/from a vendor-OS.
-];
-
-# add the folder this script lives in and the lib-folder to perl's
-# search path for modules:
-use FindBin;
-use lib "$FindBin::RealBin";
-use lib "$FindBin::RealBin/../lib";
-
-use lib "$FindBin::RealBin/../config-db";
-# development path to config-db
-
-use Getopt::Long qw(:config pass_through);
-use Pod::Usage;
-
-use OpenSLX::Basics;
-use OpenSLX::OSPlugin::Engine;
-use OpenSLX::Utils;
-
-my %option;
-
-GetOptions(
- 'help|?' => \$option{helpReq},
- 'man' => \$option{manReq},
- 'verbose' => \$option{verbose},
- 'version' => \$option{versionReq},
-)
- or pod2usage(2);
-pod2usage(-msg => $abstract, -verbose => 0, -exitval => 1) if $option{helpReq};
-if ($option{manReq}) {
- # avoid dubious problem with perldoc in combination with UTF-8 that
- # leads to strange dashes and single-quotes being used
- $ENV{LC_ALL} = 'POSIX';
- pod2usage(-verbose => 2);
-}
-if ($option{versionReq}) {
- system('slxversion');
- exit 1;
-}
-
-openslxInit();
-
-my $action = shift @ARGV || '';
-
-if ($action =~ m[^list-at]i) {
- my $plugin = shift @ARGV;
- print
- $plugin
- ? _tr("List of attributes supported by '%s' plugin:\n", $plugin)
- : _tr("List of plugin attributes:\n");
- my $attrs = {};
- require OpenSLX::OSPlugin::Roster;
- OpenSLX::OSPlugin::Roster->addAllAttributesToHash($attrs, $plugin);
- print join(
- '',
- map {
- my $attr = $attrs->{$_};
- my $stage
- = $attr->{applies_to_vendor_os} ? '[stage 1]' : '[stage 3]';
-
- if ($option{verbose}) {
- my $output;
- my $fill = ' ' x 28;
- for my $key (qw( description content_descr )) {
- $output .= "\n\t $key:" . ( ' ' x (15 - length($key)) );
- chomp(my $value = $attr->{$key} || '');
- $value =~ s{\n}{\n$fill}igms;
- $output .= $value;
- }
- "\n\t$stage: $_$output\n";
- }
- else {
- "\t$stage: $_\n";
- }
- }
- sort {
- my $stageDiff
- = ($attrs->{$b}->{applies_to_vendor_os} || '')
- cmp ($attrs->{$a}->{applies_to_vendor_os} || '');
- return $stageDiff ? $stageDiff : $a cmp $b;
- }
- keys %$attrs
- );
-} elsif ($action =~ m[^list-av]i) {
- print _tr("List of available plugins:\n");
- require OpenSLX::OSPlugin::Roster;
- my $pluginInfo = OpenSLX::OSPlugin::Roster->getAvailablePlugins();
- print join(
- '',
- map {
- if ($option{verbose}) {
- my $fill = ' ' x 12;
- chomp(my $descr = $pluginInfo->{$_}->{description} || '');
- $descr =~ s{\n}{\n$fill}igms;
- my $pluginStr = "$_";
- my $required = $pluginInfo->{$_}->{required} || [];
- if (@$required) {
- $pluginStr
- .= _tr(' (requires: %s)', join(',', @$required));
- }
- "\n\t$pluginStr\n\t $descr\n";
- }
- else {
- "\t$_\n";
- }
- }
- sort keys %$pluginInfo
- );
-} elsif ($action =~ m[^list-i]i) {
- if (scalar(@ARGV) != 1) {
- print STDERR _tr(
- "You need to specify exactly one vendor-OS!\n"
- );
- pod2usage(2);
- }
- my $vendorOSName = shift @ARGV;
-
- # for convenience, we alias default to <<<default>>>
- $vendorOSName = '<<<default>>>' if $vendorOSName eq 'default';
-
- # we chdir into the script's folder such that all relative paths have
- # a known starting point:
- chdir($FindBin::RealBin)
- or die _tr("can't chdir to script-path <%> (%s)", $FindBin::RealBin, $!);
-
- # create OSPlugin-engine for given vendor-OS and ask it for the installed
- # plugins:
- my $engine = OpenSLX::OSPlugin::Engine->new;
- $engine->initialize(undef, $vendorOSName);
- my @installedPlugins = $engine->getInstalledPlugins();
-
- if (!@installedPlugins) {
- push @installedPlugins, { plugin_name => '<none>' };
- }
- print _tr("List of plugins installed in vendor-OS '$vendorOSName':\n");
- print join(
- '',
- map {
- if ($option{verbose}) {
- my $attributes
- = _tr("The following attributes were applied:")
- . "\n\t ";
- my $attrs = $_->{attrs};
- my $attrInfo = {};
- OpenSLX::OSPlugin::Roster->addAllStage1AttributesToHash(
- $attrInfo, $_->{plugin_name}
- );
- $attributes .= join(
- "\n\t ",
- map {
- my $stage
- = $attrInfo->{$_}->{applies_to_vendor_os}
- ? '[stage 1]'
- : '[stage 3]';
- "$stage $_="
- . (defined $attrs->{$_} ? $attrs->{$_} : '-')
- }
- sort {
- (($attrInfo->{$b}->{applies_to_vendor_os} || '')
- cmp ($attrInfo->{$a}->{applies_to_vendor_os} || ''))
- || ($a cmp $b);
- }
- keys %$attrs
- );
- "\n\t$_->{plugin_name}\n\t $attributes\n";
- }
- else {
- "\t$_->{plugin_name}\n";
- }
- }
- sort @installedPlugins
- );
-} elsif ($action =~ m[^install]i) {
- if (scalar(@ARGV) < 2) {
- print STDERR _tr(
- "You need to specify a vendor-OS and at least one plugin-name!\n"
- );
- pod2usage(2);
- }
- my $vendorOSName = shift @ARGV;
- my $pluginAttrs = parsePluginAttrs(1);
-
- # for convenience, we alias default to <<<default>>>
- $vendorOSName = '<<<default>>>' if $vendorOSName eq 'default';
-
- # we chdir into the script's folder such that all relative paths have
- # a known starting point:
- chdir($FindBin::RealBin)
- or die _tr("can't chdir to script-path <%> (%s)", $FindBin::RealBin, $!);
-
- for my $pluginName (keys %$pluginAttrs) {
- # create & start OSPlugin-engine for vendor-OS and current plugin:
- my $engine = OpenSLX::OSPlugin::Engine->new;
- $engine->initialize(
- $pluginName, $vendorOSName, $pluginAttrs->{$pluginName}
- );
- if (!-e $engine->{'plugin-path'}) {
- die _tr("plugin '%s' doesn't exist, giving up!\n",
- $engine->{'plugin-path'});
- }
- if ($vendorOSName ne '<<<default>>>'
- && !-e $engine->{'vendor-os-path'}) {
- die _tr(
- "vendor-OS '%s' doesn't exist, giving up!\n",
- $engine->{'vendor-os-path'}
- );
- }
- if ($engine->installPlugin()) {
- print _tr(
- "Plugin $pluginName has been installed into vendor-OS '$vendorOSName'.\n"
- );
- }
- }
-} elsif ($action =~ m[^remove]i) {
- if (scalar(@ARGV) < 2) {
- print STDERR _tr(
- "You need to specify a vendor-OS and at least one plugin-name!\n"
- );
- pod2usage(2);
- }
- my $vendorOSName = shift @ARGV;
-
- # for convenience, we alias default to <<<default>>>
- $vendorOSName = '<<<default>>>' if $vendorOSName eq 'default';
-
- my $pluginAttrs = parsePluginAttrs(0);
-
- # we chdir into the script's folder such that all relative paths have
- # a known starting point:
- chdir($FindBin::RealBin)
- or die _tr("can't chdir to script-path <%> (%s)", $FindBin::RealBin, $!);
-
- for my $pluginName (keys %$pluginAttrs) {
- # create & start OSPlugin-engine for vendor-OS and current plugin:
- my $engine = OpenSLX::OSPlugin::Engine->new;
- $engine->initialize(
- $pluginName, $vendorOSName, $pluginAttrs->{$pluginName}
- );
- if (!-e $engine->{'plugin-path'}) {
- die _tr("plugin '%s' doesn't exist, giving up!\n",
- $engine->{'plugin-path'});
- }
- if ($vendorOSName ne '<<<default>>>' && !-e $engine->{'vendor-os-path'}) {
- die _tr("vendor-OS '%s' doesn't exist, giving up!\n",
- $engine->{'vendor-os-path'});
- }
- if ($engine->removePlugin()) {
- print _tr(
- "Plugin $pluginName has been removed from vendor-OS '$vendorOSName'.\n"
- );
- }
- }
-} else {
- vlog(0, _tr(unshiftHereDoc(<<' END-OF-HERE'), $0));
- You need to specify exactly one action:
- install <vendor-OS-name> <plugin-name> [<plugin-attr>=<value> ...]
- list-attributes [<plugin-name>]
- list-available
- list-installed <vendor-OS-name>
- remove <vendor-OS-name> <plugin-name>
- Try '%s --help' for more info.
- END-OF-HERE
-}
-
-sub parsePluginAttrs
-{
- my $acceptAttributes = shift;
-
- my (%pluginAttrs, $pluginName, @attrSpecs);
- for my $arg (@ARGV) {
- if ($arg =~ m{^(.+?)=(.*)$}) {
- next if !$acceptAttributes;
- my $attr = $1;
- my $value = $2;
- if ($value =~ m{^(-|undef)$}) {
- $value = undef;
- }
- if ($attr =~ m{^(.+)::}) {
- $pluginName = $1;
- }
- else {
- if (!defined $pluginName) {
- die _tr('You have to give a plugin-name before you can specify unscoped attributes!');
- }
- $attr = $pluginName . '::' . $attr;
- }
- $pluginAttrs{$pluginName}->{$attr} = $value;
- }
- else {
- $pluginName = $arg;
- $pluginAttrs{$pluginName} = {};
- }
- }
- return \%pluginAttrs;
-}
-
-=head1 NAME
-
-slxos-plugin - OpenSLX-script to install/remove an OS-plugin into/from an
-installed vendor-OS.
-
-=head1 SYNOPSIS
-
-slxos-plugin [options] <action>
-
-=head3 Options
-
- --help brief help message
- --log-level=<int> level of logging verbosity (0-3)
- --man show full documentation
- --verbose show more information during execution
- --version show version
-
-=head3 Actions
-
-=over 8
-
-=item B<< install <vendor-OS-name> <plugin-name> [<attr-name>=<value> ...] [<plugin-name>] ... >>
-
-Installs the OS-plugin(s) with the given name(s) into the specified
-vendor-OS, using any attribute values as specified.
-
-In order to spare you RSI, you can leave out the plugin scope, each attribute
-will be searched in the plugin that precedes it (see examples in the manual).
-
-=item B<< list-attributes [<plugin-name>] >>
-
-List all attributes supported by the different OS-plugins. If you specify a
-plugin name, only the attributes of that plugin will be listed.
-
-In verbose mode, more details about the individual attributes are shown.
-
-=item B<< list-available >>
-
-List all available OS-plugins.
-
-In verbose mode a short description of each plugin will be shown, too.
-
-=item B<< list-installed <vendor-os-name> >>
-
-List all the plugins installed into the specified vendor-OS.
-
-In verbose mode all applied attributes are shown, too.
-
-=item B<< remove <vendor-OS-name> <plugin-name> [<plugin-name>] ... >>
-
-Removes the OS-plugin(s) with the given name(s) from the specified vendor-OS.
-
-If you pass in any attributes, they will be ignored.
-
-=back
-
-=head1 DESCRIPTION
-
-B<slxos-plugin> installs or removes specific functionality extensions into/from
-an installed vendor-OS. That extension can be something rather simple (like
-a boot-splash) or something rather complicated (e.g. the automatic detection,
-installation and activation of the graphics driver most appropriate for the
-booting client).
-
-Installation of any plugin will result in some files being added to the
-vendor-OS (they will live in /opt/openslx/plugins/<plugin-name>/). These files
-can be accessed by the booting client.in order to integrate the required
-functionality into the system.
-
-=head1 OPTIONS
-
-=over 4
-
-=item B<--help>
-
-Prints a brief help message and exits.
-
-=item B<--man>
-
-Prints the manual page and exits.
-
-=item B<--verbose>
-
-Prints more information during execution of any action.
-
-=item B<--version>
-
-Prints the version and exits.
-
-=back
-
-=head1 EXAMPLES
-
-=over 8
-
-=head3 Installing a Plugin
-
-=item B<< slxos-plugin install suse-10.2 example >>
-
-Installs the plugin named 'example' into the installed vendor-OS 'suse-10.2'.
-
-=item B<< slxos-plugin install suse-10.2 desktop gdm=1 kde=1 >>
-
-Installs the desktop plugin into suse-10.2 and specifies two attributes. These
-attributes will be stored into the vendor-OS and pulled from there by the
-config-demuxer whenever it demuxes a system based on the suse-10.2 vendor-OS.
-
-=item B<< slxos-plugin install suse-10.2 desktop desktop::gdm=1 desktop::kde=1 >>
-
-Same as above, only this time with completely scoped attributes.
-
-=item B<< slxos-plugin install suse-10.2 desktop gdm=1 vmware binary=1 >>
-
-Installs two plugins (desktop and vmware) into suse-10.2. The attribute gdm=1
-will be set for desktop, while binary=1 will be set for vmware.
-
-=item B<< slxos-plugin install suse-10.2 desktop vmware binary=1 desktop::gdm=1 >>
-
-Same as above, only this time with a fully scoped attribute gdm=1, that will
-be set for the desktop plugin.
-
-=item B<< slxos-plugin install suse-10.2 desktop vmware binary=1 gdm=1 >>
-
-Bogus example, which will install desktop and vmware, but try to set bianry=1
-and gdm=1 for the vmware plugin. This will fail, as vmware does not support
-an attribute named gdm.
-
-=back
-
-=head3 Removing a Plugin
-
-=over 8
-
-=item B<< slxos-plugin remove suse-10.2 example >>
-
-Removes the plugin named 'example' from the installed vendor-OS 'suse-10.2'.
-
-=item B<< slxos-plugin remove suse-10.2 desktop vmware example >>
-
-Removes the three plugins desktop, vmware and example from suse-10.2.
-
-=back
-
-=head3 Listing Available Plugins
-
-=over 8
-
-=item B<< slxos-plugin list-available >>
-
-Gives a short list of all available plugins and their description.
-
-=item B<< slxos-plugin --verbose list-available >>
-
-Gives a detailed list of all available plugins and their description, including
-the names of all attributes supported by the respective plugin.
-
-=back
-
-=head3 Listing Attributes Supported by Plugins
-
-=over 8
-
-=item B<< slxos-plugin list-attributes >>
-
-Gives a short list of all supported attributes, sorted by stage and name.
-
-=item B<< slxos-plugin --verbose list-available desktop >>
-
-Gives a detailed list of the attributes supported by the 'desktop' plugin,
-including a description of the purpose and possible content values of each
-attribute.
-
-=back
-
-=head3 Listing Installed Plugins
-
-=over 8
-
-=item B<< slxos-plugin list-installed suse-10.2 >>
-
-Gives a short list of the plugins that were installed into suse-10.2.
-
-=item B<< slxos-plugin --verbose list-installed suse-10.2 >>
-
-Gives a detailed list of the plugins that were installed into suse-10.2,
-including a list of all.attributes and their respective values.
-
-=back
-=head1 SEE ALSO
-
-slxsettings, slxos-setup, slxconfig, slxconfig-demuxer
-
-=head1 GENERAL OPENSLX OPTIONS
-
-Being a part of OpenSLX, this script supports several other options
-which can be used to overrule the OpenSLX settings:
-
- --db-name=<string> name of database
- --db-spec=<string> full DBI-specification of database
- --db-type=<string> type of database to connect to
- --locale=<string> locale to use for translations
- --log-level=<int> level of logging verbosity (0-3)
- --logfile=<string> file to write logging output to
- --private-path=<string> path to private data
- --public-path=<string> path to public (client-accesible) data
- --temp-path=<string> path to temporary data
-
-Please refer to the C<slxsettings>-manpage for a more detailed description
-of these options.
-
-=cut
-