I had to change a file (saa7134-card.c) in kernel source to make my Avermedia TV Tuner work. But i must try to change some code in the file several time. It's not a problem if i'm compiling the kernel by traditional way, but if i follow the arch way, it's so time consumed because i had to extract the original kernel source and then edit saa7134-card.c file again. Then, some questions pop-up in my mind...
1. How do i edit a file in kernel source tarball and put it again in the tarball?
2. How do i make my own kernel patch?
3. Do pacman always extract the sources tarball and overwrite files in $startdir/src when i do makepkg? is it possible to skip that step in makepkg process?
Your best bet would just be make a diff file and add that to your PKGBUILD. Just make the changes and save it under a different file name. Use diff to create the file and then use patch to apply it in your PKGBUILD. Here's how I do it
patch --ignore-whitespace <$startdir/right-click.diff $startdir/src/$pkgname-$pkgver/src/adesklets.c