<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RuthHughes</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=RuthHughes"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/RuthHughes"/>
	<updated>2026-04-27T15:24:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Php&amp;diff=12457</id>
		<title>APKBUILD examples:Php</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Php&amp;diff=12457"/>
		<updated>2016-03-07T03:11:32Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Add &amp;lt;tt&amp;gt;phpize&amp;lt;/tt&amp;gt; to the build() section. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
build() {&lt;br /&gt;
	cd &amp;quot;$_builddir&amp;quot;&lt;br /&gt;
	phpize || return 1&lt;br /&gt;
	./configure --prefix=/usr || return 1&lt;br /&gt;
	make || return 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:PHP]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Permissions&amp;diff=12456</id>
		<title>APKBUILD examples:Permissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Permissions&amp;diff=12456"/>
		<updated>2016-03-07T03:11:28Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If the source files have strange permissions you can easily fix this in your APKBUILD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fix subdir perms&lt;br /&gt;
find &amp;quot;$subpkgdir&amp;quot;/usr/share/doc/$pkgname/ -type d \&lt;br /&gt;
	-exec chmod 755 &#039;{}&#039; \; || return 1&lt;br /&gt;
find &amp;quot;$subpkgdir&amp;quot;/usr/share/$pkgname/ -type d \&lt;br /&gt;
	-exec chmod 755 &#039;{}&#039; \; || return 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Perl&amp;diff=12455</id>
		<title>APKBUILD examples:Perl</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Perl&amp;diff=12455"/>
		<updated>2016-03-07T03:11:24Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
