3 @ feature-str-id for src-pkg build
4 # beyound code in codelib dir, it include a README.md, build param file,
5 testing info files, performence info file, lisence file, feature-id-str file.
6 # feature str, name & domain of feature. code in a src pkg is not putted in
7 domain string path, it's just under the dir of 'codelib'.
8 # feature id is a sha value with feature name and README.md
9 # feature id also contains sha value with feature name, RREADME.md, and src
10 files. this id is used for corresponding version matching.
11 # featurelist.lst, it's a file provided for other pkg reference code in codelib
12 of current src-pkg. compare with .pc file, this file can matching feature
13 in module. some feature are existing in a lib, but it also can be referenced
14 in other package not only by linking. eg: a short piece of code in gnulib
15 should be referenced in other src-pkg, but it's too complex to link a gnulib
16 lib file to the program, so copy code to current src-pkg is a good idea to
18 + it keeps src code synchronizing with orignial src-pkg, this avoid multiple
19 version of code by copying code.
20 + it decrease external lib dependence.
21 + it provide the connection between feature and src-pkg.
25 #############################################################################
26 #############################################################################
31 @ tagdocÖеÄdoc£¬ÈçÊǹ¦ÄÜÌØÐÔÐèÇó£¬×ª»¯Îª¹¦ÄÜÌØÐÔÎÄ×ÖÃèÊö£¬²¢½«¹¦ÄÜÌØÐÔµÄtag·Åµ½docµÄ¹ØÁªfollowed-tagÖУ¬docµÄtag·Åµ½¹¦ÄÜÌØÐÔÎÄ×ÖÃèÊöµÄprev-tagÖС£
32 # ¹¦ÄÜÌØÐԺ͹¦ÄÜÄ£¿éÖ®¼äÒ²ÒÔtag¹ØÁª¡£
33 # ÔÚ¹¦ÄÜÄ£¿éä¯ÀÀʱ£¬¿É¿´µ½prev-tagµÄÄÚÈÝ£¬Ò»Ð©¹¦ÄÜÄ£¿éÐÞ¸Äʱ£¬ÆäËüdoc¿É¸üС£
34 # Ò»¸ö¼Ç¼´ÓÒ»¸ösrc-pkg£¬×ªµ½sub-src-pkgʱ£¬¼Ç¼come-fromÐÅÏ¢£¬±íʾ¹¦ÄÜÌØÐÔ»òÐèÇóÔ´×ÔÓÚÄĸöpkg¡£
35 # Ò»¸ö¼Ç¼ÖеÄÄÚÈÝ£¬È¡Ò»²¿·Ö£¬³ÉÁíÒ»¸ösub-record¡£ÔÚÔÓмǼÖÐÌí¼Óbranch-tag£¬ÔÚsub-recordÖУ¬Ìí¼Ósrc-tag£¬±íʾһ¸ö¹¦ÄÜÌØÐÔ»òÐèÇóÃèÊöµÄÑÝ»¯¡£ÒòΪһ¸ö¼Ç¼ÖУ¬¿ÉÄÜ°üº¬¶à¸ö¹¦ÄÜÌØÐÔµÄÃèÊö¡£ÔÚsub-recordÖУ¬¿É¿´µ½src-tagÖÐÆäËüÏà½üºÍÏà¹ØµÄÄÚÈÝ£¬Êä³öΪsee also¡£
36 @ tagdocÖеÄÎÄ×Ö£¬ÒÔitemΪµ¥Î»£¬diff gitÉϵÄÄÚÈÝ£¬½«Ôö¼ÓµÄitemµ¥ÁÐÒ»¸ötagdocÎļþ£¬ÓÃÓÚÈ˹¤Ìí¼Ó¡£
37 # ÎļþÌå»ý±È½ÏÅÓ´óʱ£¬¸ù¾ÝtagºÍĿ¼£¬»®·ÖΪ¶à¸öÎļþ»òĿ¼¡£
41 #############################################################################
42 #############################################################################
45 @ modify doc dir, and update pkg design info.
47 =================================================
53 # path & cfgdirs(pkg-install)£¬
54 # builders(flist£¬plist£¬tag£¬gen-proclib£¬proclib)
55 # build-pkg(subcmd/taglib£¬toolchain-mngr£¬taskunit)
56 # build param£¬²Î¿¼projectÖеIJÎÊý
60 # cross-compile£¬build with param pfx
61 # build example£ºlibcxt
64 # pkg/prog/lib/res mngr
65 # app/soft/midware/bsp/drv mngr
66 # soft-center/soft-repository
69 ref: 1.design/2.pkg-builder/build-pkg/ideas.txt
73 # build: ÓÃÓÚcompile£¬build£¬pkg£¬install£¬testµÈÓû§²Ù×÷¡£
74 # dev£ºÓÃÓÚprojÏà¹Ø²Ù×÷£¬task²Ù×÷µÈ£¬ÓÃÓÚdeveloper¡£
75 + dev exthdrlist£ºÊä³ösrcÒÀÀµµÄsrc hdr£¬½«src pkgÖеÄhdr¹ýÂË£¬ÍⲿhdrÒÀÀµ±£´æ
76 µ½Îļþ£¬ÔÚbuildʱ½øÐÐincÎļþchkʱʹÓá£
77 + dev extliblist£ºÊä³ösrcpkgÖÐʹÓõÄlib£¬ÓÃÓÚbuildʱµÄchk¡£
79 @ subcmd, arch-list, srcpkg-list, dest-list, dest-type, dest-type-step,
84 # path & cfgdirs(pkg-install)£¬
85 # builders(flist£¬plist£¬tag£¬gen-proclib£¬proclib)
86 # build-pkg(subcmd/taglib£¬toolchain-mngr£¬taskunit)
87 # build param£¬²Î¿¼projectÖеIJÎÊý
91 # cross-compile£¬build with param pfx
92 # build example£ºlibcxt
106 !# src-list, paramters, multi dest/instpkg/arch ...
107 !# compile script code.
108 !# build/dev/devtask cmd opt-define, and it's diagram.
109 # ADFD diagram accroding compile script code.
118 + single-file-paramter,
119 + developer-info-paramter,
120 + soft-pkg-info-paramter,
121 + output: CFLAGS/CPPFLAGS/LDFLAGS
122 + format: CFLAGS_FMT ... some paramter should be in particular sequence.
123 + param_gen("NAME_STR"), generate paramter.
126 + pkg-conf/diff/patch/intltool/texinfo/gettext-tiny/ttyrec/
128 + <src>2<dst>() functions.
129 + program set. as/gcc/g++(c++/cpp)/ld/ranlib/ar/nm/objcopy/objdump/strip/
130 gcov/gprof, flex/bison/libtool, elfedit/readelf/addr2line/string/size.
133 + buildtime-dep-list,
137 + build_srcpkg("path")/unarchive_srcpkg()/download_srcpkg("name")
138 + build_dest("name")/build_instpkg("name")/build_target("name")
140 + short-time-one-cmd-task (one mainly cmd, and repeated several times with
141 input paramter), eg: compile/link a src file
142 + long-time-task, eg: build a pkg.
143 + deamon-task/svc, eg: network-service.
144 + (input/output/waitlist/deptp)
145 + (wants/after/trig/before/conflicts/wantedby/requisite/requires)