Merge branch 'org.openembedded.dreambox' of git://git.openembedded.net/openembedded...
[vuplus_openembedded] / packages / images / dreambox-image.bb
1 export IMAGE_BASENAME = "dreambox-image"
2
3 OPENDREAMBOX_COMMON = "base-files busybox \
4         ipkg initscripts-opendreambox sysvinit netbase dropbear \
5         base-passwd ncurses joe mc vsftpd timezones-alternative \
6         netkit-base fakelocale less dreambox-bootlogo  \
7         dreambox-dccamd dreambox-keymaps tuxbox-image-info dvbsnoop \
8         dreambox-compat tuxbox-common mrouted smartmontools hddtemp \
9         hotplug-ng autofs"
10
11 OPENDREAMBOX_COMMON_D = "util-linux e2fsprogs \
12         ppp module-init-tools samba"
13
14 OPENDREAMBOX_COMMON_R = "util-linux-sfdisk util-linux-fdisk e2fsprogs-mke2fs \
15         e2fsprogs-e2fsck ppp module-init-tools-depmod \
16         base-files-doc sambaserver avahi-daemon"
17
18 # experimental packages
19 OPENDREAMBOX_EXPERIMENTAL = "enigma2 tuxbox-tuxtxt-32bpp twisted twisted-web2 aio-grab"
20 OPENDREAMBOX_EXPERIMENTAL_R = "enigma2-plugin-systemplugins-frontprocessorupgrade \
21         enigma2-plugin-systemplugins-softwaremanager \
22         enigma2-plugin-systemplugins-positionersetup \
23         enigma2-plugin-extensions-cutlisteditor \
24         enigma2-plugin-systemplugins-satfinder \
25         enigma2-plugin-systemplugins-videotune \
26         enigma2-plugin-extensions-mediascanner \
27         enigma2-plugin-extensions-webinterface \
28         enigma2-plugin-extensions-graphmultiepg \
29         enigma2-plugin-systemplugins-skinselector \
30         enigma2-plugin-extensions-pictureplayer \
31         enigma2-plugin-extensions-mediaplayer \
32         enigma2-plugin-systemplugins-hotplug \
33         enigma2-streamproxy ethtool \
34         enigma2-defaultservices \
35         twisted-web2 twisted python-crypt python-crypto \
36         python-netserver python-pickle dreambox-blindscan-utils"
37
38 # legacy tuxbox stuff (enigma, plugins, ...)
39 OPENDREAMBOX_TUXBOX = "enigma ipkgpl"
40 OPENDREAMBOX_TUXBOX_D = "tuxbox-plugins tuxbox-plugins-enigma links-dream"
41 OPENDREAMBOX_TUXBOX_R = " \
42         tuxbox-plugin-snake     tuxbox-plugin-tuxmail \
43         tuxbox-plugin-lcdcirc   tuxbox-plugin-soko      tuxbox-plugin-tuxtxt \
44         tuxbox-plugin-sol       tuxbox-plugin-vierg     tuxbox-plugin-master \
45         tuxbox-plugin-solitair  tuxbox-plugin-yahtzee   tuxbox-plugin-mines  \
46         tuxbox-plugin-tank      tuxbox-plugin-pacman    tuxbox-plugin-tetris \
47         tuxbox-plugin-satfind   tuxbox-plugin-tuxcom    links-dream-plugin \
48         links-dream-plugin enigma-plugin-dreamdata"
49
50 OPENDREAMBOX_TUXBOX_R_dm600pvr = " \
51         tuxbox-plugin-snake     tuxbox-plugin-tuxmail \
52         tuxbox-plugin-soko      tuxbox-plugin-tuxtxt \
53         tuxbox-plugin-sol       tuxbox-plugin-vierg     tuxbox-plugin-master \
54         tuxbox-plugin-solitair  tuxbox-plugin-yahtzee   tuxbox-plugin-mines  \
55         tuxbox-plugin-tank      tuxbox-plugin-pacman    tuxbox-plugin-tetris \
56         tuxbox-plugin-tuxcom    links-dream-plugin      enigma-blindscan"
57
58 OPENDREAMBOX_TUXBOX_R_dm500plus = " \
59         tuxbox-plugin-snake     tuxbox-plugin-tuxmail \
60         tuxbox-plugin-soko      tuxbox-plugin-tuxtxt \
61         tuxbox-plugin-sol       tuxbox-plugin-vierg     tuxbox-plugin-master \
62         tuxbox-plugin-solitair  tuxbox-plugin-yahtzee   tuxbox-plugin-mines  \
63         tuxbox-plugin-tank      tuxbox-plugin-pacman    tuxbox-plugin-tetris \
64         tuxbox-plugin-tuxcom    links-dream-plugin      enigma-blindscan"
65
66 # dvb api specific stuff
67 OPENDREAMBOX_V2_ONLY = "dreambox-dvb-tools tuxbox-stream"
68 OPENDREAMBOX_V3_ONLY = "dreambox-dvb-tools-v3 sctzap dvbtraffic"
69
70 # enigma languages
71 # disabled: enigma-locale-ar enigma-locale-sr enigma-locale-ur
72 ENIGMA_LANGUAGE = "enigma-locale-cs enigma-locale-da \
73         enigma-locale-de enigma-locale-el enigma-locale-es enigma-locale-et \
74         enigma-locale-fi enigma-locale-fr enigma-locale-hr enigma-locale-hu \
75         enigma-locale-is enigma-locale-it enigma-locale-lt enigma-locale-nl \
76         enigma-locale-no enigma-locale-pl enigma-locale-pt enigma-locale-ro \
77         enigma-locale-ru enigma-locale-sk enigma-locale-sl \
78         enigma-locale-sv enigma-locale-tr"
79
80 OPENDREAMBOX_TUXBOX_R += " ${ENIGMA_LANGUAGE}"
81 OPENDREAMBOX_TUXBOX_R_dm600pvr += " ${ENIGMA_LANGUAGE}"
82 OPENDREAMBOX_TUXBOX_R_dm500plus += " ${ENIGMA_LANGUAGE}"
83
84 MODEM_SUPPORT = "enigma-modem"
85 MODEM_SUPPORT_R = "kernel-module-crc-ccitt kernel-module-ppp-async \
86         kernel-module-ppp-generic \
87         kernel-module-slhc update-modules"
88
89 WLAN_SUPPORT = "wireless-tools wlan-rt73 zd1211b wpa-supplicant"
90 WLAN_SUPPORT_R = "enigma2-plugin-systemplugins-wirelesslan      enigma2-plugin-systemplugins-networkwizard"
91
92 WLAN_MADWIFI = "madwifi-ng"
93 WLAN_MADWIFI_R = "madwifi-ng-modules madwifi-ng-tools"
94
95 DVDPLAYER_SUPPORT_R = "enigma2-plugin-extensions-dvdplayer"
96
97 DVDBURN_SUPPORT_R = "enigma2-plugin-extensions-dvdburn dvd+rw-tools dvdauthor mjpegtools cdrkit python-imaging projectx"
98
99 CDPLAYER_SUPPORT_R = "kernel-module-cdfs libcddb libcdio enigma2-plugin-extensions-cdinfo"
100
101 # now machine specific:
102 OPENDREAMBOX_COMMON_MACHINE_dm600pvr += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
103 OPENDREAMBOX_COMMON_MACHINE_R_dm600pvr += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R} dreambox-blindscan-utils"
104 OPENDREAMBOX_COMMON_MACHINE_D_dm600pvr += "${OPENDREAMBOX_TUXBOX_D}"
105
106 OPENDREAMBOX_COMMON_MACHINE_dm500plus += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
107 OPENDREAMBOX_COMMON_MACHINE_R_dm500plus += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R} dreambox-blindscan-utils"
108 OPENDREAMBOX_COMMON_MACHINE_D_dm500plus += "${OPENDREAMBOX_TUXBOX_D}"
109
110 OPENDREAMBOX_COMMON_MACHINE_dm7020 += "${OPENDREAMBOX_V2_ONLY} ${OPENDREAMBOX_TUXBOX} ${MODEM_SUPPORT}"
111 OPENDREAMBOX_COMMON_MACHINE_R_dm7020 += "${OPENDREAMBOX_TUXBOX_R} ${MODEM_SUPPORT_R}"
112 OPENDREAMBOX_COMMON_MACHINE_D_dm7020 += "${OPENDREAMBOX_TUXBOX_D}"
113
114 OPENDREAMBOX_COMMON_MACHINE_dm7025 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT}"
115 OPENDREAMBOX_COMMON_MACHINE_R_dm7025 += "${OPENDREAMBOX_EXPERIMENTAL_R} ${WLAN_SUPPORT_R}"
116 OPENDREAMBOX_COMMON_MACHINE_D_dm7025 += ""
117
118 OPENDREAMBOX_COMMON_MACHINE_dm800 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT}"
119 OPENDREAMBOX_COMMON_MACHINE_R_dm800 += "${OPENDREAMBOX_EXPERIMENTAL_R} ${WLAN_SUPPORT_R} enigma2-plugin-systemplugins-videomode"
120 OPENDREAMBOX_COMMON_MACHINE_D_dm800 += ""
121
122 OPENDREAMBOX_COMMON_MACHINE_dm500hd += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL}"
123 OPENDREAMBOX_COMMON_MACHINE_R_dm500hd += "${OPENDREAMBOX_EXPERIMENTAL_R} enigma2-plugin-systemplugins-videomode"
124 OPENDREAMBOX_COMMON_MACHINE_D_dm500hd += ""
125
126 OPENDREAMBOX_COMMON_MACHINE_dm8000 += "${OPENDREAMBOX_V3_ONLY} ${OPENDREAMBOX_EXPERIMENTAL} ${WLAN_SUPPORT} ${WLAN_MADWIFI}"
127 OPENDREAMBOX_COMMON_MACHINE_R_dm8000 += "${OPENDREAMBOX_EXPERIMENTAL_R} \
128         ${WLAN_SUPPORT_R} ${WLAN_MADWIFI_R} ${DVDPLAYER_SUPPORT_R} \
129         ${DVDBURN_SUPPORT_R} enigma2-plugin-systemplugins-videomode \
130         ${CDPLAYER_SUPPORT_R} enigma2-plugin-systemplugins-commoninterfaceassignment"
131 OPENDREAMBOX_COMMON_MACHINE_D_dm8000 += ""
132
133 # collect the stuff into OPENDREAMBOX_COMMON
134 OPENDREAMBOX_COMMON += " ${OPENDREAMBOX_COMMON_MACHINE}"
135 OPENDREAMBOX_COMMON_R += " ${OPENDREAMBOX_COMMON_MACHINE_R}"
136 OPENDREAMBOX_COMMON_D += " ${OPENDREAMBOX_COMMON_MACHINE_D}"
137
138 # add bootstrap stuff
139 DEPENDS = "${OPENDREAMBOX_COMMON} ${BOOTSTRAP_EXTRA_DEPENDS} ${OPENDREAMBOX_COMMON_D}"
140 RDEPENDS = "${OPENDREAMBOX_COMMON} ${BOOTSTRAP_EXTRA_RDEPENDS} ${OPENDREAMBOX_COMMON_R}"
141
142 # we don't want any locales, at least not in the common way.
143 IMAGE_LINGUAS = " "
144
145 export IPKG_INSTALL = '${RDEPENDS}'
146
147 inherit image_ipk
148
149 export NFO = '${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfo'
150
151 do_rootfs_append() {
152         VER=`grep Version: "${IMAGE_ROOTFS}/usr/lib/ipkg/info/enigma2.control" | cut -b 10-12`
153         printf "Enigma2: Experimental ${VER}\n" > ${NFO}
154         printf "Machine: Dreambox ${MACHINE}\n" >> ${NFO}
155         DATE=`date +%Y-%m-%d' '%H':'%M`
156         printf "Date: ${DATE}\n" >> ${NFO}
157         printf "Issuer: Dream Multimedia TV\n" >> ${NFO}
158         VER=`echo ${DISTRO_VERSION} | cut -b 1-3`
159         printf "Link: http://dreamboxupdate.com/${DISTRO}/${VER}/${MACHINE}/experimental\n" >> ${NFO}
160         if [ "${DESC}" != "" ]; then
161                 printf "Description: ${DESC}\n" >> ${NFO}
162                 printf "${DESC}\n" >> ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.desc
163         fi
164         MD5SUM=`md5sum ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.nfi | cut -b 1-32`
165         printf "MD5: ${MD5SUM}\n" >> ${NFO}
166 }