depends=&amp;quot;perl&amp;quot;&lt;br /&gt;
makedepends=&amp;quot;perl-dev&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
build() {&lt;br /&gt;
	cd &amp;quot;$_builddir&amp;quot;&lt;br /&gt;
	PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1&lt;br /&gt;
	make &amp;amp;&amp;amp; make test || return 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The files perllocal.pod and .packlist should be deleted&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package() {&lt;br /&gt;
	cd &amp;quot;$_builddir&amp;quot;&lt;br /&gt;
	make DESTDIR=&amp;quot;$pkgdir&amp;quot; install || return 1&lt;br /&gt;
	find &amp;quot;$pkgdir&amp;quot; \( -name perllocal.pod -o -name .packlist \) -delete&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:Perl]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Multiple_Subpackages&amp;diff=12454</id>
		<title>APKBUILD examples:Multiple Subpackages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Multiple_Subpackages&amp;diff=12454"/>
		<updated>2016-03-07T03:11:20Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A more complex APKBUILD with -doc, -dev, and python subpackages:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Contributor: Carlo Landmeter &amp;lt;clandmeter at gmail&amp;gt;&lt;br /&gt;
# Maintainer: Carlo Landmeter &amp;lt;clandmeter at gmail&amp;gt;&lt;br /&gt;
pkgname=libxml2&lt;br /&gt;
pkgver=2.7.8&lt;br /&gt;
pkgrel=0&lt;br /&gt;
pkgdesc=&amp;quot;XML parsing library, version 2&amp;quot;&lt;br /&gt;
url=&amp;quot;http://www.xmlsoft.org/&amp;quot;&lt;br /&gt;
arch=&amp;quot;all&amp;quot;&lt;br /&gt;
license=&amp;quot;MIT&amp;quot;&lt;br /&gt;
depends=&lt;br /&gt;
depends_dev=&amp;quot;zlib-dev python-dev&amp;quot;&lt;br /&gt;
makedepends=&amp;quot;zlib-dev python-dev&amp;quot;&lt;br /&gt;
subpackages=&amp;quot;$pkgname-doc $pkgname-dev py-$pkgname:py $pkgname-utils&amp;quot;&lt;br /&gt;
source=&amp;quot;ftp://ftp.xmlsoft.org/${pkgname}/${pkgname}-${pkgver}.tar.gz&lt;br /&gt;
	largefile64.patch&amp;quot;&lt;br /&gt;
&lt;br /&gt;
options=&amp;quot;!strip&amp;quot;&lt;br /&gt;
&lt;br /&gt;
_builddir=&amp;quot;$srcdir/$pkgname-$pkgver&amp;quot;&lt;br /&gt;
prepare() {&lt;br /&gt;
	cd &amp;quot;$_builddir&amp;quot;&lt;br /&gt;
	for _i in &amp;quot;$srcdir&amp;quot;/*.patch; do&lt;br /&gt;
		patch -p1 -i &amp;quot;$_i&amp;quot;&lt;br /&gt;
	done&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
build() {&lt;br /&gt;
	cd &amp;quot;$_builddir&amp;quot;&lt;br /&gt;
	./configure --prefix=/usr \&lt;br /&gt;
		--sysconfdir=/etc \&lt;br /&gt;
		--mandir=/usr/share/man \&lt;br /&gt;
		--infodir=/usr/share/info &lt;br /&gt;
	make&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
package() {&lt;br /&gt;
	cd &amp;quot;$_builddir&amp;quot;&lt;br /&gt;
	make -j1 DESTDIR=&amp;quot;$pkgdir&amp;quot; install&lt;br /&gt;
	install -Dm644 COPYING &amp;quot;$pkgdir&amp;quot;/usr/share/licenses/$pkgname/COPYING&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
py() {&lt;br /&gt;
	cd &amp;quot;$_builddir&amp;quot;&lt;br /&gt;
	pkgdesc=&amp;quot;$pkgname python bindings&amp;quot;&lt;br /&gt;
	install -d &amp;quot;$subpkgdir&amp;quot;/usr/lib&lt;br /&gt;
	mv &amp;quot;$pkgdir&amp;quot;/usr/lib/python* &amp;quot;$subpkgdir&amp;quot;/usr/lib/&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
utils() {&lt;br /&gt;
	pkgdesc=&amp;quot;XML utilities&amp;quot;&lt;br /&gt;
	replaces=&amp;quot;libxml2&amp;quot;&lt;br /&gt;
	mkdir -p &amp;quot;$subpkgdir&amp;quot;/usr&lt;br /&gt;
	mv &amp;quot;$pkgdir&amp;quot;/usr/bin &amp;quot;$subpkgdir&amp;quot;/usr/&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
md5sums=&amp;quot;8127a65e8c3b08856093099b52599c86  libxml2-2.7.8.tar.gz&lt;br /&gt;
5ad4915665608ebfa5b89f7908467a72  largefile64.patch&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Lua&amp;diff=12453</id>
		<title>APKBUILD examples:Lua</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Lua&amp;diff=12453"/>
		<updated>2016-03-07T03:11:17Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This needs to receive LUA APKBUILD data , oh yeah&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Git_checkout&amp;diff=12451</id>
		<title>APKBUILD examples:Git checkout</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:Git_checkout&amp;diff=12451"/>
		<updated>2016-03-07T03:11:13Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source=&amp;quot;http://dev.alpinelinux.org/archive/configshell/$_realname-$_ver.tar.gz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
_giturl=&amp;quot;https://github.com/agrover/configshell-fb&amp;quot;&lt;br /&gt;
_gittag=v$_ver&lt;br /&gt;
&lt;br /&gt;
_builddir=&amp;quot;$srcdir&amp;quot;/$_realname-fb-v$_ver&lt;br /&gt;
&lt;br /&gt;
snapshot() {&lt;br /&gt;
	mkdir -p &amp;quot;$srcdir&amp;quot;&lt;br /&gt;
	cd &amp;quot;${SRCDEST:-$srcdir}&amp;quot;&lt;br /&gt;
	if ! [ -d $_realname-fb.git ]; then&lt;br /&gt;
		git clone --bare  $_giturl || return 1&lt;br /&gt;
		cd $_realname-fb.git&lt;br /&gt;
	else&lt;br /&gt;
		cd $_realname-fb.git&lt;br /&gt;
		git fetch || return 1&lt;br /&gt;
	fi&lt;br /&gt;
	&lt;br /&gt;
	git archive --prefix=$_realname/ -o &amp;quot;$SRCDEST&amp;quot;/$_realname-$_ver.tar.gz $_gittag&lt;br /&gt;
	scp &amp;quot;$SRCDEST&amp;quot;/$_realname-$_ver.tar.gz dev.alpinelinux.org:/archive/$_realname/&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:ACF&amp;diff=12450</id>
		<title>APKBUILD examples:ACF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples:ACF&amp;diff=12450"/>
		<updated>2016-03-07T03:11:10Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ACF]] packages only needs a package() section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package() {&lt;br /&gt;
	cd &amp;quot;$srcdir/$pkgname-$pkgver&amp;quot;&lt;br /&gt;
	make DESTDIR=&amp;quot;$pkgdir&amp;quot; install&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]] [[Category:ACF]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples&amp;diff=12448</id>
		<title>APKBUILD examples</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_examples&amp;diff=12448"/>
		<updated>2016-03-07T03:11:06Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following APKBUILD examples will assist you in understanding how to create an APKBUILD and provide snippets to use in your own APKBUILD files. Often there are multiple possible solutions for a problem available. If you align your way to solve an issue with an existing solution, make the AKPBUILD files more legible for others and reduce the chance to implement a misbehaviour.&lt;br /&gt;
&lt;br /&gt;
== Simple APKBUILD ==&lt;br /&gt;
* [[APKBUILD_examples:Simple|Simple APKBUILD example]]&lt;br /&gt;
* [[APKBUILD_meta:Meta|Meta APKBUILD example]]&lt;br /&gt;
* [[APKBUILD_examples:Permissions|Fixing permissions in APKBUILD]]&lt;br /&gt;
* [[APKBUILD_examples:Git_checkout|Git checkout APKBUILD]]&lt;br /&gt;
&lt;br /&gt;
== Subpackages ==&lt;br /&gt;
* [[APKBUILD examples:Subpackages|Subpackages]]&lt;br /&gt;
* [[APKBUILD_examples:Multiple_Subpackages|Multiple subpackages]]&lt;br /&gt;
&lt;br /&gt;
== Special subpackages ==&lt;br /&gt;
* [[APKBUILD_examples:Special_Subpackages_Doc|-doc subpackage]]&lt;br /&gt;
* [[APKBUILD_examples:Special_Subpackages_Test|-test subpackage]]&lt;br /&gt;
* [[APKBUILD_examples:Special_Subpackages_Examples|-examples subpackage]]&lt;br /&gt;
* [[APKBUILD_examples:Special_Subpackages_Languages|-lang subpackages]]&lt;br /&gt;
&lt;br /&gt;
== Application specific examples ==&lt;br /&gt;
* [[APKBUILD_examples:ACF|ACF]]&lt;br /&gt;
* [[APKBUILD_examples:Perl|Perl]]&lt;br /&gt;
* [[APKBUILD_examples:Php|Php]]&lt;br /&gt;
* [[APKBUILD_examples:Python|Python]]&lt;br /&gt;
* [[APKBUILD_examples:Ruby|Ruby]]&lt;br /&gt;
* [[APKBUILD_examples:Lua|Lua]]&lt;br /&gt;
* [[APKBUILD_examples:OCaml|OCaml]]&lt;br /&gt;
* [[APKBUILD_examples:Haskell|Haskell]]&lt;br /&gt;
* [[APKBUILD_examples:Chicken Scheme|Chicken Scheme]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_Reference&amp;diff=12446</id>
		<title>APKBUILD Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD_Reference&amp;diff=12446"/>
		<updated>2016-03-07T03:11:02Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;APKBUILDs are the scripts that are created in order to build Alpine packages using the [[abuild]] tool.&lt;br /&gt;
&lt;br /&gt;
This page is intended to serve as a reference for creating APKBUILDs; if this is your first time creating a package for Alpine Linux, please see [[Creating an Alpine package]].&lt;br /&gt;
&lt;br /&gt;
= Legend =&lt;br /&gt;
The following notes will assist you in understanding this document.&lt;br /&gt;
&lt;br /&gt;
In description text:&lt;br /&gt;
* If a variable is not prefixed with a &#039;&#039;$&#039;&#039;, it will be represented by italics (i.e., &#039;&#039;srcdir&#039;&#039; ).&lt;br /&gt;
* Functions will also be represented by italics, but will also end with a pair of parentheses (i.e., &#039;&#039;build()&#039;&#039; ).&lt;br /&gt;
* Shell commands will be represented &amp;lt;code&amp;gt;like this&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Variables =&lt;br /&gt;
{{Note|Variables that contain a path (e.g. &#039;&#039;$srcdir&#039;&#039; and &#039;&#039;$pkgdir&#039;&#039;) should always be quoted using double quotes (i.e., &#039;&#039;&amp;quot;$srcdir&amp;quot;&#039;&#039;).  This is done to prevent things from breaking, should the user have the APKBUILD in a directory path that contains spaces.}}&lt;br /&gt;
{{Note|All arbitrary variable and function names should be prefixed with an underscore character ( _ ) to avoid name clashes with the internals of abuild (for example, &#039;&#039;_builddir&#039;&#039;).}}&lt;br /&gt;
&lt;br /&gt;
== abuild-defined variables ==&lt;br /&gt;
The following variables are defined by abuild:&lt;br /&gt;
&lt;br /&gt;
==== startdir ====&lt;br /&gt;
: The directory where the APKBUILD script is.&lt;br /&gt;
==== srcdir ====&lt;br /&gt;
: The directory where sources, from the &#039;&#039;source&#039;&#039; variable, are downloaded to and unpacked to.&lt;br /&gt;
==== pkgdir ====&lt;br /&gt;
: This directory should receive the files for the main package.  For example, a normal [http://en.wikipedia.org/wiki/GNU_build_system autotools] package would have &amp;lt;code&amp;gt;make DESTDIR=&amp;quot;$pkgdir&amp;quot; install&amp;lt;/code&amp;gt; in the &#039;&#039;package()&#039;&#039; function.&lt;br /&gt;
==== subpkgdir ====&lt;br /&gt;
: This directory should receive the files for a subpackage. This variable should only be used from subpackage functions.&lt;br /&gt;
&lt;br /&gt;
{{Tip|&#039;&#039;_builddir&#039;&#039; is not defined by abuild; instead this should be defined by hand when it&#039;s needed. You might define it as:&lt;br /&gt;
&lt;br /&gt;
 _builddir{{=}}&amp;quot;$srcdir/$pkgname-$pkgver&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== User-defined variables ==&lt;br /&gt;
The following variables should be defined by the user:&lt;br /&gt;
==== arch ====&lt;br /&gt;
: Package architecture(s) to build for.  Can be one of: &#039;&#039;&#039;x86, x86_64, all&#039;&#039;&#039;, or &#039;&#039;&#039;noarch&#039;&#039;&#039;, where &#039;&#039;&#039;all&#039;&#039;&#039; means all architectures, and &#039;&#039;&#039;noarch&#039;&#039;&#039; means it&#039;s architecture-independent (e.g., a pure-python package).&lt;br /&gt;
: {{Tip|To determine if your APKBUILD can use &#039;&#039;&#039;noarch&#039;&#039;&#039;: First specify &#039;&#039;&#039;all&#039;&#039;&#039; and then build the package by executing &amp;lt;code&amp;gt;abuild -r&amp;lt;/code&amp;gt;.  Watch the output towards the end for warnings saying that &#039;&#039;&#039;noarch&#039;&#039;&#039; can be used.  If the main package and all subpackages, if you have any subpackages, give a warning saying that &#039;&#039;&#039;noarch&#039;&#039;&#039; can be used, then you can use &#039;&#039;&#039;noarch&#039;&#039;&#039;.}}&lt;br /&gt;
==== depends ====&lt;br /&gt;
: Run-time dependency package(s) that are not shared-object dependencies.  Shared objects dependencies are auto-detected and should not be specified here.&lt;br /&gt;
==== depends_dev ====&lt;br /&gt;
: Run-time dependency package(s) for the &#039;&#039;&#039;$pkgname-dev&#039;&#039;&#039; subpackage.&lt;br /&gt;
&lt;br /&gt;
: {{Note|From ncopa on IRC: To find out if you need to add a package to depends_dev have a look at *requires* in usr/lib/pkgconfig/*.pc. With libtool it gets more complicated, but we should delete the .la files. Also check if there are any  /usr/bin/*-configure #!/bin/bash #!/usr/bin/perl or Python. Sometimes scripts or similar are generated at build time (i.e autoconf automake) then you normally don&#039;t need add those to depends_dev. You can also just add all -dev makedepends to depends_dev but it will slow the build process a little bit (more build dependencies).}}&lt;br /&gt;
&lt;br /&gt;
==== install ====&lt;br /&gt;
: There are 6 different types of install scripts.  Install scripts are named &#039;&#039;&#039;$pkgname.action&#039;&#039;&#039;, where &#039;&#039;&#039;action&#039;&#039;&#039; can be:  &#039;&#039;&#039;pre-install, post-install, pre-upgrade, post-upgrade, pre-deinstall&#039;&#039;&#039;, or &#039;&#039;&#039;post-deinstall&#039;&#039;&#039;.  For example, if &#039;&#039;pkgname&#039;&#039; is set to &#039;&#039;&#039;mypackage&#039;&#039;&#039; and &#039;&#039;install&#039;&#039; is set to &#039;&#039;&#039;$pkgname.post-install&#039;&#039;&#039;, then a script named &#039;&#039;&#039;mypackage.post-install&#039;&#039;&#039; must exist along-side the APKBUILD.&lt;br /&gt;
&lt;br /&gt;
: First, a few notes regarding install scripts:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;{{Note|When using install scripts, &#039;&#039;$install&#039;&#039; should be included in &#039;&#039;source&#039;&#039; so that checksums can be generated and used for the install scripts specified in &#039;&#039;install&#039;&#039;.  For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
install=&amp;quot;$pkgname.pre-install $pkgname.post-install&amp;quot;&lt;br /&gt;
source=&amp;quot;http://....&lt;br /&gt;
       $install&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
{{Note|Always use &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt; for the command-line interpreter on the [http://en.wikipedia.org/wiki/Shebang_%28Unix%29 shebang line] of your install scripts.}}&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following are the different types of install scripts in detail:&lt;br /&gt;
&lt;br /&gt;
===== $pkgname.pre-install =====&lt;br /&gt;
: This script is executed &#039;&#039;before installing&#039;&#039; the package.  Typical use is when the package needs a user/group to be created. For example:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
adduser -H -s /bin/false -D clamav 2&amp;gt;/dev/null&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Note|If the script exits with a failure (e.g., if the user already exists), the package will not be installed and &amp;lt;code&amp;gt;apk&amp;lt;/code&amp;gt; will exit with failure, hence the &amp;lt;code&amp;gt;exit 0&amp;lt;/code&amp;gt; at the end.}}&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== $pkgname.post-install =====&lt;br /&gt;
: This script is executed &#039;&#039;after installing&#039;&#039; the package.&lt;br /&gt;
&lt;br /&gt;
===== $pkgname.pre-upgrade =====&lt;br /&gt;
: This script is executed &#039;&#039;before upgrading&#039;&#039; the package.&lt;br /&gt;
&lt;br /&gt;
===== $pkgname.post-upgrade =====&lt;br /&gt;
: This script is executed &#039;&#039;after upgrading&#039;&#039; the package.&lt;br /&gt;
&lt;br /&gt;
===== $pkgname.pre-deinstall =====&lt;br /&gt;
: This script is executed &#039;&#039;before uninstalling&#039;&#039; the package.&lt;br /&gt;
: {{Note|If the script exits with failure, &amp;lt;code&amp;gt;apk&amp;lt;/code&amp;gt; will not uninstall the package.}}&lt;br /&gt;
&lt;br /&gt;
===== $pkgname.post-deinstall =====&lt;br /&gt;
: This script is executed &#039;&#039;after uninstalling&#039;&#039; the package.&lt;br /&gt;
&lt;br /&gt;
==== license ====&lt;br /&gt;
: License(s) for the package.&lt;br /&gt;
==== makedepends ====&lt;br /&gt;
: Build-time dependency package(s).&lt;br /&gt;
==== md5sums ====&lt;br /&gt;
: Checksums for the files/URLs listed in &#039;&#039;source&#039;&#039;.  The checksums are normally generated and updated by executing &amp;lt;code&amp;gt;abuild checksum&amp;lt;/code&amp;gt; and should be the last item in the APKBUILD.&lt;br /&gt;
==== options ====&lt;br /&gt;
: Build-time options for the package.  Can be: &#039;&#039;&#039;!strip&#039;&#039;&#039; - to avoid stripping symbols from binaries.&lt;br /&gt;
==== pkgdesc ====&lt;br /&gt;
: A brief, one-line description of what the package does.&lt;br /&gt;
&lt;br /&gt;
: Here&#039;s an example from the OpenSSH client package:&lt;br /&gt;
: &amp;lt;pre&amp;gt;pkgdesc=&amp;quot;Port of OpenBSD&#039;s free SSH release - client&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== pkggroups ====&lt;br /&gt;
: System group(s) to be created during build-time.  System group(s) should also be created in the &#039;&#039;&#039;[[APKBUILD Reference#.24pkgname.pre-install|$pkgname.pre-install]]&#039;&#039;&#039; script, so that the system group(s) are also created prior to package installation for run-time use.&lt;br /&gt;
==== pkgname ====&lt;br /&gt;
: The name of the package.  All letters should be lowercase.&lt;br /&gt;
: {{Note|When creating an APKBUILD of a module or library for another package, we use some common package prefixes, such as: &#039;&#039;lua-&#039;&#039;, &#039;&#039;perl-&#039;&#039;, &#039;&#039;php-&#039;&#039;, and &#039;&#039;py-&#039;&#039;.  Search aports for other common prefixes.}}&lt;br /&gt;
&lt;br /&gt;
==== pkgrel ====&lt;br /&gt;
: Alpine package release number.  Starts at 0 (zero).  Always increment &#039;&#039;pkgrel&#039;&#039; when making updates to an aport; reset &#039;&#039;pkgrel&#039;&#039; to 0 (zero) when incr ... \n&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=APKBUILD&amp;diff=12444</id>
		<title>APKBUILD</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=APKBUILD&amp;diff=12444"/>
		<updated>2016-03-07T03:10:58Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Aports tree]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_packages&amp;diff=12442</id>
		<title>ACF packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_packages&amp;diff=12442"/>
		<updated>2016-03-07T03:10:55Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}&lt;br /&gt;
== Networking  ==&lt;br /&gt;
&lt;br /&gt;
Networking related modules. &lt;br /&gt;
&lt;br /&gt;
=== Interfaces (acf-alpine-baselayout) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Local interface management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Create/Edit/Delete interfaces &lt;br /&gt;
*Bring up/down interfaces and restart networking&lt;br /&gt;
&lt;br /&gt;
=== Dialup/PPPoE (acf-ppp) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure Dialup/PPP/PPPoE connectivity&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Create/Edit/Delete peers &lt;br /&gt;
*Edit PAP/CHAP configuration&lt;br /&gt;
&lt;br /&gt;
=== Quality of Service (acf-iproute2-qos) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Ready for Beta test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure Quality of Service settings on each interface&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Enable/Configure/Disable QOS on each interface &lt;br /&gt;
&lt;br /&gt;
=== IPtables (acf-iptables) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Ready for Beta test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;iptables&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration (rules-save file) &lt;br /&gt;
*Create/Edit/Delete chains and rules&lt;br /&gt;
&lt;br /&gt;
=== Firewall (acf-shorewall) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;shorewall&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== DNS (acf-tinydns) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;tinydns&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*View current DNS configuration/information &lt;br /&gt;
*Create/Edit/Delete domain files &lt;br /&gt;
*Per user and per role permissions&lt;br /&gt;
*Multiple-instance capable&lt;br /&gt;
&lt;br /&gt;
=== DNScache (acf-dnscache) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;dnscache&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*Edit allowed clients &lt;br /&gt;
*Create/Edit/Delete DNS server entries&lt;br /&gt;
&lt;br /&gt;
=== DNSmasq (acf-dnsmasq) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;dnsmasq&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*View leases &lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== DHCP server (acf-dhcp) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;isc-dhcp&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit global settings &lt;br /&gt;
*Create/Edit/Delete subnets and hosts &lt;br /&gt;
*View leases&lt;br /&gt;
&lt;br /&gt;
=== Chrony (acf-chrony) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;chrony&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== NTPD (acf-openntpd) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure timeserver &#039;&#039;&#039;openntpd&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== IPsec (acf-ipsec-tools) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;ipsec-tools&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*Upload/View/Delete certificates &lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== OpenVPN (acf-openvpn) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Ready for Beta test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;openvpn&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit config&lt;br /&gt;
*View connected clients&lt;br /&gt;
*Manage certificates &lt;br /&gt;
*View logfile&lt;br /&gt;
*Multiple-instance capable&lt;br /&gt;
&lt;br /&gt;
=== NHRP (acf-opennhrp) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;opennhrp&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration&lt;br /&gt;
&lt;br /&gt;
=== Zebra and BGP (acf-quagga) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;quagga&#039;&#039;&#039; zebra and bgp functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*View routes &lt;br /&gt;
*Edit configuration&lt;br /&gt;
&lt;br /&gt;
=== TCPproxy (acf-tcpproxy) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;tcpproxy&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*Create/Edit/Delete STMP Proxy entries and files&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications  ==&lt;br /&gt;
&lt;br /&gt;
Application related modules &lt;br /&gt;
&lt;br /&gt;
=== SSH (acf-openssh) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;openssh&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*View connections &lt;br /&gt;
*Edit configuration &lt;br /&gt;
*Edit authorized keys&lt;br /&gt;
&lt;br /&gt;
=== Kerberos (acf-heimdal) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Ready for Beta test&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;heimdal&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Obtain/View/Destroy kerberos tickets &lt;br /&gt;
*Edit configuration&lt;br /&gt;
&lt;br /&gt;
=== Samba (acf-samba) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;samba&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*Create/Edit/Delete shares &lt;br /&gt;
*Join domain&lt;br /&gt;
&lt;br /&gt;
=== Postgresql (acf-postgresql) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;postgresql&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Setup postgresql &lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== Web Proxy (acf-squid) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;squid&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration &lt;br /&gt;
*Edit user list &lt;br /&gt;
*Edit associated files&lt;br /&gt;
&lt;br /&gt;
=== Content Filter (acf-dansguardian) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;dansguardian&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration&lt;br /&gt;
&lt;br /&gt;
=== Web Log application (acf-weblog) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Import &#039;&#039;&#039;squid&#039;&#039;&#039; and &#039;&#039;&#039;dansguardian&#039;&#039;&#039; logs into a database for auditing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Create postgres database&lt;br /&gt;
*Manage logfile sources&lt;br /&gt;
*Audit blocks and bypasses&lt;br /&gt;
*View web viewing activity&lt;br /&gt;
*View web usage statistics&lt;br /&gt;
*Query database&lt;br /&gt;
&lt;br /&gt;
=== ClamAV (acf-clamav) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Manage &#039;&#039;&#039;clamav&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration&lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== ClamSMTP (acf-clamsmtp) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Manage &#039;&#039;&#039;clamsmtp&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration&lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== Postfix (acf-postfix) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Manage &#039;&#039;&#039;postfix&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*View/flush mail queue&lt;br /&gt;
*Edit configuration&lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== Amavis (acf-amavis) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Manage &#039;&#039;&#039;amavis&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration&lt;br /&gt;
&lt;br /&gt;
=== Dovecot (acf-dovecot) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Manage &#039;&#039;&#039;dovecot&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration&lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== Gross (acf-gross) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Manage &#039;&#039;&#039;gross&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration&lt;br /&gt;
*View logfile&lt;br /&gt;
&lt;br /&gt;
=== Fetchmail (acf-fetchmail) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;fetchmail&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit global settings &lt;br /&gt;
*Create/Edit/Delete mailbox/domain entries&lt;br /&gt;
&lt;br /&gt;
=== Snort (acf-snort) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;snort&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*View alerts &lt;br /&gt;
*Edit configuration&lt;br /&gt;
&lt;br /&gt;
=== Asterisk (acf-asterisk) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configure &#039;&#039;&#039;asterisk&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*Edit configuration&lt;br /&gt;
&lt;br /&gt;
=== Kamailio (acf-kamailio) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;FCK__ShowTableBorders&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Status:&#039;&#039;&#039; &lt;br /&gt;
| Released&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Summary:&#039;&#039;&#039; &lt;br /&gt;
| Configu ... \n&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_mvc.lua_reference&amp;diff=12440</id>
		<title>ACF mvc.lua reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_mvc.lua_reference&amp;diff=12440"/>
		<updated>2016-03-07T03:10:50Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== mvc.lua function reference ==&lt;br /&gt;
&lt;br /&gt;
This lua module provides the basics for creating an mvc application.  It is patterned&lt;br /&gt;
loosely after the Ruby on Rails pattern - but much more simplistic.&lt;br /&gt;
&lt;br /&gt;
The general pattern is to use the mvc &#039;&#039;&#039;new&#039;&#039;&#039; function to create a set of tables,&lt;br /&gt;
and then use &#039;&#039;&#039;new&#039;&#039; within those tables to create sub &amp;quot;objects&amp;quot;.   By using&lt;br /&gt;
metatable .__index methods, function references flow up through the parent tables.&lt;br /&gt;
&lt;br /&gt;
=== new( self, modname ) ===&lt;br /&gt;
&lt;br /&gt;
Returns 3 values: an &#039;&#039;mvc&#039;&#039; table and 2 booleans ( true or false if the &#039;&#039;modname&#039;&#039;-controller and &#039;&#039;modname&#039;&#039;-model.lua were loaded)  &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;mvc&#039;&#039; table contains:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! table !! used for  !! comments !! .__index points to&lt;br /&gt;
|-&lt;br /&gt;
|conf&lt;br /&gt;
|configuration items&lt;br /&gt;
|only created if a &#039;&#039;conf&#039;&#039; table does not exist in a parent&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
|clientdata&lt;br /&gt;
|data sent from the client&lt;br /&gt;
|only created if a &#039;&#039;clientdata&#039;&#039; table does not exist in a parent&lt;br /&gt;
| n/a&lt;br /&gt;
|-&lt;br /&gt;
|worker&lt;br /&gt;
|the &amp;quot;controller&amp;quot; methods&lt;br /&gt;
|if &#039;&#039;&#039;modname&#039;&#039;&#039; is given, then &#039;&#039;&#039;&#039;&#039;modname&#039;&#039;&#039;-controller.lua&#039;&#039; module is loaded into this table.  Otherwise, an empty table is returned.&lt;br /&gt;
|&#039;&#039;&#039;self&#039;&#039;&#039; (parent mvc object)&lt;br /&gt;
|-&lt;br /&gt;
|worker.mvc&lt;br /&gt;
|special methods run by the mvc dispatch function&lt;br /&gt;
|If the &#039;&#039;&#039;modname&#039;&#039;&#039;-controller.lua module does not initalize a .mvc table, an empty one is created&lt;br /&gt;
|&#039;&#039;&#039;self.mvc&#039;&#039;&#039; (parent mvc object&#039;s mvc table)&lt;br /&gt;
|-&lt;br /&gt;
|model&lt;br /&gt;
|the &amp;quot;model&amp;quot; methods&lt;br /&gt;
|if &#039;&#039;&#039;modname&#039;&#039;&#039; is given, then &#039;&#039;&#039;&#039;&#039;modname&#039;&#039;&#039;-model.lua&#039;&#039; module is loaded into this table.  Otherwise, an empty table is returned.&lt;br /&gt;
|&#039;&#039;&#039;worker&#039;&#039;&#039; (this mvc object&#039;s worker table)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The returned table  has a .__index method that points to &#039;&#039;&#039;worker&#039;&#039;&#039;, so this table can&lt;br /&gt;
inherit values from the parent table.&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;&#039;&#039;&#039;modname&#039;&#039;&#039;-controller.lua&#039;&#039; contains a .mvc.on_load function, the function is run before &#039;&#039;new&#039;&#039; returns.&lt;br /&gt;
&lt;br /&gt;
The .__index metamethods mean that this code will set up inheritance as shown in the diagram:&lt;br /&gt;
&lt;br /&gt;
  require(&amp;quot;mvc&amp;quot;)&lt;br /&gt;
  MVC=mvc:new()&lt;br /&gt;
    APP=MVC:new()&lt;br /&gt;
     controller=APP:new()&lt;br /&gt;
       subcontroller=controller:new()&lt;br /&gt;
&lt;br /&gt;
If you try to run &#039;&#039;&#039;subcontroller.model.somefunction()&#039;&#039;&#039;, and it does not exist, the inheritance will look for somefunction() in ...&lt;br /&gt;
&lt;br /&gt;
# subcontroller.worker&lt;br /&gt;
# controller&lt;br /&gt;
# controller.worker&lt;br /&gt;
# APP&lt;br /&gt;
# APP.worker&lt;br /&gt;
# MVC&lt;br /&gt;
# MVC.worker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This allows, for instance, the application to set a default method that is available to all child controllers.  The reason the model looks to its parent worker table first is that controller methods are usually in the worker table, and models do not normally inherit from each other.&lt;br /&gt;
&lt;br /&gt;
The calling code should be sure to call the &#039;&#039;destroy&#039;&#039; function when done with this object.&lt;br /&gt;
&lt;br /&gt;
=== destroy ( self ) ===&lt;br /&gt;
&lt;br /&gt;
Calls the &#039;&#039;mvc.on_unload&#039;&#039; function, if it exists, to close any resources opened by the object.&lt;br /&gt;
&lt;br /&gt;
=== dispatch ( self, prefix, controller, action, clientdata ) ===&lt;br /&gt;
&lt;br /&gt;
The gateway for executing controller actions in a protected xpcall.&lt;br /&gt;
&lt;br /&gt;
# If no controller specified, use default prefix/controller&lt;br /&gt;
# Creates a &#039;&#039;&#039;self:new ( prefix .. controller)&#039;&#039;&#039; mvc object&lt;br /&gt;
# If no action specified, use controller default_action&lt;br /&gt;
# runs any existing &#039;&#039;worker.mvc.pre_exec&#039;&#039; function&lt;br /&gt;
# runs the &#039;&#039;worker.&#039;&#039;&#039;action&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
# runs any existing &#039;&#039;worker.mvc.post_exec&#039;&#039; function&lt;br /&gt;
# gets the view function from &#039;&#039;view_resolver&#039;&#039;&lt;br /&gt;
# executes the view with the results of the &#039;&#039;worker.&#039;&#039;&#039;action&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
# and calls &#039;&#039;destroy&#039;&#039; to destroy the mvc object&lt;br /&gt;
&lt;br /&gt;
If an error occurs, an exception_handler function is run.  If possible, the exception handler of the new mvc object is run, otherwise &#039;&#039;self::exception_handler&#039;&#039; function handles the error.  If an exception occurs after creating the new mvc object, &#039;&#039;mvc.on_unload&#039;&#039; is guaranteed to run, but &#039;&#039;mvc.post_exec&#039;&#039; is not.&lt;br /&gt;
&lt;br /&gt;
=== soft_require ( self, modname ) ===&lt;br /&gt;
&lt;br /&gt;
Looks for &#039;&#039;&#039;&#039;&#039;modname&#039;&#039;&#039;.lua&#039;&#039; in &#039;&#039;self.conf.appdir&#039;&#039; and returns the results of a &#039;&#039;require()&#039;&#039;  If the &#039;&#039;&#039;modname&#039;&#039;&#039; does not exist, returns nil.&lt;br /&gt;
&lt;br /&gt;
This function allows modules to be loaded without generating an exception if they do not exist.&lt;br /&gt;
&lt;br /&gt;
=== read_config ( self, modname ) ===&lt;br /&gt;
&lt;br /&gt;
Looks in various places for a &#039;&#039;&#039;&#039;&#039;modname&#039;&#039;&#039;.conf&#039;&#039; file and parses its contents into the &#039;&#039;&#039;self.conf&#039;&#039;&#039; table.&lt;br /&gt;
&lt;br /&gt;
=== parse_path_info ( string ) ===&lt;br /&gt;
&lt;br /&gt;
Returns 3 strings: a prefix, controller, and action.  Given a string in the format of a URI or pathspec, returns the &#039;&#039;basename&#039;&#039; as the action, the last component of the &#039;&#039;dirname&#039;&#039; as the controller, and the&lt;br /&gt;
rest as the prefix.   Missing components are returned as empty strings.&lt;br /&gt;
&lt;br /&gt;
=== find_view ( appdir, prefix, controller, action, viewtype ) ===&lt;br /&gt;
&lt;br /&gt;
Returns a string with the view filename for this combination of prefix/controller/action/viewtype or nil if no view file exists.&lt;br /&gt;
&lt;br /&gt;
=== create_helper_library ( self ) ===&lt;br /&gt;
&lt;br /&gt;
Returns a table of function pointers to be passed to each view.&lt;br /&gt;
&lt;br /&gt;
=== auto_view (viewtable, viewlibrary, pageinfo, session) ===&lt;br /&gt;
&lt;br /&gt;
This functions is used as the view of last resort. If no view file is found, this function is called to display the CFE resulting from the invoked action. The following &#039;viewtype&#039;s are supported:&lt;br /&gt;
&lt;br /&gt;
* html&lt;br /&gt;
* json&lt;br /&gt;
* stream&lt;br /&gt;
* serialized&lt;br /&gt;
&lt;br /&gt;
=== view_resolver ( self ) ===&lt;br /&gt;
&lt;br /&gt;
Returns a function pointer to display the view, a table of functions made available to the view function, a table containing values of interest to the view, and a table containing the session data. The last three return values are designed to be the last three parameters to the view function pointer.&lt;br /&gt;
&lt;br /&gt;
=== soft_traceback ( self, message ) ===&lt;br /&gt;
&lt;br /&gt;
If called with no arguments, returns a &#039;&#039;debug.traceback&#039;&#039;, otherwise returns &amp;quot;message&amp;quot;.   &lt;br /&gt;
&lt;br /&gt;
=== exception_handler ( self, message ) ===&lt;br /&gt;
&lt;br /&gt;
Prints an error message and then re-asserts the exception.  Called if the xpcall in &#039;&#039;dispatch&#039;&#039; has an error.  &lt;br /&gt;
This is the exception_handler of last resort.  The application should provide&lt;br /&gt;
a more robust exception handler.&lt;br /&gt;
&lt;br /&gt;
=== cfe ( table ) ===&lt;br /&gt;
&lt;br /&gt;
Returns a table with &#039;&#039;value&#039;&#039;, &#039;&#039;type&#039;&#039;, and &#039;&#039;label&#039;&#039; values.  If an input table is given in the call, those key/value pairs are added as well.&lt;br /&gt;
Guarantees the view will not get a &amp;quot;nil&amp;quot; on value, type, or label.&lt;br /&gt;
This function is added to the global (_G) environment so it is available to the entire application.&lt;br /&gt;
&lt;br /&gt;
=== logevent ( message ) ===&lt;br /&gt;
&lt;br /&gt;
Logs the message to syslog.&lt;br /&gt;
&lt;br /&gt;
=== handle_clientdata ( form, clientdata ) ===&lt;br /&gt;
&lt;br /&gt;
This is a helper function for controllers to implement forms. It parses the form CFE and applies any changes submitted by the user in clientdata.&lt;br /&gt;
&lt;br /&gt;
=== handle_form ( self, getFunction, setFunction, clientdata, option, label, descr ) ===&lt;br /&gt;
This is a helper function for controllers to implement forms. It calls the getFunction to get the form CFE. If the form is submitted, it will call handle_clientdata and the setFunction to submit the form. The form CFE is returned.&lt;br /&gt;
&lt;br /&gt;
[[Category:ACF]] [[Category:Lua]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_mvc.lua_example&amp;diff=12439</id>
		<title>ACF mvc.lua example</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_mvc.lua_example&amp;diff=12439"/>
		<updated>2016-03-07T03:10:46Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Set the hostname with mvc.lua =&lt;br /&gt;
&lt;br /&gt;
In this example we will create a simple hostname-setting command-line application using mvc.lua.  Once the controller/model are built, you can use &#039;&#039;the same code&#039;&#039; to set the hostname via the web with a web-based application controller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For this example, we will assume you have root access on the linux box you are running on (preferably an Alpine Linux box!)&lt;br /&gt;
&lt;br /&gt;
== Get the mvc.lua module == &lt;br /&gt;
&lt;br /&gt;
Get the mvc.lua module from the git repository.&lt;br /&gt;
&lt;br /&gt;
 wget http://git.alpinelinux.org/cgit/acf-core/plain/lua/mvc.lua&lt;br /&gt;
&lt;br /&gt;
== Create a model and controller ==&lt;br /&gt;
&lt;br /&gt;
Create a file &#039;&#039;&#039;hostname-controller.lua&#039;&#039;&#039;, defining the functions that an &amp;quot;end user&amp;quot; could run. We will only create one action, edithostname, which will be used to read and update the hostname. Since the action makes changes to the system, it naturally takes the form of a &#039;form&#039;:&lt;br /&gt;
&lt;br /&gt;
=== hostname-controller.lua ===&lt;br /&gt;
 -- Controller for editing hostname&lt;br /&gt;
 local mymodule = {} &lt;br /&gt;
 &lt;br /&gt;
 mymodule.edithostname = function (self)&lt;br /&gt;
         return self.handle_form(self, self.model.get_hostname, self.model.set_hostname, self.clientdata, &amp;quot;Edit&amp;quot;, &amp;quot;Edit Hostname&amp;quot;, &amp;quot;Hostname Updated&amp;quot;)&lt;br /&gt;
 end                                   &lt;br /&gt;
 &lt;br /&gt;
 return mymodule&lt;br /&gt;
&lt;br /&gt;
Create a file &#039;&#039;&#039;hostname-model.lua&#039;&#039;&#039;, defining the model functions to get and set the hostname.  We return a cfe table for each function including the form with the one entry for hostname:&lt;br /&gt;
&lt;br /&gt;
=== hostname-model.lua ===&lt;br /&gt;
 -- Model functions for retrieving / setting the hostname&lt;br /&gt;
 local mymodule = {}&lt;br /&gt;
 &lt;br /&gt;
 -- Create a cfe defining the form for editing the hostname and containing the current value&lt;br /&gt;
 mymodule.get_hostname = function(self, clientdata)&lt;br /&gt;
         local retval = cfe({ type=&amp;quot;group&amp;quot;, value={}, label=&amp;quot;Hostname&amp;quot; })&lt;br /&gt;
 &lt;br /&gt;
         -- Warning - io.popen has security risks, never pass user data to io.popen&lt;br /&gt;
         local f = io.popen (&amp;quot;/bin/hostname&amp;quot;)&lt;br /&gt;
         local n = f:read(&amp;quot;*a&amp;quot;) or &amp;quot;none&amp;quot;&lt;br /&gt;
         f:close()&lt;br /&gt;
         n=string.gsub(n, &amp;quot;\n$&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
         retval.value.hostname = cfe({ value=n, label=&amp;quot;Hostname&amp;quot; })&lt;br /&gt;
 &lt;br /&gt;
         return retval&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 -- Set the hostname from the value contained in the cfe created by get_hostname&lt;br /&gt;
 mymodule.set_hostname = function(self, hostnameform, action)&lt;br /&gt;
         local success = true&lt;br /&gt;
 &lt;br /&gt;
         -- Check to make sure the name is valid&lt;br /&gt;
         if (hostnameform.value.hostname.value == &amp;quot;&amp;quot;) then&lt;br /&gt;
                 success = false&lt;br /&gt;
                 hostnameform.value.hostname.errtxt = &amp;quot;Hostname must not be blank&amp;quot;&lt;br /&gt;
         elseif (#hostnameform.value.hostname.value &amp;gt; 16) then&lt;br /&gt;
                 success = false&lt;br /&gt;
                 hostnameform.value.hostname.errtxt = &amp;quot;Hostname must be 16 characters or less&amp;quot;&lt;br /&gt;
         elseif (string.find(hostnameform.value.hostname.value, &amp;quot;[^%w%_%-]&amp;quot;)) then&lt;br /&gt;
                 success = false&lt;br /&gt;
                 hostnameform.value.hostname.errtxt = &amp;quot;Hostname can contain alphanumerics only&amp;quot;&lt;br /&gt;
         end&lt;br /&gt;
 &lt;br /&gt;
         -- If it is valid, set the hostname&lt;br /&gt;
         if ( success ) then&lt;br /&gt;
                 local f = io.open(&amp;quot;/etc/hostname&amp;quot;, &amp;quot;w&amp;quot;)&lt;br /&gt;
                 if f then&lt;br /&gt;
                         f:write(hostnameform.value.hostname.value .. &amp;quot;\n&amp;quot;)&lt;br /&gt;
                         f:close()&lt;br /&gt;
                 end&lt;br /&gt;
                 -- Warning - io.popen has security risks, never pass user data to io.popen&lt;br /&gt;
                 f = io.popen (&amp;quot;/bin/hostname -F /etc/hostname&amp;quot;)&lt;br /&gt;
                 f:close()&lt;br /&gt;
         else&lt;br /&gt;
                 hostnameform.errtxt = &amp;quot;Failed to set hostname&amp;quot;&lt;br /&gt;
         end&lt;br /&gt;
 &lt;br /&gt;
         return hostnameform&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return mymodule&lt;br /&gt;
&lt;br /&gt;
== Optionally test the model code (without mvc.lua)  ==&lt;br /&gt;
&lt;br /&gt;
If you want, you can create a &#039;&#039;&#039;test.lua&#039;&#039;&#039; script to validate the model code works on its own:&lt;br /&gt;
&lt;br /&gt;
=== test.lua ===&lt;br /&gt;
 require(&amp;quot;mvc&amp;quot;) -- Needed for cfe function definition&lt;br /&gt;
 m=require(&amp;quot;hostname-model&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 local form = m.get_hostname()&lt;br /&gt;
 form.value.hostname.value = arg[1] or &amp;quot;&amp;quot;&lt;br /&gt;
 form = m.set_hostname(nil, form)&lt;br /&gt;
 &lt;br /&gt;
 if form.errtxt then&lt;br /&gt;
         print(&amp;quot;FAILED: &amp;quot;..form.value.hostname.errtxt or form.errtxt)&lt;br /&gt;
 end&lt;br /&gt;
 form = m.get_hostname()&lt;br /&gt;
 print(form.value.hostname.value)&lt;br /&gt;
&lt;br /&gt;
You can then test this with:&lt;br /&gt;
&lt;br /&gt;
 #lua test.lua &amp;quot;Alpine&amp;quot;&lt;br /&gt;
  Alpine&lt;br /&gt;
&lt;br /&gt;
 #lua test.lua &amp;quot;Invalid Name&amp;quot;&lt;br /&gt;
  FAILED: Hostname can contain alphanumerics only&lt;br /&gt;
  Alpine&lt;br /&gt;
&lt;br /&gt;
== Add the package to the ACF framework ==&lt;br /&gt;
&lt;br /&gt;
To make the model and controller work within the ACF mvc.lua framework, we must do several things.   &lt;br /&gt;
&lt;br /&gt;
1. Install the ACF core package:&lt;br /&gt;
&lt;br /&gt;
 apk add acf-core&lt;br /&gt;
&lt;br /&gt;
Optionally, you can add the entire web-based ACF framework:&lt;br /&gt;
&lt;br /&gt;
 setup-acf&lt;br /&gt;
&lt;br /&gt;
2. Modify the ACF configuration file to look in /etc/acf/app/ for additional packages. Edit the /etc/acf/acf.conf file to add the &#039;&#039;/etc/acf/app/&#039;&#039; directory to the &#039;&#039;appdir&#039;&#039; comma-separated list:&lt;br /&gt;
&lt;br /&gt;
 appdir=/etc/acf/app/,/usr/share/acf/app/&lt;br /&gt;
&lt;br /&gt;
3. Move the model and controller to the new package directory. We will call the package &amp;quot;test&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /etc/acf/app/test&lt;br /&gt;
 mv hostname-*.lua /etc/acf/app/test&lt;br /&gt;
&lt;br /&gt;
4. Test the new package using the acf-cli application:&lt;br /&gt;
&lt;br /&gt;
 # acf-cli /test/hostname/edithostname&lt;br /&gt;
 result = {}&lt;br /&gt;
 result[&amp;quot;label&amp;quot;] = &amp;quot;Edit Hostname&amp;quot;&lt;br /&gt;
 result[&amp;quot;option&amp;quot;] = &amp;quot;Edit&amp;quot;&lt;br /&gt;
 result[&amp;quot;type&amp;quot;] = &amp;quot;form&amp;quot;&lt;br /&gt;
 result[&amp;quot;value&amp;quot;] = {}&lt;br /&gt;
 result[&amp;quot;value&amp;quot;][&amp;quot;hostname&amp;quot;] = {}&lt;br /&gt;
 result[&amp;quot;value&amp;quot;][&amp;quot;hostname&amp;quot;][&amp;quot;label&amp;quot;] = &amp;quot;Hostname&amp;quot;&lt;br /&gt;
 result[&amp;quot;value&amp;quot;][&amp;quot;hostname&amp;quot;][&amp;quot;type&amp;quot;] = &amp;quot;text&amp;quot;&lt;br /&gt;
 result[&amp;quot;value&amp;quot;][&amp;quot;hostname&amp;quot;][&amp;quot;value&amp;quot;] = &amp;quot;Alpine&amp;quot;&lt;br /&gt;
 # acf-cli /test/hostname/edithostname hostname=test submit=true&lt;br /&gt;
 result = {}&lt;br /&gt;
 result[&amp;quot;descr&amp;quot;] = &amp;quot;Hostname Updated&amp;quot;&lt;br /&gt;
 result[&amp;quot;label&amp;quot;] = &amp;quot;Edit Hostname&amp;quot;&lt;br /&gt;
 result[&amp;quot;option&amp;quot;] = &amp;quot;Edit&amp;quot;&lt;br /&gt;
 result[&amp;quot;type&amp;quot;] = &amp;quot;form&amp;quot;&lt;br /&gt;
 result[&amp;quot;value&amp;quot;] = {}&lt;br /&gt;
 result[&amp;quot;value&amp;quot;][&amp;quot;hostname&amp;quot;] = {}&lt;br /&gt;
 result[&amp;quot;value&amp;quot;][&amp;quot;hostname&amp;quot;][&amp;quot;label&amp;quot;] = &amp;quot;Hostname&amp;quot;&lt;br /&gt;
 result[&amp;quot;value&amp;quot;][&amp;quot;hostname&amp;quot;][&amp;quot;type&amp;quot;] = &amp;quot;text&amp;quot;&lt;br /&gt;
 result[&amp;quot;value&amp;quot;][&amp;quot;hostname&amp;quot;][&amp;quot;value&amp;quot;] = &amp;quot;test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note that the first case read the existing hostname and the second case updated it. The output of the acf-cli application is a serialized version of the cfe form, which is good for testing but not too useful in real life.&lt;br /&gt;
&lt;br /&gt;
== Enable the package in the ACF web interface ==&lt;br /&gt;
&lt;br /&gt;
1. Add the web-based ACF framework:&lt;br /&gt;
&lt;br /&gt;
 setup-acf&lt;br /&gt;
&lt;br /&gt;
2. Configure all users to have access to the new hostname action. Edit &amp;quot;/etc/acf/app/test/hostname.roles&amp;quot; file and add GUEST permission for the edithostname action:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;GUEST=hostname/edithostname&amp;quot; &amp;gt; /etc/acf/app/test/hostname.roles&lt;br /&gt;
&lt;br /&gt;
The new action should now be visible by browsing to &#039;&#039;https://IP-of-host/cgi-bin/acf/test/hostname/edithostname&#039;&#039;. Obviously you might want to reconsider providing GUEST access to this action, because this allows unauthenticated users to modify your hostname.&lt;br /&gt;
&lt;br /&gt;
3. Add the new hostname action to the ACF menu. Edit &amp;quot;/etc/acf/app/test/hostname.menu&amp;quot; file and add a menu item:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;Test Hostname Edit edithostname&amp;quot; &amp;gt; /etc/acf/app/test/hostname.menu&lt;br /&gt;
&lt;br /&gt;
You will need to log off from the ACF interface (or delete the session cookie) before the new menu item will be visible.&lt;br /&gt;
&lt;br /&gt;
== Make an MVC based application ==&lt;br /&gt;
You have two options for creating an MVC based application of your own.&lt;br /&gt;
&lt;br /&gt;
1. Use the &#039;&#039;dispatch&#039;&#039; function. This is the method used by the web interface and the acf-cli applicat ... \n&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_how_to_write&amp;diff=12438</id>
		<title>ACF how to write</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_how_to_write&amp;diff=12438"/>
		<updated>2016-03-07T03:10:42Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=How to Write an ACF=&lt;br /&gt;
&lt;br /&gt;
For some examples please see the Web Configuration Framework projects in the Alpine Linux git repository&lt;br /&gt;
&lt;br /&gt;
http://git.alpinelinux.org/&lt;br /&gt;
&lt;br /&gt;
*acf-unbound - a simple ACF to control a service&lt;br /&gt;
*acf-awall - a slightly more complicated ACF for a firewall&lt;br /&gt;
*acf-provisioning - a complicated database application based on ACF&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
==From &amp;lt;nil&amp;gt; to a running ACF example application==&lt;br /&gt;
&lt;br /&gt;
===Step 1 - The Programming Language===&lt;br /&gt;
* ACF uses lua as its programming language. Have a look at [http://www.lua.org/ lua.org] before starting.&lt;br /&gt;
&lt;br /&gt;
===Step 2 - The Application Environment===&lt;br /&gt;
* Setup the ACF web application by running &#039;&#039;setup-acf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Step 3 - Create A Development Directory===&lt;br /&gt;
* In your user home create a directory for your application (e.g. mkdir ~/myapp)&lt;br /&gt;
* And cd into it (e.g. cd ~/myapp)&lt;br /&gt;
&lt;br /&gt;
===Step 4 - MVC, How Does It Affect My Coding?===&lt;br /&gt;
ACF is an MVC based framework. What does this mean to you? Your application is separated into three layers: Model, View, Controller - each of which may have one or more files.&lt;br /&gt;
* Controller: The event dispatcher. Most of the controller functionality is handled by the ACF mvc.lua code and some standard controllers (such as acf_www-controller.lua or acf_cli-controller.lua). For the controller layer of your new ACF package, you must export one lua function per action in a lua module named &#039;myapp-controller.lua&#039;. The ACF controller code will interpret the user interaction to load your new controller and fire the appropriate action - the same-named function in your controller will be called.&lt;br /&gt;
* View: The view layer defines what your application will look like. For most actions, such as forms, your application can use the built-in automatic view generation. For others, you can link to standard views which are included in the acf-core package. For other actions, such as lists of data, you may create view files, each presenting a dynamic HTML page with only as much code as necessary to display the data you receive from the controller.&lt;br /&gt;
* Model:  The &#039;real work&#039; is done in the Model (e.g. modifying config files, starting/stopping services etc.). Each action exported by your controller will call into model functions to retrieve data and carry out actions.&lt;br /&gt;
&lt;br /&gt;
===Step 5 - The Example Files To Start With===&lt;br /&gt;
Now let us have a look at the files we need to place into our application directory:&lt;br /&gt;
&lt;br /&gt;
* config.mk&lt;br /&gt;
* Makefile&lt;br /&gt;
* myapp-controller.lua&lt;br /&gt;
* myapp-model.lua&lt;br /&gt;
* myapp.roles&lt;br /&gt;
* myapp.menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;config.mk:&#039;&#039;&#039;&lt;br /&gt;
For use with the Makefile. Just copy/paste it. We will look at it later.&lt;br /&gt;
 prefix=/usr&lt;br /&gt;
 datadir=${prefix}/share&lt;br /&gt;
 sysconfdir=${prefix}/etc&lt;br /&gt;
 localstatedir=${prefix}/var&lt;br /&gt;
 acfdir=${datadir}/acf&lt;br /&gt;
 wwwdir=${acfdir}/www&lt;br /&gt;
 cgibindir=${acfdir}/cgi-bin&lt;br /&gt;
 appdir=${acfdir}/app&lt;br /&gt;
 acflibdir=${acfdir}/lib&lt;br /&gt;
 sessionsdir=${localstatedir}/lib/acf/sessions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Makefile:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Makefile is called to install our ACF application so that we can see it working.&lt;br /&gt;
 APP_NAME=myapp&lt;br /&gt;
 PACKAGE=acf-$(APP_NAME)&lt;br /&gt;
 VERSION=0.1&lt;br /&gt;
 &lt;br /&gt;
 APP_DIST=        \&lt;br /&gt;
         myapp*        \&lt;br /&gt;
 &lt;br /&gt;
 EXTRA_DIST=README Makefile config.mk&lt;br /&gt;
 &lt;br /&gt;
 DISTFILES=$(APP_DIST) $(EXTRA_DIST)&lt;br /&gt;
 &lt;br /&gt;
 TAR=tar&lt;br /&gt;
 &lt;br /&gt;
 P=$(PACKAGE)-$(VERSION)&lt;br /&gt;
 tarball=$(P).tar.bz2&lt;br /&gt;
 install_dir=$(DESTDIR)/$(appdir)/$(APP_NAME)&lt;br /&gt;
 &lt;br /&gt;
 all:&lt;br /&gt;
 clean:&lt;br /&gt;
 	rm -rf $(tarball) $(P)&lt;br /&gt;
 &lt;br /&gt;
 dist: $(tarball)&lt;br /&gt;
 &lt;br /&gt;
 install:&lt;br /&gt;
 	mkdir -p &amp;quot;$(install_dir)&amp;quot;&lt;br /&gt;
 	cp -a $(APP_DIST) &amp;quot;$(install_dir)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $(tarball):     $(DISTFILES)&lt;br /&gt;
 	rm -rf $(P)&lt;br /&gt;
 	mkdir -p $(P)&lt;br /&gt;
 	cp $(DISTFILES) $(P)&lt;br /&gt;
 	$(TAR) -jcf $@ $(P)&lt;br /&gt;
 	rm -rf $(P)&lt;br /&gt;
 &lt;br /&gt;
 # target that creates a tar package, unpacks is and install from package&lt;br /&gt;
 dist-install: $(tarball)&lt;br /&gt;
 	$(TAR) -jxf $(tarball)&lt;br /&gt;
 	$(MAKE) -C $(P) install DESTDIR=$(DESTDIR)&lt;br /&gt;
 	rm -rf $(P)&lt;br /&gt;
 &lt;br /&gt;
 include config.mk&lt;br /&gt;
 &lt;br /&gt;
 .PHONY: all clean dist install dist-install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;myapp-controller.lua:&#039;&#039;&#039;&lt;br /&gt;
 -- the myapp controller&lt;br /&gt;
 local mymodule = {}&lt;br /&gt;
 &lt;br /&gt;
 mymodule.default_action = &amp;quot;myaction&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mymodule.myaction = function(self)&lt;br /&gt;
    -- self.clientdata contains the user data&lt;br /&gt;
    -- self.model points to our model&lt;br /&gt;
    -- use the helper function to implement our form&lt;br /&gt;
    return self.handle_form(self, self.model.getdata, self.model.setdata, self.clientdata, &amp;quot;Submit&amp;quot;, &amp;quot;Edit data&amp;quot;, &amp;quot;Data Submitted&amp;quot;)&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return mymodule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;myapp-model.lua:&#039;&#039;&#039;&lt;br /&gt;
 -- acf model for myapp&lt;br /&gt;
 local mymodule = {}&lt;br /&gt;
 &lt;br /&gt;
 local cfgfile = &amp;quot;/tmp/myfile&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 -- This function returns a cfe (table of values) containing the file&#039;s&lt;br /&gt;
 -- value as a string. If the file does not exist, we&#039;ll&lt;br /&gt;
 -- simply return &amp;quot;&amp;quot; (an empty string, but NOT nil)&lt;br /&gt;
 mymodule.getdata = function(self, clientdata)&lt;br /&gt;
    local retval = cfe({ type=&amp;quot;group&amp;quot;, value={}, label=&amp;quot;Data&amp;quot; })&lt;br /&gt;
    retval.value.data = cfe({ type=&amp;quot;longtext&amp;quot;, label=&amp;quot;Data&amp;quot; })&lt;br /&gt;
 &lt;br /&gt;
    local fileptr = io.open(cfgfile, &amp;quot;r&amp;quot;)&lt;br /&gt;
    if fileptr ~= nil then&lt;br /&gt;
       retval.value.data.value = fileptr:read(&amp;quot;*a&amp;quot;) or &amp;quot;&amp;quot;&lt;br /&gt;
       fileptr:close()&lt;br /&gt;
    end&lt;br /&gt;
 &lt;br /&gt;
    return retval&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 -- This function will write new contents into our file&lt;br /&gt;
 -- The newdata parameter receives the same cfe as returned by getdata, now with the user data filled in&lt;br /&gt;
 mymodule.setdata = function(self, newdata, action)&lt;br /&gt;
    fileptr = io.open( cfgfile, &amp;quot;w+&amp;quot; )&lt;br /&gt;
    if fileptr ~= nil then&lt;br /&gt;
       fileptr:write(newdata.value.data.value)&lt;br /&gt;
       fileptr:close()&lt;br /&gt;
    else&lt;br /&gt;
       newdata.errtxt = &amp;quot;Failed to save data&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    return newdata&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 return mymodule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;myapp.roles:&#039;&#039;&#039;&lt;br /&gt;
 GUEST=myapp:myaction&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;myapp.menu:&#039;&#039;&#039;&lt;br /&gt;
 # Cat   Group   Tab     Action&lt;br /&gt;
 Test    MyApp   MyAction  myaction&lt;br /&gt;
&lt;br /&gt;
===Step 6 - What Does It Do?===&lt;br /&gt;
This program just displays a &amp;amp;lt;textarea&amp;gt; box and a &amp;quot;Submit&amp;quot; button. The user can enter text that is saved into a file once he presses &amp;quot;Submit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====In Depth====&lt;br /&gt;
Now let us have a closer look at the different files&#039; contents:&lt;br /&gt;
&lt;br /&gt;
=====myapp-controller.lua=====&lt;br /&gt;
The controller is an event dispatcher. So, here you define all the actions that the user can call or that are defined in the menu. Each action is a separate function that will receive &#039;&#039;self&#039;&#039; as the only parameter.&lt;br /&gt;
&lt;br /&gt;
In our case the action is &#039;&#039;myaction&#039;&#039; - a simple form.&lt;br /&gt;
&lt;br /&gt;
This function can call the &#039;&#039;model&#039;s&#039;&#039; functions to update and/or retrieve data (e.g. self.model.getdata()).&lt;br /&gt;
&lt;br /&gt;
Anything that this function returns will be passed on to the &#039;&#039;view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=====myapp-model.lua=====&lt;br /&gt;
The functions defined in here can be accessed by the controller to update/set/retrieve data, start/stop services, basically do any &#039;real work&#039;.&lt;br /&gt;
&lt;br /&gt;
In our case, we have implemented the getdata/setdata functions required for a form.&lt;br /&gt;
&lt;br /&gt;
The getdata function receives a copy of &#039;self&#039;, a clientdata table, and a string containing the submit action. It will generate a &#039;CFE&#039; table defining the form and including the current data.&lt;br /&gt;
&lt;br /&gt;
The setdata function is only called when the form is submitted, and it receives a copy of &#039;self&#039; and the updated form &#039;CFE&#039; now containing the submitted data. The setdata function will attempt to perform the action, returning the same form &#039;CFE&#039;. If there is an error, it will fill in the errtxt field of the &#039;CFE&#039;.&lt;br /&gt;
&lt;br /&gt;
=====myapp.roles=====&lt;br /&gt;
This file determines which users have access to which controllers and views. A separa ... \n&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_css&amp;diff=12437</id>
		<title>ACF css</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_css&amp;diff=12437"/>
		<updated>2016-03-07T03:10:38Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Draft =&lt;br /&gt;
&amp;lt;span style=&#039;color:red&#039;&amp;gt;&lt;br /&gt;
This is just a place where I want to write down some notes on css issues for Alpine.&amp;lt;BR&amp;gt;&lt;br /&gt;
Don&#039;t consider this as a Alpine documentation until/if this heading saids otherwise.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Design/coding questions =&lt;br /&gt;
Feel the need of some back-bone tabs that is general for all (or most) acf-modules.&amp;lt;BR&amp;gt;&lt;br /&gt;
This results in that a user &#039;recognizes&#039; the layout and information on every acf-module.&amp;lt;BR&amp;gt;&lt;br /&gt;
This way user easy finds what he is looking for and feels that he doesn&#039;t accidentally change something that he doesn&#039;t want to change. &lt;br /&gt;
== View-files ==&lt;br /&gt;
=== Status tab ===&lt;br /&gt;
Display information in this order&amp;lt;BR&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;(H1)&#039;&#039;&#039;&#039;&#039;(Description of the main function of this program)&#039;&#039;&#039;&#039;&#039;(/H1)&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;(H2)SYSTEM INFO(/H2)&#039;&#039;&#039;&lt;br /&gt;
* Status of the current program/process&lt;br /&gt;
* Version of program (if applicable)&lt;br /&gt;
&#039;&#039;&#039;(H3)PROGRAM SPECIFIC(/H3)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;(Some program specific information)&#039;&#039;&lt;br /&gt;
* &#039;&#039;(Some program specific information)&#039;&#039;&lt;br /&gt;
=== Config tab ===&lt;br /&gt;
&#039;&#039;&#039;(H1)&#039;&#039;&#039;&#039;&#039;(Description of the main function of this program)&#039;&#039;&#039;&#039;&#039;(/H1)&#039;&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
&#039;&#039;Above information is same for each tab (expert, status, config, whatever).&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;(H2)CONFIGURATION(/H2)&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;(H3)GENERAL SETTINGS(/H3)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Enable/Disable this process&#039;&#039;&#039; [ ]enable  [x]disable&lt;br /&gt;
* &#039;&#039;(Some general settings)&#039;&#039;&lt;br /&gt;
* &#039;&#039;(Some general settings)&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;(H3)&#039;&#039;&#039;&#039;&#039;(Some other category of settings)&#039;&#039;&#039;&#039;&#039;(/H3)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;(Some specific settings)&#039;&#039;&lt;br /&gt;
* &#039;&#039;(Some specific settings)&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;(H3)&#039;&#039;&#039;&#039;&#039;(Some other category of settings)&#039;&#039;&#039;&#039;&#039;(/H3)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;(Some specific settings)&#039;&#039;&lt;br /&gt;
* &#039;&#039;(Some specific settings)&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;(H2)APPLY CHANGES(/H2)&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Apply above changes&#039;&#039;&#039; [Apply]&lt;br /&gt;
=== Expert tab ===&lt;br /&gt;
Show the config file(s) in plain text and let the &#039;expert&#039; modify them as he wants (and hope that the &#039;expert&#039; knows what he&#039;s doing)&lt;br /&gt;
&lt;br /&gt;
= CSS =&lt;br /&gt;
== BR ==&lt;br /&gt;
I think that the use of BR is not that big.&amp;lt;BR&amp;gt;&lt;br /&gt;
Instead you could do...&lt;br /&gt;
 &#039;&#039;&#039;(P)&#039;&#039;&#039; your text &#039;&#039;&#039;(/P)&#039;&#039;&#039; &#039;&#039;&#039;(P)&#039;&#039;&#039; some other text &#039;&#039;&#039;(/P)&#039;&#039;&#039;&lt;br /&gt;
== H1,H2,H3 ==&lt;br /&gt;
These headings are (as most other things) defined by the css.&amp;lt;BR&amp;gt;&lt;br /&gt;
By using these you can split your page into sections that handle different parts of functions or data.&lt;br /&gt;
* &#039;&#039;&#039;H1&#039;&#039;&#039; &#039;&#039;(Main data under the &#039;main&#039; heading)&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;H2&#039;&#039;&#039; &#039;&#039;(Data related to the &#039;main&#039; heading, but is sectioned into a sub-heading)&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;H3&#039;&#039;&#039; &#039;&#039;(A sub-heading to previous heading)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== PRE ==&lt;br /&gt;
&#039;&#039;&#039;PRE&#039;&#039;&#039; is used to display data &#039;as it comes out from the system&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;PRE&#039;&#039;&#039; doesn&#039;t change the linefeed and other things.&lt;br /&gt;
== DL,DT,DD ==&lt;br /&gt;
When you want to present some data, your are limited to the &#039;&#039;&#039;(DIV ID=content)&#039;&#039;&#039;.&amp;lt;BR&amp;gt;&lt;br /&gt;
Below you are supposed to use &#039;&amp;lt;&#039; and &#039;&amp;gt;&#039; instead of &#039;(&#039; and &#039;)&#039; when you use P, DL, DD or some other html tag.&amp;lt;BR&amp;gt;&lt;br /&gt;
Often you present some information on a row, and on the next row you present the next information.&amp;lt;BR&amp;gt;&lt;br /&gt;
* If you want to use 100% of available width you could...&lt;br /&gt;
 &#039;&#039;&#039;(P)&#039;&#039;&#039; Whatever your text is that you want to present &#039;&#039;&#039;(/P)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In some cases you want to specify some description on what your data is (like a heading). Then you could...&lt;br /&gt;
* Use DT/DD fileds...&lt;br /&gt;
 &#039;&#039;&#039;(DT)&#039;&#039;&#039;The value is:&#039;&#039;&#039;(/DT) (DD)&#039;&#039;&#039;1235&#039;&#039;&#039;(/DD)&#039;&#039;&#039;&lt;br /&gt;
The use of &#039;&#039;&#039;(DL)&#039;&#039;&#039; is still not defined.&amp;lt;br&amp;gt;&lt;br /&gt;
By using these above types of presenting data, you let the style sheet (css) present your output in a nice way.&amp;lt;BR&amp;gt;&lt;br /&gt;
This also makes it possible to add new style sheets when needed.&amp;lt;BR&amp;gt;&lt;br /&gt;
Try not to specify a width or other graphical settings in your view-files.&amp;lt;BR&amp;gt;Let the css do it for you (and if the css can&#039;t handle it for the moment... then we just fix the css)&lt;br /&gt;
&lt;br /&gt;
== DIV ==&lt;br /&gt;
* ID&lt;br /&gt;
** This attribute assigns a name to an element.&lt;br /&gt;
** This name must be unique in a document&lt;br /&gt;
*** [http://www.w3.org/TR/html4/struct/global.html#h-7.5.2 w3.org]&lt;br /&gt;
* CLASS&lt;br /&gt;
** This attribute assigns a class name or set of class names to an element.&lt;br /&gt;
** Any number of elements may be assigned the same class name or names.&lt;br /&gt;
** Multiple class names must be separated by white space characters.&lt;br /&gt;
*** [http://www.w3.org/TR/html4/struct/global.html#h-7.5.2 w3.org]&lt;br /&gt;
&lt;br /&gt;
=== DIV CLASS=... ===&lt;br /&gt;
&lt;br /&gt;
==== leader/tailer(class) ====&lt;br /&gt;
Would it be a good idea to have a leader/tailer class inside every (DIV ID)?&lt;br /&gt;
* leader(class)&lt;br /&gt;
* Main content&lt;br /&gt;
* tailer(class)&lt;br /&gt;
The leader/tailer(class) could be used ether to display information or could be used for graphical changes (with the CSS)?!?!&lt;br /&gt;
&lt;br /&gt;
==== hide(class) ====&lt;br /&gt;
By adding class=&#039;hide&#039; to some object, you could hide it.&lt;br /&gt;
&lt;br /&gt;
==== mute(class) ====&lt;br /&gt;
The &#039;&#039;&#039;mute&#039;&#039;&#039; class could be used to show &amp;quot;quiet&amp;quot; items that aren&#039;t quite hidden.  Perhaps smaller font, greyed out, etc... &amp;quot;extra info&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== header(class) ====&lt;br /&gt;
Could be used to decorate header rows in a table (e.g. colored background and bold text).&lt;br /&gt;
&lt;br /&gt;
==== selected(class) ====&lt;br /&gt;
This could mark tabs/menus which is selected/current.&lt;br /&gt;
&lt;br /&gt;
==== error(class) ====&lt;br /&gt;
This could mark text/background/whatever so your attention is drawn to this.&amp;lt;BR&amp;gt;&lt;br /&gt;
Could indicate that you are forced to take some action or change something.&lt;br /&gt;
&lt;br /&gt;
==== attention(class) ====&lt;br /&gt;
This could mark text/background/whatever so your attention is drawn to this.&lt;br /&gt;
&lt;br /&gt;
=== DIV ID=... ===&lt;br /&gt;
==== header (id) ====&lt;br /&gt;
 [Skip to main content]&amp;lt;BR&amp;gt;&lt;br /&gt;
 Alpine Linux &#039;&#039;(or maybe hostname)&#039;&#039;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== main (id) ====&lt;br /&gt;
&lt;br /&gt;
===== nav (id) =====&lt;br /&gt;
 Navigation (main)&amp;lt;BR&amp;gt;&lt;br /&gt;
 Where we have been&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== subnav (id) =====&lt;br /&gt;
 Navigation (subnav)&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== content (id) =====&lt;br /&gt;
 Main content of the page.&amp;lt;BR&amp;gt;&lt;br /&gt;
 This is where the interesting information is shown.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== footer (id) ====&lt;br /&gt;
 Made with care by webconf&lt;br /&gt;
&lt;br /&gt;
=== Graphical presentation ===&lt;br /&gt;
  -------------------&lt;br /&gt;
 / header&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 | / leader (class)&lt;br /&gt;
 | \                  [Skip to main content] &lt;br /&gt;
 |  -----------------&lt;br /&gt;
 |                    (H1)Alpine Linux(/H1) &#039;&#039;(or maybe hostname)&#039;&#039;&lt;br /&gt;
 |&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 | / trailer (class)&lt;br /&gt;
 | \&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 \&lt;br /&gt;
  -------------------&lt;br /&gt;
  -------------------&lt;br /&gt;
 / main&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 | / leader (class)&lt;br /&gt;
 | \&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 | / nav&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | | / leader (class)&lt;br /&gt;
 | | \&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | |                  Navigation (main) (and its items)&lt;br /&gt;
 | |&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | | / trailer (class)&lt;br /&gt;
 | | \                Where we have been&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | \&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 | / subnav&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | | / leader (class)&lt;br /&gt;
 | | \&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | |                  Navigation (subnav) (and its items)&lt;br /&gt;
 | |&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | | / trailer (class)&lt;br /&gt;
 | | \&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | \&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 | / content&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | | / leader (class)&lt;br /&gt;
 | | \&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | |                  Main content of the page.&lt;br /&gt;
 | |&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | | / trailer (class)&lt;br /&gt;
 | | \&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | \&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 | / footer&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | | / leader (class)&lt;br /&gt;
 | | \&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | |                  Made with care by webconf&lt;br /&gt;
 | |&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | | / trailer (class)&lt;br /&gt;
 | | \&lt;br /&gt;
 | |  ---------------&lt;br /&gt;
 | \&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 | / tailer (class)&lt;br /&gt;
 | \&lt;br /&gt;
 |  -----------------&lt;br /&gt;
 \ ... \n&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_core_principles&amp;diff=12436</id>
		<title>ACF core principles</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_core_principles&amp;diff=12436"/>
		<updated>2016-03-07T03:10:35Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While the mvc.lua code provides a generic framework for any lua &amp;quot;mvc&amp;quot;-based application, &amp;quot;acf&amp;quot; is the component that makes the mvc.lua framework into a web configuration Application. Some ideas and rationales for application-wide settings are discussed here.&lt;br /&gt;
&lt;br /&gt;
= Use of &#039;&#039;cfe&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;cfe&#039;&#039; (&#039;&#039;&#039;C&#039;&#039;&#039;onfiguration &#039;&#039;&#039;F&#039;&#039;&#039;ramework &#039;&#039;&#039;E&#039;&#039;&#039;ntity) is a way to pass data between a model, controller and view in a common way. There are many ways to do this (e.g. closures, AKClass); use of cfe is an arbitrary decision just to keep development moving forward.&lt;br /&gt;
&lt;br /&gt;
A cfe is a table with some fields guaranteed to exist. It is also a way to abstract user-modifiable data from view-centric HTML input types. ACF isn&#039;t necessarily web-only. With a different controller and views, it could be cli (or gui?!). The acf-cli application is an example of this.&lt;br /&gt;
&lt;br /&gt;
== Fields in all cfes  ==&lt;br /&gt;
&lt;br /&gt;
cfe&#039;s are constructed from a function in &amp;lt;tt&amp;gt;mvc.lua&amp;lt;/tt&amp;gt; that returns an anonymous table with the following fields&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 ! Field !! Default !! Description&lt;br /&gt;
 |-&lt;br /&gt;
 |value || &amp;quot;&amp;quot; || The value of the cfe (e.g. the IP address, hostname, password, etc.)&lt;br /&gt;
 |-&lt;br /&gt;
 |type || &amp;quot;text&amp;quot; || The type of entity (see below)&lt;br /&gt;
 |-&lt;br /&gt;
 |label || &amp;quot;&amp;quot;  || User-readable label for the value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The reason for having these fields pre-defined is to allow models, controllers and views to use the indexes without having to first check if they exist. For example the entity will always have a value and type.&lt;br /&gt;
&lt;br /&gt;
cfe&#039;s can have other fields.  Some common fields that may, or may not, be present:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 ! Field !! Description&lt;br /&gt;
 |-&lt;br /&gt;
 |errtxt || Text explaining why validation failed&lt;br /&gt;
 |-&lt;br /&gt;
 |option || A list of options for this value&lt;br /&gt;
 |-&lt;br /&gt;
 |descr || User-readable description for the value&lt;br /&gt;
 |-&lt;br /&gt;
 |seq || Numeric sequence suggesting display order for cfe&#039;s in a group or form&lt;br /&gt;
 |-&lt;br /&gt;
 |default || Default value (can be displayed to user)&lt;br /&gt;
 |-&lt;br /&gt;
 |readonly || If present, indicates that the information is to be displayed, but not editable, typically used in forms&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To set fields or overwrite field defaults, specify a table in the argument list to the cfe constructor:&lt;br /&gt;
&lt;br /&gt;
:mycfe = cfe({label=&amp;quot;User&amp;quot;, value=&amp;quot;asdf&amp;quot;, errtxt=&amp;quot;Invalid User&amp;quot;})&lt;br /&gt;
is equivalent to&lt;br /&gt;
:mycfe = {label=&amp;quot;User&amp;quot;, value=&amp;quot;asdf&amp;quot;, type=&amp;quot;text&amp;quot;, errtxt=&amp;quot;Invalid User&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
== cfe types ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;type&#039;&#039; field of a cfe can be one of the following:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 ! type !! Description !! Modifiers &lt;br /&gt;
 |-&lt;br /&gt;
 | text || a text field, typically one line of text ||&lt;br /&gt;
 |-&lt;br /&gt;
 | longtext || a multi-line text field, like a textarea  ||&lt;br /&gt;
 |-&lt;br /&gt;
 | select || a select list || &#039;&#039;value&#039;&#039; is the currently selected item &amp;lt;br&amp;gt;&#039;&#039;option&#039;&#039; is an array of select options &lt;br /&gt;
 |-&lt;br /&gt;
 | multi || a multi-select list || &#039;&#039;value&#039;&#039; is an array of selected items &amp;lt;br&amp;gt;&#039;&#039;option&#039;&#039; is an array of select options &lt;br /&gt;
 |-&lt;br /&gt;
 | list || a list || &#039;&#039;value&#039;&#039; is an array of strings&lt;br /&gt;
 |-&lt;br /&gt;
 | boolean || true or false ||&lt;br /&gt;
 |-&lt;br /&gt;
 | raw || raw binary data || &lt;br /&gt;
 |-&lt;br /&gt;
 | form || a set of cfe&#039;s that make up a form || &#039;&#039;value&#039;&#039; is a table of cfe&#039;s that make up a form (the table should be name-indexed)&amp;lt;br&amp;gt;&#039;&#039;option&#039;&#039; is the command name to save changes (button name for HTML)&amp;lt;br&amp;gt;&#039;&#039;descr&#039;&#039; or &#039;&#039;errtxt&#039;&#039; may contain the result of a save attempt&lt;br /&gt;
 |-&lt;br /&gt;
 |  group || a set of cfe&#039;s that make up an anonymous group || &#039;&#039;value&#039;&#039; is a table of grouped cfe&#039;s (can be used to pass several items to a view) (the table should be name-indexed)&lt;br /&gt;
 |-&lt;br /&gt;
 |  structure || a Lua table with no further type info || &lt;br /&gt;
 |-&lt;br /&gt;
 |  password || a password which should not be readable by a user || &lt;br /&gt;
 |-&lt;br /&gt;
 |  hidden || a hidden field typically containing information used by ACF and not visible to a user || &lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
= The Model defines the object set =&lt;br /&gt;
&lt;br /&gt;
The model is responsible for writing and reading from the running system. The model typically does not need to know which part of a specific acf module it is running under. It is not mandatory that the model be lua &amp;quot;oop&amp;quot; as the rest of the system is. (the model may not have any need to know &amp;quot;self&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Since the model can choose how much or how little of the system to expose, the basic data set should be defined in the model.&lt;br /&gt;
&lt;br /&gt;
[[Category:ACF]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_acf_www_example&amp;diff=12435</id>
		<title>ACF acf www example</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_acf_www_example&amp;diff=12435"/>
		<updated>2016-03-07T03:10:31Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Obsolete }}&lt;br /&gt;
= Set the hostname with a web interface =&lt;br /&gt;
&lt;br /&gt;
In this example we will use the hostname-model.lua and hostname-controller.lua from the previous example to set the hostname using the acf web interface.&lt;br /&gt;
&lt;br /&gt;
For this example, we will assume you have root access on the linux box you are running on (preferably an alpine box!)&lt;br /&gt;
&lt;br /&gt;
== Use the existing code  ==&lt;br /&gt;
&lt;br /&gt;
We should have &#039;&#039;&#039;mvc.lua&#039;&#039; in the current directory, with the controller and model in &#039;&#039;helloworld/app&#039;&#039;  The Controller and Model look the same as the end of the mvc.lua example, except we&#039;ve taken out the on_load, pre_exec, post_exec, and on_unload methods. &lt;br /&gt;
&lt;br /&gt;
=== helloworld/app/hostname-controller.lua ===&lt;br /&gt;
 -- hostname controller code &lt;br /&gt;
 &lt;br /&gt;
 module ( ... , package.seeall )&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 create = function (self )      &lt;br /&gt;
         return self.model.update(self.clientdata.hostname)&lt;br /&gt;
 end                                   &lt;br /&gt;
    &lt;br /&gt;
 read = function (self)&lt;br /&gt;
         return self.model.read()&lt;br /&gt;
 end                             &lt;br /&gt;
 &lt;br /&gt;
 update =  create&lt;br /&gt;
    &lt;br /&gt;
 delete = function (self )&lt;br /&gt;
         self.clientdata.hostname=&amp;quot;&amp;quot;                      &lt;br /&gt;
         return self.worker:create()       &lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== helloworld/app/hostname-model.lua ===&lt;br /&gt;
 -- Model functions for retrieving / setting the hostname&lt;br /&gt;
 module ( ..., package.seeall )&lt;br /&gt;
 &lt;br /&gt;
 -- All functions return a table with&lt;br /&gt;
 -- A value, the type of the value, and a message if there was an error&lt;br /&gt;
 &lt;br /&gt;
 local hosttype={ type=&amp;quot;string&amp;quot; }&lt;br /&gt;
 &lt;br /&gt;
 update= function ( name )&lt;br /&gt;
         -- Check to make sure the name is valid &lt;br /&gt;
 &lt;br /&gt;
         if (name == nil) then&lt;br /&gt;
                 hosttype.msg = &amp;quot;Hostname cannot be nil&amp;quot;&lt;br /&gt;
         elseif (#name &amp;gt; 16) then&lt;br /&gt;
                 hosttype.msg = &amp;quot;Hostname must be less than 16 chars&amp;quot;&lt;br /&gt;
         elseif (string.find(name, &amp;quot;[^%w%_%-]&amp;quot;)) then&lt;br /&gt;
                 hosttype.msg = &amp;quot;Hostname can contain alphanumerics only&amp;quot;&lt;br /&gt;
         end&lt;br /&gt;
 &lt;br /&gt;
         -- If it is, set the hostname&lt;br /&gt;
         if (hosttype.msg == nil ) then&lt;br /&gt;
                 local f = io.open(&amp;quot;/etc/hostname&amp;quot;, &amp;quot;w&amp;quot;)&lt;br /&gt;
                 if f then&lt;br /&gt;
                         f:write(name .. &amp;quot;\n&amp;quot;)&lt;br /&gt;
                         f:close()&lt;br /&gt;
                 end&lt;br /&gt;
                 f = io.popen (&amp;quot;/bin/hostname -F /etc/hostname&amp;quot;)&lt;br /&gt;
                 f:close()&lt;br /&gt;
                 return read()&lt;br /&gt;
         -- Otherwise, return the error message&lt;br /&gt;
         else&lt;br /&gt;
                 hosttype.value = name&lt;br /&gt;
                 return hosttype&lt;br /&gt;
         end&lt;br /&gt;
 end&lt;br /&gt;
 &lt;br /&gt;
 read= function ()&lt;br /&gt;
         local f = io.popen (&amp;quot;/bin/hostname&amp;quot;)&lt;br /&gt;
         local n = f:read(&amp;quot;*a&amp;quot;) or &amp;quot;none&amp;quot;&lt;br /&gt;
         f:close()&lt;br /&gt;
         n=string.gsub(n, &amp;quot;\n$&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
         hosttype.value = n&lt;br /&gt;
         return (hosttype) &lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
== Get and configure ACF ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Grab a copy of all the acf code and support libraries from svn and copy into an &amp;quot;/usr/share/acf&amp;quot; directory&lt;br /&gt;
&lt;br /&gt;
 svn export svn://svn.alpinelinux.org/acf/core/trunk /usr/share/acf&lt;br /&gt;
&lt;br /&gt;
2. Copy the acf.conf file to /etc/acf&lt;br /&gt;
&lt;br /&gt;
 cp /usr/share/acf/acf.conf /etc/acf/acf.conf&lt;br /&gt;
&lt;br /&gt;
3. Start the web server &lt;br /&gt;
&lt;br /&gt;
You&#039;ll need haserl, lua, and mini_httpd installed to run acf.  If not already done, please install them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Start mini_httpd (by hand for now)&lt;br /&gt;
&lt;br /&gt;
  mini_httpd -d /usr/share/acf/www -c &#039;cgi-bin/**&#039; start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Move your hostname model and controller&lt;br /&gt;
&lt;br /&gt;
  mkdir /usr/share/acf/app/sample&lt;br /&gt;
  mv helloworld/app/hostname-* /usr/share/acf/app/sample/&lt;br /&gt;
&lt;br /&gt;
5. Create a new view template, which is a &amp;quot;lua server page&amp;quot;  Create the file as &#039;&#039;/usr/share/acf/app/sample/hostname-html.lsp&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;? local form = ... ?&amp;gt;                                                                          &lt;br /&gt;
 &amp;amp;lt;h1&amp;amp;gt;Hostname&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;form action=&amp;quot;update&amp;quot; method=post&amp;amp;gt;                                                          &lt;br /&gt;
 &amp;amp;lt;p&amp;amp;gt;The Hostname is now &amp;amp;lt;input name=hostname value=&amp;quot;&amp;amp;lt;?= form.value ?&amp;amp;gt;&amp;quot;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                                                                                             &lt;br /&gt;
 &amp;amp;lt;p&amp;amp;gt;input type=submit value=Submit&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/form&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Create a new roles file, which gives all users permission to access your actions. Create the file as &#039;&#039;/usr/share/acf/app/sample/hostname.roles&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 GUEST=hostname/read,hostname/update&lt;br /&gt;
&lt;br /&gt;
== Try the app ==&lt;br /&gt;
&lt;br /&gt;
point your browser to your host/cgi-bin/acf/sample/hostname/read&lt;br /&gt;
&lt;br /&gt;
You should now be able to update the hostname using the web interface, and your &#039;&#039;existing&#039;&#039; model and controller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ACF]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_acf_www-controller.lua_reference&amp;diff=12434</id>
		<title>ACF acf www-controller.lua reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_acf_www-controller.lua_reference&amp;diff=12434"/>
		<updated>2016-03-07T03:10:27Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== acf_www-controller.lua reference ==&lt;br /&gt;
&lt;br /&gt;
The acf_www-controller.lua provides the basic dispatcher, exception handler, and application-wide functions for the acf web application.&lt;br /&gt;
&lt;br /&gt;
=== build_menus ( self ) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(internal function)&#039;&#039; Builds the permissions and menu tables and stores them in &#039;&#039;self.sessiondata&#039;&#039; for use on each page throughout the user session.&lt;br /&gt;
&lt;br /&gt;
# Searches for roles files to determine which controllers and actions the current user has permission to view&lt;br /&gt;
# Searches for menu files to create the entire menu structure&lt;br /&gt;
# Removes from the menu any actions for which the user does not have permission&lt;br /&gt;
&lt;br /&gt;
=== check_permission ( self, controller, action ) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(internal function)&#039;&#039; Returns a boolean to tell whether or not this user is permitted to access this controller/action combo.  The decision is based upon the permissions table in &#039;&#039;self.sessiondata&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== find_template ( appdir, prefix, controller, action, viewtype ) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(internal function)&#039;&#039; Looks for a .lsp (Lua Server Page) template.  Looks for the first matching:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;appdir/prefix&#039;&#039;/template-&#039;&#039;controller-action-viewtype&#039;&#039;.lsp&lt;br /&gt;
# &#039;&#039;appdir/prefix&#039;&#039;/template-&#039;&#039;controller-viewtype&#039;&#039;.lsp&lt;br /&gt;
# &#039;&#039;appdir/prefix&#039;&#039;/template-&#039;&#039;action-viewtype&#039;&#039;.lsp&lt;br /&gt;
# &#039;&#039;appdir/prefix&#039;&#039;/template-&#039;&#039;viewtype&#039;&#039;.lsp&lt;br /&gt;
&lt;br /&gt;
It repeats through each upper level of prefix until prefix is &amp;quot;nil&amp;quot;.&lt;br /&gt;
Returns the first found lsp, or false.&lt;br /&gt;
&lt;br /&gt;
=== find_view ( appdir, prefix, controller, action, viewtype ) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(internal function)&#039;&#039; Looks for a .lsp (Lua Server Page) view.  Looks for the first matching:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;appdir/prefix/controller-action-viewtype&#039;&#039;.lsp&lt;br /&gt;
# &#039;&#039;appdir/prefix/controller-viewtype&#039;&#039;.lsp&lt;br /&gt;
&lt;br /&gt;
=== has_view ( self ) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(internal function)&#039;&#039; Returns true if there is a .lsp (Lua Server Page) view specifically for this action.&lt;br /&gt;
&lt;br /&gt;
=== dispatch_component ( str, clientdata, suppress_view ) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(internal function)&#039;&#039; This function is made available to each view file to allow loading of components (sub-actions).  It will launch a new controller/action, passing any clientdata, and return the result of the action.  If &#039;&#039;suppress_view&#039;&#039; is not true, it will display the component action&#039;s view.&lt;br /&gt;
&lt;br /&gt;
=== create_helper_library ( self ) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(internal function)&#039;&#039; Creates a helper library to be passed to each view.  Currently, the only function passed is &#039;&#039;dispatch_component&#039;&#039;, but in the future functions that need access to &#039;&#039;self&#039;&#039; may be added.&lt;br /&gt;
&lt;br /&gt;
=== view_resolver ( self ) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(internal function)&#039;&#039; Returns a function that will run the template and view.  The template is found with &#039;&#039;find_template&#039;&#039;, and the view with &#039;&#039;find_view&#039;&#039;.  Also generates and returns the view parameters besides viewtable.&lt;br /&gt;
&lt;br /&gt;
=== mvc.on_load ( self, parent ) ===&lt;br /&gt;
&lt;br /&gt;
Sets up &#039;&#039;self.conf&#039;&#039; and &#039;&#039;self.sessiondata&#039;&#039;.  If the client reports a session id, this function will attempt to load the existing session.  If not, a new session is created and &#039;&#039;build_menus&#039;&#039; is called to fill in the permissions and menu tables.&lt;br /&gt;
&lt;br /&gt;
=== mvc.on_unload ( self ) ===&lt;br /&gt;
&lt;br /&gt;
Saves the session data before returning.  This function will be called after the action is complete and before the view is displayed.&lt;br /&gt;
&lt;br /&gt;
=== exception_handler ( self, message ) ===&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;message&#039;&#039; is a table and &#039;&#039;message.type&#039;&#039;=&amp;quot;redir&amp;quot;, then issues a 302 Moved to the client, with the target of the redirect being &#039;&#039;message.prefix/message.controller/message.action message.extra&#039;&#039;  If found while displaying a component, an error message is output instead.&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;message.type&#039;&#039; is &amp;quot;redir_to_referrer&amp;quot;, then issues a 302 Moved to the client, with the target of the redirect being the referring page.&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;message.type&#039;&#039; is &amp;quot;dispatch&amp;quot;, then calls the parent (mvc.lua) exception handler.&lt;br /&gt;
&lt;br /&gt;
Otherwise, calls the parent (mvc.lua) exception handler.&lt;br /&gt;
&lt;br /&gt;
=== dispatch ( self, prefix, controller, action ) ===&lt;br /&gt;
&lt;br /&gt;
Overload of the MVC &#039;&#039;dispatch&#039;&#039; function to check permissions (and redirect if not allowed), handle components, pass more data to the view, and allow display of views without actions.  Controller actions are executed in a protected xpcall.&lt;br /&gt;
&lt;br /&gt;
# Checks if user has permission to access this controller/action by calling &#039;&#039;check_permission&#039;&#039;&lt;br /&gt;
## If no permission to action, redirects to default action&lt;br /&gt;
## If no permission to controller, redirects to default controller/action&lt;br /&gt;
# If the controller/action exists&lt;br /&gt;
## Creates a &#039;&#039;&#039;self:new ( prefix .. controller)&#039;&#039;&#039; mvc object&lt;br /&gt;
## Runs any existing &#039;&#039;worker.mvc.pre_exec&#039;&#039; function&lt;br /&gt;
## Runs the &#039;&#039;worker.&#039;&#039;&#039;action&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
## Runs any existing &#039;&#039;worker.mvc.post_exec&#039;&#039; function&lt;br /&gt;
## Calls &#039;&#039;destroy&#039;&#039; to destroy the mvc object&lt;br /&gt;
# Gets the view function and parameters from &#039;&#039;view_resolver&#039;&#039;&lt;br /&gt;
# Executes the view with the result of the &#039;&#039;worker.&#039;&#039;&#039;action&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
# Returns the result of the &#039;&#039;worker.&#039;&#039;&#039;action&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If an error occurs, an exception_handler function is run.  If possible, the exception handler of the new mvc object is run, otherwise &#039;&#039;self::exception_handler&#039;&#039; function handles the error.  If an exception occurs after creating the new mvc object, &#039;&#039;mvc.on_unload&#039;&#039; is guaranteed to run, but &#039;&#039;mvc.post_exec&#039;&#039; is not.&lt;br /&gt;
&lt;br /&gt;
=== redirect ( self, str ) ===&lt;br /&gt;
&lt;br /&gt;
Cause a redirect to the specified path. If a prefix or controller is not found in the string, use the current prefix and/or controller. If an action is not found in the string, use the default action. The actual redirection is defined in &#039;&#039;exception_handler&#039;&#039;. This function can be called by an action to redirect to another action rather than display it&#039;s own view.  Note: The controller post_exec function will not be called after redirect is called.&lt;br /&gt;
&lt;br /&gt;
=== redirect_to_referrer ( self ) ===&lt;br /&gt;
&lt;br /&gt;
If we&#039;ve acted on a command, put the result in the session and cause a redirect to the referring page (assuming it&#039;s different). If not, check to see if there is a result in the session from a previous redirection.  The actual redirection is defined in &#039;&#039;exception_handler&#039;&#039;. This function should be called by an action to redirect to the referring page rather than display it&#039;s own view. This allows actions that are used as components to display the container view after completing the requested command, and then display the result when reloaded as a component.  Note: The controller post_exec function will not be called if redirect_to_referrer causes a redirection.&lt;br /&gt;
&lt;br /&gt;
=== logevent ( message ) ===&lt;br /&gt;
&lt;br /&gt;
Writes a message to the acf log file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ACF]] [[Category:Lua]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF_Libraries&amp;diff=12433</id>
		<title>ACF Libraries</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF_Libraries&amp;diff=12433"/>
		<updated>2016-03-07T03:10:23Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= ACF Libraries =&lt;br /&gt;
Because of using lua, a very small language, the need arises to build everything from scratch. This can lead to some confusion, apprehension, or just feeling overwhelmed. Here is documentation on what we have now in the form of libraries and common functions. We hope to build some more and use this information to get the juices flowing in regard to ACF. &lt;br /&gt;
&lt;br /&gt;
Some of these are lua libs or ones written for ACF.&lt;br /&gt;
We are also using as a standard the lposix library which is documented here [[LPOSIX]]&lt;br /&gt;
&lt;br /&gt;
== Generic Libraries (acf-lib) ==&lt;br /&gt;
&lt;br /&gt;
===[[apk.lua]]===&lt;br /&gt;
Functions to load/unload apk packages&lt;br /&gt;
* delete - Deletes a package&lt;br /&gt;
* install - Installs a package&lt;br /&gt;
* version - Checks a package&#039;s installed version&lt;br /&gt;
&lt;br /&gt;
===[[date.lua]]===&lt;br /&gt;
Date and time functions&lt;br /&gt;
To be used with os.time() and os.date()&lt;br /&gt;
*date_to_seconds - Takes a date table and converts it to seconds from 1970&lt;br /&gt;
*seconds_to_date - Takes table of seconds values and converts to a date sorted smallest to largest&lt;br /&gt;
*string_to_table&lt;br /&gt;
*date_diff - Takes two values of seconds and gives back the difference&lt;br /&gt;
*num_month_name - Month number to name of month&lt;br /&gt;
*num_month_name_abr - Month number to abr of month&lt;br /&gt;
*name_month_num - Month name to number&lt;br /&gt;
*abr_month_num - Month abbreviation to number&lt;br /&gt;
*num_dow_name - Day of Week number to name&lt;br /&gt;
*num_dow_name_abr - Day of week number to abbreviation&lt;br /&gt;
*name_dow_num - Day of Week full name to number&lt;br /&gt;
*abr_dow_num - Day of week abbreviation to number&lt;br /&gt;
*what_tz - Checks to see what timezone the box is set to; /etc/TZ&lt;br /&gt;
*change_tz - Changes the timezone&lt;br /&gt;
**Tables are included with this information&lt;br /&gt;
***Timezones&lt;br /&gt;
***Days of Week&lt;br /&gt;
***Months of the Year&lt;br /&gt;
&lt;br /&gt;
===[[format.lua]]===&lt;br /&gt;
Used to format tables and strings&lt;br /&gt;
*dostounix - Converts DOS line endings to Unix&lt;br /&gt;
*escapemagiccharacters - Escape Lua magic characters&lt;br /&gt;
*escapespecialcharacters - Escape shell special characters&lt;br /&gt;
*parse_lines - Takes out the blank and commented lines&lt;br /&gt;
*parse_linesandwords - Removes blanks and comments, and parses each line for words &lt;br /&gt;
*parse_configfile - Parses a config file for name/value pairs&lt;br /&gt;
*search_replace - Goes through a table of lines to search and replace&lt;br /&gt;
*search_for_lines - Goes through a file or table of lines and returns a table of matching lines&lt;br /&gt;
*cap_begin_word - Capitalizes beginning of words&lt;br /&gt;
*string_to_table - Takes a delimited string and turns it into a table&lt;br /&gt;
*expand_bash_syntax_vars - Takes a string and expands any ${...} constructs with the Lua variable&lt;br /&gt;
*replace_line - Removes the indicated line from a string and replaces it&lt;br /&gt;
*insert_line - Inserts a new line at the indicated location in a string&lt;br /&gt;
*get_line - Returns the specified line by number&lt;br /&gt;
*opts_to_table - Searches an option string for separate options and puts them in a table&lt;br /&gt;
*table_to_opts - Goes through an options table and creates the option string&lt;br /&gt;
*update_ini_file - Set a value in a particular ini section&lt;br /&gt;
*parse_ini_file - Read a value / values from an ini file&lt;br /&gt;
*get_ini_section - Read an entire section from an ini file&lt;br /&gt;
*set_ini_section - Set an entire section in an ini file&lt;br /&gt;
*get_ini_entry - Get an entry value from an ini file, accounting for parent sections and variables&lt;br /&gt;
&lt;br /&gt;
=== [[fs.lua]] ===&lt;br /&gt;
Used for various filesystem specific functions&lt;br /&gt;
*is_dir  - Test if the path is a directory&lt;br /&gt;
*is_file - Test if the path is a file&lt;br /&gt;
*is_link - Test if the path is a link&lt;br /&gt;
*create_directory - Creates a directory if it doesn&#039;t exist, including the parent dirs&lt;br /&gt;
*remove_directory - Deletes a directory along with its contents&lt;br /&gt;
*create_file - Creates a blank file (and the directory if necessary)&lt;br /&gt;
*copy_properties - Copies the permissions and ownership of one file to another&lt;br /&gt;
*copy_file - Copies a file to a directory or new filename (creating the directory if necessary)&lt;br /&gt;
*move_file - Moves a file to a directory or new filename (creating the directory if necessary)&lt;br /&gt;
*read_file / read_file_as_array - Reads a file as a string / array&lt;br /&gt;
*write_file - Replaces contents of a file&lt;br /&gt;
*write_line_file - Appends lines to a file&lt;br /&gt;
*find_files_as_array - Returns an array of files under &amp;quot;where&amp;quot; that match &amp;quot;what&amp;quot; (a Lua pattern)&lt;br /&gt;
*find - Give a path and a search string and iterate over matching files&lt;br /&gt;
*stat - Does almost the same as posix.stat, but instead it writes the output human readable&lt;br /&gt;
&lt;br /&gt;
=== [[html.lua]] ===&lt;br /&gt;
Used to generate HTML code.&lt;br /&gt;
*cookie.set - Creates a cookie&lt;br /&gt;
*cookie.unset - Clears a cookie&lt;br /&gt;
*html_escape - Escapes HTML encoded strings&lt;br /&gt;
*entity - Outputs tags such as h1, h2, p, etc.&lt;br /&gt;
*link - Creates a link tag&lt;br /&gt;
*Form setup functions - Create form tags&lt;br /&gt;
**form.text&lt;br /&gt;
**form.longtext&lt;br /&gt;
**form.password&lt;br /&gt;
**form.hidden&lt;br /&gt;
**form.submit&lt;br /&gt;
**form.action&lt;br /&gt;
**form.file&lt;br /&gt;
**form.image&lt;br /&gt;
**form.select&lt;br /&gt;
**form.checkbox&lt;br /&gt;
**form.start&lt;br /&gt;
**form.stop&lt;br /&gt;
&lt;br /&gt;
=== [[processinfo.lua]] ===&lt;br /&gt;
Manages processes&lt;br /&gt;
*package_version - Returns the version of an apk package&lt;br /&gt;
*process_autostart - Returns a string describing run level of a process&lt;br /&gt;
*read_initrunlevels - Returns all processes in all run levels&lt;br /&gt;
*add_runlevels - Add a process to a list of run levels&lt;br /&gt;
*delete_runlevels - Remove a process from a list of run levels&lt;br /&gt;
*daemoncontrol - Start/Stop/Restart/... a process (calls /etc/init.d/service)&lt;br /&gt;
*pidof - Find the process ID of a running program&lt;br /&gt;
&lt;br /&gt;
=== [[validator.lua]] ===&lt;br /&gt;
This contains multiple different functions that each will validate input in there own way.&lt;br /&gt;
*is_string - Tests if a variable is of type string&lt;br /&gt;
*is_boolean - Tests if a variable is of type boolean&lt;br /&gt;
*is_number - Tests if a variable is of type number&lt;br /&gt;
*is_ipv4 - Tests if this is a valid ipv4 address&lt;br /&gt;
*is_partial_ipv4 - Tests if this is part of a valid ipv4 address&lt;br /&gt;
*is_mac - Tests to see if this is a valid mac address&lt;br /&gt;
*is_integer - Tests to see if a string contains an integer&lt;br /&gt;
*is_integer_in_range - Tests to see if a string contains an integer in a given range&lt;br /&gt;
*is_port - Tests to see if a string contains an integer in the IP port range&lt;br /&gt;
*is_valid_filename - Tests to see if a string is a valid filename and (optionally) located in a specified path&lt;br /&gt;
&lt;br /&gt;
== ACF-specific Libraries (acf-core) ==&lt;br /&gt;
===[[authenticator.lua]]===&lt;br /&gt;
Authentication module.  This module loads one sub-authenticator module and exposes its functionality via &#039;&#039;&#039;auth&#039;&#039;&#039; table.&lt;br /&gt;
* authenticate&lt;br /&gt;
* get_userinfo&lt;br /&gt;
* get_userinfo_roles&lt;br /&gt;
* list_users&lt;br /&gt;
* change_settings&lt;br /&gt;
* new_settings&lt;br /&gt;
* delete_user&lt;br /&gt;
&lt;br /&gt;
===[[authenticator-plaintext.lua]]===&lt;br /&gt;
Authentication sub-module for plaintext database&lt;br /&gt;
* list_fields&lt;br /&gt;
* read_field&lt;br /&gt;
* delete_field&lt;br /&gt;
* write_entry&lt;br /&gt;
* read_entry&lt;br /&gt;
* delete_entry&lt;br /&gt;
&lt;br /&gt;
===[[controllerfunctions.lua]]===&lt;br /&gt;
Controller helper functions&lt;br /&gt;
* handle_clientdata&lt;br /&gt;
* handle_form&lt;br /&gt;
* handle_startstop&lt;br /&gt;
&lt;br /&gt;
=== menubuilder.lua ===&lt;br /&gt;
Written by nangel for ACF&lt;br /&gt;
*get_menuitems&lt;br /&gt;
&lt;br /&gt;
=== [[modelfunctions.lua]] ===&lt;br /&gt;
*getenabled&lt;br /&gt;
*startstop_service&lt;br /&gt;
*getstatus&lt;br /&gt;
*getfiledetails&lt;br /&gt;
*setfiledetails&lt;br /&gt;
*validateselect&lt;br /&gt;
*validatemulti&lt;br /&gt;
*write_file_with_audit&lt;br /&gt;
&lt;br /&gt;
=== [[roles.lua]] ===&lt;br /&gt;
*list_controllers&lt;br /&gt;
*get_controllers&lt;br /&gt;
*get_controllers_func&lt;br /&gt;
*get_controllers_view&lt;br /&gt;
*list_default_roles&lt;br /&gt;
*list_roles&lt;br /&gt;
*list_all_roles&lt;br /&gt;
*get_roles_perm&lt;br /&gt;
*get_role_perm&lt;br /&gt;
*delete_role&lt;br /&gt;
*set_role_perm&lt;br /&gt;
&lt;br /&gt;
=== [[session.lua]] ===&lt;br /&gt;
Written by nangel for ACF.&lt;br /&gt;
*random_hash ... \n&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ACF&amp;diff=12432</id>
		<title>ACF</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ACF&amp;diff=12432"/>
		<updated>2016-03-07T03:10:19Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Alpine_Configuration_Framework_Design]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=2600hz&amp;diff=12431</id>
		<title>2600hz</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=2600hz&amp;diff=12431"/>
		<updated>2016-03-07T03:10:16Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.2600hz.org blue.box] is an open source GUI for administration and configuration of FreeSWITCH and Asterisk based VoIP systems. It supports multi-tenancy and skinning, and is completely modular.&lt;br /&gt;
&lt;br /&gt;
== Install Lighttpd ==&lt;br /&gt;
&lt;br /&gt;
{{:Setting Up Lighttpd With FastCGI}}&lt;br /&gt;
&lt;br /&gt;
== Configuring postgresql ==&lt;br /&gt;
&lt;br /&gt;
{{Cmd|apk add postgresql postgresql-client git&lt;br /&gt;
/etc/init.d/postgresql setup}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Starting http service and adding to boot&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Cmd|/etc/init.d/postgresql start &amp;amp;&amp;amp; rc-update add postgresql default}}&lt;br /&gt;
&lt;br /&gt;
== Installing FreeSwitch ==&lt;br /&gt;
&lt;br /&gt;
First use &amp;lt;code&amp;gt;apk&amp;lt;/code&amp;gt; to install the needed software parts.&lt;br /&gt;
&lt;br /&gt;
{{Cmd|apk add freeswitch freeswitch-flite freeswitch-sounds-en-us-callie-8000 freeswitch-sample-config}}&lt;br /&gt;
&lt;br /&gt;
Change the permissions of {{Path|/etc/freeswitch/}}&lt;br /&gt;
&lt;br /&gt;
{{Cmd|chown lighttpd:lighttpd /etc/freeswitch/	&lt;br /&gt;
chmod 777 -R /etc/freeswitch/}}&lt;br /&gt;
&lt;br /&gt;
== Starting ==&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Starting http and sql server and adding to boot&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Cmd|/etc/init.d/postgresql setup&lt;br /&gt;
/etc/init.d/postgresql start &amp;amp;&amp;amp; rc-update add postgresql default&lt;br /&gt;
/etc/init.d/lighttpd start &amp;amp;&amp;amp; rc-update add lighttpd default }}&lt;br /&gt;
&lt;br /&gt;
== Installing 2600hz ==&lt;br /&gt;
&lt;br /&gt;
Create a {{Path|webapps}} folder&lt;br /&gt;
&lt;br /&gt;
{{Cmd|mkdir /usr/share/webapps/ -p}}&lt;br /&gt;
&lt;br /&gt;
Checkout the source code from the git repository&lt;br /&gt;
&lt;br /&gt;
{{Cmd|cd /usr/share/webapps/&lt;br /&gt;
git clone git://source.2600hz.org/bluebox.git bluebox/}}&lt;br /&gt;
&lt;br /&gt;
Change the folder permissions&lt;br /&gt;
&lt;br /&gt;
{{Cmd|chmod -R 777 /usr/share/webapps/bluebox}}&lt;br /&gt;
&lt;br /&gt;
Create a symlink to the create directory&lt;br /&gt;
&lt;br /&gt;
{{Cmd|ln -s /usr/share/webapps/bluebox/ /var/www/localhost/htdocs/bluebox}}&lt;br /&gt;
&lt;br /&gt;
== Configuring bluebox ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Log on your bluebox&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Browse to: http://WEBSERVER_IP_ADDRESS/bluebox and start configuration.&lt;br /&gt;
&lt;br /&gt;
* Welcome to Bluebox 1.0 Setup Wizard&lt;br /&gt;
&lt;br /&gt;
Accept Terms and Conditions&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
* Initial Configuration&lt;br /&gt;
&lt;br /&gt;
Select pqsl as database server, &#039;&#039;&#039;bluebox&#039;&#039;&#039; as database name, &#039;&#039;&#039;postgres&#039;&#039;&#039; as user,&#039;&#039;&#039; no password&#039;&#039;&#039;&lt;br /&gt;
Set &#039;&#039;&#039;Default Timezone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Set Port to 3306 (for mysql); see - http://tickets.2600hz.org/browse/BLUEBOX-445&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
* Create Main Administrator&lt;br /&gt;
&lt;br /&gt;
Master Administration Account&lt;br /&gt;
&lt;br /&gt;
Email Address:&#039;&#039;&#039;youremail@yourserver.net&#039;&#039;&#039;&lt;br /&gt;
Password:&#039;&#039;&#039;adminpassword&#039;&#039;&#039;&lt;br /&gt;
Confirm Password:&#039;&#039;&#039;adminpassword&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Next &lt;br /&gt;
&lt;br /&gt;
* Telephony Engine&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;Telephony Configuration&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Conf Directory: &#039;&#039;&#039;/etc/freeswitch&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Global Sound File Directory: &#039;&#039;&#039;/usr/sounds&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Next &lt;br /&gt;
&lt;br /&gt;
Conflicting configuration files will be permanently erased if you continue!&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
* Installation&lt;br /&gt;
&lt;br /&gt;
Ready to Install&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
After that you will see &#039;&#039;&#039;Click here to use Bluebox 1.0!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
And you finish you Bluesbox installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you are using the Alpine ACF, or if you change the port in the lighttpd.conf file, the go to the port you set.&lt;br /&gt;
e.g: if you set the port to 8080, then browse to: http://WEBSERVER_IP_ADDRESS:8080/bluebox&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Needs PHP DOM package (apk add php-dom)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; This documentation need some minor fixes.&lt;br /&gt;
&lt;br /&gt;
[[Category:SQL]]&lt;br /&gt;
[[Category:Telephony]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=1.9.0_package_changes_since_1.9.0_rc5&amp;diff=12430</id>
		<title>1.9.0 package changes since 1.9.0 rc5</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=1.9.0_package_changes_since_1.9.0_rc5&amp;diff=12430"/>
		<updated>2016-03-07T03:10:12Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Package changes since 1.9.0_rc5 =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Removed packages:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New packages:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Upgraded/downgraded packages (from version):&lt;br /&gt;
acf-apk-tools-0.4.3-r0			   (0.4.2-r0)&lt;br /&gt;
acf-iproute2-qos-0.1.1-r0		   (0.1.0-r0)&lt;br /&gt;
alpine-conf-2.0_rc7-r1			   (2.0_rc6-r0)&lt;br /&gt;
dahdi-linux-grsec-2.2.0-r19		   (2.2.0-r18)&lt;br /&gt;
dahdi-linux-grsec-dev-2.2.0-r19		   (2.2.0-r18)&lt;br /&gt;
device-mapper-2.02.53-r0		   (2.02.52-r0)&lt;br /&gt;
gross-1.0.2-r0				   (1.0.1-r5)&lt;br /&gt;
gross-doc-1.0.2-r0			   (1.0.1-r5)&lt;br /&gt;
ip6tables-1.4.5-r0			   (1.4.4-r0)&lt;br /&gt;
ipsec-tools-0.8_alpha20090903-r2	   (0.8_alpha20090903-r1)&lt;br /&gt;
ipsec-tools-doc-0.8_alpha20090903-r2	   (0.8_alpha20090903-r1)&lt;br /&gt;
iptables-1.4.5-r0			   (1.4.4-r0)&lt;br /&gt;
iptables-doc-1.4.5-r0			   (1.4.4-r0)&lt;br /&gt;
iscsitarget-grsec-0.4.17-r17		   (0.4.17-r16)&lt;br /&gt;
kqemu-grsec-1.4.0_pre1-r10		   (1.4.0_pre1-r9)&lt;br /&gt;
libpq-8.4.1-r1				   (8.4.1-r0)&lt;br /&gt;
linux-firmware-2.6.30.8-r0		   (2.6.30.7-r2)&lt;br /&gt;
linux-grsec-2.6.30.8-r0			   (2.6.30.7-r2)&lt;br /&gt;
linux-grsec-dev-2.6.30.8-r0		   (2.6.30.7-r2)&lt;br /&gt;
lvm2-2.02.53-r0				   (2.02.52-r0)&lt;br /&gt;
lvm2-doc-2.02.53-r0			   (2.02.52-r0)&lt;br /&gt;
mkinitfs-2.0_rc5-r2			   (2.0_rc5-r1)&lt;br /&gt;
opennhrp-0.11.2-r1			   (0.11.1-r2)&lt;br /&gt;
opennhrp-doc-0.11.2-r1			   (0.11.1-r2)&lt;br /&gt;
openrc-0.5.0-r11			   (0.5.0-r10)&lt;br /&gt;
openrc-doc-0.5.0-r11			   (0.5.0-r10)&lt;br /&gt;
postgresql-8.4.1-r1			   (8.4.1-r0)&lt;br /&gt;
postgresql-client-8.4.1-r1		   (8.4.1-r0)&lt;br /&gt;
postgresql-doc-8.4.1-r1			   (8.4.1-r0)&lt;br /&gt;
xtables-addons-grsec-1.17-r15		   (1.17-r14)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:News]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=1.9.0_package_changes_since_1.8.3&amp;diff=12429</id>
		<title>1.9.0 package changes since 1.8.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=1.9.0_package_changes_since_1.8.3&amp;diff=12429"/>
		<updated>2016-03-07T03:10:08Z</updated>

		<summary type="html">&lt;p&gt;RuthHughes: minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 1.9.0 Package changes since 1.8.3 =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Removed packages:&lt;br /&gt;
acf-devtools-0.3.4&lt;br /&gt;
acf-fetch-crl-0.1.2&lt;br /&gt;
acf-gnats-0.3.6&lt;br /&gt;
acl-2.2.47&lt;br /&gt;
acpid-1.0.6-r1&lt;br /&gt;
aggregate-1.6&lt;br /&gt;
aggregate-flim-1.0.2&lt;br /&gt;
amap-5.2-r1&lt;br /&gt;
apcupsd-3.12.4&lt;br /&gt;
apg-2.3.0b-r4&lt;br /&gt;
arp-sk-0.0.16-r1&lt;br /&gt;
arpoison-0.6&lt;br /&gt;
asterisk-ldap-1.6.1_rc1-r1&lt;br /&gt;
asterisk-sounds-1.2.1&lt;br /&gt;
asterisk-sqlite-1.6.1_rc1-r1&lt;br /&gt;
atftp-0.7-r1&lt;br /&gt;
attr-2.4.41&lt;br /&gt;
audio-entropyd-1.0.1&lt;br /&gt;
authforce-0.9.9&lt;br /&gt;
barnyard-0.2.0-r1&lt;br /&gt;
bcm43xx-fwcutter-006&lt;br /&gt;
beecrypt-4.1.2-r1&lt;br /&gt;
bigeye-0.3-r1&lt;br /&gt;
bing-1.1.3&lt;br /&gt;
bmake-20080515&lt;br /&gt;
bnc-2.9.4&lt;br /&gt;
bonnie-2.0.6&lt;br /&gt;
braa-0.8-r1&lt;br /&gt;
btpd-0.13&lt;br /&gt;
bwbar-1.2.3&lt;br /&gt;
bwmon-1.3&lt;br /&gt;
calamaris-2.59&lt;br /&gt;
cdparanoia-3.10_pre2&lt;br /&gt;
chaosreader-0.94&lt;br /&gt;
chillispot-1.1.0&lt;br /&gt;
chntpw-080526&lt;br /&gt;
chpax-0.7&lt;br /&gt;
chrpath-0.13&lt;br /&gt;
clearsilver-0.10.5&lt;br /&gt;
clutch-0.4&lt;br /&gt;
cmix-1.6&lt;br /&gt;
com_err-1.41.2&lt;br /&gt;
cpio-2.9-r1&lt;br /&gt;
cpuburn-1.4&lt;br /&gt;
cryptsetup-1.0.5-r1&lt;br /&gt;
ctorrent-3.3.2&lt;br /&gt;
cups-1.3.9-r1&lt;br /&gt;
dante-1.1.19-r1&lt;br /&gt;
dash-0.5.4.11&lt;br /&gt;
debootstrap-1.0.10&lt;br /&gt;
dhclient-3.1.1&lt;br /&gt;
di-4.5&lt;br /&gt;
diffstat-1.45&lt;br /&gt;
disktype-9&lt;br /&gt;
distcc-client-3.0-r4&lt;br /&gt;
distcc-server-3.0-r4&lt;br /&gt;
dmidecode-2.9&lt;br /&gt;
dnrd-2.20.3-r1&lt;br /&gt;
dnstop-20070510-r1&lt;br /&gt;
dnstracer-1.9&lt;br /&gt;
dpkg-1.14.22&lt;br /&gt;
driftnet-0.1.6-r4&lt;br /&gt;
drupal-6.8&lt;br /&gt;
dspam-3.8.0-r15&lt;br /&gt;
dyntun-0.2&lt;br /&gt;
e2fsprogs-libs-1.41.2&lt;br /&gt;
ebtables-2.0.8.2&lt;br /&gt;
ed-1.0&lt;br /&gt;
eibd-0.0.3&lt;br /&gt;
ethloop-10-r1&lt;br /&gt;
ettercap-0.7.3-r2&lt;br /&gt;
ez-ipupdate-3.0.11_beta8-r4&lt;br /&gt;
faad2-2.6.1-r2&lt;br /&gt;
ferm-1.3.3&lt;br /&gt;
fetch-crl-2.7.0&lt;br /&gt;
ffmpeg-0.4.9_p20090201&lt;br /&gt;
findutils-4.4.0&lt;br /&gt;
flow-tools-0.68-r5&lt;br /&gt;
flyspray-0.9.9.5.1&lt;br /&gt;
fmtools-0.99.1&lt;br /&gt;
fprobe-1.1&lt;br /&gt;
fprobe-ulog-1.1&lt;br /&gt;
freeradius-2.0.5&lt;br /&gt;
freeradius-krb5-2.0.5&lt;br /&gt;
freeradius-ldap-2.0.5&lt;br /&gt;
freeradius-postgres-2.0.5&lt;br /&gt;
frox-0.7.18-r2&lt;br /&gt;
ftp-0.17-r7&lt;br /&gt;
fuse-2.7.0&lt;br /&gt;
gensink-4.1&lt;br /&gt;
giflib-4.1.6-r1&lt;br /&gt;
gmp-dev-4.2.2-r2&lt;br /&gt;
gnats-4.1.0&lt;br /&gt;
gradm-2.1.12.200805181037&lt;br /&gt;
gramofile-1.6&lt;br /&gt;
grub-0.97-r6&lt;br /&gt;
gsm-1.0.12-r1&lt;br /&gt;
gzsign-1.1&lt;br /&gt;
haproxy-1.3.15.5&lt;br /&gt;
haproxy-doc-1.3.15.5&lt;br /&gt;
hashalot-0.3-r2&lt;br /&gt;
hdparm-9.3&lt;br /&gt;
hexedit-1.2.12&lt;br /&gt;
hping-2.0.0_rc3-r1&lt;br /&gt;
hunt-1.5&lt;br /&gt;
hydra-5.4&lt;br /&gt;
icecast-2.3.2&lt;br /&gt;
ices-2.0.1-r1&lt;br /&gt;
ifenslave-1.1.0-r3&lt;br /&gt;
ifmetric-0.3&lt;br /&gt;
ii-1.4&lt;br /&gt;
imspector-0.7&lt;br /&gt;
ipac-ng-1.31-r2&lt;br /&gt;
ipband-0.8&lt;br /&gt;
ipcad-3.7&lt;br /&gt;
iperf-2.0.2&lt;br /&gt;
ipp2p-0.8.2-r4&lt;br /&gt;
ipsec-tools-cvs-0&lt;br /&gt;
ipvsadm-1.24&lt;br /&gt;
ircii-20060725&lt;br /&gt;
irda-utils-0.9.16-r1&lt;br /&gt;
iscsi-initiator-core-tools-2.3&lt;br /&gt;
isic-0.07&lt;br /&gt;
ivtv-1.2.0-r1&lt;br /&gt;
jfsutils-1.1.13&lt;br /&gt;
jpeg-6b-r8&lt;br /&gt;
kbd-1.15&lt;br /&gt;
keepalived-1.1.15&lt;br /&gt;
knock-0.5&lt;br /&gt;
lame-3.98.2&lt;br /&gt;
lft-3.0&lt;br /&gt;
libICE-1.0.4&lt;br /&gt;
libSM-1.0.3&lt;br /&gt;
libX11-1.1.4&lt;br /&gt;
libXau-1.0.3&lt;br /&gt;
libXdmcp-1.0.2&lt;br /&gt;
libXext-1.0.3&lt;br /&gt;
libaal-1.0.5&lt;br /&gt;
libao-0.8.8&lt;br /&gt;
libarchive-2.5.5&lt;br /&gt;
libart_lgpl-2.3.20&lt;br /&gt;
libconfig-1.2&lt;br /&gt;
libdvbpsi-0.1.5&lt;br /&gt;
libevent-1.4.7&lt;br /&gt;
libid3tag-0.15.1b-r2&lt;br /&gt;
liblockfile-1.06-r2&lt;br /&gt;
libmad-0.15.1b-r2&lt;br /&gt;
libpaper-1.1.23&lt;br /&gt;
libpcre-7.8&lt;br /&gt;
libshout-2.1&lt;br /&gt;
libssh-0.11&lt;br /&gt;
libtasn1-1.3&lt;br /&gt;
libtheora-1.0_beta3-r1&lt;br /&gt;
libtool-1.5.26&lt;br /&gt;
libusb-dev-0.1.12-r1&lt;br /&gt;
libuuid1-1.41.2&lt;br /&gt;
libvorbis-1.2.1_rc1&lt;br /&gt;
lilo-22.8-r2&lt;br /&gt;
linux-wlan-ng-0.2.3-r2&lt;br /&gt;
linux-wlan-ng-utils-0.2.2&lt;br /&gt;
linuxtv-dvb-apps-1.1.1.20080317&lt;br /&gt;
logsentry-1.1.1&lt;br /&gt;
lpeg-0.8.1&lt;br /&gt;
lsscsi-0.19&lt;br /&gt;
lua-discount-1.2.10&lt;br /&gt;
luafilesystem-1.4.1&lt;br /&gt;
lualdap-1.1.0&lt;br /&gt;
luasocket-2.0.2_p1&lt;br /&gt;
luasql-sqlite3-2.1.1&lt;br /&gt;
luatdb-20080214&lt;br /&gt;
luatdb-doc-20080214&lt;br /&gt;
luuid-20070925&lt;br /&gt;
lynx-2.8.6-r2&lt;br /&gt;
macchanger-1.5.0-r1&lt;br /&gt;
madwifi-ng-tools-0.9.4&lt;br /&gt;
mailbase-1&lt;br /&gt;
mailx-8.1.2.20050715-r1&lt;br /&gt;
mailx-support-20060102-r1&lt;br /&gt;
maradns-1.2.12.09&lt;br /&gt;
mawk-1.3.3&lt;br /&gt;
mcrypt-2.6.7&lt;br /&gt;
mediawiki-1.11.2&lt;br /&gt;
metalog-0.8-r1&lt;br /&gt;
metamail-2.7.45.3-r1&lt;br /&gt;
mgetty-1.1.36-r3&lt;br /&gt;
mhash-0.9.9-r1&lt;br /&gt;
mime-types-7&lt;br /&gt;
mingetty-1.08&lt;br /&gt;
minicom-2.3-r1&lt;br /&gt;
mjpegtools-1.8.0-r1&lt;br /&gt;
mktemp-1.5&lt;br /&gt;
motion-3.2.11&lt;br /&gt;
mp-3.3.18b&lt;br /&gt;
mpc-0.12.1&lt;br /&gt;
mpd-0.13.2&lt;br /&gt;
mpg321-0.2.10-r3&lt;br /&gt;
mping-2.01&lt;br /&gt;
mpt-status-1.2.0&lt;br /&gt;
mtx-1.2.18&lt;br /&gt;
mutt-1.5.16&lt;br /&gt;
mysql-init-scripts-1.2&lt;br /&gt;
nast-0.2.0&lt;br /&gt;
net-tools-1.60_p20071202044231-r1&lt;br /&gt;
netatalk-2.0.3-r2&lt;br /&gt;
netcat-110-r8&lt;br /&gt;
netkit-talk-0.17-r4&lt;br /&gt;
netwox-5.33.0&lt;br /&gt;
ngircd-0.12.0&lt;br /&gt;
ngrep-1.45-r1&lt;br /&gt;
nictools-20030719&lt;br /&gt;
ntfs3g-1.2531&lt;br /&gt;
ntfsprogs-2.0.0&lt;br /&gt;
obexftp-0.22&lt;br /&gt;
oftpd-0.3.7-r3&lt;br /&gt;
olsrd-0.5.6&lt;br /&gt;
open-iscsi-2.0.870-r1&lt;br /&gt;
opencdk-0.6.6&lt;br /&gt;
openct-0.6.14&lt;br /&gt;
openobex-1.3&lt;br /&gt;
opensc-0.11.6&lt;br /&gt;
openssh-kerberos-5.1_p1-r2&lt;br /&gt;
openssh-server-5.1_p1-r2&lt;br /&gt;
paxtest-0.9.6&lt;br /&gt;
pcalc-1.2&lt;br /&gt;
pcsc-lite-1.4.2&lt;br /&gt;
peercast-0.1218-r1&lt;br /&gt;
pfqueue-0.5.6&lt;br /&gt;
phpBB-3.0.3&lt;br /&gt;
pmacct-0.11.4&lt;br /&gt;
portage-utils-0.1.29&lt;br /&gt;
privoxy-3.0.10&lt;br /&gt;
procps-3.2.7&lt;br /&gt;
progsreiserfs-0.3.1_rc8&lt;br /&gt;
psmisc-22.6&lt;br /&gt;
psycopg-2.0.2&lt;br /&gt;
pthsem-2.0.7&lt;br /&gt;
pwcrypt-1.2.2&lt;br /&gt;
pwgen-2.06&lt;br /&gt;
python-dev-2.5.2-r7&lt;br /&gt;
rcs-5.7-r3&lt;br /&gt;
recaptcha-8.05.26&lt;br /&gt;
reiser4progs-1.0.6&lt;br /&gt;
reiserfsprogs-3.6.19-r2&lt;br /&gt;
rp-pppoe-3.8-r2&lt;br /&gt;
rrdcollect-0.2.3&lt;br /&gt;
rsyslog-3.21.9&lt;br /&gt;
rtapd-1.7&lt;br /&gt;
rtnppd-1.7b-r1&lt;br /&gt;
rxmtp-1.1.3&lt;br /&gt;
samba-ldap-3.0.33&lt;br /&gt;
sarg-2.2.5&lt;br /&gt;
sdparm-1.03&lt;br /&gt;
ser2net-2.3&lt;br /&gt;
setserial-2.17-r3&lt;br /&gt;
setuptools-0.6_rc8-r1&lt;br /&gt;
sg3_utils-1.25&lt;br /&gt;
sharutils-4.6.3&lt;br /&gt;
shorewall-doc-3.4.8&lt;br /&gt;
slmodem-2.9.11_pre20080417&lt;br /&gt;
smartmontools-5.38&lt;br /&gt;
smixer-1.0.1&lt;br /&gt;
snarf-7.0-r3&lt;br /&gt;
sox-14.2.0&lt;br /&gt;
speex-1.2_beta3_p2&lt;br /&gt;
squid-kerb-auth-2.7.6&lt;br /&gt;
squid-ldap-auth-2.7.6&lt;br /&gt;
ssmping-0.9-r1&lt;br /&gt;
stunnel-4.25&lt;br /&gt;
sysvinit-2.86-r10&lt;br /&gt;
tcc-0.9.23-r1&lt;br /&gt;
tcc-dev-0.9.23-r1&lt;br /&gt;
tcp-wrappers-7.6-r8&lt;br /&gt;
telnetd-1.2-r1&lt;br /&gt;
testdisk-6.8-r1&lt;br /&gt;
tftp-hpa-0.48&lt;br /&gt;
thttpd-2.25b-r7&lt;br /&gt;
tinc-1.0.8&lt;br /&gt;
tor-0.2.0.34&lt;br /&gt;
trac-0.11.2&lt;br /&gt;
traceroute-2.0.11&lt;br /&gt;
transmission-1.22&lt;br /&gt;
ucarp-1.3&lt;br /&gt;
uclibc++-dev-0.2.2-r1&lt;br /&gt;
ucspi-tcp-0.88-r16&lt;br /&gt;
ulogd-1.23-r1&lt;br /&gt;
umix-1.0.2&lt;br /&gt;
unbound-1.0.2&lt;br /&gt;
unixODBC-2.2.12&lt;br /&gt;
unzip-5.52-r2&lt;br /&gt;
up-imapproxy-1.2.5_rc2&lt;br /&gt;
usbd-0.1&lt;br /&gt;
usermode-utilities-20040406-r1&lt;br /&gt;
util-linux-2.13.1.1&lt;br /&gt;
util-vserver-0.30.215&lt;br /&gt;
valgrind-dev-3.3.1&lt;br /&gt;
vanessa-logger-0.0.7&lt;br /&gt;
varnish-1.1.2&lt;br /&gt;
vconfig-1.9&lt;br /&gt;
vifm-0.3a&lt;br /&gt;
vim-core-7.2&lt;br /&gt;
vixie-cron-4.1-r10&lt;br /&gt;
vlc-0.9.8a&lt;br /&gt;
vorbis-tools-1.2.0-r2&lt;br /&gt;
vpnc-0.5.1-r1&lt;br /&gt;
vtun-2.6-r1&lt;br /&gt;
which-2.19&lt;br /&gt;
wireless-tools-29&lt;br /&gt;
wireshark-1.0.5&lt;br /&gt;
x86info-1.21&lt;br /&gt;
xl2tpd-1.1.12-r1&lt;br /&gt;
xl2tpd-doc-1.1.12-r1&lt;br /&gt;
xssfilter-8.06.22&lt;br /&gt;
ytree-1.92&lt;br /&gt;
zgsmplay-1.4&lt;br /&gt;
zlib-dev-1.2.3-r1&lt;br /&gt;
zsh-4.3.4-r1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New packages:&lt;br /&gt;
abuild-2.0_rc9-r1&lt;br /&gt;
acct-6.3.2-r1&lt;br /&gt;
acct-doc-6.3.2-r1&lt;br /&gt;
acf-heimdal-0.1.0-r0&lt;br /&gt;
acf-iproute2-qos-0.1.1-r0&lt;br /&gt;
acf-postgresql-0.3.0-r0&lt;br /&gt;
acf-weblog-0.4.6-r1&lt;br /&gt;
alpine-base-2.0-r1&lt;br /&gt;
alpine-sdk-0.3-r0&lt;br /&gt;
alsa-lib-1.0.21a-r0&lt;br /&gt;
arpon-1.90-r1&lt;br /&gt;
aspell-0.60.6-r0&lt;br /&gt;
aspell-doc-0.60.6-r0&lt;br /&gt;
bash-doc-4.0.028-r0&lt;br /&gt;
bc-doc-1.06-r1&lt;br /&gt;
beep-doc-1.2.2-r0&lt;br /&gt;
bind-doc-9.6.1_p1-r1&lt;br /&gt;
bind-libs-9.6.1_p1-r1&lt;br /&gt;
binutils-doc-2.19.51.0.9-r0&lt;br /&gt;
bridge-utils-doc-1.4-r0&lt;br /&gt;
build-base-0.2-r0&lt;br /&gt;
busybox-initscripts-2.0-r7&lt;br /&gt;
bzip2-doc-1.0.5-r1&lt;br /&gt;
c-ares-doc-1.6.0-r1&lt;br /&gt;
ca-certificates-20090709-r0&lt;br /&gt;
ccache-2.4-r0&lt;br /&gt;
ccache-doc-2.4-r0&lt;br /&gt;
cdrkit-doc-1.1.9-r1&lt;br /&gt;
chrony-doc-1.23-r4&lt;br /&gt;
cksfv-1.3.13-r0&lt;br /&gt;
cksfv-doc-1.3.13-r0&lt;br /&gt;
clamav-doc-0.95.2-r1&lt;br /&gt;
clamsmtp-doc-1.10-r6&lt;br /&gt;
conntrack-tools-doc-0.9.13-r1&lt;br /&gt;
coreutils-doc-7.6-r0&lt;br /&gt;
cpufreqd-2.3.4-r1&lt;br /&gt;
cpufreqd-doc-2.3.4-r1&lt;br /&gt;
cpufrequtils-005-r0&lt;br /&gt;
cpufrequtils-doc-005-r0&lt;br /&gt;
ctags-5.8-r0&lt;br /&gt;
curl-doc-7.19.6-r0&lt;br /&gt;
cvs-doc-1.11.23-r0&lt;br /&gt;
cyrus-sasl-2.1.23-r1&lt;br /&gt;
cyrus-sasl-doc-2.1.23-r1&lt;br /&gt;
dahdi-linux-2.2.0-r1&lt;br /&gt;
dahdi-linux-dev-2.2.0-r1&lt;br /&gt;
dahdi-linux-grsec-2.2.0-r19&lt;br /&gt;
dahdi-linux-grsec-dev-2.2.0-r19&lt;br /&gt;
dahdi-tools-doc-2.2.0-r0&lt;br /&gt;
dansguardian-doc-2.10.1.1-r4&lt;br /&gt;
db-doc-4.7.25.4-r0&lt;br /&gt;
dhcp-doc-4.1.0_p1-r4&lt;br /&gt;
dhcpcd-doc-5.1.1-r0&lt;br /&gt;
dialog-doc-1.1.20080819-r0&lt;br /&gt;
diffutils-doc-2.8.1-r1&lt;br /&gt;
dircproxy-doc-1.1.0-r0&lt;br /&gt;
distcc-doc-3.1-r2&lt;br /&gt;
dnsmasq-doc-2.50-r1&lt;br /&gt;
dosfstools-doc-3.0.5-r0&lt;br /&gt;
dovecot-doc-1.2.5-r0&lt;br /&gt;
dtach-doc-0.8-r0&lt;br /&gt;
e2fsprogs-doc-1.41.9-r0&lt;br /&gt;
eggdrop-1.6.19-r1&lt;br /&gt;
eggdrop-gseen-1.6.19-r1&lt;br /&gt;
eggdrop-logs2html-1.6.19-r1&lt;br /&gt;
email-doc-3.1.2-r0&lt;br /&gt;
ethtool-doc-6-r0&lt;br /&gt;
expat-doc-2.0.1-r0&lt;br /&gt;
fakeroot-doc-1.13-r0&lt;br /&gt;
fcgi-2.4.0-r0&lt;br /&gt;
fetchmail-doc-6.3.9-r4&lt;br /&gt;
fetchmailconf-6.3.9-r4&lt;br /&gt;
file-doc-5.03-r0&lt;br /&gt;
flac-doc-1.2.1-r0&lt;br /&gt;
fping-doc-2.4_beta2-r1&lt;br /&gt;
freetds-doc-0.82-r1&lt;br /&gt;
g++-4.4.1-r3&lt;br /&gt;
gawk-doc-3.1.7-r0&lt;br /&gt;
gcc-doc-4.4.1-r3&lt;br /&gt;
gd-doc-2.0.35-r2&lt;br /&gt;
gdb-doc-6.8-r3&lt;br /&gt;
gettext-0.17-r2&lt;br /&gt;
gettext-doc-0.17-r2&lt;br /&gt;
ghostscript-8.70-r0&lt;br /&gt;
ghostscript-doc-8.70-r0&lt;br /&gt;
glib-doc-2.20.5-r0&lt;br /&gt;
gmp-doc-4.3.1-r0&lt;br /&gt;
gnupg-2.0.10-r0&lt;br /&gt;
gnupg-doc-2.0.10-r0&lt;br /&gt;
gnutls-doc-2.8.3-r0&lt;br /&gt;
gperf-3.0.4-r0&lt;br /&gt;
gperf-doc-3.0.4-r0&lt;br /&gt;
grep-doc-2.5.4-r1&lt;br /&gt;
groff-doc-1.20.1-r1&lt;br /&gt;
gross-doc-1.0. ... \n&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
== private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm ==&lt;br /&gt;
&lt;br /&gt;
Offers private label cosmetics with custom design. We produce lip balms, serum, creams and more. Easy to buy with eshop. Private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm&lt;br /&gt;
&lt;br /&gt;
 [[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;br /&gt;
&lt;br /&gt;
[[http://ultra-high-end.com/custom-made.html private label cosmetics, custom made cosmetic, custom made cream, custom lip stick lip balm]]&lt;/div&gt;</summary>
		<author><name>RuthHughes</name></author>
	</entry>
</feed>