[Frugalware-darcs] frugalware-current: frugalware-devel.texi
voroskoi
voroskoi at frugalware.org
Sun Feb 11 20:29:48 CET 2007
Darcsweb-Url: http://darcs.frugalware.org/darcsweb/darcsweb.cgi?r=frugalware-current;a=darcs_commitdiff;h=20070211191725-dd049-162f8f597c1d87398cf0a40beb7b39e1c2fca462.gz;
[frugalware-devel.texi
voroskoi <voroskoi at frugalware.org>**20070211191725
updated till the FIXME marker
] {
hunk ./docs/texi/en_US/frugalware-devel.texi 19
-If you browse the FST (Frugalware Source Tree), currently there are two
- repositories (or repos in short). Their name is frugalware and extra.
-The frugalware repo contains most of packages. The binary packages of
-the extra repo are only available on the DVD (or of course on the FTP
- servers): localization packages and packages which conflict with
-other packages in the frugalware repo. For example, it's not a good i
-dea to install two MTAs at the same time: the frugalware repo contains
-postfix, the extra contains sendmail.
-The exim package is in the extra repo, too.
+If you browse the FST (Frugalware Source Tree), you can see, that in the
+source directory there are category and category-extra dirs. The dirs without
+-extra tag contains the basic packages of the given category and the
+dependencies of the basic packages. So a package in these directories can not
+depend on a package in extra directories.
+For each task there is a default package. For example postfix is our
+default MTA, so exim, sendmail, etc must be in some extra dir.
hunk ./docs/texi/en_US/frugalware-devel.texi 27
-Each repo has a source and a binary directory. The frugalware repo's
- directories are source/ and frugalware-$arch/. Those of the extra are
- extra/source/ and extra/frugalware-$arch/. The binary packages are in
- the binary directory of the repo. The sources of packages are a little
- bit more complex. Each package has a category, and each category and
- package has its own directory in the source dir.
+The repo has a source and a binary directory. The frugalware repo's
+directories are source/ and frugalware-$arch/. The binary packages are in
+the binary directory of the repo. The sources of packages are a little
+bit more complex. Each package has a category, and each category and
+package has its own directory in the source dir.
hunk ./docs/texi/en_US/frugalware-devel.texi 58
-Or, as a regular user, copy /etc/repoman.conf to ~/.repoman.conf,
-change the fst_root dir in it (by default, it would download
+Or, as a regular user, copy edit ~/.repoman.conf, and add
+the fst_root dir in it (by default, it would download
hunk ./docs/texi/en_US/frugalware-devel.texi 72
-$ sudo makepkg -Ra
+$ sudo makepkg -a
hunk ./docs/texi/en_US/frugalware-devel.texi 77
-described in FrugalBuild. We usually use the -R option to build the package
- in a chroot-ed environment. Chroot requires root privileges. To allow
- group (for example the devels group) to use sudo makepkg -Ra, start
-visudo as root, and add the following line:
+described in FrugalBuild. We used use the -R option to build the package
+ in a chroot-ed environment. Since 0.5 building in chroot is the default
+methot, you have to use -H if you want to build on the host system.
+Chroot requires root privileges. To allow group (for example the devels
+group) to use sudo makepkg -a, start visudo as root, and add the following line:
hunk ./docs/texi/en_US/frugalware-devel.texi 83
- at samp{%devels ALL=NOPASSWD:/usr/bin/makepkg -Ra}
+ at samp{%devels ALL=NOPASSWD:/usr/bin/makepkg -a}
hunk ./docs/texi/en_US/frugalware-devel.texi 85
-The chroot will be placed by default in /var/chroot. Only one packag
-e can be built in a chroot at a time, so maybe you'll want to specify
+The chroot will be placed by default in /var/chroot. Only one package
+can be built in a chroot at a time, so maybe you'll want to specify
hunk ./docs/texi/en_US/frugalware-devel.texi 106
-# Last Modified: Sun, 21 Mar 2004 16:54:50 +0100
-# Compiling Time: 0.01 SBU
+# Compiling Time: 0.06 SBU
hunk ./docs/texi/en_US/frugalware-devel.texi 110
-pkgver=1.0
+pkgver=1.2
hunk ./docs/texi/en_US/frugalware-devel.texi 116
-archs=('i686')
-up2date="elinks -dump http://www.kyz.uklinux.net/cabextract.php |grep 'cabextract source code'|sed 's/.*t-\(.*\)\.t.*/\1/'"
+archs=('i686' 'x86_64')
+up2date="lynx -dump http://www.kyz.uklinux.net/cabextract.php |grep 'cabextract source code'|tr -s ' '|cut -d ' ' -f 6"
hunk ./docs/texi/en_US/frugalware-devel.texi 119
-sha1sums=('359c8f4ec9c62d9dac5d572269b607b2cae4fbf7')
+sha1sums=('871b3db4bc2629eb5726659c147aecea1af6a6d0')
hunk ./docs/texi/en_US/frugalware-devel.texi 121
-# optimalization ok
-# vim: ft=sh
+# optimization OK
hunk ./docs/texi/en_US/frugalware-devel.texi 126
-# Last Modified: Sun, 21 Mar 2004 16:54:50 +0100
-
-If you modify the FrugalBuild script, you should update this field.
- The date should be in English. That can be proceeded by unsetting
-LC_ALL and LANG environment variables. For example I use LC_ALL=hu_HU,
- so I simply made an alias and took it to my /.bash_login:
-
-alias edate="LANG= LC_ALL= date -R"
-
-Updating this field will be done automatically if the build was successfull.
-
-# Compiling Time: 0.01 SBU
+# Compiling Time: 0.06 SBU
hunk ./docs/texi/en_US/frugalware-devel.texi 155
-pkgver=1.0
+pkgver=1.2
hunk ./docs/texi/en_US/frugalware-devel.texi 193
-archs=('i686')
+archs=('i686' 'x86_64')
hunk ./docs/texi/en_US/frugalware-devel.texi 202
-up2date="elinks -dump http://www.kyz.uklinux.net/cabextract.php |grep 'cabextract source code'|sed 's/.*t-\(.*\)\.t.*/\1/'"
+up2date="lynx -dump http://www.kyz.uklinux.net/cabextract.php |grep 'cabextract source code' |sed 's/.*-\(.*\).t.*/\1/'"
hunk ./docs/texi/en_US/frugalware-devel.texi 206
-consists of three parts: an elinks -dump someurl, a grep foo, and a sed
+consists of three parts: a lynx -dump someurl, a grep foo, and a sed
hunk ./docs/texi/en_US/frugalware-devel.texi 208
- use ftp. In that case instead of @samp{elinks -dump }you should use
+ use ftp. In that case instead of @samp{lynx -dump }you should use
hunk ./docs/texi/en_US/frugalware-devel.texi 210
-but elinks is simpler. The sed command could be replaced with the
+but lynx is simpler. The sed command could be replaced with the
hunk ./docs/texi/en_US/frugalware-devel.texi 224
- Also when dowloading from sourceforge, please use download.sourceforge.net,
- and not other mirrors (like heanet.dl.sf.net)! If you use various random
-patches from unknown sources, don't expect that somebody else will port
-those patches to a newer version. You will have to do the work yourself.
-You have been warned!
+ Also when dowloading from sourceforge, please use Finclude sourceforge!
+If you use various random patches from unknown sources, don't expect that
+somebody else will port those patches to a newer version. You will have to
+do the work yourself. You have been warned! Actually try to avoid patches
+unless they are really necessary (eg: secfix, bugfix).
hunk ./docs/texi/en_US/frugalware-devel.texi 237
-Finally we define a build() function that will build the package. If you
- don't want to do anything special, probably you don't have to specify
- anything, as the default build() will fit your needs. For the list of
- special functions which can be used in build(), refer to
- /usr/lib/frugalware/fwmakepkg.
+As you can see there in no build() function in this FB. It's because we have
+wrote some F* functions to make our work easier. It's somethin similar you can
+see in gentoo for example. These functions can be found in source/include/util.sh
+file inside the FST. An empty build actually means:
hunk ./docs/texi/en_US/frugalware-devel.texi 242
-If you don't have that file, you have to install the pacman-tools package.
+ at verbatim
+build() {
+ Fpatchall
+ Fmake "$@"
+ Fmakeinstall
+ if echo ${source[@]}|grep -q README.Frugalware; then
+ Fdoc README.Frugalware
+ fi
+}
+ at end verbatim
+
+So Fpatchall will apply all the patches in source() array, then Fmake
+calls the configure script and make command, then Fmakeinstall acts like
+make install, finally if a README.Frugalware file is given it will also
+add that to the package. For details see the utils.sh file, it's well documented.
+
+NOTE: You don't have to use these F* commands, but we _highly_ recommend it.
+Also if you use simple commands do not forget to add || return 1 (or Fdie) after
+each command, so the build will stop on error!
hunk ./docs/texi/en_US/frugalware-devel.texi 274
-At the bottom of the script you could add some editor-specific info, for
- example this one tells vim that the format of this script is shell script
- (otherwise it cannot detect it because there's no #!/bin/bash at the
- top of the file).
+This in not needed anymore as our vim recognises that it's a FrugalBuild, so
+syntax highlight will work as expected.
hunk ./docs/texi/en_US/frugalware-devel.texi 279
+ at c FIXME - below part haven't reviewed(2007-02-11)
+
}
More information about the Frugalware-darcs
mailing list