[pacman-dev] [PATCH 4/5] common: Add support for systems without asprintf/vasprintf.

2015-02-26 Thread Will Miles
Signed-off-by: Will Miles wmi...@sgl.com
---
 configure.ac |  2 +-
 src/common/util-common.c | 27 +++
 src/common/util-common.h |  7 +++
 3 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index 359d61b..da1953e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -302,7 +302,7 @@ AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
 AC_FUNC_MALLOC
 AC_FUNC_MKTIME
 AC_FUNC_STRCOLL
-AC_CHECK_FUNCS([dup2 getcwd getmntinfo gettimeofday memmove memset \
+AC_CHECK_FUNCS([asprintf dup2 getcwd getmntinfo gettimeofday memmove memset \
 mkdir realpath regcomp rmdir setenv setlocale strcasecmp \
 strchr strcspn strdup strerror strndup strnlen strrchr \
 strsep strstr strtol swprintf tcflush wcwidth uname])
diff --git a/src/common/util-common.c b/src/common/util-common.c
index e977550..d7ef08b 100644
--- a/src/common/util-common.c
+++ b/src/common/util-common.c
@@ -305,4 +305,31 @@ int wcswidth(const wchar_t *pwcs, size_t n)
 #endif /* HAVE_WCWIDTH */
 
 
+#ifndef HAVE_ASPRINTF
+int asprintf(char **strp, const char *fmt, ...)
+{
+int ret = 0;
+   va_list args;
+
+   /* print the message using va_arg list */
+   va_start(args, fmt);
+   ret = vasprintf(strp, fmt, args);
+   va_end(args);
+   return ret;
+}
+
+int vasprintf(char **strp, const char *fmt, va_list ap)
+{
+/* measure the string */
+int len = vsnprintf(NULL,0,fmt,ap);
+/* try allocating some memory */
+if ((len  0) || ((*strp = malloc(++len)) == NULL)) return -1;
+/* print the string */
+len = vsnprintf(*strp,len,fmt,ap);
+/* handle failure */
+if (len  0) free(*strp);
+return len;
+}
+#endif /* HAVE_ASPRINTF */
+
 /* vim: set noet: */
diff --git a/src/common/util-common.h b/src/common/util-common.h
index 117486f..ca1bc5d 100644
--- a/src/common/util-common.h
+++ b/src/common/util-common.h
@@ -22,6 +22,9 @@
 
 #include stdio.h
 #include sys/stat.h /* struct stat */
+#ifndef HAVE_ASPRINTF
+#include stdarg.h
+#endif
 
 const char *mbasename(const char *path);
 char *mdirname(const char *path);
@@ -39,6 +42,10 @@ int wcwidth(wchar_t ucs);
 int wcswidth(const wchar_t *pwcs, size_t n);
 #endif
 
+#ifndef HAVE_ASPRINTF
+int asprintf(char **strp, const char *fmt, ...) 
__attribute__((format(printf,2,3)));
+int vasprintf(char **strp, const char *fmt, va_list ap)  
__attribute__((format(printf,3,0)));
+#endif
 
 #endif /* _PM_UTIL_COMMON_H */
 
-- 
2.3.0


[pacman-dev] Patches for QNX support

2015-02-26 Thread Will Miles
This patch set adds support for the QNX RTOS.  The first four patches
are essentially workarounds for QNX's libc; the last patch implements the
QNX-specific sections in libalpm.


[pacman-dev] [PATCH 5/5] Add QNX operating system specific implementations to libalpm and pacman.

2015-02-26 Thread Will Miles
Signed-off-by: Will Miles wmi...@sgl.com
---
 lib/libalpm/diskspace.c | 38 +++
 lib/libalpm/trans.c | 37 +++
 lib/libalpm/util.c  | 68 +
 src/pacman/pacman.c |  4 +++
 4 files changed, 147 insertions(+)

diff --git a/lib/libalpm/diskspace.c b/lib/libalpm/diskspace.c
index 3b496c2..5142d05 100644
--- a/lib/libalpm/diskspace.c
+++ b/lib/libalpm/diskspace.c
@@ -119,6 +119,44 @@ static alpm_list_t *mount_point_list(alpm_handle_t *handle)
}
 
endmntent(fp);
+#elif defined(__QNX__)
+   /* QNX */
+   /* This is done the long way via a system command */
+   /* TODO: use the /proc calls directly */
+   char buffer[_POSIX_PATH_MAX];
+   FILE *cmd = popen(mount | cut -d ' ' -f 3, r);
+
+   if (cmd == NULL) {
+   _alpm_log(handle, ALPM_LOG_WARNING, Failed to get mount list: 
%s, strerror(errno));
+   return NULL;
+   }
+
+   memset(buffer, '\0', _POSIX_PATH_MAX);
+
+   while (fgets(buffer, _POSIX_PATH_MAX-1, cmd)) {
+   struct statvfs fsp;
+
+   /* eat trailing newline */
+   buffer[strlen(buffer) - 1] = '\0';
+
+   if(statvfs(buffer, fsp) != 0) {
+   _alpm_log(handle, ALPM_LOG_WARNING,
+   _(could not get filesystem information 
for %s: %s\n),
+   buffer, strerror(errno));
+   continue;
+   }
+
+
+   CALLOC(mp, 1, sizeof(alpm_mountpoint_t), RET_ERR(handle, 
ALPM_ERR_MEMORY, NULL));
+   mp-mount_dir = strdup(buffer);
+   mp-mount_dir_len = strlen(mp-mount_dir);
+   memcpy((mp-fsp), fsp, sizeof(struct statvfs));
+   mp-read_only = fsp.f_flag  ST_RDONLY;
+
+   mount_points = alpm_list_add(mount_points, mp);
+   }
+
+   pclose(cmd);
 #elif defined(HAVE_GETMNTENT)  defined(HAVE_MNTTAB_H)
/* Solaris, Illumos */
struct mnttab mnt;
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index 6a26e75..1c8196c 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -41,6 +41,43 @@
 #include alpm.h
 #include deps.h
 
+#ifdef __QNX__
+/* supply a workaround implementation of mkdtemp as the system does not */
+static char *mkdtemp(char *templateName)
+{
+   static const char letters[] = 
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;
+
+   const int length = strlen(templateName);
+
+   char *XX = templateName + length - 6;
+
+   if ((length  6) || strncmp(XX, XX, 6))
+   return 0;
+
+   for (int i = 0; i  256; ++i) {
+   int v = rand();
+
+   /* Fill in the random bits.  */
+   XX[0] = letters[v % 62];
+   v /= 62;
+   XX[1] = letters[v % 62];
+   v /= 62;
+   XX[2] = letters[v % 62];
+   v /= 62;
+   XX[3] = letters[v % 62];
+   v /= 62;
+   XX[4] = letters[v % 62];
+   v /= 62;
+   XX[5] = letters[v % 62];
+
+   if (!mkdir(templateName, 0700))
+   return templateName;
+   }
+
+   return 0;
+}
+#endif
+
 /** \addtogroup alpm_trans Transaction Functions
  * @brief Functions to manipulate libalpm transactions
  * @{
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 4d85132..5e246df 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -89,6 +89,68 @@ char *strsep(char **str, const char *delims)
 }
 #endif
 
+#ifdef __QNX__
+/** QNX execv workaround
+ * On QNX, we must ensure that the loader is present and the pipe server is
+ * started in our chroot environment.  This function ensures that these
+ * services are correctly set up and torn down.
+ */
+int qnx_execv(const char *cmd, char *const argv[])
+{
+   int result;
+   int linked_loader = 0;
+   int started_pipe_server = 0;
+   struct stat stat_tmp;
+
+   /* Check to see if the loader exists; if not, link it */
+   if (stat(/usr/lib/ldqnx.so.2, stat_tmp) != 0) {
+   result = link(/lib/libc.so.3,/usr/lib/ldqnx.so.2);
+   if (result != 0) {
+   fprintf(stderr, _(call to link loader failed (%s)\n), 
strerror(errno));
+   exit(1);
+   }
+   linked_loader = 1;
+   };
+
+   /* Check to see if the pipe server is running; if not, start it */
+   /* Be aware that this clones the pipe fds to the pipe server, ie it is 
not 'fully' daemonized */
+   /* This means that the pacman host process will hang until the pipe 
server is terminated. */
+   if (stat(/dev/pipe, stat_tmp) != 0) {
+   started_pipe_server = spawnl(P_NOWAIT,/sbin/pipe,pipe,NULL);
+   if (started_pipe_server == -1) {
+ 

[pacman-dev] [PATCH 2/5] common: Avoid errors on systems that define strnlen but not strndup

2015-02-26 Thread Will Miles
Add a configure test for a system library supplied strnlen, and disable
the embedded version in common if one is found.

Signed-off-by: Will Miles wmi...@sgl.com
---
 configure.ac | 4 ++--
 src/common/util-common.c | 4 +++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 735fdc3..359d61b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -304,8 +304,8 @@ AC_FUNC_MKTIME
 AC_FUNC_STRCOLL
 AC_CHECK_FUNCS([dup2 getcwd getmntinfo gettimeofday memmove memset \
 mkdir realpath regcomp rmdir setenv setlocale strcasecmp \
-strchr strcspn strdup strerror strndup strrchr strsep strstr \
-strtol swprintf tcflush wcwidth uname])
+strchr strcspn strdup strerror strndup strnlen strrchr \
+strsep strstr strtol swprintf tcflush wcwidth uname])
 AC_CHECK_MEMBERS([struct stat.st_blksize],,,[[#include sys/stat.h]])
 
 # For the diskspace code
diff --git a/src/common/util-common.c b/src/common/util-common.c
index f5b00f1..e834168 100644
--- a/src/common/util-common.c
+++ b/src/common/util-common.c
@@ -127,7 +127,7 @@ char *safe_fgets(char *s, int size, FILE *stream)
return ret;
 }
 
-#ifndef HAVE_STRNDUP
+#ifndef HAVE_STRNLEN
 /* A quick and dirty implementation derived from glibc */
 /** Determines the length of a fixed-size string.
  * @param s string to be measured
@@ -140,7 +140,9 @@ static size_t strnlen(const char *s, size_t max)
for(p = s; *p  max--; ++p);
return (p - s);
 }
+#endif
 
+#ifndef HAVE_STRNDUP
 /** Copies a string.
  * Returned string needs to be freed
  * @param s string to be copied
-- 
2.3.0


[pacman-dev] [PATCH 1/5] util: Use util-common for strndup in pacsort and pactree

2015-02-26 Thread Will Miles
This small refactor reduces the number of replications of the local
imeplementation of strndup.

Signed-off-by: Will Miles wmi...@sgl.com
---
 src/util/Makefile.am   |  4 ++--
 src/util/pacsort.c | 23 +--
 src/util/pactree.c | 24 ++--
 src/util/util-common.c |  1 +
 src/util/util-common.h |  1 +
 5 files changed, 7 insertions(+), 46 deletions(-)
 create mode 12 src/util/util-common.c
 create mode 12 src/util/util-common.h

diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index 25c025b..936d7ff 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -20,10 +20,10 @@ AM_CFLAGS = -pedantic -D_GNU_SOURCE $(WARNING_CFLAGS)
 cleanupdelta_SOURCES = cleanupdelta.c
 cleanupdelta_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
 
-pacsort_SOURCES = pacsort.c
+pacsort_SOURCES = pacsort.c util-common.c
 pacsort_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
 
-pactree_SOURCES = pactree.c
+pactree_SOURCES = pactree.c util-common.c
 pactree_LDADD = $(top_builddir)/lib/libalpm/.libs/libalpm.la
 
 testpkg_SOURCES = testpkg.c
diff --git a/src/util/pacsort.c b/src/util/pacsort.c
index 02b9084..7081f5a 100644
--- a/src/util/pacsort.c
+++ b/src/util/pacsort.c
@@ -25,6 +25,7 @@
 #include string.h
 
 #include alpm.h
+#include util-common.h
 
 #define DELIM ' '
 
@@ -69,28 +70,6 @@ static struct options_t {
char delim;
 } opts;
 
-#ifndef HAVE_STRNDUP
-/* A quick and dirty implementation derived from glibc */
-static size_t strnlen(const char *s, size_t max)
-{
-   register const char *p;
-   for(p = s; *p  max--; ++p);
-   return (p - s);
-}
-
-char *strndup(const char *s, size_t n)
-{
-   size_t len = strnlen(s, n);
-   char *new = (char *) malloc(len + 1);
-
-   if(new == NULL)
-   return NULL;
-
-   new[len] = '\0';
-   return (char *)memcpy(new, s, len);
-}
-#endif
-
 static struct buffer_t *buffer_new(size_t initial_size)
 {
struct buffer_t *buf;
diff --git a/src/util/pactree.c b/src/util/pactree.c
index 67f456f..11ad7ca 100644
--- a/src/util/pactree.c
+++ b/src/util/pactree.c
@@ -29,6 +29,8 @@
 #include langinfo.h
 #endif
 
+#include util-common.h
+
 #define LINE_MAX 512
 
 typedef struct tdepth {
@@ -121,28 +123,6 @@ int searchsyncs = 0;
 const char *dbpath = DBPATH;
 const char *configfile = CONFFILE;
 
-#ifndef HAVE_STRNDUP
-/* A quick and dirty implementation derived from glibc */
-static size_t strnlen(const char *s, size_t max)
-{
-   register const char *p;
-   for(p = s; *p  max--; ++p);
-   return (p - s);
-}
-
-char *strndup(const char *s, size_t n)
-{
-   size_t len = strnlen(s, n);
-   char *new = (char *) malloc(len + 1);
-
-   if(new == NULL)
-   return NULL;
-
-   new[len] = '\0';
-   return (char *)memcpy(new, s, len);
-}
-#endif
-
 static size_t strtrim(char *str)
 {
char *end, *pch = str;
diff --git a/src/util/util-common.c b/src/util/util-common.c
new file mode 12
index 000..a2f6c50
--- /dev/null
+++ b/src/util/util-common.c
@@ -0,0 +1 @@
+../common/util-common.c
\ No newline at end of file
diff --git a/src/util/util-common.h b/src/util/util-common.h
new file mode 12
index 000..3f0b982
--- /dev/null
+++ b/src/util/util-common.h
@@ -0,0 +1 @@
+../common/util-common.h
\ No newline at end of file
-- 
2.3.0


[pacman-dev] [PATCH 2/2] PKGBUILD.5.txt: Clarify note about variables available

2015-02-26 Thread Johannes Löthberg johannes
From: Johannes Löthberg johan...@kyriasis.com

Reported-by: Florian Pritz bluew...@xinu.at
Signed-off-by: Johannes Löthberg johan...@kyriasis.com
---
 doc/PKGBUILD.5.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 2dba100..58bb008 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -367,9 +367,9 @@ the `build()` function.
`package()` functions. Be sure any exotic commands used are covered by 
the
`checkdepends` array.
 
-All of the above variables such as `$pkgname` and `$pkgver` are available for
-use in the `build()` function. In addition, makepkg defines the following
-variables for use during the build and install process:
+All of the above variables such as `$pkgname` and `$pkgver`, in addition to the
+following ones, are avilable for use in all of the above defined packaging
+functions.
 
 *srcdir*::
This contains the directory where makepkg extracts, or copies, all 
source
-- 
2.3.0


[pacman-dev] [PATCH 1/2] PKGBUILD.5.txt: Add note about functions starting in $srcdir

2015-02-26 Thread Johannes Löthberg johannes
From: Johannes Löthberg johan...@kyriasis.com

Signed-off-by: Johannes Löthberg johan...@kyriasis.com
---
 doc/PKGBUILD.5.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 10980ab..2dba100 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -374,6 +374,9 @@ variables for use during the build and install process:
 *srcdir*::
This contains the directory where makepkg extracts, or copies, all 
source
files.
++
+All of the above defined packaging functions in PKGBUILDs are run from inside
+the `$srcdir`
 
 *pkgdir*::
This contains the directory where makepkg bundles the installed package.
-- 
2.3.0


[pacman-dev] [PATCH 3/5] common: Add support for wcwidth and wcswidth for systems without.

2015-02-26 Thread Will Miles
The specific implementation has been borrowed from glibc-2.21.

Signed-off-by: Will Miles wmi...@sgl.com
---
 src/common/util-common.c | 142 +++
 src/common/util-common.h |   6 ++
 2 files changed, 148 insertions(+)

diff --git a/src/common/util-common.c b/src/common/util-common.c
index e834168..e977550 100644
--- a/src/common/util-common.c
+++ b/src/common/util-common.c
@@ -163,4 +163,146 @@ char *strndup(const char *s, size_t n)
 }
 #endif
 
+
+#ifndef HAVE_WCWIDTH
+/* Implementation derived from glibc. */
+
+struct interval {
+   unsigned short first;
+   unsigned short last;
+};
+
+/* auxiliary function for binary search in interval table */
+static int bisearch(wchar_t ucs, const struct interval *table, int max) {
+   int min = 0;
+   int mid;
+
+   if (ucs  table[0].first || ucs  table[max].last)
+   return 0;
+   while (max = min) {
+   mid = (min + max) / 2;
+   if (ucs  table[mid].last)
+   min = mid + 1;
+   else if (ucs  table[mid].first)
+   max = mid - 1;
+   else
+   return 1;
+   }
+
+   return 0;
+}
+
+
+/* The following functions define the column width of an ISO 10646
+ * character as follows:
+ *
+ *- The null character (U+) has a column width of 0.
+ *
+ *- Other C0/C1 control characters and DEL will lead to a return
+ *  value of -1.
+ *
+ *- Non-spacing and enclosing combining characters (general
+ *  category code Mn or Me in the Unicode database) have a
+ *  column width of 0.
+ *
+ *- Other format characters (general category code Cf in the Unicode
+ *  database) and ZERO WIDTH SPACE (U+200B) have a column width of 0.
+ *
+ *- Hangul Jamo medial vowels and final consonants (U+1160-U+11FF)
+ *  have a column width of 0.
+ *
+ *- Spacing characters in the East Asian Wide (W) or East Asian
+ *  FullWidth (F) category as defined in Unicode Technical
+ *  Report #11 have a column width of 2.
+ *
+ *- All remaining characters (including all printable
+ *  ISO 8859-1 and WGL4 characters, Unicode control characters,
+ *  etc.) have a column width of 1.
+ *
+ * This implementation assumes that wchar_t characters are encoded
+ * in ISO 10646.
+ */
+
+int wcwidth(wchar_t ucs)
+{
+   /* sorted list of non-overlapping intervals of non-spacing characters */
+   static const struct interval combining[] = {
+   { 0x0300, 0x034E }, { 0x0360, 0x0362 }, { 0x0483, 0x0486 },
+   { 0x0488, 0x0489 }, { 0x0591, 0x05A1 }, { 0x05A3, 0x05B9 },
+   { 0x05BB, 0x05BD }, { 0x05BF, 0x05BF }, { 0x05C1, 0x05C2 },
+   { 0x05C4, 0x05C4 }, { 0x064B, 0x0655 }, { 0x0670, 0x0670 },
+   { 0x06D6, 0x06E4 }, { 0x06E7, 0x06E8 }, { 0x06EA, 0x06ED },
+   { 0x070F, 0x070F }, { 0x0711, 0x0711 }, { 0x0730, 0x074A },
+   { 0x07A6, 0x07B0 }, { 0x0901, 0x0902 }, { 0x093C, 0x093C },
+   { 0x0941, 0x0948 }, { 0x094D, 0x094D }, { 0x0951, 0x0954 },
+   { 0x0962, 0x0963 }, { 0x0981, 0x0981 }, { 0x09BC, 0x09BC },
+   { 0x09C1, 0x09C4 }, { 0x09CD, 0x09CD }, { 0x09E2, 0x09E3 },
+   { 0x0A02, 0x0A02 }, { 0x0A3C, 0x0A3C }, { 0x0A41, 0x0A42 },
+   { 0x0A47, 0x0A48 }, { 0x0A4B, 0x0A4D }, { 0x0A70, 0x0A71 },
+   { 0x0A81, 0x0A82 }, { 0x0ABC, 0x0ABC }, { 0x0AC1, 0x0AC5 },
+   { 0x0AC7, 0x0AC8 }, { 0x0ACD, 0x0ACD }, { 0x0B01, 0x0B01 },
+   { 0x0B3C, 0x0B3C }, { 0x0B3F, 0x0B3F }, { 0x0B41, 0x0B43 },
+   { 0x0B4D, 0x0B4D }, { 0x0B56, 0x0B56 }, { 0x0B82, 0x0B82 },
+   { 0x0BC0, 0x0BC0 }, { 0x0BCD, 0x0BCD }, { 0x0C3E, 0x0C40 },
+   { 0x0C46, 0x0C48 }, { 0x0C4A, 0x0C4D }, { 0x0C55, 0x0C56 },
+   { 0x0CBF, 0x0CBF }, { 0x0CC6, 0x0CC6 }, { 0x0CCC, 0x0CCD },
+   { 0x0D41, 0x0D43 }, { 0x0D4D, 0x0D4D }, { 0x0DCA, 0x0DCA },
+   { 0x0DD2, 0x0DD4 }, { 0x0DD6, 0x0DD6 }, { 0x0E31, 0x0E31 },
+   { 0x0E34, 0x0E3A }, { 0x0E47, 0x0E4E }, { 0x0EB1, 0x0EB1 },
+   { 0x0EB4, 0x0EB9 }, { 0x0EBB, 0x0EBC }, { 0x0EC8, 0x0ECD },
+   { 0x0F18, 0x0F19 }, { 0x0F35, 0x0F35 }, { 0x0F37, 0x0F37 },
+   { 0x0F39, 0x0F39 }, { 0x0F71, 0x0F7E }, { 0x0F80, 0x0F84 },
+   { 0x0F86, 0x0F87 }, { 0x0F90, 0x0F97 }, { 0x0F99, 0x0FBC },
+   { 0x0FC6, 0x0FC6 }, { 0x102D, 0x1030 }, { 0x1032, 0x1032 },
+   { 0x1036, 0x1037 }, { 0x1039, 0x1039 }, { 0x1058, 0x1059 },
+   { 0x1160, 0x11FF }, { 0x17B7, 0x17BD }, { 0x17C6, 0x17C6 },
+   { 0x17C9, 0x17D3 }, { 0x180B, 0x180E }, { 0x18A9, 0x18A9 },
+   { 0x200B, 0x200F }, { 0x202A, 0x202E }, { 0x206A, 0x206F },
+   { 0x20D0, 0x20E3 }, { 0x302A, 0x302F }, { 0x3099, 0x309A },
+   { 0xFB1E, 0xFB1E }, { 

Re: [pacman-dev] [PATCH 2/2] PKGBUILD.5.txt: Clarify note about variables available

2015-02-26 Thread David Macek
On 27. 2. 2015 0:37, =?UTF-8?q?Johannes=20L=C3=B6thberg?= 
johannes@kyriasis.com wrote:
 +following ones, are avilable for use in all of the above defined packaging

avilable - available

-- 
David Macek



smime.p7s
Description: S/MIME Cryptographic Signature


[pacman-dev] [PATCH v2] PKGBUILD.5.txt: Clarify note about variables available

2015-02-26 Thread Johannes Löthberg
Reported-by: Florian Pritz bluew...@xinu.at
Signed-off-by: Johannes Löthberg johan...@kyriasis.com
---
Fix 'available' typo. (Gah, that's embarassing.)
 doc/PKGBUILD.5.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 86bf63a..fed49b9 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -367,9 +367,9 @@ the `build()` function.
`package()` functions. Be sure any exotic commands used are covered by 
the
`checkdepends` array.
 
-All of the above variables such as `$pkgname` and `$pkgver` are available for
-use in the `build()` function. In addition, makepkg defines the following
-variables for use during the build and install process:
+All of the above variables such as `$pkgname` and `$pkgver`, in addition to the
+following ones, are available for use in all of the above defined packaging
+functions.
 
 *srcdir*::
This contains the directory where makepkg extracts, or copies, all 
source
-- 
2.3.0