You are not logged in.

#1 2009-09-11 11:17:54

gen1s
Member
From: Russian Federation
Registered: 2009-08-04
Posts: 17

Custom flags for PKGBUILD

In some PKGBUILDs from Aur user can change some variables to enable of disable adittional functionality. For example. In kernel26-ice we can enable menuconfig, realtime_patch and others options. I would like suggest to standardize that. This is like USE flags in Gentoo.
In PKGBUILD we can add new field - flags. Syntax of that field is similar to to optdepends:

flags=('flag1: description1' 'flag2: description2')

By default values of all flags are equal to 0 (zero). Then user can type:

makepg

and press twice TAB and bash (or other shell) can autocomplete flags:

flag1 - description1
flag2 - description2

User decide what flags are needed and type:

makepg flag2

After that value of flag2 become 1.
In PKGBUILD maintainer must check for flags:

if [ "$flag1" = "1" ]; then
    ...
fi

Of course pacman database must store all flags for package and seected flags.

$ pacman -Qi qt
Name           : qt                                                                                                                           
Version        : 4.6.0-1                                                                                                                      
URL            : http://www.qtsoftware.com/
Licenses       : GPL3  LGPL
Groups         : None
Provides       : qt4=4.6.0  phonon
###
Flags            :opengl [phonon] gtkstyle glib svg [webkit]
###
Depends On     : openvg  libpng  mesa  fontconfig  libtiff>=3.8.2-5  libmng>=1.0.10-2  sqlite3  xdg-utils  hicolor-icon-theme  libxrandr  glib2  libxi  dbus
                 libxcursor  libxinerama  libxrender  gstreamer0.10-base-plugins
Optional Deps  : postgresql-libs
                 libmysqlclient
                 unixodbc
Required By    : acetoneiso2  amarok-git  automoc4  basket2-git  elflibviewer  fooaudio-git  google-earth  kde-agent  kdelibs  keepassx  kgtk  liblastfm
                 minitube-git  phonon-xine  picard  polkit-qt  poppler-qt  pyqt  qca  qimageblitz  qmpdclient-git  qscintilla  qtcreator  qtop
                 qtscriptgenerator  qutim-protocol-icq-svn  qutim-protocol-irc-svn  qutim-protocol-jabber-svn  qutim-svn  silicon  smplayer-svn  soprano
                 strigi  v4l2ucp  vlc  vplayer
Conflicts With : qt4  phonon
Replaces       : qt4  phonon
Installed Size : 91544.00 K
Packager       : Unknown Packager
Architecture   : i686
Build Date     : Fri 11 Sep 2009 01:51:52 PM MSD
Install Date   : Fri 11 Sep 2009 02:34:30 PM MSD
Install Reason : Installed as a dependency for another package
Install Script : Yes
Description    : A cross-platform application and UI framework

In square brackets selected flags.
I think that it is not difficult to implement for experienced programmer. But it make great archlinux package building system more usable and comfortable. And simpler for newbies.

P.S. Very sorry for my poor english.

Offline

#2 2009-09-18 10:42:06

iceman81
Member
From: Cambridge
Registered: 2007-07-25
Posts: 59
Website

Re: Custom flags for PKGBUILD

agreed. that was also my idea

Offline

Board footer

Powered by FluxBB