Merge branch 'testing' of gitorious.org:chakra-packages/platform into testing

This commit is contained in:
abveritas 2011-05-16 21:44:33 +00:00
commit e85f516527
169 changed files with 6704 additions and 1647 deletions

View File

@ -4,8 +4,8 @@
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# use ../fakeuname -r 2.6.35-CHAKRA-LTS ../makepkg
_kernver=`uname -r`
# use ../makepkg
_kernver="2.6.35-CHAKRA-LTS"
pkgname=acerhk-lts
pkgver=0.5.35

View File

@ -4,45 +4,26 @@
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=aqbanking-qt4
pkgver=5.0.1
pkgver=5.0.5
pkgrel=1
pkgdesc="A library for online banking and financial applications"
arch=(i686 x86_64)
options=('!libtool')
url="http://www.aquamaniac.de/aqbanking"
license=('GPL')
depends=('ktoblzcheck' 'libofx' 'gwenhywfar>=3.10.0' 'qt' 'gnutls')
provides=('aqbanking')
conflicts=('aqbanking')
options=('!makeflags')
source=("aqbanking-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=03&release=74&file=01&dummy=aqbanking-$pkgver.tar.gz")
depends=('gwenhywfar' 'ktoblzcheck' 'libofx')
options=('!makeflags' '!libtool')
source=("aqbanking-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=03&release=78&file=01&dummy=aqbanking-$pkgver.tar.gz")
build() {
cd ${srcdir}/aqbanking-${pkgver}
msg "Compile sources"
local _CARCH=${CARCH}
if [ "$CARCH" = 'x86_64' ]; then
_CARCH='x86-64'
fi
# configure Makefile to point to Qt4
./configure --prefix=/usr \
--with-frontends="cbanking q4banking" \
--with-backends="aqhbci aqofxconnect" \
--disable-qt3 \
--enable-qt4 \
CFLAGS="-Os -march=${_CARCH} -mtune=generic" \
CXXFLAGS="-Os -march=${_CARCH} -mtune=generic" \
|| return 1
make || return 1
make DESTDIR=${pkgdir} install || return 1
cd $srcdir/aqbanking-$pkgver
export PKG_CONFIG=/usr/bin/pkg-config
./configure --prefix=/usr \
--with-backends="aqhbci aqofxconnect" \
--enable-gwenhywfar
make
make DESTDIR=$pkgdir install
}
md5sums=('dc7dd799a4a50313b5f11b9a0861b72b')
md5sums=('b50c28887fc9fd2fc9a4d9fc996497e6')

54
autofs/PKGBUILD Normal file
View File

@ -0,0 +1,54 @@
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=autofs
pkgver=5.0.5
pkgrel=1
pkgdesc='A kernel-based automounter for Linux.'
arch=('i686' 'x86_64')
url='http://freshmeat.net/projects/autofs'
license=('GPL2')
depends=('libldap' 'libxml2' 'heimdal')
backup=('etc/autofs/auto.master'
'etc/autofs/auto.misc'
'etc/conf.d/autofs')
options=(!makeflags)
install='autofs.install'
source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.bz2"
'autofs'
'autofs.conf.d'
'auto.master'
'auto.misc'
'heimdal.patch')
md5sums=('a1d262cb6ebef0c2dd0fe22232fb3d5a'
'e307bf6d2638e46eeb916cf42fe029b2'
'47f597c870410055e0fdb66103daf928'
'a6cefb591e77b31b79dbb7243646c96b'
'd8a15ec9186c5c0b36e5cea1e2739e8a'
'efd46b6406b940cb48f7c6197790fb8e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
sed -i "s:SUBDIRS = lib daemon modules man samples:SUBDIRS = lib daemon modules man:" \
Makefile.rules
patch -Np1 -i "${srcdir}/heimdal.patch"
./configure --prefix=/usr --sysconfdir=/etc/autofs --with-mapdir=/etc/autofs --without-hesiod \
--enable-ignore-busy
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make INSTALLROOT="${pkgdir}" install
install -Dm0644 "${srcdir}/auto.master" "${pkgdir}/etc/autofs/auto.master"
install -Dm0644 "${srcdir}/auto.misc" "${pkgdir}/etc/autofs/auto.misc"
install -Dm0755 "${srcdir}/autofs" "${pkgdir}/etc/rc.d/autofs"
install -Dm0644 "${srcdir}/autofs.conf.d" "${pkgdir}/etc/conf.d/autofs"
}

6
autofs/auto.master Normal file
View File

@ -0,0 +1,6 @@
# Sample auto.master file
# Format of this file:
# mountpoint map options
# For details of the format look at autofs(5).
#/media /etc/autofs/auto.media

7
autofs/auto.misc Normal file
View File

@ -0,0 +1,7 @@
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage
cdrom -fstype=iso9660,ro,nodev,nosuid :/dev/cdrom
floppy -fstype=auto,async,nodev,nosuid,umask=000 :/dev/fl
usbstick -fstype=auto,async,nodev,nosuid,umask=000 :/dev/sda1

50
autofs/autofs Normal file
View File

@ -0,0 +1,50 @@
#!/bin/bash
daemon_name=autofs
. /etc/rc.conf
. /etc/rc.d/functions
# source application-specific settings
[ -f /etc/conf.d/autofs ] && . /etc/conf.d/autofs
if [ ! -z "$TIMEOUT" ]; then
daemonoptions="--timeout=$TIMEOUT $daemonoptions"
fi
PID=`cat /var/run/autofs-running 2> /dev/null`
case "$1" in
start)
stat_busy "Starting $daemon_name daemon"
[ -z "$PID" ] && /usr/sbin/automount $daemonoptions &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon $daemon_name
stat_done
fi
;;
stop)
stat_busy "Stopping $daemon_name daemon"
[ ! -z "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon $daemon_name
stat_done
fi
;;
restart)
stat_busy "Restarting $daemon_name daemon"
$0 stop
sleep 1
$0 start
;;
status)
stat_busy "Checking $daemon_name status";
ck_status $daemon_name
;;
*)
echo "usage: $0 {start|stop|restart|status}"
esac
exit 0

4
autofs/autofs.conf.d Normal file
View File

@ -0,0 +1,4 @@
#localoptions='rsize=8192,wsize=8192'
# e.g. --timeout=60
daemonoptions=''

4
autofs/autofs.install Normal file
View File

@ -0,0 +1,4 @@
post_install(){
echo "> In autofs5 --ghost option isn't valid. In order to start autofs you"
echo "> must remove that option from your /etc/conf.d/autofs."
}

44
autofs/heimdal.patch Normal file
View File

