PKGBUILD for a bzr project (pacman 4.1 format) [SOVLED]
I am trying to modernize ufw-brz but am running into a wall on two issues:
1) The 000 permissions of pkg seem be to tripping up makepkg:
% makepkg -s
copying staging/util.py -> build/lib/ufw
copying staging/applications.py -> build/lib/ufw
copying staging/parser.py -> build/lib/ufw
running install_lib
creating /scratch/ufw-bzr-new/pkg/ufw-bzr
error: could not create '/scratch/ufw-bzr-new/pkg/ufw-bzr': Permission denied
==> ERROR: A failure occurred in build().
Aborting...
2) When I attempt to re-run makepkg, the method I am using to check out the bzr repo is not right as makepkg tells me:
% makepkg -s
==> Making package: ufw-bzr 810-1 (Sun Apr 7 11:47:56 EDT 2013)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
==> ERROR: /scratch/ufw-bzr-new/ufw is not a branch of https://code.launchpad.net/~jdstrand/ufw/trunk
Aborting...
Thanks for the suggestions.
Working draft of PKGBUILD:
# Maintainer: graysky <graysky AT archlinux DOT us>
# Contributor: Bartłomiej Piotrowski <[email protected]>
# Contributor: Jaroslav Lichtblau <[email protected]>
# Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com>
# Contributor: Sorin Ionescu <[email protected]>
pkgname=ufw-bzr
_pkgname=ufw
pkgver=810
pkgrel=1
pkgdesc="Uncomplicated and easy to use CLI tool for managing a netfilter firewall. Development branch."
arch=('any')
url="https://code.launchpad.net/~jdstrand/ufw/trunk"
license=('GPL3')
depends=('iptables' 'python2')
makedepends=('bzr')
provides=('ufw')
conflicts=('ufw')
backup=('etc/ufw/before.rules'
'etc/ufw/before6.rules'
'etc/ufw/after.rules'
'etc/ufw/after6.rules'
'etc/ufw/ufw.conf'
'etc/ufw/user.rules'
'etc/ufw/sysctl.conf'
'etc/default/ufw'
'usr/lib/ufw/user.rules'
'usr/lib/ufw/user6.rules')
source=("$_pkgname::bzr+https://code.launchpad.net/~jdstrand/$_pkgname/trunk"
"$_pkgname.service")
sha256sums=('SKIP'
'fdface6f4690e4748fbbd5661c02e1967a8750fdb23581d35516174017a3fe39')
pkgver() {
cd "$_pkgname"
bzr revno
prepare() {
cd "$_pkgname"
# FS#28769 - move from /lib to /usr/lib
sed -e 's|/lib|/usr/lib|' -i setup.py
build() {
cd "$_pkgname"
python2 setup.py install --root=$pkgdir
package() {
cd "$_pkgname"
install -Dm644 $srcdir/$_pkgname.service $pkgdir/usr/lib/systemd/system/$_pkgname.service
install -Dm755 $pkgdir/usr/sbin/$_pkgname $pkgdir/usr/bin/$_pkgname
rm -rf $pkgdir/usr/sbin
chmod 644 $pkgdir/etc/ufw/*.rules $pkgdir/usr/lib/ufw/*.rules
Last edited by graysky (2013-04-07 20:15:57)
@Scimmia - OK. Issue #1 is solved; good suggestion. As to issue #2, I must a moron. What am I missing:
% diff -u ../old/PKGBUILD PKGBUILD
--- ../old/PKGBUILD 2013-04-07 15:26:18.557839507 -0400
+++ PKGBUILD 2013-04-07 15:32:25.001894314 -0400
@@ -26,7 +26,7 @@
'etc/default/ufw'
'usr/lib/ufw/user.rules'
'usr/lib/ufw/user6.rules')
-source=("$_pkgname::bzr+https://code.launchpad.net/~jdstrand/$_pkgname/trunk"
+source=("$_pkgname::bzr+http://bazaar.launchpad.net/~jdstrand/$_pkgname/trunk"
"$_pkgname.service")
sha256sums=('SKIP'
'fdface6f4690e4748fbbd5661c02e1967a8750fdb23581d35516174017a3fe39')
Last edited by graysky (2013-04-07 19:33:47)
Similar Messages
-
PKGBUILD for custom kernel issue
Hi all,
Last night I was putting together a PKGBUILD for a kernel I'd like to compile that has the ck patchset, grsecurity (latest testing), and had broadcom-wl on it already so I don't have to keep reinstalling it from AUR and doing depmod each time as it keeps making me have to find an ethernet cable. I used the kerne26 Arch PKGBUILD as a base and included parts of kernel-netbook for broadcom-wl, kernel26-grsecurity, and kernel26-ck and altered name variables and links etc so it all works and all sources are downloaded. I also got the two .patch files (semaphore and something else) from the kernel-netbook tarball to build the thing with, I don't know if it would work without them.
However when I get into the build() a few patches are applied before I get messages about patches already applied or reversed, and then it says build failed because of an error, I can't tell which package is causing thins or why (it all goes by too fast, and the error says failed without reason, and the reversed patch messages are what is immediately previous to it). I have not yet gone all the way through the pkgbuild - especially towards the end, and I felt that the standard setup of init file system creation and such were ok, and if anything does need altering about it, I can deal with it once I get these first troubles solved.
Below is my pkgbuild so far. Hopefully there are people out there who can aid me with this.
Thanks,
Ben.
# Maintainer: Ben Ward <[email protected]>
pkgbase="kernel26"
# pkgname=('kernel26' 'kernel26-headers' 'kernel26-docs') # Build stock -ARCH kernel
pkgname=kernel26-custom # Build kernel with a different name
#Base kernel info
_kernelname=${pkgname#kernel26}
_basekernel=2.6.38
pkgver=${_basekernel}.3
pkgrel=1
#ARCH patch info
_archpatchver=1
_archpatchname="patch-${pkgver}-${_archpatchver}-ARCH"
#_archpatchname="patch-${pkgver}-1-ARCH"
#grsecurity info
_grsec=2.2.2
_timestamp=201104182227
#Broadcom-wl info
_broadcom_ver=5.100.82.38
_broadcom="hybrid-portsrc_x86_32-v${_broadcom_ver//./_}"
#ck-patch info
_ckpatchversion=3
_ckpatchname="patch-${_basekernel}-ck${_ckpatchversion}"
arch=(i686 x86_64)
license=('GPL2')
url="http://www.kernel.org"
options=(!strip)
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_basekernel.tar.bz2
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-${pkgver}.bz2
ftp://ftp.archlinux.org/other/kernel26/${_archpatchname}.bz2
http://grsecurity.net/test/grsecurity-${_grsec}-${pkgver}-${_timestamp}.patch
http://www.broadcom.com/docs/linux_sta/${_broadcom}.tar.gz
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/${_basekernel}/${_basekernel}-ck${_ckpatchversion}/${_ckpatchname}.bz2
"semaphore.patch"
"mutex-sema.patch"
# the main kernel config files
config config.x86_64
# standard config files for mkinitcpio ramdisk
kernel26.preset)
md5sums=('7d471477bfa67546f902da62227fa976'
'b3677121c4b5efcb8128c2000788d0aa'
'5b14b6eb2cdcb074905d4974437c4df6'
'a19024797f192fe21a468de80c101d8a'
'c0074a1622c75916442e26763ddf47d0'
'88d5b3e0622f8c48dad19ab9ac3c16f0'
'aee89fe7f034aea2f2ca95322774c1b5'
'21ce3f7967d7305064bf7eb60030ffea'
'f66543886835ab8599b29cd0c48aa66d'
'd866bcc06672fee17736bd5022f700fe'
'25584700a0a679542929c4bed31433b6')
build() {
cd ${srcdir}/linux-$_basekernel
# Apply kernel.org patch to basekernel
msg "Checking basekernel is ip to date..."
if [[ "${_basekernel}" != "${pkgver}" ]]; then
msg "Patching source with upstream patch..."
patch -Np1 -i "${srcdir}/patch-${pkgver}" || return 1
fi
# Add -ARCH patches
# See http://projects.archlinux.org/linux-2.6-ARCH.git/
msg "Patching Kernel with ARCH patches..."
patch -Np1 -i ${srcdir}/${_archpatchname}
# Add ck patch
msg "Patching Kernel with ck patches..."
patch -Np1 -i ${srcdir}/${_ckpatchname}
# Add grsecurity patch
msg "Patching kernel with grsecurity testing branch..."
if [ "$CARCH" = "x86_64" ]; then
cat ../config.x86_64 >./.config
else
cat ../config >./.config
fi
if [ "${_kernelname}" != "" ]; then
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
fi
# get kernel version
make prepare
# load configuration
# Configure the kernel. Replace the line below with one of your choice.
#make menuconfig # CLI menu for configuration
make nconfig # new CLI menu for configuration
#make xconfig # X-based configuration
#make oldconfig # using old config from previous kernel version
# ... or manually edit .config
# stop here
# this is useful to configure the kernel
#msg "Stopping build"
#return 1
yes "" | make config
# build!
make ${MAKEFLAGS} bzImage modules
package_kernel26() {
pkgdesc="The Linux Kernel and modules"
groups=('base')
backup=(etc/mkinitcpio.d/${pkgname}.preset)
depends=('coreutils' 'linux-firmware' 'module-init-tools>=3.12-2' 'mkinitcpio>=0.6.8-2')
# pwc, ieee80211 and hostap-driver26 modules are included in kernel26 now
# nforce package support was abandoned by nvidia, kernel modules should cover everything now.
# kernel24 support is dropped since glibc24
replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
'alsa-driver' 'ieee80211' 'hostap-driver26'
'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
install=kernel26.install
optdepends=('crda: to set the correct wireless channels of your country')
KARCH=x86
cd ${srcdir}/linux-$_basekernel
# get kernel version
_kernver="$(make kernelrelease)"
mkdir -p ${pkgdir}/{lib/modules,lib/firmware,boot}
make INSTALL_MOD_PATH=${pkgdir} modules_install
cp System.map ${pkgdir}/boot/System.map26${_kernelname}
cp arch/$KARCH/boot/bzImage ${pkgdir}/boot/vmlinuz26${_kernelname}
# # add vmlinux
install -m644 -D vmlinux ${pkgdir}/usr/src/linux-${_kernver}/vmlinux
# install fallback mkinitcpio.conf file and preset file for kernel
install -m644 -D ${srcdir}/kernel26.preset ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset
# set correct depmod command for install
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
-i $startdir/kernel26.install
sed \
-e "s|source .*|source /etc/mkinitcpio.d/kernel26${_kernelname}.kver|g" \
-e "s|default_image=.*|default_image=\"/boot/${pkgname}.img\"|g" \
-e "s|fallback_image=.*|fallback_image=\"/boot/${pkgname}-fallback.img\"|g" \
-i ${pkgdir}/etc/mkinitcpio.d/${pkgname}.preset
echo -e "# DO NOT EDIT THIS FILE\nALL_kver='${_kernver}'" > ${pkgdir}/etc/mkinitcpio.d/${pkgname}.kver
# remove build and source links
rm -f ${pkgdir}/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf ${pkgdir}/lib/firmware
# gzip -9 all modules to safe 100MB of space
find "$pkgdir" -name '*.ko' -exec gzip -9 {} \;
##Section: Broadcom-wl
msg "Compiling broadcom-wl module:"
cd ${srcdir}/
#patching broadcom as broadcom-wl package on AUR
patch -p1 < license.patch
patch -p1 < semaphore.patch
patch -p1 < mutex-sema.patch
make -C ${srcdir}/linux-$_basekernel M=`pwd`
install -D -m 755 wl.ko ${pkgdir}/lib/modules/$_kernver/kernel/drivers/net/wireless/wl.ko
package_kernel26-headers() {
pkgdesc="Header files and scripts for building modules for kernel26"
mkdir -p ${pkgdir}/lib/modules/${_kernver}
cd ${pkgdir}/lib/modules/${_kernver}
ln -sf ../../../usr/src/linux-${_kernver} build
cd ${srcdir}/linux-$_basekernel
install -D -m644 Makefile \
${pkgdir}/usr/src/linux-${_kernver}/Makefile
install -D -m644 kernel/Makefile \
${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile
install -D -m644 .config \
${pkgdir}/usr/src/linux-${_kernver}/.config
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
for i in acpi asm-generic config generated linux math-emu media net pcmcia scsi sound trace video xen; do
cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
done
# copy arch includes for external modules
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/x86
cp -a arch/x86/include ${pkgdir}/usr/src/linux-${_kernver}/arch/x86/
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
# fix permissions on scripts dir
chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
cp arch/$KARCH/Makefile ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
if [ "$CARCH" = "i686" ]; then
cp arch/$KARCH/Makefile_32.cpu ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
fi
cp arch/$KARCH/kernel/asm-offsets.s ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
# add headers for lirc package
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video
cp drivers/media/video/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/
for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102; do
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
done
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/staging/usbvideo/
cp -a drivers/staging/usbvideo/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/staging/usbvideo/
# add docbook makefile
install -D -m644 Documentation/DocBook/Makefile \
${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
# add dm headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
cp drivers/md/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
# add inotify.h
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
# add wireless headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/9912
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
cp drivers/media/dvb/dvb-core/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/11194
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
cp include/config/dvb/*.h ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
# in reference to:
# http://bugs.archlinux.org/task/13146
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
# add dvb headers
# in reference to:
# http://bugs.archlinux.org/task/20402
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb
cp drivers/media/dvb/dvb-usb/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends
cp drivers/media/dvb/frontends/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners
cp drivers/media/common/tuners/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/
# add xfs and shmem for aufs building
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
# add headers vor virtualbox
# in reference to:
# http://bugs.archlinux.org/task/14568
cp -a include/drm $pkgdir/usr/src/linux-${_kernver}/include/
# add headers for broadcom wl
# in reference to:
# http://bugs.archlinux.org/task/14568
cp -a include/trace $pkgdir/usr/src/linux-${_kernver}/include/
# add headers for crypto modules
# in reference to:
# http://bugs.archlinux.org/task/22081
cp -a include/crypto $pkgdir/usr/src/linux-${_kernver}/include/
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
done
chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
# strip scripts directory
find ${pkgdir}/usr/src/linux-${_kernver}/scripts -type f -perm -u+w 2>/dev/null | while read binary ; do
case "$(file -bi "$binary")" in
*application/x-sharedlib*) # Libraries (.so)
/usr/bin/strip $STRIP_SHARED "$binary";;
*application/x-archive*) # Libraries (.a)
/usr/bin/strip $STRIP_STATIC "$binary";;
*application/x-executable*) # Binaries
/usr/bin/strip $STRIP_BINARIES "$binary";;
esac
done
# remove unneeded architectures
rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,arm,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa}
package_kernel26-docs() {
pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux kernel."
cd ${srcdir}/linux-$_basekernel
mkdir -p $pkgdir/usr/src/linux-$_kernver
mv Documentation $pkgdir/usr/src/linux-$_kernver
find $pkgdir -type f -exec chmod 444 {} \;
find $pkgdir -type d -exec chmod 755 {} \;
# remove a file already in kernel26 package
rm -f $pkgdir/usr/src/linux-$_kernver/Documentation/DocBook/Makefile
I wonder if localyesconfig would take care of broadcom-wl for me...
Last edited by Ben9250 (2011-04-20 00:12:44)Thank you. I guess trying the abs method wouldn't hurt. My main issue was configuration. I've only just skimmed the PKGBUILD so I'm not aware of how it handles it. I suppose I could write my own as described in the wiki as well. Thanks again.
Edit: Further research has revealed to me that the kernel headers are merely there for when the full source tree isn't. Seeing as the full tree is present in my case, the headers are unnecessary. I may take graysky's advice though and use pacman to manage my kernel.
Last edited by smithr.michael1997 (2011-03-31 02:17:29) -
Finding a PKGBUILD for the 2.6.21.4 kernel (for Asus EEE )
I'm trying to build a kernel that will support the Asus Eee's non-source drivers out of the box without ndiswrapper. I also would like to install the whole thing using my pacman. Is there any way to get a complete PKGBUILD for this kernel? If possible, I'd also like to get the associated patches, etc if possible.
I'm basing my hack on some things listed here:
http://cliffhacks.blogspot.com
I played with the CVS for awhile, but couldn't find a way to get the kernel 2.6.21.4 PKGBUILD, and I'm not sure if CVS would even do this.
After this, I'll have to compare the PKGBUILD with the config that Asus used on their kernel. We'll see how it goes. Thanks for any help or tips.lilsirecho wrote:
beniro;
Normally PKGBUILDS for kernels are not provided in arch.
However, one has been inserted into the aur mix by raymano and it is for kernel 2.6.23.9-1.
What are you talking about - I thought the PKGBUILDs were publicly available. Atleast I can see them - and you could certainly create your own although with a little difficulty for such an early kernel - but It should be possible -
Help to create a pkgbuild for harpia
hi i want to create a pkgbuild for the harpia program http://s2i.das.ufsc.br/harpia/en/home.html
searching in the aur and in the net i couldn't find something
harpia exist for ubuntu and the .deb file is hosted here http://packages.ubuntu.com/oneiric/all/harpia
can someone help me create a working pkgbuild for arch through the .deb file
i tried to create a first approach by creating the following PKGBUILD:
pkgname=harpia
pkgver=1.1
pkgrel=1
pkgdesc="Image Processing/Computer Vision Automatic Prgm. Tool"
arch=('any')
url="http://s2i.das.ufsc.br/harpia/en/home.html"
license=('GPL2')
depends=('')
source=("http://archive.ubuntu.com/ubuntu/pool/universe/h/harpia/${pkgname}_${pkgver}-0ubuntu1.1_all.deb")
md5sums=('56c6cb146ea5652e41b77506ad8ec263')
build() {
bsdtar -C "$pkgdir" -xvf data.tar.gz
however when i am running the program i am taking the following error:
Traceback (most recent call last):
File "/usr/bin/harpia", line 32, in <module>
from harpia import harpiagcfrontend
ImportError: No module named harpia
i guess that the problem might have to do with some dependencies or with the python library, can you provide me with some tips
thanksWell, I'm not going to tell you every little thing .
I found a likely candidate for python-gnome2 in pacman using a judicious choice of search terms. As for the rest, I suggest you go to the Debian or Ubuntu package lists. The Debian ones are easy to find in Google. These lists contain lots of information about what packages contain and what they provide and where the source code is from.
Do some detective work, you will figure it out. -
Trying to modify Vultureseye PKGBUILD for Vulturesclaw
Ok I've got the PKGBUILD for Vultureseye now I've modified it, now I confess the work is not mine. But I presumed by changing references to nethack to slashem and vultureseye to vulturesclaw, this would work as the PKGBUILD is getting both.
But it seems I'm missing something could someone please point me in the right direction as I'm really not sure what is going on.
pkgname=vulturesclaw
pkgver=2.1.0
pkgrel=1
pkgdesc="An isometric graphics interface to NetHack."
arch=('i686' 'x86_64')
url="http://www.darkarts.co.za/projects/vultures/"
license=('custom')
depends=('sdl_mixer' 'sdl_ttf' 'sdl_image' 'libpng' 'flex' 'bison')
source=(http://usrsrc.org/svn/vultures/releases/$pkgver/vultures-$pkgver-full.tar.bz2)
md5sums=('f448f4fa74f07178683640a3f7985944')
build() {
mkdir -p $startdir/pkg/usr/bin
mkdir -p $startdir/pkg/usr/share/applications
mkdir -p $startdir/pkg/usr/share/icons/hicolor/48x48/apps
mkdir -p $startdir/pkg/usr/share/licenses/custom/$pkgname
mkdir -p $startdir/pkg/usr/share/$pkgname
cd $startdir/src
# tar -jxf vultures-$pkgver-full.tar.bz2?format=raw
cd $startdir/src/vultures-$pkgver/slashem/sys/unix
sh setup.sh
cd $startdir/src/vultures-$pkgver/slashem/include
sed -e '/define HACKDIR/ s|/usr/games/lib/nethackdir|/usr/share/vulturesclaw|' \
-e '/^#define COMPRESS\s/ s|/usr/bin/compress|/bin/gzip|' \
-e '/^#define COMPRESS_EXTENSION/ s|".Z"|".gz"|' \
-e 's|^/\* \(#define DLB\) \*/|\1|' -i config.h
sed -e 's|^/\* \(#define LINUX\) \*/|\1|' \
-e 's|^/\* \(#define TIMED_DELAY\) \*/|\1|' -i unixconf.h
cd $startdir/src/vultures-$pkgver/slashem
sed -e '/^GAMEDIR\s*=/ s|/games/.*$|/share/$(GAME)|' \
-e '/^GAMEUID\s*=/ s|games|root|' \
-e '/^GAMEGRP\s*=/ s|bin|root|' \
-e '/^SHELLDIR\s*=/ s|/games|/bin|' -i Makefile
make || return 1
make PREFIX=$startdir/pkg/usr install
cd $startdir/pkg/usr/bin
sed 's|HACKDIR=/.*/pkg/usr/share/vulturesclaw|HACKDIR=/usr/share/vulturesclaw|' -i vulturesclaw
install -Dm644 $startdir/src/vultures-$pkgver/slashem/dat/license $startdir/pkg/usr/share/licenses/$pkgname/license
install -Dm644 $startdir/src/vultures-$pkgver/dist/linux/vulturesclaw.desktop $startdir/pkg/usr/share/applications/vulturesclaw.desktop
install -Dm644 $startdir/pkg/usr/share/$pkgname/vulturesclaw.png $startdir/pkg/usr/share/icons/hicolor/48x48/apps/vulturesclaw.png
This seems to be bailing out on the 1st or second sed the error I'm getting is
sed: can't read vulturesclaw: No such file or directory
I have to admit the few package builds I've done have been a lot simpler in comparison so I suspect the error is between the chair and the keyboard.
Last edited by FeatherMonkey (2007-11-17 17:46:04)The error is probably from the last sed command :
sed 's|HACKDIR=/.*/pkg/usr/share/vulturesclaw|HACKDIR=/usr/share/vulturesclaw|' -i vulturesclaw
For vultureseye the file that starts the program is called vultureseye , vulturesclaw/slashem may use a different start script.
Check the files in pkg/usr/bin to find the correct name for the start script.
Sidenote :
this line in my vultureseye PKGBUILD is incorrect :
mkdir -p $startdir/pkg/usr/share/licenses/custom/$pkgname
it should be mkdir -p $startdir/pkg/usr/share/licenses/$pkgname -
Hdf4 and pyhdf AUR PKGBUILDS for review
pyhdf is a Python interface to the HDF4 library. HDF4 is a scientific data file format. pyhdf links to the static libs built by the HDF4 package. I decided to split HDF4 out into its own package because someone else might want to link to these libraries, or use the numerous HDF4 utilities that accompany them. There is an hdf5 package in the AUR already, but hdf5 coexists with hdf4, rather than replacing it.
Here is the HDF4 PKGBUILD:
# Contributor: David Scholl <djscholl>
pkgname=hdf4
pkgver=2r1
pkgrel=1
pkgdesc="General purpose library and file format for storing scientific data."
url="http://hdf.ncsa.uiuc.edu/hdf4.html"
license="custom"
depends=('zlib' 'libjpeg')
makedepends=(gcc-fortran)
source=(ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF_Current/src/HDF4.$pkgver.tar.gz ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF_Current/src/patches/configure)
md5sums=('9082c6fa913b9188452fa6c5217e1573' '845b0e1a20c0a969fca386b8830236ed')
build() {
cp ./configure $startdir/src/HDF4.$pkgver
cd $startdir/src/HDF4.$pkgver
./configure --prefix=/usr F77=gfortran FFLAGS=-ffixed-line-length-0
make || return 1
make prefix=$startdir/pkg/usr install
mkdir -p $startdir/pkg/usr/share/licenses/hdf4
cp $startdir/src/HDF4.$pkgver/COPYING $startdir/pkg/usr/share/licenses/hdf4
HDF4 was originally built with commercial Fortran 77 compilers, although g77 worked too. Since g77 is gone, I built it with gfortran. I encountered a couple of issues with the "make check" command, which compiles and runs tests of the libraries and utilities. The main package builds without errors using plain gfortran. However, the test code contains lines longer than 72 characters, so I had to add the FFLAGS=-ffixed-line-length-0 option to the configure script to be able to build the tests. When I manually do
cd $startdir/src/HDF4.$pkgver
make check || return 1
all of the tests are built and passed without errors. However, when I put these two lines into the build script, the tests fail as follows:
============================
HDF-SD C interfaces tests
============================
srcdir="." ./hdftest > hdfout.new
make[2]: *** [check] Error 1
make[2]: Leaving directory `/home/dscholl/abs/hdf4check/src/HDF4.2r1/mfhdf/libsrc'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/dscholl/abs/hdf4check/src/HDF4.2r1/mfhdf'
make: *** [check-recursive] Error 1
==> ERROR: Build Failed. Aborting...
I would like to include the tests in the build, because it's bad when your data gets mangled. However, I don't know how to get the tests to run in the build script. If anyone has any suggestions I would appreciate them.
HDF4 is released under a license which resembles other Open Source licenses I have read, so I treated it as a custom license. The HDF4 package can be built with an optional compression library called szip, which is not an Open Source product. szip is available under non-commercial and commercial licenses, but prospective commercial users must contact the licensing agent. The AUR doesn't have a way to make that clear to prospective users, so I left out szip.
Here is the PKGBUILD for pyhdf:
# Contributor: David Scholl <djscholl>
pkgname=pyhdf
pkgver=0.7.3
pkgrel=1
pkgdesc="Python bindings for the HDF library."
url="http://pysclint.sourceforge.net/pyhdf/"
license="Python"
depends=('python' 'python-numeric' 'zlib' 'libjpeg')
makedepends=(hdf4)
source=(http://dl.sourceforge.net/pysclint/$pkgname-0.7-3.tar.gz)
md5sums=('f55aa19e61cf6501f436e27783098000')
build() {
cd $startdir/src/$pkgname-0.7-3
sed -i '/#extra_compile_args=["-DNOSZIP"],/s/#//' setup.py
sed -i '/libraries = ["mfhdf", "df", "jpeg", "z", "sz"]/s/libraries/#libraries/' setup.py
sed -i '/#libraries = ["mfhdf", "df", "jpeg", "z"]/s/#//' setup.py
python setup.py install --root=$startdir/pkg
pyhdf assumes the availability of szip by default, so its setup.py must be hacked to build it without szip. I do this with three sed commands, following the instructions in the INSTALL file and the comments in the setup.py. The sourceforge page for pyhdf describes it as being released under the Python license, but there is no copyright file included with the source distribution, nor did I find one on the project website.
If anyone has corrections or improvements to suggest, please post.I have done some further digging into the "make check" issue, but I don't know enough to solve it. I'm hoping someone will be able to figure out a patch or work-around that I can use.
The error message announces leaving the src/HDF4.2r1/mfhdf/libsrc directory. We can find the first part of the error message in the Makefile:
less -N src/HDF4.2r1/mfhdf/libsrc/Makefile
729 check:
730 @echo "============================"
731 @echo "HDF-SD C interfaces tests"
732 @echo "============================"
733 srcdir="$(srcdir)" ./hdftest > hdfout.new
734 @cmd="$(DIFF) hdfout.new $(srcdir)/hdfout.sav";
It appears to me that line 733 bombs when "make check" is run from the build script, and the diff command in 734 doesn't get a chance to run.
The hdfout.new from the build script "make check" ends in
*** UNEXPECTED VALUE from second SDstart is 393216 at line 61 in tsd.c
num_err == 1
The file src/HDF4.2r1/mfhdf/libsrc/hdfout.sav ends in
num_err == 0
less -N src/HDF4.2r1/mfhdf/libsrc/tsd.c
24 #define FILE_NAME "sdtest.hdf" /* data file to test ID types */
59 /* Create a protected file */
60 fid = SDstart(FILE_NAME, DFACC_CREATE);
61 VERIFY(fid, FAIL, "second SDstart");
Running "make check" manually:
$ ls -l sdtest.hdf
--w------- 1 dscholl dscholl 2503 2006-08-13 09:45 sdtest.hdf
Running "make check" from within the build script:
$ ls -l sdtest.hdf
-rw------- 1 dscholl dscholl 2502 2006-08-13 09:48 sdtest.hdf
I'm not a C programmer, but it appears to me that the hdftest binary is trying to create a read-protected --w------- file, and actually creating a -rw------- file. When it tries to read it, it generates an error message and the Makefile stops running. What is different about the build script environment that would cause this difference in file creation? -
I'm trying to make a pkgbuild for keytouch
But as it's my first pkgbuild, I have some problems:
1) the docs say you need the following packages to be installed:
- GTK 2
- gksu
- X11 and Xlib
gtk2 and gksu are in pacman, but what do I have to add for X11 and Xlib?
2) running makepkg runs into an error:
mkdir /home/tom/download/PKGbuilds/keytouch/test1/pkg/usr/bin
/bin/install -c keytouchd /home/tom/download/PKGbuilds/keytouch/test1/pkg/usr/bin/keytouchd
XSESSION_KEYTOUCHD_LINE="keytouchd &";
XSESSION_DIR="/etc/X11/Xsession.d";
if [ -d $XSESSION_DIR ]; then
echo "$XSESSION_KEYTOUCHD_LINE" > $XSESSION_DIR/40keytouchd;
chmod +x $XSESSION_DIR/40keytouchd;
else
XSESSION_FILE="/etc/X11/Xsession";
if [ "`grep "$XSESSION_KEYTOUCHD_LINE" "$XSESSION_FILE" -m 1 -h`" != "$XSESSION_KEYTOUCHD_LINE" ]; then
XSESSION_TMP=`cat "$XSESSION_FILE"`;
echo "$XSESSION_KEYTOUCHD_LINE" > $XSESSION_FILE;
echo "$XSESSION_TMP" >> $XSESSION_FILE;
fi
fi
/bin/sh: /etc/X11/Xsession.d/40keytouchd: Permission denied
chmod: cannot access `/etc/X11/Xsession.d/40keytouchd': No such file or directory
make[2]: *** [install-data-local] Error 1
make[2]: Leaving directory `/home/tom/download/PKGbuilds/keytouch/test1/src/keytouch-2.0/keytouchd'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/tom/download/PKGbuilds/keytouch/test1/src/keytouch-2.0/keytouchd'
make: *** [install-recursive] Error 1
==> ERROR: Build Failed. Aborting...
It produces this error on the make install, and I thinks it's because the src/keytouch-2.0/keytouchd/Makefile.am contains the following:
install-data-local:
@$(NORMAL_INSTALL)
XSESSION_KEYTOUCHD_LINE="keytouchd &";
XSESSION_DIR="$(DESTDIR)/etc/X11/Xsession.d";
if [ -d $$XSESSION_DIR ]; then
echo "$$XSESSION_KEYTOUCHD_LINE" > $$XSESSION_DIR/40keytouchd;
chmod +x $$XSESSION_DIR/40keytouchd;
else
XSESSION_FILE="/etc/X11/Xsession";
if [ "`grep "$$XSESSION_KEYTOUCHD_LINE" "$$XSESSION_FILE" -m 1 -h`" != "$$XSESSION_KEYTOUCHD_LINE" ]; then
XSESSION_TMP=`cat "$$XSESSION_FILE"`;
echo "$$XSESSION_KEYTOUCHD_LINE" > $$XSESSION_FILE;
echo "$$XSESSION_TMP" >> $$XSESSION_FILE;
fi
fi
The make install tries to write directly to /etc/X11/Xsession, which is not allowed while make the pkg.
How do I solve this problem?
The pkgbuild so far:
# $Id: PKGBUILD,v 1.0 2005/21/11 $
# Maintainer: mouse256
pkgname=keytouch
pkgver=2.0.0
pkgrel=1
pkgdesc="A program which allows you to easily configure the extra function keys of your keyboard"
depends=('gtk2' 'gksu')
source=(http://dl.sourceforge.net/sourceforge/keytouch/$pkgname-$pkgver.tar.gz)
url="http://keytouch.sourceforge.net/"
md5sums=('a7a22320707b887b1c5dedb77d2cf3e6')
build() {
cd $startdir/src/$pkgname-2.0
./configure --prefix=/usr
make || return 1
make prefix=$startdir/pkg/usr installthanks, it dit help somewhat, but I still had some errors. Now they're all solved, but I don't know whether my pkgbuild is according the arch rules:
pkgbuild;
# $Id: PKGBUILD,v 1.0 2005/21/11 $
# Maintainer: mouse256
pkgname=keytouch
pkgver=2.0.0
pkgrel=1
pkgdesc="A program which allows you to easily configure the extra function keys of your keyboard"
depends=('gtk2' 'gksu')
source=(http://dl.sourceforge.net/sourceforge/keytouch/$pkgname-$pkgver.tar.gz)
url="http://keytouch.sourceforge.net/"
md5sums=('a7a22320707b887b1c5dedb77d2cf3e6')
build() {
cd $startdir/src/$pkgname-2.0
./configure --prefix=/usr
make || return 1
#script checkt if Xsession directory exists, so create it
mkdir $startdir/pkg/etc
mkdir $startdir/pkg/etc/X11
mkdir $startdir/pkg/etc/X11/Xsession.d
mkdir $startdir/pkg/etc/rc.d
make DESTDIR=$startdir/pkg install
cd $startdir/src/$pkgname-2.0/keytouch-config
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
cd $startdir/src/$pkgname-2.0/keytouch-keyboard
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
mkdir -p $startdir/pkg/usr/share/applications
echo "Categories=Application;Accessoires;" >> $startdir/pkg/usr/share/keytouch/desktop/keytouch.desktop
mv $startdir/pkg/usr/share/keytouch/desktop/keytouch.desktop $startdir/pkg/usr/share/applications
The biggest problem I think is it creates a file in /etc/rc.d
FILELIST:
.FILELIST
.PKGINFO
etc/
etc/X11/
etc/X11/Xsession.d/
etc/X11/Xsession.d/40keytouchd
etc/rc.d/
etc/rc.d/keytouch-init.sh
usr/
usr/bin/
usr/bin/keytouch
usr/bin/keytouch-init
usr/bin/keytouch-keyboard
usr/bin/keytouch-keyboard-bin
usr/bin/keytouchd
usr/etc/
usr/etc/keytouch/
usr/share/
usr/share/keytouch-keyboard-bin/
usr/share/keytouch-keyboard-bin/pixmaps/
usr/share/keytouch-keyboard-bin/pixmaps/icon.png
usr/share/keytouch/
usr/share/keytouch/doc/
usr/share/keytouch/doc/html/
usr/share/keytouch/doc/html/WARNINGS
usr/share/keytouch/doc/html/images.aux
usr/share/keytouch/doc/html/images.log
usr/share/keytouch/doc/html/images.out
usr/share/keytouch/doc/html/images.pl
usr/share/keytouch/doc/html/images.tex
usr/share/keytouch/doc/html/img1.png
usr/share/keytouch/doc/html/img2.png
usr/share/keytouch/doc/html/img3.png
usr/share/keytouch/doc/html/img4.png
usr/share/keytouch/doc/html/index.html
usr/share/keytouch/doc/html/internals.pl
usr/share/keytouch/doc/html/labels.pl
usr/share/keytouch/doc/html/node1.html
usr/share/keytouch/doc/html/node10.html
usr/share/keytouch/doc/html/node11.html
usr/share/keytouch/doc/html/node12.html
usr/share/keytouch/doc/html/node13.html
usr/share/keytouch/doc/html/node14.html
usr/share/keytouch/doc/html/node15.html
usr/share/keytouch/doc/html/node16.html
usr/share/keytouch/doc/html/node17.html
usr/share/keytouch/doc/html/node18.html
usr/share/keytouch/doc/html/node2.html
usr/share/keytouch/doc/html/node3.html
usr/share/keytouch/doc/html/node4.html
usr/share/keytouch/doc/html/node5.html
usr/share/keytouch/doc/html/node6.html
usr/share/keytouch/doc/html/node7.html
usr/share/keytouch/doc/html/node8.html
usr/share/keytouch/doc/html/node9.html
usr/share/keytouch/doc/html/user_manual.css
usr/share/keytouch/doc/html/user_manual.html
usr/share/keytouch/keyboards/
usr/share/keytouch/keyboards/Aspire 1300.Acer
usr/share/keytouch/keyboards/Aspire 1350.Acer
usr/share/keytouch/keyboards/Cordless Desktop Pro.Logitech
usr/share/keytouch/keyboards/D47K.Promedion
usr/share/keytouch/keyboards/Easy Access Keyboard (8 keys).Compaq
usr/share/keytouch/keyboards/Internet Navigator.Logitech
usr/share/keytouch/keyboards/Latitude D505.Dell
usr/share/keytouch/keyboards/MultiMedia Keyboard 1.0.Microsoft
usr/share/keytouch/keyboards/TravelMate 4100.Acer
usr/share/keytouch/keyboards/Versa P550.Nec
usr/share/keytouch/keyboards/Y-RK49.Logitech
usr/share/keytouch/pixmaps/
usr/share/keytouch/pixmaps/icon.png
usr/share/keytouch/pixmaps/internet.png
usr/share/keytouch/pixmaps/key.png
usr/share/keytouch/pixmaps/key2.png
usr/share/keytouch/pixmaps/keyboard.png
usr/share/keytouch/pixmaps/keytouch.png
usr/share/keytouch/plugins/
usr/share/keytouch/plugins/amarok.so
usr/share/keytouch/plugins/aumix.so
usr/share/keytouch/plugins/browser.so
usr/share/keytouch/plugins/chat.so
usr/share/keytouch/plugins/common_actions.so
usr/share/keytouch/plugins/email.so
usr/share/keytouch/plugins/filemanager.so
usr/share/keytouch/plugins/lock_screen.so
usr/share/keytouch/plugins/xmms.so
the file etc/rc.d/keytouch-init.sh contains:
/usr/bin/keytouch-init
So this won't work on arch. Should the file be removed from the pkg? And should it be replaced by another deamon file that does work? -
I made pkgbuilds for Maya 8.5 and 2008 (32 & 64)
Hello,
I made these pkgbuilds for my sister to use on our home machines, but figured someone may find them useful. Of course, this assumes you have the official Maya for Linux CD to copy the RPM's from and a license; it just converts Autodesk's stuff into Arch's format.
Update Mon May 17, 2010: I cleaned up the pkgbuilds for Maya 2008 dramatically, and made them safe to use now that I have a better idea of what I'm doing. I posted the new packages (8.5 and 2008 respectively) to AUR here:
http://aur.archlinux.org/packages.php?ID=37259
http://aur.archlinux.org/packages.php?ID=37257
IMPORTANT: A couple parts of the BELOW (this does NOT apply to the above pkgbuild in AUR) maya.install file may be considered potentially dangerous and you should look it over before running it. Much of this project was done on zero sleep, so you've been warned. That said, it worked on all 3 computers I intended it to (1 i686, 2 x86_64).
There are 4 packages. Two for maya2008, and two for maya8.5. There's a normal version and split version for each (splits the files identically to the rpm's). I HIGHLY recommend the normal, non-split versions, but everything is there if needed.
You can find the OLD stuff here [only use if the AUR one doesn't work for you]:
http://www.mediafire.com/?sharekey=6884 … 49b5870170
The maya page on the wiki suggests doing ln -s /usr/bin/tcsh /bin/csh after tcsh is installed, but I didn't find this necessary iirc. If you have problems with running it, try the following link.
http://wiki.archlinux.org/index.php/Maya
Last edited by FrozenFox (2010-05-17 22:54:17)Updated to add libxinerama as a dependency (and re-orphaned). Based on the error, I'm unsure that is the correct course of action, however. As my sister has moved on to a more current version of maya which I don't think has linux support (or if it does, I have no idea where it is), I no longer have the 8.5/2008 cd's to be sure nothing messed up and be sure it works, so it would be appreciated if you could test it or adopt it.
EDIT: On thinking about it, I don't think that is the correct way to do it, so..
An extended question for you:
Apcw appears to be the maya product activation wizard, not the main product. Did you have to install lib32-xinerama or just libxinerama on your x64 to make apcw work? If so, I guess they used a 32 bit activator for the 64 bit program for whatever reason. What happens post-activation with a) both libraries installed b) neither installed c) only libxinerama installed d) only lib32-libxinerama installed ?
I suspect the correct response at this point would be to remove libxinerama as a dependency and put libxinerama or lib32-libxinerama as optdepends (based on architecture) for those who need that to activate it through the wizard.
Thanks for your time and letting me know.
Last edited by FrozenFox (2010-08-31 20:44:27) -
RFC: new PKGBUILD for odfpy
odfpy is a nice library for producing ODF documents with python. I've created a PKGBUILD for it, any comments before I submit it to the AUR?
# Contributor: Joel Schaerer <[email protected]>
pkgname=odfpy
pkgver=0.7
pkgrel=1
pkgdesc="A complete API for OpenDocument in Python"
arch=('i686' 'x86_64')
url="http://opendocumentfellowship.com/projects/odfpy"
license=('GPL')
depends=('python')
source=(http://opendocumentfellowship.com/files/odfpy-${pkgver}.tgz)
md5sums=('cea1c5bf445d3eeacca23f3de5ac0f94')
build() {
cd "$srcdir/${pkgname}-${pkgver}"
python setup.py build
python setup.py install --prefix=${pkgdir}/usrsvn version ones from the site:
odfpy
pkgname=odfpy
pkgver=442
pkgrel=2
pkgdesc="A complete API for OpenDocument in Python"
arch=('i686' 'x86_64')
url="http://opendocumentfellowship.com/projects/odfpy"
license=('GPL')
depends=('python')
source=()
md5sums=()
_svntrunk="http://opendocumentfellowship.com/repos/odfpy/trunk"
_svnmod="odfpy"
build() {
cd ${startdir}/src
msg "Connecting to svn server...."
if [ -d ${_svnmod}/.svn ]; then
(cd ${_svnmod} && svn up -r ${pkgver})
else
svn co $_svntrunk ${_svnmod}
fi
msg "SVN checkout done or server timeout"
msg "Starting make..."
cp -r ${startdir}/src/${_svnmod} ${startdir}/src/${_svnmod}-build
cd ${startdir}/src/${_svnmod}-build
python setup.py build
python setup.py install --root=${startdir}/pkg
rm -rf ${startdir}/src/${_svnmod}-build
odftools
pkgname=odftools
pkgver=324
pkgrel=2
pkgdesc="a set of conversion tools for OpenDocument files"
arch=('i686' 'x86_64')
url="http://opendocumentfellowship.com/projects/odftools"
license=('GPL')
depends=('python')
source=()
md5sums=()
_svntrunk="http://opendocumentfellowship.com/repos/odftools/trunk"
_svnmod="odftools"
build() {
cd ${startdir}/src
msg "Connecting to svn server...."
if [ -d ${_svnmod}/.svn ]; then
(cd ${_svnmod} && svn up -r ${pkgver})
else
svn co ${_svntrunk} ${_svnmod}
fi
msg "SVN checkout done or server timeout"
msg "Starting make..."
cp -r ${startdir}/src/${_svnmod} ${startdir}/src/${_svnmod}-build
find . -type d -name '\.svn' -exec rm -rf {} \;
cd ${startdir}/src/${_svnmod}-build
install -d ${pkgdir}/usr/{bin,share/man/man1}
make
make PREFIX=${pkgdir}/usr install
rm -rf ${startdir}/src/${_svnmod}-build
odf2html
pkgname=odf2html
pkgver=349
pkgrel=2
pkgdesc="a set of conversion tools for OpenDocument files"
arch=('i686' 'x86_64')
url="http://opendocumentfellowship.com/projects/odftools"
license=('GPL')
depends=('libxslt')
source=()
md5sums=()
_svntrunk="http://opendocumentfellowship.com/repos/html2odf/trunk"
_svnmod="odf2html"
build() {
cd ${startdir}/src
msg "Connecting to svn server...."
if [ -d ${_svnmod}/.svn ]; then
(cd ${_svnmod} && svn up -r ${pkgver})
else
svn co $_svntrunk ${_svnmod}
fi
msg "SVN checkout done or server timeout"
msg "Starting make..."
cp -r ${startdir}/src/${_svnmod} ${startdir}/src/${_svnmod}-build
cd ${startdir}/src/${_svnmod}-build
install -d ${pkgdir}/usr/share/odftools/xsl
make
install -m 644 html2odf-complete.xsl \
${pkgdir}/usr/share/odftools/html2odf-complete.xsl
install -m 644 html2odf.xsl \
${pkgdir}/usr/share/odftools/html2odf.xsl
cp -r xsl/*.xsl ${pkgdir}/usr/share/odftools/xsl
chmod 0644 ${pkgdir}/usr/share/odftools/xsl/*.xsl
rm -rf ${startdir}/src/${_svnmod}-build
odfviewer
pkgname=odfviewer
pkgver=350
pkgrel=2
pkgdesc="Cross-platform viewer for OpenDocument files"
arch=('i686' 'x86_64')
url="http://opendocumentfellowship.com/projects/odfviewer"
license=('GPL')
depends=('xulrunner')
source=()
md5sums=()
_svntrunk="http://opendocumentfellowship.com/repos/odfviewer/trunk"
_svnmod="odfviewer"
build() {
cd ${startdir}/src
[ -d ${_svnmod}-build ] && rm -rf ${_svnmod}-build
msg "Connecting to svn server...."
if [ -d ${_svnmod}/.svn ]; then
(cd ${_svnmod} && svn up -r ${pkgver})
else
svn co $_svntrunk ${_svnmod}
fi
msg "SVN checkout done or server timeout"
msg "Starting make..."
cp -r ${startdir}/src/${_svnmod} ${startdir}/src/${_svnmod}-build
cd ${startdir}/src/${_svnmod}-build
find . -type d -name '\.svn' -exec rm -rf {} \;
install -d ${pkgdir}/opt/odfviewer
cp -r * ${pkgdir}/opt/odfviewer
install -D -m 755 ${startdir}/odfviewer ${pkgdir}/usr/bin/odfviewer
rm -rf ${startdir}/src/${_svnmod}-build
script of odfviewer
#!/bin/sh
cd /opt/odfviewer
xulrunner application.ini $@
Last edited by superkevjr (2008-06-04 12:45:23) -
PKGBUILD for transmission-remote-gtk new since move to git - help?
Transmission-remote-gtk just moved to git from svn and I made a new PKGBUILD for it;
# Maintainer: Aleksey Frolov <[email protected]> [ru]
# Contributor: PitBall
_pname=transmission-remote-gtk
pkgname=${_pname}-git
pkgver=20120203
pkgrel=1
pkgdesc="GTK client for remote management of the Transmission BitTorrent client, using its HTTP RPC protocol"
arch=(i686 x86_64)
license=('GPL2')
depends=('git' 'hicolor-icon-theme' 'geoip' 'libproxy' 'libunique' 'json-glib' 'libnotify' 'gconf' 'desktop-file-utils' 'curl')
makedepends=('intltool')
conflicts=('transmission-remote-gtk')
install=${pkgname}.install
options=('!libtool')
url="http://code.google.com/p/transmission-remote-gtk"
_gittrunk="https://code.google.com/p/transmission-remote-gtk/"
_gitmod=${pkgname}
build() {
cd ${srcdir}
# GIT checkout
if [[ -d ${_gitmod} ]]; then
(cd ${_gitmod} && git pull )
else
git clone ${_gittrunk} ${_gitmod}
fi
rm -rf ${srcdir}/${_gitmod}-build
cp -r ${srcdir}/${_gitmod} ${srcdir}/${_gitmod}-build
cd ${srcdir}/${_gitmod}-build
# Configure
./autogen.sh
./configure \
--prefix=/usr
# --prefix=/usr \
# --disable-schemas-install \
# --with-gconf-schema-file-dir=/usr/share/gconf/schemas
# Compile
make
# Install
make DESTDIR=${pkgdir} install
# License & Authors
install -dm755 ${pkgdir}/usr/share/licenses/${_pname}
ln -sf /usr/share/licenses/common/GPL2/license.txt ${pkgdir}/usr/share/licenses/${_pname}/LICENSE
install -Dm644 AUTHORS ${pkgdir}/usr/share/doc/${_pname}/AUTHORS
When doing a pacman -U 'pkgname' I get about 20 file "exists in filesystem". With my limited knolwedge I don't know how to fix this. pacman -Uf does it but is an ugly solution. What can I do with the PKGBUILD or maybe recommend users to uninstall the svn version first?
Furthermore; there was a bit of code looking for the .svn directory
# SVN checkout
if [[ -d ${_svnmod}/.svn ]]; then
(cd ${_svnmod} && svn up -r $pkgver)
else
svn co ${_svntrunk} --config-dir ./ -r ${pkgver} ${_svnmod}
fi
which I changed to this;
# GIT checkout
if [[ -d ${_gitmod} ]]; then
(cd ${_gitmod} && git pull )
else
git clone ${_gittrunk} ${_gitmod}
fi
The prupose is to look for previous source and not download it all again, just get the changes. svn up -r is quite straight forward but git pull, I find is not. I'd really appreciate some pointers on this.
By the way, it compiles just fine and with pacman -Uf it works, I'd just like to make a proper PKGBUILD.
Last edited by swanson (2012-02-03 22:35:17)Yes, that's the seems to be the easiest and cleanest way to go. Here's the new transmission-remote-gtk git version in AUR;
https://aur.archlinux.org/packages.php?ID=56377 -
New PKGBUILDs for calpp and cpyrit-calpp
Hello
I wanted to try the calpp backend for pyrit (a WPA cracking utility), but couldn't find them in either the official repositiories or in AUR. There for I have created new PKGBUILDs for these, they work on my system (x86_64 3.1.0-4-ARCH), but as these are my first ones I wanted to post them here for review before I upload them to AUR.
The main thing I have doubts about are the dependencies. I think I have listed them all but I'm not sure.
Here is the PKGBUILD for calpp:
# Maintainer: Martin R. <mr-ger [at] hotmail [dot] com>
pkgname=calpp
pkgver=0.90
pkgrel=2
pkgdesc="Library to allow writing ATI CAL kernels in C++"
arch=('i686' 'x86_64')
url="http://sourceforge.net/projects/calpp/"
license=('GPL3')
depends=('amdstream' 'boost')
makedepends=('cmake')
source=("http://sourceforge.net/projects/calpp/files/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz")
md5sums=('efc3f519492ac8d3178fe42115ce3637')
_streamdir='/opt/amdstream'
build() {
cd "$srcdir/$pkgname-$pkgver"
sed -i "s|\$ENV{ATISTREAMSDKROOT}/lib|${_streamdir}/lib|g" CMakeLists.txt
sed -i "s|\$ENV{ATISTREAMSDKROOT}/include|/${_streamdir}/include/CAL|" CMakeLists.txt
cmake -DCMAKE_INSTALL_PREFIX=/usr .
make
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
And here is the PKGBUILD for cpyrit-calpp:
# Maintainer: Martin R. <mr-ger [at] hotmail [dot] com>
pkgname=cpyrit-calpp-svn
pkgver=308
pkgrel=3
pkgdesc="CAL++ backend for accelerated attack against WPA-PSK authentication, development version"
url="http://code.google.com/p/pyrit/"
license=('GPL3')
arch=('i686' 'x86_64')
depends=('python2' 'catalyst-utils' 'pyrit-svn')
makedepends=('calpp')
conflicts=('cpyrit-opencl-svn')
_svntrunk='http://pyrit.googlecode.com/svn/trunk'
_svnmod='cpyrit_calpp'
_caldir='/usr/include/CAL/'
build() {
svn co "${_svntrunk}/${_svnmod}"
cd "${_svnmod}"
sed -i "s|VERSION = '0.4.0-dev'|VERSION = '0.4.1-dev'|" setup.py
sed -i "s|CALPP_INC_DIRS = \[\]|CALPP_INC_DIRS = \[\'${_caldir}\'\]|" setup.py
LDFLAGS="" python2 setup.py build
package() {
cd "${srcdir}/${_svnmod}"
python2 setup.py install --root="${pkgdir}" --optimize=1
Thanks in advance
EDIT = Updated the PKGBUILDs
Last edited by ozon-eatar (2011-11-30 22:15:56)Thanks for the respones Stebalien! I have changed the things you pointed out and updated my first post.
I have also run namcap on both packages and their PKGBUILDs. The only thing namcap complains about on the PKGBUILDs are the lack of contributer tag, which I think is unnecessary as I'm listed as the maintainer.
On the cpyrit-calpp package namcap complains about unnecessary dependencies:
cpyrit-calpp-svn I: Depends as namcap sees them: depends=(catalyst-utils python2)
I tried this dep array with all packages listed before uninstalled (well, catalyst and libpcap I couldn't uninstall) and it didn't work. When I added 'calpp' to makedepends it worked, and it ran after I uninstalled calpp again.
As cpyrit-calpp-svn is a backend to the pyrit-svn package and pointless to install without pyrit-svn I added it back to the array. Might add that this is how the dep array looked before:
depends=('python2' 'openssl' 'zlib' 'libpcap' 'amdstream' 'catalyst' 'calpp' 'pyrit-svn')
This is what namcap is telling me about calpp:
calpp I: Depends as namcap sees them: depends=()
BUT it will neither build nor will it compile one of the examples without both amdstream and boost (not just boost-libs). Therefore I have not changed the dep array for calpp. -
Writing PKGBUILDs for Go programs.
Hello.
I was thinking in starting maintaining a few packages in the AUR, so decided to write a little test.
Let's say I want to write a PKGBUILD for this package: https://github.com/michaeldv/mop
Now, this is written in the Go language, and as some of you might know, go uses the great 'go' tool, which allows you to quickly fetch a project and install it.
So I was wondering which would be the correct way to install this, as Go specifies that all the programs must be stored in $GOPATH.
I also have no idea how to install it properly.
For example, a PKGBUILD for this program would be:
pkgname=mop-git
pkgver=20130907
pkgrel=1
pkgdesc='Command-line utility that displays information about stock markets (development version)'
url='http://github.com/michaeldv/mop'
license=('MIT')
source=('git://github.com/michaeldv/mop.git')
md5sums=('SKIP')
sha1sums=('SKIP')
sha256sums=('SKIP')
arch=('i686' 'x86_64')
depends=()
makedepends=('git' 'go')
conflicts=()
provides=()
build() {
go get github.com/michaeldv/mop
cd $GOPATH/src/github.com/michaeldv/mop
make build
package() {
cd $GOPATH/src/github.com/michaeldv/mop
# Install the program.
cp mop /usr/bin
As you can see it's very simple, and the Go command clones the repo and builds it automatically.
So I ask you, is this the correct way to do this? There aren't a lot of Go packages in the AUR to learn from, but most of PKGBUILDs seem to do this in another way, and I wonder why.
Thanks.
Last edited by dysoco (2013-09-17 23:00:21)I know nothing about go or creating PKGBUILDs, but there are guidelines in the wiki: https://wiki.archlinux.org/index.php/Go … Guidelines
-
Resp Person Tab is not coming in CJ20N for a particular project type
Hi All,
I am unaware of the standard SAP screen in CJ20N but we have a screen in CJ20n wherein we can assign a person / link a person this particular tab is not coming at all for a particular project type (Resp Person) rather a different tab (cust enhancement) is coming but our problem is we have a mass program which works on BDC and hence if the required screens are not there it fails.
Can someone please tell me if there is come config i can check/ maintain for this resp person tab so that it starts coming for all project types.
Regards
Anmol PareekHey Sarang,
Thanks a lot, it was helpful, one more thing though, In Resp Persons tab there is something called Link Employees and my problem is that i have a mass linking program (using BDC) which cannot work if i dont see that screen in my BDC (without changing BDC). The way you have told is in OPUK/ OPUJ check for proj type and see if person responsible is hidden or not. I dont think that is what i am asking because no matter what this person responsible is hidden, but for certain project types Resp Person tab itself is not coming and that is the problem.
Regards
anmol -
Pause / Resume button combination not working when set to display for "rest of project"
Good day,
I have created a set of four objects on slide2 of my project
1. Smart Object rounded rectangle with text "(playing) - CLICK to Pause" [this is the graphic the user sees]
2. Smart Object rounded rectangle with text "(paused) - CLICK to Resume" [this is the graphic the user sees]
3. Smart Object rectangle, transparent, used as button, set to not display in project - btn_Resume
4. Smart Object rectangle, transparent, used as button - btn_Pause
A. Script assigned to btn_Pause hides btn_Pause and the "CLICK to Pause" graphic, shows the btn_Resume and "CLICK to Resume" graphic, and pauses the project by setting the system pause variable to 1
B. Script assigned to btn_Resume hides btn_Resume and the "CLICK to Resume" graphic, shows the btn_Pause and "CLICK to Pause" graphic, and resumes the project by setting the system resume variable to 1
C. All items are set to display from the beginning of slide2 for the "rest of project"
On slide 2, the buttons hide/show and pause/resume behaviors work correctly.
On slide 3, the correct initial button and graphic appears, and the click sound works when clicked, but no behaviors (show/hide/pause) occur until a good amount of time into the slide: you can click all you want for 20-30 seconds, but nothing works except the click sound. Eventually, the behavior will work.
On slides 4 and following, the correct initial button and graphic appears, and the click sound works when clicked, but no behaviors EVER work.
If the behaviors NEVER, EVER worked, I would keep looking for what I did not have set correctly, but the correct working on the slide where they are set, delayed behavior on the next, and no behavior on the remainder of slides following has me stumped.
Captivate version 6.0.1.240
Windows 7 OS
I hope I'm missing something obvious here, and I'm more than willing to face-palm if you tell me . Otherwise, I have not been able to find any setting that makes any difference. I would REALLY rather not duplicate the buttons and scripts on every page of the project. Given the blog posts I have seen saying this method should work just fine, I'm hoping there is a side quirk somewhere that I'm missing.
Thanks for any help you can give.Without clouding with too much explanation, this technique arose out of a need to deal with (in a different project) objects that were grouped, and wanting to deal with the groups in as simple a way as possible, allow for easy swapping of group assets, and having a few buttons do multiple things. The idea of being able to have multiple interactive buttons stacked on top of each other while appearing for the rest of the project led to trying this simple construct before trying something more complex.
You are correct, that there is a simpler solution, which we ended up using because we were not able to get two interactive buttons stacked on top of each other while displayed for the rest of the project to work properly (although that is SUPPOSED to work, as far as I understand).
Here's what we ended up doing:
A) Two smartshapes used as messaging graphics
B) A single (one) interactive smartshape used as a button
C) A conditional action to pause/resume and show/hide the appropriate messaging graphics
D) All three objects (A&B) stacked, B on top.
E) All objects set to always appear on top, and to display for rest of project.
Our hypothesis, then, is that you are not able to stack interactive objects on top of each other and then display for the rest of the project.
If anyone has evidence to the contrary, we would, gladly, take a look.
Thanks for your interest Lilybiri, and for your input.
Best regards,
Hank -
High Memory utilization for a single project
Hi All,
I am facing one issue with one of the projects configured. We have endeca installed on a Windows server and there are multiple projects setup. I am observing that dgraph.exe for a single project is taking as much as 80% of memory on server. I do see that the project is receiving around 300 to 350 requests every day which is slightly higher than other projects. I am required to manually restart the project before business starts and that releases the memory. I am not able to identify whats causing this issue. Any ideas on how to troubleshoot the issue?
Any suggestions will be of great help..
Thank You,
SunilThe number of threads will not have any impact on memory usage, however, I agree with Saleh that this doesn't make any sense.
I would suggest the following:
Grab the stats page XML (http://[your server name]:[your port]/admin?op=stats).
Restart the dgraph and see how much memory is taken up on the initial load. Then, assuming the memory consumption is reasonable, issue a couple N=0, N=something queries to the index and track what's happening with how much memory is being taken up.
If you're still at a normal level, it seems like there must be some process or "bad query" that causes the memory to spike. A possible culprit might be found on the "most expensive queries" section of the stats page but it's possible it won't be there as that only tracks queries that have completed, not queries that are still in process or taking forever.
The only other explanation I can think of is a rogue "bulk export" query where a user is trying to (for example) export the entire index to excel or something like that. Does your application offer that functionality?
Regards,
Patrick Rafferty
Branchbird
Maybe you are looking for
-
Disabling Smart Quotes in FrameMaker 7.2
Hi, My team uses FrameMaker 7.2 to create and edit DITA XML files. We recently noticed that the smart quote feature inserts non-printable characters in our XML content files. Our help system cannot display the characters properly, and so we've starte
-
Search app content *air for ios/android*
is there any way to create a search bar so that user can be able to search contents in an app . for example : search for a word :::> word is found ::::> user click results :::::> fo to and stop ( frame containing the results ) or if any one has an
-
Hi, If for a field in a table I have the following search helps implemented: References are as under Ztab ->- Zfield --> ZdataE --> ZDomain 1. Search help at field level in table (Zfield) 2. Search help at data element (ZdataE) 3. Value Range in Doma
-
View Owner and table name of public synonym
A schema user has created a public synonym of a table to another user, say U1. How could U1 view all the details of the public synonyms, such as a list of all the public synonyms, and the corresponding owner and table names?
-
Which app will allow me to create a looping DVD?
I need to create a DVD for a trade show that will loop continually. Is there any app that will allow me to do this? Most of the apps' descriptions in the App Store don't seem to mention this feature.