On Sat, 6 Dec 2008 22:47:38 -0600 "Dan McGee" <dpmcgee@gmail.com> wrote:
I agree with Allan on pretty much everything he said below. I'll add a few things too.
On Sat, Dec 6, 2008 at 10:07 PM, Allan McRae <allan@archlinux.org> wrote:
Jud wrote:
--- PKGBUILD.proto 2008-12-05 23:32:33.000005000 +1000 +++ PKGBUILD.proto.new 2008-12-07 13:49:43.889569135 +1000 @@ -3,13 +3,15 @@ # NOTE: Please fill out the license field for your package! If it is unknown, # then please put 'unknown'. + # Contributor: Your Name <youremail@domain.com> + pkgname=NAME -pkgver=VERSION +pkgver=VERSION # Note: if pkgver is '0.99-10' then use an underscore, i.e. '0.99_10' pkgrel=1
Can we make this shorter. I.e "# Note: Cannot contain hyphens." This really should get documented in the man page. Agreed on both counts. Patches welcome. :P
pkgdesc="" -arch=() -url="" +url="http://ADDRESS/" +arch=('i686' 'x86_64')
Re-ordering why? Also, adding Arch's standard arch values is distro specific. We try and avoid that in the pacman code. Mostly agreed. This is a shell script so order really doesn't matter. I feel like default arch values might be nice to show what we are going for, however. I'm really impartial on this though, and I'd defer to Allan on this decision as I've made him Mr. Makepkg. :)
license=('GPL') groups=() depends=() @@ -20,17 +22,13 @@ replaces=() backup=() options=() -install= -source=($pkgname-$pkgver.tar.gz) -noextract=() -md5sums=() #generate with 'makepkg -g' +install=${pkgname}.install +source=(http://ADDRESS/TO/FILE/${pkgname}-${pkgver}.tar.gz) +md5sums=() # Generate with 'makepkg -g'
Why remove noextract? The prototype should have every field. Agreed.
build() { - cd "$srcdir/$pkgname-$pkgver" - - ./configure --prefix=/usr + cd ${srcdir}${pkgname}-${pkgver}
Still missing a / in the middle of this line and the quotes are needed for people who build in directories with spaces. And why the 6 unnecessary characters? {}{}{} is a waste IMO as you didn't really give a good reason to change what is already there. Please leave this line as-is.
+ ./configure --prefix=usr make || return 1 - make DESTDIR="$pkgdir/" install + make DESTDIR=${pkgdir} install || return 1
The trailing slash was added here deliberately as some makefiles suck. Also, quotes are needed. Yep.
We may sound harsh but we try to do reviews of every patch- don't get discouraged, but please try and incorporate our feedback.
-Dan _______________________________________________ pacman-dev mailing list pacman-dev@archlinux.org http://archlinux.org/mailman/listinfo/pacman-dev
Thanks everyone for the quick replies. My only intention is to make Arch and pacman better. Everything added in is from other PKGBUILDs and what others have said to do over the past few weeks, as you could guess it has become very confusing. So I am glad to get this all straightened out and everyone can learn and make Arch and Pacman better. Personally, I couldn't give a c#%p what is in the PKGBUILD as long as everyone (Devs included) are on the same page. arch=() # For Arch Linux: arch=('i686' 'x86_64') Would this line be ok since I'd say the over whelming usage would be Arch (and derivatives) based? url line Only following the "Options and Directives" from the "PKGBUILD(5) Manual Page" Which I believe makes sense if you consider the old "Who? What? Where? When?" [1]. Also I think it reads and looks much better. If pacman is trying to be Distro independent wouldn't it be better to change line 9 from PKGBUILD.5.txt "PKGBUILD - Arch Linux package build description file"? I would be happy to help re-write the whole file. Do these following lines have the same result? cd "$srcdir/$pkgname-$pkgver" cd ${srcdir}/${pkgname}-${pkgver} From the PKGBUILDs I have studied (over 500 in the past few weeks) I would say it would be about 50/50 split (some only have 'cd $srcdir/$pkgname-$pkgver') Anyways I'm not phased which way the knife falls and I hope we can sort this all out quickly. Cheers Jud [1] http://en.wikipedia.org/wiki/5_Ws