pkgver=0.2.0.1-5 If I'm not completely mistaken '-' is not allowed in the version string. set the version to 0.2.0.1_5Beta. And then add another variable. _rawversion=0.2.0.1-5 pkgdesc="A manga downloader for linux, it allows fownloads from many English and Spanish websites"
arch=('any') url="http://code.google.com/p/linux-manga-downloader/" license=('GPL3') depends=('libnotify' 'gtkdialog' 'wget' 'lynx' 'zenity') You can just omit the install variable, you don't need instal file for
source=($pkgname-$pkgver.tar.gz) This is plain wrong. This tells makepkg to include the source-files of
ti, 2012-05-08 kello 18:16 +0200, Jorge Barroso kirjoitti: the description could be shortened to this "Download manga from several English and Spanish websites." The description should be as short as possible, but still of course try to distinct it from other same kind of apps. this package so no need for the install= variable ether. the application in the ArchLinux PKGBUILD source-package. This is wrong. Instead you should provide full URL to the download file online. So it should be source=(http://${pkgabme}.googlecode.com/files/${pkgname}_ ${_rawversion}_all.deb) build() function is met only for the command needed to compile the sourcecode into binary executable. Usually this includes commands ./configure --prefix=/usr and make for c and c++ aplications. package() funcktion in the other hand is used to copy the files into their rightfull place, if the application comes with Makefile you use command 'make DESTDIR="${pkgdir}" install' for this
cd "$srcdir/$pkgname_$pkgver/usr/local/bin" chmod +x 4chan ...... cp zerochan /usr/local/bin/zerochan All that could be simplified into
1. cd "${srcdir}" 2. tar xf data.tar.gz 3. mkdir -p "${pkgdir}/usr/" 4. cp -r "${srcdir}/./usr/local/bin" "${pkgdir}/usr/bin" 5. cp -r "${srcdir}/./usr/share" "${pkgdir}/usr/share" 6. 7. chmod +x "${pkgdir}/usr/bin"/* 8. sed 's|usr/local|usr|' -i "${pkgdir}/usr/bin"/* 9. sed 's|usr/local|usr|' -i "${pkgdir}/usr/share/applications/LDM.desktop" --------------------------------------- Explanation: 1. cd into the directory where our extracted deb file is 2. extrackt the data file part of the deb archive 3. Make the directory /usr in directory ${pkgdir} ${pkgdir}== /the/directory/where/your/PKGBUILD_file_is/pkg 4. copy the bin directory to ${pkgdir}/usr/bin, this is important part. You MUST never copy anyfiles to /usr or anytoher direcoty, without putting ${pkgdir} in front of it. Othervice makepkg will try to copy that file directly to the system, instead of putting it in a pacman installable file. The -r after cp tell cp to copy the whole directory 5. Do the same for the share directory. Also notice that in line 4 we copy the file to /usr/bin and not /usr/local/bin. This is becouse we don't use the /usr/local directory in ArchLinux and so everythin should go to /usr. 6. Just some randon empty line to make reading easyer. One between lines 1 and 2 would be nice too. Does not serve any bigger purpose. 7. Make sure every file in directory "${pkgdir}/usr/bin" is executable. 8. Make sure that we don't refer to the old ubuntu stule /usr/local/ directory anywhere, but instead use the Arch style /usr only. 9. Fix the desktop file to point into /usr instead of /usr/local I think this should make everything clear :D (You still have to fix any errors I might have made) Also like Chris Shakalis said you could use the install command instead of cp and chmod, but cp and chmod work as well too.