移植patch到poky的笔记


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
     升级一个版本,目的是使用最新的版本,至于性能上没有什么改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值