2010年9月30日 星期四

find + md5sum to check file integrity

find . -name '*' -type f -exec md5sum '{}' >checksum.md5 \; 

2010年9月23日 星期四

makefile 常用的變數

  • makefile 常用的變數

    
          $?     代表需要重建(被修改)的相依性項目。
    
          $@    目前的目標項目名稱。
    
          $<     代表目前的相依性項目。
    
          $*     代表目前的相依性項目,不過不含副檔名。
    
    
    
    1. 例:以 $@ 代表目前的目標 (target) 項目。
      LIBS = -lm 
      OBJS = main.o haha.o sin_value.o cos_value.o 
      CFLAGS = -Wall 
      main: ${OBJS} 
              gcc -o $@ ${OBJS} ${LIBS}  <== 在此 $@ 即 main 。 
      clean: 
              rm -f main ${OBJS}
      


  • makefile 中兩個特別字元,可以加在要執行的命令之前:


    1. - :make 會忽略命令的錯誤。


      1. 如果希望產生一個目錄,但希望忽略錯誤,可能是因為該目錄已經存在。


        -mkdir /usr/local/repository
        

      2. 如果希望清除目標檔案,但希望忽略錯誤,可能是因為該檔案不存在。


        clean:
           -rm main.o 2.o 3.o
        

    2. @ :make 不會在標準輸出上,顯示要執行的命令。

    3. 判斷式 if 起始為符號  @,讓 make 在執行該法則時,停止印出標準輸出的文字。



      install: myapp
         @if [ -d $(INSTDIR) ]; \
          then \
            ...;\
         fi
      
      
Other references:

2010年9月21日 星期二

Version Control: Subversion

## require packages
yum install mod_dav_svn subversion

svnadmin create --fs-type fsfs /usr/local/svn/test
chown -R apache:apache /usr/local/svn/test
svn import Testproj http://localhost/svn/test
svn co http://localhost/svn/test

svn add xxx
svn commit xxx

# Apache subversion configure

   DAV svn
   SVNParentPath /usr/local/svn

   # Limit write permission to list of valid users.
   #
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /usr/local/svn/passwd
      Require valid-user
   #



#create password file
htpasswd -c /usr/local/svn/passwd test