mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
New Pacman PKGBUILD
This commit is contained in:
parent
68ba91363f
commit
e07543b785
8 changed files with 295 additions and 38 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
pkgname=filesystem
|
||||
pkgver=2010.02
|
||||
pkgrel=2
|
||||
pkgrel=4
|
||||
pkgdesc="Base filesystem"
|
||||
arch=('arm')
|
||||
license=('GPL')
|
||||
|
@ -24,13 +24,13 @@ md5sums=('75c7e1770305e1f3b75c52785c137611'
|
|||
'6e488ffecc8ba142c0cf7e2d7aeb832e'
|
||||
'8a9042a2cedf6b6b47eb8973f14289cb'
|
||||
'46bc1c4b941f19c1505102bb5bbddb8c'
|
||||
'b8e469965028271eeb533d723b028cf0'
|
||||
'ef40305da5803ca69d22e428ffc2ab9b'
|
||||
'e5d8323a4dbee7a6d0d2a19cbf4b819f'
|
||||
'81b3cb42a6ddabc2ed2310511ee9c859'
|
||||
'd41d8cd98f00b204e9800998ecf8427e'
|
||||
'6f48288b6fcaf0065fcb7b0e525413e0'
|
||||
'40dac0de4c6b99c8ca97effbd7527c84'
|
||||
'ab9c2a40eba287b2918589ab8e0b2fbf'
|
||||
'5340b9287b71ffe9d4d99510bffe933f'
|
||||
'f436d2e0ed02b7b73bd10c6693e95ac3'
|
||||
'65d78e621ed69eed69f854c3ee2e5942'
|
||||
'f7ba22b78c5d2b53f86227aa2447e7ea'
|
||||
|
@ -90,4 +90,8 @@ build()
|
|||
|
||||
# Add ld.so.conf.d
|
||||
mkdir -p $pkgdir/etc/ld.so.conf.d
|
||||
|
||||
# Prevent pacman from removing directory (FS#16886)
|
||||
mkdir ${pkgdir}/var/empty
|
||||
touch ${pkgdir}/var/empty/.keep
|
||||
}
|
||||
|
|
|
@ -57,4 +57,11 @@ post_upgrade() {
|
|||
echo "adding new group: scanner"
|
||||
usr/sbin/groupadd -g 96 scanner >/dev/null
|
||||
fi
|
||||
if [ ! "`grep ^rfkill: etc/group`" ]; then
|
||||
echo "adding new group: rfkill"
|
||||
usr/sbin/groupadd -g 24 rfkill >/dev/null
|
||||
fi
|
||||
|
||||
grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf \
|
||||
|| echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf
|
||||
}
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
# /etc/fstab: static file system information
|
||||
#
|
||||
# <file system> <dir> <type> <options> <dump> <pass>
|
||||
none /dev/pts devpts defaults 0 0
|
||||
none /dev/shm tmpfs nodev,nosuid 0 0
|
||||
devpts /dev/pts devpts defaults 0 0
|
||||
shm /dev/shm tmpfs nodev,nosuid 0 0
|
||||
|
|
|
@ -11,7 +11,9 @@ kmem:::
|
|||
wheel:::root
|
||||
ftp:::
|
||||
mail:::
|
||||
uucp:::
|
||||
log:::root
|
||||
locate:::
|
||||
smmsp:::
|
||||
http:::
|
||||
games:::
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
# Maintainer: Aaron Griffin <aaron@archlinux.org>
|
||||
# Maintainer: Dan McGee <dan@archlinux.org>
|
||||
# Maintainer: Mike Staszel <mikestaszel@plugboxlinux.org>
|
||||
|
||||
pkgname=pacman
|
||||
pkgver=3.3.3
|
||||
pkgrel=2
|
||||
pkgrel=5
|
||||
pkgdesc="A library-based package manager with dependency support"
|
||||
arch=('arm')
|
||||
url="http://www.archlinux.org/pacman/"
|
||||
|
@ -12,19 +11,29 @@ groups=('base')
|
|||
depends=('bash' 'libarchive>=2.7.1' 'libfetch>=2.25' 'pacman-mirrorlist')
|
||||
optdepends=('fakeroot: for makepkg usage as normal user'
|
||||
'python: for rankmirrors script usage')
|
||||
backup=(etc/makepkg.conf)
|
||||
backup=(etc/pacman.conf etc/makepkg.conf)
|
||||
install=pacman.install
|
||||
options=(!libtool)
|
||||
source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz
|
||||
pacman.conf
|
||||
makepkg.conf)
|
||||
makepkg.conf
|
||||
vercmp.patch
|
||||
completion.patch)
|
||||
md5sums=('a8cef73d68e2a4c3a46fb46c33210719'
|
||||
'8a1eea46c9af940a8812dfb4bbbd159d'
|
||||
'ce00f190714c02ef26117ecfdf5fa296')
|
||||
'ce00f190714c02ef26117ecfdf5fa296'
|
||||
'84129116c61c8a7cad03a5ae5d80aee5'
|
||||
'7eddda58bf55809e6bde14b446e41a15')
|
||||
|
||||
# keep an upgrade path for older installations
|
||||
PKGEXT='.pkg.tar.gz'
|
||||
|
||||
build() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
|
||||
# avoid linking vercmp against libalpm as this might be broken during a transaction
|
||||
patch -p0 -i $srcdir/vercmp.patch || return 1
|
||||
# fix completion for .pkg.tar.xz pacakges (included in next upstream release)
|
||||
patch -p1 -i $srcdir/completion.patch || return 1
|
||||
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
|
||||
make || return 1
|
||||
}
|
||||
|
|
68
core/pacman/completion.patch
Normal file
68
core/pacman/completion.patch
Normal file
|
@ -0,0 +1,68 @@
|
|||
From d85421ec62cdcd0b4b1f162b9908dc3eb0b704b4 Mon Sep 17 00:00:00 2001
|
||||
From: Pierre Schmitz <pierre@archlinux.de>
|
||||
Date: Thu, 18 Feb 2010 04:18:10 +0000
|
||||
Subject: contrib/*_completion: match *.pkg.tar.*
|
||||
|
||||
Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
|
||||
Signed-off-by: Dan McGee <dan@archlinux.org>
|
||||
---
|
||||
diff --git a/contrib/bash_completion b/contrib/bash_completion
|
||||
index 62e5bc9..a231eb6 100644
|
||||
--- a/contrib/bash_completion
|
||||
+++ b/contrib/bash_completion
|
||||
@@ -321,7 +321,7 @@ _pacman ()
|
||||
case "${op}" in
|
||||
U)
|
||||
COMPREPLY=( $( compgen -d -- "$cur" ) \
|
||||
- $( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) )
|
||||
+ $( compgen -f -X '!*.pkg.tar.*' -- "$cur" ) )
|
||||
return 0
|
||||
;;
|
||||
h|V)
|
||||
@@ -336,7 +336,7 @@ _pacman ()
|
||||
$( compgen -f -- "$cur" ) )
|
||||
elif _instring $mod p; then
|
||||
COMPREPLY=( $( compgen -d -- "$cur" ) \
|
||||
- $( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) )
|
||||
+ $( compgen -f -X '!*.pkg.tar.*' -- "$cur" ) )
|
||||
elif _instring $mod u; then
|
||||
COMPREPLY=''
|
||||
return 0
|
||||
diff --git a/contrib/zsh_completion b/contrib/zsh_completion
|
||||
index 2f43d9b..01b3c44 100644
|
||||
--- a/contrib/zsh_completion
|
||||
+++ b/contrib/zsh_completion
|
||||
@@ -32,7 +32,7 @@ _pacman_opts_common=(
|
||||
_pacman_opts_pkgfile=(
|
||||
'-d[Skip dependency checks]'
|
||||
'-f[Overwrite conflicting files]'
|
||||
- '*:package file:_files -g "*.pkg.tar.gz(.)"'
|
||||
+ '*:package file:_files -g "*.pkg.tar.*(.)"'
|
||||
)
|
||||
|
||||
# options for passing to _arguments: subactions for --query command
|
||||
@@ -120,7 +120,7 @@ _pacman_action_query() {
|
||||
_arguments -s : \
|
||||
"$_pacman_opts_common[@]" \
|
||||
"$_pacman_opts_query_modifiers[@]" \
|
||||
- '*:package file:_files -g "*.pkg.tar.gz"'
|
||||
+ '*:package file:_files -g "*.pkg.tar.*"'
|
||||
;;
|
||||
query_group)
|
||||
_arguments -s : \
|
||||
@@ -295,11 +295,11 @@ _pacman() {
|
||||
"$_pacman_opts_query_modifiers[@]" \
|
||||
'*:package file:_files'
|
||||
;;
|
||||
- -Q*p*) # file *.pkg.tar.gz
|
||||
+ -Q*p*) # file *.pkg.tar.*
|
||||
_arguments -s : \
|
||||
"$_pacman_opts_common[@]" \
|
||||
"$_pacman_opts_query_modifiers[@]" \
|
||||
- '*:package file:_files -g "*.pkg.tar.gz"'
|
||||
+ '*:package file:_files -g "*.pkg.tar.*"'
|
||||
;;
|
||||
-Q*) _pacman_action_query ;;
|
||||
-R*) _pacman_action_remove ;;
|
||||
--
|
||||
cgit v0.8.3.1-3-ga650
|
191
core/pacman/vercmp.patch
Normal file
191
core/pacman/vercmp.patch
Normal file
|
@ -0,0 +1,191 @@
|
|||
--- src/util/vercmp.c 2009-09-30 03:38:22.000000000 +0200
|
||||
+++ src/util/vercmp.c 2010-04-07 18:49:13.659173306 +0200
|
||||
@@ -18,17 +18,184 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
-#include "config.h"
|
||||
-
|
||||
#include <stdio.h> /* printf */
|
||||
+#include <stdlib.h> /* malloc/free */
|
||||
#include <string.h> /* strncpy */
|
||||
|
||||
-#include <alpm.h>
|
||||
-
|
||||
#define BASENAME "vercmp"
|
||||
|
||||
#define MAX_LEN 255
|
||||
|
||||
+/** Compare two version strings and determine which one is 'newer'.
|
||||
+ * Returns a value comparable to the way strcmp works. Returns 1
|
||||
+ * if a is newer than b, 0 if a and b are the same version, or -1
|
||||
+ * if b is newer than a.
|
||||
+ *
|
||||
+ * This function has been adopted from the rpmvercmp function located
|
||||
+ * at lib/rpmvercmp.c, and was most recently updated against rpm
|
||||
+ * version 4.4.2.3. Small modifications have been made to make it more
|
||||
+ * consistent with the libalpm coding style.
|
||||
+ *
|
||||
+ * Keep in mind that the pkgrel is only compared if it is available
|
||||
+ * on both versions handed to this function. For example, comparing
|
||||
+ * 1.5-1 and 1.5 will yield 0; comparing 1.5-1 and 1.5-2 will yield
|
||||
+ * -1 as expected. This is mainly for supporting versioned dependencies
|
||||
+ * that do not include the pkgrel.
|
||||
+ */
|
||||
+static int alpm_pkg_vercmp(const char *a, const char *b)
|
||||
+{
|
||||
+ char oldch1, oldch2;
|
||||
+ char *str1, *str2;
|
||||
+ char *ptr1, *ptr2;
|
||||
+ char *one, *two;
|
||||
+ int rc;
|
||||
+ int isnum;
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ /* libalpm added code. ensure our strings are not null */
|
||||
+ if(!a) {
|
||||
+ if(!b) return(0);
|
||||
+ return(-1);
|
||||
+ }
|
||||
+ if(!b) return(1);
|
||||
+
|
||||
+ /* easy comparison to see if versions are identical */
|
||||
+ if(strcmp(a, b) == 0) return(0);
|
||||
+
|
||||
+ str1 = strdup(a);
|
||||
+ str2 = strdup(b);
|
||||
+
|
||||
+ one = str1;
|
||||
+ two = str2;
|
||||
+
|
||||
+ /* loop through each version segment of str1 and str2 and compare them */
|
||||
+ while(*one && *two) {
|
||||
+ while(*one && !isalnum((int)*one)) one++;
|
||||
+ while(*two && !isalnum((int)*two)) two++;
|
||||
+
|
||||
+ /* If we ran to the end of either, we are finished with the loop */
|
||||
+ if(!(*one && *two)) break;
|
||||
+
|
||||
+ ptr1 = one;
|
||||
+ ptr2 = two;
|
||||
+
|
||||
+ /* grab first completely alpha or completely numeric segment */
|
||||
+ /* leave one and two pointing to the start of the alpha or numeric */
|
||||
+ /* segment and walk ptr1 and ptr2 to end of segment */
|
||||
+ if(isdigit((int)*ptr1)) {
|
||||
+ while(*ptr1 && isdigit((int)*ptr1)) ptr1++;
|
||||
+ while(*ptr2 && isdigit((int)*ptr2)) ptr2++;
|
||||
+ isnum = 1;
|
||||
+ } else {
|
||||
+ while(*ptr1 && isalpha((int)*ptr1)) ptr1++;
|
||||
+ while(*ptr2 && isalpha((int)*ptr2)) ptr2++;
|
||||
+ isnum = 0;
|
||||
+ }
|
||||
+
|
||||
+ /* save character at the end of the alpha or numeric segment */
|
||||
+ /* so that they can be restored after the comparison */
|
||||
+ oldch1 = *ptr1;
|
||||
+ *ptr1 = '\0';
|
||||
+ oldch2 = *ptr2;
|
||||
+ *ptr2 = '\0';
|
||||
+
|
||||
+ /* this cannot happen, as we previously tested to make sure that */
|
||||
+ /* the first string has a non-null segment */
|
||||
+ if (one == ptr1) {
|
||||
+ ret = -1; /* arbitrary */
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+
|
||||
+ /* take care of the case where the two version segments are */
|
||||
+ /* different types: one numeric, the other alpha (i.e. empty) */
|
||||
+ /* numeric segments are always newer than alpha segments */
|
||||
+ /* XXX See patch #60884 (and details) from bugzilla #50977. */
|
||||
+ if (two == ptr2) {
|
||||
+ ret = isnum ? 1 : -1;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+
|
||||
+ if (isnum) {
|
||||
+ /* this used to be done by converting the digit segments */
|
||||
+ /* to ints using atoi() - it's changed because long */
|
||||
+ /* digit segments can overflow an int - this should fix that. */
|
||||
+
|
||||
+ /* throw away any leading zeros - it's a number, right? */
|
||||
+ while (*one == '0') one++;
|
||||
+ while (*two == '0') two++;
|
||||
+
|
||||
+ /* whichever number has more digits wins */
|
||||
+ if (strlen(one) > strlen(two)) {
|
||||
+ ret = 1;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ if (strlen(two) > strlen(one)) {
|
||||
+ ret = -1;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* strcmp will return which one is greater - even if the two */
|
||||
+ /* segments are alpha or if they are numeric. don't return */
|
||||
+ /* if they are equal because there might be more segments to */
|
||||
+ /* compare */
|
||||
+ rc = strcmp(one, two);
|
||||
+ if (rc) {
|
||||
+ ret = rc < 1 ? -1 : 1;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+
|
||||
+ /* restore character that was replaced by null above */
|
||||
+ *ptr1 = oldch1;
|
||||
+ one = ptr1;
|
||||
+ *ptr2 = oldch2;
|
||||
+ two = ptr2;
|
||||
+
|
||||
+ /* libalpm added code. check if version strings have hit the pkgrel
|
||||
+ * portion. depending on which strings have hit, take correct action.
|
||||
+ * this is all based on the premise that we only have one dash in
|
||||
+ * the version string, and it separates pkgver from pkgrel. */
|
||||
+ if(*ptr1 == '-' && *ptr2 == '-') {
|
||||
+ /* no-op, continue comparing since we are equivalent throughout */
|
||||
+ } else if(*ptr1 == '-') {
|
||||
+ /* ptr1 has hit the pkgrel and ptr2 has not. continue version
|
||||
+ * comparison after stripping the pkgrel from ptr1. */
|
||||
+ *ptr1 = '\0';
|
||||
+ } else if(*ptr2 == '-') {
|
||||
+ /* ptr2 has hit the pkgrel and ptr1 has not. continue version
|
||||
+ * comparison after stripping the pkgrel from ptr2. */
|
||||
+ *ptr2 = '\0';
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* this catches the case where all numeric and alpha segments have */
|
||||
+ /* compared identically but the segment separating characters were */
|
||||
+ /* different */
|
||||
+ if ((!*one) && (!*two)) {
|
||||
+ ret = 0;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+
|
||||
+ /* the final showdown. we never want a remaining alpha string to
|
||||
+ * beat an empty string. the logic is a bit weird, but:
|
||||
+ * - if one is empty and two is not an alpha, two is newer.
|
||||
+ * - if one is an alpha, two is newer.
|
||||
+ * - otherwise one is newer.
|
||||
+ * */
|
||||
+ if ( ( !*one && !isalpha((int)*two) )
|
||||
+ || isalpha((int)*one) ) {
|
||||
+ ret = -1;
|
||||
+ } else {
|
||||
+ ret = 1;
|
||||
+ }
|
||||
+
|
||||
+cleanup:
|
||||
+ free(str1);
|
||||
+ free(str2);
|
||||
+ return(ret);
|
||||
+}
|
||||
+
|
||||
+
|
||||
static void usage()
|
||||
{
|
||||
fprintf(stderr, "usage: %s <ver1> <ver2>\n\n", BASENAME);
|
|
@ -1,22 +1,12 @@
|
|||
# Maintainer: Ian Botley <ianjb@pluapps.com>
|
||||
# Maintainer: Ian Botley <ianjb@plugboxlinux.org>
|
||||
|
||||
pkgname=u-boot
|
||||
pkgver=2010.03
|
||||
pkgrel=1
|
||||
pkgdesc=""
|
||||
pkgdesc="u-Boot for Pogoplug devices"
|
||||
arch=('arm')
|
||||
url="ftp://ftp.denx.de/pub/u-boot/"
|
||||
license=('GPL')
|
||||
groups=()
|
||||
depends=()
|
||||
makedepends=()
|
||||
optdepends=()
|
||||
provides=()
|
||||
conflicts=()
|
||||
replaces=()
|
||||
backup=()
|
||||
options=()
|
||||
install=
|
||||
source=(ftp://ftp.denx.de/pub/u-boot/$pkgname-$pkgver.tar.bz2
|
||||
0001-DockStar-Change-RAM-definitions-to-one-bank-128-MB.patch
|
||||
0002-DockStar-environment-is-at-0xa0000.patch
|
||||
|
@ -32,7 +22,6 @@ source=(ftp://ftp.denx.de/pub/u-boot/$pkgname-$pkgver.tar.bz2
|
|||
0012-DockStar-Boot-from-USB-and-netconsole.-CHANGE-THIS-T.patch
|
||||
0013-DockStar-Workaround-to-get-the-kernel-loaded-after-a.patch
|
||||
)
|
||||
noextract=()
|
||||
md5sums=('2bf5ebf497dddc52440b1ea386cc1332'
|
||||
'ec91fd91674c43f87d8495bb6ecc60f3'
|
||||
'2f1002f146b2bdf971ddac8de89136ad'
|
||||
|
@ -50,31 +39,18 @@ md5sums=('2bf5ebf497dddc52440b1ea386cc1332'
|
|||
|
||||
build() {
|
||||
cd $srcdir/$pkgname-$pkgver
|
||||
echo 1
|
||||
patch -p1 -i $srcdir/0001-DockStar-Change-RAM-definitions-to-one-bank-128-MB.patch || return 1
|
||||
echo 2
|
||||
patch -p1 -i $srcdir/0002-DockStar-environment-is-at-0xa0000.patch || return 1
|
||||
echo 3
|
||||
patch -p1 -i $srcdir/0003-DockStar-MTD-partitions.patch || return 1
|
||||
echo 4
|
||||
patch -p1 -i $srcdir/0004-DockStar-Change-prompt-and-ident-string.patch || return 1
|
||||
echo 5
|
||||
patch -p1 -i $srcdir/0005-DockStar-Disable-environment-in-NAND.-We-don-t-want-.patch || return 1
|
||||
echo 6
|
||||
patch -p1 -i $srcdir/0006-DockStar-Add-support-for-ext2.patch || return 1
|
||||
echo 7
|
||||
patch -p1 -i $srcdir/0007-DockStar-Include-long-help-messages.patch || return 1
|
||||
echo 8
|
||||
patch -p1 -i $srcdir/0008-DockStar-Change-TEXT_BASE-from-0x600000-to-0xc00000-.patch || return 1
|
||||
echo 9
|
||||
patch -p1 -i $srcdir/0009-DockStar-Small-build-script.patch || return 1
|
||||
echo 10
|
||||
patch -p1 -i $srcdir/0010-DockStar-Definition-for-the-MAC.-CHANGE-THIS-TO-THE-.patch || return 1
|
||||
echo 11
|
||||
patch -p1 -i $srcdir/0011-DockStar-CONFIG_PREBOOT-kernel-and-netconsole-CHANGE.patch || return 1
|
||||
echo 12
|
||||
patch -p1 -i $srcdir/0012-DockStar-Boot-from-USB-and-netconsole.-CHANGE-THIS-T.patch || return 1
|
||||
echo 13
|
||||
patch -p1 -i $srcdir/0013-DockStar-Workaround-to-get-the-kernel-loaded-after-a.patch || return 1
|
||||
|
||||
make sheevaplug_config || return 1
|
||||
|
|
Loading…
Reference in a new issue