c7c71c6 Set open mode for ts_calibate.c
poky/meta/recipes-graphics/tslib/tslib/set-open-mode-for-ts_calibrate_c.patch
+@@ -224,9 +225,11 @@ int main()
+ for (i = 0; i < 7; i++) printf("%d ", cal.a [i]);
+ printf("\n");
+ if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {
+- cal_fd = open (calfile, O_CREAT | O_RDWR);
++ cal_fd = open (calfile, O_CREAT | O_RDWR,
++ S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+ } else {
+- cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR);
++ cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR,
++ S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
+ }
.
这个patch主要的目的是消除一个潜在的危险,就是谁创建的文件谁才有对文件的写权限。所以
(User)可读可写 S_IRUSR | S_IWUSR
(Group)只读 S_IRGRP
(Other)只读 S_IROTH
ubuntu10.04 -r----S---
RHEL 5.2 -rw-r-x--T
大S位表示空,
当一个用户执行一个拥有大S位的命令,表示不能执行因为去掉了x位,这是一种没有什么用处的suid设置,可以忽略它的存在
如果是小s的话,在执行的过程中会瞬间切换到此命令的所有者去执行此命令,当命令执行完后又切换回原来的用户,返回原来自己的shell。
一般只对可执行文件起作用,这里不起作用。在这里连User都没有可执行的权限,其他用户怎么可能对这个文件进行操作。即使root用户也不行。所以这是在ubuntu下的危险。
T表示空,只对目录有作用,对文件没有什么作用。这里就是other的用户什么权限也没有。
比如:一个目录的属性是 drwxrwxrwT
在目录中,如果是大T因为是去掉了x,那么,other的用户没有进入目录权限。
drwxrwxrwt
如果是小t,就是可以在目录中创建自己文件,但是不能删除其他用户创建的文件。/tmp目录就是这样的,就是这是一个共享的目录。
drwxrwxrwx
如果是x,就是用户可以删除不是自己创建的文件。
b34753c Conditional configuration based on "directfb" distro feature
加的方法:
CONF_directfb="--with-x=no --enable-xcb=no --enable-directfb=yes"
CONF_xorg="--with-x=yes --enable-xcb=no --enable-directfb=no"
EXTRA_OECONF += " ${@base_contains('DISTRO_FEATURES', 'directfb', '${CONF_directfb}', '${CONF_xorg}', d)}"
这个patch是gtk,pango,cario运行在dirctfb之上的时候需要链接dirctfb,所以在configure的时候
加上dirctfb的链接。如果是运行在X11上就不用了。
base_contains,就是从bitbake的全局的字典中(这个字典包含了整个运行时的各个部分状态和状态的信息,以及存储的变量)提取变量DISTRO_FEATURES(所有特性的集合),如果‘directfb’是DISTRO_FEATURES
的子集,那么base_contains就会返回${CONF_directfb}否则返回${CONF_xorg}.
9998031 Have gtk+ pick up ${NM} from the environment
+-AC_PATH_PROG(NM, nm, nm)
++AC_CHECK_TOOLS(NM, [$NM nm], nm)
首先,$NM表示的是bitbake.conf 里的NM变量的值。
AC_PATH_PROG 与AC_CHECK_TOOLS的区别是:
AC_CHECK_TOOLS 将首先带着--host的前缀去寻找程序,如果没有带前缀的,就寻找不带前缀的程序。
例如,在configure阶段,我们设置了./configure --host=i686-linux --build=x86-64-linux
那么,AC_CHECK_TOOLS将首先在PATH中寻找i686-linux-$NM,如果,有这个程序,那么${NM} = i686-linux-$NM.
如果没有,就在PATH中寻找$NM,如果有$NM,那么${NM} = $NM,如果没有在寻找i686-linux-nm,在没有就寻找nm,
而AC_PATH_PROG,搜索时不带前缀,并且,如果搜索到nm的话,${NM} = "absolute path"/nm
在这个patch里面,就是如果有编译的$NM就不用主机的nm,如果没有就用主机的了。也就是NM变量是取PATH里面对应的命令,而不是得到带有绝对路径的命令。
a377123 Remove the misc directory of font-alias
Reason:
+-SUBDIRS = 100dpi 75dpi cyrillic misc
++SUBDIRS = 100dpi 75dpi cyrillic
font-alias和xorg-minimal-fonts两个包同时创建了一个相同的文件,这个patch就是去掉了一个包的misc。
这个patch在原来的windriver的里面的。poky没有这个patch,这是因为,font-alias与xorg-minimal-fonts两者都有这个相同的文件(名字,内容都是一样的),
在装载的过程中会有冲突。因为更新的是font-alias,xorg-minimal-fonts没有更新。 所以去掉的是前者的misc。
但是,在poky的装载中没有这个冲突。
c1070dd advance version of libx11-trim for 1.3.4 to 1.4.0
升级一个版本,目的是使用最新的版本,至于性能上没有什么改进。