mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
Clean-up of several Core PKGBUILDs
This commit is contained in:
parent
8bdd1d8d96
commit
746e1a11cc
15 changed files with 17 additions and 600 deletions
|
@ -1,6 +1,5 @@
|
||||||
# Maintainer: Krzysztof "hiciu" Warzecha <kwarzecha7@gmail.com>
|
# Maintainer: Krzysztof "hiciu" Warzecha <kwarzecha7@gmail.com>
|
||||||
# Modified by OpenPogo
|
# Modified by OpenPogo
|
||||||
# Successfully builds natively
|
|
||||||
|
|
||||||
pkgname=autoconf
|
pkgname=autoconf
|
||||||
pkgver=2.63
|
pkgver=2.63
|
||||||
|
|
|
@ -15,8 +15,9 @@ backup=(opt/etc/profile.bash opt/etc/skel/.bashrc opt/etc/skel/.bash_profile)
|
||||||
depends=('readline>=5.2')
|
depends=('readline>=5.2')
|
||||||
makedepends=(gzip)
|
makedepends=(gzip)
|
||||||
provides=('sh')
|
provides=('sh')
|
||||||
source=(http://ftp.gnu.org/gnu/bash/bash-4.0.tar.gz
|
source=(http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-4.0.tar.gz
|
||||||
profile.bash bashrc)
|
profile.bash
|
||||||
|
bashrc)
|
||||||
for p in $(seq -w 001 $_patchlevel); do
|
for p in $(seq -w 001 $_patchlevel); do
|
||||||
source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-4.0-patches/bash40-$p)
|
source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-4.0-patches/bash40-$p)
|
||||||
done
|
done
|
||||||
|
|
|
@ -13,7 +13,7 @@ conflicts=(bc-readline)
|
||||||
source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
|
source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz
|
||||||
build-fix.patch)
|
build-fix.patch)
|
||||||
md5sums=('d44b5dddebd8a7a7309aea6c36fda117'
|
md5sums=('d44b5dddebd8a7a7309aea6c36fda117'
|
||||||
'fc7ecbd9e55ef04c6d3a495692626116')
|
'fc7ecbd9e55ef04c6d3a495692626116')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
CFLAGS="$CFLAGS -O3"
|
CFLAGS="$CFLAGS -O3"
|
||||||
|
|
|
@ -12,7 +12,6 @@ depends=('m4' 'texinfo')
|
||||||
groups=('base-devel')
|
groups=('base-devel')
|
||||||
source=(ftp://ftp.gnu.org/gnu/bison/${pkgname}-${pkgver}.tar.gz)
|
source=(ftp://ftp.gnu.org/gnu/bison/${pkgname}-${pkgver}.tar.gz)
|
||||||
md5sums=('c58aa1da418dc9704070872489e89bf5')
|
md5sums=('c58aa1da418dc9704070872489e89bf5')
|
||||||
sha1sums=('ecc4139bbd45b73f42f2b04482d77c16534fea28')
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd ${srcdir}/${pkgname}-${pkgver}
|
cd ${srcdir}/${pkgname}-${pkgver}
|
||||||
|
|
|
@ -10,7 +10,7 @@ license=('custom')
|
||||||
url="http://sources.redhat.com/bzip2"
|
url="http://sources.redhat.com/bzip2"
|
||||||
groups=('base')
|
groups=('base')
|
||||||
depends=()
|
depends=()
|
||||||
source=(http://www.bzip.org/$pkgver/bzip2-$pkgver.tar.gz)
|
source=(http://www.bzip.org/${pkgver}/${pkgname}-${pkgver}.tar.gz)
|
||||||
md5sums=('3c15a0c8d1d3ee1c46a1634d00617b1a')
|
md5sums=('3c15a0c8d1d3ee1c46a1634d00617b1a')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
|
|
@ -3,10 +3,6 @@
|
||||||
# Contributor: ezzetabi <ezzetabi at gawab dot com>
|
# Contributor: ezzetabi <ezzetabi at gawab dot com>
|
||||||
# Modified by OpenPogo
|
# Modified by OpenPogo
|
||||||
|
|
||||||
# DOES NOT WORK!!!
|
|
||||||
# Makefile.in has mod. time 3.6+e08 s in the future
|
|
||||||
# So ./configure command is broken?
|
|
||||||
|
|
||||||
pkgname=cloog-ppl
|
pkgname=cloog-ppl
|
||||||
pkgver=0.15.3
|
pkgver=0.15.3
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
|
@ -16,7 +12,7 @@ url='http://www.cloog.org/'
|
||||||
license=(GPL)
|
license=(GPL)
|
||||||
depends=('ppl>=0.10.2')
|
depends=('ppl>=0.10.2')
|
||||||
options=('!libtool')
|
options=('!libtool')
|
||||||
source=(ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-ppl-$pkgver.tar.gz)
|
source=(ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-ppl-${pkgver}.tar.gz)
|
||||||
md5sums=('9e7a3ff38b3877625d46badc6d4bbef9')
|
md5sums=('9e7a3ff38b3877625d46badc6d4bbef9')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
|
|
||||||
DESTDIR =
|
|
||||||
PREFIX = /opt/
|
|
||||||
|
|
||||||
MKDIR = /opt/bin/mkdir
|
|
||||||
INSTALL = /opt/bin/install -c -m 755
|
|
||||||
|
|
||||||
CC = /opt/bin/gcc
|
|
||||||
LD = /opt/bin/gcc
|
|
||||||
|
|
||||||
CFLAGS += -Wall -Wstrict-prototypes -Wsign-compare -Wchar-subscripts \
|
|
||||||
-Wpointer-arith -Wcast-align -Wsign-compare
|
|
||||||
|
|
||||||
#pretty print!
|
|
||||||
E = @echo
|
|
||||||
Q = @
|
|
||||||
|
|
||||||
all: gen_init_cpio
|
|
||||||
.PHONY: all
|
|
||||||
.DEFAULT: all
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(E) " compile " $@
|
|
||||||
$(Q) $(CC) -c $(CFLAGS) $< -o $@
|
|
||||||
|
|
||||||
gen_init_cpio: gen_init_cpio.o
|
|
||||||
$(E) ">>build " $@
|
|
||||||
$(Q) $(LD) $(LDFLAGS) $@.o -o $@ $(LIB_OBJS)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(E) " clean "
|
|
||||||
$(Q) rm -f gen_init_cpio *.o
|
|
||||||
.PHONY: clean
|
|
||||||
|
|
||||||
install: all
|
|
||||||
$(MKDIR) -p $(DESTDIR)$(PREFIX)sbin/
|
|
||||||
$(INSTALL) gen_init_cpio $(DESTDIR)$(PREFIX)sbin/
|
|
||||||
.PHONY: install
|
|
||||||
|
|
||||||
uninstall:
|
|
||||||
rm $(DESTDIR)$(PREFIX)sbin/gen_init_cpio
|
|
||||||
.PHONY: uninstall
|
|
|
@ -1,22 +0,0 @@
|
||||||
# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
|
|
||||||
# arm Maintainer: Philipp Scholl <pscholl@bawue.de>
|
|
||||||
# Modified by OpenPogo
|
|
||||||
|
|
||||||
pkgname=gen-init-cpio
|
|
||||||
pkgver=2.6.17
|
|
||||||
pkgrel=3
|
|
||||||
pkgdesc="Program to compress initramfs images"
|
|
||||||
arch=(arm)
|
|
||||||
license=('custom:none')
|
|
||||||
groups=('base')
|
|
||||||
url="http://www.kernel.org/"
|
|
||||||
depends=()
|
|
||||||
source=(Makefile gen_init_cpio.c)
|
|
||||||
md5sums=('cd2d06c078f4cd8f90edf31aa12fb1c3' 'fe53a05f5fcfca9e4dd8d67d29190f6e')
|
|
||||||
|
|
||||||
build()
|
|
||||||
{
|
|
||||||
cd $startdir/src/
|
|
||||||
make || return 1
|
|
||||||
make DESTDIR=$startdir/pkg install
|
|
||||||
}
|
|
|
@ -1,514 +0,0 @@
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <time.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Original work by Jeff Garzik
|
|
||||||
*
|
|
||||||
* External file lists, symlink, pipe and fifo support by Thayne Harbaugh
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define xstr(s) #s
|
|
||||||
#define str(s) xstr(s)
|
|
||||||
|
|
||||||
static unsigned int offset;
|
|
||||||
static unsigned int ino = 721;
|
|
||||||
|
|
||||||
struct file_handler {
|
|
||||||
const char *type;
|
|
||||||
int (*handler)(const char *line);
|
|
||||||
};
|
|
||||||
|
|
||||||
static void push_string(const char *name)
|
|
||||||
{
|
|
||||||
unsigned int name_len = strlen(name) + 1;
|
|
||||||
|
|
||||||
fputs(name, stdout);
|
|
||||||
putchar(0);
|
|
||||||
offset += name_len;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void push_pad (void)
|
|
||||||
{
|
|
||||||
while (offset & 3) {
|
|
||||||
putchar(0);
|
|
||||||
offset++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void push_rest(const char *name)
|
|
||||||
{
|
|
||||||
unsigned int name_len = strlen(name) + 1;
|
|
||||||
unsigned int tmp_ofs;
|
|
||||||
|
|
||||||
fputs(name, stdout);
|
|
||||||
putchar(0);
|
|
||||||
offset += name_len;
|
|
||||||
|
|
||||||
tmp_ofs = name_len + 110;
|
|
||||||
while (tmp_ofs & 3) {
|
|
||||||
putchar(0);
|
|
||||||
offset++;
|
|
||||||
tmp_ofs++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void push_hdr(const char *s)
|
|
||||||
{
|
|
||||||
fputs(s, stdout);
|
|
||||||
offset += 110;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void cpio_trailer(void)
|
|
||||||
{
|
|
||||||
char s[256];
|
|
||||||
const char name[] = "TRAILER!!!";
|
|
||||||
|
|
||||||
sprintf(s, "%s%08X%08X%08lX%08lX%08X%08lX"
|
|
||||||
"%08X%08X%08X%08X%08X%08X%08X",
|
|
||||||
"070701", /* magic */
|
|
||||||
0, /* ino */
|
|
||||||
0, /* mode */
|
|
||||||
(long) 0, /* uid */
|
|
||||||
(long) 0, /* gid */
|
|
||||||
1, /* nlink */
|
|
||||||
(long) 0, /* mtime */
|
|
||||||
0, /* filesize */
|
|
||||||
0, /* major */
|
|
||||||
0, /* minor */
|
|
||||||
0, /* rmajor */
|
|
||||||
0, /* rminor */
|
|
||||||
(unsigned)strlen(name)+1, /* namesize */
|
|
||||||
0); /* chksum */
|
|
||||||
push_hdr(s);
|
|
||||||
push_rest(name);
|
|
||||||
|
|
||||||
while (offset % 512) {
|
|
||||||
putchar(0);
|
|
||||||
offset++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mkslink(const char *name, const char *target,
|
|
||||||
unsigned int mode, uid_t uid, gid_t gid)
|
|
||||||
{
|
|
||||||
char s[256];
|
|
||||||
time_t mtime = time(NULL);
|
|
||||||
|
|
||||||
sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"
|
|
||||||
"%08X%08X%08X%08X%08X%08X%08X",
|
|
||||||
"070701", /* magic */
|
|
||||||
ino++, /* ino */
|
|
||||||
S_IFLNK | mode, /* mode */
|
|
||||||
(long) uid, /* uid */
|
|
||||||
(long) gid, /* gid */
|
|
||||||
1, /* nlink */
|
|
||||||
(long) mtime, /* mtime */
|
|
||||||
(unsigned)strlen(target)+1, /* filesize */
|
|
||||||
3, /* major */
|
|
||||||
1, /* minor */
|
|
||||||
0, /* rmajor */
|
|
||||||
0, /* rminor */
|
|
||||||
(unsigned)strlen(name) + 1,/* namesize */
|
|
||||||
0); /* chksum */
|
|
||||||
push_hdr(s);
|
|
||||||
push_string(name);
|
|
||||||
push_pad();
|
|
||||||
push_string(target);
|
|
||||||
push_pad();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mkslink_line(const char *line)
|
|
||||||
{
|
|
||||||
char name[PATH_MAX + 1];
|
|
||||||
char target[PATH_MAX + 1];
|
|
||||||
unsigned int mode;
|
|
||||||
int uid;
|
|
||||||
int gid;
|
|
||||||
int rc = -1;
|
|
||||||
|
|
||||||
if (5 != sscanf(line, "%" str(PATH_MAX) "s %" str(PATH_MAX) "s %o %d %d", name, target, &mode, &uid, &gid)) {
|
|
||||||
fprintf(stderr, "Unrecognized dir format '%s'", line);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
rc = cpio_mkslink(name, target, mode, uid, gid);
|
|
||||||
fail:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mkgeneric(const char *name, unsigned int mode,
|
|
||||||
uid_t uid, gid_t gid)
|
|
||||||
{
|
|
||||||
char s[256];
|
|
||||||
time_t mtime = time(NULL);
|
|
||||||
|
|
||||||
sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"
|
|
||||||
"%08X%08X%08X%08X%08X%08X%08X",
|
|
||||||
"070701", /* magic */
|
|
||||||
ino++, /* ino */
|
|
||||||
mode, /* mode */
|
|
||||||
(long) uid, /* uid */
|
|
||||||
(long) gid, /* gid */
|
|
||||||
2, /* nlink */
|
|
||||||
(long) mtime, /* mtime */
|
|
||||||
0, /* filesize */
|
|
||||||
3, /* major */
|
|
||||||
1, /* minor */
|
|
||||||
0, /* rmajor */
|
|
||||||
0, /* rminor */
|
|
||||||
(unsigned)strlen(name) + 1,/* namesize */
|
|
||||||
0); /* chksum */
|
|
||||||
push_hdr(s);
|
|
||||||
push_rest(name);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum generic_types {
|
|
||||||
GT_DIR,
|
|
||||||
GT_PIPE,
|
|
||||||
GT_SOCK
|
|
||||||
};
|
|
||||||
|
|
||||||
struct generic_type {
|
|
||||||
const char *type;
|
|
||||||
mode_t mode;
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct generic_type generic_type_table[] = {
|
|
||||||
[GT_DIR] = {
|
|
||||||
.type = "dir",
|
|
||||||
.mode = S_IFDIR
|
|
||||||
},
|
|
||||||
[GT_PIPE] = {
|
|
||||||
.type = "pipe",
|
|
||||||
.mode = S_IFIFO
|
|
||||||
},
|
|
||||||
[GT_SOCK] = {
|
|
||||||
.type = "sock",
|
|
||||||
.mode = S_IFSOCK
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static int cpio_mkgeneric_line(const char *line, enum generic_types gt)
|
|
||||||
{
|
|
||||||
char name[PATH_MAX + 1];
|
|
||||||
unsigned int mode;
|
|
||||||
int uid;
|
|
||||||
int gid;
|
|
||||||
int rc = -1;
|
|
||||||
|
|
||||||
if (4 != sscanf(line, "%" str(PATH_MAX) "s %o %d %d", name, &mode, &uid, &gid)) {
|
|
||||||
fprintf(stderr, "Unrecognized %s format '%s'",
|
|
||||||
line, generic_type_table[gt].type);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
mode |= generic_type_table[gt].mode;
|
|
||||||
rc = cpio_mkgeneric(name, mode, uid, gid);
|
|
||||||
fail:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mkdir_line(const char *line)
|
|
||||||
{
|
|
||||||
return cpio_mkgeneric_line(line, GT_DIR);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mkpipe_line(const char *line)
|
|
||||||
{
|
|
||||||
return cpio_mkgeneric_line(line, GT_PIPE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mksock_line(const char *line)
|
|
||||||
{
|
|
||||||
return cpio_mkgeneric_line(line, GT_SOCK);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mknod(const char *name, unsigned int mode,
|
|
||||||
uid_t uid, gid_t gid, char dev_type,
|
|
||||||
unsigned int maj, unsigned int min)
|
|
||||||
{
|
|
||||||
char s[256];
|
|
||||||
time_t mtime = time(NULL);
|
|
||||||
|
|
||||||
if (dev_type == 'b')
|
|
||||||
mode |= S_IFBLK;
|
|
||||||
else
|
|
||||||
mode |= S_IFCHR;
|
|
||||||
|
|
||||||
sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"
|
|
||||||
"%08X%08X%08X%08X%08X%08X%08X",
|
|
||||||
"070701", /* magic */
|
|
||||||
ino++, /* ino */
|
|
||||||
mode, /* mode */
|
|
||||||
(long) uid, /* uid */
|
|
||||||
(long) gid, /* gid */
|
|
||||||
1, /* nlink */
|
|
||||||
(long) mtime, /* mtime */
|
|
||||||
0, /* filesize */
|
|
||||||
3, /* major */
|
|
||||||
1, /* minor */
|
|
||||||
maj, /* rmajor */
|
|
||||||
min, /* rminor */
|
|
||||||
(unsigned)strlen(name) + 1,/* namesize */
|
|
||||||
0); /* chksum */
|
|
||||||
push_hdr(s);
|
|
||||||
push_rest(name);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mknod_line(const char *line)
|
|
||||||
{
|
|
||||||
char name[PATH_MAX + 1];
|
|
||||||
unsigned int mode;
|
|
||||||
int uid;
|
|
||||||
int gid;
|
|
||||||
char dev_type;
|
|
||||||
unsigned int maj;
|
|
||||||
unsigned int min;
|
|
||||||
int rc = -1;
|
|
||||||
|
|
||||||
if (7 != sscanf(line, "%" str(PATH_MAX) "s %o %d %d %c %u %u",
|
|
||||||
name, &mode, &uid, &gid, &dev_type, &maj, &min)) {
|
|
||||||
fprintf(stderr, "Unrecognized nod format '%s'", line);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
rc = cpio_mknod(name, mode, uid, gid, dev_type, maj, min);
|
|
||||||
fail:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Not marked static to keep the compiler quiet, as no one uses this yet... */
|
|
||||||
static int cpio_mkfile(const char *name, const char *location,
|
|
||||||
unsigned int mode, uid_t uid, gid_t gid)
|
|
||||||
{
|
|
||||||
char s[256];
|
|
||||||
char *filebuf = NULL;
|
|
||||||
struct stat buf;
|
|
||||||
int file = -1;
|
|
||||||
int retval;
|
|
||||||
int rc = -1;
|
|
||||||
|
|
||||||
mode |= S_IFREG;
|
|
||||||
|
|
||||||
retval = stat (location, &buf);
|
|
||||||
if (retval) {
|
|
||||||
fprintf (stderr, "File %s could not be located\n", location);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
file = open (location, O_RDONLY);
|
|
||||||
if (file < 0) {
|
|
||||||
fprintf (stderr, "File %s could not be opened for reading\n", location);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
filebuf = malloc(buf.st_size);
|
|
||||||
if (!filebuf) {
|
|
||||||
fprintf (stderr, "out of memory\n");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
retval = read (file, filebuf, buf.st_size);
|
|
||||||
if (retval < 0) {
|
|
||||||
fprintf (stderr, "Can not read %s file\n", location);
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"
|
|
||||||
"%08X%08X%08X%08X%08X%08X%08X",
|
|
||||||
"070701", /* magic */
|
|
||||||
ino++, /* ino */
|
|
||||||
mode, /* mode */
|
|
||||||
(long) uid, /* uid */
|
|
||||||
(long) gid, /* gid */
|
|
||||||
1, /* nlink */
|
|
||||||
(long) buf.st_mtime, /* mtime */
|
|
||||||
(int) buf.st_size, /* filesize */
|
|
||||||
3, /* major */
|
|
||||||
1, /* minor */
|
|
||||||
0, /* rmajor */
|
|
||||||
0, /* rminor */
|
|
||||||
(unsigned)strlen(name) + 1,/* namesize */
|
|
||||||
0); /* chksum */
|
|
||||||
push_hdr(s);
|
|
||||||
push_string(name);
|
|
||||||
push_pad();
|
|
||||||
|
|
||||||
fwrite(filebuf, buf.st_size, 1, stdout);
|
|
||||||
offset += buf.st_size;
|
|
||||||
push_pad();
|
|
||||||
rc = 0;
|
|
||||||
|
|
||||||
error:
|
|
||||||
if (filebuf) free(filebuf);
|
|
||||||
if (file >= 0) close(file);
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int cpio_mkfile_line(const char *line)
|
|
||||||
{
|
|
||||||
char name[PATH_MAX + 1];
|
|
||||||
char location[PATH_MAX + 1];
|
|
||||||
unsigned int mode;
|
|
||||||
int uid;
|
|
||||||
int gid;
|
|
||||||
int rc = -1;
|
|
||||||
|
|
||||||
if (5 != sscanf(line, "%" str(PATH_MAX) "s %" str(PATH_MAX) "s %o %d %d", name, location, &mode, &uid, &gid)) {
|
|
||||||
fprintf(stderr, "Unrecognized file format '%s'", line);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
rc = cpio_mkfile(name, location, mode, uid, gid);
|
|
||||||
fail:
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
void usage(const char *prog)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "Usage:\n"
|
|
||||||
"\t%s <cpio_list>\n"
|
|
||||||
"\n"
|
|
||||||
"<cpio_list> is a file containing newline separated entries that\n"
|
|
||||||
"describe the files to be included in the initramfs archive:\n"
|
|
||||||
"\n"
|
|
||||||
"# a comment\n"
|
|
||||||
"file <name> <location> <mode> <uid> <gid>\n"
|
|
||||||
"dir <name> <mode> <uid> <gid>\n"
|
|
||||||
"nod <name> <mode> <uid> <gid> <dev_type> <maj> <min>\n"
|
|
||||||
"slink <name> <target> <mode> <uid> <gid>\n"
|
|
||||||
"pipe <name> <mode> <uid> <gid>\n"
|
|
||||||
"sock <name> <mode> <uid> <gid>\n"
|
|
||||||
"\n"
|
|
||||||
"<name> name of the file/dir/nod/etc in the archive\n"
|
|
||||||
"<location> location of the file in the current filesystem\n"
|
|
||||||
"<target> link target\n"
|
|
||||||
"<mode> mode/permissions of the file\n"
|
|
||||||
"<uid> user id (0=root)\n"
|
|
||||||
"<gid> group id (0=root)\n"
|
|
||||||
"<dev_type> device type (b=block, c=character)\n"
|
|
||||||
"<maj> major number of nod\n"
|
|
||||||
"<min> minor number of nod\n"
|
|
||||||
"\n"
|
|
||||||
"example:\n"
|
|
||||||
"# A simple initramfs\n"
|
|
||||||
"dir /dev 0755 0 0\n"
|
|
||||||
"nod /dev/console 0600 0 0 c 5 1\n"
|
|
||||||
"dir /root 0700 0 0\n"
|
|
||||||
"dir /sbin 0755 0 0\n"
|
|
||||||
"file /sbin/kinit /usr/src/klibc/kinit/kinit 0755 0 0\n",
|
|
||||||
prog);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct file_handler file_handler_table[] = {
|
|
||||||
{
|
|
||||||
.type = "file",
|
|
||||||
.handler = cpio_mkfile_line,
|
|
||||||
}, {
|
|
||||||
.type = "nod",
|
|
||||||
.handler = cpio_mknod_line,
|
|
||||||
}, {
|
|
||||||
.type = "dir",
|
|
||||||
.handler = cpio_mkdir_line,
|
|
||||||
}, {
|
|
||||||
.type = "slink",
|
|
||||||
.handler = cpio_mkslink_line,
|
|
||||||
}, {
|
|
||||||
.type = "pipe",
|
|
||||||
.handler = cpio_mkpipe_line,
|
|
||||||
}, {
|
|
||||||
.type = "sock",
|
|
||||||
.handler = cpio_mksock_line,
|
|
||||||
}, {
|
|
||||||
.type = NULL,
|
|
||||||
.handler = NULL,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#define LINE_SIZE (2 * PATH_MAX + 50)
|
|
||||||
|
|
||||||
int main (int argc, char *argv[])
|
|
||||||
{
|
|
||||||
FILE *cpio_list;
|
|
||||||
char line[LINE_SIZE];
|
|
||||||
char *args, *type;
|
|
||||||
int ec = 0;
|
|
||||||
int line_nr = 0;
|
|
||||||
|
|
||||||
if (2 != argc) {
|
|
||||||
usage(argv[0]);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! (cpio_list = fopen(argv[1], "r"))) {
|
|
||||||
fprintf(stderr, "ERROR: unable to open '%s': %s\n\n",
|
|
||||||
argv[1], strerror(errno));
|
|
||||||
usage(argv[0]);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
while (fgets(line, LINE_SIZE, cpio_list)) {
|
|
||||||
int type_idx;
|
|
||||||
size_t slen = strlen(line);
|
|
||||||
|
|
||||||
line_nr++;
|
|
||||||
|
|
||||||
if ('#' == *line) {
|
|
||||||
/* comment - skip to next line */
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! (type = strtok(line, " \t"))) {
|
|
||||||
fprintf(stderr,
|
|
||||||
"ERROR: incorrect format, could not locate file type line %d: '%s'\n",
|
|
||||||
line_nr, line);
|
|
||||||
ec = -1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('\n' == *type) {
|
|
||||||
/* a blank line */
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (slen == strlen(type)) {
|
|
||||||
/* must be an empty line */
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! (args = strtok(NULL, "\n"))) {
|
|
||||||
fprintf(stderr,
|
|
||||||
"ERROR: incorrect format, newline required line %d: '%s'\n",
|
|
||||||
line_nr, line);
|
|
||||||
ec = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (type_idx = 0; file_handler_table[type_idx].type; type_idx++) {
|
|
||||||
int rc;
|
|
||||||
if (! strcmp(line, file_handler_table[type_idx].type)) {
|
|
||||||
if ((rc = file_handler_table[type_idx].handler(args))) {
|
|
||||||
ec = rc;
|
|
||||||
fprintf(stderr, " line %d\n", line_nr);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (NULL == file_handler_table[type_idx].type) {
|
|
||||||
fprintf(stderr, "unknown file type line %d: '%s'\n",
|
|
||||||
line_nr, line);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (ec == 0)
|
|
||||||
cpio_trailer();
|
|
||||||
|
|
||||||
exit(ec);
|
|
||||||
}
|
|
|
@ -11,7 +11,7 @@ url="http://www.greenwoodsoftware.com/less"
|
||||||
groups=('base')
|
groups=('base')
|
||||||
depends=('ncurses' 'file')
|
depends=('ncurses' 'file')
|
||||||
source=(http://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz)
|
source=(http://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz)
|
||||||
md5sums=('b5864d76c54ddf4627fd57ab333c88b4')
|
md5sums=(b5864d76c54ddf4627fd57ab333c88b4)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd $srcdir/less-$pkgver
|
cd $srcdir/less-$pkgver
|
||||||
|
|
|
@ -11,7 +11,7 @@ license=(BSD)
|
||||||
groups=(base)
|
groups=(base)
|
||||||
depends=(zlib bzip2 acl)
|
depends=(zlib bzip2 acl)
|
||||||
source=(http://libarchive.googlecode.com/files/libarchive-$pkgver.tar.gz)
|
source=(http://libarchive.googlecode.com/files/libarchive-$pkgver.tar.gz)
|
||||||
md5sums=('a2103ca334037562ad327eb3aed54869')
|
md5sums=(a2103ca334037562ad327eb3aed54869)
|
||||||
options=(libtool)
|
options=(libtool)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
|
|
@ -18,6 +18,6 @@ build() {
|
||||||
sed -i -e "s|LIBDIR=\$(FAKEROOT)\$(lib_prefix)/\$(lib)|LIBDIR=\$(FAKEROOT)/\opt/$(lib)|g" Make.Rules || return 1
|
sed -i -e "s|LIBDIR=\$(FAKEROOT)\$(lib_prefix)/\$(lib)|LIBDIR=\$(FAKEROOT)/\opt/$(lib)|g" Make.Rules || return 1
|
||||||
make prefix=/opt DESTDIR=${pkgdir} install
|
make prefix=/opt DESTDIR=${pkgdir} install
|
||||||
|
|
||||||
rm ${pkgdir}/lib/*.a || return 1
|
rm ${pkgdir}/opt/lib/*.a || return 1
|
||||||
chmod 755 ${pkgdir}/lib/libcap.so.* || return 1
|
chmod 755 ${pkgdir}/opt/lib/libcap.so.* || return 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,10 +11,10 @@ license=('BSD')
|
||||||
groups=('base')
|
groups=('base')
|
||||||
depends=()
|
depends=()
|
||||||
url="http://code.phraktured.net/?p=libdownload.git"
|
url="http://code.phraktured.net/?p=libdownload.git"
|
||||||
source=('http://code.phraktured.net/source/$pkgname-$pkgver.tar.gz'
|
source=(http://code.phraktured.net/source/$pkgname-$pkgver.tar.gz
|
||||||
'Makefile')
|
Makefile)
|
||||||
md5sums=('77e10293fd4262745110eb423a10490c'
|
md5sums=('77e10293fd4262745110eb423a10490c'
|
||||||
'63f794256b49bcd8b07775a19fe8bace')
|
'63f794256b49bcd8b07775a19fe8bace')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "$srcdir/libdownload-$pkgver"
|
cd "$srcdir/libdownload-$pkgver"
|
||||||
|
|
|
@ -13,9 +13,9 @@ groups=(base)
|
||||||
depends=(openssl)
|
depends=(openssl)
|
||||||
url="http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/net/libfetch/"
|
url="http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/net/libfetch/"
|
||||||
source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz
|
source=(ftp://ftp.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz
|
||||||
Makefile)
|
Makefile)
|
||||||
md5sums=('c1c1a8ccabc3bf9acda833bcbc6821b1'
|
md5sums=(c1c1a8ccabc3bf9acda833bcbc6821b1
|
||||||
'd6d3fc0352f0bd968c49f000e1cf4af5')
|
d6d3fc0352f0bd968c49f000e1cf4af5)
|
||||||
|
|
||||||
# source PKGBUILD && mksource
|
# source PKGBUILD && mksource
|
||||||
mksource() {
|
mksource() {
|
||||||
|
|
|
@ -11,7 +11,7 @@ groups=('base')
|
||||||
depends=('libgpg-error>=1.6' 'texinfo')
|
depends=('libgpg-error>=1.6' 'texinfo')
|
||||||
options=(!libtool)
|
options=(!libtool)
|
||||||
source=(ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2)
|
source=(ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2)
|
||||||
md5sums=('34105aa927e23c217741966496b97e67')
|
md5sums=(34105aa927e23c217741966496b97e67)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd ${srcdir}/${pkgname}-${pkgver}
|
cd ${srcdir}/${pkgname}-${pkgver}
|
||||||
|
|
Loading…
Reference in a new issue