diff options
author | root <root@rshg054.dnsready.net> | 2011-08-14 23:14:32 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-08-14 23:14:32 +0000 |
commit | 4784cc8068c68b6fc23c2bd0ee8158b2a924f5f4 (patch) | |
tree | 30dd0cb9a1406f132ae8c5b5dbbb4ee4b25732f8 /testing | |
parent | 76c08dc0eadb92247b4978f3185ee4176603b7af (diff) |
Sun Aug 14 23:14:32 UTC 2011
Diffstat (limited to 'testing')
80 files changed, 4834 insertions, 0 deletions
diff --git a/testing/abiword/PKGBUILD b/testing/abiword/PKGBUILD new file mode 100644 index 000000000..fc132f7b3 --- /dev/null +++ b/testing/abiword/PKGBUILD @@ -0,0 +1,63 @@ +# $Id: PKGBUILD 135371 2011-08-13 09:02:34Z andyrtr $ +# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Maël Lavault <moimael@neuf.fr> + +pkgbase=abiword +pkgname=('abiword' 'abiword-plugins') +pkgver=2.8.6 +pkgrel=5 +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.abisource.com" +makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice' 'libwmf' 'wv' 'link-grammar' 'gtkmathview' 'aiksaurus' 'libxslt' 'enchant' 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup') +options=('!makeflags' '!libtool') +source=("http://www.abisource.com/downloads/${pkgbase}/${pkgver}/source/${pkgbase}-${pkgver}.tar.gz" + compat_libwpg_0_9.patch + abiword-2.8.6-no-undefined.patch) +sha1sums=('998f69d038000b3fc027d4259548f02d67c8d0df' + 'e5374f439e3d9b63a4bbd2cd39146c67cf1e85ea' + '159b1cd0b9354868ab86f851b64a03dae7d254dc') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + patch -Np1 -i "${srcdir}/compat_libwpg_0_9.patch" + # fix a gcc 4.6.x build issue, patch from Fedora + patch -Np1 -i "${srcdir}/abiword-2.8.6-no-undefined.patch" + libtoolize --force + autoreconf + + ./configure --prefix=/usr --enable-clipart --enable-templates --enable-collab-backend-xmpp --enable-collab-backend-tcp --enable-collab-backend-service --disable-collab-backend-sugar --enable-plugins --without-gnomevfs --with-gio --with-goffice --disable-static --with-psiconv-config=/nothere + make +} + +package_abiword() { + pkgdesc="A fully-featured word processor" + depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils') + install=$pkgname.install + optdepends=('abiword-plugins') + conflicts=("abiword-plugins<${pkgver}-${pkgrel}") + + cd "${srcdir}/${pkgbase}-${pkgver}" + sed -i plugins/Makefile \ + -e 's/ collab / /' \ + -e 's/ wpg / /' \ + -e 's/ wmf / /' \ + -e 's/ grammar / /' \ + -e 's/ mathview / /' \ + -e 's/ aiksaurus / /' \ + -e 's/ latex / /' \ + -e 's/ ots / /' \ + -e 's/ wordperfect / /' + make DESTDIR="${pkgdir}" install +} + +package_abiword-plugins() { + pkgdesc="Additional plugins for Abiword" + depends=("abiword=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar' 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf') + + cd "${srcdir}/${pkgbase}-${pkgver}/plugins" + for dir in collab wpg wmf grammar mathview aiksaurus latex ots wordperfect; do + make -C ${dir} DESTDIR="${pkgdir}" install + done +} diff --git a/testing/abiword/abiword-2.8.6-no-undefined.patch b/testing/abiword/abiword-2.8.6-no-undefined.patch new file mode 100644 index 000000000..c07000edb --- /dev/null +++ b/testing/abiword/abiword-2.8.6-no-undefined.patch @@ -0,0 +1,21 @@ +diff -u -r abiword-2.8.6.orig/src/Makefile.am abiword-2.8.6/src/Makefile.am +--- abiword-2.8.6.orig/src/Makefile.am 2009-09-09 15:11:01.000000000 +0200 ++++ abiword-2.8.6/src/Makefile.am 2011-08-02 23:35:51.904761961 +0200 +@@ -107,7 +107,7 @@ + + AbiWord_LDFLAGS = \ + $(DEPS_LIBS) \ +- --no-undefined \ ++ -Wl,--no-undefined \ + -avoid-version \ + -export-dynamic \ + -headerpad_max_install_names +@@ -129,7 +129,7 @@ + + abiword_LDFLAGS = \ + $(platform_ldflags) \ +- --no-undefined \ ++ -Wl,--no-undefined \ + -avoid-version \ + -export-dynamic + diff --git a/testing/abiword/abiword.install b/testing/abiword/abiword.install new file mode 100644 index 000000000..2eaa60550 --- /dev/null +++ b/testing/abiword/abiword.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/testing/abiword/compat_libwpg_0_9.patch b/testing/abiword/compat_libwpg_0_9.patch new file mode 100644 index 000000000..cf36e188e --- /dev/null +++ b/testing/abiword/compat_libwpg_0_9.patch @@ -0,0 +1,371 @@ +diff -Nur abiword-2.8.6.orig//plugin-configure.m4 abiword-2.8.6/plugin-configure.m4 +--- abiword-2.8.6.orig//plugin-configure.m4 2010-06-13 14:17:27.000000000 -0700 ++++ abiword-2.8.6/plugin-configure.m4 2010-12-06 13:59:43.083048588 -0800 +@@ -794,7 +794,7 @@ + AC_SUBST([OPENXML_LIBS]) + + +-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0" ++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" + wpg_deps="no" + + if test "$enable_wpg" != ""; then +@@ -1497,8 +1497,8 @@ + AC_SUBST([EML_LIBS]) + + +-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req" +-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0' ++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" ++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' + wordperfect_deps="no" + + WORDPERFECT_CFLAGS= +diff -Nur abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 abiword-2.8.6/plugins/wordperfect/plugin.m4 +--- abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 2010-05-30 07:50:46.000000000 -0700 ++++ abiword-2.8.6/plugins/wordperfect/plugin.m4 2010-12-06 13:59:53.929715254 -0800 +@@ -1,6 +1,6 @@ + +-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req" +-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0' ++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req" ++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0' + wordperfect_deps="no" + + WORDPERFECT_CFLAGS= +diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp +--- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-02-06 13:06:11.000000000 -0800 ++++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-12-06 13:59:53.926381921 -0800 +@@ -60,7 +60,7 @@ + + // Stream class + +-#include <libwpd/WPXStream.h> ++#include <libwpd-stream/libwpd-stream.h> + + #include <gsf/gsf-input.h> + #include <gsf/gsf-infile.h> +@@ -70,12 +70,7 @@ + #include <libwps/libwps.h> + #endif + +-class AbiWordperfectInputStream : +-#ifdef HAVE_LIBWPS +- public WPSInputStream +-#else +- public WPXInputStream +-#endif ++class AbiWordperfectInputStream : public WPXInputStream + { + public: + AbiWordperfectInputStream(GsfInput *input); +@@ -86,7 +81,7 @@ + + virtual WPXInputStream * getDocumentOLEStream(const char * name); + +- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); ++ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); + virtual int seek(long offset, WPX_SEEK_TYPE seekType); + virtual long tell(); + virtual bool atEOS(); +@@ -98,11 +93,7 @@ + }; + + AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) : +-#ifdef HAVE_LIBWPS +- WPSInputStream(), +-#else +- WPXInputStream(true), +-#endif ++ WPXInputStream(), + m_input(input), + m_ole(NULL) + { +@@ -117,9 +108,9 @@ + g_object_unref(G_OBJECT(m_input)); + } + +-const uint8_t * AbiWordperfectInputStream::read(size_t numBytes, size_t &numBytesRead) ++const unsigned char * AbiWordperfectInputStream::read(unsigned long numBytes, unsigned long &numBytesRead) + { +- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL); ++ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL); + + if (buf == NULL) + numBytesRead = 0; +@@ -256,19 +247,12 @@ + { + AbiWordperfectInputStream gsfInput(input); + +- WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput, true); ++ WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput); + + switch (confidence) + { + case WPD_CONFIDENCE_NONE: +- // libwpd > 0.7.1 reports POOR if the text file is plain text (that _could_ be a WP4x document) +- // however, we'll let the text importer handle such cases +- case WPD_CONFIDENCE_POOR: + return UT_CONFIDENCE_ZILCH; +- case WPD_CONFIDENCE_LIKELY: +- return UT_CONFIDENCE_SOSO; +- case WPD_CONFIDENCE_GOOD: +- return UT_CONFIDENCE_GOOD; + case WPD_CONFIDENCE_EXCELLENT: + return UT_CONFIDENCE_PERFECT; + default: +@@ -328,7 +312,7 @@ + UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input) + { + AbiWordperfectInputStream gsfInput(input); +- WPDResult error = WPDocument::parse(&gsfInput, static_cast<WPXHLListenerImpl *>(this)); ++ WPDResult error = WPDocument::parse(&gsfInput, static_cast<WPXDocumentInterface *>(this), NULL); + + if (error != WPD_OK) + { +@@ -381,9 +365,9 @@ + float marginLeft = 1.0f, marginRight = 1.0f; + + if (propList["fo:margin-left"]) +- marginLeft = propList["fo:margin-left"]->getFloat(); ++ marginLeft = propList["fo:margin-left"]->getDouble(); + if (propList["fo:margin-right"]) +- marginRight = propList["fo:margin-right"]->getFloat(); ++ marginRight = propList["fo:margin-right"]->getDouble(); + + if (marginLeft != m_leftPageMargin || marginRight != m_rightPageMargin /* || */ + /* marginTop != m_marginBottom || marginBottom != m_marginBottom */ ) +@@ -456,15 +440,15 @@ + float marginTop = 0.0f, marginBottom = 0.0f; + float marginLeft = 0.0f, marginRight = 0.0f, textIndent = 0.0f; + if (propList["fo:margin-top"]) +- marginTop = propList["fo:margin-top"]->getFloat(); ++ marginTop = propList["fo:margin-top"]->getDouble(); + if (propList["fo:margin-bottom"]) +- marginBottom = propList["fo:margin-bottom"]->getFloat(); ++ marginBottom = propList["fo:margin-bottom"]->getDouble(); + if (propList["fo:margin-left"]) +- marginLeft = propList["fo:margin-left"]->getFloat(); ++ marginLeft = propList["fo:margin-left"]->getDouble(); + if (propList["fo:margin-right"]) +- marginRight = propList["fo:margin-right"]->getFloat(); ++ marginRight = propList["fo:margin-right"]->getDouble(); + if (propList["fo:text-indent"]) +- textIndent = propList["fo:text-indent"]->getFloat(); ++ textIndent = propList["fo:text-indent"]->getDouble(); + + m_topMargin = marginTop; + m_bottomMargin = marginBottom; +@@ -487,7 +471,7 @@ + + float lineSpacing = 1.0f; + if (propList["fo:line-height"]) +- lineSpacing = propList["fo:line-height"]->getFloat(); ++ lineSpacing = propList["fo:line-height"]->getDouble(); + + UT_String tmpBuffer; + UT_String_sprintf(tmpBuffer, "; margin-top:%.4fin; margin-bottom:%.4fin; margin-left:%.4fin; margin-right:%.4fin; text-indent:%.4fin; line-height:%.4f", +@@ -504,7 +488,7 @@ + propBuffer += tmpBuffer; + if (i()["style:position"]) + { +- UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getFloat()); ++ UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getDouble()); + propBuffer += tmpBuffer; + } + +@@ -640,9 +624,9 @@ + + // TODO: support spaceAfter + if (propList["fo:margin-left"]) +- marginLeft = propList["fo:margin-left"]->getFloat(); ++ marginLeft = propList["fo:margin-left"]->getDouble(); + if (propList["fo:margin-right"]) +- marginRight = propList["fo:margin-right"]->getFloat(); ++ marginRight = propList["fo:margin-right"]->getDouble(); + + if (marginLeft != m_leftSectionMargin || marginRight != m_rightSectionMargin || m_sectionColumnsCount != columnsCount) + m_bSectionChanged = true; +@@ -709,9 +693,9 @@ + if (propList["style:num-format"]) + listType = propList["style:num-format"]->getStr().cstr()[0]; + if (propList["text:space-before"]) +- listLeftOffset = propList["text:space-before"]->getFloat(); ++ listLeftOffset = propList["text:space-before"]->getDouble(); + if (propList["text:min-label-width"]) +- listMinLabelWidth = propList["text:min-label-width"]->getFloat(); ++ listMinLabelWidth = propList["text:min-label-width"]->getDouble(); + + if (!m_pCurrentListDefinition || + m_pCurrentListDefinition->getOutlineHash() != listID || +@@ -749,9 +733,9 @@ + if (propList["libwpd:level"]) + level = propList["libwpd:level"]->getInt(); + if (propList["text:space-before"]) +- listLeftOffset = propList["text:space-before"]->getFloat(); ++ listLeftOffset = propList["text:space-before"]->getDouble(); + if (propList["text:min-label-width"]) +- listMinLabelWidth = propList["text:min-label-width"]->getFloat(); ++ listMinLabelWidth = propList["text:min-label-width"]->getDouble(); + + if (!m_pCurrentListDefinition || m_pCurrentListDefinition->getOutlineHash() != listID) + { +@@ -871,10 +855,10 @@ + + UT_String_sprintf(tempBuffer, "margin-left:%.4fin; ", m_pCurrentListDefinition->getListLeftOffset(m_iCurrentListLevel) + + m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel) +- - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f)); ++ - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f)); + propBuffer += tempBuffer; + UT_String_sprintf(tempBuffer, "text-indent:%.4fin", - m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel) +- + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f)); ++ + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f)); + propBuffer += tempBuffer; + + listAttribs[attribsCount++] = PT_PROPS_ATTRIBUTE_NAME; +@@ -1263,7 +1247,7 @@ + virtual UT_Error _loadFile(GsfInput * input) + { + AbiWordperfectInputStream gsfInput(input); +- WPSResult error = WPSDocument::parse(&gsfInput, static_cast<WPXHLListenerImpl *>(this)); ++ WPSResult error = WPSDocument::parse(&gsfInput, static_cast<WPXDocumentInterface *>(this)); + + if (error != WPS_OK) + { +@@ -1302,18 +1286,12 @@ + { + AbiWordperfectInputStream gsfInput(input); + +- WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput, true); ++ WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput); + + switch (confidence) + { + case WPS_CONFIDENCE_NONE: + return UT_CONFIDENCE_ZILCH; +- case WPS_CONFIDENCE_POOR: +- return UT_CONFIDENCE_POOR; +- case WPS_CONFIDENCE_LIKELY: +- return UT_CONFIDENCE_SOSO; +- case WPS_CONFIDENCE_GOOD: +- return UT_CONFIDENCE_GOOD; + case WPS_CONFIDENCE_EXCELLENT: + return UT_CONFIDENCE_PERFECT; + default: +diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h +--- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h 2009-06-19 01:55:49.000000000 -0700 ++++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h 2010-12-06 13:59:53.929715254 -0800 +@@ -30,13 +30,7 @@ + #define IE_IMP_WP_H + + #include <stdio.h> +-#ifdef _WIN32 +-#define POINT WPX_POINT +-#endif + #include <libwpd/libwpd.h> +-#ifdef _WIN32 +-#undef POINT +-#endif + #include "ie_imp.h" + #include "ut_string.h" + #include "ut_string_class.h" +@@ -98,7 +92,7 @@ + IE_Imp ** ppie); + }; + +-class IE_Imp_WordPerfect : public IE_Imp, public WPXHLListenerImpl ++class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface + { + public: + IE_Imp_WordPerfect(PD_Document * pDocument); +@@ -154,6 +148,21 @@ + virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {} + virtual void closeTable(); + ++ virtual void definePageStyle(const WPXPropertyList&) {} ++ virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} ++ virtual void defineCharacterStyle(const WPXPropertyList&) {} ++ virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {} ++ virtual void insertSpace() {} ++ virtual void insertField(const WPXString&, const WPXPropertyList&) {} ++ virtual void openComment(const WPXPropertyList&) {} ++ virtual void closeComment() {} ++ virtual void openTextBox(const WPXPropertyList&) {} ++ virtual void closeTextBox() {} ++ virtual void openFrame(const WPXPropertyList&) {} ++ virtual void closeFrame() {} ++ virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {} ++ virtual void insertEquation(const WPXPropertyList&, const WPXString&) {} ++ + + protected: + virtual UT_Error _loadFile(GsfInput * input); +diff -Nur abiword-2.8.6.orig//plugins/wpg/plugin.m4 abiword-2.8.6/plugins/wpg/plugin.m4 +--- abiword-2.8.6.orig//plugins/wpg/plugin.m4 2010-05-30 07:50:46.000000000 -0700 ++++ abiword-2.8.6/plugins/wpg/plugin.m4 2010-12-06 13:59:53.929715254 -0800 +@@ -1,5 +1,5 @@ + +-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0" ++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0" + wpg_deps="no" + + if test "$enable_wpg" != ""; then +diff -Nur abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp +--- abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp 2008-08-15 14:52:32.000000000 -0700 ++++ abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp 2010-12-06 13:59:53.923048588 -0800 +@@ -31,11 +31,10 @@ + #include <gsf/gsf-input-memory.h> + #include <gsf/gsf-input-stdio.h> + #include <gsf/gsf-infile-msole.h> +-#include <libwpd/WPXStream.h> ++#include <libwpd-stream/libwpd-stream.h> + #include "xap_Module.h" + + using libwpg::WPGraphics; +-using libwpg::WPGString; + + ABI_PLUGIN_DECLARE("WPG") + +@@ -48,7 +47,7 @@ + virtual bool isOLEStream(); + virtual WPXInputStream * getDocumentOLEStream(); + virtual WPXInputStream * getDocumentOLEStream(const char * name); +- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead); ++ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead); + virtual int seek(long offset, WPX_SEEK_TYPE seekType); + virtual long tell(); + virtual bool atEOS(); +@@ -60,7 +59,7 @@ + }; + + AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) : +- WPXInputStream(true), ++ WPXInputStream(), + m_input(input), + m_ole(NULL) + { +@@ -75,9 +74,9 @@ + g_object_unref(G_OBJECT(m_input)); + } + +-const uint8_t * AbiWordPerfectGraphicsInputStream::read(size_t numBytes, size_t &numBytesRead) ++const unsigned char * AbiWordPerfectGraphicsInputStream::read(unsigned long numBytes, unsigned long &numBytesRead) + { +- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL); ++ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL); + + if (buf == NULL) + numBytesRead = 0; +@@ -245,10 +244,10 @@ + UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg) + { + AbiWordPerfectGraphicsInputStream gsfInput(input); +- WPGString svgOutput; ++ WPXString svgOutput; + if (WPGraphics::generateSVG(&gsfInput, svgOutput)) + { +- GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.length(), false); ++ GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false); + UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg); + g_object_unref(svgInput); + return result; diff --git a/testing/claws-mail/PKGBUILD b/testing/claws-mail/PKGBUILD new file mode 100644 index 000000000..b395a6177 --- /dev/null +++ b/testing/claws-mail/PKGBUILD @@ -0,0 +1,60 @@ +# $Id: PKGBUILD 134940 2011-08-09 15:03:29Z andyrtr $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +pkgname=claws-mail +pkgver=3.7.9 +pkgrel=5 +pkgdesc="A GTK+ based e-mail client." +arch=('i686' 'x86_64') +license=('GPL3') +url="http://www.claws-mail.org" +depends=('gtk2' 'gnutls' 'startup-notification' 'pilot-link' 'enchant' + 'gpgme' 'libetpan' 'libsm' 'db' 'dbus-glib' 'hicolor-icon-theme' 'desktop-file-utils') +makedepends=('compface' 'spamassassin' 'bogofilter' 'valgrind') +optdepends=('python2: needed for some tools' + 'perl: needed for some tools' + 'spamassassin: adds support for spamfiltering' + 'bogofilter: adds support for spamfiltering' + 'html2ps: AUR pkg - adds support for printing html mails together with html plugins') +replaces=('sylpheed-claws') +provides=('claws') +options=(!libtool) +install=claws-mail.install +source=(http://downloads.sourceforge.net/sourceforge/sylpheed-claws/${pkgname}-${pkgver}.tar.bz2 + claws-notify-crash.patch) +md5sums=('2f9d2dcabf84e312cfeb56efa799b5b3' + '9a2903449f679344b5f5f51c91825b45') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + patch -Np0 -i $srcdir/claws-notify-crash.patch + sed -i 's@^#!.*python.*@#!/usr/bin/python2@' tools/*.py + + ./configure --prefix=/usr --disable-static \ + --enable-enchant \ + --enable-gnutls \ + --enable-ldap \ + --disable-dillo-viewer-plugin \ + --enable-crash-dialog \ + --enable-pgpmime-plugin \ + --enable-spamassassin-plugin \ + --enable-bogofilter-plugin \ + --enable-jpilot + + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + + # build and install extra tools + cd tools + make + # all executables and .conf files ; only top directory + find -maxdepth 1 -type f -and -perm /111 -or -name '*.conf' | while read i ; do + install -D -m755 ${i} \ + ${pkgdir}/usr/lib/claws-mail/tools/${i} + done +} diff --git a/testing/claws-mail/claws-mail.install b/testing/claws-mail/claws-mail.install new file mode 100644 index 000000000..648480c3b --- /dev/null +++ b/testing/claws-mail/claws-mail.install @@ -0,0 +1,13 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} + diff --git a/testing/claws-mail/claws-notify-crash.patch b/testing/claws-mail/claws-notify-crash.patch new file mode 100644 index 000000000..e1d4eb686 --- /dev/null +++ b/testing/claws-mail/claws-notify-crash.patch @@ -0,0 +1,18 @@ +Index: src/main.c +=================================================================== +RCS file: //claws/src/main.c,v +retrieving revision 1.115.2.237 +retrieving revision 1.115.2.238 +diff -u -r1.115.2.237 -r1.115.2.238 +--- src/main.c 10 Apr 2011 17:19:04 -0000 1.115.2.237 ++++ src/main.c 30 Apr 2011 19:27:15 -0000 1.115.2.238 +@@ -331,7 +331,7 @@ + gtk_widget_show(hack); + } + +- xdisplay = gdk_display_get_default(); ++ xdisplay = GDK_DISPLAY_XDISPLAY(gdk_display_get_default()); + sn_display = sn_display_new(xdisplay, + sn_error_trap_push, + sn_error_trap_pop); + diff --git a/testing/cups/PKGBUILD b/testing/cups/PKGBUILD new file mode 100644 index 000000000..628600839 --- /dev/null +++ b/testing/cups/PKGBUILD @@ -0,0 +1,148 @@ +# $Id: PKGBUILD 134929 2011-08-09 13:34:46Z ibiru $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> + +pkgbase="cups" +pkgname=('libcups' 'cups') +pkgver=1.4.8 +pkgrel=2 +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.cups.org/" +makedepends=('libtiff>=3.9.2-2' 'libpng>=1.4.0' 'acl' 'openslp' 'pam' 'xdg-utils' 'krb5' 'gnutls>=2.8.3' 'poppler>=0.12.3' + 'xinetd' 'gzip' 'autoconf' 'php' 'libusb-compat' 'dbus-core' 'avahi' 'hicolor-icon-theme') +source=(ftp://ftp.easysw.com/pub/cups/${pkgver}/cups-${pkgver}-source.tar.bz2 + cups-avahi.patch + cups-no-export-ssllibs.patch + cups-no-gcrypt.patch + cups cups.logrotate cups.pam) +#options=('!emptydirs') +md5sums=('0ec52d3f3c69bc2ab5ed70c594edbce6' + '8ebd390197501ffd709f0ee546937fd5' + '9b8467a1e51d360096b70e2c3c081e6c' + 'c9ede95cfc8e76571bd8156f0a573e3b' + '9657daa21760bb0b5fa3d8b51d5e01a1' + 'f861b18f4446c43918c8643dcbbd7f6d' + '96f82c38f3f540b53f3e5144900acf17') + +# move client.conf man page for next update to the client pkg. + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + # Avahi support in the dnssd backend. patch from Fedora + patch -Np1 -i ${srcdir}/cups-avahi.patch + + # Do not export SSL libs in cups-config + patch -Np1 -i "${srcdir}/cups-no-export-ssllibs.patch" + + patch -Np1 -i "${srcdir}/cups-no-gcrypt.patch" + + # Rebuild configure script for --enable-avahi. + aclocal -I config-scripts + autoconf -I config-scripts + + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libdir=/usr/lib \ + --with-logdir=/var/log/cups \ + --with-docdir=/usr/share/cups/doc \ + --with-cups-user=daemon \ + --with-cups-group=lp \ + --enable-pam=yes \ + --disable-ldap \ + --enable-raw-printing \ + --enable-dbus --with-dbusdir=/etc/dbus-1 \ + --enable-ssl=yes --enable-gnutls \ + --disable-threads \ + --enable-avahi\ + --with-php=/usr/bin/php-cgi \ + --with-pdftops=pdftops \ + --with-optim="$CFLAGS" + + #reminder + #Restored support for GNU TLS and OpenSSL with threading enabled (STR #3605) in cups 1.5b1 + + make +} + +check() { + cd "$srcdir/$pkgbase-$pkgver" + #httpAddrGetList(workstation64): FAIL + #1 TESTS FAILED! + #make[1]: *** [testhttp] Error 1 + make -k check || /bin/true +} + +package_libcups() { +pkgdesc="The CUPS Printing System - client libraries and headers" +depends=('gnutls>=2.8.3' 'libtiff>=3.9.2-2' 'libpng>=1.4.0' 'krb5' 'avahi') + + cd ${srcdir}/${pkgbase}-${pkgver} + make BUILDROOT=${pkgdir} install-headers install-libs + # put this into the libs pkg to make other software find the libs(no pkg-config file included) + mkdir -p ${pkgdir}/usr/bin + install -m755 ${srcdir}/${pkgbase}-${pkgver}/cups-config ${pkgdir}/usr/bin/cups-config +} + +package_cups() { +pkgdesc="The CUPS Printing System - deamon package" +install=cups.install +backup=(etc/cups/cupsd.conf + etc/cups/mime.convs + etc/cups/mime.types + etc/cups/snmp.conf + etc/cups/printers.conf + etc/cups/classes.conf + etc/cups/client.conf + etc/cups/subscriptions.conf + etc/dbus-1/system.d/cups.conf + etc/logrotate.d/cups + etc/pam.d/cups + etc/xinetd.d/cups-lpd) +depends=('acl' 'openslp' 'pam' "libcups>=${pkgver}" 'poppler>=0.12.3' 'libusb-compat' 'dbus-core' 'hicolor-icon-theme') +optdepends=('php: for included phpcups.so module' + 'ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images' + 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly' + 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly' + 'foomatic-db-nonfree: drivers use Ghostscript to convert PostScript to a printable form directly' + 'xdg-utils: xdg .desktop file support') + + cd ${srcdir}/${pkgbase}-${pkgver} + make BUILDROOT=${pkgdir} install-data install-exec + + # this one we ship in the libcups pkg + rm -f ${pkgdir}/usr/bin/cups-config + + # kill the sysv stuff + rm -rf ${pkgdir}/etc/rc*.d + rm -rf ${pkgdir}/etc/init.d + install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd + install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups + install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups + + # fix perms on /var/spool and /etc + chmod 755 ${pkgdir}/var/spool + chmod 755 ${pkgdir}/etc + + # serial backend needs to run as root (http://bugs.archlinux.org/task/20396) + chmod 700 ${pkgdir}/usr/lib/cups/backend/serial + + # install ssl directory where to store the certs, solves some samba issues + install -dm700 -g lp ${pkgdir}/etc/cups/ssl + # remove directory from package, we create it in cups rc.d file + rm -rf ${pkgdir}/var/run +# install -dm511 -g lp ${pkgdir}/var/run/cups/certs + + # install some more configuration files that will get filled by cupsd + touch ${pkgdir}/etc/cups/printers.conf + touch ${pkgdir}/etc/cups/classes.conf + touch ${pkgdir}/etc/cups/client.conf + echo "# see 'man client.conf'" >> ${pkgdir}/etc/cups/client.conf + echo "ServerName /var/run/cups/cups.sock # alternative: ServerName hostname-or-ip-address[:port] of a remote server" >> ${pkgdir}/etc/cups/client.conf + touch ${pkgdir}/etc/cups/subscriptions.conf + chgrp lp ${pkgdir}/etc/cups/{printers.conf,classes.conf,client.conf,subscriptions.conf} + + # fix .desktop file + sed -i 's|^Exec=htmlview http://localhost:631/|Exec=xdg-open http://localhost:631/|g' ${pkgdir}/usr/share/applications/cups.desktop + + # compress some driver files, adopted from Fedora + find ${pkgdir}/usr/share/cups/model -name "*.ppd" | xargs gzip -n9f +} diff --git a/testing/cups/cups b/testing/cups/cups new file mode 100755 index 000000000..744c8e663 --- /dev/null +++ b/testing/cups/cups @@ -0,0 +1,68 @@ +#!/bin/bash + +daemon_name=cupsd + +. /etc/rc.conf +. /etc/rc.d/functions +#. /etc/conf.d/$daemon_name.conf + +get_pid() { + pidof -o %PPID $daemon_name +} + +case "$1" in + start) + stat_busy "Starting $daemon_name daemon" + + PID=$(get_pid) + if [ -z "$PID" ]; then + [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid + # RUN + $daemon_name + # + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + echo $(get_pid) > /var/run/$daemon_name.pid + add_daemon $daemon_name + stat_done + fi + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping $daemon_name daemon" + PID=$(get_pid) + # KILL + [ ! -z "$PID" ] && kill $PID &> /dev/null + # + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + rm -f /var/run/$daemon_name.pid &> /dev/null + rm_daemon $daemon_name + stat_done + fi + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + + status) + stat_busy "Checking $daemon_name status"; + ck_status $daemon_name + ;; + + *) + echo "usage: $0 {start|stop|restart|status}" +esac + +exit 0 diff --git a/testing/cups/cups-avahi.patch b/testing/cups/cups-avahi.patch new file mode 100644 index 000000000..cf1056a75 --- /dev/null +++ b/testing/cups/cups-avahi.patch @@ -0,0 +1,1089 @@ +diff -up cups-1.4.5/backend/dnssd.c.avahi cups-1.4.5/backend/dnssd.c +--- cups-1.4.5/backend/dnssd.c.avahi 2009-08-08 00:27:12.000000000 +0200 ++++ cups-1.4.5/backend/dnssd.c 2010-11-12 13:13:31.000000000 +0100 +@@ -22,6 +22,7 @@ + * exec_backend() - Execute the backend that corresponds to the + * resolved service name. + * get_device() - Create or update a device. ++* find_device() + * query_callback() - Process query data. + * sigterm_handler() - Handle termination signals... + * unquote() - Unquote a name string. +@@ -33,7 +34,18 @@ + + #include "backend-private.h" + #include <cups/array.h> +-#include <dns_sd.h> ++#ifdef HAVE_DNSSD ++# include <dns_sd.h> ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++# include <avahi-client/client.h> ++# include <avahi-client/lookup.h> ++# include <avahi-common/simple-watch.h> ++# include <avahi-common/domain.h> ++# include <avahi-common/error.h> ++# include <avahi-common/malloc.h> ++#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX ++#endif /* HAVE_AVAHI */ + + + /* +@@ -52,7 +64,12 @@ typedef enum + + typedef struct + { ++#ifdef HAVE_DNSSD + DNSServiceRef ref; /* Service reference for resolve */ ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ int resolved; /* Did we resolve the device? */ ++#endif /* HAVE_AVAHI */ + char *name, /* Service name */ + *domain, /* Domain name */ + *fullName, /* Full name */ +@@ -64,6 +81,20 @@ typedef struct + sent; /* Did we list the device? */ + } cups_device_t; + ++typedef struct ++{ ++ char key[256]; ++ char value[256]; ++ ++#ifdef HAVE_DNSSD ++ const uint8_t *data; ++ const uint8_t *datanext; ++ const uint8_t *dataend; ++#else /* HAVE_AVAHI */ ++ AvahiStringList *txt; ++#endif /* HAVE_DNSSD */ ++} cups_txt_records_t; ++ + + /* + * Local globals... +@@ -77,6 +108,7 @@ static int job_canceled = 0; + * Local functions... + */ + ++#ifdef HAVE_DNSSD + static void browse_callback(DNSServiceRef sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, +@@ -92,12 +124,6 @@ static void browse_local_callback(DNSSe + const char *regtype, + const char *replyDomain, + void *context); +-static int compare_devices(cups_device_t *a, cups_device_t *b); +-static void exec_backend(char **argv); +-static cups_device_t *get_device(cups_array_t *devices, +- const char *serviceName, +- const char *regtype, +- const char *replyDomain); + static void query_callback(DNSServiceRef sdRef, + DNSServiceFlags flags, + uint32_t interfaceIndex, +@@ -106,9 +132,111 @@ static void query_callback(DNSServiceRe + uint16_t rrclass, uint16_t rdlen, + const void *rdata, uint32_t ttl, + void *context); ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++static void avahi_client_callback (AvahiClient *client, ++ AvahiClientState state, ++ void *context); ++static void avahi_browse_callback (AvahiServiceBrowser *browser, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiBrowserEvent event, ++ const char *serviceName, ++ const char *regtype, ++ const char *replyDomain, ++ AvahiLookupResultFlags flags, ++ void *context); ++#endif /* HAVE_AVAHI */ ++ ++static cups_device_t * find_device (cups_array_t *devices, ++ cups_txt_records_t *txt, ++ cups_device_t *dkey); ++static int compare_devices(cups_device_t *a, cups_device_t *b); ++static void exec_backend(char **argv); ++static cups_device_t *get_device(cups_array_t *devices, ++ const char *serviceName, ++ const char *regtype, ++ const char *replyDomain); + static void sigterm_handler(int sig); + static void unquote(char *dst, const char *src, size_t dstsize); + ++#ifdef HAVE_AVAHI ++static AvahiSimplePoll *simple_poll = NULL; ++static int avahi_got_callback; ++#endif /* HAVE_AVAHI */ ++ ++ ++/* ++ * cups_txt_records_t access functions ++ */ ++static cups_txt_records_t * ++next_txt_record (cups_txt_records_t *txt) ++{ ++#ifdef HAVE_DNSSD ++ txt->data = txt->datanext; ++#else /* HAVE_AVAHI */ ++ txt->txt = avahi_string_list_get_next (txt->txt); ++ if (txt->txt == NULL) ++ return NULL; ++#endif /* HAVE_DNSSD */ ++ ++ return txt; ++} ++ ++static int ++parse_txt_record_pair (cups_txt_records_t *txt) ++{ ++#ifdef HAVE_DNSSD ++ uint8_t datalen; ++ uint8_t *data = txt->data; ++ char *ptr; ++ ++ /* ++ * Read a key/value pair starting with an 8-bit length. Since the ++ * length is 8 bits and the size of the key/value buffers is 256, we ++ * don't need to check for overflow... ++ */ ++ ++ datalen = *data++; ++ if (!datalen || (data + datalen) >= txt->dataend) ++ return NULL; ++ txt->datanext = data + datalen; ++ ++ for (ptr = txt->key; data < txt->datanext && *data != '='; data ++) ++ *ptr++ = *data; ++ *ptr = '\0'; ++ ++ if (data < txt->datanext && *data == '=') ++ { ++ data++; ++ ++ if (data < datanext) ++ memcpy (txt->value, data, txt->datanext - data); ++ value[txt->datanext - data] = '\0'; ++ } ++ else ++ return 1; ++#else /* HAVE_AVAHI */ ++ char *key, *value; ++ size_t len; ++ avahi_string_list_get_pair (txt->txt, &key, &value, &len); ++ if (len > sizeof (txt->value) - 1) ++ len = sizeof (txt->value) - 1; ++ ++ memcpy (txt->value, value, len); ++ txt->value[len] = '\0'; ++ len = strlen (key); ++ if (len > sizeof (txt->key) - 1) ++ len = sizeof (txt->key) - 1; ++ ++ memcpy (txt->key, key, len); ++ txt->key[len] = '\0'; ++ avahi_free (key); ++ avahi_free (value); ++#endif /* HAVE_AVAHI */ ++ ++ return 0; ++} + + /* + * 'main()' - Browse for printers. +@@ -119,6 +247,13 @@ main(int argc, /* I - Number of comm + char *argv[]) /* I - Command-line arguments */ + { + const char *name; /* Backend name */ ++ cups_array_t *devices; /* Device array */ ++ cups_device_t *device; /* Current device */ ++ char uriName[1024]; /* Unquoted fullName for URI */ ++#ifdef HAVE_DNSSD ++ int fd; /* Main file descriptor */ ++ fd_set input; /* Input set for select() */ ++ struct timeval timeout; /* Timeout for select() */ + DNSServiceRef main_ref, /* Main service reference */ + fax_ipp_ref, /* IPP fax service reference */ + ipp_ref, /* IPP service reference */ +@@ -130,12 +265,11 @@ main(int argc, /* I - Number of comm + pdl_datastream_ref, /* AppSocket service reference */ + printer_ref, /* LPD service reference */ + riousbprint_ref; /* Remote IO service reference */ +- int fd; /* Main file descriptor */ +- fd_set input; /* Input set for select() */ +- struct timeval timeout; /* Timeout for select() */ +- cups_array_t *devices; /* Device array */ +- cups_device_t *device; /* Current device */ +- char uriName[1024]; /* Unquoted fullName for URI */ ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ AvahiClient *client; ++ int error; ++#endif /* HAVE_AVAHI */ + #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET) + struct sigaction action; /* Actions for POSIX signals */ + #endif /* HAVE_SIGACTION && !HAVE_SIGSET */ +@@ -194,6 +328,49 @@ main(int argc, /* I - Number of comm + * Browse for different kinds of printers... + */ + ++#ifdef HAVE_AVAHI ++ if ((simple_poll = avahi_simple_poll_new ()) == NULL) ++ { ++ perror ("ERROR: Unable to create avahi simple poll object"); ++ return (1); ++ } ++ ++ client = avahi_client_new (avahi_simple_poll_get (simple_poll), ++ 0, avahi_client_callback, NULL, &error); ++ if (!client) ++ { ++ perror ("ERROR: Unable to create avahi client"); ++ return (1); ++ } ++ ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_fax-ipp._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_ipp._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_ipp-tls._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_pdl-datastream._tcp", ++ NULL, 0, ++ avahi_browse_callback, ++ devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_printer._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++ avahi_service_browser_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, ++ "_riousbprint._tcp", NULL, 0, ++ avahi_browse_callback, devices); ++#endif /* HAVE_AVAHI */ ++#ifdef HAVE_DNSSD + if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError) + { + perror("ERROR: Unable to create service connection"); +@@ -245,6 +422,7 @@ main(int argc, /* I - Number of comm + riousbprint_ref = main_ref; + DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0, + "_riousbprint._tcp", NULL, browse_callback, devices); ++#endif /* HAVE_DNSSD */ + + /* + * Loop until we are killed... +@@ -252,6 +430,9 @@ main(int argc, /* I - Number of comm + + while (!job_canceled) + { ++ int announce = 0; ++ ++#ifdef HAVE_DNSSD + FD_ZERO(&input); + FD_SET(fd, &input); + +@@ -271,11 +452,35 @@ main(int argc, /* I - Number of comm + } + else + { ++ announce = 1; ++ } ++#else /* HAVE_AVAHI */ ++ int r; ++ avahi_got_callback = 0; ++ r = avahi_simple_poll_iterate (simple_poll, 1); ++ if (r != 0 && r != EINTR) ++ { ++ /* ++ * We've been told to exit the loop. Perhaps the connection to ++ * avahi failed. ++ */ ++ ++ break; ++ } ++ ++ if (avahi_got_callback) ++ announce = 1; ++#endif /* HAVE_DNSSD */ ++ ++ if (announce) ++ { + /* + * Announce any devices we've found... + */ + ++#ifdef HAVE_DNSSD + DNSServiceErrorType status; /* DNS query status */ ++#endif /* HAVE_DNSSD */ + cups_device_t *best; /* Best matching device */ + char device_uri[1024]; /* Device URI */ + int count; /* Number of queries */ +@@ -285,6 +490,7 @@ main(int argc, /* I - Number of comm + best = NULL, count = 0; + device; + device = (cups_device_t *)cupsArrayNext(devices)) ++#ifdef HAVE_DNSSD + if (!device->ref && !device->sent) + { + /* +@@ -313,14 +519,23 @@ main(int argc, /* I - Number of comm + count ++; + } + } +- else if (!device->sent) ++ else ++#endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++ if (!device->resolved) ++ continue; ++ else ++#endif /* HAVE_AVAHI */ ++ if (!device->sent) + { ++#ifdef HAVE_DNSSD + /* + * Got the TXT records, now report the device... + */ + + DNSServiceRefDeallocate(device->ref); + device->ref = 0; ++#endif /* HAVE_DNSSD */ + + if (!best) + best = device; +@@ -372,6 +587,7 @@ main(int argc, /* I - Number of comm + * 'browse_callback()' - Browse devices. + */ + ++#ifdef HAVE_DNSSD + static void + browse_callback( + DNSServiceRef sdRef, /* I - Service reference */ +@@ -405,12 +621,14 @@ browse_callback( + + get_device((cups_array_t *)context, serviceName, regtype, replyDomain); + } ++#endif /* HAVE_DNSSD */ + + + /* + * 'browse_local_callback()' - Browse local devices. + */ + ++#ifdef HAVE_DNSSD + static void + browse_local_callback( + DNSServiceRef sdRef, /* I - Service reference */ +@@ -456,6 +674,7 @@ browse_local_callback( + device->fullName); + device->sent = 1; + } ++#endif /* HAVE_DNSSD */ + + + /* +@@ -528,6 +747,32 @@ exec_backend(char **argv) /* I - Comman + exit(CUPS_BACKEND_STOP); + } + ++static int ++device_type (const char *regtype) ++{ ++#ifdef HAVE_AVAHI ++ if (!strcmp(regtype, "_ipp._tcp") || ++ !strcmp(regtype, "_ipp-tls._tcp")) ++ return (CUPS_DEVICE_IPP); ++ else if (!strcmp(regtype, "_fax-ipp._tcp")) ++ return (CUPS_DEVICE_FAX_IPP); ++ else if (!strcmp(regtype, "_printer._tcp")) ++ return (CUPS_DEVICE_PDL_DATASTREAM); ++#else ++ if (!strcmp(regtype, "_ipp._tcp.") || ++ !strcmp(regtype, "_ipp-tls._tcp.")) ++ return (CUPS_DEVICE_IPP); ++ else if (!strcmp(regtype, "_fax-ipp._tcp.")) ++ return (CUPS_DEVICE_FAX_IPP); ++ else if (!strcmp(regtype, "_printer._tcp.")) ++ return (CUPS_DEVICE_PRINTER); ++ else if (!strcmp(regtype, "_pdl-datastream._tcp.")) ++ return (CUPS_DEVICE_PDL_DATASTREAM); ++#endif /* HAVE_AVAHI */ ++ ++ return (CUPS_DEVICE_RIOUSBPRINT); ++} ++ + + /* + * 'get_device()' - Create or update a device. +@@ -550,18 +795,7 @@ get_device(cups_array_t *devices, /* I - + */ + + key.name = (char *)serviceName; +- +- if (!strcmp(regtype, "_ipp._tcp.") || +- !strcmp(regtype, "_ipp-tls._tcp.")) +- key.type = CUPS_DEVICE_IPP; +- else if (!strcmp(regtype, "_fax-ipp._tcp.")) +- key.type = CUPS_DEVICE_FAX_IPP; +- else if (!strcmp(regtype, "_printer._tcp.")) +- key.type = CUPS_DEVICE_PRINTER; +- else if (!strcmp(regtype, "_pdl-datastream._tcp.")) +- key.type = CUPS_DEVICE_PDL_DATASTREAM; +- else +- key.type = CUPS_DEVICE_RIOUSBPRINT; ++ key.type = device_type (regtype); + + for (device = cupsArrayFind(devices, &key); + device; +@@ -581,8 +815,14 @@ get_device(cups_array_t *devices, /* I - + free(device->domain); + device->domain = strdup(replyDomain); + ++#ifdef HAVE_DNSSD + DNSServiceConstructFullName(fullName, device->name, regtype, + replyDomain); ++#else /* HAVE_AVAHI */ ++ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, ++ serviceName, regtype, replyDomain); ++#endif /* HAVE_DNSSD */ ++ + free(device->fullName); + device->fullName = strdup(fullName); + } +@@ -602,6 +842,9 @@ get_device(cups_array_t *devices, /* I - + device->domain = strdup(replyDomain); + device->type = key.type; + device->priority = 50; ++#ifdef HAVE_AVAHI ++ device->resolved = 0; ++#endif /* HAVE_AVAHI */ + + cupsArrayAdd(devices, device); + +@@ -609,7 +852,13 @@ get_device(cups_array_t *devices, /* I - + * Set the "full name" of this service, which is used for queries... + */ + ++#ifdef HAVE_DNSSD + DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain); ++#else /* HAVE_AVAHI */ ++ avahi_service_name_join (fullName, kDNSServiceMaxDomainName, ++ serviceName, regtype, replyDomain); ++#endif /* HAVE_DNSSD */ ++ + device->fullName = strdup(fullName); + + return (device); +@@ -620,6 +869,7 @@ get_device(cups_array_t *devices, /* I - + * 'query_callback()' - Process query data. + */ + ++#ifdef HAVE_DNSSD + static void + query_callback( + DNSServiceRef sdRef, /* I - Service reference */ +@@ -639,7 +889,7 @@ query_callback( + *ptr; /* Pointer into string */ + cups_device_t dkey, /* Search key */ + *device; /* Device */ +- ++ cups_txt_records_t txt; + + fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, " + "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", " +@@ -673,84 +923,212 @@ query_callback( + if ((ptr = strstr(name, "._")) != NULL) + *ptr = '\0'; + +- if (strstr(fullName, "_ipp._tcp.") || +- strstr(fullName, "_ipp-tls._tcp.")) +- dkey.type = CUPS_DEVICE_IPP; +- else if (strstr(fullName, "_fax-ipp._tcp.")) +- dkey.type = CUPS_DEVICE_FAX_IPP; +- else if (strstr(fullName, "_printer._tcp.")) +- dkey.type = CUPS_DEVICE_PRINTER; +- else if (strstr(fullName, "_pdl-datastream._tcp.")) +- dkey.type = CUPS_DEVICE_PDL_DATASTREAM; ++ dkey.type = device_type (fullName); ++ ++ txt.data = rdata; ++ txt.dataend = rdata + rdlen; ++ device = find_device ((cups_array_t *) context, &txt, &dkey); ++ if (!device) ++ fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); ++} ++#endif /* HAVE_DNSSD */ ++ ++#ifdef HAVE_AVAHI ++static void ++avahi_client_callback(AvahiClient *client, ++ AvahiClientState state, ++ void *context) ++{ ++ /* ++ * If the connection drops, quit. ++ */ ++ ++ if (state == AVAHI_CLIENT_FAILURE) ++ { ++ fprintf (stderr, "ERROR: Avahi connection failed\n"); ++ avahi_simple_poll_quit (simple_poll); ++ } ++} ++ ++static void ++avahi_query_callback(AvahiServiceResolver *resolver, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiResolverEvent event, ++ const char *name, ++ const char *type, ++ const char *domain, ++ const char *host_name, ++ const AvahiAddress *address, ++ uint16_t port, ++ AvahiStringList *txt, ++ AvahiLookupResultFlags flags, ++ void *context) ++{ ++ AvahiClient *client; ++ cups_device_t key, ++ *device; ++ char uqname[1024], ++ *ptr; ++ cups_txt_records_t txtr; ++ ++ client = avahi_service_resolver_get_client (resolver); ++ if (event != AVAHI_RESOLVER_FOUND) ++ { ++ if (event == AVAHI_RESOLVER_FAILURE) ++ { ++ fprintf (stderr, "ERROR: %s\n", ++ avahi_strerror (avahi_client_errno (client))); ++ } ++ ++ avahi_service_resolver_free (resolver); ++ return; ++ } ++ ++ /* ++ * Set search key for device. ++ */ ++ ++ key.name = uqname; ++ unquote (uqname, name, sizeof (uqname)); ++ if ((ptr = strstr(name, "._")) != NULL) ++ *ptr = '\0'; ++ ++ key.domain = (char *) domain; ++ key.type = device_type (type); ++ ++ /* ++ * Find the device and the the TXT information. ++ */ ++ ++ txtr.txt = txt; ++ device = find_device ((cups_array_t *) context, &txtr, &key); ++ if (device) ++ { ++ /* ++ * Let the main loop know to announce the device. ++ */ ++ ++ device->resolved = 1; ++ avahi_got_callback = 1; ++ } + else +- dkey.type = CUPS_DEVICE_RIOUSBPRINT; ++ fprintf (stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", name); ++ ++ avahi_service_resolver_free (resolver); ++} ++ ++static void ++avahi_browse_callback(AvahiServiceBrowser *browser, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiBrowserEvent event, ++ const char *name, ++ const char *type, ++ const char *domain, ++ AvahiLookupResultFlags flags, ++ void *context) ++{ ++ AvahiClient *client = avahi_service_browser_get_client (browser); ++ ++ switch (event) ++ { ++ case AVAHI_BROWSER_FAILURE: ++ fprintf (stderr, "ERROR: %s\n", ++ avahi_strerror (avahi_client_errno (client))); ++ avahi_simple_poll_quit (simple_poll); ++ return; ++ ++ case AVAHI_BROWSER_NEW: ++ /* ++ * This object is new on the network. ++ */ ++ ++ if (flags & AVAHI_LOOKUP_RESULT_LOCAL) ++ { ++ /* ++ * This comes from the local machine so ignore it. ++ */ ++ ++ fprintf (stderr, "DEBUG: ignoring local service %s\n", name); ++ } ++ else ++ { ++ /* ++ * Create a device entry for it if it doesn't yet exist. ++ */ ++ ++ get_device ((cups_array_t *)context, name, type, domain); ++ ++ /* ++ * Now look for a TXT entry. ++ */ ++ ++ if (avahi_service_resolver_new (client, interface, protocol, ++ name, type, domain, ++ AVAHI_PROTO_UNSPEC, 0, ++ avahi_query_callback, context) == NULL) ++ { ++ fprintf (stderr, "ERROR: failed to resolve service %s: %s\n", ++ name, avahi_strerror (avahi_client_errno (client))); ++ } ++ } ++ ++ break; + +- for (device = cupsArrayFind(devices, &dkey); ++ case AVAHI_BROWSER_REMOVE: ++ case AVAHI_BROWSER_ALL_FOR_NOW: ++ case AVAHI_BROWSER_CACHE_EXHAUSTED: ++ break; ++ } ++} ++#endif /* HAVE_AVAHI */ ++ ++static cups_device_t * ++find_device (cups_array_t *devices, ++ cups_txt_records_t *txt, ++ cups_device_t *dkey) ++{ ++ cups_device_t *device; ++ char *ptr; ++ ++ for (device = cupsArrayFind(devices, dkey); + device; + device = cupsArrayNext(devices)) + { +- if (strcasecmp(device->name, dkey.name) || +- strcasecmp(device->domain, dkey.domain)) ++ if (strcasecmp(device->name, dkey->name) || ++ strcasecmp(device->domain, dkey->domain)) + { + device = NULL; + break; + } +- else if (device->type == dkey.type) ++ else if (device->type == dkey->type) + { + /* + * Found it, pull out the priority and make and model from the TXT + * record and save it... + */ + +- const uint8_t *data, /* Pointer into data */ +- *datanext, /* Next key/value pair */ +- *dataend; /* End of entire TXT record */ +- uint8_t datalen; /* Length of current key/value pair */ +- char key[256], /* Key string */ +- value[256], /* Value string */ +- make_and_model[512], ++ char make_and_model[512], + /* Manufacturer and model */ + model[256], /* Model */ +- device_id[2048];/* 1284 device ID */ +- ++ device_id[2048]; /* 1284 device ID */ + + device_id[0] = '\0'; + make_and_model[0] = '\0'; + + strcpy(model, "Unknown"); + +- for (data = rdata, dataend = data + rdlen; +- data < dataend; +- data = datanext) ++ for (;;) + { +- /* +- * Read a key/value pair starting with an 8-bit length. Since the +- * length is 8 bits and the size of the key/value buffers is 256, we +- * don't need to check for overflow... +- */ +- +- datalen = *data++; +- +- if (!datalen || (data + datalen) >= dataend) +- break; +- +- datanext = data + datalen; ++ char *key; ++ char *value; + +- for (ptr = key; data < datanext && *data != '='; data ++) +- *ptr++ = *data; +- *ptr = '\0'; +- +- if (data < datanext && *data == '=') +- { +- data ++; +- +- if (data < datanext) +- memcpy(value, data, datanext - data); +- value[datanext - data] = '\0'; +- } +- else +- continue; ++ if (parse_txt_record_pair (txt)) ++ goto next; + ++ key = txt->key; ++ value = txt->value; + if (!strncasecmp(key, "usb_", 4)) + { + /* +@@ -805,6 +1183,10 @@ query_callback( + if (device->type == CUPS_DEVICE_PRINTER) + device->sent = 1; + } ++ ++ next: ++ if (next_txt_record (txt) == NULL) ++ break; + } + + if (device->device_id) +@@ -854,11 +1236,9 @@ query_callback( + } + } + +- if (!device) +- fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName); ++ return device; + } + +- + /* + * 'sigterm_handler()' - Handle termination signals... + */ +diff -up cups-1.4.5/config.h.in.avahi cups-1.4.5/config.h.in +--- cups-1.4.5/config.h.in.avahi 2010-08-13 06:11:46.000000000 +0200 ++++ cups-1.4.5/config.h.in 2010-11-12 13:13:31.000000000 +0100 +@@ -344,6 +344,13 @@ + + + /* ++ * Do we have Avahi for DNS Service Discovery? ++ */ ++ ++#undef HAVE_AVAHI ++ ++ ++/* + * Do we have <sys/ioctl.h>? + */ + +diff -up cups-1.4.5/config-scripts/cups-dnssd.m4.avahi cups-1.4.5/config-scripts/cups-dnssd.m4 +--- cups-1.4.5/config-scripts/cups-dnssd.m4.avahi 2009-08-29 00:54:34.000000000 +0200 ++++ cups-1.4.5/config-scripts/cups-dnssd.m4 2010-11-12 13:13:31.000000000 +0100 +@@ -27,6 +27,21 @@ AC_ARG_WITH(dnssd-includes, [ --with-dn + DNSSDLIBS="" + DNSSD_BACKEND="" + ++AC_ARG_ENABLE(avahi, [ --enable-avahi turn on DNS Service Discovery support, default=no], ++ [if test x$enable_avahi = xyes; then ++ AC_MSG_CHECKING(for Avahi) ++ if $PKGCONFIG --exists avahi-client; then ++ AC_MSG_RESULT(yes) ++ CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`" ++ DNSSDLIBS="`$PKGCONFIG --libs avahi-client`" ++ DNSSD_BACKEND="dnssd" ++ AC_DEFINE(HAVE_AVAHI) ++ enable_dnssd=no ++ else ++ AC_MSG_RESULT(no) ++ fi ++ fi]) ++ + if test x$enable_dnssd != xno; then + AC_CHECK_HEADER(dns_sd.h, [ + case "$uname" in +diff -up cups-1.4.5/cups/http-support.c.avahi cups-1.4.5/cups/http-support.c +--- cups-1.4.5/cups/http-support.c.avahi 2010-10-02 00:40:38.000000000 +0200 ++++ cups-1.4.5/cups/http-support.c 2010-11-12 13:28:45.000000000 +0100 +@@ -55,6 +55,11 @@ + # include <dns_sd.h> + # include <poll.h> + #endif /* HAVE_DNSSD */ ++#ifdef HAVE_AVAHI ++# include <avahi-client/client.h> ++# include <avahi-client/lookup.h> ++# include <avahi-common/simple-watch.h> ++#endif /* HAVE_AVAHI */ + + + /* +@@ -121,6 +126,24 @@ static void resolve_callback(DNSService + void *context); + #endif /* HAVE_DNSSD */ + ++#ifdef HAVE_AVAHI ++static void avahi_resolve_uri_client_cb(AvahiClient *client, ++ AvahiClientState state, ++ void *simple_poll); ++static void avahi_resolve_uri_resolver_cb(AvahiServiceResolver *resolver, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiResolverEvent event, ++ const char *name, ++ const char *type, ++ const char *domain, ++ const char *host_name, ++ const AvahiAddress *address, ++ uint16_t port, ++ AvahiStringList *txt, ++ AvahiLookupResultFlags flags, ++ void *context); ++#endif /* HAVE_AVAHI */ + + /* + * 'httpAssembleURI()' - Assemble a uniform resource identifier from its +@@ -1351,16 +1374,27 @@ _httpResolveURI( + + if (strstr(hostname, "._tcp")) + { ++#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) ++ char *regtype, /* Pointer to type in hostname */ ++ *domain; /* Pointer to domain in hostname */ + #ifdef HAVE_DNSSD + DNSServiceRef ref, /* DNS-SD master service reference */ + domainref, /* DNS-SD service reference for domain */ + localref; /* DNS-SD service reference for .local */ + int domainsent = 0, /* Send the domain resolve? */ + offline = 0; /* offline-report state set? */ +- char *regtype, /* Pointer to type in hostname */ +- *domain; /* Pointer to domain in hostname */ + _http_uribuf_t uribuf; /* URI buffer */ + struct pollfd polldata; /* Polling data */ ++#else /* HAVE_AVAHI */ ++ AvahiSimplePoll *simple_poll; ++ AvahiClient *client; ++ int error; ++ struct ++ { ++ AvahiSimplePoll *poll; ++ _http_uribuf_t uribuf; ++ } user_data; ++#endif /* HAVE_DNSSD */ + + + if (logit) +@@ -1398,8 +1432,13 @@ _httpResolveURI( + if (domain) + *domain++ = '\0'; + ++#ifdef HAVE_DNSSD + uribuf.buffer = resolved_uri; + uribuf.bufsize = resolved_size; ++#else ++ user_data.uribuf.buffer = resolved_uri; ++ user_data.uribuf.bufsize = resolved_size; ++#endif + + resolved_uri[0] = '\0'; + +@@ -1414,6 +1453,7 @@ _httpResolveURI( + + uri = NULL; + ++#ifdef HAVE_DNSSD + if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError) + { + localref = ref; +@@ -1500,6 +1540,36 @@ _httpResolveURI( + + DNSServiceRefDeallocate(ref); + } ++#else /* HAVE_AVAHI */ ++ if ((simple_poll = avahi_simple_poll_new ()) != NULL) ++ { ++ if ((client = avahi_client_new (avahi_simple_poll_get (simple_poll), ++ 0, avahi_resolve_uri_client_cb, ++ &simple_poll, &error)) != NULL) ++ { ++ user_data.poll = simple_poll; ++ if (avahi_service_resolver_new (client, AVAHI_IF_UNSPEC, ++ AVAHI_PROTO_UNSPEC, hostname, ++ regtype, domain, AVAHI_PROTO_UNSPEC, 0, ++ avahi_resolve_uri_resolver_cb, ++ &user_data) != NULL) ++ { ++ avahi_simple_poll_loop (simple_poll); ++ ++ /* ++ * Collect the result. ++ */ ++ ++ if (resolved_uri[0]) ++ uri = resolved_uri; ++ } ++ ++ avahi_client_free (client); ++ } ++ ++ avahi_simple_poll_free (simple_poll); ++ } ++#endif /* HAVE_DNSSD */ + + if (logit) + { +@@ -1511,13 +1581,13 @@ _httpResolveURI( + fputs("STATE: -connecting-to-device,offline-report\n", stderr); + } + +-#else ++#else /* HAVE_DNSSD || HAVE_AVAHI */ + /* + * No DNS-SD support... + */ + + uri = NULL; +-#endif /* HAVE_DNSSD */ ++#endif /* HAVE_DNSSD || HAVE_AVAHI */ + + if (logit && !uri) + _cupsLangPuts(stderr, _("Unable to find printer!\n")); +@@ -1722,6 +1792,105 @@ resolve_callback( + } + #endif /* HAVE_DNSSD */ + ++#ifdef HAVE_AVAHI ++static void ++avahi_resolve_uri_client_cb (AvahiClient *client, ++ AvahiClientState state, ++ void *simple_poll) ++{ ++ DEBUG_printf(("avahi_resolve_uri_client_callback(client=%p, state=%d, " ++ "simple_poll=%p)\n", client, state, simple_poll)); ++ ++ /* ++ * If the connection drops, quit. ++ */ ++ ++ if (state == AVAHI_CLIENT_FAILURE) ++ avahi_simple_poll_quit (simple_poll); ++} ++ ++static void ++avahi_resolve_uri_resolver_cb (AvahiServiceResolver *resolver, ++ AvahiIfIndex interface, ++ AvahiProtocol protocol, ++ AvahiResolverEvent event, ++ const char *name, ++ const char *type, ++ const char *domain, ++ const char *host_name, ++ const AvahiAddress *address, ++ uint16_t port, ++ AvahiStringList *txt, ++ AvahiLookupResultFlags flags, ++ void *context) ++{ ++ const char *scheme; /* URI scheme */ ++ char rp[256]; /* Remote printer */ ++ AvahiStringList *pair; ++ char *value; ++ size_t valueLen = 0; ++ char addr[AVAHI_ADDRESS_STR_MAX]; ++ struct ++ { ++ AvahiSimplePoll *poll; ++ _http_uribuf_t uribuf; ++ } *poll_uribuf = context; ++ ++ DEBUG_printf(("avahi_resolve_uri_resolver_callback(resolver=%p, " ++ "interface=%d, protocol=%d, event=%d, name=\"%s\", " ++ "type=\"%s\", domain=\"%s\", host_name=\"%s\", address=%p, " ++ "port=%d, txt=%p, flags=%d, context=%p)\n", ++ resolver, interface, protocol, event, name, type, domain, ++ host_name, address, port, txt, flags, context)); ++ ++ if (event != AVAHI_RESOLVER_FOUND) ++ { ++ avahi_service_resolver_free (resolver); ++ avahi_simple_poll_quit (poll_uribuf->poll); ++ return; ++ } ++ ++ /* ++ * Figure out the scheme from the full name... ++ */ ++ ++ if (strstr(type, "_ipp.")) ++ scheme = "ipp"; ++ else if (strstr(type, "_printer.")) ++ scheme = "lpd"; ++ else if (strstr(type, "_pdl-datastream.")) ++ scheme = "socket"; ++ else ++ scheme = "riousbprint"; ++ ++ /* ++ * Extract the "remote printer key from the TXT record... ++ */ ++ ++ if ((pair = avahi_string_list_find (txt, "rp")) != NULL) ++ { ++ avahi_string_list_get_pair (pair, NULL, &value, &valueLen); ++ rp[0] = '/'; ++ memcpy (rp + 1, value, valueLen); ++ rp[valueLen + 1] = '\0'; ++ } ++ else ++ rp[0] = '\0'; ++ ++ /* ++ * Assemble the final device URI... ++ */ ++ ++ avahi_address_snprint (addr, AVAHI_ADDRESS_STR_MAX, address); ++ httpAssembleURI(HTTP_URI_CODING_ALL, poll_uribuf->uribuf.buffer, ++ poll_uribuf->uribuf.bufsize, scheme, NULL, ++ addr, port, rp); ++ DEBUG_printf(("avahi_resolve_uri_resolver_callback: Resolved URI is \"%s\"\n", ++ poll_uribuf->uribuf.buffer)); ++ avahi_simple_poll_quit (poll_uribuf->poll); ++} ++#endif /* HAVE_AVAHI */ ++ + + /* + * End of "$Id: http-support.c 9322 2010-10-01 22:40:38Z mike $". diff --git a/testing/cups/cups-no-export-ssllibs.patch b/testing/cups/cups-no-export-ssllibs.patch new file mode 100644 index 000000000..9be3c819b --- /dev/null +++ b/testing/cups/cups-no-export-ssllibs.patch @@ -0,0 +1,12 @@ +diff -up cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.5b1/config-scripts/cups-ssl.m4 +--- cups-1.5b1/config-scripts/cups-ssl.m4.no-export-ssllibs 2011-05-11 02:52:08.000000000 +0200 ++++ cups-1.5b1/config-scripts/cups-ssl.m4 2011-05-23 17:47:27.000000000 +0200 +@@ -164,7 +164,7 @@ AC_SUBST(IPPALIASES) + AC_SUBST(SSLFLAGS) + AC_SUBST(SSLLIBS) + +-EXPORT_SSLLIBS="$SSLLIBS" ++EXPORT_SSLLIBS="" + AC_SUBST(EXPORT_SSLLIBS) + + diff --git a/testing/cups/cups-no-gcrypt.patch b/testing/cups/cups-no-gcrypt.patch new file mode 100644 index 000000000..203b4f4ac --- /dev/null +++ b/testing/cups/cups-no-gcrypt.patch @@ -0,0 +1,39 @@ +diff -ruN cups-1.4.7.orig//config-scripts/cups-ssl.m4 cups-1.4.7/config-scripts/cups-ssl.m4 +--- cups-1.4.7.orig//config-scripts/cups-ssl.m4 2011-01-11 08:05:58.000000000 +0100 ++++ cups-1.4.7/config-scripts/cups-ssl.m4 2011-08-02 10:44:26.011047900 +0200 +@@ -74,7 +74,6 @@ + dnl Then look for GNU TLS... + if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then + AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config) +- AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config) + if $PKGCONFIG --exists gnutls; then + if test "x$have_pthread" = xyes; then + AC_MSG_WARN([The current version of GNU TLS cannot be made thread-safe.]) +@@ -96,16 +95,6 @@ + AC_DEFINE(HAVE_GNUTLS) + fi + fi +- +- if test $have_ssl = 1; then +- if $PKGCONFIG --exists gcrypt; then +- SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`" +- SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`" +- elif test "x$LIBGCRYPTCONFIG" != x; then +- SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`" +- SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`" +- fi +- fi + fi + + dnl Check for the OpenSSL library last... +diff -ruN cups-1.4.7.orig//cups/http-private.h cups-1.4.7/cups/http-private.h +--- cups-1.4.7.orig//cups/http-private.h 2011-01-22 01:07:22.000000000 +0100 ++++ cups-1.4.7/cups/http-private.h 2011-08-02 10:42:43.341604107 +0200 +@@ -98,7 +98,6 @@ + * The GNU TLS library is more of a "bare metal" SSL/TLS library... + */ + # include <gnutls/gnutls.h> +-# include <gcrypt.h> + + typedef struct + { diff --git a/testing/cups/cups.install b/testing/cups/cups.install new file mode 100644 index 000000000..47c3d9b82 --- /dev/null +++ b/testing/cups/cups.install @@ -0,0 +1,26 @@ +post_install() { + if [ -x usr/bin/xdg-icon-resource ]; then + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + fi + echo ">> If you use an HTTPS connection to CUPS, the first time you access" + echo ">> the interface it may take a very long time before the site comes up." + echo ">> This is because the first request triggers the generation of the CUPS" + echo ">> SSL certificates which can be a very time-consuming job." +} + +post_upgrade() { + if [ -x usr/bin/xdg-icon-resource ]; then + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + fi + if [ "`vercmp $2 1.4.7-2`" -lt 0 ]; then + # important upgrade notice + echo "daemon script has been renamed to /etc/rc.d/cupsd" + echo "change your entry in /etc/rc.conf" + fi +} + +post_remove() { + if [ -x usr/bin/xdg-icon-resource ]; then + xdg-icon-resource forceupdate --theme hicolor 2> /dev/null + fi +} diff --git a/testing/cups/cups.logrotate b/testing/cups/cups.logrotate new file mode 100644 index 000000000..9c49bbdaf --- /dev/null +++ b/testing/cups/cups.logrotate @@ -0,0 +1,8 @@ +/var/log/cups/*log { + missingok + notifempty + delaycompress + postrotate + /bin/kill -HUP `cat /var/run/cups.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/testing/cups/cups.pam b/testing/cups/cups.pam new file mode 100644 index 000000000..53724d1f8 --- /dev/null +++ b/testing/cups/cups.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/testing/empathy/PKGBUILD b/testing/empathy/PKGBUILD new file mode 100644 index 000000000..952c577d6 --- /dev/null +++ b/testing/empathy/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 134982 2011-08-09 18:33:31Z ibiru $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +pkgname=empathy +pkgver=3.0.2 +pkgrel=2 +pkgdesc="A GNOME instant messaging client using the Telepathy framework." +arch=('i686' 'x86_64') +url="http://live.gnome.org/Empathy" +license=('GPL2') +depends=('telepathy-glib' 'telepathy-mission-control' 'folks' 'telepathy-logger' 'telepathy-farsight' 'gnome-keyring' 'gnutls' 'evolution-data-server' + 'libcanberra' 'libnotify' 'enchant' 'iso-codes' 'libwebkit3' 'dconf' 'ca-certificates') +makedepends=('intltool' 'gnome-doc-utils' 'nautilus-sendto' 'gnome-control-center') +optdepends=('telepathy-gabble: XMPP/Jabber support' + 'telepathy-butterfly: MSN support' + 'telepathy-idle: IRC support' + 'telepathy-salut: Link-local XMPP support' + 'telepathy-sofiasip: SIP support' + 'telepathy-haze: libpurple support') +options=('!libtool') +groups=('gnome-extra') +install=empathy.install +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/3.0/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('8074f6ce951fb95b1e13c546497e22d487bca9a87d88f1ebb903cdd2fd48bdc2') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/empathy \ + --disable-static \ + --disable-scrollkeeper \ + --disable-schemas-compile + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/empathy/empathy.install b/testing/empathy/empathy.install new file mode 100644 index 000000000..63dd6b907 --- /dev/null +++ b/testing/empathy/empathy.install @@ -0,0 +1,16 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + echo "To use Empathy you need to install at least one Telepathy connection manager." +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/testing/glib-networking/PKGBUILD b/testing/glib-networking/PKGBUILD new file mode 100644 index 000000000..d97a99aad --- /dev/null +++ b/testing/glib-networking/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 135436 2011-08-13 13:27:37Z ibiru $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> +pkgname=glib-networking +pkgver=2.28.7 +pkgrel=4 +pkgdesc="Network-related giomodules for glib" +arch=('i686' 'x86_64') +url="http://www.gtk.org/" +license=('GPL2') +depends=('glib2' 'libproxy' 'gnutls' 'libgcrypt' 'ca-certificates' 'gsettings-desktop-schemas') +makedepends=('intltool') +options=('!libtool') +install=glib-networking.install +source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-${pkgver}.tar.bz2 + glib-networking-2.29.9-port-gnutls3-API.patch) +sha256sums=('98bedfbd530c4b1b53c91025fe82290bafd289d249e4eb549c3b90d23a76021c' + '101daf107773f84d08d7ab55a354875e2e021c3b5dd3cdc259fb544f94a8beee') + +build() { + cd "$srcdir/$pkgname-$pkgver" + patch -Np0 -i "$srcdir/glib-networking-2.29.9-port-gnutls3-API.patch" + ./configure \ + --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/glib-networking --disable-static + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="${pkgdir}" install +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/glib-networking/glib-networking-2.29.9-port-gnutls3-API.patch b/testing/glib-networking/glib-networking-2.29.9-port-gnutls3-API.patch new file mode 100644 index 000000000..19a168638 --- /dev/null +++ b/testing/glib-networking/glib-networking-2.29.9-port-gnutls3-API.patch @@ -0,0 +1,17 @@ +Index: tls/gnutls/gtlsconnection-gnutls.c +=================================================================== +--- tls/gnutls/gtlsconnection-gnutls.c ++++ tls/gnutls/gtlsconnection-gnutls.c 2011-08-04 00:40:33.194189789 +0200 +@@ -860,9 +860,10 @@ + + if (peer_certificate) + { +- int status; ++ int verify_ret; ++ unsigned int status; + +- status = gnutls_certificate_verify_peers (gnutls->priv->session); ++ verify_ret = gnutls_certificate_verify_peers2 (gnutls->priv->session, &status); + peer_certificate_errors = g_tls_certificate_gnutls_convert_flags (status); + if (peer_certificate_errors) + { diff --git a/testing/glib-networking/glib-networking.install b/testing/glib-networking/glib-networking.install new file mode 100644 index 000000000..595f1c75b --- /dev/null +++ b/testing/glib-networking/glib-networking.install @@ -0,0 +1,11 @@ +post_install() { + usr/bin/gio-querymodules usr/lib/gio/modules +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/gnome-vfs/PKGBUILD b/testing/gnome-vfs/PKGBUILD new file mode 100644 index 000000000..5b98fc8e8 --- /dev/null +++ b/testing/gnome-vfs/PKGBUILD @@ -0,0 +1,49 @@ +# $Id: PKGBUILD 135094 2011-08-10 09:17:01Z ibiru $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gnome-vfs +pkgver=2.24.4 +pkgrel=5 +pkgdesc="The GNOME Virtual File System" +arch=(i686 x86_64) +license=('LGPL') +depends=('fam' 'gconf' 'bzip2' 'avahi' 'smbclient' 'gnome-mime-data' 'krb5' 'gnutls' 'libgcrypt') +makedepends=('pkgconfig' 'intltool' 'gtk-doc' 'gnome-common') +options=('!libtool' '!emptydirs') +url="http://www.gnome.org" +install=gnome-vfs.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.24/gnome-vfs-${pkgver}.tar.bz2 + gnutls-config.patch + gcrypt-config.patch) +sha256sums=('62de64b5b804eb04104ff98fcd6a8b7276d510a49fbd9c0feb568f8996444faa' + '66c7cfb12995c0dd94a2caea95c7e3c55981993f05a79c585d60915ff131955d' + 'c059e218f310da683778919d36e7862f7e763384805f6453d328fbaf507a8114') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + #Fix build with new gnutls + patch -Np1 -i "${srcdir}/gnutls-config.patch" + #fix build with new libgcrypt >= 1.5.0 + patch -Np1 -i "${srcdir}/gcrypt-config.patch" + libtoolize --force + gtkdocize + aclocal + autoconf + automake + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static \ + --libexecdir=/usr/lib/gnome-vfs-2.0 \ + --enable-samba --disable-hal \ + --enable-avahi --disable-howl \ + --disable-openssl --enable-gnutls + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install + + install -d -m755 "${pkgdir}/usr/share/gconf/schemas" + gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain gnome-vfs-2.0 ${pkgdir}/etc/gconf/schemas/*.schemas + rm -f ${pkgdir}/etc/gconf/schemas/*.schemas +} diff --git a/testing/gnome-vfs/gcrypt-config.patch b/testing/gnome-vfs/gcrypt-config.patch new file mode 100644 index 000000000..8ce91870a --- /dev/null +++ b/testing/gnome-vfs/gcrypt-config.patch @@ -0,0 +1,31 @@ +# Allow gnome-vfs-2.24 to build with libgcrypt >= 1.5.0 +--- gnome-vfs-2.24.4/configure.in 2010-07-01 12:36:09.000000000 -0300 ++++ gnome-vfs-2.24.4-libgcrypt//configure.in 2011-07-22 15:55:02.296325640 -0300 +@@ -689,6 +689,16 @@ + AM_CONDITIONAL(HAVE_SSL, test x$have_ssl = xtrue) + + dnl **************************** ++dnl LibGCrypt 1.5.0 ++dnl **************************** ++ ++AM_PATH_LIBGCRYPT(1.5.0) ++ ++if test "x${LIBGCRYPT_LIBS}" = "x"; then ++ AC_MSG_ERROR([unable to find libgcrypt]) ++fi ++ ++dnl **************************** + dnl DNS-SD implementations + dnl **************************** + AM_CONDITIONAL(HAVE_AVAHI, false) +@@ -1045,8 +1055,8 @@ + dnl ============================================================================== + + PKG_CHECK_MODULES(LIBGNOMEVFS, glib-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED gthread-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GLIB_REQUIRED gconf-2.0 >= $GCONF_REQUIRED libxml-2.0 >= $XML_REQUIRED gnome-mime-data-2.0 $dbus_requirement) +-LIBGNOMEVFS_CFLAGS="$LIBGNOMEVFS_CFLAGS $OPENSSL_CFLAGS $LIBGNUTLS_CFLAGS $HOWL_CFLAGS $AVAHI_CFLAGS" +-LIBGNOMEVFS_LIBS="$LIBGNOMEVFS_LIBS $OPENSSL_LIBS $LIBGNUTLS_LIBS $HOWL_LIBS $AVAHI_LIBS $RESOLVER_LIBS" ++LIBGNOMEVFS_CFLAGS="$LIBGNOMEVFS_CFLAGS $OPENSSL_CFLAGS $LIBGNUTLS_CFLAGS $HOWL_CFLAGS $AVAHI_CFLAGS $LIBGCRYPT_CFLAGS" ++LIBGNOMEVFS_LIBS="$LIBGNOMEVFS_LIBS $OPENSSL_LIBS $LIBGNUTLS_LIBS $HOWL_LIBS $AVAHI_LIBS $RESOLVER_LIBS $LIBGCRYPT_LIBS" + AC_SUBST(LIBGNOMEVFS_CFLAGS) + AC_SUBST(LIBGNOMEVFS_LIBS) + diff --git a/testing/gnome-vfs/gnome-vfs.install b/testing/gnome-vfs/gnome-vfs.install new file mode 100644 index 000000000..793a3e7ab --- /dev/null +++ b/testing/gnome-vfs/gnome-vfs.install @@ -0,0 +1,17 @@ +pkgname=gnome-vfs + +post_install() { + usr/sbin/gconfpkg --install ${pkgname} +} + +pre_upgrade() { + pre_remove $1 +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + usr/sbin/gconfpkg --uninstall ${pkgname} +} diff --git a/testing/gnome-vfs/gnutls-config.patch b/testing/gnome-vfs/gnutls-config.patch new file mode 100644 index 000000000..f6fa18b17 --- /dev/null +++ b/testing/gnome-vfs/gnutls-config.patch @@ -0,0 +1,25 @@ +# Allow gnome-vfs-2.24 to build with gnutls >= 2.7.0 +# Use pkg-config in place of gnutls own macro since it's not present anymore. +--- a/configure.in 2009-03-07 19:59:53.805507753 +0100 ++++ b/configure.in 2009-03-07 18:34:36.928169018 +0100 +@@ -686,14 +686,14 @@ + AC_MSG_ERROR([*** Can't use both openssl and gnutls at the same time. Please pick one only. ***]) + else + AC_CHECK_HEADER(gcrypt.h,, AC_MSG_ERROR([*** Need gcrypt.h to compile with GnuTLS support ***])) +- AM_PATH_LIBGNUTLS(1.0.0, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) +- have_ssl=true]) ++ PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 1.0.0, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) ++ have_ssl=true]) + + if test "x${LIBGNUTLS_LIBS}" = "x"; then +- AM_PATH_LIBGNUTLS(0.5.1, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) +- AC_DEFINE(GNUTLS_COMPAT, 1, [FIXME]) +- have_ssl=true], +- AC_MSG_ERROR([Unable to find GNUTLS])) ++ PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 0.5.1, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) ++ AC_DEFINE(GNUTLS_COMPAT, 1, [FIXME]) ++ have_ssl=true], ++ AC_MSG_ERROR([Unable to find GNUTLS])) + fi + fi + fi diff --git a/testing/gnutls/PKGBUILD b/testing/gnutls/PKGBUILD new file mode 100644 index 000000000..232866e8e --- /dev/null +++ b/testing/gnutls/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 135280 2011-08-12 06:48:04Z andyrtr $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gnutls +pkgver=3.0.0 +pkgrel=2 +pkgdesc="A library which provides a secure layer over a reliable transport layer" +arch=('i686' 'x86_64') +license=('GPL3' 'LGPL') +url="http://www.gnu.org/software/gnutls/" +install=gnutls.install +options=('!libtool' '!zipman') +depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle>=2.2') +source=(ftp://ftp.gnu.org/gnu/gnutls/${pkgname}-${pkgver}.tar.xz + align.patch) +md5sums=('0677a66667f48810ff8df8335a9a9f9b' + 'bce979498addb45d0fa8d6951f93fab3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # fix AES-NI for i686 + patch -Np1 -i ${srcdir}/align.patch + ./configure --prefix=/usr \ + --with-zlib \ + --disable-static \ + --disable-guile \ + --without-p11-kit + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check # passes all || /bin/true +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + # lots of .png files are put into infodir and are gzipped by makepkg! this may need to be fixed by using !zipman + # gzip -9 all files in infodir and manpages manually + find "$pkgdir/usr/share/info" -name '*.info*' -exec gzip -9 {} \; + find "$pkgdir/usr/share/man" -exec gzip -9 {} \; +} diff --git a/testing/gnutls/align.patch b/testing/gnutls/align.patch new file mode 100644 index 000000000..dce5cf408 --- /dev/null +++ b/testing/gnutls/align.patch @@ -0,0 +1,64 @@ +diff --git a/lib/accelerated/intel/aes-x86.c b/lib/accelerated/intel/aes-x86.c +index 6801e7e..ff5b714 100644 +--- a/lib/accelerated/intel/aes-x86.c ++++ b/lib/accelerated/intel/aes-x86.c +@@ -40,6 +40,10 @@ struct aes_ctx + uint8_t iv[16]; + }; + ++#define AESNI_MIN_ALIGN 16 ++#define AESNI_ALIGN(x) \ ++ ((void *)(((size_t)(x)+AESNI_MIN_ALIGN-1)&~(AESNI_MIN_ALIGN-1))) ++ + static int + aes_cipher_init (gnutls_cipher_algorithm_t algorithm, void **_ctx) + { +@@ -69,11 +73,11 @@ aes_cipher_setkey (void *_ctx, const void *userkey, size_t keysize) + struct aes_ctx *ctx = _ctx; + int ret; + +- ret = aesni_set_encrypt_key (userkey, keysize * 8, &ctx->expanded_key); ++ ret = aesni_set_encrypt_key (userkey, keysize * 8, AESNI_ALIGN(&ctx->expanded_key)); + if (ret != 0) + return gnutls_assert_val (GNUTLS_E_ENCRYPTION_FAILED); + +- ret = aesni_set_decrypt_key (userkey, keysize * 8, &ctx->expanded_key_dec); ++ ret = aesni_set_decrypt_key (userkey, keysize * 8, AESNI_ALIGN(&ctx->expanded_key_dec)); + if (ret != 0) + return gnutls_assert_val (GNUTLS_E_ENCRYPTION_FAILED); + +@@ -95,7 +99,7 @@ aes_encrypt (void *_ctx, const void *src, size_t src_size, + { + struct aes_ctx *ctx = _ctx; + +- aesni_cbc_encrypt (src, dst, src_size, &ctx->expanded_key, ctx->iv, 1); ++ aesni_cbc_encrypt (src, dst, src_size, AESNI_ALIGN(&ctx->expanded_key), ctx->iv, 1); + return 0; + } + +@@ -105,7 +109,7 @@ aes_decrypt (void *_ctx, const void *src, size_t src_size, + { + struct aes_ctx *ctx = _ctx; + +- aesni_cbc_encrypt (src, dst, src_size, &ctx->expanded_key_dec, ctx->iv, 0); ++ aesni_cbc_encrypt (src, dst, src_size, AESNI_ALIGN(&ctx->expanded_key_dec), ctx->iv, 0); + + return 0; + } +diff --git a/lib/accelerated/intel/aes-x86.h b/lib/accelerated/intel/aes-x86.h +index 8f49ff3..20a169e 100644 +--- a/lib/accelerated/intel/aes-x86.h ++++ b/lib/accelerated/intel/aes-x86.h +@@ -11,10 +11,11 @@ void register_x86_crypto (void); + # define ALIGN16 + #endif + ++#define AES_KEY_ALIGN_SIZE 8 + #define AES_MAXNR 14 + typedef struct + { +- uint32_t ALIGN16 rd_key[4 * (AES_MAXNR + 1)]; ++ uint32_t rd_key[4 * (AES_MAXNR + 1)+AES_KEY_ALIGN_SIZE]; + int rounds; + } AES_KEY; + diff --git a/testing/gnutls/gnutls.install b/testing/gnutls/gnutls.install new file mode 100644 index 000000000..9ce7c6edc --- /dev/null +++ b/testing/gnutls/gnutls.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gnutls.info-1.gz gnutls.info-2.gz gnutls.info-3.gz gnutls.info.gz) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} diff --git a/testing/gtk-vnc/PKGBUILD b/testing/gtk-vnc/PKGBUILD new file mode 100644 index 000000000..b8e4c8856 --- /dev/null +++ b/testing/gtk-vnc/PKGBUILD @@ -0,0 +1,40 @@ +# $Id: PKGBUILD 134864 2011-08-08 05:59:44Z eric $ +# Maintainer: +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Allan McRae <mcrae_allan@hotmail.com> +# Contributor: lp76 <l.peduto@gmail.com> + +pkgname=gtk-vnc +pkgver=0.4.3 +pkgrel=2 +pkgdesc="A VNC viewer widget for GTK" +arch=('i686' 'x86_64') +url="http://live.gnome.org/gtk-vnc" +license=('LGPL') +depends=('gtk3') +optdepends=('gtk2: GTK2 widget') +makedepends=('intltool' 'pygtk' 'pygobject-devel' 'gtk-doc' 'gtk2') +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('b9870d923d636d2e7547267d01c8cafdc06ad5b5b4987003ea3cd567bfbb6377') + +build() { + cd "$srcdir" + cp -a $pkgname-$pkgver gtk3-build + + ( cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --with-python --disable-static --with-gtk=2.0 + make ) + + ( cd gtk3-build + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --with-python --with-examples --disable-static --with-gtk=3.0 + make ) +} + +package() { + cd "${srcdir}" + make -C $pkgname-$pkgver -j1 DESTDIR="${pkgdir}" install + make -C gtk3-build -j1 DESTDIR="${pkgdir}" install +} diff --git a/testing/iw/PKGBUILD b/testing/iw/PKGBUILD new file mode 100644 index 000000000..0a361a0d5 --- /dev/null +++ b/testing/iw/PKGBUILD @@ -0,0 +1,24 @@ +# $Id: PKGBUILD 135459 2011-08-13 23:03:17Z thomas $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgname=iw +pkgver=3.0 +pkgrel=1 +pkgdesc="nl80211 based CLI configuration utility for wireless devices" +arch=("i686" "x86_64") +url="http://wireless.kernel.org/en/users/Documentation/iw" +license=("GPL") +depends=("libnl") +makedepends=("kernel-headers") +source=(http://wireless.kernel.org/download/$pkgname/$pkgname-$pkgver.tar.bz2) +sha256sums=('a0ccbf1ce71ae4bdb05495ca18ab00a87c06dce2c3bf8b8358c615e60c4632fb') + +build() { + cd "$srcdir"/$pkgname-$pkgver + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/testing/lftp/PKGBUILD b/testing/lftp/PKGBUILD new file mode 100644 index 000000000..9cd8e8d15 --- /dev/null +++ b/testing/lftp/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 134943 2011-08-09 15:13:13Z andyrtr $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Aaron Griffin <aaron@archlinux.org> + +pkgname=lftp +pkgver=4.3.1 +pkgrel=2 +pkgdesc="Sophisticated command line based FTP client" +arch=('i686' 'x86_64') +license=('GPL3') +depends=('gcc-libs' 'readline>=6.2' "gnutls" "expat>=2.0.1-4" 'sh') +optdepends=('perl: needed for convert-netscape-cookies and verify-file') +makedepends=('autoconf') +url="http://lftp.yar.ru/" +backup=('etc/lftp.conf') +source=(http://ftp.yars.free.net/pub/source/lftp/${pkgname}-${pkgver}.tar.bz2) +md5sums=('ea45acfb47b5590d4675c50dc0c6e13c') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr --with-gnutls \ + --without-openssl --disable-static + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + rm -rf ${pkgdir}/usr/lib +}
\ No newline at end of file diff --git a/testing/libepc/PKGBUILD b/testing/libepc/PKGBUILD new file mode 100644 index 000000000..55d302e51 --- /dev/null +++ b/testing/libepc/PKGBUILD @@ -0,0 +1,27 @@ +# $Id: PKGBUILD 135240 2011-08-11 10:52:34Z ibiru $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libepc +pkgver=0.3.11 +pkgrel=2 +pkgdesc="Easy Publish and Consume Library" +arch=(i686 x86_64) +license=('LGPL') +url="http://live.gnome.org/libepc" +depends=('gtk2' 'avahi' 'libsoup') +makedepends=('intltool') +options=('!libtool' '!makeflags') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.3/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('ec38fe4206fab7a8939fb351d7b419cc681ac44afcdd5aab9bdb8fc3386df25c') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc \ + --localstatedir=/var --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/libgnomecups/PKGBUILD b/testing/libgnomecups/PKGBUILD new file mode 100644 index 000000000..ad012813e --- /dev/null +++ b/testing/libgnomecups/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 135360 2011-08-13 07:42:39Z andyrtr $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Paulius Palevicius <paulius@birzai.com> + +pkgname=libgnomecups +pkgver=0.2.3 +pkgrel=9 +pkgdesc="GNOME cups library" +arch=(i686 x86_64) +license=('LGPL' 'GPL') +url="http://www.gnome.org" +depends=('libcups' 'glib2' 'krb5' 'gnutls') +makedepends=('perlxml') +options=(!libtool) +source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.2/${pkgname}-${pkgver}.tar.bz2 + libgnomecups_0.2.3-ignore-ipp-not-found.patch) +md5sums=('dc4920c15c9f886f73ea74fbff0ae48b' + '973a1b9d93013ce431400a14b78f5d94') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # This avoids generating huge 'IPP request failed with status 1030' lines + patch -Np1 -i ${srcdir}/libgnomecups_0.2.3-ignore-ipp-not-found.patch + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch b/testing/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch new file mode 100644 index 000000000..797367bf9 --- /dev/null +++ b/testing/libgnomecups/libgnomecups_0.2.3-ignore-ipp-not-found.patch @@ -0,0 +1,11 @@ +--- a/libgnomecups/gnome-cups-request.c 2007-01-31 10:49:17.000000000 -0800 ++++ b/libgnomecups/gnome-cups-request.c 2009-11-24 12:49:30.000000000 -0800 +@@ -349,7 +349,7 @@ + if (request->response == NULL) + status = IPP_INTERNAL_ERROR; + +- if (status > IPP_OK_CONFLICT) { ++ if (status > IPP_OK_CONFLICT && status != IPP_NOT_FOUND) { + g_warning ("IPP request failed with status %d", status); + if (request->error != NULL) + *(request->error) = g_error_new (GNOME_CUPS_ERROR, diff --git a/testing/libgnomeprint/PKGBUILD b/testing/libgnomeprint/PKGBUILD new file mode 100644 index 000000000..3e86111ac --- /dev/null +++ b/testing/libgnomeprint/PKGBUILD @@ -0,0 +1,28 @@ +# $Id: PKGBUILD 135363 2011-08-13 07:48:01Z andyrtr $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=libgnomeprint +pkgver=2.18.8 +pkgrel=3 +pkgdesc="Printing routines for GNOME" +arch=(i686 x86_64) +license=('LGPL' 'GPL') +depends=('pango' 'libart-lgpl' 'libxml2' 'libgnomecups' 'krb5' 'gnutls' 'libgcrypt' 'bzip2') +makedepends=('intltool' 'pkgconfig') +replaces=('libgnomeprint-cups') +conflicts=('libgnomeprint-cups') +url="http://www.gnome.org" +options=('!libtool') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.18/${pkgname}-${pkgver}.tar.bz2) +sha256sums=('1034ec8651051f84d2424e7a1da61c530422cc20ce5b2d9e107e1e46778d9691') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/libgpod/PKGBUILD b/testing/libgpod/PKGBUILD new file mode 100644 index 000000000..58ef7b358 --- /dev/null +++ b/testing/libgpod/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 134924 2011-08-09 13:21:55Z ibiru $ +# Maintainer: Daniel Isenmann <daniel@archlinux.org> +# Contributor: William Rea <sillywilly@gmail.com> + +pkgname=libgpod +pkgver=0.8.2 +pkgrel=2 +pkgdesc="A shared library to access the contents of an iPod" +arch=(i686 x86_64) +license=('LGPL') +depends=('gdk-pixbuf2' 'mutagen' 'sg3_utils' 'libimobiledevice') +makedepends=('intltool' 'swig' 'docbook-xsl' 'pygobject-devel' 'gtk-sharp-2') +optdepends=('gtk-sharp-2: Mono bindings') +url="http://www.gtkpod.org/libgpod/" +source=(http://downloads.sourceforge.net/sourceforge/gtkpod/${pkgname}-${pkgver}.tar.bz2) +options=('!libtool' '!emptydirs') +md5sums=('ff0fd875fa08f2a6a49dec57ce3367ab') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr \ + --enable-udev --with-python=/usr/bin/python2 + make PREFIX=/usr +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make PREFIX=/usr DESTDIR="${pkgdir}" install +} + diff --git a/testing/libimobiledevice/PKGBUILD b/testing/libimobiledevice/PKGBUILD new file mode 100644 index 000000000..a6f48d786 --- /dev/null +++ b/testing/libimobiledevice/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 134921 2011-08-09 12:21:53Z ibiru $ +# Maintainer : Ionut Biru <ibiru@archlinux.org> +# Contributor: Gabriel Martinez < reitaka at gmail dot com > + +pkgname=libimobiledevice +pkgver=1.1.1 +pkgrel=2 +pkgdesc="Is a software library that talks the protocols to support iPhone and iPod Touch devices on Linux" +url="http://libimobiledevice.org/" +arch=('i686' 'x86_64') +license=('GPL2' 'LGPL2.1') +depends=('glib2' 'gnutls' 'libgcrypt' 'libplist' 'usbmuxd') +makedepends=('swig' 'python2') +options=('!libtool') +source=(http://libimobiledevice.org/downloads/${pkgname}-${pkgver}.tar.bz2 + swig-version-check.patch) +md5sums=('cdc13037e822d9ac2e109536701d153a' + '8bb215e36fe0e08a72332c108c7842cc') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # SWIG version check is wrong (still not fixed upstream) + patch -p1 -i "$srcdir"/swig-version-check.patch + PYTHON=/usr/bin/python2 ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/libimobiledevice/swig-version-check.patch b/testing/libimobiledevice/swig-version-check.patch new file mode 100644 index 000000000..c56b095db --- /dev/null +++ b/testing/libimobiledevice/swig-version-check.patch @@ -0,0 +1,14 @@ +diff -Nur libimobiledevice-1.0.3.old/configure libimobiledevice-1.0.3/configure +--- libimobiledevice-1.0.3.old/configure 2010-10-04 07:38:37.000000000 -0700 ++++ libimobiledevice-1.0.3/configure 2010-10-08 05:43:05.466686656 -0700 +@@ -3477,9 +3477,7 @@ + if test -z "$available_patch" ; then + available_patch=0 + fi +- if test $available_major -ne $required_major \ +- -o $available_minor -ne $required_minor \ +- -o $available_patch -lt $required_patch ; then ++ if test $available_major -lt $required_major ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 1.3.21 is required. You have $swig_version. You should look at http://www.swig.org" >&5 + $as_echo "$as_me: WARNING: SWIG version >= 1.3.21 is required. You have $swig_version. You should look at http://www.swig.org" >&2;} + SWIG=false diff --git a/testing/libvncserver/PKGBUILD b/testing/libvncserver/PKGBUILD new file mode 100644 index 000000000..1b45fd593 --- /dev/null +++ b/testing/libvncserver/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 134732 2011-08-07 19:13:36Z andrea $ +# Maintainer: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> + +pkgname=libvncserver +pkgver=0.9.8 +pkgrel=3 +pkgdesc="A cross-platform C libraries that allow you to easily implement VNC server" +arch=('i686' 'x86_64') +url="http://libvncserver.sourceforge.net/" +license=('GPL') +depends=('libjpeg' 'zlib' 'gnutls') +options=('!libtool') +source=("http://downloads.sourceforge.net/${pkgname}/LibVNCServer-${pkgver}.tar.gz") +md5sums=('dda9e75a1d5d7c37bb57d90ead7b32b3') + +build() { + cd "${srcdir}/LibVNCServer-${pkgver}" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/LibVNCServer-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/loudmouth/01-fix-sasl-md5-digest-uri.patch b/testing/loudmouth/01-fix-sasl-md5-digest-uri.patch new file mode 100644 index 000000000..5bca69c0c --- /dev/null +++ b/testing/loudmouth/01-fix-sasl-md5-digest-uri.patch @@ -0,0 +1,24 @@ +diff --git a/loudmouth/lm-connection.c b/loudmouth/lm-connection.c +index 21c1bc2..ae8de94 100644 +--- a/loudmouth/lm-connection.c ++++ b/loudmouth/lm-connection.c +@@ -1441,11 +1441,18 @@ lm_connection_authenticate (LmConnection *connection, + connection->effective_jid = g_strdup_printf ("%s/%s", + connection->jid, connection->resource); + + if (connection->use_sasl) { ++ gchar *domain = NULL; ++ ++ if (!connection_get_server_from_jid (connection->jid, &domain)) { ++ domain = g_strdup (connection->server); ++ } ++ + lm_sasl_authenticate (connection->sasl, + username, password, +- connection->server, ++ domain, + connection_sasl_auth_finished); ++ g_free (domain); + + connection->features_cb = + lm_message_handler_new (connection_features_cb, diff --git a/testing/loudmouth/03-drop-stanzas-on-fail.patch b/testing/loudmouth/03-drop-stanzas-on-fail.patch new file mode 100644 index 000000000..87b86a998 --- /dev/null +++ b/testing/loudmouth/03-drop-stanzas-on-fail.patch @@ -0,0 +1,45 @@ +From: Sjoerd Simons <sjoerd.simons@collabora.co.uk> +Date: Tue, 13 Jan 2009 11:28:44 +0000 +Subject: [PATCH] Drop stanzas when failing to convert them to LmMessages + +when a stanza comes in that for some reason can't be parsed into an LmMessage, +just drop them on the floor instead of blocking the parser. I've seen this +issue happen in practise because some (buggy?) client sending an iq with a +prefix e.g. <client:iq xmlns:client="jabber:client" ... /> +--- + loudmouth/lm-parser.c | 15 ++++++--------- + 1 files changed, 6 insertions(+), 9 deletions(-) + +diff --git a/loudmouth/lm-parser.c b/loudmouth/lm-parser.c +index 1938d56..89f6675 100644 +--- a/loudmouth/lm-parser.c ++++ b/loudmouth/lm-parser.c +@@ -151,19 +151,16 @@ parser_end_node_cb (GMarkupParseContext *context, + if (!m) { + g_warning ("Couldn't create message: %s\n", + parser->cur_root->name); +- return; +- } +- +- g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER, ++ } else { ++ g_log (LM_LOG_DOMAIN, LM_LOG_LEVEL_PARSER, + "Have a new message\n"); +- if (parser->function) { +- (* parser->function) (parser, m, parser->user_data); ++ if (parser->function) { ++ (* parser->function) (parser, m, parser->user_data); ++ } ++ lm_message_unref (m); + } + +- lm_message_unref (m); + lm_message_node_unref (parser->cur_root); +- +- + parser->cur_node = parser->cur_root = NULL; + } else { + LmMessageNode *tmp_node; +-- +1.5.6.5 + diff --git a/testing/loudmouth/04-use-pkg-config-for-gnutls.patch b/testing/loudmouth/04-use-pkg-config-for-gnutls.patch new file mode 100644 index 000000000..20f388e89 --- /dev/null +++ b/testing/loudmouth/04-use-pkg-config-for-gnutls.patch @@ -0,0 +1,23 @@ +Description: use pkg-config to detect gnutls +Debian: http://bugs.debian.org/529835 +Origin: http://groups.google.com/group/loudmouth-dev/browse_thread/thread/3f78255837048daf# + +--- a/configure.ac.orig 2009-08-16 20:29:36.000000000 +0200 ++++ b/configure.ac 2009-08-16 20:30:43.000000000 +0200 +@@ -146,10 +146,12 @@ AC_ARG_WITH(openssl-libs, + enable_ssl=no + if test "x$ac_ssl" = "xgnutls"; then + dnl Look for GnuTLS +- AM_PATH_LM_LIBGNUTLS($GNUTLS_REQUIRED, have_libgnutls=yes, have_libgnutls=no) +- if test "x$have_libgnutls" = "xyes"; then +- CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS" +- LIBS="$LIBS $LIBGNUTLS_LIBS" ++ PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_REQUIRED, have_gnutls=yes, have_gnutls=no) ++ if test "x$have_gnutls" = "xyes"; then ++ AC_SUBST(ASYNCNS_CFLAGS) ++ AC_SUBST(ASYNCNS_LIBS) ++ CFLAGS="$CFLAGS $GNUTLS_CFLAGS" ++ LIBS="$LIBS $GNUTLS_LIBS" + AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.]) + enable_ssl=GnuTLS + else diff --git a/testing/loudmouth/PKGBUILD b/testing/loudmouth/PKGBUILD new file mode 100644 index 000000000..d1686df56 --- /dev/null +++ b/testing/loudmouth/PKGBUILD @@ -0,0 +1,39 @@ +# $Id +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: damir <damir@archlinux.org> +# Contributor: Brice Carpentier <brice.carpentier@orange.fr> + +pkgname=loudmouth +pkgver=1.4.3 +pkgrel=3 +pkgdesc="A lightweight Jabber client library written in C/Glib" +arch=('i686' 'x86_64') +license=('LGPL') +url="http://groups.google.com/group/loudmouth-dev" +depends=('glib2' 'gnutls' 'libidn') +options=('!libtool') +makedepends=('intltool' 'pkgconfig' 'gtk-doc') +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/1.4/${pkgname}-${pkgver}.tar.bz2 + 01-fix-sasl-md5-digest-uri.patch + 03-drop-stanzas-on-fail.patch + 04-use-pkg-config-for-gnutls.patch) +md5sums=('55339ca42494690c3942ee1465a96937' + 'dc799cea18b24847b1e008c7424010a3' + 'b7b2d81b01a5eee5fd5e21cae67b4af7' + 'bffb25b9551df43255fe1706588582f3') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/01-fix-sasl-md5-digest-uri.patch" + patch -Np1 -i "${srcdir}/03-drop-stanzas-on-fail.patch" + patch -Np1 -i "${srcdir}/04-use-pkg-config-for-gnutls.patch" + libtoolize --force + autoreconf + ./configure --prefix=/usr --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/lvm2/11-dm-initramfs.rules b/testing/lvm2/11-dm-initramfs.rules new file mode 100644 index 000000000..d2c167324 --- /dev/null +++ b/testing/lvm2/11-dm-initramfs.rules @@ -0,0 +1,3 @@ +# needed with new udev/mkinitcpio and as implemented in dracut: +# <http://git.kernel.org/?p=boot/dracut/dracut.git;a=commitdiff;h=12b9736228f2b34c15a9cb63be79cf7b6e865b54> +SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", ACTION=="add|change", OPTIONS="db_persist" diff --git a/testing/lvm2/PKGBUILD b/testing/lvm2/PKGBUILD new file mode 100644 index 000000000..c29ed8030 --- /dev/null +++ b/testing/lvm2/PKGBUILD @@ -0,0 +1,64 @@ +# $Id: PKGBUILD 135451 2011-08-13 22:32:08Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgbase=lvm2 +pkgname=('lvm2' 'device-mapper') +pkgver=2.02.87 +pkgrel=1 +arch=('i686' 'x86_64') +url="http://sourceware.org/lvm2/" +license=('GPL2' 'LGPL2.1') +groups=('base') +source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${pkgver}.tgz + lvm2_install + lvm2_hook + 11-dm-initramfs.rules) +md5sums=('4c36c7f216edfe65a6193d2adc389ecd' + 'dcb82506d732cc7b10159a89b579dba8' + '8d613b84a175cd85f752a75198e40e15' + '69e40679cd8b3658bfc619e48baae125') +sha1sums=('4b217d405133bdc6120568253574a49fae2caa4f' + '7f108b2f2056eb050fc898bf5190ecf9145aed8a' + 'a0e0513c2efb183006e57e595d93ce18be297928' + 'f6a554eea9557c3c236df2943bb6e7e723945c41') + +build() { + cd "${srcdir}/LVM2.${pkgver}" + sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh + unset LDFLAGS + ./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \ + --includedir=/usr/include --with-usrlibdir=/usr/lib \ + --enable-pkgconfig --enable-readline --enable-dmeventd --enable-cmdlib --enable-applib \ + --with-udevdir=/lib/udev/rules.d/ --enable-udev_sync --enable-udev_rules + make +} + +package_device-mapper() { + pkgdesc="Device mapper userspace library and tools" + url="http://sourceware.org/dm/" + depends=('glibc' 'udev') + + cd "${srcdir}/LVM2.${pkgver}" + make DESTDIR="${pkgdir}" install_device-mapper + # extra udev rule for device-mapper in initramfs + install -D -m644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/lib/initcpio/udev/11-dm-initramfs.rules" +} + +package_lvm2() { + pkgdesc="Logical Volume Manager 2 utilities" + depends=('bash' "device-mapper>=${pkgver}" 'udev' 'readline') + conflicts=('lvm' 'mkinitcpio<0.7') + backup=('etc/lvm/lvm.conf') + options=('!makeflags') + + cd "${srcdir}/LVM2.${pkgver}" + make DESTDIR="${pkgdir}" install_lvm2 + # install applib + make -C liblvm DESTDIR="${pkgdir}" install + # /etc directories + install -d "${pkgdir}"/etc/lvm/{archive,backup} + # mkinitcpio hook + install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/lib/initcpio/hooks/lvm2" + install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/lib/initcpio/install/lvm2" +} diff --git a/testing/lvm2/lvm2_hook b/testing/lvm2/lvm2_hook new file mode 100644 index 000000000..874b91d06 --- /dev/null +++ b/testing/lvm2/lvm2_hook @@ -0,0 +1,25 @@ +# vim:set ft=sh: +run_hook () +{ + /sbin/modprobe -q dm-mod >/dev/null 2>&1 + if [ -e "/sys/class/misc/device-mapper" ]; then + if [ ! -e "/dev/mapper/control" ]; then + mkdir /dev/mapper + mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |') + fi + + # If the lvmwait= parameter has been specified on the command line + # wait for the device(s) before trying to activate the volume group(s) + if [ -n "${lvmwait}" ]; then + for pvdev in $(echo ${lvmwait} | sed 's|,| |g'); do + poll_device ${pvdev} ${rootdelay} + done + fi + + [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null" + + msg "Activating logical volumes..." + [ -d /etc/lvm ] && /sbin/lvm vgscan --sysinit + eval /sbin/lvm vgchange --sysinit -a y $LVMQUIET + fi +} diff --git a/testing/lvm2/lvm2_install b/testing/lvm2/lvm2_install new file mode 100644 index 000000000..94175b523 --- /dev/null +++ b/testing/lvm2/lvm2_install @@ -0,0 +1,29 @@ +# vim: set ft=sh: + +build() +{ + MODULES=" dm-mod dm-snapshot dm-mirror" + BINARIES="" + FILES="" + SCRIPT="lvm2" + + add_binary "/sbin/lvm" + add_binary "/sbin/dmsetup" + add_file "/lib/udev/rules.d/10-dm.rules" + add_file "/lib/udev/rules.d/13-dm-disk.rules" + add_file "/lib/udev/rules.d/95-dm-notify.rules" + add_file "/lib/udev/rules.d/11-dm-lvm.rules" + add_file "/lib/initcpio/udev/11-dm-initramfs.rules" "/lib/udev/rules.d/11-dm-initramfs.rules" +} + +help () +{ +cat<<HELPEOF + This hook loads the necessary modules for an LVM2 root device. + + The optional lvmwait= parameter followed by a comma-separated + list of device names can be given on the command line. + It will cause the hook to wait until all given devices exist + before trying to scan and activate any volume groups. +HELPEOF +} diff --git a/testing/mkinitcpio-busybox/PKGBUILD b/testing/mkinitcpio-busybox/PKGBUILD new file mode 100644 index 000000000..0e50e672b --- /dev/null +++ b/testing/mkinitcpio-busybox/PKGBUILD @@ -0,0 +1,31 @@ +# $Id: PKGBUILD 135465 2011-08-13 23:34:47Z thomas $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> +pkgname=mkinitcpio-busybox +pkgver=1.18.5 +pkgrel=1 +pkgdesc="base initramfs tools" +arch=('i686' 'x86_64') +url="http://www.busybox.net/" +license=('GPL') +depends=('glibc') +source=(http://busybox.net/downloads/busybox-${pkgver}.tar.bz2 + config) +sha256sums=('10954fcd5c48d8a262a3497b16227bf983a05658bf2bf661af2fdeca773f2fc0' + '0961b4db5eb5eaa1b8d353a3fc792884f4f2733ec0f5715ba88a0e667f0f48ec') + +build() { + cd "${srcdir}/busybox-${pkgver}" + + unset CFLAGS CXXFLAGS + if [ ${CARCH} = "x86_64" ]; then + sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=x86-64 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config + else + sed 's|^CONFIG_EXTRA_CFLAGS=.*|CONFIG_EXTRA_CFLAGS="-march=i686 -mtune=generic -Os -pipe -fno-strict-aliasing"|' "${srcdir}/config" > .config + fi + make +} + +package() { + install -D -m755 "${srcdir}/busybox-${pkgver}"/busybox "${pkgdir}/lib/initcpio/busybox" +} +# vim:set ts=2 sw=2 et: diff --git a/testing/mkinitcpio-busybox/config b/testing/mkinitcpio-busybox/config new file mode 100644 index 000000000..31a9d4330 --- /dev/null +++ b/testing/mkinitcpio-busybox/config @@ -0,0 +1,990 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.18.5 +# Sun Aug 14 01:22:25 2011 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Busybox Settings +# + +# +# General Configuration +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_PLATFORM_LINUX=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_SHOW_USAGE=y +# CONFIG_FEATURE_VERBOSE_USAGE is not set +# CONFIG_FEATURE_COMPRESS_USAGE is not set +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_LONG_OPTS=y +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_CLEAN_UP is not set +# CONFIG_FEATURE_WTMP is not set +# CONFIG_FEATURE_UTMP is not set +# CONFIG_FEATURE_PIDFILE is not set +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox" +CONFIG_FEATURE_SYSLOG=y +CONFIG_FEATURE_HAVE_RPC=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_LFS=y +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_EXTRA_CFLAGS="" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Busybox Library Tuning +# +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SIZE_VS_SPEED=0 +CONFIG_FEATURE_FAST_TOP=y +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_USE_TERMIOS is not set +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=15 +# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +CONFIG_FEATURE_NON_POSIX_CP=y +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +# CONFIG_FEATURE_SEAMLESS_XZ is not set +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +# CONFIG_FEATURE_SEAMLESS_BZ2 is not set +# CONFIG_FEATURE_SEAMLESS_GZ is not set +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_BUNZIP2 is not set +# CONFIG_BZIP2 is not set +# CONFIG_CPIO is not set +# CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set +# CONFIG_GUNZIP is not set +# CONFIG_GZIP is not set +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set +# CONFIG_LZOP is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM2CPIO is not set +# CONFIG_RPM is not set +# CONFIG_TAR is not set +# CONFIG_FEATURE_TAR_CREATE is not set +# CONFIG_FEATURE_TAR_AUTODETECT is not set +# CONFIG_FEATURE_TAR_FROM is not set +# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +# CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set +# CONFIG_FEATURE_TAR_TO_COMMAND is not set +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set +# CONFIG_UNCOMPRESS is not set +# CONFIG_UNLZMA is not set +# CONFIG_FEATURE_LZMA_FAST is not set +# CONFIG_LZMA is not set +# CONFIG_UNXZ is not set +# CONFIG_XZ is not set +# CONFIG_UNZIP is not set + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +# CONFIG_DATE is not set +# CONFIG_FEATURE_DATE_ISOFMT is not set +# CONFIG_FEATURE_DATE_NANO is not set +# CONFIG_FEATURE_DATE_COMPAT is not set +CONFIG_TEST=y +CONFIG_FEATURE_TEST_64=y +# CONFIG_TR is not set +# CONFIG_FEATURE_TR_CLASSES is not set +# CONFIG_FEATURE_TR_EQUIV is not set +# CONFIG_BASE64 is not set +# CONFIG_CAL is not set +# CONFIG_CATV is not set +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +# CONFIG_COMM is not set +CONFIG_CP=y +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set +CONFIG_CUT=y +CONFIG_DD=y +# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set +# CONFIG_FEATURE_DD_IBS_OBS is not set +CONFIG_DF=y +# CONFIG_FEATURE_DF_FANCY is not set +CONFIG_DIRNAME=y +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +CONFIG_DU=y +# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +CONFIG_FEATURE_ENV_LONG_OPTIONS=y +# CONFIG_EXPAND is not set +# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FALSE=y +# CONFIG_FOLD is not set +# CONFIG_FSYNC is not set +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +# CONFIG_HOSTID is not set +# CONFIG_ID is not set +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +# CONFIG_LENGTH is not set +CONFIG_LN=y +# CONFIG_LOGNAME is not set +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +# CONFIG_FEATURE_LS_COLOR is not set +# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set +CONFIG_MD5SUM=y +CONFIG_MKDIR=y +CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MV=y +CONFIG_FEATURE_MV_LONG_OPTIONS=y +# CONFIG_NICE is not set +# CONFIG_NOHUP is not set +# CONFIG_OD is not set +# CONFIG_PRINTENV is not set +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +# CONFIG_REALPATH is not set +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y +CONFIG_SEQ=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_FEATURE_FLOAT_SLEEP=y +CONFIG_SORT=y +# CONFIG_FEATURE_SORT_BIG is not set +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +# CONFIG_STTY is not set +# CONFIG_SUM is not set +# CONFIG_SYNC is not set +# CONFIG_TAC is not set +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +# CONFIG_TEE is not set +# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set +CONFIG_TOUCH=y +CONFIG_TRUE=y +# CONFIG_TTY is not set +CONFIG_UNAME=y +# CONFIG_UNEXPAND is not set +# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set +CONFIG_UNIQ=y +# CONFIG_USLEEP is not set +# CONFIG_UUDECODE is not set +# CONFIG_UUENCODE is not set +CONFIG_WC=y +CONFIG_FEATURE_WC_LARGE=y +# CONFIG_WHO is not set +# CONFIG_WHOAMI is not set +CONFIG_YES=y + +# +# Common options for cp and mv +# +# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set + +# +# Common options for ls, more and telnet +# +CONFIG_FEATURE_AUTOWIDTH=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y + +# +# Console Utilities +# +# CONFIG_CHVT is not set +# CONFIG_FGCONSOLE is not set +# CONFIG_CLEAR is not set +# CONFIG_DEALLOCVT is not set +# CONFIG_DUMPKMAP is not set +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +# CONFIG_RESET is not set +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +# CONFIG_SETCONSOLE is not set +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +CONFIG_SETFONT=y +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set + +# +# Common options for loadfont and setfont +# +CONFIG_FEATURE_LOADFONT_PSF2=y +CONFIG_FEATURE_LOADFONT_RAW=y + +# +# Debian Utilities +# +CONFIG_MKTEMP=y +# CONFIG_PIPE_PROGRESS is not set +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +# CONFIG_WHICH is not set + +# +# Editors +# +# CONFIG_PATCH is not set +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +# CONFIG_CMP is not set +# CONFIG_DIFF is not set +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +# CONFIG_FEATURE_DIFF_DIR is not set +# CONFIG_ED is not set +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y +# CONFIG_FEATURE_ALLOW_EXEC is not set + +# +# Finding Utilities +# +# CONFIG_FIND is not set +# CONFIG_FEATURE_FIND_PRINT0 is not set +# CONFIG_FEATURE_FIND_MTIME is not set +# CONFIG_FEATURE_FIND_MMIN is not set +# CONFIG_FEATURE_FIND_PERM is not set +# CONFIG_FEATURE_FIND_TYPE is not set +# CONFIG_FEATURE_FIND_XDEV is not set +# CONFIG_FEATURE_FIND_MAXDEPTH is not set +# CONFIG_FEATURE_FIND_NEWER is not set +# CONFIG_FEATURE_FIND_INUM is not set +# CONFIG_FEATURE_FIND_EXEC is not set +# CONFIG_FEATURE_FIND_USER is not set +# CONFIG_FEATURE_FIND_GROUP is not set +# CONFIG_FEATURE_FIND_NOT is not set +# CONFIG_FEATURE_FIND_DEPTH is not set +# CONFIG_FEATURE_FIND_PAREN is not set +# CONFIG_FEATURE_FIND_SIZE is not set +# CONFIG_FEATURE_FIND_PRUNE is not set +# CONFIG_FEATURE_FIND_DELETE is not set +# CONFIG_FEATURE_FIND_PATH is not set +# CONFIG_FEATURE_FIND_REGEX is not set +# CONFIG_FEATURE_FIND_CONTEXT is not set +# CONFIG_FEATURE_FIND_LINKS is not set +CONFIG_GREP=y +CONFIG_FEATURE_GREP_EGREP_ALIAS=y +# CONFIG_FEATURE_GREP_FGREP_ALIAS is not set +# CONFIG_FEATURE_GREP_CONTEXT is not set +# CONFIG_XARGS is not set +# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set +# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set +# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set +# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +# CONFIG_INIT is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +# CONFIG_FEATURE_EXTRA_QUIET is not set +# CONFIG_FEATURE_INIT_COREDUMPS is not set +# CONFIG_FEATURE_INITRD is not set +CONFIG_INIT_TERMINAL_TYPE="" +# CONFIG_MESG is not set + +# +# Login/Password Management Utilities +# +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +# CONFIG_FEATURE_SHADOWPASSWDS is not set +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +# CONFIG_USE_BB_CRYPT is not set +# CONFIG_USE_BB_CRYPT_SHA is not set +# CONFIG_ADDUSER is not set +# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_FIRST_SYSTEM_ID=0 +CONFIG_LAST_SYSTEM_ID=0 +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +# CONFIG_GETTY is not set +# CONFIG_LOGIN is not set +# CONFIG_PAM is not set +# CONFIG_LOGIN_SCRIPTS is not set +# CONFIG_FEATURE_NOLOGIN is not set +# CONFIG_FEATURE_SECURETTY is not set +# CONFIG_PASSWD is not set +# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set +# CONFIG_CRYPTPW is not set +# CONFIG_CHPASSWD is not set +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_SULOGIN is not set +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +# CONFIG_CHATTR is not set +# CONFIG_FSCK is not set +# CONFIG_LSATTR is not set +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +CONFIG_MODINFO=y +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +CONFIG_INSMOD=y +CONFIG_RMMOD=y +CONFIG_LSMOD=y +CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y +# CONFIG_MODPROBE is not set +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +# CONFIG_DEPMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +# CONFIG_FEATURE_MODUTILS_ALIAS is not set +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set +CONFIG_DEFAULT_MODULES_DIR="" +CONFIG_DEFAULT_DEPMOD_FILE="" + +# +# Linux System Utilities +# +# CONFIG_BLOCKDEV is not set +# CONFIG_REV is not set +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +# CONFIG_BLKID is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_FBSET is not set +# CONFIG_FEATURE_FBSET_FANCY is not set +# CONFIG_FEATURE_FBSET_READMODE is not set +# CONFIG_FDFLUSH is not set +# CONFIG_FDFORMAT is not set +# CONFIG_FDISK is not set +CONFIG_FDISK_SUPPORT_LARGE_DISKS=y +# CONFIG_FEATURE_FDISK_WRITABLE is not set +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +# CONFIG_FEATURE_GPT_LABEL is not set +# CONFIG_FEATURE_FDISK_ADVANCED is not set +# CONFIG_FINDFS is not set +# CONFIG_FLOCK is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKFS_VFAT is not set +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +# CONFIG_FEATURE_HEXDUMP_REVERSE is not set +# CONFIG_HD is not set +# CONFIG_HWCLOCK is not set +# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +CONFIG_LOSETUP=y +# CONFIG_LSPCI is not set +# CONFIG_LSUSB is not set +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_MKSWAP is not set +# CONFIG_FEATURE_MKSWAP_UUID is not set +# CONFIG_MORE is not set +CONFIG_MOUNT=y +CONFIG_FEATURE_MOUNT_FAKE=y +CONFIG_FEATURE_MOUNT_VERBOSE=y +CONFIG_FEATURE_MOUNT_HELPERS=y +CONFIG_FEATURE_MOUNT_LABEL=y +CONFIG_FEATURE_MOUNT_NFS=y +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +# CONFIG_PIVOT_ROOT is not set +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +# CONFIG_READPROFILE is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SETARCH is not set +# CONFIG_SWAPONOFF is not set +# CONFIG_FEATURE_SWAPON_PRI is not set +CONFIG_SWITCH_ROOT=y +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +# CONFIG_FEATURE_VOLUMEID_EXT is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_FAT is not set +# CONFIG_FEATURE_VOLUMEID_HFS is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set + +# +# Miscellaneous Utilities +# +# CONFIG_CONSPY is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_ADJTIMEX is not set +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CHRT is not set +# CONFIG_CROND is not set +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="" +# CONFIG_CRONTAB is not set +# CONFIG_DC is not set +# CONFIG_FEATURE_DC_LIBM is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +# CONFIG_DEVMEM is not set +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +# CONFIG_FBSPLASH is not set +# CONFIG_FLASHCP is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_IONICE is not set +# CONFIG_INOTIFYD is not set +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_SMALL is not set +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +# CONFIG_FEATURE_LESS_MARKS is not set +# CONFIG_FEATURE_LESS_REGEXP is not set +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_HDPARM is not set +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +# CONFIG_MOUNTPOINT is not set +# CONFIG_MT is not set +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +# CONFIG_SETSID is not set +CONFIG_STRINGS=y +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +# CONFIG_TIME is not set +# CONFIG_TIMEOUT is not set +# CONFIG_TTYSIZE is not set +# CONFIG_VOLNAME is not set +# CONFIG_WALL is not set +# CONFIG_WATCHDOG is not set + +# +# Networking Utilities +# +# CONFIG_NBDCLIENT is not set +CONFIG_NC=y +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_ARP is not set +# CONFIG_ARPING is not set +# CONFIG_BRCTL is not set +# CONFIG_FEATURE_BRCTL_FANCY is not set +# CONFIG_FEATURE_BRCTL_SHOW is not set +# CONFIG_DNSD is not set +# CONFIG_ETHER_WAKE is not set +# CONFIG_FAKEIDENTD is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTP_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +# CONFIG_HOSTNAME is not set +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +# CONFIG_IFUPDOWN is not set +CONFIG_IFUPDOWN_IFSTATE_PATH="" +# CONFIG_FEATURE_IFUPDOWN_IP is not set +# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set +# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set +# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +# CONFIG_INETD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_SHORT_FORMS=y +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_TCPSVD is not set +CONFIG_TELNET=y +# CONFIG_FEATURE_TELNET_TTYPE is not set +# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set +# CONFIG_TELNETD is not set +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +# CONFIG_TFTPD is not set + +# +# Common options for tftp/tftpd +# +CONFIG_FEATURE_TFTP_GET=y +# CONFIG_FEATURE_TFTP_PUT is not set +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_TFTP_DEBUG is not set +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +# CONFIG_TUNCTL is not set +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_UDHCPD is not set +# CONFIG_DHCPRELAY is not set +# CONFIG_DUMPLEASES is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_UDHCPC is not set +# CONFIG_FEATURE_UDHCPC_ARPING is not set +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set +CONFIG_UDHCPC_DEFAULT_SCRIPT="" +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" +# CONFIG_UDPSVD is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_TIMEOUT=y +# CONFIG_ZCIP is not set + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +CONFIG_FEATURE_MIME_CHARSET="" +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set + +# +# Process Utilities +# +# CONFIG_IOSTAT is not set +# CONFIG_MPSTAT is not set +# CONFIG_PMAP is not set +# CONFIG_POWERTOP is not set +# CONFIG_SMEMCAP is not set +CONFIG_FREE=y +# CONFIG_FUSER is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +# CONFIG_KILLALL5 is not set +# CONFIG_NMETER is not set +CONFIG_PGREP=y +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PKILL is not set +CONFIG_PS=y +CONFIG_FEATURE_PS_WIDE=y +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_RENICE is not set +# CONFIG_BB_SYSCTL is not set +# CONFIG_TOP is not set +# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +# CONFIG_FEATURE_SHOW_THREADS is not set +CONFIG_UPTIME=y +# CONFIG_WATCH is not set + +# +# Runit Utilities +# +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVLOGD is not set +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_CHCON is not set +# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RESTORECON is not set +# CONFIG_RUNCON is not set +# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_SETSEBOOL is not set +# CONFIG_SESTATUS is not set + +# +# Shells +# +CONFIG_ASH=y +CONFIG_ASH_BASH_COMPAT=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_BUILTIN_ECHO=y +CONFIG_ASH_BUILTIN_PRINTF=y +CONFIG_ASH_BUILTIN_TEST=y +CONFIG_ASH_CMDCMD=y +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +# CONFIG_ASH_RANDOM_SUPPORT is not set +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_MSH is not set +CONFIG_FEATURE_SH_IS_ASH=y +# CONFIG_FEATURE_SH_IS_HUSH is not set +# CONFIG_FEATURE_SH_IS_NONE is not set +# CONFIG_FEATURE_BASH_IS_ASH is not set +# CONFIG_FEATURE_BASH_IS_HUSH is not set +CONFIG_FEATURE_BASH_IS_NONE=y +CONFIG_SH_MATH_SUPPORT=y +# CONFIG_SH_MATH_SUPPORT_64 is not set +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set + +# +# System Logging Utilities +# +# CONFIG_SYSLOGD is not set +# CONFIG_FEATURE_ROTATE_LOGFILE is not set +# CONFIG_FEATURE_REMOTE_LOG is not set +# CONFIG_FEATURE_SYSLOGD_DUP is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 +# CONFIG_FEATURE_IPC_SYSLOG is not set +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +# CONFIG_KLOGD is not set +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set +# CONFIG_LOGGER is not set diff --git a/testing/msmtp/PKGBUILD b/testing/msmtp/PKGBUILD new file mode 100644 index 000000000..44d3e6209 --- /dev/null +++ b/testing/msmtp/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 134900 2011-08-08 19:38:44Z eric $ +# Maintainer: tobias <tobias@archlinux.org> +# Contributor: Ben Mazer <blm@groknil.org> + +pkgname=msmtp +pkgver=1.4.24 +pkgrel=3 +pkgdesc="A mini smtp client" +arch=('i686' 'x86_64') +license=('GPL3') +url="http://msmtp.sourceforge.net" +depends=('gnutls' 'libidn') +makedepends=('texlive-core') +provides=('smtp-forwarder') +install=msmtp.install +source=(http://download.sourceforge.net/sourceforge/msmtp/${pkgname}-${pkgver}.tar.bz2) +md5sums=('3ed704fbd3e7419cab5c65bb7928d9ba') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --with-ssl=gnutls + make + make -C doc html pdf +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" -C doc install-html install-pdf + +# Installing example configs and scripts to /usr/share/doc/msmtp +# as they are not installed by default (Debian and Gentoo do it this way) + install -d "${pkgdir}/usr/share/doc/msmtp" + cp -r scripts/{find_alias,msmtp-gnome-tool,msmtpqueue,msmtpq,set_sendmail} "${pkgdir}/usr/share/doc/msmtp/" + install -D -m644 doc/*.example "${pkgdir}/usr/share/doc/msmtp/" + + install -D -m644 scripts/vim/msmtp.vim "${pkgdir}/usr/share/vim/vimfiles/syntax/msmtp.vim" +} diff --git a/testing/msmtp/msmtp.install b/testing/msmtp/msmtp.install new file mode 100644 index 000000000..c4dd76476 --- /dev/null +++ b/testing/msmtp/msmtp.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(msmtp.info) + +post_install() { + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/nettle/PKGBUILD b/testing/nettle/PKGBUILD new file mode 100644 index 000000000..e079a16f8 --- /dev/null +++ b/testing/nettle/PKGBUILD @@ -0,0 +1,36 @@ +# $Id: PKGBUILD 134726 2011-08-07 17:54:31Z andyrtr $ +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Contributor: bender02 at gmx dot com + +pkgname=nettle +pkgver=2.2 +pkgrel=1 +pkgdesc="A low-level cryptographic library" +arch=('i686' 'x86_64') +url="http://www.lysator.liu.se/~nisse/nettle/" +license=('GPL2') +install=$pkgname.install +depends=('gmp') +source=(ftp://ftp.lysator.liu.se/pub/security/lsh/$pkgname-$pkgver.tar.gz) +md5sums=('9a9c6102eb9909019f8a13b67578cdfe') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr --libdir=/usr/lib \ + --enable-shared \ + --disable-static # <-- seems not working now + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + make -k check +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir/" install + + # remove static libs + rm -f ${pkgdir}/usr/lib/{libhogweed,libnettle}.a +} diff --git a/testing/nettle/nettle.install b/testing/nettle/nettle.install new file mode 100644 index 000000000..3d19b5f19 --- /dev/null +++ b/testing/nettle/nettle.install @@ -0,0 +1,20 @@ +infodir=/usr/share/info +filelist=(nettle.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/testing/openvpn/PKGBUILD b/testing/openvpn/PKGBUILD new file mode 100644 index 000000000..9dc460d16 --- /dev/null +++ b/testing/openvpn/PKGBUILD @@ -0,0 +1,70 @@ +# $Id: PKGBUILD 135441 2011-08-13 17:34:29Z thomas $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgname=openvpn +pkgver=2.2.1 +pkgrel=1 +pkgdesc="An easy-to-use, robust, and highly configurable VPN (Virtual Private Network)" +arch=(i686 x86_64) +url="http://openvpn.net/index.php/open-source.html" +depends=('openssl' 'lzo2' 'iproute2') +license=('custom') +backup=(usr/share/openvpn/easy-rsa/vars + usr/share/openvpn/easy-rsa/openssl-1.0.0.cnf + etc/conf.d/openvpn-tapdev) +source=(http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz + openvpn.rc + openvpn-tapdev.rc + openvpn-tapdev.conf) +md5sums=('500bee5449b29906150569aaf2eb2730' + 'a3809b9727f0c2af2d0770f5c7442db2' + 'd2c48e970088d679dd3c2afd914ff731' + '722f483c9e3ce2ec66d3301aaf7cf3d5') + +build() { + cd $srcdir/$pkgname-$pkgver + # Build openvpn + CFLAGS="$CFLAGS -DPLUGIN_LIBDIR=\\\"/usr/lib/openvpn\\\"" ./configure \ + --prefix=/usr \ + --enable-password-save \ + --mandir=/usr/share/man \ + --enable-iproute2 + make + + # Build plugins + for plug in auth-pam down-root; do + cd $srcdir/$pkgname-$pkgver/plugin/$plug + make + done +} + +package() { + cd $srcdir/$pkgname-$pkgver + # Install openvpn + make DESTDIR=$pkgdir install + install -d -m755 $pkgdir/etc/openvpn + # Install examples + install -d -m755 $pkgdir/usr/share/openvpn + cp -r sample-config-files $pkgdir/usr/share/openvpn/examples + find $pkgdir/usr/share/openvpn -type f -exec chmod 644 {} \; + find $pkgdir/usr/share/openvpn -type d -exec chmod 755 {} \; + # Install license + install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING + # Install plugins + for plug in auth-pam down-root; do + cd $srcdir/$pkgname-$pkgver/plugin/$plug + install -D -m755 openvpn-$plug.so $pkgdir/usr/lib/openvpn/openvpn-$plug.so + cd - + done + # Install contrib + install -d -m755 $pkgdir/usr/share/openvpn/contrib + cp -r contrib $pkgdir/usr/share/openvpn + # Install easy-rsa + cd $srcdir/$pkgname-$pkgver + make -C easy-rsa/2.0 install DESTDIR=$pkgdir PREFIX=usr/share/openvpn/easy-rsa + rm -f ${pkgdir}/usr/share/openvpn/easy-rsa/openssl-0.9.?.cnf + # Install rc scripts + install -D -m755 $srcdir/openvpn.rc $pkgdir/etc/rc.d/openvpn + install -D -m755 $srcdir/openvpn-tapdev.rc $pkgdir/etc/rc.d/openvpn-tapdev + install -D -m644 $srcdir/openvpn-tapdev.conf $pkgdir/etc/conf.d/openvpn-tapdev +} diff --git a/testing/openvpn/openvpn-tapdev.conf b/testing/openvpn/openvpn-tapdev.conf new file mode 100644 index 000000000..afa5586dd --- /dev/null +++ b/testing/openvpn/openvpn-tapdev.conf @@ -0,0 +1,12 @@ +# +# /etc/conf.d/openvpn-tapdev +# +# Place openvpn-tapdev before network into your DAEMONS array +# This will create permanent tap devices which you can use for bridging +# +# Example: +# TAPDEVS="work home" +# Will create two tap devices "work" and "home" +# + +TAPDEVS="" diff --git a/testing/openvpn/openvpn-tapdev.rc b/testing/openvpn/openvpn-tapdev.rc new file mode 100755 index 000000000..2c51f8248 --- /dev/null +++ b/testing/openvpn/openvpn-tapdev.rc @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +. /etc/conf.d/openvpn-tapdev + +case "$1" in + start) + stat_busy "Creating tap devices for OpenVPN ... " + success=0 + for tapdev in ${TAPDEVS}; do + stat_append "${tapdev} " + /usr/sbin/openvpn --mktun --dev-type tap --dev ${tapdev} >/dev/null 2>&1 || success=$? + done + if [ $success -eq 0 ]; then + add_daemon openvpn-tapdev + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Destroying tap devices for OpenVPN ..." + for tapdev in ${TAPDEVS}; do + stat_append "${tapdev} " + /usr/sbin/openvpn --rmtun --dev-type tap --dev ${tapdev} >/dev/null 2>&1 || success=$? + done + rm_daemon openvpn-tapdev + stat_done + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/openvpn/openvpn.rc b/testing/openvpn/openvpn.rc new file mode 100755 index 000000000..96c28b641 --- /dev/null +++ b/testing/openvpn/openvpn.rc @@ -0,0 +1,43 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +CFGDIR="/etc/openvpn" +STATEDIR="/var/run/openvpn" + +case "$1" in + start) + stat_busy "Starting OpenVPN ... " + success=0 + mkdir -p "${STATEDIR}" + for cfg in "${CFGDIR}"/*.conf; do + stat_append "$(basename "${cfg}" .conf) " + /usr/sbin/openvpn --daemon --writepid "${STATEDIR}"/"$(basename "${cfg}" .conf)".pid --cd "${CFGDIR}" --config "${cfg}" || success=$? + done + if [ $success -eq 0 ]; then + add_daemon openvpn + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Stopping OpenVPN ..." + for pidfile in "${STATEDIR}"/*.pid; do + stat_append "$(basename "${pidfile}" .pid) " + kill $(cat "${pidfile}" 2>/dev/null) 2>/dev/null + rm -f "${pidfile}" + done + rm_daemon openvpn + stat_done + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/qemu-kvm/65-kvm.rules b/testing/qemu-kvm/65-kvm.rules new file mode 100644 index 000000000..c2f7317aa --- /dev/null +++ b/testing/qemu-kvm/65-kvm.rules @@ -0,0 +1 @@ +KERNEL=="kvm", GROUP="kvm", MODE="0660" diff --git a/testing/qemu-kvm/PKGBUILD b/testing/qemu-kvm/PKGBUILD new file mode 100644 index 000000000..604d55da4 --- /dev/null +++ b/testing/qemu-kvm/PKGBUILD @@ -0,0 +1,58 @@ +# $Id: PKGBUILD 135315 2011-08-12 16:52:46Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +pkgname=qemu-kvm +pkgver=0.15.0 +pkgrel=2 +pkgdesc="Latest KVM QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation." +arch=(i686 x86_64) +license=('GPL2' 'LGPL2.1') +url="http://www.linux-kvm.org" +depends=('libjpeg' 'libpng' 'libsasl' 'curl' 'sdl' 'alsa-lib' 'nss' 'glib2' 'gnutls>=2.4.1' 'bluez' 'vde2' 'util-linux-ng') +makedepends=('texi2html' 'perl' 'python2') +backup=('etc/qemu/target-x86_64.conf') +install=qemu-kvm.install +conflicts=('qemu') +provides=('qemu') +replaces=('kvm') +source=(http://downloads.sourceforge.net/kvm/${pkgname}-${pkgver}.tar.gz + 65-kvm.rules) +options=(!strip) + +build() +{ + cd ${srcdir}/${pkgname}-${pkgver} + # fix esound building + ./configure --prefix=/usr \ + --python=/usr/bin/python2 \ + --sysconfdir=/etc \ + --audio-drv-list=alsa,sdl,oss \ + --audio-card-list=ac97,sb16,es1370,hda \ + --enable-docs + make +} +package() +{ + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + # symbolic link for backwards compatibility + ln -s qemu-system-x86_64 ${pkgdir}/usr/bin/qemu-kvm + # symbolic link for to qemu binary for emulator apps + ln -s qemu-system-x86_64 ${pkgdir}/usr/bin/qemu + # symbolic link for to qemu binary for emulator apps + ln -s qemu-system-x86_64 ${pkgdir}/usr/bin/kvm + # fix man page + mv ${pkgdir}/usr/share/man/man1/qemu.1 \ + ${pkgdir}/usr/share/man/man1/qemu-kvm.1 + # install udev rules + install -D -m644 ${srcdir}/65-kvm.rules \ + ${pkgdir}/lib/udev/rules.d/65-kvm.rules + # strip scripts directory + find ${pkgdir}/usr/bin -type f -perm -u+w 2>/dev/null | while read binary ; do + case "$(file -bi "$binary")" in + *application/x-executable*) # Binaries + /usr/bin/strip $STRIP_BINARIES "$binary";; + esac + done +} +md5sums=('b45b0deebba4ce47dcaaab3807f6ed47' + 'b316a066d2f1bb57d8f5b7ea1d0d1caf') diff --git a/testing/qemu-kvm/qemu-kvm.install b/testing/qemu-kvm/qemu-kvm.install new file mode 100644 index 000000000..84aa773b9 --- /dev/null +++ b/testing/qemu-kvm/qemu-kvm.install @@ -0,0 +1,16 @@ +post_install() { + groupadd kvm -f -g 78 + echo ">>> PLEASE READ FOR KVM USAGE!" + echo ">>> Load the correct KVM module, you will need a KVM capable CPU!" + echo ">>> Add yourself to the group 'kvm'." + echo ">>> Use 'qemu-kvm -enable-kvm' to use KVM." + echo "" +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + groupdel kvm +} diff --git a/testing/qemu/65-kvm.rules b/testing/qemu/65-kvm.rules new file mode 100644 index 000000000..c2f7317aa --- /dev/null +++ b/testing/qemu/65-kvm.rules @@ -0,0 +1 @@ +KERNEL=="kvm", GROUP="kvm", MODE="0660" diff --git a/testing/qemu/PKGBUILD b/testing/qemu/PKGBUILD new file mode 100644 index 000000000..0fbbd0d46 --- /dev/null +++ b/testing/qemu/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 135352 2011-08-13 06:11:28Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +pkgname=qemu +pkgver=0.15.0 +pkgrel=2 +pkgdesc="A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation." +arch=('i686' 'x86_64') +license=('GPL2' 'LGPL2.1') +url="http://wiki.qemu.org/Index.html" +makedepends=('texi2html' 'perl' 'python2') +depends=('libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' 'gnutls>=2.4.1' 'bluez' 'vde2' 'util-linux-ng' 'curl' 'libsasl' 'libgl') +backup=('etc/qemu/target-x86_64.conf') +install=qemu.install +source=(http://wiki.qemu.org/download/${pkgname}-${pkgver}.tar.gz + 65-kvm.rules) +options=(!strip) + +build() +{ + cd ${srcdir}/${pkgname}-${pkgver} + sed -i -e 's/lib64/lib/g' x86_64.ld + ./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list=oss,alsa,sdl \ + --python=/usr/bin/python2 \ + --audio-card-list=ac97,sb16,es1370,hda \ + --enable-docs + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + install -D -m644 ${srcdir}/65-kvm.rules \ + ${pkgdir}/lib/udev/rules.d/65-kvm.rules + # strip scripts directory + find ${pkgdir}/usr/src/linux-${_kernver}/scripts -type f -perm -u+w 2>/dev/null | while read binary ; do + case "$(file -bi "$binary")" in + *application/x-executable*) # Binaries + /usr/bin/strip $STRIP_BINARIES "$binary";; + esac + done + +} +md5sums=('dbc55b014bcd21b98e347f6a90f7fb6d' + 'b316a066d2f1bb57d8f5b7ea1d0d1caf') diff --git a/testing/qemu/qemu.install b/testing/qemu/qemu.install new file mode 100644 index 000000000..e16ac027c --- /dev/null +++ b/testing/qemu/qemu.install @@ -0,0 +1,24 @@ +# kvm: the new package version +post_install() { + # + groupadd kvm -f -g 78 + echo ">>> PLEASE READ FOR KVM USAGE!" + echo ">>> Load the correct KVM module, you will need a KVM capable CPU!" + echo ">>> Add yourself to the group 'kvm'." + echo ">>> Use 'qemu -enable-kvm' to use KVM." + echo "" + if [ "$(vercmp $2 0.11)" -lt 0 ]; then + echo "With the release of qemu and qemu-kvm 0.12.X, the kqemu kernel module" + echo "is no longer supported and will be removed from the repositories. You" + echo "can safely uninstall it from your system." + fi +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + # + groupdel kvm +} diff --git a/testing/telepathy-gabble/PKGBUILD b/testing/telepathy-gabble/PKGBUILD new file mode 100644 index 000000000..04a19b6a9 --- /dev/null +++ b/testing/telepathy-gabble/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 134985 2011-08-09 18:45:11Z ibiru $ +# Maintainer : Ionut Biru <ibiru@archlinux.org> +# Contributor: Daniel Balieiro <daniel@balieiro.com> +# Contributor: Rodrigo L. M. Flores <mail@rodrigoflores.org> +pkgname=telepathy-gabble +pkgver=0.12.4 +pkgrel=2 +pkgdesc="A Jabber/XMPP connection manager for Telepathy" +arch=('i686' 'x86_64') +url="http://telepathy.freedesktop.org" +groups=('telepathy') +license=('LGPL2.1') +depends=('telepathy-glib' 'libsoup' 'libnice' 'sqlite3') +makedepends=('libxslt' 'python2') +options=('!libtool') +source=(http://telepathy.freedesktop.org/releases/telepathy-gabble/${pkgname}-${pkgver}.tar.gz) +install=telepathy-gabble.install +md5sums=('428962565d568667d3ff1aa7eee3da51') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --libexecdir=/usr/lib/telepathy + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/telepathy-gabble/telepathy-gabble.install b/testing/telepathy-gabble/telepathy-gabble.install new file mode 100644 index 000000000..87d7838b8 --- /dev/null +++ b/testing/telepathy-gabble/telepathy-gabble.install @@ -0,0 +1,13 @@ +post_install() { + killall -HUP dbus-daemon 2>&1 +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/vino/PKGBUILD b/testing/vino/PKGBUILD new file mode 100644 index 000000000..ddd37f61e --- /dev/null +++ b/testing/vino/PKGBUILD @@ -0,0 +1,32 @@ +# $Id: PKGBUILD 134988 2011-08-09 18:47:51Z ibiru $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=vino +pkgver=3.0.3 +pkgrel=2 +pkgdesc="a VNC server for the GNOME desktop" +arch=('i686' 'x86_64') +license=('GPL') +depends=('libnotify' 'libxtst' 'libsm' 'libsoup' 'telepathy-glib' 'gtk3' 'libgnome-keyring' 'avahi' 'desktop-file-utils') +makedepends=('intltool' 'networkmanager') +groups=('gnome-extra') +url="http://www.gnome.org" +options=(!emptydirs) +install=vino.install +source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('0e58027d3c10649da61445cdd5205e31c4d1aa0b63f4911de3db4e7052d7bbfb') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/vino \ + --localstatedir=/var \ + --enable-gnome-keyring \ + --enable-avahi + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/testing/vino/vino.install b/testing/vino/vino.install new file mode 100644 index 000000000..469266843 --- /dev/null +++ b/testing/vino/vino.install @@ -0,0 +1,18 @@ +post_install() { + usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas + update-desktop-database -q +} + +pre_upgrade() { + if (( $(vercmp $2 2.90.0) < 0 )); then + usr/sbin/gconfpkg --uninstall vino + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/vlc/PKGBUILD b/testing/vlc/PKGBUILD new file mode 100644 index 000000000..c7d6642bf --- /dev/null +++ b/testing/vlc/PKGBUILD @@ -0,0 +1,73 @@ +# $Id: PKGBUILD 135024 2011-08-09 21:18:13Z giovanni $ +# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> +# Contributor: Martin Sandsmark <martin.sandsmark@kde.org> + +pkgname=vlc +pkgver=1.1.11 +pkgrel=4 +pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" +arch=('i686' 'x86_64') +url="http://www.videolan.org/vlc/" +license=('GPL') +depends=('a52dec' 'fluidsynth' 'libmtp' 'libdvbpsi' 'libxpm' 'libcdio' + 'libdca' 'qt' 'libproxy' 'sdl_image' 'libdvdnav' 'mesa' + 'lua' 'v4l-utils' 'libcddb' 'smbclient' 'libmatroska' 'zvbi' + 'taglib' 'sysfsutils' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp' + 'libshout' 'libmad' 'fribidi' 'libmpeg2' 'libmodplug' + 'ttf-freefont' 'libxv' 'libass' 'xdg-utils' 'desktop-file-utils') +makedepends=('avahi' 'pkgconfig' 'live-media' 'libnotify' + 'flac' 'libtheora' 'alsa-lib' 'jack' 'kdelibs' 'udev' + 'libraw1394' 'libdc1394' 'libavc1394' 'libva' 'libpulse' + 'lirc-utils' 'gnutls' 'libcaca') +optdepends=('avahi: for service discovery using bonjour protocol' + 'libnotify: for notification plugin' + 'ncurses: for ncurses interface support' + 'libdvdcss: for decoding encrypted DVDs' + 'lirc-utils: for lirc plugin' + 'libavc1394: for devices using the 1394ta AV/C' + 'libdc1394: for IEEE 1394 plugin' + 'kdelibs: KDE Solid hardware integration' + 'vdpau-video: VDPAU backend for VA API (for GPU acceleration on Nvidia cards)' + 'libpulse: PulseAudio support') +conflicts=('vlc-plugin') +replaces=('vlc-plugin') +backup=('usr/share/vlc/http/.hosts' + 'usr/share/vlc/http/dialogs/.hosts' + 'usr/share/vlc/lua/http/.hosts' + 'usr/share/vlc/lua/http/dialogs/.hosts') +options=('!libtool') +install=vlc.install +source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2") +md5sums=('a64846d6f21ea179ae8e8bfb6f9447fe') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i -e 's:truetype/freefont:TTF:g' modules/misc/freetype.c + + ./configure --prefix=/usr \ + --disable-rpath \ + --enable-faad \ + --enable-v4l \ + --enable-snapshot \ + --enable-dbus-control \ + --enable-nls \ + --enable-lirc \ + --enable-pvr \ + --enable-ncurses \ + --with-live555-tree=/usr/lib/live \ + --enable-upnp \ + --enable-realrtsp + make +} +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}/" install + + for res in 16 32 48 128; do + install -D -m644 "${srcdir}/vlc-${pkgver}/share/icons/${res}x${res}/vlc.png" \ + "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png" + done +} diff --git a/testing/vlc/vlc.install b/testing/vlc/vlc.install new file mode 100644 index 000000000..4a1091bc5 --- /dev/null +++ b/testing/vlc/vlc.install @@ -0,0 +1,18 @@ +post_install() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + usr/lib/vlc/vlc-cache-gen -f usr/lib/vlc/plugins + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +pre_remove() { + rm -f usr/lib/vlc/plugins/plugins-*.dat +} + +post_remove() { + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} diff --git a/testing/vpnc/PKGBUILD b/testing/vpnc/PKGBUILD new file mode 100644 index 000000000..04ee61cfc --- /dev/null +++ b/testing/vpnc/PKGBUILD @@ -0,0 +1,43 @@ +# $Id: PKGBUILD 135374 2011-08-13 09:06:19Z thomas $ +# Maintainer: Thomas Baechler <thomas@archlinux.org> + +pkgname=vpnc +pkgver=0.5.3 +pkgrel=4 +pkgdesc="VPN client for cisco3000 VPN Concentrators" +url="http://www.unix-ag.uni-kl.de/~massar/vpnc/" +license=('GPL') +depends=('libgcrypt' 'openssl' 'iproute2' 'net-tools') +optdepends=('openresolv: Let vpnc manage resolv.conf') +arch=('i686' 'x86_64') +source=("http://www.unix-ag.uni-kl.de/~massar/vpnc/$pkgname-$pkgver.tar.gz" + 'vpnc.conf' + 'vpnc.rc' + fix-iproute-syntax.patch) +backup=('etc/vpnc/default.conf') +md5sums=('4378f9551d5b077e1770bbe09995afb3' + 'a3f4e0cc682f437e310a1c86ae198e45' + 'c5885162ac198eaa36da9a01e7c0c55b' + '193a35773594667a2782701aff372551') + +build() { + cd "${srcdir}"/${pkgname}-${pkgver} + + # Build hybrid support + sed -i 's|^#OPENSSL|OPENSSL|g' Makefile + + # Fix vpnc-script + sed 's|/sbin/resolvconf|/usr/sbin/resolvconf|g' -i vpnc-script.in + patch -p1 -i "${srcdir}"/fix-iproute-syntax.patch + + make PREFIX=/usr +} + +package() { + cd "${srcdir}"/${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" PREFIX=/usr install + + install -D -m644 "${srcdir}"/vpnc.conf "${pkgdir}"/etc/vpnc/default.conf + install -D -m755 "${srcdir}"/vpnc.rc "${pkgdir}"/etc/rc.d/vpnc + rm -f "${pkgdir}"/etc/vpnc/vpnc.conf +} diff --git a/testing/vpnc/fix-iproute-syntax.patch b/testing/vpnc/fix-iproute-syntax.patch new file mode 100644 index 000000000..9cba4bec3 --- /dev/null +++ b/testing/vpnc/fix-iproute-syntax.patch @@ -0,0 +1,26 @@ +From a1cac186f66d0f2e8b1dce67e648aae4219c3013 Mon Sep 17 00:00:00 2001 +From: Alessandro Suardi <alessandro.suardi@gmail.com> +Date: Sat, 28 May 2011 23:20:15 +0100 +Subject: [PATCH 1/1] Cope with new kernel/iproute including ipid in route list + +Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> +--- + vpnc-script | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/vpnc-script b/vpnc-script +index cc62997..e0140c5 100755 +--- a/vpnc-script.in ++++ b/vpnc-script.in +@@ -139,7 +139,7 @@ destroy_tun_device() { + + if [ -n "$IPROUTE" ]; then + fix_ip_get_output () { +- sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g;s/hoplimit [0-9]\+//g' ++ sed 's/cache//;s/metric \?[0-9]\+ [0-9]\+//g;s/hoplimit [0-9]\+//g;s/ipid 0x....//g' + } + + set_vpngateway_route() { +-- +1.7.3.4 + diff --git a/testing/vpnc/vpnc.conf b/testing/vpnc/vpnc.conf new file mode 100644 index 000000000..914f827fd --- /dev/null +++ b/testing/vpnc/vpnc.conf @@ -0,0 +1,17 @@ +# example vpnc configuration file +# see vpnc --long-help for details + +#Interface name tun0 +#IKE DH Group dh2 +#Perfect Forward Secrecy nopfs + +# You may replace this script with something better +#Script /etc/vpnc/vpnc-script +# Enable this option for NAT traversal +#UDP Encapsulate + +#IPSec gateway my.gateway.com +#IPSec ID someid +#IPSec secret somesecret +#Xauth username myusername +#Xauth password mypassword diff --git a/testing/vpnc/vpnc.rc b/testing/vpnc/vpnc.rc new file mode 100644 index 000000000..972ed3211 --- /dev/null +++ b/testing/vpnc/vpnc.rc @@ -0,0 +1,35 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Connecting to VPN" + /usr/sbin/vpnc + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon vpnc + stat_done + fi + ;; + stop) + stat_busy "Disconnecting from VPN" + /usr/sbin/vpnc-disconnect + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon vpnc + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/weechat/PKGBUILD b/testing/weechat/PKGBUILD new file mode 100644 index 000000000..6e53c7d86 --- /dev/null +++ b/testing/weechat/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 135012 2011-08-09 21:04:57Z giovanni $ +# Maintainer: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: lucke <lucke at o2 dot pl> + +pkgname=weechat +pkgver=0.3.5 +pkgrel=3 +pkgdesc="Fast, light and extensible IRC client (curses UI)" +arch=('i686' 'x86_64') +url="http://www.weechat.org/" +license=('GPL') +depends=('gnutls') +makedepends=('cmake' 'pkgconfig' 'perl' 'python2' 'lua' 'tcl' 'ruby' 'aspell') +optdepends=('perl' 'python2' 'lua' 'tcl' 'ruby' 'aspell') +options=('!libtool') +source=("http://www.weechat.org/files/src/${pkgname}-${pkgver}.tar.bz2") +md5sums=('0d2a089bfbfa550e0c65618a171fb3c4') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + mkdir build + cd build + cmake .. -DPREFIX=/usr \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 \ + -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}/build" + + make DESTDIR="${pkgdir}/" install +} diff --git a/testing/wireshark/PKGBUILD b/testing/wireshark/PKGBUILD new file mode 100644 index 000000000..66b2f859c --- /dev/null +++ b/testing/wireshark/PKGBUILD @@ -0,0 +1,58 @@ +# $Id: PKGBUILD 134932 2011-08-09 14:19:48Z guillaume $ +# Maintainer: Guillaume ALAUX <guillaume at alaux dot net> +# Contributor: Florian Pritz <bluewind at jabber dot ccc dot de> +pkgname=(wireshark-cli wireshark-gtk) +pkgbase=wireshark +pkgver=1.6.1 +pkgrel=2 +arch=('i686' 'x86_64') +license=('GPL2') +makedepends=('bison' 'flex' 'gtk2' 'krb5' 'libpcap' 'bash' 'gnutls' 'libcap' 'lua') +url="http://www.wireshark.org/" +options=(!libtool) +source=(http://www.wireshark.org/download/src/${pkgbase}-${pkgver}.tar.bz2) +md5sums=('dc1e8c9800b64130674b120a183e2308') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + export CFLAGS="-fno-unit-at-a-time ${CFLAGS}" + + ./configure \ + --prefix=/usr \ + --with-ssl \ + --with-zlib=yes \ + --with-lua + make all +} + +package_wireshark-cli() { + pkgdesc="A free network protocol analyzer for Unix/Linux and Windows - CLI version" + depends=('krb5' 'libpcap' 'bash' 'gnutls' 'libcap' 'glib2' 'lua') + install=wireshark.install + conflicts=(wireshark) + + cd "${srcdir}/${pkgbase}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + #wireshark uid group is 150 + chgrp 150 "${pkgdir}/usr/bin/dumpcap" + chmod 754 "${pkgdir}/usr/bin/dumpcap" + rm "$pkgdir/usr/bin/wireshark" +} + +package_wireshark-gtk() { + pkgdesc="A free network protocol analyzer for Unix/Linux and Windows - GTK frontend" + depends=('gtk2' 'wireshark-cli') + install=wireshark-gtk.install + replaces=(wireshark) + conflicts=(wireshark) + + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -Dm755 .libs/wireshark "$pkgdir/usr/bin/wireshark" + for d in 16 32 48; do + install -Dm644 image/hi${d}-app-wireshark.png ${pkgdir}/usr/share/icons/hicolor/${d}x${d}/apps/wireshark.png + done + install -Dm644 wireshark.desktop ${pkgdir}/usr/share/applications/wireshark.desktop +} diff --git a/testing/wireshark/wireshark-gtk.install b/testing/wireshark/wireshark-gtk.install new file mode 100644 index 000000000..6b1b64bdd --- /dev/null +++ b/testing/wireshark/wireshark-gtk.install @@ -0,0 +1,11 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/testing/wireshark/wireshark.install b/testing/wireshark/wireshark.install new file mode 100644 index 000000000..6585ba272 --- /dev/null +++ b/testing/wireshark/wireshark.install @@ -0,0 +1,18 @@ +post_install() { + getent group wireshark >/dev/null 2>&1 || usr/sbin/groupadd -g 150 wireshark &>/dev/null + + setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' usr/bin/dumpcap + echo "NOTE: To run wireshark as normal user you have to add yourself into wireshark group" +} + +post_upgrade() { + getent group wireshark >/dev/null 2>&1 || usr/sbin/groupadd -g 150 wireshark &>/dev/null + + setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' usr/bin/dumpcap +} + +post_remove() { + if getent group wireshark >/dev/null 2>&1; then + groupdel wireshark + fi +} diff --git a/testing/xfce4-mailwatch-plugin/PKGBUILD b/testing/xfce4-mailwatch-plugin/PKGBUILD new file mode 100644 index 000000000..4a992bd09 --- /dev/null +++ b/testing/xfce4-mailwatch-plugin/PKGBUILD @@ -0,0 +1,39 @@ +# $Id: PKGBUILD 134951 2011-08-09 15:38:12Z andyrtr $ +# Maintainer: AndyRTR <andyrtr@archlinux.org> +# Contributor: Suzy Williams <suzanne.williams3@verizon.net> + +pkgname=xfce4-mailwatch-plugin +pkgver=1.1.0 +pkgrel=4 +pkgdesc="A mailbox watch/check plugin for the Xfce4 panel" +arch=(i686 x86_64) +license=('GPL2') +url="http://spurint.org/projects/xfce4-mailwatch-plugin/" +groups=('xfce4-goodies') +depends=('xfce4-panel' 'libxfcegui4' 'gnutls' 'libgcrypt' 'hicolor-icon-theme') +makedepends=('intltool' 'xfce4-dev-tools') +options=('!libtool') +install=${pkgname}.install +source=(http://spuriousinterrupt.org/files/mailwatch/${pkgname}-${pkgver}.tar.bz2 + xfce4-mailwatch-plugin-1.1.0-underlink.patch) +md5sums=('f84dce86be1d7f25f169f262aaacee4e' + '47fe8588e3bb642e1b507a854927e6db') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + # fix for panel4.8 from Fedora + patch -Np1 -i ${srcdir}/xfce4-mailwatch-plugin-1.1.0-underlink.patch + xdt-autogen + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --disable-static \ + --disable-debug + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/xfce4-mailwatch-plugin/xfce4-mailwatch-plugin-1.1.0-underlink.patch b/testing/xfce4-mailwatch-plugin/xfce4-mailwatch-plugin-1.1.0-underlink.patch new file mode 100644 index 000000000..ada0df041 --- /dev/null +++ b/testing/xfce4-mailwatch-plugin/xfce4-mailwatch-plugin-1.1.0-underlink.patch @@ -0,0 +1,21 @@ +--- xfce4-mailwatch-plugin-1.1.0/panel-plugin/Makefile.am 2008-08-26 03:42:36.000000000 +0100 ++++ xfce4-mailwatch-plugin-1.1.0/panel-plugin/Makefile.am.new 2011-01-14 17:27:44.116199383 +0000 +@@ -50,6 +50,7 @@ + -I$(top_srcdir)/libmailwatch-core \ + @GTHREAD_CFLAGS@ \ + @LIBXFCE4PANEL_CFLAGS@ \ ++ @LIBXFCEGUI4_CFLAGS@ \ + -DDATADIR=\"$(datadir)\" \ + -DLOCALEDIR=\"$(localedir)\" + +@@ -60,7 +61,9 @@ + $(top_builddir)/libmailwatch-core/libmailwatch-core.la \ + @GTHREAD_LIBS@ \ + @LIBXFCE4PANEL_LIBS@ \ +- @GNUTLS_LIBS@ ++ @LIBXFCEGUI4_LIBS@ \ ++ @GNUTLS_LIBS@ \ ++ -lgcrypt + + if HAVE_CYGWIN + xfce4_mailwatch_plugin_LDFLAGS += \ diff --git a/testing/xfce4-mailwatch-plugin/xfce4-mailwatch-plugin.install b/testing/xfce4-mailwatch-plugin/xfce4-mailwatch-plugin.install new file mode 100644 index 000000000..21b79d2d4 --- /dev/null +++ b/testing/xfce4-mailwatch-plugin/xfce4-mailwatch-plugin.install @@ -0,0 +1,11 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} diff --git a/testing/xmlsec/PKGBUILD b/testing/xmlsec/PKGBUILD new file mode 100644 index 000000000..c15a0ac98 --- /dev/null +++ b/testing/xmlsec/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 134954 2011-08-09 15:50:09Z andyrtr $ +# Maintainer: AndyRTR <andyrtr@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Hussam Al-Tayeb <ht990332@gmail.com> + +pkgname=xmlsec +pkgver=1.2.18 +pkgrel=2 +pkgdesc="XML Security Library is a C library based on LibXML2" +license=('custom') +arch=(i686 x86_64) +url="http://www.aleksey.com/xmlsec/index.html" +depends=('libxslt>=1.1.26' 'openssl>=1.0.0' 'gnutls' 'nss>=3.12.10' 'libtool') +makedepends=('pkgconfig') +options=('!libtool') +source=(http://www.aleksey.com/xmlsec/download/${pkgname}1-${pkgver}.tar.gz) +md5sums=('8694b4609aab647186607f79e1da7f1a') + +build() { + cd ${srcdir}/${pkgname}1-${pkgver} + ./configure --prefix=/usr --disable-static + make +} + +check() { + cd "$srcdir/${pkgname}1-$pkgver" + make -k check +} + +package() { + cd ${srcdir}/${pkgname}1-${pkgver} + make DESTDIR=${pkgdir} install + install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname} + install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/ +} |