@ -0,0 +1,44 @@
--- autofs-5.0.5/modules/cyrus-sasl.c~ 2010-03-03 01:38:41.582901786 +0100
+++ autofs-5.0.5/modules/cyrus-sasl.c 2010-03-03 01:41:32.313704755 +0100
@@ -66,6 +66,15 @@
#endif
#endif
+/**
+ * The type of a principal is different for MIT Krb5 and Heimdal.
+ * These macros are provided by Heimdal, and introduced here for MIT.
+ */
+#ifndef krb5_realm_length
+#define krb5_realm_length(r) ((r).length)
+#define krb5_realm_data(r) ((r).data)
+#endif
+
/*
* Once a krb5 credentials cache is setup, we need to set the KRB5CCNAME
* environment variable so that the library knows where to find it.
@@ -452,11 +452,11 @@
/* setup a principal for the ticket granting service */
ret = krb5_build_principal_ext(ctxt->krb5ctxt, &tgs_princ,
- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length,
- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data,
+ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)),
+ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)),
strlen(KRB5_TGS_NAME), KRB5_TGS_NAME,
- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length,
- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data,
+ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)),
+ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)),
0);
if (ret) {
error(logopt,
--- autofs-5.0.5/modules/Makefile~ 2010-03-03 01:42:18.532868539 +0100
+++ autofs-5.0.5/modules/Makefile 2010-03-03 01:42:35.360367371 +0100
@@ -43,7 +43,7 @@
ifeq ($(SASL), 1)
SASL_OBJ = cyrus-sasl.o
LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE
- LIBLDAP += $(LIBSASL) $(XML_LIBS)
+ LIBLDAP += $(LIBSASL) $(XML_LIBS) -lkrb5
endif
endif

36
bogofilter/PKGBUILD Normal file
View File

@ -0,0 +1,36 @@
#
# Core Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=bogofilter
pkgver=1.2.2
pkgrel=1
pkgdesc="A fast Bayesian spam filtering tool"
arch=('i686' 'x86_64')
license=(GPL3)
url="http://bogofilter.sourceforge.net"
depends=('db' 'perl' 'gsl')
backup=(etc/bogofilter/bogofilter.cf)
source=(http://sourceforge.net/projects/${pkgname}/files/${pkgname}-current/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.bz2)
md5sums=('4bcabdf8c5e7efefcb508eda7e80eebc')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
./configure --prefix=/usr \
--sysconfdir=/etc/bogofilter \
--localstatedir=/var \
--enable-transactions
make
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
mv ${pkgdir}/etc/bogofilter/bogofilter.cf.example ${pkgdir}/etc/bogofilter/bogofilter.cf
install -dm755 ${pkgdir}/usr/share/${pkgname}/contrib
install -m644 contrib/* ${pkgdir}/usr/share/${pkgname}/contrib/
}

View File

@ -9,13 +9,13 @@
_kernver="2.6.35-CHAKRA-LTS"
pkgname=catalyst-lts
pkgver=11.4
pkgver=11.5
pkgrel=1
pkgdesc="AMD/ATI Catalyst drivers for kernel26. fglrx kernel module only"
arch=('i686' 'x86_64')
url="http://www.ati.amd.com"
license=('custom')
depends=('kernel26>=2.6.29' 'kernel26<2.6.36' "catalyst-utils=${pkgver}")
depends=('kernel26>=2.6.35' 'kernel26<2.6.36' 'catalyst-utils')
makedepends=('gcc-libs' 'gcc>4.0.0' 'make' 'kernel26-headers')
conflicts=('catalyst-test' 'nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri')
install=catalyst.install
@ -23,14 +23,12 @@ install=catalyst.install
source=(http://www2.ati.com/drivers/linux/ati-driver-installer-${pkgver/./-}-x86.x86_64.run
ati_make.sh
makefile_compat.patch
no_bkl.patch
2.6.39_bkl.patch)
no_bkl.patch)
md5sums=('b50dc05ef3428a9ee632b09eebeb4586'
md5sums=('0a407ba5b7302239071a907e36a6934b'
'660396540b0ceaff71d6155c986734de'
'3e1b82bd69774ea808da69c983d6a43b'
'6a6b2133aa6ef3bcd377731b19c0553a'
'eb24250f8e537273bae9dbd79a022d61')
'6a6b2133aa6ef3bcd377731b19c0553a')
@ -62,16 +60,8 @@ build() {
## makefile patch to choose arch_compat_alloc_user_space or older compat_alloc_user_space
## works only in combination with ati_make.sh script
patch -Np1 -i ../makefile_compat.patch || return 1
if [[ ${_kernver:0:6} < "2.6.39" ]] && [[ `cat /lib/modules/${_kernver}/build/.config | grep -c CONFIG_BKL=y` = 0 ]]; then
patch -Np1 -i ../no_bkl.patch || return 1
fi
if [[ ${_kernver:0:6} == "2.6.39" ]] || [[ ${_kernver:0:6} > "2.6.39" ]]; then
patch -Np1 -i ../no_bkl.patch || return 1
patch -Np1 -i ../2.6.39_bkl.patch || return 1
fi
patch -Np1 -i ../no_bkl.patch || return 1
# if [[ ${_kernver:0:6} == "2.6.37" ]] || [[ ${_kernver:0:6} > "2.6.37" ]]; then
# patch -Np1 -i ../sema_init.patch || return 1
# fi
@ -98,4 +88,4 @@ package() {
install -m644 "${srcdir}/archive_files/ATI_LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install
}
}

View File

@ -5,7 +5,7 @@
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=catalyst-utils
pkgver=11.4
pkgver=11.5
pkgrel=1
pkgdesc="AMD/ATI Catalyst drivers utilities and libraries."
arch=('i686' 'x86_64')
@ -13,23 +13,20 @@ url="http://www.ati.amd.com"
license=('custom')
depends=('xorg-server>=1.7.0' 'xorg-server<1.11.0' 'netkit-bsd-finger' 'libxrandr' 'libsm' 'fontconfig' 'libxcursor' 'libxi' 'gcc-libs')
optdepends=('qt: to run ATi Catalyst Control Center (amdcccle)')
replaces=('libgl')
conflicts=('catalyst-test' 'nvidia-utils' 'libgl')
provides=('libgl' "libatical=${pkgver}")
install=${pkgname}.install
source=(
http://www2.ati.com/drivers/linux/ati-driver-installer-${pkgver/./-}-x86.x86_64.run
catalyst.sh
amdcccle.desktop
atieventsd.sh)
md5sums=('b50dc05ef3428a9ee632b09eebeb4586'
md5sums=('0a407ba5b7302239071a907e36a6934b'
'bdafe749e046bfddee2d1c5e90eabd83'
'4efa8414a8fe9eeb50da38b5522ef81d'
'f729bf913613f49b0b9759c246058a87')
build() {
## Unpack archive
/bin/sh ./ati-driver-installer-${pkgver/./-}-x86.x86_64.run --extract archive_files
@ -77,10 +74,8 @@ package() {
install -m755 drivers/*.so "${pkgdir}/usr/lib/xorg/modules/drivers/" || return 1
install -m755 linux/*.so "${pkgdir}/usr/lib/xorg/modules/linux/" || return 1
#install -m755 extensions/libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/" || return 1 #before 11.4
install -m755 extensions/libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so" || return 1 # since 11.4
ln -sf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx/libglx.so" # since 11.4
ln -sf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx-libglx.so" # since 11.4
ln -sf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" # since 11.4
install -m755 extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so" || return 1 # since 11.5
ln -snf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" # since 11.4
#install -m755 extensions/libdri.so "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.ati" || return 1
# Controlcenter / libraries
@ -95,16 +90,20 @@ package() {
install -m755 X11R6/bin/* "${pkgdir}/usr/bin/" || return 1
install -m755 sbin/* "${pkgdir}/usr/sbin/" || return 1
#install -m755 X11R6/${_lib}/*.so* "${pkgdir}/usr/lib/" || return #before 11.4
install -m755 X11R6/${_lib}/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx" || return 1 # since 11.4
ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx/libGL.so.1.2" # since 11.4
ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx-libGL.so.1.2" # since 11.4
ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1.2" # since 11.4
ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1" # since 11.4
ln -sf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so" # since 11.4
install -m755 X11R6/${_lib}/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx" || return 1 # since 11.5
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx/libGL.so.1.2" # since 11.4
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/fglrx-libGL.so.1.2" # since 11.4
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1.2" # since 11.4
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1" # since 11.4
ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so" # since 11.4
install -m755 X11R6/${_lib}/libAMDXvBA.so.1.0 "${pkgdir}/usr/lib/" || return 1 # since 11.4
ln -snf libAMDXvBA.so.1.0 "${pkgdir}/usr/lib/libAMDXvBA.so.1" # since 11.4
ln -snf libAMDXvBA.so.1.0 "${pkgdir}/usr/lib/libAMDXvBA.so" # since 11.4
install -m755 X11R6/${_lib}/libatiadlxx.so "${pkgdir}/usr/lib/" || return 1 # since 11.4
install -m755 X11R6/${_lib}/libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/" || return 1 # since 11.4
install -m755 X11R6/${_lib}/libXvBAW.so.1.0 "${pkgdir}/usr/lib/" || return 1 # since 11.4
ln -snf libXvBAW.so.1.0 "${pkgdir}/usr/lib/libXvBAW.so.1" # since 11.4
ln -snf libXvBAW.so.1.0 "${pkgdir}/usr/lib/libXvBAW.so" # since 11.4
install -m644 X11R6/${_lib}/*.a "${pkgdir}/usr/lib/" || return 1 # really needed?
install -m644 X11R6/${_lib}/*.cap "${pkgdir}/usr/lib/" || return 1
install -m755 X11R6/${_lib}/modules/dri/*.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1
@ -114,16 +113,16 @@ package() {
# install -m755 -d "${pkgdir}/usr/share/ati/${_lib}"
# install -m755 share/ati/${_lib}/*.so* "${pkgdir}/usr/share/ati/${_lib}/" || return 1
ln -sf /usr/lib/xorg/modules/dri/fglrx_dri.so ${pkgdir}/usr/lib/dri/fglrx_dri.so
ln -sf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so.1"
ln -sf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so"
ln -snf /usr/lib/xorg/modules/dri/fglrx_dri.so ${pkgdir}/usr/lib/dri/fglrx_dri.so
ln -snf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so.1"
ln -snf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so"
#ln -sf libfglrx_pp.so.1.0 "${pkgdir}/usr/lib/libfglrx_pp.so.1"
#ln -sf libfglrx_tvout.so.1.0 "${pkgdir}/usr/lib/libfglrx_tvout.so.1"
#ln -sf libfglrx_gamma.so.1.0 "${pkgdir}/usr/lib/libfglrx_gamma.so.1"
#ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1" #before 11.4
#ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so" #before 11.4
ln -sf libatiuki.so.1.0 "${pkgdir}/usr/lib/libatiuki.so.1"
ln -sf libatiuki.so.1.0 "${pkgdir}/usr/lib/libatiuki.so"
ln -snf libatiuki.so.1.0 "${pkgdir}/usr/lib/libatiuki.so.1"
ln -snf libatiuki.so.1.0 "${pkgdir}/usr/lib/libatiuki.so"
cd "${srcdir}"/archive_files/common
@ -156,4 +155,4 @@ package() {
# License
install -m644 "${srcdir}/archive_files/ATI_LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}
}

View File

@ -9,13 +9,13 @@
_kernver=`pacman -Qf kernel26 | cut -c10-15 | sed 's/kernel26 //g'`-CHAKRA
pkgname=catalyst
pkgver=11.4
pkgver=11.5
pkgrel=1
pkgdesc="AMD/ATI Catalyst drivers for kernel26. fglrx kernel module only"
arch=('i686' 'x86_64')
url="http://www.ati.amd.com"
license=('custom')
depends=('kernel26>=2.6.29' 'kernel26<2.6.40' "catalyst-utils=${pkgver}")
depends=('kernel26>=2.6.38' 'kernel26<2.6.39' 'catalyst-utils')
makedepends=('gcc-libs' 'gcc>4.0.0' 'make' 'kernel26-headers')
conflicts=('catalyst-test' 'nvidia' 'xf86-video-ati' 'xf86-video-radeonhd' 'ati-dri')
install=${pkgname}.install
@ -23,14 +23,12 @@ install=${pkgname}.install
source=(http://www2.ati.com/drivers/linux/ati-driver-installer-${pkgver/./-}-x86.x86_64.run
ati_make.sh
makefile_compat.patch
no_bkl.patch
2.6.39_bkl.patch)
no_bkl.patch)
md5sums=('b50dc05ef3428a9ee632b09eebeb4586'
md5sums=('0a407ba5b7302239071a907e36a6934b'
'660396540b0ceaff71d6155c986734de'
'3e1b82bd69774ea808da69c983d6a43b'
'6a6b2133aa6ef3bcd377731b19c0553a'
'eb24250f8e537273bae9dbd79a022d61')
'6a6b2133aa6ef3bcd377731b19c0553a')
@ -62,15 +60,7 @@ build() {
## makefile patch to choose arch_compat_alloc_user_space or older compat_alloc_user_space
## works only in combination with ati_make.sh script
patch -Np1 -i ../makefile_compat.patch || return 1
if [[ ${_kernver:0:6} < "2.6.39" ]] && [[ `cat /lib/modules/${_kernver}/build/.config | grep -c CONFIG_BKL=y` = 0 ]]; then
patch -Np1 -i ../no_bkl.patch || return 1
fi
if [[ ${_kernver:0:6} == "2.6.39" ]] || [[ ${_kernver:0:6} > "2.6.39" ]]; then
patch -Np1 -i ../no_bkl.patch || return 1
patch -Np1 -i ../2.6.39_bkl.patch || return 1
fi
patch -Np1 -i ../no_bkl.patch || return 1
# if [[ ${_kernver:0:6} == "2.6.37" ]] || [[ ${_kernver:0:6} > "2.6.37" ]]; then
# patch -Np1 -i ../sema_init.patch || return 1
@ -98,4 +88,4 @@ package() {
install -m644 "${srcdir}/archive_files/ATI_LICENSE.TXT" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install
}
}

View File

@ -9,7 +9,7 @@ source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=chakra-hardware-detection
pkgver=20110110
pkgrel=3
pkgrel=4
pkgdesc="Hardware detection scripts for Chakra"
arch=('any')
url="http://www.chakra-project.org"

View File

@ -9,7 +9,7 @@ HW_DB_PATH="/opt/chakra/hwdb"
# VERSION OF THE "NVIDIA" DRIVER PKG
# (keep in sync with postinstall config)
NVIDIA_DRV_VER="260"
NVIDIA_DRV_VER="270"
# NVIDIA HW DATABASE FILE NAME
NV_DB="hw_nvidia_hwdb"

View File

@ -72,6 +72,10 @@ hwdetect_graphics()
printhl "NVIDIA hardware detected"
printhl "Installing driver: nvidia. This can take some seconds."
rmmod -f nouveau
rmmod -f ttm
rmmod -f drm_kms_helper
rmmod -f drm
pacman -Rd --noconfirm libgl &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nvidia-utils-${NVIDIA_DRV_VER}* &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nvidia*${NVIDIA_DRV_VER}* &>/dev/null
@ -86,6 +90,10 @@ hwdetect_graphics()
printhl "NVIDIA hardware detected"
printhl "Installing driver: nvidia-173xx. This can take some seconds."
rmmod -f nouveau
rmmod -f ttm
rmmod -f drm_kms_helper
rmmod -f drm
pacman -Rd --noconfirm libgl &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nvidia-173xx* &>/dev/null
@ -93,17 +101,21 @@ hwdetect_graphics()
touch /tmp/nvidia-173xx
# or maybe another legacy card
elif [ $(grep -i "$CARD_NVIDIA" ${HW_DB_PATH}/${NV96XX_DB}) ]
then
printhl "NVIDIA hardware detected"
printhl "Installing driver: nvidia-96xx. This can take some seconds."
pacman -Rd --noconfirm libgl &>/dev/null
pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nvidia-96xx* &>/dev/null
# add a status file in /tmp
touch /tmp/nvidia-96xx
#elif [ $(grep -i "$CARD_NVIDIA" ${HW_DB_PATH}/${NV96XX_DB}) ]
#then
#
# printhl "NVIDIA hardware detected"
# printhl "Installing driver: nvidia-96xx. This can take some seconds."
#
# rmmod -f nouveau
# rmmod -f ttm
# rmmod -f drm_kms_helper
# rmmod -f drm
# pacman -Rd --noconfirm libgl &>/dev/null
# pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nvidia-96xx* &>/dev/null
#
# # add a status file in /tmp
# touch /tmp/nvidia-96xx
else
printhl "No non-free drivers available for this hardware"
fi
@ -140,23 +152,6 @@ hwdetect_graphics()
printhl "Non-free graphics drivers disabled"
# arg! this don't work yet
# # check for nvidia
# CARD_NVIDIA=$(lspci -n | sed -n "s/.* 0300: 10de:\(....\).*/\1/p")
#
# # do we have one?
# if [ "$CARD_NVIDIA" != "" ]
# then
# printhl "NVIDIA hardware detected"
# printhl "Installing driver: nouveau. This can take some seconds."
#
# pacman -Rd libdrm --noconfirm &>/dev/null
# pacman -Udf --noconfirm ${HW_DRIVER_PATH}/xf86-video-nouveau* &>/dev/null
# pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nouveau-drm* &>/dev/null
# pacman -Udf --noconfirm ${HW_DRIVER_PATH}/nouveau-libdrm* &>/dev/null
#
# fi
;;
esac
}

View File

@ -1,27 +1,31 @@
# $Id: PKGBUILD 49266 2009-08-05 12:49:18Z douglas $
# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Roberto Alsina <ralsina@kde.org>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=cx_freeze
pkgver=4.1
_tarname=cx_Freeze
pkgver=4.2.3
pkgrel=1
pkgdesc="A set of utilities for freezing Python scripts into executables"
arch=('i686' 'x86_64')
url="http://www.python.net/crew/atuining/cx_Freeze/"
license=('custom')
depends=('python')
source=(http://downloads.sourceforge.net/sourceforge/cx-freeze/cx_Freeze-$pkgver.tar.gz FreezePython.sh)
build() {
cd $startdir/src/cx_Freeze-$pkgver
python setup.py install --root $startdir/pkg
install -d $startdir/pkg/usr/share/cx-freeze/{bases,initscripts}
install -m755 source/bases/* $startdir/pkg/usr/share/cx-freeze/bases
install -m644 initscripts/* $startdir/pkg/usr/share/cx-freeze/initscripts
install -D -m644 LICENSE.txt $startdir/pkg/usr/share/licenses/cx_freeze/COPYING
}
md5sums=('a096ea2b7d04edfe95c16307ba86d637'
depends=('python2')
provides=('cxfreeze')
source=("http://downloads.sourceforge.net/cx-freeze/$_tarname-$pkgver.tar.gz"
'FreezePython.sh')
md5sums=('a524cfd23de5d37e0ec9400ba1ccd6ad'
'5cc60d1644eba12a57c22cc1348a4afd')
package() {
cd "$srcdir/$_tarname-$pkgver"
python2 setup.py install --root "$pkgdir/" --optimize 1
install -d "$pkgdir"/usr/share/cx-freeze/{bases,initscripts}
install -m755 source/bases/* "$pkgdir/usr/share/cx-freeze/bases"
install -m644 initscripts/* "$pkgdir/usr/share/cx-freeze/initscripts"
install -D -m644 LICENSE.txt "$pkgdir/usr/share/licenses/cx_freeze/COPYING"
}

View File

@ -1,17 +1,22 @@
# Maintainer: Schnouki <thomas.jost@gmail.com>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=disper
pkgver=0.2.3
pkgver=0.3.0
pkgrel=1
pkgdesc="An on-the-fly display switch utility, intended to be used on laptops, especially with nVidia cards."
arch=('any')
url="http://willem.engen.nl/projects/disper/"
license=('GPL')
depends=('python')
source=(https://launchpad.net/~wvengen/+archive/ppa/+files/${pkgname}_${pkgver}.tar.gz)
md5sums=('85b4cde564fc27b7249826e0a4379394')
depends=('python2')
source=(http://ppa.launchpad.net/disper-dev/ppa/ubuntu/pool/main/d/disper/disper_${pkgver}.tar.gz)
md5sums=('aff6ca9266eecfc3f646c0de573eca91')
build() {
cd "$srcdir/trunk"
cd "$srcdir/dispercur"
make || return 1
make DESTDIR="$pkgdir" install

View File

@ -3,20 +3,19 @@
pkgname=eggdbus
pkgver=0.6
pkgrel=1
pkgrel=2
pkgdesc="Experimental D-Bus bindings for GObject"
arch=(i686 x86_64)
license=('LGPL')
url="http://www.freedesktop.org/wiki/Software/Policykit"
depends=('glib2>=2.22.2' 'dbus-glib>=0.82-2')
makedepends=('gtk-doc')
options=('!libtool')
source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz)
md5sums=('b43d2a6c523fcb8b9d0b0300c4222386')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr --disable-static --enable-gtk-doc || return 1
./configure --prefix=/usr --disable-static || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1
}

View File

@ -1,10 +1,11 @@
# $Id: PKGBUILD 13249 2010-03-19 21:41:03Z mherych $
# Maintainer: Mateusz Herych <heniekk@gmail.com>
# Contributor: niQo
# Contributor: Christoph Siegenthaler <csi@gmx.ch>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=espeak
pkgver=1.43.03
pkgver=1.45.04
pkgrel=1
pkgdesc="Text to Speech engine for good quality English, with support for other languages"
arch=('i686' 'x86_64')
@ -12,11 +13,12 @@ url="http://espeak.sourceforge.net/"
license=('GPL')
depends=('gcc-libs' 'portaudio')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}-source.zip)
md5sums=('2c9f8479acb524209329e595d6ca7e2a')
md5sums=('6e810d2786b55cddb34f31b3eb813507')
build() {
cd $startdir/src/$pkgname-$pkgver-source/src
cp portaudio19.h portaudio.h
make || return 1
make DESTDIR=$startdir/pkg install || return 1
make DESTDIR=$startdir/pkg install
find "$pkgdir/usr/share/espeak-data" -type f -print0 |xargs -0 chmod 644|| return 1
}

View File

@ -5,7 +5,7 @@
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=farsight2
pkgver=0.0.22
pkgver=0.0.26
pkgrel=1
pkgdesc="Audio/Video conference software for Instant Messengers"
arch=('i686' 'x86_64')
@ -16,7 +16,7 @@ optdepends=('gstreamer0.10-good: for RTP plugin'
'gstreamer0.10-bad: for RTP plugin')
options=('!libtool' '!emptydirs')
source=(http://farsight.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
md5sums=('e1f540cf3ebab06c3d7db1f46b44ac88')
md5sums=('7756d910687dd2abd455fd68e83f125c')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"

View File

@ -8,27 +8,42 @@
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=ffmpeg
pkgver=20110330
_head=HEAD-da3534b
pkgrel=4
pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix"
pkgver=0.6.3
pkgrel=2
pkgdesc="Complete and free Internet live audio and video broadcasting solution for Linux/Unix."
arch=('i686' 'x86_64')
url="http://ffmpeg.org/"
license=('GPL3')
depends=('bzip2' 'lame' 'sdl' 'libvorbis' 'xvidcore' 'zlib' 'x264' 'libtheora' 'opencore-amr' 'alsa-lib' 'libvdpau' 'libxfixes' 'schroedinger' 'libva>=1.0.7' 'openjpeg' 'libvpx')
depends=('bzip2' 'lame' 'sdl' 'libvorbis' 'xvidcore' 'zlib' 'x264' 'libtheora' 'opencore-amr' 'alsa-lib' 'libvdpau' 'libxfixes' 'schroedinger' 'libva>=1.0.7' 'openjpeg' 'libvpx' 'gsm')
makedepends=('yasm')
#remake snapshot with: http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=HEAD;sf=tgz
source=(http://chakra-project.org/sources/ffmpeg/ffmpeg-${_head}.tar.gz)
options=('force')
#source=(http://ffmpeg.org/releases//releases/ffmpeg-${pkgver}.tar.bz2)
md5sums=('fcd523f02061aa03a3a81dd022bac640')
build() {
cd "$srcdir/$pkgname-$_head"
cd "${srcdir}"
msg "Connecting to GIT server...."
if [ -d "${pkgname}" ] ; then
cd "${pkgname}" && git pull origin
msg "The local files are updated."
else
# Fetch the required tag from Git
git clone --no-checkout git://git.videolan.org/ffmpeg.git
cd "${pkgname}"
git checkout -q "${pkgname}-${pkgver}"
fi
msg "GIT checkout done or server timeout"
msg "Starting make..."
rm -rf "${srcdir}/${pkgname}-build"
git clone "${srcdir}/${pkgname}" "${srcdir}/${pkgname}-build"
cd "${srcdir}/${pkgname}-build"
./configure \
--prefix=/usr \
--enable-gpl \
--enable-version3 \
--enable-libmp3lame \
--enable-libvorbis \
--enable-libxvid \
@ -42,9 +57,9 @@ build() {
--enable-libopencore_amrwb \
--enable-libschroedinger \
--enable-libopenjpeg \
--enable-version3 \
--enable-runtime-cpudetect \
--enable-libvpx \
--enable-libgsm \
--disable-debug
make
@ -52,10 +67,11 @@ build() {
make doc/ff{mpeg,play,server}.1
}
package(){
cd "$srcdir/$pkgname-$_head"
make DESTDIR="$pkgdir" install install-man
install -D -m755 tools/qt-faststart "$pkgdir/usr/bin/qt-faststart"
package() {
cd "${srcdir}/${pkgname}-build"
make DESTDIR="${pkgdir}" install install-man
install -D -m755 tools/qt-faststart "${pkgdir}/usr/bin/qt-faststart"
}
# vim:set ts=2 sw=2 et:

View File

@ -9,7 +9,7 @@ source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=flashplugin
_licensefile='Reader_Player_AIR_WWEULA-Combined-20080204_1313.pdf'
pkgver=10.2.159.1
pkgver=10.3.181.14
_pkgver64=10.0.45.2
pkgrel=1
pkgdesc='Adobe Flash Player'
@ -25,7 +25,7 @@ backup=(etc/adobe/mms.cfg)
source=('http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz'
"http://www.adobe.com/products/eulas/pdfs/${_licensefile}"
mms.cfg)
md5sums=('716e9e4fd746e400a998afcd12532eab'
md5sums=('e090aaaa5bc2475e024cd13e0ec4e9c1'
'1636037610ee2aa35c5fb736a697b7e0'
'f34aae6279b40e0bd2abfb0d9963d7b8')
#[ "${CARCH}" = "x86_64" ] && source[0]="http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-${_pkgver64}.linux-${CARCH}.so.tar.gz"

View File

@ -1,10 +1,13 @@
# $Id: PKGBUILD 30671 2009-03-21 08:04:20Z eric $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: tobias <tobias@archlinux.org>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=ftgl
pkgver=2.1.3rc5
pkgrel=1
_pkgver=2.1.3-rc5
pkgver=${_pkgver/-/}
pkgrel=2
pkgdesc="OpenGL library to use arbitrary fonts"
arch=('i686' 'x86_64')
url="http://ftgl.wiki.sourceforge.net/"
@ -16,9 +19,17 @@ source=(http://downloads.sourceforge.net/ftgl/$pkgname-2.1.3-rc5.tar.bz2)
md5sums=('c7879018cde844059495b3029b0b6503')
build() {
cd $srcdir/ftgl-2.1.3~rc5
./configure --prefix=/usr --with-pic || return 1
make || return 1
make DESTDIR=$pkgdir install || return 1
install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/LICENSE || return 1
cd "$srcdir/$pkgname-${_pkgver/-/~}"
./configure --prefix=/usr --with-pic
make
}
package() {
cd "$srcdir/$pkgname-${_pkgver/-/~}"
make DESTDIR="$pkgdir" install
# FS#23283: install missing headers for OpenCascade
install -m644 src/FT{Face,Library,Size}.h "$pkgdir/usr/include/FTGL/"
install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

View File

@ -3,62 +3,53 @@
#
# contributor (x86_64): Giuseppe Calà <jiveaxe@gmail.com>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=ghostscript
pkgver=9.00
pkgver=9.02
pkgrel=1
pkgdesc="An interpreter for the PostScript language"
arch=('i686' 'x86_64')
license=('GPL3' 'custom')
depends=('libxext' 'libxt' 'libcups>=1.4.2-3' 'fontconfig>=2.8.0' 'gnutls>=2.8.5' 'cairo>=1.8.8-2'
'jasper>=1.900.1-4' 'zlib' 'libpng>=1.4.0' 'libjpeg>=8')
makedepends=('automake' 'autoconf' 'gtk2>=2.18.6')
optdepends=('texlive-core: dvipdf'
'gtk2: gsx')
replaces=('ghostscript-lrpng')
provides=('ghostscript-lprng')
depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng' 'libjpeg' 'libtiff')
makedepends=('gnutls')
optdepends=('texlive-core: needed for dvipdf')
url="http://www.ghostscript.com/"
source=(http://ghostscript.com/releases/ghostscript-${pkgver}.tar.xz
ghostscript-fPIC.patch
ghostscript-system-jasper.patch)
source=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2)
options=('!libtool' '!makeflags')
md5sums=('1ca5f245677f78f573e6490bdb40702f'
'66e250a6d8e7ca0c7689b9a4f4da58fc'
'03e27cd02471ab3b642c344fa06b623e')
md5sums=('f67151444bd56a7904579fc75a083dd6')
build() {
cd ${srcdir}/ghostscript-${pkgver}
# force it to use system-libs
rm -rf jpeg libpng zlib jasper expat
rm -rf jpeg libpng zlib jasper expat tiff
# fix build with systems jasper
patch -Np1 -i ${srcdir}/ghostscript-system-jasper.patch || return 1
if [ "$CARCH" = "x86_64" ]; then
patch -Np1 -i ${srcdir}/ghostscript-fPIC.patch || return 1
fi
./configure --prefix=/usr \
--enable-dynamic \
--with-ijs \
--with-jbig2dec \
--with-omni \
--with-x \
--with-drivers=ALL\
--with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
--disable-compile-inits \
--disable-gtk
make || return 1
# Build IJS
cd ${srcdir}/ghostscript-${pkgver}/ijs
./autogen.sh
./configure --prefix=/usr --enable-shared --disable-static
make || return 1
make -j1 DESTDIR=${pkgdir} install || return 1
make
}
cd ..
./autogen.sh
./configure --prefix=/usr --enable-dynamic --with-ijs \
--with-jbig2dec --with-omni --with-x --with-drivers=ALL\
--with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
--disable-compile-inits # needed for linking with system-zlib
make || return 1
make -j1 DESTDIR=${pkgdir} \
package() {
cd ${srcdir}/ghostscript-${pkgver}
make DESTDIR=${pkgdir} \
cups_serverroot=${pkgdir}/etc/cups \
cups_serverbin=${pkgdir}/usr/lib/cups install soinstall
# install a missing doc files # http://bugs.archlinux.org/task/18023
# install missing doc files # http://bugs.archlinux.org/task/18023
install -m 644 ${srcdir}/ghostscript-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} ${pkgdir}/usr/share/ghostscript/$pkgver/doc/
mkdir -p ${pkgdir}/usr/share/licenses/${pkgname}
@ -66,4 +57,8 @@ build() {
# remove unwanted localized man-pages
rm -rf $pkgdir/usr/share/man/[^man1]*
# install IJS
cd ${srcdir}/ghostscript-${pkgver}/ijs
make DESTDIR=${pkgdir} install
}

View File

@ -1,19 +0,0 @@
--- ghostscript-8.60-r8112/base/lib.mak.fPIC 2007-07-10 17:03:11.000000000 +0100
+++ ghostscript-8.60-r8112/base/lib.mak 2007-07-10 17:05:56.000000000 +0100
@@ -874,7 +874,7 @@
$(GLOBJ)gsparamx.$(OBJ) : $(GLSRC)gsparamx.c $(string__h)\
$(gserror_h) $(gserrors_h) $(gsmemory_h) $(gsparam_h) $(gsparamx_h)\
$(gstypes_h)
- $(GLCC) $(GLO_)gsparamx.$(OBJ) $(C_) $(GLSRC)gsparamx.c
+ $(GLCCSHARED) $(GLO_)gsparamx.$(OBJ) $(C_) $(GLSRC)gsparamx.c
# Future replacement for gsparams.c
$(GLOBJ)gsparam2.$(OBJ) : $(GLSRC)gsparam2.c $(GXERR) $(memory__h)\
@@ -1077,7 +1077,7 @@
# Provide a mapping between StandardEncoding and ISOLatin1Encoding.
$(GLOBJ)gdevemap.$(OBJ) : $(GLSRC)gdevemap.c $(AK) $(std_h)
- $(GLCC) $(GLO_)gdevemap.$(OBJ) $(C_) $(GLSRC)gdevemap.c
+ $(GLCCSHARED) $(GLO_)gdevemap.$(OBJ) $(C_) $(GLSRC)gdevemap.c
###### Create a pseudo-"feature" for the entire graphics library.

View File

@ -1,26 +0,0 @@
diff -up ghostscript-8.64/base/sjpx.c.system-jasper ghostscript-8.64/base/sjpx.c
--- ghostscript-8.64/base/sjpx.c.system-jasper 2008-08-21 00:22:49.000000000 +0100
+++ ghostscript-8.64/base/sjpx.c 2009-02-04 11:35:56.000000000 +0000
@@ -34,14 +34,6 @@ static void s_jpxd_set_defaults(stream_s
private_st_jpxd_state(); /* creates a gc object for our state,
defined in sjpx.h */
-/* error reporting callback for the jpx library */
-static void
-s_jpx_jas_error_cb(jas_error_t err, char *msg)
-{
- dprintf2("jasper (code %d) %s", (int)err, msg);
-}
-
-
/* initialize the steam.
this involves allocating the stream and image structures, and
initializing the decoder.
@@ -59,7 +51,6 @@ s_jpxd_init(stream_state * ss)
}
status = jas_init();
- jas_set_error_cb(s_jpx_jas_error_cb);
#ifdef JPX_DEBUG
/* raise the error reporting threshold from the default (0) */
jas_setdbglevel(1);

View File

@ -0,0 +1,215 @@
Modified: trunk/gs/base/gdevnfwd.c
===================================================================
--- trunk/gs/base/gdevnfwd.c 2011-01-06 23:48:14 UTC (rev 12004)
+++ trunk/gs/base/gdevnfwd.c 2011-01-07 04:49:42 UTC (rev 12005)
@@ -1117,3 +1117,29 @@
{
return 0;
}
+
+bool
+fwd_uses_fwd_cmap_procs(gx_device * dev)
+{
+ const gx_cm_color_map_procs *pprocs;
+
+ pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
+ if (pprocs == &FwdDevice_cm_map_procs) {
+ return true;
+ }
+ return false;
+}
+
+const gx_cm_color_map_procs*
+fwd_get_target_cmap_procs(gx_device * dev)
+{
+ const gx_cm_color_map_procs *pprocs;
+ gx_device_forward * const fdev = (gx_device_forward *)dev;
+ gx_device * const tdev = fdev->target;
+
+ pprocs = dev_proc(tdev, get_color_mapping_procs(tdev));
+ while (pprocs == &FwdDevice_cm_map_procs) {
+ pprocs = fwd_get_target_cmap_procs(tdev);
+ }
+ return pprocs;
+}
\ No newline at end of file
Modified: trunk/gs/base/gdevp14.c
===================================================================
--- trunk/gs/base/gdevp14.c 2011-01-06 23:48:14 UTC (rev 12004)
+++ trunk/gs/base/gdevp14.c 2011-01-07 04:49:42 UTC (rev 12005)
@@ -900,7 +900,11 @@
nos->parent_color_info_procs->num_components, 1,
false, false, true, tos->planestride,
tos->rowstride, num_rows, num_cols);
- /* Transform the data */
+ /* Transform the data. Since the pdf14 device should be
+ using RGB, CMYK or Gray buffers, this transform
+ does not need to worry about the cmap procs of
+ the target device. Those are handled when we do
+ the pdf14 put image operation */
gscms_transform_color_buffer(icc_link, &input_buff_desc,
&output_buff_desc, tos->data,
new_data_buf);
Modified: trunk/gs/base/gxcmap.c
===================================================================
--- trunk/gs/base/gxcmap.c 2011-01-06 23:48:14 UTC (rev 12004)
+++ trunk/gs/base/gxcmap.c 2011-01-07 04:49:42 UTC (rev 12005)
@@ -31,6 +31,7 @@
#include "gsicc_manage.h"
#include "gdevdevn.h"
#include "gsicc_cache.h"
+#include "gscms.h"
/* Structure descriptor */
public_st_device_color();
@@ -1744,3 +1745,37 @@
}
}
+
+bool
+gx_device_uses_std_cmap_procs(gx_device * dev)
+{
+ const gx_cm_color_map_procs *pprocs;
+
+ if (dev->device_icc_profile != NULL) {
+ pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
+ /* Check if they are forwarding procs */
+ if (fwd_uses_fwd_cmap_procs(dev)) {
+ pprocs = fwd_get_target_cmap_procs(dev);
+ }
+ switch(dev->device_icc_profile->data_cs) {
+ case gsGRAY:
+ if (pprocs == &DeviceGray_procs) {
+ return true;
+ }
+ break;
+ case gsRGB:
+ if (pprocs == &DeviceRGB_procs) {
+ return true;
+ }
+ break;
+ case gsCMYK:
+ if (pprocs == &DeviceCMYK_procs) {
+ return true;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ return false;
+}
Modified: trunk/gs/base/gxcmap.h
===================================================================
--- trunk/gs/base/gxcmap.h 2011-01-06 23:48:14 UTC (rev 12004)
+++ trunk/gs/base/gxcmap.h 2011-01-07 04:49:42 UTC (rev 12005)
@@ -284,5 +284,11 @@
* [0,1]
*/
frac gx_unit_frac(float fvalue);
+/* Determine if the device is using the standard color mapping procs. In
+ such a case, we can make use of the faster icc color conversions for
+ images */
+bool gx_device_uses_std_cmap_procs(gx_device * dev);
+bool fwd_uses_fwd_cmap_procs(gx_device * dev);
+const gx_cm_color_map_procs* fwd_get_target_cmap_procs(gx_device * dev);
#endif /* gxcmap_INCLUDED */
Modified: trunk/gs/base/gxi12bit.c
===================================================================
--- trunk/gs/base/gxi12bit.c 2011-01-06 23:48:14 UTC (rev 12004)
+++ trunk/gs/base/gxi12bit.c 2011-01-07 04:49:42 UTC (rev 12005)
@@ -113,6 +113,8 @@
irender_proc_t
gs_image_class_2_fracs(gx_image_enum * penum)
{
+ bool std_cmap_procs;
+
if (penum->bps > 8) {
if (penum->use_mask_color) {
/* Convert color mask values to fracs. */
@@ -122,9 +124,14 @@
penum->mask_color.values[i] =
bits2frac(penum->mask_color.values[i], 12);
}
+ /* If the device has some unique color mapping procs due to its color space,
+ then we will need to use those and go through pixel by pixel instead
+ of blasting through buffers. This is true for example with many of
+ the color spaces for CUPs */
+ std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN &&
penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ||
- penum->bps != 16 ||
+ penum->bps != 16 || !std_cmap_procs ||
gs_color_space_get_index(penum->pcs) == gs_color_space_index_DevicePixel) {
/* DevicePixel color space used in mask from 3x type. Basically
a simple color space that just is scaled to the device bit
Modified: trunk/gs/base/gxicolor.c
===================================================================
--- trunk/gs/base/gxicolor.c 2011-01-06 23:48:14 UTC (rev 12004)
+++ trunk/gs/base/gxicolor.c 2011-01-07 04:49:42 UTC (rev 12005)
@@ -97,6 +97,8 @@
irender_proc_t
gs_image_class_4_color(gx_image_enum * penum)
{
+ bool std_cmap_procs;
+
if (penum->use_mask_color) {
/*
* Scale the mask colors to match the scaling of each sample to
@@ -128,8 +130,14 @@
penum->mask_color.mask = 0;
penum->mask_color.test = ~0;
}
+ /* If the device has some unique color mapping procs due to its color space,
+ then we will need to use those and go through pixel by pixel instead
+ of blasting through buffers. This is true for example with many of
+ the color spaces for CUPs */
+ std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN &&
- penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ) {
+ penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ||
+ !std_cmap_procs) {
return &image_render_color_DeviceN;
} else {
/* Set up the link now */
Modified: trunk/gs/base/gxiscale.c
===================================================================
--- trunk/gs/base/gxiscale.c 2011-01-06 23:48:14 UTC (rev 12004)
+++ trunk/gs/base/gxiscale.c 2011-01-07 04:49:42 UTC (rev 12005)
@@ -104,6 +104,13 @@
!= penum->dev->color_info.num_components) {
use_icc = false;
}
+ /* If the device has some unique color mapping procs due to its color space,
+ then we will need to use those and go through pixel by pixel instead
+ of blasting through buffers. This is true for example with many of
+ the color spaces for CUPs */
+ if(!gx_device_uses_std_cmap_procs(penum->dev)) {
+ use_icc = false;
+ }
/*
* USE_CONSERVATIVE_INTERPOLATION_RULES is normally NOT defined since
* the MITCHELL digital filter seems OK as long as we are going out to
Modified: trunk/gs/base/lib.mak
===================================================================
--- trunk/gs/base/lib.mak 2011-01-06 23:48:14 UTC (rev 12004)
+++ trunk/gs/base/lib.mak 2011-01-07 04:49:42 UTC (rev 12005)
@@ -602,7 +602,7 @@
$(gxalpha_h) $(gxcspace_h) $(gxfarith_h) $(gxfrac_h)\
$(gxdcconv_h) $(gxdevice_h) $(gxcmap_h) $(gsnamecl_h) $(gxlum_h)\
$(gzstate_h) $(gxdither_h) $(gxcdevn_h) $(string__h)\
- $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h)
+ $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h) $(gscms_h)
$(GLCC) $(GLO_)gxcmap.$(OBJ) $(C_) $(GLSRC)gxcmap.c
$(GLOBJ)gxcpath.$(OBJ) : $(GLSRC)gxcpath.c $(GXERR)\

View File

@ -0,0 +1,16 @@
Modified: trunk/gs/base/gximag3x.c
===================================================================
--- trunk/gs/base/gximag3x.c 2010-12-10 19:50:53 UTC (rev 11947)
+++ trunk/gs/base/gximag3x.c 2010-12-11 23:02:25 UTC (rev 11948)
@@ -241,7 +241,9 @@
const gs_image3x_mask_t *pixm =
(i == 0 ? &pim->Opacity : &pim->Shape);
- *(gs_data_image_t *)&mask[i].image = pixm->MaskDict;
+ /* Use memcpy because direct assignment breaks ANSI aliasing */
+ /* rules and causes SEGV with gcc 4.5.1 */
+ memcpy(&mask[i].image, &pixm->MaskDict, sizeof(pixm->MaskDict));
mask[i].image.type = type1;
mask[i].image.BitsPerComponent = pixm->MaskDict.BitsPerComponent;
}

View File

@ -5,9 +5,9 @@
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=gnash
pkgver=0.8.8
pkgver=0.8.9
pkgrel=1
pkgdesc="GNU flash player and kpath plugin for KDE4"
pkgdesc="GNU Flash player and kpath plugin for KDE 4."
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/gnash/"
license=('GPL')
@ -15,30 +15,40 @@ depends=('agg' 'ffmpeg' 'libjpeg' 'libpng' 'giflib' 'zlib' 'curl' 'giflib' 'boos
'speex' 'fontconfig' 'libva' 'libxinerama' 'gstreamer0.10-base' 'gstreamer0.10-ffmpeg')
provides=('gnash' 'gnash-common')
conflicts=('flashplugin' 'flashplugin-square')
source=(http://ftp.gnu.org/pub/gnu/gnash/$pkgver/gnash-$pkgver.tar.gz)
md5sums=('aec414ee3bebb8901054818fae735214')
source=("http://ftp.gnu.org/pub/gnu/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz")
md5sums=('01d0420932eede07211e368d405aee9c')
options=(!libtool !emptydirs)
backup=(etc/gnashrc etc/gnashpluginrc)
build () {
cd $startdir/src/gnash-$pkgver
./autogen.sh
sed -i "s/moc-qt4/moc/g; s/uic-qt4/uic/g" configure
./configure --enable-renderer=agg \
--enable-media=ffmpeg \
--enable-gui=kde4 \
--enable-gif \
--enable-jpeg \
--enable-png \
--enable-z \
--with-plugins-install=system \
--with-npapi-plugindir=/usr/lib/mozilla/plugins \
--prefix=/usr \
--sysconfdir=/etc
sed -i "s:KDE4_APPSDATADIR =.*:KDE4_APPSDATADIR = /usr/share/apps:" ./plugin/klash4/Makefile
sed -i "s:KDE4_SERVICESDIR =.*:KDE4_SERVICESDIR = /usr/share/kde4/services:" ./plugin/klash4/Makefile
sed -i "s:KDE4_PLUGINDIR =.*:KDE4_PLUGINDIR = /usr/lib/kde4:" ./plugin/klash4/Makefile
make || return 1
make DESTDIR="$pkgdir" install || return 1
make DESTDIR="$pkgdir" install-plugins || return 1
}
build() {
cd "${startdir}/src/${pkgname}-${pkgver}"
./autogen.sh
sed -i "s/moc-qt4/moc/g; s/uic-qt4/uic/g" configure
./configure \
--enable-renderer=agg \
--enable-media=ffmpeg \
--enable-gui=kde4 \
--enable-sound=sdl \
--enable-hwaccel=vaapi \
--with-plugins-install=system \
--with-npapi-plugindir=/usr/lib/mozilla/plugins \
--prefix=/usr \
--sysconfdir=/etc
sed -i "s:KDE4_APPSDATADIR =.*:KDE4_APPSDATADIR = /usr/share/apps:" ./plugin/klash4/Makefile
sed -i "s:KDE4_SERVICESDIR =.*:KDE4_SERVICESDIR = /usr/share/kde4/services:" ./plugin/klash4/Makefile
sed -i "s:KDE4_PLUGINDIR =.*:KDE4_PLUGINDIR = /usr/lib/kde4:" ./plugin/klash4/Makefile
make || return 1
}
package() {
cd "${startdir}/src/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install || return 1
make DESTDIR="${pkgdir}" install-plugins || return 1
}
# vim:set ts=2 sw=2 et:

View File

@ -1,29 +1,29 @@
# $Id: PKGBUILD 52122 2009-09-16 07:33:27Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Roman Kyrylych <roman@archlinux.org>
# Contributor: Aurelien Foret <orelien@chez.com>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=gnokii
pkgver=0.6.28.1
pkgver=0.6.30
pkgrel=1
pkgdesc="Tools and user space driver for use with mobile phones"
arch=('i686' 'x86_64')
url="http://www.gnokii.org/"
license=('GPL')
depends=('libusb' 'libxpm' 'bluez' 'libical' 'postgresql-libs>=8.4.1')
makedepends=('gtk2' 'libmysqlclient>=5.1' 'perlxml' 'intltool')
optdepends=('gtk2: xgnokii GUI'
'libmysqlclient: smsd mysql backend'
depends=('libusb-compat' 'libxpm' 'bluez' 'libical')
makedepends=('libmysqlclient' 'postgresql-libs' 'intltool')
optdepends=('libmysqlclient: smsd mysql backend'
'postgresql-libs: smsd postgresql backend')
backup=('etc/gnokiirc')
options=('!libtool' '!makeflags')
source=(http://www.gnokii.org/download/$pkgname/0.6.x/$pkgname-${pkgver}.tar.bz2
'gnokii.patch')
md5sums=('520d300f1838460d374410ea99ff9a11'
source=(http://www.gnokii.org/download/$pkgname/$pkgname-${pkgver}.tar.bz2
gnokii.patch)
md5sums=('c90137d403febbc16712d64f0eb196de'
'4d764727686ee34bc73489c8b1321c82')
build() {
cd "${srcdir}/${pkgname}-0.6.28"
cd "${srcdir}/${pkgname}-${pkgver}"
# FS#13249
sed -i 's|cellphone|phone|' xgnokii/xgnokii.desktop.in || return 1
@ -33,7 +33,8 @@ build() {
./configure --prefix=/usr \
--sysconfdir=/etc \
--enable-security \
--disable-unix98test || return 1
--disable-unix98test \
--disable-gtk2 || return 1
make || return 1
make DESTDIR="${pkgdir}" install || return 1

View File

@ -8,7 +8,7 @@
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=gutenprint
pkgver=5.2.6
pkgver=5.2.7
pkgrel=1
pkgdesc="Top quality printer drivers for POSIX systems."
arch=('i686' 'x86_64')
@ -23,7 +23,7 @@ source=(http://downloads.sourceforge.net/gimp-print/$pkgname-$pkgver.tar.bz2)
url="http://gimp-print.sourceforge.net/"
replaces=('gimp-print' 'gutenprint')
options=('!libtool' '!emptydirs')
md5sums=('1f0d0cbef6c089f4f095e21869fa70db')
md5sums=('b19029972bf28f6efd693270daf8f5de')
build() {
cd ${srcdir}/${pkgname}-${pkgver}

View File

@ -8,20 +8,21 @@
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=gwenhywfar
pkgver=4.0.7
pkgver=4.0.9
pkgrel=1
pkgdesc="OS abstraction functions for various projects"
arch=(i686 x86_64)
url="http://www.aquamaniac.de"
options=('!libtool')
license=("LGPL")
depends=('openssl' 'gnutls' 'qt4')
source=("gwenhywfar-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=01&release=55&file=01&dummy=gwenhywfar-$pkgver.tar.gz")
md5sums=('d9f95ad9d0bee821ad373af5a57114e7')
depends=('openssl' 'qt' 'gnutls')
source=("gwenhywfar-$pkgver.tar.gz::http://www2.aquamaniac.de/sites/download/download.php?package=01&release=60&file=01&dummy=gwenhywfar-$pkgver.tar.gz")
md5sums=('03c22b95eb493c8c98284d3d2e4d9795')
build() {
cd $srcdir/gwenhywfar-4.0.2
./configure --prefix=/usr --sysconfdir=/etc --enable-ssl --with-guis=qt4
make || return 1
pacman -Q gwenhywfar && return 1
cd $srcdir/gwenhywfar-$pkgver
./configure --prefix=/usr --sysconfdir=/etc --enable-ssl --with-guis=qt4 --disable-gtk2
make
make DESTDIR=$pkgdir install
}
}

38
jbigkit/PKGBUILD Normal file
View File

@ -0,0 +1,38 @@
#
# Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=jbigkit
pkgver=2.0
pkgrel=1
pkgdesc="Data compression library/utilities for bi-level high-resolution images"
arch=('i686' 'x86_64')
url="http://www.cl.cam.ac.uk/~mgk25/jbigkit/"
license=('GPL')
depends=('glibc')
source=(http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-$pkgver.tar.gz)
md5sums=('3dd87f605abb1a97a22dc79d8b3e8f6c')
build() {
cd $srcdir/$pkgname
make || return 1
install -D -m644 $srcdir/$pkgname/libjbig/libjbig.a $pkgdir/usr/lib/libjbig.a
install -D -m644 $srcdir/$pkgname/libjbig/libjbig85.a $pkgdir/usr/lib/libjbig85.a
install -D -m644 $srcdir/$pkgname/libjbig/jbig.h $pkgdir/usr/include/jbig.h
install -D -m644 $srcdir/$pkgname/libjbig/jbig_ar.h $pkgdir/usr/include/jbig_ar.h
install -D -m644 $srcdir/$pkgname/libjbig/jbig85.h $pkgdir/usr/include/jbig85.h
install -d -m755 $pkgdir/usr/share/man/man1
install -m644 $srcdir/$pkgname/pbmtools/*.1* $pkgdir/usr/share/man/man1
install -D -m755 $srcdir/$pkgname/pbmtools/jbgtopbm $pkgdir/usr/bin/jbgtopbm
install -D -m755 $srcdir/$pkgname/pbmtools/pbmtojbg $pkgdir/usr/bin/pbmtojbg
install -D -m755 $srcdir/$pkgname/pbmtools/jbgtopbm85 $pkgdir/usr/bin/jbgtopbm85
install -D -m755 $srcdir/$pkgname/pbmtools/pbmtojbg85 $pkgdir/usr/bin/pbmtojbg85
rm -f $pkgdir/usr/share/man/man5/p{b,g}m.5*
}

View File

@ -2,7 +2,7 @@
# 2011.01.30
pkgname=larch
pkgver=8.2.17
pkgrel=4
pkgrel=5
pkgdesc="Design your own 'live' Chakra GNU/Linux DVDs, CDs and USB-sticks (etc.)"
url="http://larch.berlios.de"

View File

@ -0,0 +1,48 @@
diff --git a/larch/PKGBUILD b/larch/PKGBUILD
index 177c7c9..b9c5e21 100644
--- a/larch/PKGBUILD
+++ b/larch/PKGBUILD
@@ -2,7 +2,7 @@
# 2011.01.30
pkgname=larch
pkgver=8.2.17
-pkgrel=4
+pkgrel=5
pkgdesc="Design your own 'live' Chakra GNU/Linux DVDs, CDs and USB-sticks (etc.)"
url="http://larch.berlios.de"
diff --git a/larch/cli/config.py b/larch/cli/config.py
index b7f0c37..258795e 100644
--- a/larch/cli/config.py
+++ b/larch/cli/config.py
@@ -52,7 +52,7 @@ PACMAN_CONF = '/tmp/larch_pacman.conf'
# Medium detection alternatives
detection_methods = 'label|uuid|device|search'
# Directories to ignore when squashing mods.sqf
-IGNOREDIRS = 'boot dev larch media proc sys tmp .*'
+IGNOREDIRS = 'dev larch media proc sys tmp .*'
# Valid file-system types for extlinux
OKFS = ('ext2', 'ext3', 'ext4', 'btrfs')
diff --git a/larch/cli/larchify.py b/larch/cli/larchify.py
index 3b039f9..30ed14b 100755
--- a/larch/cli/larchify.py
+++ b/larch/cli/larchify.py
@@ -110,6 +110,17 @@ class Builder:
writefile(self.kname, self.medium_dir + '/boot/kernelname')
if os.path.isfile("%s/boot/%s" % (self.installation0, 'vmlinuz26-lts')):
writefile('vmlinuz26-lts', self.medium_dir + '/boot/kernelname-lts')
+
+ # if burg folder found we backup it and restore it
+ if os.path.isfile("%s/boot/burg" % (self.installation0)):
+ comment("Remove any /boot folder but restore found burg folder")
+ runcmd("cp -Rv %s/boot/burg %s/tmp" % (self.installation0, self.installation0))
+ runcmd("rm -Rfv %s/boot" % (self.installation0))
+ runcmd("mkdir -p %s/boot" % (self.installation0))
+ runcmd("cp -Rv %s/tmp/burg %s/boot" % (self.installation0, self.installation0))
+ else:
+ comment("Remove any /boot folder")
+ runcmd("rm -Rfv %s/boot" % (self.installation0))
# if no saved system.sqf, squash the Arch installation at self.installation_dir
if not os.path.isfile(self.system_sqf):

View File

@ -110,6 +110,12 @@ class Builder:
writefile(self.kname, self.medium_dir + '/boot/kernelname')
if os.path.isfile("%s/boot/%s" % (self.installation0, 'vmlinuz26-lts')):
writefile('vmlinuz26-lts', self.medium_dir + '/boot/kernelname-lts')
# if burg folder found we back it up and restore with tribe later
if os.path.isdir("%s/boot/burg" % (self.installation0)):
comment("Backup any found burg folder for tribe to restore")
runcmd("mkdir -p %s/opt/chakra/restore" % (self.installation0))
runcmd("cp -R %s/boot/burg %s/opt/chakra/restore" % (self.installation0, self.installation0))
# if no saved system.sqf, squash the Arch installation at self.installation_dir
if not os.path.isfile(self.system_sqf):

172
larch/docs/build/src/archin.html vendored Normal file
View File

@ -0,0 +1,172 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Installation of the base <em>Arch</em> system</h2>
<p>The <em>larch live</em> system will normally be built from a fresh
(unmodified, unconfigured) <em>Arch</em> installation. The Installation stage,
based on the 'larch-archin' command, handles the creation of this installation
by downloading all the desired packages (if they are not already in the host's
package cache) and installing them to an empty directory (by default
'/home/larchbuild').
</p>
<p>Other approaches are possible, such as using an already existing system
or building a fresh installation in some other way. In that case you can skip
this page.
</p>
<p>By default the package cache on the build host will be used, so that only
packages which have not already been downloaded will be fetched from the
chosen mirror. But it is possible to select another cache location, which
can also be on a remote machine, mounted using <em>sshfs</em> or <em>NFS</em>.
</p>
<p>This raw installation will not normally be modified by <em>larch</em>,
so it can be reused, or even carefully experimented with. However, note
that any changes you make to this installation manually will not be
reflected in the profile, so it might be difficult to reproduce what you
have done at a later time, or to revert the changes.
If you want to configure your system, then the raw installation is probably
not the best place for it, consider rather using the 'rootoverlay' directory
in the profile. All files in this directory will 'overwrite' (well, 'overlay',
actually) corresponding files in the base installation, by placing them
in a higher layer in the <em>aufs</em> mount in the <em>live</em> system.
This makes it very easy to collect your own customizations in a way that
can be applied quickly to a future build.
</p>
<p>See <a href="gui_installation.html">GUI Tab: Installation</a> for
details of the GUI for this process.
</p>
<h3><a name="pacman_conf"></a>'pacman.conf' and 'mirrorlist'</h3>
<p>To make it a little easier to manage upstream changes to the default
'pacman.conf', a separate file ('pacman.conf.repos') is used to specify
the repositories to use (the bit in 'pacman.conf' after the options).
There is a default version of this file in the <em>larch</em> package
at 'data/pacman.conf.repos', and for most simple installations this is
probably adequate, but if you need to change it you can place your own
version in the profile.
</p>
<p>Note that this file does not use the standard format, but
packs repository name and "server line" together on one line, separated
by ':'. There is no way to supply more than one "server line". There
are a couple of special 'codes', which <em>archin</em> will convert:
<ul>
<li>'*platform*' will be converted to 'i686' or 'x86_64' as
appropriate (according to the host).</li>
<li>'*default*' will be converted to the standard 'Include' entry.
This is normally 'Include = /etc/pacman.d/mirrorlist', but for
installation (only) this will be overridden if there is a 'mirrorlist'
file in the working directory - if neither exists, the fallback is
'data/mirrorlist' within the <em>larch</em> base directory.
This latter file is not supplied in the 'larch' package,
as it is not intended for use on <em>Arch</em>
systems. When the 'larch-setup' script detects that no 'pacman'
command is available, it downloads the 'pacman-allin' package
and among the things that gets extracted from it is this
'mirrorlist' file.
</li>
</ul>
Here is an example of a 'pacman.conf.repos' file:
</p>
<pre>
# Package repository entries for pacman.conf
# '*platform*' will be replaced by 'i686' or 'x86_64' as appropriate.
# '*default*' will be replaced by 'Include = /etc/pacman.d/mirrorlist'
# (but for the installation: a 'mirrorlist' file in the working directory will
# be preferred, or - if neither exists - then 'data/mirrorlist')
# You can add your own custom repositories (anywhere).
larch: Server = ftp://ftp.berlios.de/pub/larch/larch8/*platform*
#testing: *default*
core: *default*
extra: *default*
community: *default*
</pre>
<p>The top part of the complete 'pacman.conf' (the options) is taken from
a normal default 'pacman.conf' supplied in the 'larch' package at
'data/pacman.conf'.
You can override this by placing your own version in the profile, as
'pacman.conf.options' (note that any repositories you might specify in
this file will be ignored). A further option is to specify a version of
the file 'pacman.conf.repos' to be used only for the installation (not
for the resulting <em>live</em> system. This is especially useful if
you have a local package repository/mirror.
</p>
<p>The complete 'pacman.conf' file is generated by combining the header
part and the repository part and is saved to a temporary location for
the installation. After the installation is complete a final version of
this file (that for the <em>live</em> system) is placed at
the standard location within the installation, '/etc/pacman.conf'. Note
that it is not placed in the overlay, but - as an exception to the rule -
directly within the installation.
</p>
<h4>Usage example: The 'dummy' mirror</h4>
<p>During testing I found it useful to work with stable repositories.
I did this without creating a proper local mirror, but by creating a sort
of 'dummy' mirror containing only the ****.db.tar.gz files, relying on
the cache to supply the actual package files.
(The script 'repos.sh' supplied with <em>larch</em> in the
'scripts' directory can build these 'db' files from the current state of
the pacman sync database on the host.)
</p>
<p>If you are running the commands on the console you can pass the path
to a customized repository list file with the '-r' option. Remeber this
file must be constructed as detailed above.
</p>
<h3><a name="Custom_packages"></a>Custom packages</h3>
<p>It is possible to include your own 'custom' packages in the installation.
Maybe ones you have compiled yourself, e.g. from the AUR, or modified versions
(fixes or customizations) of standard packages. To do this you need to put
your packages in a directory and run <strong>gen-repo</strong>, supplied with
<em>larch</em> in the 'scripts' directory, on this directory (run it without
arguments to get usage instructions). Then place an entry for this new
repository in your 'pacman.conf.repos'.
If your packages replace some in the existing repositories, your custom
repository needs to come before those repositories in 'pacman.conf.repos'.
Any packages you want installed now just need to be
listed in <strong>addedpacks</strong>.
</p>
<h3><a name="package_selection"></a>Selection of packages to be installed</h3>
<p>The (compulsory) profile file 'addedpacks' contains a
list of packages
(just the package names, as supplied to 'pacman -S') to be installed,
one package name per line (empty lines and lines starting
with '#' are ignored). Also names of package groups may be included in this
file, to request installation of the whole group. If a group name is preceded
by '*', individual packages belonging to the group can be excluded via the
'vetopacks' file (see below) - without the '*' this exclusion
is not possible. It is also possible to
'include' other files by means of lines starting with '+' - this may be
followed by the absolute or relative path to the file to be included.
Package dependencies are handled by <em>pacman</em> automatically.
</p>
<p>The (optional) profile file 'vetopacks' allows packages to
be excluded from the installation list. This can be useful if individual
packages from a group should be excluded. However, note that inclusion of a
package in this file does not guarantee that it will not be installed - the
package is only removed from the installation list. If it is required by
another package it will be installed anyway. It is also possible to
'include' other files in the veto list using '+' lines.
</p>
<p>Certain 'required' and 'suggested' packages are included by
default, these are in the file 'data/requiredpacks' in the 'larch' package.
This file should generally not be edited, because an update of the 'larch'
package will overwrite any changes. Packages listed in this file can be
excluded by listing them in the profile 'vetopacks' file.
The whole file can be overridden in 'addedpacks' by
starting that with '!!!'. But only do that if you really know what you
are doing.
</p>
</div>

View File

@ -0,0 +1,95 @@
<div class="larchdocs">
<h2 id="pagetitle" level="2">GUI Tab: Installation</h2>
<p>This tab mixes profile options and project options. Which packages
to install is a feature of the profile, as is the basic design of the
'pacman.conf' file. The exact location of the packages (repository
and cache paths) are more related to the build environment.
</p>
<h3>Package selection</h3>
<p>See <a href="archin.html#package_selection">here</a> for details of how
the list of packages to be installed is built up. The gui offers
convenient editing of the 'addedpacks' and 'vetopacks' files.
</p>
<p><em>pacman</em> configuration is handled in separate parts.
'pacman.conf' is effectively split into two, the options part and the
repositories part can be edited separately, though the default options
should be alright for most purposes. This split might ease management
of updates to the structure of the file 'pacman.conf' with new pacman
releases. Default versions of both parts (for the options part a complete
pacman.conf can be used, the repositories will be stripped automatically)
are supplied in the 'data' directory of the 'larch' package.
A simplified format is used for the repository file, details can be
found <a href="archin.html#pacman_conf">here</a>.
</p>
<p>Note that the <em>larch</em> repository must be available for building
the <em>live</em> system, i.e. it must be included in the 'pacman.conf'
used for the installation process. It is not strictly necessary for the
resulting <em>live</em> system to include this repository. See below for
further details.
</p>
<h3>'mirrorlist'</h3>
<p>It is possible to customize the 'mirrorlist' file used for installation.
This can be very convenient, because when building a <em>live</em> system
the build environment can be very different from the run-time environment.
For example, you might use local package repositories for building which
cannot possibly be available when the <em>live</em> system is used.
</p>
<p>Customized versions of the 'mirrorlist' file are not regarded as
belonging to the profile, because they are build environment specific, so
they are stored in the project directory, which is made current when the
larch backend scripts are run.
</p>
<h3>Special installation repositories and cache</h3>
<p>Adjustments to the installation repository file and cache location are
treated as 'advanced' options, because in many cases the defaults will be
perfectly adequate.
</p>
<h4>Using different mirrors/repositories for the installation</h4>
<p>The second part of the 'pacman.conf' file, the repository list, can be
specified separately for the installation, via the frame
'Use project repository list'. For certain build environments this can be
very useful.
</p>
<p>A further way of getting a distinct 'pacman.conf' in the resulting
<em>live</em> system is to put it in the profile's 'rootoverlay' directory
(in the '/etc' subdirectory, as usual).
</p>
<h4>Package cache</h4>
<p>Normally the host's standard package cache will be used for the
installation, but it is possible to use a non-standard location. I guess,
however, that this will not normally be necessary.
</p>
<h3>Tweak installed packages</h3>
<p>To perform small changes to the base installation, such as updating the
packages, or adding or removing the odd package, it may be convenient not
to have to do a complete reinstallation. To this end a set of buttons for
basic pacman operations are included (in an optional frame). Their use
should be fairly self-explanatory. During testing it can
be helpful to be able to make quick changes like this, but it is probably
not a good idea to use these facilities too freely. The installation will
differ from the specification in the profile (unless you immediately edit
the profile too), which may be no problem for one-offs, but if you ever
want to reuse the profile you may well lose track of what changes you have
made.
</p>
</div>

129
larch/docs/build/src/gui_larchify.html vendored Normal file
View File

@ -0,0 +1,129 @@
<div class="larchdocs">
<h2 id="pagetitle" level="2">GUI Tab: Larchify</h2>
<p>You can repeat the 'larchify' command as often as you like,
to test various configurations or to build differently configured
<em>live</em> systems with the same underlying packages. This works
because the 'larchify' process itself does not change anything within the
installation - all the files it generates are placed in the 'overlay',
which (thanks to <em>aufs</em>) will just cover up any old versions of
the added files in the underlying installation. At present <em>larch</em>
does not support the 'deletion' of installation files, they can only be
overlayed by replacements.
</p>
<h3>User accounts</h3>
<p>You can enter or edit user accounts to be added during the creation of
the <em>live</em> system. Any of the columns except the first (the login
name) may be empty.
</p>
<p>A password can be set for the new user by entering this (plain text -
I'm guessing this is alright in this situation ...). An empty password
field will allow passwordless logins (at least on the console).
</p>
<p>The primary group of a new user can be set in the 'Group' column.
When this is empty, it takes the <em>useradd</em> default, which is
defined by settings in '/etc/login.defs' and '/etc/default/useradd'. Note
that the default in <em>Arch Linux</em> is a group with the same name as
the user, this is set by 'USERGROUPS_ENAB yes' in 'etc/login.defs'. You can
override this by adding an 'expert' option, or by placing a modified version
of this file in the profile's 'rootoverlay' directory.
</p>
<p>By default the UID number will be chosen automatically, but a specific
number may be entered here. In <em>Arch Linux</em> the UIDs normally start
at 1000.
</p>
<p>The 'skel'-directory column determines how the user's home
directory will be initialized. The default (empty cell) is to copy the
contents from '/etc/skel'. The editor popup shows a list of the available
alternatives (folders within the profile beginning with 'skel_').
</p>
<p>The additional groups to which this user should belong can also be
specified. Entries in this column are initialized to some default value
which should be adequate for normal use, but may well need tweaking.
This is a comma separated list <strong>without spaces</strong>.
</p>
<p>The final column allows you to pass further options to the system
'useradd' command used to add the new user. Do not use double-quotes in this
option string. Read 'man useradd' for more information about the available
options.
</p>
<h4>Editing the table</h4>
<p>Click on a cell in the selected row to cause an editor popup to appear.
Clicking on an unselected row selects that row.
</p>
<h3>The kernel</h3>
<p>By default the standard <em>Arch</em> kernel will be used in the
<em>live</em> system, but it is also possible to use some other kernel, so
long as it is suitably configured. In particular it must support
<em>squashfs</em> and <em>aufs</em>. If you are using a non-standard kernel
you need to tell <em>larchify</em> where it is (its file name within the
/boot directory - the default is 'vmlinuz26') and the name of its
<em>mkinitcpio</em> preset file (default 'kernel26'). These can be entered
in the corresponding places in the advanced options section of the gui.
</p>
<h3>The overlay</h3>
<p>Apart from the few customization options offered by the GUI directly, it
is possible to include any files in the <em>live</em> system by adding them
at the appropriate path within the overlay directory ('rootoverlay') of
the profile. This button opens a file browser on the 'rootoverlay' directory
of the current profile.
</p>
<h3>Locales</h3>
<p>You can select the (glibc) locales supported by the <em>live</em>
system by editing the /etc/locale.gen file in the overlay. If there is
no such file initially it will be copied from the new installation's
(not the host's!) version. See (for example) the <em>Arch Wiki</em> for
more information about locales. Note that <em>larch</em> tries to leave
the locale files in the installation itself unchanged, new files are
placed in the overlay.
</p>
<h3><em>Arch</em> configuration: /etc/rc.conf</h3>
<p>This is the central configuration file for an <em>Arch Linux</em>
system. You can edit it here (see for example the <em>Arch Wiki</em> for
more information about this file).
</p>
<h3>Reuse existing system.sqf</h3>
<p>After 'larchify' has been run, the base installation will have been
'squashed' into a compressed archive. Setting this option will prevent
the repetition of this compression (which is quite a lengthy process) on
the next run of 'larchify'. This should only be enabled if no changes
have been made to the base installation (otherwise these changes will
not be picked up).
</p>
<h3>Advanced options - the defaults are normally fine</h3>
<h4>mkinitcpio.conf</h4>
<p>Here you can edit the mkinitcpio.conf used for building the
<em>initramfs</em> for the <em>live</em> system. N.B. The details of
<em>mkinitcpio</em> handling in <em>larch</em> are a bit complicated,
so if you change something here please be careful - you are not editing
'/etc/mkinitcpio.conf', but rather 'etc/mkinitcpio.conf.larch' in the
'rootoverlay' directory of the profile (see
<a href="larchify.html#mkinitcpio">here</a> for further details).
Also, don't change the <em>larch</em> hooks.
</p>
<h4>ssh-keys</h4>
<p>See <a href="larch_ssh.html#ssh_hostkeys">ssh host keys</a>. The default
is to generate these keys (if the <em>openssh</em> package is installed).
</p>
<h4>Reuse existing locales</h4>
<p>For people generating a lot of locales this can save a bit of time on
a rerun, so long as nothing significant (like <em>glibc</em>, or
/etc/locale.gen) has changed in the installation.
</p>
</div>

154
larch/docs/build/src/gui_medium.html vendored Normal file
View File

@ -0,0 +1,154 @@
<div class="larchdocs">
<h2 id="pagetitle" level="2">GUI Tab: Preparing the Medium</h2>
<p>This tab presents the various possibilities for installing the
<em>live</em> system that was built on the 'larchify' tab onto a bootable
device, which can be in <em>iso9660</em> form (to burn to a CD/DVD), or
a partition on a hard disk or flash storage device. A suitable bootloader
can also be installed. In addition the copying of a larch system from one
medium to another is supported and also the building of a boot-iso for
a USB device.
</p>
<h3>Bootloader</h3>
<p>To keep things simple only the <em>syslinux</em> family of bootloaders is
supported. This allows booting from CD/DVD (<em>isolinux</em>) and partitions
formatted with 'ext2/3/4' or 'btrfs' (<em>extlinux</em>) or with 'vfat'
(<em>syslinux</em>).
</p>
<h3><a name="bootlines"></a>Boot entries/options</h3>
<p>The bootloader offers a selection of 'boot lines', so that
different systems, or various kernels in combination with various
boot options can be started. The file 'cd-root/boot/bootlines' in the profile
contains this information for the <em>larch live</em> system in a
form which can be converted automatically into bootloader specific
formats. This allows the boot menu entries to be supplied in the
profile in an easily parseable way which is independent of the actual bootloader
which is used in the end. The format should be pretty clear from
the default version.
</p>
<p>The 'bootlines' file covers only the menu entries for the
<em>larch live</em> system. All other entries must be supplied in
a bootloader specific 'template' file. A button is supplied to edit
this, too. Note the '###LARCH' line, which specifies where the
information from the 'bootlines' file is to be included.
</p>
<h3>The 'cd-root' directory</h3>
<p>The handling of this directory is described
<a href="profiles.html#cd-root">here</a>. It allows customisation of
files on the medium which are not directly used by <em>larch</em>, but
can be useful in certain circumstances. You could, for example, include
a package repository, or just about any data files needed by the
specific <em>live</em> system. The default settings might well be
adequate for many purposes.
There is a button to open a file browser on this directory
(within the current profile).
Note that only the '/boot' and '/larch' directories of the medium are
available for customisation, so in general any application data should
be placed in the '/larch' directory.
</p>
<h3>Choice of build medium</h3>
<p>The main choice is between a partition (on a hard-disk, USB-stick, etc.)
and an <em>iso</em> file (for writing to a CD/DVD). It is also possible to
build a 'boot-iso' (to burn to a CD) for an already prepared <em>larch</em>
USB-medium, to enable booting on older systems which don't support booting
from USB.
</p>
<p>The destination can be changed by clicking the button - a menu appropriate
to the type of destination appears (note that for destination partitions
only unmounted ones will be shown).
</p>
<h4>Build an <em>iso</em>, for CD or DVD</h4>
<p>Only limited customisation possibilities are offered here, you can
set the volume label ('-V' option to <em>mkisofs</em>). The boot CD is
discovered at boot by searching for '/larch/system.sqf'.
</p>
<h4>Install to partitition</h4>
<p>Here one must select the partition to install to - which must be
plugged in and not mounted (good luck to automounters!), and
also select how the <em>live initramfs</em> is to find the correct
partition. The available options are:
<ul>
<li>Partition: The device will be sought on the basis of its (current)
device name - such as /dev/sdb1. This is only suitable if you can be
sure the device will always get the same name (which - especially with
pluggable devices - is unlikely).</li>
<li>UUID: Each device normally has a unique UUID, so this is a pretty
reliable method. It's just that the UUIDs themselves are rather ungainly
and unmemorable.</li>
<li>LABEL: Booting on the basis of the device label can be quite reliable
and quite readable, so it might be a good compromise. This is the
recommended choice.</li>
<li>Search (for larchboot): The <em>live initramfs</em> tests all
visible devices until it finds one containing the file larch/larchboot.
</li>
</ul>
</p>
<p>The partition will be formatted with 'ext4', and you can choose whether
to use the journalling feature of this file-system.
No other file-system types are supported at present (though by formatting
exernally and using the 'Don't format' option it is possible to use
another one, so long as it is supported by <em>syslinux/extlinux</em>).
The option to install without formatting should only be used by people who
know what they are doing, in general it is <strong>not</strong> recommended.
Another option for experts is the suppression of the installation of the
bootloader to the Master Boot Record of the <em>live</em> medium. If you
don't install to the MBR, you will need to provide some other means of
booting the device, but in certain circumstances this could be a useful
option.
</p>
<p>The option 'Not bootable via search' suppresses the generation of the
'larch/larchboot' file, so that the method of medium detection which
searches for this file will not work on the generated medium (this of
course makes no sense if the 'Search (for larchboot)' medium detection
method is selected for this medium).
</p>
<h4>Create boot iso</h4>
<p>In this case the <em>source</em> medium - a partition containing the
<em>larch</em> system (presumably on a USB device) must be selected,
by clicking on the button in the source frame. Only unmounted partitions
with volume labels will be offered. A small <em>iso</em> file with just
the kernel and initramfs, plus the necessary bootloader files, will be
created. This is to cover cases where a machine cannot boot from USB
devices, but can boot from a CD.
Note that the USB device for which the CD is to be generated must be
plugged in, but not mounted.
</p>
<h3>Volume label</h3>
<p>The maximum length of the label should be 16 characters, which is ok
for both 'iso' (CD/DVD) and for 'ext4'.
</p>
<h3>Write the larch medium</h3>
<p>When enough information is available, this button will be enabled and
the generation can be started.
</p>
<h3>Copying larch media</h3>
<p>By choosing a medium (iso-file or labelled partition) in the source
frame, it is possible to copy this system to another medium. Certain
aspects of the destination device can be set just as in the initial
creation process. When a device or iso-file is selected as source a
simple validity check will be performed on it, a failure resulting in
the selection not being accepted.
</p>
</div>

View File

@ -0,0 +1,97 @@
<div class="larchdocs">
<h2 id="pagetitle" level="2">GUI Tab: Project Settings</h2>
<h3>Projects</h3>
<p>The <em>larch-8</em> GUI uses 'projects' to gather together a few
configuration options concerning the build environment.
Examples are the location of the <em>Arch</em> installation to be
'larchified' (converted to a <em>live</em> system), pacman options such
as package repository locations, which 'profile' (see below) to build with,
which boot loader to use, and so on. These are all options which don't
directly affect the design of the live system to be built. Most of the
remaining configuration options do concern the design and are specified
in the 'profile', for example the details of which packages to
install, and how to configure the installed system.
</p>
<p>All project information is kept in a directory within '~/.config/larch'
whose name is derived from the project name by prefixing it with 'p_'.
The currently selected project is specified in the file
'~/.config/larch/app.conf' (the application configuration file), the
default entry being 'project = larch-0'.
</p>
<p>A new named project can be created in the advanced options on the
Project-Settings tab of the GUI. For many purposes this will be unnecessary
and one can use the default project, 'larch-0' (this is why it is among the
advanced options). It is also possible to delete projects which are no longer
needed, and to set the path of the installation to be larchified. Note
that the GUI uses a different default installation path than the command
line scripts, '~/larch_build' (i.e. within the user's home directory).
Changing the installation path to an empty one ('') will return to the
default one.
</p>
<h4>Installation Path</h4>
<p>The installation that <em>larch</em> turns into a <em>live</em> system
need not be on a separate partition, it can be placed anywhere convenient.
The default installation directory ('~/larch_build') should normally be
acceptable, so long as there is enough free space on that partition.
Note that lots of space is necessary, nearly 4GB for a 700MB CD, for example.
The <em>live</em> system is built in the '.larch' sub-directory of the
installation directory; it must be within the installation to be converted
because some of the construction work is done using <em>chroot</em>.
</p>
<p>The installation of the <em>Arch Linux</em> system to be larchified is
handled on the <a href="gui_installation.html">'Installation'</a> tab of
the GUI, but an already existing <em>Arch Linux</em> installation can also
be larchified: see <a href="larchify.html#existingSystem">
Making a live CD from an existing Arch installation</a>
</p>
<p>As the actual building work is done with admintrator permissions, the
installation path can actually be anywhere in the file-system - exercise
caution in entering the path, you could do some real damage to your system
if you make a mistake. Entering an empty string will cause the default
path to be chosen, to larchify the running system (not at all recommended!)
enter '/'.
</p>
<h3>Profiles</h3>
<p>A profile contains the information needed to build a particular flavour
of <em>(live) Arch Linux</em> - which packages to install, which locales,
system configuration in '/etc/rc.conf', boot entries, and so on. Apart
from a few basic configuration details (mainly those concerned specifically
with the special needs of a <em>live</em> system) for which <em>larch</em>
provides a special mechanism, all desired changes from the freshly
installed state should be placed in the directory 'rootoverlay' within
the profile directory. This allows easy rebuilding of a particularly
configured system, and it also allows various (differently configured)
<em>live</em> systems to be built from the same underlying installation,
without touching the installation itself.
</p>
<p>All profile information is kept in the correspondingly named directory
within the directory '~/.config/larch/myprofiles'.
</p>
<p>The profiles are shared by all projects, so if you change one that is
in use by another project, it will also be changed for that project.
Deletion or renaming of a profile that is in use by another project is
not permitted, but it is possible to 'clone' the current profile (copy it
within the 'myprofiles' directory to a directory with another name),
thus creating a new, 'unattached' version.
A new profile can be also be fetched from anywhere in the file-system,
using the browse button.
</p>
<p>When browsing for, renaming, cloning or copying profiles it is possible
to overwrite existing profiles, but you will be prompted for confirmation.
</p>
</div>

114
larch/docs/build/src/larch_features.html vendored Normal file
View File

@ -0,0 +1,114 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Features</h2>
<ul>
<li>
<p>Built from standard <em>Arch Linux</em> packages</p>
</li>
<li>
<p>Only minimal changes made to enable functioning as a <em>live</em>
system - it is essentially pure <em>Arch Linux</em></p>
</li>
<li>
<p>Can build <em>live</em> iso images (for CD or DVD), USB-sticks,
hard disk partitions (sometimes called 'frugal' installation), etc.</p>
</li>
<li>
<p>Can also build from existing <em>Arch</em> installation</p>
</li>
<li>
<p>Can use standard <em>Arch</em> kernel ('kernel26'), no kernel build is
necessary</p>
</li>
<li>
<p>Fully customisable package selection</p>
</li>
<li>
<p>Use of build 'profiles' to make system designs readily reproducible - all
the configuration details are contained within a 'profile' directory</p>
</li>
<li>
<p>Uses isolinux/extlinux/syslinux bootloader</p>
</li>
<li>
<p>Automatic generation of /etc/fstab based on device detection;
can also detect LVM volumes (when configured to do so)</p>
</li>
<li>
<p>Does not require an <em>Arch Linux</em> system to build it, any modern
<em>GNU/Linux</em> system should suffice</p>
</li>
<li>
<p>Can be used to install an already configured <em>Arch Linux</em> to hard disk -
you can test, configure and reconfigure, and even update, before you install</p>
</li>
<li>
<p>Uses standard udev-based hardware detection</p>
</li>
<li>
<p>Based on squashfs, aufs, initramfs (using standard <em>Arch</em>
mkinitcpio)</p>
</li>
<li>
<p>On a writeable medium (e.g. USB-stick) it is possible to support transparent
data persistence between boots - also package updates (including the kernel) are
possible</p>
</li>
<li>
<p>Easy copying between media, e.g. USB-stick -- CD/DVD</p>
</li>
<li>
<p>Full graphical system possible, e.g. with KDE, OpenOffice, GIMP, ... .
Example profiles build xfce based systems</p>
</li>
<li>
<p>Using ssh it's possible to run this CD/USB-stick on a system without
monitor/keyboard - remote installation and rescue is also possible</p>
</li>
<li>
<p>Optional use of existing swap partition ('swap' boot parameter)</p>
</li>
<li>
<p>Simple text configuration files</p>
</li>
<li>
<p>Extensive documentation</p>
</li>
<li>
<p><em>larch</em> can itself be run from a <em>live</em> medium, allowing easy
'larchification' of existing installations</p>
</li>
<li>
<p>The basic functions are provided by command-line scripts (written in python),
but a convenient GUI is also provided (using pyqt)</p>
</li>
<li>
<p>i18n-ready (using <em>gettext</em>)</p>
</li>
</ul>
</div>

13
larch/docs/build/src/larch_gui.html vendored Normal file
View File

@ -0,0 +1,13 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Using the GUI</h2>
<p><em>larch-8</em> can be run from a graphical user interface. This presents
most of the main options in a clear way, avoiding cryptic command-line
mumbo-jumbo.
</p>
<p>The <em>larch</em> documentation is available in the GUI, and there are
documentation pages for each of the tabs in the <em>larch</em> window.
</p>
</div>

251
larch/docs/build/src/larch_intro.html vendored Normal file
View File

@ -0,0 +1,251 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Introduction</h2>
<blockquote>
<h3>Warning</h3>
<p><em>Before we get started I should point out that most of the
<em>larch</em> scripts must be run as root in order to do their work,
and that much of this work consists of deleting and overwriting files
and even complete directories. If just one of these is wrong it might make
quite a mess of your system. That is quite normal for an installer,
but you will be using it on a system that
is already configured and this is somewhat risky - if you set up your
configuration wrong (or if you or I made some other mistake ...), you
might find you have destroyed some important data and/or your system
doesn't work any more. But that's life - <strong>Share and
Enjoy!</strong></em>
</p>
</blockquote>
<p>Below is the general introductory blurb, but for those who want to jump
straight in and try it out I would suggest the following pages as possible
starting points:
<ul>
<li><a href="larch_quick.html" >Quick Start with the GUI</a>
</li>
<li><a href="larch_quick-console.html" >Quick Start on the command line</a>
</li>
</ul>
</p>
<h3><a name="live_system"></a>What is a <em>live</em> system?</h3>
<p><em>larch</em> is a collection of scripts designed around the creation and
use of custom <em>live</em> media (USB-stick/CD/DVD) of <em>Arch Linux</em>.
A <em>live</em> operating system is one which can reside on a removable medium
and boot on (ideally) any computer (of compatible architecture) into which
it is inserted. This can be useful in quite a variety of situations, for
example for testing purposes, for rescue purposes on machines whose
installed operating system is broken, or as an installation medium (many
linux distributions use <em>live</em> systems as installers). But there
are also situations where a permanently installed <em>live</em> system
can offer advantages over a normal installation, perhaps because of the
compression or because a <em>live</em> system is quite robust - it is
in essence read-only (though there are ways of supporting data persistence),
and can be quite insensitive to hardware changes.
</p>
<p>The main features of the <em>larch</em> system are listed on the
<a href="larch_features.html">Features</a> page, among the most
significant might be the use of <a href="profiles.html">'profiles'</a>
to define the characteristics of the system to be built, the ability
to install the <em>live</em> system to various media and simple support
of data persistence. In addition it tries to remain as close
to standard Arch Linux as possible, using (by default) the standard
kernel, the same initscripts, <em>mkinitcpio</em> for building the
<em>initramfs</em>, etc.
</p>
<h3><a name="requirements"></a>Build system requirements</h3>
<p><em>larch</em> has been designed to work without extensive demands on
the build system. Although it has been developed under <em>Arch Linux</em>,
<em>larch</em> should run on other <em>GNU/Linux</em> systems. By means
of a sort of bootstrapping, the required software has been kept to a
minimum - many of the build functions are carried out on the newly
installed <em>Arch</em> system using <em>chroot</em>.
For example, you do not need support for <em>squashfs</em> or <em>aufs</em>
on the build system. But basic utilities which are normally available on any
<em>GNU/Linux</em> system, such as <em>bash</em>, <em>file</em>,
<em>find</em>, <em>blkid</em>, <em>mkisofs</em> - and
of course <em>chroot</em> - are assumed to be present (on <em>Arch</em>
that is packages 'bash', 'e2fsprogs', 'util-linux-ng',
'coreutils', 'findutils', 'file', 'cdrkit').
</p>
<p> The <em>larch</em> scripts are written mainly in python, but snippets
of bash crop up here and there.
In addition to python you must also have the pexpect module available
(in <em>Arch</em> the 'python-pexpect' package). The (optional) GUI
requires pyqt. I'm not sure what the oldest supported versions are,
development was done using python-2.6 and pyqt-4.7.
I think python-2.5 should be alright, and I have heard that
pyqt-4.4 probably doesn't work.
</p>
<h3><a name="cli_gui"></a>Command line vs. GUI</h3>
<p>
The basic functionality of <em>larch</em> is provided by command-line scripts,
but a graphical user interface is available, to make it easier to see what
options are available and to avoid the need to remember and not mistype
obscure command line parameters. In addition to providing a front-end to the
main scripts the GUI also provides help with organising the configuration
files.
</p>
<h3><a name="overview"></a>Overview</h3>
<p>One design aim was easy customisation, so that even relatively inexperienced
users could build personalised <em>live</em> systems on USB-stick or CD/DVD,
containing whatever
packages they wanted and with their own personal configurations. The resulting
medium should also be usable for installation purposes, so that one has a
customised <em>Arch Linux</em> installation/rescue medium. As the content can
be chosen freely, a comfortable working environment is possible - in contrast
to the rather Spartan standard <em>Arch</em> installation CD. However, note
that it is also possible, using the officially supported <em>archiso</em>, to
produce a customised <em>Arch Linux</em> installation/rescue medium (see the
corresponding <em>Arch wiki</em> page). The approach taken by the two projects
is somewhat different so do have a look at both. Note that at the latest since
version 7, <em>larch</em> makes no pretence of a 'KISS' approach. The code is,
I'm afraid, rather complicated. The resulting <em>live</em> system should,
however, be very close to a normal non-<em>live Arch Linux</em> system (as
far as the <em>squashfs + aufs</em> basis allows).
</p>
<p><em>larch</em> offers a flexible approach to building your
<em>live</em> media. You can use 'profiles' to determine what gets installed,
and how it is configured. The advantage of this method is that all your
specifications are kept together in a folder which can be used to rebuild the
same or a similar system at a later date. Alternatively you can do a normal
<em>Arch Linux</em> installation (if there is such a thing!) and then make a
<em>live</em> medium from this (e.g. by running <em>larch</em> on it from a
<em>live</em> medium).
</p>
<p>The use of <em>squashfs</em> in the resulting system means that the space
occupied will be significantly less than in the 'raw' state, normally about a
third of the original. As a result of this decision, it is not possible to write
directly to the system - which would seem to be quite a drawback, though in
some situations it can even be an advantage. The use of <em>aufs</em> (a
'unification' file-system, originally based on <em>unionfs</em>) allows the
resulting system to use a writeable 'overlay', so that the system behaves in
most respects like a normal installation. Of course if the boot medium is not
writeable (e.g. a CD) it may be difficult to provide a persistent writeable
layer (full persistence, which would include kernel updates, is completely
impossible in such a situation). In that case, or in general if it is
desired that there is no
persistence (e.g. for 'kiosk' type situations), <em>tmpfs</em> (a
memory-based file-system) can be used for the writeable layer.
</p>
<p>If the <em>larch</em> system is used in the same way as a normal
<em>Arch</em> installation, including package updates, the space saving
effect of the <em>squashfs</em> archive can be lost (updates cannot
modify the base archive, so they occupy additional space). At some point
it would then be desirable to rebuild the system. This should be fairly
straightforward, but it is not really the envisioned use of <em>larch</em>
media.
</p>
<p>Hardware detection is provided by the same <em>udev</em> approach as is
used in a standard <em>Arch Linux</em> system.
</p>
<p>The <em>larch</em> project comprises several components. The scripts for
building a <em>larch live</em> medium are in the <em>larch</em> package, which
need not itself be installed in the <em>live</em> system, though it may be
useful (and is indeed installed by default). Scripts and data for the
<em>live</em> environment are provided in the
<em>larch-live</em> package, which must be installed in the <em>live</em>
system. There is also an optional installer (<em>larchin</em>) which can
install the <em>live</em> system to hard disk, providing a convenient way
to install a ready-configured <em>Arch Linux</em> system.
</p>
<p>As with <em>Arch Linux</em> in general <em>larch</em> is not really
designed for beginners - you should know your way around a
<em>GNU/Linux</em> system (preferably <em>Arch</em>!), and be aware of the
dangers of running such programs, such as corrupting your whole system.
In any case, I hope that the
documentation will be clear enough to help anyone who wants to exploit
<em>larch</em> to the full (feedback is welcome!).</p>
<p><b>Space Requirements:</b>
You need quite a lot of space to create a <em>live Arch Linux</em> system.
Bear in mind that a complete <em>Arch Linux</em> system is installed, then,
additionally, a compressed ('squashed') version is made, and then perhaps
even a CD image (<em>iso</em>).
Building for a USB-stick requires slightly less space, as the iso-image is
not built. If building a <em>live</em> version of an existing
<em>Arch Linux</em> system, much less space is required as no new
system must be installed.
</p>
<h3><a name="larch_installation"></a>Installation of the <em>larch</em> build
system</h3>
<p>The recommended way of installing <em>larch</em> is by means of the setup
script, see <a href="larch_quick-console.html">here</a> for details.
This installs all the necessary packages to a working directory, and it
should also work on non-<em>Arch</em> linux systems.
</p>
<p>The <em>larch</em> package may, however, be installed in the normal
<em>Arch Linux</em> way using <em>pacman</em>. This method will only work on
an <em>Arch</em> system, of course. The <em>larch</em> repository is at
<a href="ftp://ftp.berlios.de/pub/larch/larch8/i686/">
<strong>berlios</strong></a>.
</p>
<p>The <em>larch</em> command line scripts need to be started as root, and
each has a usage message (run with the '-h' option). The gui should be
started as a normal user (it uses <em>su</em>, or can be configured to
use <em>sudo</em> instead, to get administrator rights when needed).
</p>
<h3><a name="larch_profiles"></a>Profiles</h3>
<p>A <em>larch</em> 'profile' is a directory containing the information
needed to build a particular 'flavour' of <em>Arch Linux</em> as a
<em>live</em> system - which packages to install, and how it should be
set up. For details see <a href="profiles.html">Profiles</a>.
</p>
<h3><a name="stages"></a>The stages of the build process</h3>
<p>The starting point is an <em>Arch Linux</em> installation. This can
be an already existing one from which you want to make a <em>live</em>
version, or - the recommended approach - you can use the
'Installation' stage of the <em>larch</em> system
(using the <strong>archin.py</strong> script) to prepare this.
<em>archin</em> downloads all the desired packages (if they are not already
in the host's package cache) and installs them to a directory on the host.
See <a href="archin.html">this page</a> for details.
</p>
<p>Once we have the <em>Arch Linux</em> installation this can be
processed to build the basis components for the <em>live</em> medium. The
installation is compressed into a <em>squashfs</em> archive, and an
overlay directory containing the necessary modifications to the base
system is built - a sort of 'patch' directory for the basic installation.
The latter contains a few necessary
adjustments for running as a <em>live</em> system and also the
customisations specified in the <em>profile</em>. The other important
component is the <em>initramfs</em>, which also needs to be adapted
to boot the <em>live</em> system. This processing is performed by the
<strong>larchify.py</strong> script, see
<a href="larchify.html">this page</a> for details.
</p>
<p>When the 'larchification' has been completed, the components can
be packed together onto a boot medium together with a bootloader. The
<strong>live_iso.py</strong> script creates an <em>iso</em> file, which
can then be written to a CD or DVD, the <strong>live_part.py</strong>
script sets up a bootable partition on a disk(-like) device, such as a
USB stick. See <a href="medium.html">this page</a> for details.
</p>
</div>

View File

@ -0,0 +1,158 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Structure of a <em>larch live</em> system</h2>
<p>The vast majority of the code that runs in a <em>live</em> system
is exactly the same as in a normal system running from hard disk.
The main differences arise through the <em>live</em> system being based on
a read-only root file-system, so various adjustments are necessary to
make the areas that must be writeable appear to be so. I say 'appear to be'
because the bulk of the underlying system is generally (as is the case in a
<em>larch</em> system) stored in a <em>squashfs</em> archive, which is not
writeable. This is overcome to some extent by using <em>aufs</em> to add
a writeable overlay.
</p>
<h3><a name="Squashfs_and_Unionfs"></a>squashfs and aufs</h3>
<p>In <em>larch</em>, as in many other <em>live</em> systems, the
ability to (apparently) write to a read-only file-system is provided by
<em>aufs</em> (originally derived from <em>unionfs</em>).
The file-system is also compressed, using <em>squashfs</em>, so as to fit
more data onto the storage device. A custom <em>Arch Linux</em> installation
(you can choose which packages are installed) is compressed into a
<em>squashfs</em> file-system in the file <strong>system.sqf</strong>,
which is placed in the '/larch' directory of the boot device.
</p>
<p>For use in a <em>live</em> system a few changes must be made to some files
in the installation. In <em>larch</em> this is usually not done directly,
the installed system is left in a 'clean' state. Instead of that, an additional
<em>aufs</em> layer is created containing all the modified files (in a writeable
system also changes made by the user will be placed in this layer). You can
include (pretty well) any customisations you like in this overlay, giving you
a great deal of freedom in designing your <em>live</em> system.
</p>
<p>When the <em>live</em> system boots an <em>aufs</em> file-system is set up
with the base system as its lowest layer (branch). The modification layer - either
the 'mods.sqf' file or the medium itself (if writeable) - is
placed above this. If the modification layer is not writeable (either inherently
or because of a boot option) a further, writeable, layer in <em>tmpfs</em>
(a memory based file-system) is added above this. The <em>aufs</em> file-system
is then used as the root file-system for the <em>live</em> system (compare with
a normal linux system where the root file-system would be a hard-disk partition).
</p>
<h3><a name="bundles"></a><em>'Bundles'</em></h3>
<p>An additional possibility inherent in <em>aufs</em> is that of including
additional code or data 'packages' - which I here call 'bundles', to distinguish
them from the normal packages managed by pacman - by adding them as further
layers (branches). This is also supported in <em>larch</em>. It is a completely
optional feature, supported in the <em>initramfs</em> code, by the 'larch' hook
(see the man-pages or the <em>Arch wiki</em> for more details on
<em>mkinitcpio</em> and <em>Arch initramfs</em> support). Bundles are simply
overlays over the root file system (like software packages) which should
be compressed into <em>squashfs</em> archives with names ending in '.sqb'.
They should be placed in the medium's '/larch/bundles' directory and during
the boot process they will be added to the <em>aufs</em> file-system in
alphabetical order directly above the base system layer.
</p>
<h3><a name="initramfs"></a><em>initramfs</em> and <em>mkinitcpio</em></h3>
<p>It is, in general, not possible to boot directly into a <em>live</em>
system.
Some form of 'initrd' or 'initramfs' is required, in order to find the boot
device and prepare the root file-system for running.
Many modern <em>GNU/Linux</em> systems use initrd/initramfs (the former
being now deprecated) as a matter of course, for loading the necessary kernel
modules, and <em>Arch Linux</em> is no exception, a modular initramfs system
(<em>mkinitcpio</em>) being the standard way to boot <em>Arch Linux</em>,
and <em>larch</em> also takes advantage of it, although some additions need
to be made to boot <em>live</em> systems.
</p>
<p><em>larch</em> adds its own 'hook' (code plug-in) to the
<em>Arch Linux mkinitcpio</em> system (the 'larch' hook is supplied in the
'larch-live' package). It performs several steps, the first of which is to
find the live medium.
</p>
<p>Note that the live medium is not necessarily the same as the
boot device (which could be a boot-cd required for booting from another
device unsupported by the machine's BIOS). The medium can be detected / selected
on the basis of a UUID, a partition label, or a partition device node
('/dev/sdb1', etc.). Alternatively, all available devices can be searched
for the file '/larch/larchboot'. Once the device has been found a simple
validity check is made by testing for the existence of '/larch/system.sqf'.
</p>
<p>An <em>aufs</em> file-system is set up and the <em>squashfs</em> archive
'system.sqf' is added as the base layer. If there are 'bundles' in the
'/larch/bundles' directory these are layered on top of the base (as
<em>aufs</em> branches).
</p>
<p>Then the modifications overlay is added (as a further <em>aufs</em>
branch), and if the overlay is read-only then another layer is added on
top of it, a writeable in-memory file-system (<em>tmpfs</em>).
</p>
<p>A few more tweaks are made to prepare the file-system for the boot
proper (see the code of the larch hook in '/lib/initcpio/hooks/larch'
for the details) and this <em>aufs</em> file-system is then used as the
root file-system for the further boot process, after leaving the
<em>initramfs</em>.
</p>
<p>In order to generate the special <em>initramfs</em> a customised
'/etc/mkinitcpio.conf' - '/etc/mkinitcpio.conf.larch' - is used, also
supplied in the 'larch-live' package (though it can be replaced by a
customised version in the profile's overlay directory - the
gui has a button for this).
</p>
<p>There is also a customized <em>mkinitcpio</em> preset,
'/etc/mkinitcpio.d/larch.preset', which is used to replace the standard
preset belonging to the kernel, so that subsequent kernel updates (etc.)
will regenerate a correct <em>initramfs</em> for the <em>larch</em> system.
If you want to revert to the normal <em>Arch Linux mkinitcpio</em> behaviour
(for example, if you are installing the system) you will need to replace
the preset by the original, which gets saved with '.larchsave' appended.
</p>
<h3><a name="rc_files"></a>/etc/rc.sysinit and /etc/rc.shutdown</h3>
<p>The initial boot script and the shutdown script must be customized for use
in a <em>larch live</em> environment. This is achieved by using hooks in the
standard /etc/rc.sysinit and /etc/rc.shutdown scripts. The file
'etc/rc.d/functions.d/larch-hooks', in the 'larch-live' package, defines these.
During startup the main tweaks are to the content of /etc/mtab and /etc/fstab.
During shutdown we probably want to disable writing to the hardware clock,
and if running from CD/DVD we will want to eject the device just before
shutting down.
</p>
<h3><a name="fstab"></a>/etc/fstab</h3>
<p>If the file '/etc/fstab.larch' exists this will be used as a persistent
'/etc/fstab', being copied there during the boot process (in the 'larch'
hook in the <em>initramfs</em> system). Otherwise a very minimal '/etc/fstab'
will be generated at each boot. It includes entries for any existing swap
partitions, but these are commented out unless the 'swap' boot parameter
is specified (the default <em>larch</em> behaviour is to mount nothing
automatically).
</p>
<p>The 'x10d_fstab' script in the 'larch-live' package allows the very basic
/etc/fstab generated by the <em>initramfs</em> system ('larch' hook) to be
extended automatically, but '/etc/fstab' will only be changed if
'/etc/fstab.larch' doesn't exist.
This script adds entries for the partitions it detects, and also mount points
in '/mnt' for them. The entries are such that the partitions are not mounted
automatically.
</p>
</div>

View File

@ -0,0 +1,67 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Quick Start - Console</h2>
<p>This is a quick run through of the steps needed to download <em>larch</em>
and use it to build a <em>live</em> system from one of the example profiles
provided in the 'larch-profiles' package. You can use this as an introduction
to <em>larch</em>, and as a basis for your own customised system if you like.
</p>
<ul>
<li>Make sure you have 'python' and 'python-pexpect' packages installed.
</li>
<li>Download the latest
<a href="ftp://ftp.berlios.de/pub/larch/larch8/i686/larch-setup">
<strong>larch-setup</strong></a> script
to an empty working directory. Then run it (it is a shell script).
It will download and prepare the 'larch', 'liblarch' and 'larch-profiles'
packages so that they can be used within this directory.
</li>
<li>Several links will appear in the working directory. These point at the
individual <em>larch</em> scripts. Each has a usage message which you
can read by running the script with the '-h' option (e.g.
'./larch-archin -h')
</li>
<li>For this example run I will use the 'xmini' profile (which builds a
simple XFCE based system). The following steps must be carried out as root.
</li>
<li>Install the base <em>Arch</em> system to the default location
('/home/larchbuild'):
<ul>
<li>If you are running <em>Arch</em> the default package mirror is taken
from /etc/pacman.d/mirrorlist. On a non-<em>Arch</em> system this file
(probably) won't exist, in which case the first uncommented server in
larch0/data/mirrorlist is used (this file comes from the 'pacman-allin'
package, which should be downloaded automatically in this case). The
default server might be alright, but if not you should edit this file.
</li>
<li><pre>./larch-archin -p larch0/profiles/xmini install</pre>
</li>
</ul>
</li>
<li>Prepare the <em>live</em> system. This script compresses the
installation using squashfs and also builds a squashed overlay containing
all the customisations necessary for the <em>live</em> system, plus those
specified in the profile:
<pre>./larch-larchify -p larch0/profiles/xmini</pre>
</li>
<li>Create a bootable 'iso' containing the <em>live</em> system:
<pre>./larch-medium -p larch0/profiles/xmini</pre>
</li>
<li>As an alternative to the last step, make a bootable USB-stick:
Insert the stick and double-check the name of the partition to install to.
I will assume /dev/sdb1 here:
<pre>./larch-medium -p larch0/profiles/xmini /dev/sdb1</pre>
</li>
<li>If all that worked, you can test the resulting 'iso' in (for example)
<em>virtualbox</em> (select the 'vesa' option from the boot menu, otherwise
<em>xorg</em> might not start), or try to boot from the USB-stick.
</li>
<li>If you want to try your hand at designing your own system, the main
place to look for details of the customisation process is the
section <a href="profiles.html">Profiles</a>.
</li>
<li> Share and Enjoy!</li>
</ul>
</div>

77
larch/docs/build/src/larch_quick.html vendored Normal file
View File

@ -0,0 +1,77 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Quick Start - GUI</h2>
<p>The gui should make exploration of the possibilities offered by <em>larch</em>
quite straightforward. The documentation should provide enough information to
understand how a <em>larch live</em> system works, so that further customisations
can be performed beyond those directly supported.
</p>
<p>The general sequence of events starts with creating a 'project', which will
determine certain aspects of the build environment (such as where to place the
installation files), and select a profile. The profile describes the system to be
installed (primarily which packages, but also various other aspects). All this
configuration information is stored in the user's home directory (~/.config/larch),
so that it is retained from one <em>larch</em> run to the next.
</p>
<ul>
<li>At present I only maintain a repository for 'i686', as I don't run a 64-bit
<em>Arch</em> machine, but as all the current <em>larch</em> packages
have architecture 'any', both architectures should be supported.
</li>
<li>Make sure you have 'pyqt' and 'python-pexpect' packages, as well as
the obvious 'python', installed.
</li>
<li>Download the latest
<a href="ftp://ftp.berlios.de/pub/larch/larch8/i686/larch-setup">
<strong>larch-setup</strong></a> script
to an empty working directory. Then run it (it is a shell script).
It will download and prepare the 'larch', 'liblarch' and 'larch-profiles'
packages so that <em>larch</em> can be run from this directory.
</li>
<li>Run './larch' in the working directory.
As it is a gui program, you must of course be running xorg (see
<a href="larch_quick-console.html">Command-Line Interface</a>
for use from the command line). In general you should start <em>larch</em>
as a normal, unprivileged user, so that the access to the configuration
files is as the correct user. It will ask for the <em>sudo</em>
password when it needs it.
</li>
<li>To build a <em>larch live</em> system you basically just have to go through
the tabs one after the other.
</li>
<li>The first tab allows you to create a project and select a profile. The 'mini'
(no <em>xorg</em>) and 'xmini' (a fairly minimal <em>xfce</em> desktop) examples
(from the supplied 'profiles' folder) might be good places to start.
The default installation path should be alright for most purposes,
but you might need to move it if you don't have enough space on that partition.
Be careful! If you put a silly path in here you might overwrite your system.
</li>
<li>The 'Installation' tab performs the installation of the system to be squashed,
by downloading and installing all the requested packages to the installation path
set for the project. You can adjust a few aspects of this process, for example
to use a local package mirror, or to add repositories to pacman.conf. The default
is to use the mirror set on the host system and also to use the host's package
cache, so that repeated builds don't need to download the packages all over
again.
</li>
<li>The 'Larchify' tab compresses the installation using squashfs, also building
a squashed overlay containing all the customisations necessary for the
<em>live</em> system and those specified in the profile.
</li>
<li>Finally the 'Medium' tab writes the prepared <em>larch</em> files to an
<em>iso</em> file (for CD or DVD), or to the partition of your choice (be careful!),
so that you end up with a bootable <em>larch</em> system.
</li>
<li>Particular things that you might want to customise even in a first test run might
be the supported <strong>locales</strong> and <strong>rc.conf</strong> (both on the
'Larchify' tab).
</li>
<li>Further details of the customisation process are in the section
<a href="profiles.html">Profiles</a> and in the documentation to the individual
gui tabs.
</li>
<li> Share and Enjoy!</li>
</ul>
</div>

127
larch/docs/build/src/larch_running.html vendored Normal file
View File

@ -0,0 +1,127 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Running a <em>larch live</em> system</h2>
<p>Of course the details depend on what you have installed and how you have
configured it. For example, the 'mini' example profile builds a console-only system,
the 'xmaxi' profile boots to <em>xfce</em>.
</p>
<p>One thing worth noting is that these supplied profiles automatically login
to the root account, which - potentially - allows all sorts of 'dangerous' actions,
like reformatting your disks or making a mess of your file-systems in other ways.
This is because one of the main <em>raisons d'être</em> for <em>larch</em> is its use
as an <em>Arch</em>-installation-and-rescue medium. For this, you need root access.
However, if you want to use the system in other ways, e.g. for text or image editing,
or for internet browsing or e-mail writing, it might be safer to do this as an
unprivileged user. Users can be added during the 'larchification' stage of the
build process - this is especially easy in the GUI. Alternatively, if using a
medium with data persistence, such a user can be easily created with the 'adduser'
command, or with some other utility (e.g. the graphical 'luser.py' script in
the <em>larch</em> '<em>luser</em>' package).
</p>
<h3><a name="bootparm"></a>Boot parameters</h3>
<p>As the <em>larch</em> build system is highly configurable, the available
boot parameters can also vary, but by default 'swap' and 'nw' are provided.
'swap' indicates that an existing swap partition should be used (the default
is not to use it). 'nw' means 'non-writeable', i.e. no data persistence
between boots is supported (and is thus only relevant where this is at all
possible). For experts there are a few more: 'tmpfs' sets the size of
the <em>tmpfs</em> file-system (default '60%'); 'quiet' suppresses
(some) boot messages, 'verbose' adds a few more, 'break' causes the boot
process to be interrupted at the end of the <em>initramfs</em> code, for
debugging purposes.
</p>
<p>There are also boot options connected with the boot device. The 'nocd' boot
option, if present, prevents booting from CD. This might be useful if you use a
boot CD but want to boot a <em>larch</em> system on another device (normally
a CD will be detected before other devices). This only works if the kernel is
compatible of course.
</p>
<p>The 'root=' option allows explicit specification of the device containing the
<em>larch</em> system. It is also possible to choose the boot device on the basis
of UUID ('uuid=') or label ('label='). The default maximum waiting time (to
allow USB devices to be recognized) is 12 seconds (if a device is recognized
earlier the pause will automatically be shorter), which should be adequate, but
if you want to change this you can do it using the 'usbdelay=' option.
</p>
<h3><a name="config"></a>Configuration</h3>
<p>The supplied profiles are not intended to be complete, though I hope they
work reasonably well. They should be seen as examples, perhaps as starting points
for your own configurations.
If you are running a profile with X11, you may find that you
need to configure it before it will run, though nowadays much hardware will work
to at least some extent without any tweaking (even without an 'xorg.conf').
Minimal starting-point 'xorg.conf' files are offered in the <em>xfce</em> examples.
</p>
<p>The 'xmini' and 'xmaxi' profiles should start a GUI (an xfce desktop) and
provide a variety of useful programs, the latter providing a more extensive
set than the former.
</p>
<p>If you are stuck with the console, there is still hope. It's not as pretty or
newbie friendly as an X11 desktop, but still quite capable. I always like to have
<em>mc</em> available, it's a real godsend for non-geeks (you should also install
<em>lynx</em> so that HTML files can be displayed on the console - at a
pinch you can also surf with it, but it is painful).
</p>
<p>If your console keyboard map is
wrong, try running <i>km</i> (I stole this from the
standard <em>Arch</em> install CD and modified it a bit to work in <em>larch</em>).
It also modifies '/etc/rc.conf', so the change can be retained for subsequent
runs if data persistence is enabled.
</p>
<p>If you have a DHCP server on your network, you might well find that
the network interface is configured automatically (assuming your <em>rc.conf</em>
is configured appropriately). Otherwise you can use any method to set up
the network available in <em>Arch Linux</em> - see the appropriate
<em>Arch Linux</em> documentation (primarily the wiki, I guess) for details.
</p>
<p>Of course the exact details of what you can do depends on what
software you installed, so I won't rabbit on endlessly about it here.
Nearly all configuration details should be just the same as in a normal,
hard-disk based installation.
</p>
<h3><a name="install"></a>Installation to hard disk</h3>
<p>The <em>larch</em> hard-disk installer <em>larchin</em> may be used to install
<em>Arch Linux</em> to hard disk (or similar). ***+ Or, at least it will be
possible to use it when I have updated (rewritten?) it for <em>larch</em>-8. -***
<em>larchin</em> deals with partitioning and formatting of hard drives, placing
<em>Arch Linux</em> (primarily a copy of the live system on which it is running)
on the newly formatted partitions, and installation of a bootloader.
</p>
<p>As mentioned above the main approach to <em>Arch</em> installation covered by
<em>larchin</em> is to copy the contents of the live system to a hard drive. Those
(few) bits peculiar to the needs of a live system are removed and the result is a
completely normal <em>Arch Linux</em> installation. I should perhaps mention
the file 'delarch' in the 'larch/data'
directory on the boot medium). This script (if it exists) is run at the end
of the installation
and allows custom installation actions to be performed (the
main reason for its existence is to allow features of the <em>live</em> system
to be removed, because they would be out of place in a normal installation).
</p>
<h3><a name="install-live"></a>'Live' installation to hard disk</h3>
<p>This is sometimes called a 'frugal' install and means that the system
as it is (compressed, running in an <em>aufs</em> file-system) on the
USB-stick or CD is installed as a <em>live</em> system to a hard-drive
partition. This might be useful if you want to run from a flash device,
for example, as it minimizes write operations to the device (normal access
is read only). This is actually no different from copying a <em>larch</em>
system to a USB-stick, so the normal copying procedure can be used.
</p>
</div>

144
larch/docs/build/src/larch_ssh.html vendored Normal file
View File

@ -0,0 +1,144 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">ssh access</h2>
<p>One feature I wanted in my live system was the ability to
access and control it remotely via <em>ssh</em>. <em>ssh</em> is
generally very useful, but in the case of a <em>live</em> CD (etc.) it
allows operations to be carried out on a remote computer, even one
without keyboard or monitor. Insert the CD, boot up
the computer (assuming it is configured to boot from CD), and log in
via the network using another computer. Isn't <em>Linux</em> great!
</p>
<p>Well, it doesn't quite work out of the box, though it could be
tweaked so that - in the right environment - it would. Firstly, there
must be a network connection which gets set up automatically -
the easiest is probably <em>DHCP</em> (so long as
you can then find the address of the live system),
but by tweaking <strong>rc.conf</strong> in the <em>profile</em> (or
<em>live</em> using the data persistence feature, if available) a
static address is also easy to set up.
Secondly you must provide the live system with your public key, so
that you are allowed access (using public key authentication), or else
set a password for the <em>larch</em> root user (probably easiest using the
data persistence feature, if available).
</p>
<h4>id_rsa.pub and authorized_keys</h4>
<p><strong>id_rsa.pub</strong>
is a public key, and it can be used to allow the user (on the remote machine)
whose key this is to <em>ssh</em> into the live system.
If you leave passwordless logins disabled (the
default), then so long as no root password is set,
the only way in (to the root account) is via public key authentication.
Of course, if you change the root password, anyone (who knows the
password) can log in via <em>ssh</em>
(if the <em>sshd</em> daemon is running).
</p>
<p>To generate this key for your user (assuming you don't already
have one, in <strong>~/.ssh</strong>) do something like:
</p>
<pre style="margin-left: 80px;">ssh-keygen -t rsa</pre>
<p>Use the default destination file and empty passphrase
(normally you wouldn't do that,
but I think it is appropriate in this case). See the <em>ssh</em> man-page
for more information.
</p>
<p>In order to enable <em>ssh</em> to the root account on the live
system, the contents of this file (a single text line) must be placed in
the <em>larch</em> system's <strong>/root/.ssh/authorized_keys</strong> file.
This file will probably not yet
exist, so the 'id_rsa.pub' can be simply copied to it.
If doing this before building the <em>live</em> system, copy the file to this
position in the 'rootoverlay' directory in the <em>profile</em>, being
careful to get the permissions (644) correct.
To do this in a running <em>larch</em> system, copy the file to this location -
session saving will then preserve it.
</p>
<p>If you don't need <em>sshd</em> on the live system, you can
remove it from the daemons in <strong>rc.conf</strong>.
</p>
<h4>/etc/hosts.allow</h4>
<p>
This must be edited to allow <i>ssh</i>
access to the live system:
</p>
<pre style="margin-left: 80px;">
# To allow ssh in from anywhere
sshd: ALL
</pre>
<p>If that is too radical for you, you might be able to restrict
it somewhat - that depends on your exact circumstances. For example:
</p>
<pre style="margin-left: 80px;">
# To allow ssh in from local net (example)
sshd: 192.168.1.
</pre>
<h3><a name="ssh_hostkeys"></a>ssh host keys</h3>
<p>The files
<strong>/etc/ssh/ssh_host_dsa_key</strong>
<strong>/etc/ssh/ssh_host_dsa_key.pub</strong>,
<strong>/etc/ssh/ssh_host_rsa_key</strong>,
<strong>/etc/ssh/ssh_host_rsa_key.pub</strong>,
<strong>/etc/ssh/ssh_host_key</strong>,
and
<strong>/etc/ssh/ssh_host_key.pub</strong>
are normally (in a hard-disk based system) generated on the first run of
<strong>/etc/rc.d/sshd</strong>, i.e. during the first boot after a new
installation. This only needs to be done once. However in a <em>live</em>
system changes are generally lost when the system shuts down, so this would
need to be done at every boot, which takes a while, so I prefer to
pregenerate them.
The <em>larch</em> gui offers a checkbox to enable this pregeneration on
the 'larchify' page.
To regenerate these manually (while running the <em>live</em>
system) you can do the following:
</p>
<pre style="margin-left: 80px;">
rm /etc/ssh/ssh_host_*
/etc/rc.d/sshd restart
</pre>
<h3><a name="ssh_x11"></a><em>ssh</em> and <em>X11</em></h3>
<p>
If you have set up 'X11 Forwarding' (see below), you can run X11 applications on the
<em>live</em> system from your remote system. This is very neat!
</p>
<h4>/etc/ssh/sshd_config</h4>
<p>This file is changed to allow X applications to run on the
<em>live</em> system but display on another:
</p>
<pre style="margin-left: 80px;">X11Forwarding yes</pre>
<p>
This will only work if you use the -Y option to <em>ssh</em>
on the system from which you log in, and on which
you want to display the X windows (e.g. 'ssh -Y
root@192.168.0.201'). Alternatively you can put the
following in <em>its</em> <strong>etc/ssh/ssh_config</strong>:
</p>
<pre style="margin-left: 80px;">
ForwardX11 yes
ForwardX11Trusted yes
</pre>
</div>

110
larch/docs/build/src/larchify.html vendored Normal file
View File

@ -0,0 +1,110 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Building the <em>live</em> system</h2>
<p>Once we have an <em>Arch Linux</em> installation and have specified our
customizations in the profile, we can put together the basic ingredients of a
live medium. Firstly there is the '/boot' directory, containing the kernel, the
<em>initramfs</em> (a small compressed file-system into which the kernel
boots initially) and files belonging to the bootloader. The bulk of the
system will be in a single squashfs archive, 'system.sqf', residing on the
medium in the /larch directory. This archive contains the essentially untouched
<em>Arch</em> installation. A further - much smaller - <em>squashfs</em> archive
('mods.sqf') is built containing the configuration defined in the selected
<em>larch</em> profile. This latter will 'overlay' the underlying system as a
branch of the <em>aufs</em> root file-system used when running <em>live</em>.
Various other data and configuration files
special to the <em>larch live</em> system are also kept in the /larch directory.
</p>
<p>The standard way of supporting data persistence in this version of <em>larch</em>
is to use the boot medium as a writeable overlay branch in the root ('/')
<em>aufs</em> file-system. This can of course only work if the boot medium
is writeable and is formatted with a linux file-system (standard is 'ext4').
In this case the 'mods.sqf' file will not exist, its contents being unpacked
onto the medium.
When running without data persistence a temporary writeable layer, in
<em>tmpfs</em> (a memory based file-system), is used as the top layer.
</p>
<p>Let's call this step, preparing these components so that they can be
installed on a suitable medium, 'larchification' (from the verb 'larchify').
At the end of the 'larchification' process, the basic ingredients of the
<em>live</em> medium have been created, but the bootloader files are not
yet finalized (and nothing has been written to any medium).
</p>
<p>For details of the structure of the <em>live</em> system which is built
by this stage see <a href="larch_live_system.html">this page</a>.
A description of the main possibilities
for customizing the build process are covered in
<a href="profiles.html">the profiles documentation</a>.
</p>
<h3><a name="mkinitcpio"></a><em>mkinitcpio</em> and the <em>initramfs</em></h3>
<p>In order to build a suitable <em>initramfs</em> for a <em>larch</em>
system, a customized version of 'mkinitcpio.conf' is required. How
<em>larch</em> handles this is quite complicated because it aims to retain
the normal files so that the <em>live</em> system can later be installed
as a normal <em>Arch Linux</em> system, whilst at the same time offering
the capability of updating (with 'pacman -Syu') the <em>live</em> system,
including the kernel (thus requiring regeneration of the <em>initramfs</em>
for the system).
The consequence of this ambition is that modifications are made
to the 'preset' file within '/etc/mkinitcpio.d' (which are reversible when
the <em>live</em> system is installed as a normal <em>Arch Linux</em> system)
and a special <em>mkinitcpio</em>' configuration file, '/etc/mkinitcpio.conf.larch'
must be provided (there is a default version supplied in the larch-live package
which should be adequate in most cases).
If you need to know more see the method 'Builder.gen_initramfs' in
'cli/larchify.py'.
</p>
<h3><a name="reuseSystem"></a>Rebuilding using an existing 'system.sqf'</h3>
<p>In order to aid experimentation with profile tweaks which do not affect
the underlying installation, it is possible to repeat the 'larchify' step
without rebuilding the 'system.sqf' archive, which saves quite a bit of time
(this is achieved by passing the '-o' option to 'larch-larchify' when running
from the command line).
</p>
<h3><a name="existingSystem"></a>Making a <em>live</em> system from an
existing <em>Arch</em> installation</h3>
<p>By setting the installation path (with the '-i' option if using the
command line) to an existing <em>Arch</em> installation,
a <em>live</em> medium can be made from it. One convenient way of doing this
is to run the build process from a <em>live</em> system. A <em>larch live</em>
system is of course particularly well suited, but most others should work
too.
</p>
<p>To use an existing system as source, this system must already be mounted,
including any sub-mounts (e.g. /home on another partition).
The main mount must be with options 'exec,dev', because most of the
building is done via a <em>chroot</em> to the installation.
This approach to <em>live</em> system generation is
probably not a good idea if the installation contains a lot of data -
consider how big the result will be ...
</p>
<p>Note that some things in '/var' will not be included in the 'live' system.
Firstly, the standard <em>pacman</em> package cache ('/var/cache/pacman/pkg')
will be excluded.
Also the log files (in '/var/log') and '/var/tmp' (temporary files, like '/tmp')
are not saved. As some files in '/var/log' are required for certain aspects of
logging to function, these are recreated in the <em>initramfs</em>.
</p>
<h3><a name="kernel"></a>Kernel and Initramfs</h3>
<p>The larchify script assumes the kernel is the standard
one from Arch Linux. It is quite possible to use a custom kernel with
<em>larch</em>, so long as it supports <em>squashfs</em> and <em>aufs</em>,
but you must tell the script the name of the kernel binary file and the name
of the mkinitcpio 'preset', by placing these with a space-separator in a
file called 'kernel' in the profile directory. The defaults are supplied
in the larch package's 'data' directory, in the file 'kernel'. Check that
you understand how the mkinitcpio system handles kernel updates before you
try <em>larch</em> with a custom kernel.
</p>
</div>

109
larch/docs/build/src/medium.html vendored Normal file
View File

@ -0,0 +1,109 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Preparing the <em>larch live</em> medium</h2>
<p>The building blocks for the preparation of a <em>live</em> medium are
produced by the 'larchification' process: the <em>squashfs</em>
archive, 'system.sqf', the 'boot' directory, containing the kernel and
<em>initramfs</em>, and the modifications overlay, 'mods.sqf'.
</p>
<p>This stage adds the bootloader files and user-defined customisations
which are directly copied to the medium rather than being included in
the overlay (essentially the stuff from the 'cd-root' directory in the
profile. See the <a href="profiles.html#cd-root">cd-root</a> section in the
profiles documentation for details on how to customise this data. On
writeable media it is also possible to specify that the medium be used
as a writeable overlay branch in the <em>aufs</em> root ('/') file-system.
Finally the system is written to
the medium, if it is a partition (USB-stick, etc.), or - in the case
of a CD/DVD - an <em>iso</em> file is created.
</p>
<p>The structure of the <em>live</em> system is such that it is fairly
easy to transfer a <em>larch</em> system from one medium to another,
including the preservation of changes that have been made using the
data persistence facility, and including the possibility of transferring
a non-writeable system to a writeable medium and then enabling data
persistence. Support files for these operations are saved in the
'/boot/support' directory of the medium - these are mostly binary executables
which may not be available (in the correct version) on the machine used
to perform the operations. The libraries they need are also included, and the
applications must be run as
</p>
<pre> path/to/support/support application-name arguments</pre>
<p>The applications supported in this way are <em>mksquashfs</em>, <em>unsquashfs</em>,
<em>extlinux</em> and <em>syslinux</em>.
Also the binaries 'mbr.bin' and 'isolinux.bin' from the <em>syslinux</em>
package are made available here. The copying process can, however, be delegated to
the 'larch-medium' script, the source medium being specified using the '-S'
option (run 'larch-medium -h' for all options).
</p>
<h3><a name="overlay_persist"></a>Data Persistence: The Writeable Overlay</h3>
<p>The medium (partition) containing the <em>larch</em> system can be used
as a writeable overlay branch for the <em>live</em> system (assuming the
partition actually is writeable), causing changes made while running the
system to be preserved from one boot to the next, basically the same as
in a 'normal' linux system. The advantage this has over just installing a
normal linux system on the partition is that the bulk of the underlying
system is highly compressed, allowing smaller devices to be used than would
otherwise be possible. It is also relatively straightforward to transfer
such a system to and from non-writeable media, such as CD/DVD.
</p>
<p>If the medium is not writeable (or if the 'nw' boot parameter is passed)
then a writeable layer is created in <em>tmpfs</em>, a memory based file-system,
allowing the system to act 'normally' (i.e. the file-system appears
writeable) while running. However any changes will be lost on shutdown.
There are situations (e.g. 'kiosk'-systems) where this behaviour can even
be an advantage.
</p>
<h3><a name="media_scripts"></a>Command-line Scripts</h3>
<p>The command line script for building a <em>larch live</em> is
<strong>larch-medium</strong>. Run 'larch-medium -h' to get a
usage message.
</p>
<p>When the <em>live</em> system is installed to a partition (e.g.
USB-stick) it is possible to choose how the boot partition will be
recognized.
The options available are via UUID, partition label, partition path
(e.g. '/dev/sdb1'), or by searching for a partition
containing the file 'larch/larchboot'. See also
<a href="larch_running.html#bootparm">'Boot parameters'</a>.
</p>
<p>The 'bootlines' file allows the boot options to be specified in an
easily parseable, bootloader independent way. The default version
is supplied in the 'larch' package (in the 'cd-root/boot0' directory),
but this will be overridden by a version supplied in the profile.
The unprocessed version is also retained in the 'boot' directory of
the created medium, for later reference.
</p>
<p>It is possible to repeat the installation onto various media, changing
the configuration, without needing to rerun the 'larchification' stage.
The constituent <em>larch</em> files remain unchanged.
</p>
<h3><a name="usb2bootiso"></a>Building a boot CD for a USB-stick</h3>
<p>Older computers may not be able to boot from USB devices, so the
possibility of generating a small <em>boot iso</em> is provided. This can
be burned to CD and can be used to boot your <em>larch</em> system on a
USB-stick. On the command line this is managed by passing the '-b' option
to the <strong>larch-medium</strong> script.
As this function uses the system on the USB-stick, this needs to be
plugged in (not mounted!) and selected in the 'Partition' entry.
</p>
<p>As the kernel and <em>initramfs</em> are now taken from the CD rather
than from the USB device, an update of the kernel on the actual <em>larch</em>
medium would require the creation of a new boot-CD.
</p>
</div>

271
larch/docs/build/src/profiles.html vendored Normal file
View File

@ -0,0 +1,271 @@
<div class="larchdocs">
<h2 id="pagetitle" level="1">Profiles</h2>
<p>This feature of the <em>larch</em> build system allows bundling
all the configuration information for a particular <em>live</em> system
'design' into a single directory, a <em>larch profile</em>, and the
name of the profile is the directory's name. This directory includes
the list of packages to be installed, locale information and the
particular tweaks and additions needed
to customize the system, in particular a subdirectory containing the
'overlay' files - those files which have been changed from their initial
fresh state after installation and those which have simply been added.
</p>
<p>Note that of all the profile files and directories mentioned here
only 'addedpacks' is not optional.
</p>
<h3><a name="overlay"></a>The overlay directory</h3>
<p>One of the simplest features of the profile is perhaps the
'<em>rootoverlay</em>' subdirectory:
everything in this directory is copied directly to the
<em>live</em> system's overlay, so that the a file 'a/b/c' within this
directory will appear at '/a/b/c' in the <em>live</em> system, regardless
of whether this file previously existed. Note however that all ownerships
are changed to 'root:root'. The bulk of the customizations for the
<em>live</em> system would normally be placed in this directory.
</p>
<p>It would be possible to make the desired alterations directly to the
base system, and there are situations in which one would pretty well
have to do it this way (for example if a modified or added file was to
have some ownership other than 'root:root'). But another advantage (apart
from the encapsulation of the customizations in the profile directory) of
keeping the modifications in a separate directory is that the base
installation can be kept 'clean' and thus it is easily reusable.
</p>
<p>If you would like to have a look at a profile, look in the 'profiles'
directory in the 'larch-profiles' package (if you have downloaded
<em>larch</em> by means of the 'larch-setup' script that will be
'larch0/profiles'). Each of its subdirectories is a profile.
If you want to make your own profile, it is probably easiest to start with
one of the examples. Copy one of these directories to your working directory
and rename it (to avoid confusion). The GUI offers some help with profile
management.
</p>
<h3><a name="cd-root"></a>The <strong>cd-root</strong> directory</h3>
<p>This directory contains files that are intended for more or less
direct copying to the <em>larch</em> medium, without being incorporated in
the squashed archives. This only applies to the subdirectories 'boot0',
'boot' and 'larch'.
<h4>Boot files</h4>
Everything in the 'boot0' directory is copied to the medium's
'boot' directory. If this directory doesn't exist, the default version
supplied in the 'larch' package (at 'cd-root/boot0') is used.
</p>
<p>Subsequently everything in the 'boot' directory is copied to the medium's
'boot' directory, potentially overwriting what was there before.
</p>
<p>Files specific to the syslinux family of bootloaders are kept in the
medium's 'boot/isolinux' directory. <em>larch</em> provides a default version
(in 'cd-root/boot0/isolinux'. To extend this, or
replace individual files, read the description of boot directory handling
above.
</p>
<h4>Specification of boot options and choices</h4>
<p>The file which ends up on the medium as 'boot/bootlines' is an easily
parseable, bootloader independent representation of the boot menu choices
for the <em>larch</em> system. The default version is supplied in the 'larch'
package as 'cd-root/boot0/bootlines', but this can be overridden in the
profile, as described above. The gui provides a button to edit this file
(cd-root/boot/bootlines in the profile). To get an idea of what should be
in here look at the default version, or just click on the edit button.
</p>
<h3><a name="larch-dir"></a>Special files in the <strong>cd-root/larch</strong> directory</h3>
<p>This directory is copied as is to the medium. Only the files of interest
in connection with the profile are mentioned here. Those generated during
larchification and medium construction are documented in the corresponding
sections.
</p>
<ul>
<li><a name="delarch"></a><strong>delarch</strong>
<p>This bash script is run by the <em>larchin</em> installer during
the tidy-up phase. It should remove/undo any profile-specific elements
of the <em>live</em> system which should not be present in a normal
installation. It receives a single argument, the path to the new
installation.
</p>
</li>
<li><a name="boot-init"></a><strong>boot-init</strong>
<p>Used in the 'larch' initramfs hook, this optional script allows
adjustment of the overlay handling during the boot process, e.g.
getting them from another path.
Note that the shell environment here is that of the initramfs and thus
very limited. This option is for experts only and it is assumed that
the user will be able to determine what is possible and necessary
by reading the corresponding code of the hook.
</p>
</li>
</ul>
<h3><a name="other-files"></a>Other important files within a profile</h3>
<ul>
<li><strong>addedpacks</strong> - This is the only compulsory file in
the profile (it must even be present if you are not using the
installation stage, but it can be empty in that case). It contains
a list of packages and package groups to be installed to the 'base'
system. Here you can enter all the applications
you would like in your <em>live</em> CD/USB system (and subsequently
installed to a hard disk partition, if that was your intention).
Thanks to <em>pacman</em> you don't need to sort out dependencies,
these should all be included automatically. See
<a href="archin.html#package_selection">here</a> for details.
</li>
<li><strong>vetopacks</strong> - Allows 'vetoing' of packages included
indirectly in the installation list from 'addedpacks'. See
<a href="archin.html#package_selection">here</a> for details.
</li>
<li><strong>pacman.conf.repos</strong> - Set the repository part of
'pacman.conf' for the <em>live</em> system, and possibly also for
installation of the base system (See
<a href="archin.html#pacman_conf">here</a> for further details).
The default version will be adequate for many situations, but you
will need to supply this file if you use the 'testing' repository,
for example.
</li>
<li><strong>pacman.conf.options</strong> - Set the options part of
'pacman.conf' for the <em>live</em> system and for
installation of the base system (See
<a href="archin.html#pacman_conf">here</a> for further details).
This will generally not be needed as the default version will be
adequate for most purposes.
</li>
<li><strong>rootoverlay/etc/rc.conf</strong> - As a major point of
configuration in an <em>Arch</em> system this is important enough
to get a button in the <em>larch</em> gui to edit it.
</li>
<li><strong>rootoverlay/etc/locale.gen</strong> - For convenience, the
<em>larch</em> gui provides a button to edit this file, which determines
which glibc locales are supported in the <em>live</em> system. The
corresponding files are generated (to the overlay) by the 'larchify'
script, which has an option (for experts only) to reuse the locale
files from a previous run (in order to reduce generation time in
cases where the locales are unchanged).
</li>
<li><strong>rootoverlay/etc/mkinitcpio.conf.larch</strong> - Again for
convenience, the <em>larch</em> gui provides a button to edit this file,
which allows you to tweak the <em>initramfs</em>. This is a special version of
'/etc/mkinitcpio.conf' which is used to generate the <em>initramfs</em> for the
<em>larch live</em> system. The default version is supplied as
'/etc/mkinitcpio.conf.larch' in the 'larch-live' package. Whatever else
you change, don't change the larch hook.
</li>
<li><strong>rootoverlay/etc/inittab.larch</strong> - If this file is
present it will cause the original /etc/inittab to be saved with a
'.larchsave' suffix, and this new version will be used for the
<em>live</em> 'inittab'. This allows a special version of this file to
be used just for the <em>live</em> system, an installer
can replace it by the original during the installation process.
</li>
<li><strong>users</strong> - It is possible to add user accounts to the
system during building. See below.
</li>
<li><strong>rootpw</strong> - If this file is present it should contain
the root password (plain-text).
</li>
<li><strong>skel_*</strong> (directory) - Customized '/etc/skel' substitutes
for use at build time only. See below.
</li>
<li><strong>kernel</strong> - If a kernel other than the standard
<em>Arch</em> 'kernel26' is used the name of the kernel binary in '/boot'
and of the <em>mkinitcpio</em> preset file in '/etc/mkinitcpio.d' need
to be supplied in this file, in the form 'kernel-binary preset-name'
(the default value is supplied in the 'larch' package as 'data/kernel').
</li>
<li><strong>vetodirs</strong> - Do not use this unless you really know what
you are doing. Each directory listed in this file (one entry per line,
comment lines start with '#') will be excluded from the live system. The
directories are relative to the installation root.
</li>
<li><strong>build-tweak</strong> - Do not use this unless you really know
what you are doing. It is a program (script) - so it must be executable -
to customize the construction of the overlay (to a certain extent). It gets
two arguments on the command line: the path to the installation being
larchified, and the (full) path to the directory in which the overlay is
being constructed. It is called just before 'mods.sqf' is squashed, but
also before users are added.
</li>
</ul>
<h3><a name="users"></a>Adding user accounts</h3>
<p>
The construction details should be provided in the 'users' file in the
profile directory. It is an 'ini'-style configuration file, the sections
being the user names. Here is an example:
<pre>[DEFAULT]
pw =
expert =
skel =
maingroup =
uid =
xgroups = video,audio,optical,storage,scanner,power,camera
[u1]
uid = 999
skel =
[u2]
pw = p1
expert =
skel =
maingroup =
uid =
xgroups = video,audio,optical,storage
</pre>
The 'DEFAULT' section is not necessary, but is generated automatically
by the gui user-table editor. Only entries which differ from the default
values need be present.
</p>
<p>The default primary group is defined by settings in '/etc/login.defs'
and '/etc/default/useradd' ('USERGROUPS_ENAB yes' in 'etc/login.defs'
causes this to be a group with the same name as the user). You can
override this by adding an 'expert' option, or by placing modified versions
of these files in the profile's 'rootoverlay' directory.
</p>
<p>The additional groups should be comma-separated and without spaces.
</p>
<p>If no 'skel'-file is specified, the default ('/etc/skel') is used, including
anything in the overlay. To use a custom 'skel'-file, place the directory
in the profile, giving it a name starting with 'skel_', and place the rest of
the name (the part after '_') in the configuration line.
</p>
<p>A password can be set for the new user by entering this (plain text -
I'm guessing this is alright in this situation ...). An empty password
field will allow passwordless logins (at least on the console).
</p>
<p>By default the UID number will be chosen automatically, but a specific
number may be entered here. In <em>Arch Linux</em> the UIDs normally start
at 1000.
</p>
<p>Users are added by means of 'useradd', so anything placed in the 'expert'
field should be a valid option to that command. If a user-name already exists
in the system to be larchified, it will be ignored (it does not count as
an error).
</p>
</div>

View File

@ -1,15 +1,18 @@
# $Id: PKGBUILD 81449 2010-05-30 16:39:15Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=lensfun
pkgver=0.2.5
pkgrel=1
pkgrel=2
pkgdesc="Database of photographic lenses and a library that allows advanced access to the database"
arch=(i686 x86_64)
url="http://lensfun.berlios.de/"
license=('LGPL3')
depends=('glibc' 'glib2')
makedepends=('python' 'libpng')
makedepends=('python2' 'libpng')
source=(http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
build() {

View File

@ -9,7 +9,7 @@ source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=libao
pkgver=1.1.0
pkgrel=1
pkgrel=2
pkgdesc="A cross-platform audio output library and plugins"
url="http://www.xiph.org/ao"
arch=('i686' 'x86_64')
@ -21,7 +21,7 @@ options=('!libtool')
source=("http://downloads.xiph.org/releases/ao/${pkgname}-${pkgver}.tar.gz"
'libao.conf')
md5sums=('2b2508c29bc97e4dc218fa162cf883c8'
'3ae8f3e3f1492210b3519af0f1f3c572')
'5c29f3197ccaac2264c89450b4a298d5')
build() {
cd "$srcdir/$pkgname-$pkgver"

View File

@ -1 +1 @@
default_driver=alsa
default_driver=pulse,alsa

View File

@ -6,12 +6,12 @@
pkgname=libgnome-keyring
pkgver=2.32.0
pkgrel=1
pkgrel=2
pkgdesc="GNOME keyring client library"
arch=(i686 x86_64)
license=('GPL' 'LGPL')
depends=('dbus-core>=1.4.0' 'libgcrypt>=1.4.6' 'glib2>=2.26.0')
makedepends=('intltool' 'pkgconfig' 'python2' 'gtk-doc')
makedepends=('intltool' 'pkgconfig' 'python2')
options=('!libtool' '!emptydirs')
url="http://www.gnome.org"
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.32/${pkgname}-${pkgver}.tar.bz2)
@ -24,4 +24,4 @@ build() {
--libexecdir=/usr/lib/gnome-keyring
make
make -j1 DESTDIR="${pkgdir}" install
}
}

View File

@ -6,7 +6,7 @@
pkgname=libgpod
pkgver=0.8.0
pkgrel=4
pkgrel=5
pkgdesc="libgpod is a shared library to access the contents of an iPod"
arch=(i686 x86_64)
license=('LGPL')
@ -19,7 +19,11 @@ md5sums=('6660f74cc53293dcc847407aa5f672ce')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
./configure --prefix=/usr \
--enable-udev || return 1
make PREFIX=/usr || return 1
make PREFIX=/usr DESTDIR="${pkgdir}" install || return 1
#copy headers
cp -v ${srcdir}/${pkgname}-${pkgver}/src/*.h ${pkgdir}/usr/include/gpod-1.0/gpod/
}

32
libjpeg-turbo/PKGBUILD Normal file
View File

@ -0,0 +1,32 @@
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=libjpeg-turbo
pkgver=1.1.0
pkgrel=1
pkgdesc="libjpeg derivative with accelerated baseline JPEG compression and decompression"
arch=('i686' 'x86_64')
url="http://libjpeg-turbo.virtualgl.org/"
license=('GPL' 'custom')
makedepends=('nasm')
provides=('libjpeg=8.0.2')
conflicts=('libjpeg')
options=('!libtool')
source=(http://sourceforge.net/projects/$pkgname/files/$pkgver/$pkgname-$pkgver.tar.gz)
md5sums=('83e6914a281d649ad289445dc20f9de4')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr --with-jpeg8 --mandir=/usr/share/man
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
install -Dm644 LICENSE.txt $pkgdir/usr/share/licenses/libjpeg-turbo/LICENSE
}

View File

@ -8,26 +8,27 @@
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=libnice
pkgver=0.0.12
pkgver=0.1.0
pkgrel=1
pkgdesc="An implementation of the IETF's draft ICE (for p2p UDP data streams)"
arch=('i686' 'x86_64')
url="http://nice.freedesktop.org"
license=('LGPL')
depends=('gstreamer0.10')
makedepends=('pkgconfig')
options=('!libtool')
source=(http://nice.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz)
md5sums=('fe25005032c441ecfaa0c19ac6b78ee7')
md5sums=('c077e2aa74c9afb4b4e157efc8a6ad9d')
build() {
# export CFLAGS="$CFLAGS -fno-strict-aliasing"
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr \
--disable-dependency-tracking
make || return 1
#make sure that all tests pass
# make check || return 1
make DESTDIR=${pkgdir} install || return 1
--disable-static
make
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR=${pkgdir} install
}

View File

@ -5,20 +5,29 @@
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=libsysactivity
pkgver=0.5.4
pkgrel=1
pkgver=0.6.1
pkgrel=2
pkgdesc="A lightweight library that retrieves statistics of the system's activity in a portable and thread safe way."
url="http://sourceforge.net/projects/libsysactivity/"
license=('LGPL')
arch=('i686' 'x86_64')
depends=('glibc')
makedepends=('cmake')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
md5sums=('4af8a52f30b3fc67c7a7e75619e0b553')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz cmakelist.patch)
md5sums=('a81fc993489dafd5308347b3a48525a5'
'af299470d092281bd54b4a67505211d8')
build() {
build(){
cd ${srcdir}
cd ${srcdir}/${pkgname}-${pkgver}
cmake -DCMAKE_INSTALL_PREFIX=/usr
patch -Np0 -i "${srcdir}/cmakelist.patch" || return 1
mkdir ${srcdir}/build
cd ${srcdir}/build
cmake ${srcdir}/libsysactivity-${pkgver} -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
make
make DESTDIR=${pkgdir} install
}
package() {
cd ${srcdir}/build
make DESTDIR="${pkgdir}" install
}

View File

@ -0,0 +1,19 @@
*** libsysactivity-0.6.1/CMakeLists.txt Wed Apr 13 11:14:38 2011
--- CMakeLists.txt Sat May 14 00:30:43 2011
***************
*** 28,34 ****
check_c_compiler_flag("-flto" HAS_FLTO_FLAG)
if (HAS_FLTO_FLAG)
add_definitions(-flto)
! list(APPEND CMAKE_SHARED_LINKER_FLAGS "-flto")
endif (HAS_FLTO_FLAG)
# Adding debug flags
--- 28,34 ----
check_c_compiler_flag("-flto" HAS_FLTO_FLAG)
if (HAS_FLTO_FLAG)
add_definitions(-flto)
! set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto")
endif (HAS_FLTO_FLAG)
# Adding debug flags

View File

@ -1,15 +1,18 @@
# $Id: PKGBUILD 64443 2010-01-20 12:19:05Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: FJ <joostef@gmail.com>
#
# Platform Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=libwmf
pkgver=0.2.8.4
pkgrel=7
pkgrel=8
pkgdesc="A library for reading vector images in Microsoft's native Windows Metafile Format (WMF)."
arch=(i686 x86_64)
url="http://wvware.sourceforge.net/libwmf.html"
license=("LGPL")
depends=('libpng>=1.4.0' 'libx11' 'freetype2' 'libjpeg>=8' 'gsfonts' 'expat>=2.0')
makedepends=('gtk2>=2.18.6' 'pkgconfig')
makedepends=('pkgconfig')
options=(!libtool)
install=libwmf.install
source=(http://downloads.sourceforge.net/sourceforge/wvware/${pkgname}-${pkgver}.tar.gz
@ -24,11 +27,12 @@ build() {
./configure --prefix=/usr \
--with-gsfontdir=/usr/share/fonts/Type1 \
--with-fontdir=/usr/share/fonts/Type1 \
--with-gsfontmap=/usr/share/ghostscript/8.15/lib/Fontmap.GS
--with-gsfontmap=/usr/share/ghostscript/8.15/lib/Fontmap.GS \
--disable-gtk2
make || return 1
make DESTDIR=${pkgdir} install
#Remove fonts, these are in gsfonts
rm -rf ${pkgdir}/usr/share/fonts
#Remove static GTK loader, can't use it anyways
rm -f ${pkgdir}/usr/lib/gtk-2.0/*/loaders/*.a
#rm -f ${pkgdir}/usr/lib/gtk-2.0/*/loaders/*.a
}

View File

@ -4,23 +4,28 @@
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=('llvm' 'llvm-ocaml' 'clang' 'clang-analyzer')
pkgver=2.8
pkgrel=1
pkgver=2.9
_gcc_ver=4.5.3
pkgrel=3
arch=('i686' 'x86_64')
url="http://llvm.org/"
license=('custom:University of Illinois/NCSA Open Source License')
makedepends=('gcc-libs' 'libffi' 'python' 'ocaml')
makedepends=('gcc-libs' 'libffi' 'python2' 'ocaml' "gcc=$_gcc_ver")
source=(http://llvm.org/releases/$pkgver/$pkgname-$pkgver.tgz
http://llvm.org/releases/$pkgver/clang-$pkgver.tgz
cpp-headers.patch
clang-plugin-loader-registry.patch)
md5sums=('220d361b4d17051ff4bb21c64abe05ba'
'10e14c901fc3728eecbd5b829e011b59'
'30f3144356722d912cc146734928e70f'
'02c23b4aaca3445b8bf39fddb2f9906e')
clang-plugin-loader-registry.patch
cindexer-clang-path.patch
clang-toolchains-gcc-versions.patch
clang-pure64.patch
enable-lto.patch)
md5sums=('793138412d2af2c7c7f54615f8943771'
'634de18d04b7a4ded19ec4c17d23cfca'
'02c23b4aaca3445b8bf39fddb2f9906e'
'87a7162dbe99e9ffce6c40bd09f5f4f0'
'c233e77e25e0cac6d87e6bcaa458a183'
'225ee6b531f8327f34f344a18cb4ec81'
'8f7582d7440e4a8342c3aea9ec714fb4')
build() {
cd "$srcdir/$pkgname-$pkgver"
@ -31,44 +36,69 @@ build() {
cp -r "$srcdir/clang-$pkgver" tools/clang
# Fix symbolic links from OCaml bindings to LLVM libraries
sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' \
bindings/ocaml/Makefile.ocaml || return 1
sed -i 's:\$(PROJ_libdir):/usr/lib/llvm:' bindings/ocaml/Makefile.ocaml
# Fix installation directories, ./configure doesn't seem to set them right
sed -i -e 's:\$(PROJ_prefix)/etc/llvm:/etc/llvm:' \
-e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib/llvm:' \
-e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
Makefile.config.in || return 1
Makefile.config.in
# Fix insecure rpath (http://bugs.archlinux.org/task/14017)
sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' \
Makefile.rules || return 1
# Update hardcoded path to C++ header files
patch -d tools/clang -p1 -i "$srcdir/cpp-headers.patch" || return 1
sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules
# Get the correct list of symbols to export
# See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-April/008559.html
patch -p1 -i "$srcdir/clang-plugin-loader-registry.patch" || return 1
patch -Np1 -i "$srcdir/clang-plugin-loader-registry.patch"
# Fix clang path in CIndexer.cpp (https://bugs.archlinux.org/task/22799)
patch -d tools/clang -Np0 -i "$srcdir/cindexer-clang-path.patch"
# Add GCC 4.5.3 to GccVersions (FS#23631)
patch -d tools/clang -Np1 -i "$srcdir/clang-toolchains-gcc-versions.patch"
if [[ $CARCH == x86_64 ]]; then
# Adjust lib paths
patch -d tools/clang -Np0 -i "$srcdir/clang-pure64.patch"
fi
# Make -flto work
# Use gold instead of default linker, and always use the plugin
patch -d tools/clang -Np0 -i "$srcdir/enable-lto.patch"
# Apply strip option to configure
_optimize_flag="--enable-optimize"
[ "$(check_option strip)" = "n" ] && _optimize_flag="--disable-optimize"
_optimized_switch="enable"
[[ $(check_option strip) == n ]] && _optimized_switch="disable"
# Include location of libffi headers in CPPFLAGS
export CPPFLAGS="$CPPFLAGS $(pkg-config --cflags libffi)"
./configure --prefix=/usr --libdir=/usr/lib/llvm --sysconfdir=/etc \
--enable-shared --enable-libffi \
--enable-bindings=ocaml --enable-targets=all \
--disable-expensive-checks --disable-debug-runtime \
--disable-assertions $_optimize_flag
make || return 1
_cxx_headers="/usr/include/c++/$_gcc_ver"
if [[ ! -d $_cxx_headers ]]; then
error "Couldn't find the C++ headers, PKGBUILD needs fixing!"
return 1
fi
./configure \
--prefix=/usr \
--libdir=/usr/lib/llvm \
--sysconfdir=/etc \
--enable-shared \
--enable-libffi \
--enable-targets=all \
--disable-expensive-checks \
--disable-debug-runtime \
--disable-assertions \
--with-binutils-include=/usr/include \
--with-cxx-include-root=$_cxx_headers \
--with-cxx-include-arch=$CHOST \
--$_optimized_switch-optimized
make REQUIRES_RTTI=1
}
package_llvm() {
pkgdesc="Low Level Virtual Machine"
url="http://llvm.org/"
depends=('perl' 'libffi')
cd "$srcdir/$pkgname-$pkgver"
@ -77,7 +107,7 @@ package_llvm() {
# then we bring it back in for the clang package
mv tools/clang "$srcdir"
# -j1 is due to race conditions during the installation of the OCaml bindings
make -j1 DESTDIR="$pkgdir" install || return 1
make -j1 DESTDIR="$pkgdir" install
mv "$srcdir/clang" tools
# OCaml bindings go to a separate package
@ -91,12 +121,14 @@ package_llvm() {
chmod -x "$pkgdir"/usr/lib/llvm/*.a
# Fix libdir in llvm-config (http://bugs.archlinux.org/task/14487)
sed -i 's:\(ABS_RUN_DIR/lib\):\1/llvm:' \
"$pkgdir/usr/bin/llvm-config" || return 1
sed -i 's:\(ABS_RUN_DIR/lib\):\1/llvm:' "$pkgdir/usr/bin/llvm-config"
# Get rid of example Hello transformation
rm "$pkgdir"/usr/lib/llvm/*LLVMHello.*
# Symlink the gold plugin where clang expects it
ln -s llvm/LLVMgold.so "$pkgdir/usr/lib/LLVMgold.so"
# Add ld.so.conf.d entry
install -d "$pkgdir/etc/ld.so.conf.d"
echo /usr/lib/llvm >"$pkgdir/etc/ld.so.conf.d/llvm.conf"
@ -111,8 +143,8 @@ package_llvm-ocaml() {
cd "$srcdir/llvm-$pkgver"
install -d "$pkgdir"/{usr/lib,usr/share/doc/llvm}
mv "$srcdir/ocaml" "$pkgdir/usr/lib"
mv "$srcdir/ocamldoc" "$pkgdir/usr/share/doc/llvm"
cp -r "$srcdir/ocaml" "$pkgdir/usr/lib"
cp -r "$srcdir/ocamldoc" "$pkgdir/usr/share/doc/llvm"
# Remove execute bit from static libraries
chmod -x "$pkgdir"/usr/lib/ocaml/libllvm*.a
@ -125,21 +157,21 @@ package_clang() {
url="http://clang.llvm.org/"
# It looks like clang still needs GCC to assemble and link object files
# See http://old.nabble.com/%22clang--v%22-shows-a-GCC-call-td28378453.html
depends=("llvm=$pkgver-$pkgrel" 'gcc')
depends=("llvm=$pkgver-$pkgrel" "gcc=$_gcc_ver")
# Fix installation path for clang docs
sed -i 's:$(PROJ_prefix)/share/doc/llvm:$(PROJ_prefix)/share/doc/clang:' \
"$srcdir/llvm-$pkgver/Makefile.config" || return 1
"$srcdir/llvm-$pkgver/Makefile.config"
cd "$srcdir/llvm-$pkgver/tools/clang"
make DESTDIR="$pkgdir" install || return 1
make DESTDIR="$pkgdir" install
# Fix permissions of static libs
chmod -x "$pkgdir"/usr/lib/llvm/*.a
# Revert the path change in case we want to do a repackage later
sed -i 's:$(PROJ_prefix)/share/doc/clang:$(PROJ_prefix)/share/doc/llvm:' \
"$srcdir/llvm-$pkgver/Makefile.config" || return 1
"$srcdir/llvm-$pkgver/Makefile.config"
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang/LICENSE"
}
@ -147,21 +179,24 @@ package_clang() {
package_clang-analyzer() {
pkgdesc="A source code analysis framework"
url="http://clang-analyzer.llvm.org/"
depends=("clang=$pkgver-$pkgrel" 'python')
depends=("clang=$pkgver-$pkgrel" 'python2')
cd "$srcdir/llvm-$pkgver/tools/clang"
install -d "$pkgdir"/usr/{bin,lib/clang-analyzer}
for tool in scan-{build,view}; do
cp -r tools/$tool "$pkgdir/usr/lib/clang-analyzer"
ln -s /usr/lib/clang-analyzer/$tool/$tool "$pkgdir/usr/bin"
for _tool in scan-{build,view}; do
cp -r tools/$_tool "$pkgdir/usr/lib/clang-analyzer/"
ln -s /usr/lib/clang-analyzer/$_tool/$_tool "$pkgdir/usr/bin/"
done
# Use Python 2
sed -i 's/env python$/\02/' \
"$pkgdir/usr/lib/clang-analyzer/scan-view/scan-view" \
"$pkgdir/usr/lib/clang-analyzer/scan-build/set-xcode-analyzer"
# Compile Python scripts
python -m compileall "$pkgdir/usr/lib/clang-analyzer" || return 1
python -O -m compileall "$pkgdir/usr/lib/clang-analyzer" || return 1
python2 -m compileall "$pkgdir/usr/lib/clang-analyzer"
python2 -O -m compileall "$pkgdir/usr/lib/clang-analyzer"
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/clang-analyzer/LICENSE"
}
# vim:set ts=2 sw=2 et:
}

View File

@ -0,0 +1,10 @@
--- tools/libclang/CIndexer.cpp.orig 2011-04-07 13:08:24.000000000 +0300
+++ tools/libclang/CIndexer.cpp 2011-04-07 13:11:52.224884642 +0300
@@ -80,6 +80,7 @@ std::string CIndexer::getClangResourcesP
// We now have the CIndex directory, locate clang relative to it.
LibClangPath.eraseComponent();
+ LibClangPath.eraseComponent();
#endif
LibClangPath.appendComponent("clang");

38
llvm/clang-pure64.patch Normal file
View File

@ -0,0 +1,38 @@
Index: lib/Driver/Tools.cpp
===================================================================
--- lib/Driver/Tools.cpp (revision 123373)
+++ lib/Driver/Tools.cpp (working copy)
@@ -3306,7 +3306,7 @@
else if (ToolChain.getArch() == llvm::Triple::arm)
CmdArgs.push_back("/lib/ld-linux.so.3");
else
- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
+ CmdArgs.push_back("/lib/ld-linux-x86-64.so.2");
}
CmdArgs.push_back("-o");
Index: lib/Driver/ToolChains.cpp
===================================================================
--- lib/Driver/ToolChains.cpp (revision 123373)
+++ lib/Driver/ToolChains.cpp (working copy)
@@ -1317,18 +1317,10 @@
if (Arch == llvm::Triple::x86)
Suffix64 = "/64";
- std::string Lib32 = "lib";
-
- bool Exists;
- if (!llvm::sys::fs::exists("/lib32", Exists) && Exists)
- Lib32 = "lib32";
-
+ std::string Lib32 = "lib32";
std::string Lib64 = "lib";
- bool Symlink;
- if (!llvm::sys::fs::exists("/lib64", Exists) && Exists &&
- (llvm::sys::fs::is_symlink("/lib64", Symlink) || !Symlink))
- Lib64 = "lib64";
+ bool Exists;
std::string GccTriple = "";
if (Arch == llvm::Triple::arm) {
if (!llvm::sys::fs::exists("/usr/lib/gcc/arm-linux-gnueabi", Exists) &&

View File

@ -0,0 +1,12 @@
diff -upr clang-2.9.orig/lib/Driver/ToolChains.cpp clang-2.9/lib/Driver/ToolChains.cpp
--- clang-2.9.orig/lib/Driver/ToolChains.cpp 2011-03-21 23:29:27.000000000 +0200
+++ clang-2.9/lib/Driver/ToolChains.cpp 2011-04-08 00:03:34.000000000 +0300
@@ -1449,7 +1449,7 @@ Linux::Linux(const HostInfo &Host, const
GccTriple = "i586-suse-linux";
}
- const char* GccVersions[] = {"4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
+ const char* GccVersions[] = {"4.5.3", "4.5.2", "4.5.1", "4.5", "4.4.5", "4.4.4",
"4.4.3", "4.4", "4.3.4", "4.3.3", "4.3.2",
"4.3", "4.2.4", "4.2.3", "4.2.2", "4.2.1",
"4.2"};

View File

@ -1,17 +1,17 @@
diff -uprb clang-2.7.orig/lib/Frontend/InitHeaderSearch.cpp clang-2.7/lib/Frontend/InitHeaderSearch.cpp
--- clang-2.7.orig/lib/Frontend/InitHeaderSearch.cpp 2010-03-06 21:38:10.000000000 +0200
+++ clang-2.7/lib/Frontend/InitHeaderSearch.cpp 2010-04-30 19:05:24.000000000 +0300
@@ -539,10 +539,10 @@ void InitHeaderSearch::AddDefaultCPlusPl
"i586-suse-linux", "", "", triple);
AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4",
diff -Naur clang-2.9//lib/Frontend/InitHeaderSearch.cpp clang-2.9-patched//lib/Frontend/InitHeaderSearch.cpp
--- clang-2.9//lib/Frontend/InitHeaderSearch.cpp 2011-03-22 00:24:04.000000000 +0000
+++ clang-2.9-patched//lib/Frontend/InitHeaderSearch.cpp 2011-05-06 01:01:11.000000000 +0000
@@ -748,10 +748,10 @@
AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.5",
"x86_64-suse-linux", "", "", triple);
- // Arch Linux 2008-06-24
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
+ // Chakra Linux 2010-08-29
+ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.5.1",
+ // Chakra Linux 2011-05-06
+ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.5.3",
"i686-pc-linux-gnu", "", "", triple);
- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1",
+ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.5.1",
+ AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.5.3",
"x86_64-unknown-linux-gnu", "", "", triple);
// Gentoo x86 2009.1 stable
// Gentoo x86 gcc 4.5.2
AddGnuCPlusPlusIncludePaths(

36
llvm/enable-lto.patch Normal file
View File

@ -0,0 +1,36 @@
Index: lib/Driver/ToolChains.cpp
===================================================================
--- lib/Driver/ToolChains.cpp (revision 123373)
+++ lib/Driver/ToolChains.cpp (working copy)
@@ -1398,11 +1398,11 @@
Lib = Lib64;
}
- llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld");
+ llvm::sys::Path LinkerPath(Base + "/../../../../" + GccTriple + "/bin/ld.gold");
if (!llvm::sys::fs::exists(LinkerPath.str(), Exists) && Exists)
Linker = LinkerPath.str();
else
- Linker = GetProgramPath("ld");
+ Linker = GetProgramPath("ld.gold");
LinuxDistro Distro = DetectLinuxDistro(Arch);
Index: lib/Driver/Tools.cpp
===================================================================
--- lib/Driver/Tools.cpp (revision 123373)
+++ lib/Driver/Tools.cpp (working copy)
@@ -3412,11 +3412,11 @@
}
}
- if (Args.hasArg(options::OPT_use_gold_plugin)) {
+ // if (Args.hasArg(options::OPT_use_gold_plugin)) {
CmdArgs.push_back("-plugin");
std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so";
CmdArgs.push_back(Args.MakeArgString(Plugin));
- }
+ // }
C.addCommand(new Command(JA, *this, ToolChain.Linker.c_str(), CmdArgs));
}

View File

@ -8,23 +8,39 @@
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=lv2core
pkgver=3.0
pkgver=4.0
pkgrel=1
pkgdesc="LV2: Successor to the LADSPA audio plug-in standard"
url="http://lv2plug.in/"
license=('LGPL' 'custom')
arch=(i686 x86_64)
makedepends=('python')
source=(http://lv2plug.in/spec/$pkgname-$pkgver.tar.bz2)
arch=('i686' 'x86_64')
makedepends=('python2')
provides=('lv2')
install=$pkgname.install
source=("http://lv2plug.in/spec/$pkgname-$pkgver.tar.bz2")
md5sums=('5097d964f3559a1ecec2d2fc822ef53a')
build() {
cd "$srcdir/$pkgname-$pkgver"
cd "$srcdir/$pkgname-$pkgver"
./waf configure --prefix=/usr
./waf build $MAKEFLAGS || return 1
./waf install --destdir="$pkgdir"
python2 waf configure --prefix=/usr
python2 waf build $MAKEFLAGS
}
install -Dm0644 COPYING \
package() {
cd "$srcdir/$pkgname-$pkgver"
python waf install --destdir="$pkgdir"
# do the work of lv2config to own symlinks;
# - generate lv2 headers
# - see FS#23514
_ns=$(grep '^<http' manifest.ttl | sed 's|<http://\(.*\)>|\1|')
_name=${_ns/*\/}
_path="$pkgdir/usr/include/lv2/${_ns%/*}"
install -d "$_path"
ln -s "/usr/lib/lv2/$_name.lv2" "$_path/$_name"
install -Dm644 COPYING \
"$pkgdir/usr/share/licenses/$pkgname/COPYING"
}
md5sums=('382f7d96ff0374c0c495336e1c8bb999')

13
lv2core/lv2core.install Normal file
View File

@ -0,0 +1,13 @@
post_install() {
\ldconfig
}
post_upgrade() {
post_install
}
post_remove() {
post_install
}
# vim:set ts=2 sw=2 et:

View File

@ -4,11 +4,8 @@
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
# use ../fakeuname -r 2.6.35-CHAKRA-LTS ../makepkg
_kernver=`uname -r`
# use ../makepkg
_kernver="2.6.35-CHAKRA-LTS"
pkgname=madwifi-lts
pkgver=0.9.4.4133

View File

@ -8,8 +8,8 @@
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=maxima
pkgver=5.23.2
pkgrel=2
pkgver=5.24.0
pkgrel=1
pkgdesc="Maxima - a sophisticated computer algebra system"
arch=('i686' 'x86_64')
license=('GPL')
@ -23,7 +23,7 @@ optdepends=('gnuplot: plotting capabilities' \
options=('!makeflags' '!zipman') # don't zip info pages or they won't work inside maxima
install=maxima.install
source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz" "$pkgname.desktop")
md5sums=('ae2f2eaca33de95636e36652ed281902' '24aa81126fbb8b726854e5a80d4c2415')
md5sums=('396765661059d73e03b739b350bc42da' '24aa81126fbb8b726854e5a80d4c2415')
build() {
cd ${srcdir}/${pkgname}-${pkgver}

View File

@ -5,8 +5,8 @@
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=mlt-python-bindings
pkgver=0.7.0
pkgrel=2
pkgver=0.7.2
pkgrel=1
pkgdesc="python bindings for MLT multimedia framework"
arch=('i686' 'x86_64')
url="http://www.mltframework.org"
@ -14,7 +14,7 @@ license=('GPL')
depends=('python2' 'mlt')
makedepends=('swig')
source=(http://downloads.sourceforge.net/sourceforge/mlt/mlt-$pkgver.tar.gz)
md5sums=('06dd5bd6f00ae8fec64d45f0b74cac88')
md5sums=('3adeace6642a5ee0db0715b6bd7b7a52')
build() {
mkdir -p $startdir/pkg/usr/lib/python2.7/

View File

@ -10,8 +10,8 @@ source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
# NOTE: Disabled the gtk2 module so no gtk-preview
pkgname=mlt
pkgver=0.7.0
pkgrel=3
pkgver=0.7.2
pkgrel=1
pkgdesc="An open source multimedia framework"
arch=('i686' 'x86_64')
url="http://www.mltframework.org"
@ -21,7 +21,7 @@ optdepends=('jack')
makedepends=('subversion')
conflicts=('mlt++<=0.3.8')
source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz)
md5sums=('06dd5bd6f00ae8fec64d45f0b74cac88')
md5sums=('3adeace6642a5ee0db0715b6bd7b7a52')
build() {
cd $srcdir/$pkgname-$pkgver

View File

@ -9,12 +9,14 @@ source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=mplayer
pkgver=33183
pkgrel=4
pkgrel=5
pkgdesc="A movie player for linux"
arch=('i686' 'x86_64')
depends=('libxxf86dga' 'libxxf86vm' 'libmad' 'cdparanoia' 'libxinerama' 'sdl' 'lame' 'libtheora' 'xvidcore' 'libmng' 'libxss'
'libgl' 'smbclient' 'aalib' 'jack' 'libcaca' 'x264' 'faac' 'lirc-utils' 'ttf-dejavu' 'libxvmc' 'enca' 'libvdpau>=0.4'
'opencore-amr' 'libdca' 'a52dec' 'schroedinger' 'libvpx' 'openjpeg' 'mpg123' 'directfb' 'rtmpdump')
depends=('a52dec' 'aalib' 'alsa-lib' 'bzip2' 'cdparanoia' 'directfb' 'enca' 'faac' 'faad2' 'fontconfig' 'freetype2'
'gcc-libs' 'giflib' 'glibc' 'jack' 'lame' 'libcaca' 'libdca' 'libgl' 'libjpeg' 'libmad' 'libmng' 'libogg'
'libpng' 'libtheora' 'libvdpau>=0.4' 'libvpx' 'libx11' 'libxext' 'libxinerama' 'libxv' 'libxvmc' 'libxxf86dga'
'libxxf86vm' 'libxss' 'lirc-utils' 'mpg123' 'ncurses' 'opencore-amr' 'openjpeg' 'orc' 'rtmpdump' 'schroedinger'
'sdl' 'smbclient' 'ttf-dejavu' 'x264' 'xvidcore' 'zlib')
license=('GPL')
url="http://www.mplayerhq.hu/"
makedepends=('unzip' 'mesa' 'live-media>=2010.01.13' 'yasm')

View File

@ -6,23 +6,29 @@
pkgname=mplayer2
pkgver=2.0
pkgrel=1
pkgrel=2
pkgdesc="A media player for Linux, Uoti Urpala's fork"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.mplayer2.org/"
depends=('ffmpeg' 'fontconfig' 'gettext' 'libcss' 'libgl' 'libxvmc' 'libxss' 'libxxf86dga' 'sdl' 'ttf-dejavu')
depends=('a52dec' 'aalib' 'alsa-lib' 'libass' 'ffmpeg' 'libcaca' 'cdparanoia' 'glibc' 'libdca' 'directfb' 'libdvdnav'
'libdvdread' 'enca' 'faad2' 'fontconfig' 'freetype2' 'gcc-libs' 'giflib' 'libgl' 'jack' 'libjpeg' 'lirc-utils'
'libmad' 'libmng' 'mpg123' 'ncurses' 'libogg' 'libpng' 'sdl' 'smbclient' 'libtheora' 'libvdpau' 'libvorbis'
'libx11' 'libxext' 'libxinerama' 'libxss' 'xvidcore' 'libxvmc' 'libxv' 'libxxf86dga' 'libxxf86vm' 'zlib')
makedepends=('live-media' 'mesa' 'unzip' 'yasm')
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
provides=('mplayer')
conflicts=('mplayer' 'mplayer2-git')
source=(http://ftp.mplayer2.org/pub/release/${pkgname}-build-${pkgver/_/-}.tar.xz)
#source=(http://ftp.mplayer2.org/pub/release/${pkgname}-build-${pkgver/_/-}.tar.xz)
md5sums=('05b93784de995235e2758f182de15f73')
source=(https://launchpad.net/debian/experimental/+source/mplayer2/2.0-54-gd33877a-1/+files/mplayer2_2.0-54-gd33877a.orig.tar.gz)
md5sums=('3ccc86e8c340edd37697178a7dba471a')
build() {
unset CFLAGS LDFLAGS
cd ${srcdir}/${pkgname}-build-${pkgver/_/-}/${pkgname/2/}
#cd ${srcdir}/${pkgname}-build-${pkgver/_/-}/${pkgname/2/}
cd ${srcdir}/mplayer2-build-2.0-54-gd33877a/mplayer
./configure --prefix=/usr \
--enable-runtime-cpudetection \
@ -45,7 +51,8 @@ build() {
}
package() {
cd ${srcdir}/${pkgname}-build-${pkgver/_/-}/${pkgname/2/}
#cd ${srcdir}/${pkgname}-build-${pkgver/_/-}/${pkgname/2/}
cd ${srcdir}/mplayer2-build-2.0-54-gd33877a/mplayer
make DESTDIR="${pkgdir}" install
install -Dm644 etc/{codecs.conf,input.conf,example.conf} ${pkgdir}/etc/mplayer/

View File

@ -1,22 +1,27 @@
# $Id: PKGBUILD 74603 2010-03-31 18:55:53Z giovanni $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Committer: Judd Vinet <jvinet@zeroflux.org>
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=nasm
pkgver=2.08.01
pkgver=2.09.08
pkgrel=1
pkgdesc="80x86 assembler designed for portability and modularity"
url="http://www.nasm.us"
license=('LGPL')
license=('BSD')
arch=('i686' 'x86_64')
depends=('glibc')
makedepends=('ghostscript')
install=nasm.install
source=(http://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${pkgname}-${pkgver}.tar.bz2)
md5sums=('1e3ebc1289c2be5963571c0937b7a211')
md5sums=('6abfa388a74ee47e163fdb30ecfd40f9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure --prefix=/usr || return 1
make || return 1
make INSTALLROOT="${pkgdir}" install || return 1
make INSTALLROOT="${pkgdir}" install install_rdf
install -d "${pkgdir}/usr/share/info"
install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/nasm/LICENSE" || return 1
}

20
nasm/nasm.install Normal file
View File

@ -0,0 +1,20 @@
infodir=usr/share/info
filelist=(nasm.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
}

View File

@ -1,16 +1,19 @@
# $Id: PKGBUILD 75560 2010-04-01 20:34:09Z giovanni $
# Maintainer: Hugo Doria <hugo@archlinux.org>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=nmap
pkgver=5.21
pkgrel=2
pkgver=5.51
pkgrel=1
pkgdesc="A network exploration tool and security/port scanner"
arch=('i686' 'x86_64')
url="http://nmap.org"
license=('custom:GPL')
depends=('pcre' 'openssl' 'libpcap>=1.0.0' 'lua')
# python is needed for zenmap
makedepends=('python')
makedepends=('python2')
optdepends=('pygtk: gui for nmap')
options=('!makeflags')
source=(http://nmap.org/dist/${pkgname}-${pkgver}.tar.bz2)
@ -32,4 +35,4 @@ build() {
# install custom GPL2 license
install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
md5sums=('f77fa51d89ab27d35e5cd87bb086b858')
md5sums=('0b80d2cb92ace5ebba8095a4c2850275')

View File

@ -4,11 +4,8 @@
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
# use ../fakeuname -r 2.6.35-CHAKRA-LTS ../makepkg
_kernver=`uname -r`
# use ../makepkg
_kernver="2.6.35-CHAKRA-LTS"
pkgname=nouveau-drm-lts
_snapdate=20100809

View File

@ -2,7 +2,8 @@
# Maintainer: dorphell <dorphell@archlinux.org>
pkgname=ntp
pkgver=4.2.6
pkgver=4.2.6.p3
_realver=4.2.6p3
pkgrel=3
pkgdesc="NTP (Network Time Protocol) tries to keep servers in sync"
arch=(i686 x86_64)
@ -12,66 +13,68 @@ depends=('openssl' 'readline' 'libcap')
makedepends=('perl-html-parser')
backup=('etc/ntp.conf' 'etc/conf.d/ntp-client.conf')
options=('!emptydirs')
source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${pkgver}.tar.gz
ntp-4.2.4_p7-nano.patch
fix-ipv6.patch
source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${_realver}.tar.gz
ntp-4.2.4-html2man.patch
ntp.conf
ntp-client.conf
ntpd
ntpdate)
md5sums=('4d64a99592b818aa9419fc9dcb149746' '36c5711228cb0cf48966daa993e06f55'\
'9dabdbc6b8cd020f2205515df7972c21' '1b04e888717bb31479a6087632981723'\
'5bd3924f5720b97837969ec4ec4d5e09' 'c7f50632b69bd4f32cf052d0b1848463'\
'46118a8ec2c4f5bbfafd730af21b7c03' '140855352baeb89da0c6c1c475c18b57')
sha1sums=('a1f21b23c8c80f35801d59e30ba30779f2025a72' '4de6cd3fad1946146107f86d1f161eb835fbb2d3'\
'3632f8a00838f48e484bca24de06db443cc14fff' '7f8783e243e23c8853a9f9fb5b36f467aab8dc15'\
'3625ed2aa71d9e0dd04634f32e65d83b76cfe780' 'c8e388f2577b4329da5e77f0455083db6dd97fa8'\
'd9b09de9d718a864270e9330e20109e182dfbdd9' '6dfc3b6996f591123ee8938fd0fe7c27eb5c7552')
ntp.conf
ntp-client.conf
ntpd
ntpdate)
md5sums=('59876a9009b098ff59767ee45a88ebd2'
'1b04e888717bb31479a6087632981723'
'6e3bac6153ab072d60d6f494093d2ded'
'58997d6cf4846d80e35a01b855376a33'
'bf20804e75656609e808ca21b53ea4aa'
'140855352baeb89da0c6c1c475c18b57')
build() {
cd "$srcdir/$pkgname-$pkgver" || return 1
# fix glibc build issue
patch -Np1 -i ../ntp-4.2.4_p7-nano.patch || return 1
# fix ipv6 support
patch -Np1 -i ../fix-ipv6.patch || return 1
cd "$srcdir/$pkgname-$_realver"
# fix man page generation
patch -Np1 -i ../ntp-4.2.4-html2man.patch || return 1
patch -Np1 -i ../ntp-4.2.4-html2man.patch
# configure
export LDFLAGS="${LDFLAGS//-Wl,--as-needed}"
libtoolize --copy --force || return 1
ac_cv_header_dns_sd_h=0 ./configure --prefix=/usr --mandir=/usr/share/man --enable-linux-caps || return 1
# 4.2.6p3: aclocal too old, regenerate
rm -f aclocal.m4
libtoolize --copy --force
ac_cv_header_dns_sd_h=0 ./configure --prefix=/usr \
--mandir=/usr/share/man \
--enable-linux-caps
# build
make
}
# build and install
make || return 1
make DESTDIR="$pkgdir" install || return 1
package() {
cd "$srcdir/$pkgname-$_realver"
# install
make DESTDIR="$pkgdir" install
# install conf files
mkdir -p "$pkgdir/usr/share/ntp" || return 1
install -D -m644 conf/* "$pkgdir/usr/share/ntp/" || return 1
install -d "$pkgdir/usr/share/ntp"
install -D -m644 conf/* "${pkgdir}/usr/share/ntp"
# install launch scripts
mkdir -p "$pkgdir/etc/rc.d" || return 1
install -D -m755 "$srcdir"/{ntpd,ntpdate} "$pkgdir/etc/rc.d/" || return 1
install -d "$pkgdir/etc/rc.d"
install -D -m755 ${srcdir}/{ntpd,ntpdate} "$pkgdir/etc/rc.d"
# install man pages
cd html
../scripts/html2man || return 1
sed -i 's/^[\t\ ]*$//;/./,/^$/!d' man/man*/*.[58] || return 1
../scripts/html2man
sed -i 's/^[\t\ ]*$//;/./,/^$/!d' man/man*/*.[58]
install -d "$pkgdir"/usr/share/man/man{5,8}
install -m644 man/man5/* "$pkgdir/usr/share/man/man5/" || return 1
install -m644 man/man8/* "$pkgdir/usr/share/man/man8/" || return 1
mv "$pkgdir/usr/share/man/man8/ntpd.8" "$pkgdir/usr/share/man/man8/ntp-ntpd.8" || return 1
install -m644 man/man5/* "$pkgdir/usr/share/man/man5/"
install -m644 man/man8/* "$pkgdir/usr/share/man/man8/"
mv "$pkgdir/usr/share/man/man8/ntpd.8" "$pkgdir/usr/share/man/man8/ntp-ntpd.8"
cd ..
# install sample configs
install -D -m644 "$srcdir/ntp.conf" "$pkgdir/etc/ntp.conf" || return 1
install -D -m644 "$srcdir/ntp.conf" "$pkgdir/etc/ntp.conf"
install -D -m644 "$srcdir/ntp-client.conf" \
"$pkgdir/etc/conf.d/ntp-client.conf" || return 1
"$pkgdir/etc/conf.d/ntp-client.conf"
# create /var/lib/ntp
mkdir -p "$pkgdir/var/lib/ntp" || return 1
touch "$pkgdir/var/lib/ntp/.placeholder" || return 1
install -d "$pkgdir/var/lib/ntp"
touch "$pkgdir/var/lib/ntp/.placeholder"
install -Dm644 "$srcdir/$pkgname-$pkgver/COPYRIGHT" "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT"
install -Dm644 "$srcdir/$pkgname-$_realver/COPYRIGHT" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

View File

@ -1,11 +1,5 @@
# change this to a server closer to your location
NTP_CLIENT_SERVER="pool.ntp.org"
# client options
NTP_CLIENT_OPTION="-b -u"
# timeout for the ntp-client
NTPCLIENT_TIMEOUT=10
# client options for "ntpd -q" - ntpdate equivalent
NTP_CLIENT_OPTION="-g"
# arguments passed to ntpd when started
NTPD_ARGS="-g"

View File

@ -19,24 +19,24 @@ server pool.ntp.org
# netselect -s 3 pool.ntp.org
##
# you should not need to modify the following paths
driftfile /var/lib/ntp/ntp.drift
#server ntplocal.example.com prefer
#server timeserver.example.org
# Warning: Using default NTP settings will leave your NTP
# server accessible to all hosts on the Internet.
# If you want to deny all machines (including your own)
# from accessing the NTP server, uncomment:
# A default deny all (including localhost) policy
# To use this define restrictions for all servers and clients
#restrict default ignore
#restrict -6 default ignore
# To deny other machines from changing the
# configuration but allow localhost:
# A more open policy, allow access but deny changing the configuration
restrict default nomodify nopeer
#restrict -6 default nomodify nopeer
# Allow localhost
restrict 127.0.0.1
#restrict -6 ::1
# To allow machines within your network to synchronize
@ -45,3 +45,7 @@ restrict 127.0.0.1
# to synchronize against, uncomment this line.
#
#restrict 192.168.0.0 mask 255.255.255.0 nomodify nopeer notrap
# you should not need to modify the following paths
driftfile /var/lib/ntp/ntp.drift

View File

@ -4,30 +4,42 @@
. /etc/rc.d/functions
. /etc/conf.d/ntp-client.conf
PID=`pidof -o %PPID /usr/bin/ntpd`
PIDFILE="/var/run/ntpd/ntpd.pid"
PID=$(cat $PIDFILE 2> /dev/null)
case "$1" in
start)
stat_busy "Starting NTP Daemon"
[ ! -d /var/run/ntpd ] && install -d /var/run/ntpd &>/dev/null
if [ -z "$PID" ]; then
/usr/bin/ntpd $NTPD_ARGS &
fi
if [ ! -z "$PID" -o $? -gt 0 ]; then
stat_fail
/usr/bin/ntpd $NTPD_ARGS -p /var/run/ntpd/ntpd.pid &>/dev/null
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
add_daemon ntpd
stat_done
fi
else
PID=`pidof -o %PPID /usr/bin/ntpd`
echo $PID > /var/run/ntpd.pid
add_daemon ntpd
stat_done
stat_fail
exit 1
fi
;;
stop)
stat_busy "Stopping NTP Daemon"
[ ! -z "$PID" ] && kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
if [ -n "$PID" ]; then
kill $PID &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
rm $PIDFILE &>/dev/null
rm_daemon ntpd
stat_done
fi
else
rm_daemon ntpd
stat_done
stat_fail
exit 1
fi
;;
restart)

View File

@ -8,19 +8,19 @@
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=('ntrack')
pkgver=009
pkgver=13
pkgrel=1
pkgdesc="A networked sound server"
arch=(i686 x86_64)
url=http://launchpad.net/ntrack/
license=(GPL LGPL)
depends=('python' 'qt')
depends=('python' 'qt' 'libnl' 'gcc-libs')
options=(emptydirs !libtool !makeflags !strip)
source=("http://launchpad.net/ntrack/main/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz")
md5sums=('37e35967a03962f4d2d40ec0816250af')
source=("http://launchpad.net/ntrack/main/0${pkgver}/+download/${pkgname}-0${pkgver}.tar.gz")
md5sums=('90596b924a108f8b4eea52239ba64369')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
cd "${srcdir}/${pkgname}-0${pkgver}"
./configure --libexecdir=/usr/lib \
--localstatedir=/var \
@ -31,6 +31,6 @@ build() {
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
cd "${srcdir}/${pkgname}-0${pkgver}"
make DESTDIR="${pkgdir}" install
}

View File

@ -1,26 +1,35 @@
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Andries Radu <admiral0@live.it>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=opengtl
pkgver=0.9.13
pkgver=0.9.15.1
pkgrel=1
pkgdesc="A set of library for using and integrating transformation algorithms (such as filter or color conversion) in
graphics applications."
pkgdesc="A set of library for using and integrating transformation algorithms (such as filter or color conversion) in graphics applications"
url="http://www.opengtl.org"
arch=('i686' 'x86_64')
license=('GPL')
depends=('gcc-libs')
makedepends=('cmake' 'llvm' 'libpng')
source=(http://www.opengtl.org/download/OpenGTL-${pkgver}.tar.bz2)
md5sums=('b44e0f5dbcbfe7253de8859c38ba39ef')
makedepends=('cmake' 'llvm' 'libpng')
optdepends=('libpng: for using the png extension')
source=(http://download.opengtl.org/OpenGTL-${pkgver}.tar.bz2)
md5sums=('052fc8504ced601e356e4d20621699f7')
sha1sums=('ddd25b1f5eb11ae0b438c67d5a2a73481e919a0a')
build() {
install -d ${srcdir}/build
cd ${srcdir}/build || return 1
cd "${srcdir}"
mkdir build
cd build
cmake ../OpenGTL-${pkgver} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_{SHARED,MODULE,EXE}_LINKER_FLAGS='-Wl,--no-undefined -Wl,--as-needed' \
-DCMAKE_INSTALL_PREFIX=/usr || return 1
make || return 1
make DESTDIR=${pkgdir} install
-DCMAKE_INSTALL_PREFIX=/usr
make
}
package() {
cd "${srcdir}/build"
make DESTDIR="${pkgdir}" install
}

22
openresolv/PKGBUILD Normal file
View File

@ -0,0 +1,22 @@
pkgname=openresolv
pkgver=3.4.0
pkgrel=1
pkgdesc="resolv.conf management framework (resolvconf)"
arch=(any)
url="http://roy.marples.name/projects/openresolv"
license=('custom:BSD')
backup=(etc/resolvconf.conf)
provides=(resolvconf)
source=("http://roy.marples.name/downloads/openresolv/${pkgname}-${pkgver}.tar.bz2")
package() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
make DESTDIR="$pkgdir" install
mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
sed -n '2,25{s:^# \?::;p}' resolvconf.in > "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
md5sums=('37a916c5d8157cd7c0edbb8621573804')

View File

@ -7,8 +7,6 @@
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
# NOTE: if you build complete new dash makedep phonon first and build stock phonon. install that for the vlc/mplayer backends
# original name (used for the source and pkgnames)
pkgbase=('phonon-backend')
@ -18,8 +16,9 @@ pkgname=('phonon-backend-gstreamer'
'phonon-backend-vlc')
pkgver=4.5.0
_pkgver=4.4.4
pkgrel=2
_xine=4.4.4
_vlc=0.4.0
pkgrel=3
pkgdesc='The multimedia API for Qt 4 and KDE 4'
arch=('i686' 'x86_64')
url='http://phonon.kde.org'
@ -41,12 +40,12 @@ makedepends=("qt>=${_qtver}"
"phonon>=${pkgver}")
source=("http://download.kde.org/stable/phonon/phonon-backend-gstreamer/${pkgver}/src/phonon-backend-gstreamer-${pkgver}.tar.bz2"
"http://download.kde.org/stable/phonon/phonon-backend-xine/${_pkgver}/src/phonon-backend-xine-${_pkgver}.tar.bz2")
"http://download.kde.org/stable/phonon/phonon-backend-xine/${_xine}/src/phonon-backend-xine-${_xine}.tar.bz2"
"http://download.kde.org/stable/phonon/phonon-backend-vlc/${_vlc}/src/phonon-backend-vlc-${_vlc}.tar.bz2")
md5sums=('2875139f2b7b649396125f4acc66de67'
'b127104e67538e573adeed3b2fb3bf55')
'b127104e67538e573adeed3b2fb3bf55'
'e6ef8c5b54a49610d4dad67754392420')
build() {
cd ${srcdir}
@ -59,7 +58,14 @@ build() {
cd ${srcdir}
mkdir -p build-phonon-xine
cd build-phonon-xine
cmake ../phonon-backend-xine-${_pkgver} \
cmake ../phonon-backend-xine-${_xine} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr
make
cd ${srcdir}
mkdir -p build-phonon-vlc
cd build-phonon-vlc
cmake ../phonon-backend-vlc-${_vlc} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr
make
@ -88,7 +94,7 @@ package_phonon-backend-xine()
groups=("kde-complete" "kde-uninstall")
conflicts=('phonon-xine')
replaces=('phonon-xine')
pkgver=4.4.4
pkgver=$_xine
pkgrel=2
cd ${srcdir}/build-phonon-xine
@ -145,32 +151,9 @@ package_phonon-backend-vlc()
groups=("kde-complete" "kde-uninstall")
replaces=('phonon-vlc-svn' 'phonon-vlc')
conflicts=('phonon-vlc-svn' 'phonon-vlc')
pkgver=$_vlc
pkgrel=1
_gitroot="git://anongit.kde.org/phonon-vlc.git"
_gitname="phonon-vlc"
cd "$srcdir"
msg "Connecting to GIT server...."
if [ -d $_gitname ] ; then
cd $_gitname && git pull origin
msg "The local files are updated."
else
git clone $_gitroot $_gitname
fi
msg "GIT checkout done or server timeout"
msg "Starting make..."
rm -rf "$srcdir/$_gitname-build"
git clone -l "$srcdir/$_gitname" "$srcdir/$_gitname-build"
cd "$srcdir/$_gitname-build"
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DPHONON_VLC_NO_EXPERIMENTAL=true \
../${_gitname} || return 1
make || return 1
make DESTDIR=$pkgdir install || return 1
rm -rf "$srcdir/$_gitname-build"
cd ${srcdir}/build-phonon-vlc
make DESTDIR=${pkgdir} install
}

View File

@ -1,16 +1,19 @@
# $Id: PKGBUILD 79067 2010-04-30 06:04:43Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
#
# Platform Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=pinentry
pkgver=0.8.0
pkgver=0.8.1
pkgrel=1
pkgdesc="a collection of simple PIN or passphrase entry dialogs which utilize the Assuan protocol"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.gnupg.org/aegypten2"
depends=('ncurses' 'libcap>=2.16')
makedepends=('gtk2' 'qt')
optdepends=('gtk2: for gtk2 backend'
'qt: for qt4 backend')
makedepends=('qt')
optdepends=('qt: for qt4 backend')
source=(ftp://ftp.gnupg.org/gcrypt/$pkgname/$pkgname-$pkgver.tar.gz)
build() {
@ -22,7 +25,7 @@ build() {
./configure --prefix=/usr \
--enable-pinentry-curses \
--disable-pinentry-gtk \
--enable-pinentry-gtk2 \
--disable-pinentry-gtk2 \
--disable-pinentry-qt \
--enable-pinentry-qt4 \
--enable-fallback-curses
@ -30,6 +33,5 @@ build() {
make DESTDIR=${pkgdir} install || return 1
rm ${pkgdir}/usr/share/info/dir || return 1
rm ${pkgdir}/usr/bin/pinentry || return 1
ln -s /usr/bin/pinentry-gtk-2 ${pkgdir}/usr/bin/pinentry || return 1
}
md5sums=('590be1b00f9ab63205843c7fed8caf35')
md5sums=('81f99904daee5331eb6738408bb024b6')

View File

@ -1,9 +1,11 @@
# New Contributor: Andre Klitzing <aklitzing () online () de>
# Maintainer : Allan McRae <mcrae_allan@hotmail.com>
# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi> aka Neverth
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=po4a
pkgver=0.40
pkgver=0.41
pkgrel=1
pkgdesc="po4a - tools for helping translation of documentation"
arch=('i686' 'x86_64')
@ -12,16 +14,21 @@ url="http://po4a.alioth.debian.org/"
depends=('perl' 'gettext')
makedepends=('docbook-xsl' 'perl-text-wrapi18n' 'perl-module-build' 'perl-locale-gettext' 'perl-term-readkey' 'perl-sgmls')
options=(!emptydirs)
source=(http://ftp.debian.org/debian/pool/main/p/${pkgname}/${pkgname}_${pkgver}.orig.tar.gz)
source=(https://alioth.debian.org/frs/download.php/3472/${pkgname}-${pkgver}.tar.gz)
md5sums=('93b3137502a749bdc3a059466f2a19d2')
build()
{
cd "$srcdir/$pkgname-$pkgver"
perl Build.PL || return 1
perl Build || return 1
chmod 777 po/pod/* || return 1
make || return 1
make install DESTDIR="$pkgdir/" prefix="/usr" || return 1
find ${pkgdir} -name .packlist -delete
cd "${srcdir}/${pkgname}-${pkgver}"
perl Build.PL installdirs=vendor destdir=${pkgdir} create_packlist=0
perl Build
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
perl Build install
# remove perllocal.pod and .packlist
find ${pkgdir} -name .packlist -o -name perllocal.pod -delete
}
md5sums=('847ed8e41279394d3b160e9bc1dd7970')

View File

@ -8,7 +8,7 @@
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgname=portaudio-svn
pkgver=1541
pkgver=1647
pkgrel=1
pkgdesc="PortAudio is a free, cross platform, open-source, audio I/O library."
arch=('i686' 'x86_64')
@ -18,8 +18,6 @@ depends=('jack-audio-connection-kit')
makedepends=('subversion')
conflicts=('portaudio')
provides=('portaudio')
source=()
md5sums=()
# Undash when updating
#_svntrunk=https://www.portaudio.com/repos/portaudio

View File

@ -1,17 +1,21 @@
# $Id: PKGBUILD 75281 2010-04-01 07:02:49Z pierre $
# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgbase=('postgresql')
pkgname=('postgresql-libs' 'postgresql')
pkgver=8.4.3
pkgrel=2
pkgver=9.0.4
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.postgresql.org"
license=('BSD')
makedepends=('libxml2' 'python')
makedepends=('libxml2' 'python2')
options=('!makeflags')
source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 \
postgresql postgresql.confd build.patch postgresql.pam)
postgresql postgresql.confd build.patch postgresql.pam postgresql.logrotate)
install=postgresql.install
build() {
cd ${srcdir}/${pkgbase}-${pkgver} || return 1
@ -46,7 +50,7 @@ build() {
package_postgresql-libs() {
pkgdesc="Libraries for use with PostgreSQL"
depends=('openssl>=0.9.8b' 'readline>=6.0')
depends=('openssl>=1.0.0' 'readline>=6.0')
cd ${srcdir}/${pkgbase}-${pkgver} || return 1
@ -81,8 +85,8 @@ package_postgresql-libs() {
package_postgresql() {
pkgdesc="A sophisticated object-relational DBMS"
backup=('etc/conf.d/postgresql' 'etc/pam.d/postgresql')
depends=("postgresql-libs>=${pkgver}" 'libxml2' 'python')
optdepends=('python: for PL/Python support')
depends=("postgresql-libs>=${pkgver}" 'libxml2' 'python2')
optdepends=('python2: for PL/Python support')
provides=('postgresql-client')
conflicts=('postgresql-client')
@ -98,10 +102,7 @@ package_postgresql() {
# clean up unneeded installed items
rm -rf ${pkgdir}/usr/include/postgresql/internal || return 1
rm -rf ${pkgdir}/usr/include/libpq || return 1
# the below line is expected to produce an error; fix this one day
#rm -f ${pkgdir}/usr/include/*
find ${pkgdir}/usr/include -maxdepth 1 -type f -execdir rm {} + || return 1
rm -f ${pkgdir}/usr/bin/pg_config || return 1
find "${pkgdir}/usr/include" -maxdepth 1 -type f -execdir rm {} +|| return 1
# Maintaining the lib below because of qt
#rm -f ${pkgdir}/usr/lib/libpgport.a || return 1
@ -119,11 +120,13 @@ package_postgresql() {
install -D -m644 ${srcdir}/postgresql.pam \
${pkgdir}/etc/pam.d/postgresql || return 1
chown root:root ${pkgdir}/usr/share/doc/postgresql/html/*
install -D -m644 ${srcdir}/postgresql.logrotate \
"${pkgdir}/etc/logrotate.d/postgresql"
}
md5sums=('7f70e7b140fb190f268837255582b07e'
'de8da7eb3a2aa02d284bf904b2af4d20'
md5sums=('80390514d568a7af5ab61db1cda27e29'
'eacf91f987d230f2dc2d040618ea1817'
'd63a05943cf0a2726aa2070f3033c569'
'4d74f4227dc5e12bf95b3490758d86c9'
'96f82c38f3f540b53f3e5144900acf17')
'96f82c38f3f540b53f3e5144900acf17'
'd28e443f9f65a5712c52018b84e27137')

View File

@ -4,34 +4,31 @@
. /etc/rc.d/functions
. /etc/conf.d/postgresql
case "$1" in
start)
stat_busy "Starting PostgreSQL"
# Default PGROOT if it wasn't defined in the conf.d file
PGROOT=${PGROOT:-/var/lib/postgres}
PG_CTL="/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -s -w"
postgres_init() {
# initialization
if [ ! `egrep '^postgres:' /etc/group` ]; then
stat_busy "Adding postgres group"
groupadd -g 88 postgres
stat_done
fi
if [ ! `egrep '^postgres:' /etc/passwd` ]; then
stat_busy "Adding postgres user"
useradd -u 88 -g postgres -d $PGROOT -s /bin/bash postgres
[ -d $PGROOT ] && chown -R postgres.postgres $PGROOT
stat_done
fi
if [ ! -d $PGROOT ]; then
mkdir -p $PGROOT/data && chown -R postgres.postgres $PGROOT/data
su - postgres -c "/usr/bin/initdb $INITOPTS -D $PGROOT/data"
if [ ! -d $PGROOT/data ]; then
mkdir -p $PGROOT/data && chown -R postgres:postgres $PGROOT
su - postgres -c "/usr/bin/initdb $INITOPTS -D $PGROOT/data"
fi
if [ ! -e /var/log/postgresql.log ]; then
touch /var/log/postgresql.log
chown postgres /var/log/postgresql.log
touch /var/log/postgresql.log
chown postgres /var/log/postgresql.log
fi
# start the process
}
case "$1" in
start)
postgres_init
stat_busy "Starting PostgreSQL"
su - postgres -c \
"/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -W start"
"$PG_CTL start"
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
add_daemon postgresql
stat_done
@ -40,7 +37,7 @@ case "$1" in
stop)
stat_busy "Stopping PostgreSQL"
su - postgres -c \
"/usr/bin/pg_ctl -D $PGROOT/data -l /var/log/postgresql.log -w stop"
"$PG_CTL stop -m fast"
if [ $? -gt 0 ]; then
stat_fail
else
@ -48,12 +45,35 @@ case "$1" in
stat_done
fi
;;
reload)
stat_busy "Reloading PostgreSQL"
su - postgres -c \
"$PG_CTL reload"
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
stat_done
fi
;;
restart)
$0 stop
sleep 3
$0 start
postgres_init
stat_busy "Restarting PostgreSQL"
su - postgres -c \
"$PG_CTL restart -m fast"
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
add_daemon postgresql
stat_done
fi
;;
status)
stat_busy "Checking PostgreSQL status";
ck_status postgresql
;;
*)
echo "usage: $0 {start|stop|restart}"
echo "usage: $0 {start|stop|reload|restart|status}"
esac
exit 0

View File

@ -0,0 +1,22 @@
post_install() {
if [ ! -d '/var/lib/postgres' ]; then
mkdir -p '/var/lib/postgres'
fi
getent group postgres >/dev/null || groupadd -g 88 postgres
getent passwd postgres >/dev/null || useradd -c 'PostgreSQL user' -u 88 -g postgres -d '/var/lib/postgres' -s /bin/bash postgres
passwd -l postgres >/dev/null
}
post_upgrade() {
post_install $1
# FS#23858, fix postgres user shell issue
postgres_shell=$(getent passwd postgres | cut -d: -f7)
if [ "$postgres_shell" = "/sbin/nologin" ]; then
chsh -s /bin/bash postgres
fi
}
post_remove() {
getent passwd postgres >/dev/null && userdel postgres
getent group postgres >/dev/null && groupdel postgres
}

View File

@ -10,13 +10,13 @@ source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgbase=pulseaudio
pkgname=(pulseaudio libpulse)
pkgver=0.9.22
pkgrel=1
pkgrel=3
arch=(i686 x86_64)
url="http://pulseaudio.org/"
license=(GPL LGPL)
makedepends=(libasyncns libcap attr libxtst libsm tcp_wrappers libsndfile
libtool rtkit speex libsamplerate tdb udev dbus-core xcb-util
avahi bluez gconf intltool jack lirc-utils pkgconfig openssl)
avahi bluez intltool jack lirc-utils pkgconfig openssl)
options=(!emptydirs !libtool !makeflags)
source=("http://0pointer.de/lennart/projects/$pkgbase/$pkgbase-$pkgver.tar.gz"
$pkgbase.xinit)
@ -36,6 +36,7 @@ build() {
--with-database=tdb \
--disable-hal \
--disable-rpath \
--disable-gconf \
--disable-default-build-tests
make
@ -47,7 +48,7 @@ package_pulseaudio() {
udev)
optdepends=('avahi: zeroconf support'
'bluez: bluetooth support'
'gconf: configuration through gconf'
# 'gconf: configuration through gconf'
'jack: jack support'
'lirc-utils: infra-red support'
'openssl: RAOP support')
@ -86,8 +87,7 @@ package_pulseaudio() {
package_libpulse() {
pkgdesc="A featureful, general-purpose sound server (client library)"
depends=(tcp_wrappers dbus-core xcb-util libasyncns libcap libxtst libsm
libsndfile)
depends=(tcp_wrappers dbus-core xcb-util libasyncns libcap libxtst libsm libsndfile)
optdepends=('alsa-plugins: ALSA support'
'avahi: zeroconf support')
backup=(etc/pulse/client.conf)

28
qt-docs/PKGBUILD Normal file
View File

@ -0,0 +1,28 @@
#
# QT Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=qt-docs
pkgver=4.7.3
pkgrel=2
pkgdesc='The Qt gui toolkit documentation'
arch=('any')
url='http://qt.nokia.com/'
license=('GPL3' 'LGPL')
options=('docs')
depends=('qt')
replaces=('qt-doc')
conflicts=("qt-doc=${pkgver}")
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz")
md5sums=('49b96eefb1224cc529af6fe5608654fe')
package(){
cd ${srcdir}/${_pkgfqn}
install -d ${pkgdir}/usr/share/docs/qt
cp -r doc/* ${pkgdir}/usr/share/docs/qt
cp -r demos ${pkgdir}/usr/share/docs/qt
cp -r examples ${pkgdir}/usr/share/docs/qt
}

View File

@ -4,74 +4,27 @@
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# original name (used for the source and pkgnames)
_origname=qt
pkgbase=('qt')
pkgname=('qt'
'qt-doc'
'qt-debug'
'qt-demos'
'qt-tools')
pkgver=4.7.2
pkgbase=qt
pkgname=('qt' 'qt-private-headers')
pkgver=4.7.3
pkgrel=2
#kdeqtver=b427b5e64483612122e56104552a9704f6013680
pkgdesc="A cross-platform application and UI framework"
arch=('i686' 'x86_64')
url="http://qt.nokia.com/"
license=('LGPL')
# because qt has its own "create debug files" implementation,
# we can disable our splithdr option and create qt-debug directly
# inside the PKGBUILD. This works even with the standard arch makepkg.
options=('!libtool' 'docs' '!strip')
makedepends=('inputproto'
'postgresql-libs'
'mysql>=5.5.10'
'apr-util' # needed for soprano/virtuoso backend, libiodbc is compatible to unixodbc
'libiodbc' # needed for soprano/virtuoso backend, libiodbc is compatible to unixodbc
'cups'
'libxfixes'
'libpng'
'libxi'
'mesa'
'fontconfig'
'libxrandr'
'glib2'
'libtiff>=3.9.2-2'
'libmng>=1.0.10-3'
'libpng>=1.4.0'
'libjpeg>=8'
'sqlite3'
'dbus'
'libxcursor'
'libxinerama'
'libmysqlclient>=5.5.10'
'git') # 'gconf'
_pkgfqn=${_origname}-everywhere-opensource-src-${pkgver}
url='http://qt.nokia.com/'
license=('GPL3' 'LGPL')
makedepends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus'
'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'mesa' 'postgresql-libs'
'mysql' 'unixodbc' 'cups' 'libxinerama')
options=('!libtool')
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
source=("ftp://ftp.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
# "http://chakra-project.org/sources/qt/kde-qt-${kdeqtver}.patch.gz"
'assistant.desktop'
'designer.desktop'
'linguist.desktop'
'qtconfig.desktop'
'http://chakra-project.org/sources/qt/qt-any-demosexamples-manual-install.patch'
"http://chakra-project.org/sources/qt/qt-${pkgver}-appmenu.patch")
md5sums=('66b992f5c21145df08c99d21847f4fdb'
# 'cc361e2dff48a56cff9a1649cfc004b2' # kde-qt-b427b5e64483612122e56104552a9704f6013680.patch.gz
'20d333282c43f9e643cb8e91b6307dcc'
'bf89ee0bdd178933f19d8bc4090173ec'
'a9bfeeffab8ba103bc8153fdb31474a1'
'83b2a4aece6c9d86301c53a979af0b63'
'579e63488320a8d692d25502551787af'
'assistant.desktop' 'designer.desktop' 'linguist.desktop'
'qtconfig.desktop' 'appmenu.patch')
md5sums=('49b96eefb1224cc529af6fe5608654fe'
'fc211414130ab2764132e7370f8e5caa'
'85179f5e0437514f8639957e1d8baf62'
'f11852b97583610f3dbb669ebc3e21bc'
'6b771c8a81dd90b45e8a79afa0e5bbfd'
'7ca519c824d67cfae0281ec50af24ad8')
# source PKGBUILD && _create-kdeqt-patch
@ -93,35 +46,28 @@ _create-kdeqt-patch() {
}
build() {
cd $srcdir/$_pkgfqn
unset QMAKESPEC
export QT4DIR=$srcdir/$_pkgfqn
export PATH=${QT4DIR}/bin:${PATH}
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
cd $srcdir/$_pkgfqn
msg "applying kde-qt patches"
cd $srcdir/$_pkgfqn
# patch -p1 -i $srcdir/kde-qt-${kdeqtver}.patch || return 1
# editing qt.install
sed -i -e 's/^.*> Qt .*/ echo " > Qt '${pkgver}'"/' $startdir/qt.install
# sed -i -e 's/^.*kde-qt .*/ echo " kde-qt '${kdeqtver}'"/' $startdir/qt.install
# if [ -n "${kdeqtver}" ]; then
# msg "applying kde-qt patches"
# patch -p1 -i $srcdir/kde-qt-${kdeqtver}.patch || return 1
# # editing qt.install
# sed -i -e 's/^.*kde-qt .*/ echo " kde-qt '${kdeqtver}'"/' $startdir/qt.install
# fi
echo "This build don't get patched with kde-qt patches"
sed -i -e 's/^.*kde-qt .*/ echo " kde-qt: not patched in this release"/' $startdir/qt.install
msg "apply other patches"
msg "applying patches"
# apply appmenu patch from Aurelien Gateau
patch -Np1 -i ${srcdir}/qt-${pkgver}-appmenu.patch || return 1
patch -Np1 -i ${srcdir}/appmenu.patch || return 1
cp ${srcdir}/${_pkgfqn}/src/gui/widgets/qabstractmenubarimpl_p.h ${srcdir}/${_pkgfqn}/include/QtGui/private/
# we want our cflags etc
sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
msg "starting configure"
sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
./configure -confirm-license -opensource \
-prefix /usr \
@ -139,7 +85,6 @@ build() {
-xmlpatterns \
-no-phonon \
-no-phonon-backend \
-debug \
-svg \
-webkit \
-script \
@ -149,145 +94,159 @@ build() {
-system-libpng \
-system-libmng \
-system-libjpeg \
-nomake demos \
-nomake examples \
-nomake docs \
-no-rpath \
-no-gtkstyle \
-openssl-linked \
-silent \
-optimized-qmake \
-dbus \
-reduce-relocations \
-no-separate-debug-info \
-no-gtkstyle \
-opengl \
-no-openvg \
-glib
# disable automatic installation of demos and examples, we want to do that manually
patch -p0 -i $srcdir/qt-any-demosexamples-manual-install.patch || return 1
msg "starting the build"
make || return 1
make
}
package_qt()
{
pkgdesc="A cross-platform application and UI framework"
depends=('libpng>=1.4.0' 'libxi' 'mesa' 'fontconfig' 'libxrandr' 'glib2' 'libtiff>=3.9.2-2' 'libmng>=1.0.10-3' 'libjpeg>=8' 'sqlite3' 'dbus' 'libxcursor' 'libxinerama')
optdepends=('postgresql-libs : PostgreSQL support'
'libmysqlclient : MySQL support'
'iodbc/unixodbc : ODBC support')
# 'gconf : qgtkstyle theme support for GTK')
provides=("qt4=${pkgver}" "qt=${pkgver}") # "phonon=4.3.80"
replaces=('qt-devel' 'qtmod')
conflicts=('qt4' 'qtmod')
groups=("kde" "kde-complete" "kde-uninstall" "kde-minimal")
install=qt.install
cd $srcdir/$_pkgfqn
# install it
make INSTALL_ROOT=$pkgdir install || return 1
# cleanup and path fixes
find $pkgdir/usr/lib -type f -name '*prl' -print -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" {} \;
sed -i -e "s|-L$srcdir/${_pkgfqn}/lib||g" $pkgdir/usr/lib/pkgconfig/*.pc
sed -i -e "s|$srcdir/${_pkgfqn}/bin/moc|/usr/bin/moc|g" $pkgdir/usr/lib/pkgconfig/*.pc
sed -i -e "s|$srcdir/${_pkgfqn}/bin/uic|/usr/bin/uic|g" $pkgdir/usr/lib/pkgconfig/*.pc
# icon and desktop file for qtconfig
install -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/pixmaps/qtlogo.png
install -D -m644 ${srcdir}/qtconfig.desktop ${pkgdir}/usr/share/applications/qtconfig.desktop
package_qt() {
pkgdesc='A cross-platform application and UI framework'
depends=('libtiff' 'libpng' 'libmng' 'sqlite3' 'ca-certificates' 'glib2' 'dbus'
'fontconfig' 'libgl' 'libsm' 'libxrandr' 'libxv' 'libxi' 'alsa-lib'
'xdg-utils' 'hicolor-icon-theme' 'desktop-file-utils' 'libxinerama')
optdepends=('postgresql-libs: PostgreSQL driver'
'libmysqlclient: MySQL driver'
'unixodbc: ODBC driver'
'libxinerama: Xinerama support'
'libxcursor: Xcursor support'
'libxfixes: Xfixes support')
conflicts=('qt-doc' 'qt-debug' 'qt-demos' 'qt-tools')
provides=('qt-tools')
install='qt.install'
# licensing
cd $srcdir/$_pkgfqn
make INSTALL_ROOT=$pkgdir install
# install missing icons and desktop files
for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
size=$(echo $(basename ${icon}) | cut -d- -f2)
install -p -D -m644 ${icon} ${pkgdir}/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
done
install -p -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/qtlogo.png
install -p -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png
install -p -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png
install -d ${pkgdir}/usr/share/applications
install -m644 ${srcdir}/{linguist,designer,assistant,qtconfig}.desktop ${pkgdir}/usr/share/applications/
# install license addition
install -D -m644 LGPL_EXCEPTION.txt ${pkgdir}/usr/share/licenses/qt/LGPL_EXCEPTION.txt
# move out some tool binaries and put them into qt-tools
# its ugly, but it "feels" cleaner ;)
mkdir -p $srcdir/bin
mv $pkgdir/usr/bin/assistant $srcdir/bin
#mv $pkgdir/usr/bin/assistant_adp $srcdir/bin
mv $pkgdir/usr/bin/designer $srcdir/bin
mv $pkgdir/usr/bin/linguist $srcdir/bin
# move out debug symbols into a temp dir and put them into qt-debug later below
mkdir -p $srcdir/debug
for x in `find $pkgdir -name *.debug`
do
basedir=`dirname $x`
targetdir=`echo $basedir | awk -F "/usr" '{print $NF}'`
mkdir -p $srcdir/debug${targetdir}
mv $x $srcdir/debug${targetdir}
done
# Fix wrong path in pkgconfig files
find ${pkgdir}/usr/lib/pkgconfig -type f -name '*.pc' \
-exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \;
# Fix wrong path in prl files
find ${pkgdir}/usr/lib -type f -name '*.prl' \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
}
package_qt-debug()
{
pkgdesc="A cross-platform application and UI framework - Debugging Symbols"
depends=("qt=${pkgver}")
optdepends=()
groups=("kde-debug" "kde-uninstall")
package_qt-private-headers(){
pkgdesc="Qt private headers for development"
depends=("qt=${pkgver}")
install -d ${pkgdir}/usr/include/phonon/private
cd ${srcdir}/$_pkgfqn/src/3rdparty/phonon/phonon/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/phonon/private/ \; &> /dev/null
mkdir $pkgdir/usr
cd $srcdir
cp -r debug/* $pkgdir/usr
}
install -d ${pkgdir}/usr/include/Qt3Support/private
cd ${srcdir}/$_pkgfqn/src/qt3support/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/Qt3Support/private/ \; &> /dev/null
package_qt-doc()
{
pkgdesc="A cross-platform application and UI framework - Documentation"
depends=("qt=${pkgver}")
optdepends=()
provides=("qt4-doc=${pkgver}" "qt-doc=${pkgver}")
conflicts=('qt4-doc' 'qtmod-doc')
groups=("kde-complete" "kde-doc" "kde-uninstall")
install -d ${pkgdir}/usr/include/QtCore/private
cd ${srcdir}/$_pkgfqn/src/corelib/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtCore/private/ \; &> /dev/null
cd $srcdir/$_pkgfqn
install -d ${pkgdir}/usr/include/QtDBus/private
cd ${srcdir}/$_pkgfqn/src/dbus/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtDBus/private/ \; &> /dev/null
mkdir -p $pkgdir/usr/share/doc/qt
cp -r doc/* $pkgdir/usr/share/doc/qt
}
install -d ${pkgdir}/usr/include/QtDeclarative/private
cd ${srcdir}/$_pkgfqn/src/declarative/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtDeclarative/private/ \; &> /dev/null
package_qt-demos()
{
pkgdesc="A cross-platform application and UI framework - Demos & Examples"
depends=("qt=${pkgver}")
optdepends=()
provides=()
replaces=('qtmod-demos')
conflicts=()
groups=("kde-uninstall")
install -d ${pkgdir}/usr/include/QtDesigner/private
cd ${srcdir}/$_pkgfqn/tools/designer/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtDesigner/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtGui/private
cd ${srcdir}/$_pkgfqn/src/gui/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtGui/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtHelp/private
cd ${srcdir}/$_pkgfqn/tools/assistant/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtHelp/private/ \; &> /dev/null
cd $srcdir/$_pkgfqn
install -d ${pkgdir}/usr/include/QtMultimedia/private
cd ${srcdir}/$_pkgfqn/src/multimedia/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtMultimedia/private/ \; &> /dev/null
pushd demos
make INSTALL_ROOT=$pkgdir install || return 1
popd
pushd examples
make INSTALL_ROOT=$pkgdir install || return 1
popd
}
package_qt-tools()
{
pkgdesc="A cross-platform application and UI framework - Tools (Linguist, Designer, Assistant)"
depends=("qt=${pkgver}")
optdepends=()
provides=()
replaces=('qtmod-tools')
conflicts=()
groups=("kde-uninstall" "kde-devel")
cd $srcdir/$_pkgfqn
install -D -m755 -o root -g root $srcdir/bin/assistant $pkgdir/usr/bin/assistant
#install -D -m755 -o root -g root $srcdir/bin/assistant_adp $pkgdir/usr/bin/assistant_adp
install -D -m755 -o root -g root $srcdir/bin/designer $pkgdir/usr/bin/designer
install -D -m755 -o root -g root $srcdir/bin/linguist $pkgdir/usr/bin/linguist
install -D -m644 -o root -g root tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/pixmaps/assistant.png
install -D -m644 -o root -g root tools/linguist/linguist/images/appicon.png ${pkgdir}/usr/share/pixmaps/linguist.png
install -D -m644 -o root -g root tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/pixmaps/designer.png
install -d -o root -g root ${pkgdir}/usr/share/applications
install -m644 -o root -g root ${srcdir}/{linguist,designer,assistant}.desktop ${pkgdir}/usr/share/applications/
install -d ${pkgdir}/usr/include/QtNetwork/private
cd ${srcdir}/$_pkgfqn/src/network/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtNetwork/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtOpenGL/private
cd ${srcdir}/$_pkgfqn/src/opengl/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtOpenGL/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtScript/private
cd ${srcdir}/$_pkgfqn/src/script/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtScript/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtScriptTools/private
cd ${srcdir}/$_pkgfqn/src/scripttools/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtScriptTools/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtSql/private
cd ${srcdir}/$_pkgfqn/src/sql/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtSql/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtSvg/private
cd ${srcdir}/$_pkgfqn/src/svg/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtSvg/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtTest/private
cd ${srcdir}/$_pkgfqn/src/testlib/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtTest/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtUiTools/private
cd ${srcdir}/$_pkgfqn/tools/designer/src/uitools
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtUiTools/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtWebKit/private
cd ${srcdir}/$_pkgfqn/src/3rdparty/webkit
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtWebKit/private/ \; &> /dev/null
install -d ${pkgdir}/usr/include/QtXmlPatterns/private
cd ${srcdir}/$_pkgfqn/src/xmlpatterns/
find . -name "*_p.h" -exec install -m644 {} \
${pkgdir}/usr/include/QtXmlPatterns/private/ \; &> /dev/null
}

1385
qt/appmenu.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,9 @@
[Desktop Entry]
Encoding=UTF-8
Exec=/usr/bin/assistant
Name=Qt Assistant
GenericName=Qt Document Browser
X-KDE-StartupNotify=true
Icon=/usr/share/pixmaps/assistant.png
Comment=Shows Qt documentation and examples
Exec=/usr/bin/assistant
Icon=assistant
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation
Categories=Qt;Development;Documentation;

Some files were not shown because too many files have changed in this diff Show More