2 integerat => integrat
\r
4 traditional => classical
\r
9 dev-spec is not a rule to limit developer, it's an assistant with less
\r
11 it provide style doc, and provide auto-utils and template at the same time.
\r
12 it provide design doc and flow, but only less relative info in design, in
\r
13 order to sync with code, when the developer modify code, it can sync from it,
\r
14 and could use the design info again in next time when it is needed.
\r
15 it provide dev-flow doc, and it is used with a todolist note as normal. it
\r
16 is just the doc which developer would use it usually.
\r
17 it provide pkg-structure doc, and also provide util-prog, and simple
\r
18 build paramter file to use it.
\r
19 it provide webpages guide doc, and also provide .md to html doc util-prog,
\r
20 and webpages sync util-prog, which is referenced from GNU lib.
\r
29 what's the pkg-builder?
\r
30 it's a toolset for software build and develop, and provide a develop
\r
31 specific and guide document.
\r
32 pkg-builder is designed for skeletone-linux building. developer can
\r
33 develop low-level system soft-pkg by it, and do not need to install other
\r
34 software as possible.
\r
35 pkg-builder uses shell script to write utility programs, it depend external
\r
36 pkgs as less as possible. system building in 'buildroot' need a step of host
\r
37 environment pkg building. by using pkg-builder, it could run system building
\r
38 directly, or just rebuild pkg-builder.
\r
39 normally, src-pkg build need some advanced soft-pkgs like perl python in
\r
40 desktop linux system. if we need to build a low-level system src-pkg for
\r
41 embedded linux system, we need a cross-compile develop environment on computer.
\r
42 pkg-builder provide utilities writen by shell script, some of the src-pkg can
\r
43 be build in embedded linux system.
\r
46 devspec is a part of pkg-builder. it provide guide document for develop,
\r
47 some of them has a utility program in pkg of 'devutils'. it helps developer to
\r
48 check or generate codes automatically acrroding devspec.
\r
49 devspec is a thing, that let the developer has the SAME STYLE and METHOD
\r
50 in develop, and uses AUTOMATICAL utility program to ASSIST the devspec. it want
\r
51 to let the pkg-builder to be a CLASSICAL tool, like 'borland c++ builder', or
\r
54 why a src-pkg need the devspec?
\r
55 devsepc PROVIDE the SAME programming/coding STYLE, and name rules, and so
\r
56 on. it let the different developer write code as a same programer as possible,
\r
57 and other developer can read code easily and clearly.
\r
58 it provide usage of UTILS in devutils, CHECKING and GENERATING code
\r
59 AUTOMATICALLY. the guide doc would not be a burden for developer as possible.
\r
60 it provide step guide in developing for software DEVELOPPING LIFE CYCLE.
\r
61 the PROCEDURE of soft-pkg develop can be known by a NEWER. look at the diagram
\r
62 of 'devspec.uml', it shows WHAT PEOPLE will use and operate on a src-pkg. and
\r
63 WHAT THING the people would to do, and the STEP of the thing people would to
\r
65 the FILES generated in develop can be the same as possible, the MEANING and
\r
66 PURPOSE of those file should be defined as same as possible. there are TEMPLATE
\r
67 files for develop in devspec, and use them to generate things by utilities in
\r
68 'devutils' automatically.
\r
70 devspec is consisted by those part below:
\r
72 @ dev-flow/dev-step guide
\r
73 # definations for dev-actor, work-task, dev-skill
\r
74 # defines develop-step diagram. and design diagram files for pkg-builder and
\r
76 # develop manager: dev-task-trace, cooperation, dev-step-trace
\r
82 @ prog-style: programming style guide. it uses prog-level and prog-elem +
\r
83 prog-model + prog-lib + traditional-impl to design programs.
\r
84 # traditional program model/template/sample.
\r
85 # data-structure and algorithm
\r
88 # version code and it's meaning.
\r
89 # src-pkg and install-pkg file name format.
\r
90 # general file types.
\r
91 # src-pkg file structure.
\r
92 # install pkg file structure and external dir in system.
\r
93 @ code and executable
\r
94 # code-manager(file version manager),
\r
97 # src/bin public storage pages,
\r
99 @ template(src-module file comment header, function comment header, src-module
\r
100 file, program-lang-element, blank project, )
\r
101 # program element template
\r
102 # src file template
\r
104 # classical implement template
\r
111 here list the features for difference from other classical linux-soft-pkg:
\r
113 @ it's automatical thing with less memory remember.
\r
115 @ it defined a develop flow in software developing life cycle.
\r
116 @ develop manage info is putted into the src-pkg. function feature, work task,
\r
117 task trace, bug trace. some of the will be deleted in publish version, and
\r
118 traslate content to changelog and TODO.
\r
119 @ simplly home pages for a soft-pkg, and the tools for pages update. it is used
\r
120 for soft-pkg publish automatically by script programs.
\r
121 @ it defines coding styles, to keep code clear and readable, and use utility
\r
122 program to generate code automatically, and easy to analyze code by using
\r
124 @ it use template file for code-auto-gen, and code-format. and template for new
\r
126 @ define directory structure of install pkg, and use .etz file as the binary
\r
127 publish file. it can install without pkg manager program, and the install
\r
128 infomation can be used by actual pkg manager program. it defines the public
\r
129 directories that a software needed, and specified the install path when it is
\r
130 installing. the pkg manager program record install info, and the public
\r
131 directories which is needed by a install-pkg.
\r
132 @ define directory of a src-pkg. it append dir of design document, management
\r
133 document, resource files, and so on. the src-pkg can be used in same dir
\r
134 structure, and the install-pkg have the same dir struct, it can install by it
\r
135 self, it's more better then make install. or translate install-pkg to linux
\r
136 distribution pkg format.
\r
143 @ src-pkg developed can be the same style, by same develop flow, same develop
\r
144 method. it's helpfull for develop cooperation, and code reading.
\r
145 @ integrate automatical tools for developing as possible. the specification
\r
146 and rules can be used without painstakingly by humen remembering.
\r
147 @ devspec and pkg-builder is designed for system pkg develop and build, in
\r
148 order to provide a build & develop environment with less program dependence.
\r
149 it nearly just need shell program and compiler only, build a src-pkg without
\r
150 make, auto-tools, M4. it integrate flex/bison/gettext/intl/doxygen/texinfo/
\r
151 pkg-config for developing. some of them are developed by script programs in
\r
152 devutils, and some of them are in the plan.
\r
153 especially, it is used for the pkgs of 'skeletone-linux', and the src-pkgs in
\r
155 @ it uses c/c++, and shell script as the default programming language. and
\r
156 maybe use languages like 'vala', for modulization of c-language.
\r
157 @ for pure application programs, there are many build tools. devspec and
\r
158 pkg-builder can not cover various range of applications.
\r
159 @ textilization. use editable text file as more as possible. it's easy to edit,
\r
160 and can be read without special utility programs. easy to analysis problems
\r
168 @ mainly for system low-level src-pkgs, espacially for 'skeletone-linux'.
\r
169 @ the lisence of 'skeletone-linux' src-pkg to be developed would be MIT as
\r
170 possible. others, look at the document of 'copying-lisence'.
\r
171 @ main dependence of external src-pkgs is gcc, and shell program, and few
\r
172 binary programs. the binary pkgs it needed, will be improved by shell script
\r
173 as possible. the concept of shell program is not only shell script
\r
174 interpreter, it include command set for a shell environment.
\r
175 @ this document is mainly for suggest guide, and the rules must be kept in
\r
176 'skeletone-linux' pkgs, to be a suggest guide beyound 'skeletone-linux'.
\r
181 # reading guide for devspec
\r
182 ===========================
\r
185 it defined a suggest develop step.
\r
186 look at the document of 'project-develop-step'.
\r
187 view the uml diagram document in dir of 'dev-step-diagrams' by umberello.
\r
189 @ the defination of dev actor, and work task
\r
190 look at the document of 'dev-actor-task' 'develop-step-diagrams'.
\r
191 view the uml diagram document in dir of 'dev-step-diagrams' by umberello.
\r
193 @ project manager(design feature list, task, cooperation, dev-step-trace)
\r
194 the feature of a soft-pkg is not recorded in src-pkg. but it's usefull for
\r
195 user and developer. it uses changelog for feature record when it is published.
\r
196 but sometimes, it need record the features which has not been developed.
\r
197 orgnize a task to develop one of the feature in feature list, and provide
\r
198 develop step trace, to see the status of feature developing.
\r
199 submit a bug, and launch a task to fix it.
\r
200 when the soft-pkg is published, keep feature list, output changelog/news by
\r
201 manager info, and delete develop manager doc.
\r
202 look at the document of 'develop-work-task'.
\r
204 @ programming styles
\r
205 look at the document of 'rules'.
\r
208 code format or code style defination.
\r
209 look at the document of 'code-format', 'name-style', 'c-cpp-code-format',
\r
213 it's a part of code-style.
\r
214 look at the document of 'name-style'.
\r
216 @ copying and lisence
\r
217 it's depend on the type and purpose of src-pkgs would be developed. it
\r
218 defines lisence type of different src-pkg type in a operating system.
\r
219 look at the document of 'copying-lisence'.
\r
222 # name and directory structure of a pkg
\r
223 define install pkg name format, so that pkg info can be dispatched from
\r
224 install pkg file name.
\r
225 the directory structure for src-pkg is defined. use project template in
\r
227 directory of install-pkg is defined, a soft-pkg can be installed in various
\r
229 look at the document of 'srcpkg-general-doc-files',
\r
230 'instpkg-general-doc-files'.
\r
233 define the meaning of version code, and use utility program to increas
\r
234 version code when a src-pkg is published.
\r
235 look at the document of 'version-code',
\r
238 # file version manager,
\r
240 version manager program usage document, for src-pkgs and install-pkgs.
\r
241 look at the document of 'git-client-usage'.
\r
242 look at the document of 'code-repo-usage'.
\r
245 # src/bin public storage pages,
\r
246 it provide guide document for code hosting, and how to use utilities in
\r
247 soft-pkg of 'devutils', to create/update/publish web pages.
\r
248 it provide guide document for a developer for things beyound coding.
\r
249 look at the document of 'code-hosting'.
\r
251 @ template(src-module file comment header, function comment header, src-module
\r
252 file, program-lang-element, blank project, )
\r
253 template file is used for code-gen and code-fmt. use utility program, or
\r
254 used as a guide document for coding.
\r
255 look at the document of 'sample-prj-and-code-tmpl'.
\r