[PKGBUILD] new rulez for the creation

Hi,
I'll be perhaps a new users.
I was looking for a new linux distrib, I come from slackware then freebsd, tried Gentoo for a long, but not satisfied
I'm want sources+packages, and find out that Arch could the one
I've looked to pacman, abs, etc., I've looked to some PKGBUILD, and notice there wasn't any (perhaps wrong) options that could be pass in order to modify a bit the way packages are build from sources, as it's done in FreeBSD.
I don't want something like gentoo USE flags, too much options I think, and some are not really usefull.
I've read the rules for the creating PKGBUILD, and here is my idea (sur not the only one, don't blame me if it was already discuss and rejected).
I think we can put some predefined variables within the packages, those variables are independant from the installed packages, except if they need the installation of an extra package for dependencies. (for FreeBSD users, it's exactly what is done in the ports). By default the behaviour is the one define by the maintainer.
To illustrate I've modify a bit the vim PKGBUILD :
Original :
# $Id: PKGBUILD,v 1.19 2005/06/22 02:37:09 judd Exp $
# Maintainer: judd <[email protected]>
pkgname=vim
pkgver=6.3
pkgrel=5
pkgdesc="VIM - Vi IMproved console"
url="http://www.vim.org"
depends=('glibc' 'ncurses')
backup=(etc/vimrc)
source=(ftp://ftp.vim.org/pub/vim/unix/$pkgname-$pkgver.tar.bz2
vim.patch filetype.patch)
md5sums=('821fda8f14d674346b87e3ef9cb96389' '386938c7bd7890b7d1900615f40ee9a7'
'916fd94f2546007c637ad08e88400d1a')
build() {
cd $startdir/src/vim63
patch -Np1 -i ../vim.patch || return 1
patch -Np1 -i ../filetype.patch || return 1
cd src
./configure --prefix=/usr --localstatedir=/var/lib/$pkgname
--disable-gpm --with-x=no --enable-gui=no --enable-multibyte
--enable-cscope
# --enable-perlinterp --enable-pythoninterp --enable-rubyinterp
make CPPFLAGS=-DSYS_VIMRC_FILE="/etc/vimrc" VIMRTDIR= auto/pathdef.c
make CPPFLAGS=-DSYS_VIMRC_FILE=\"/etc/vimrc\" VIMRTDIR= || return 1
make DESTDIR=$startdir/pkg VIMRTDIR= install
cd $startdir/pkg/usr/bin
ln -sf vim vi
mkdir -p $startdir/pkg/etc
cp $startdir/pkg/usr/share/vim/vimrc_example.vim $startdir/pkg/etc/vimrc
My proposal :
# $Id: PKGBUILD,v 1.19 2005/06/22 02:37:09 judd Exp $
# Maintainer: judd <[email protected]>
pkgname=vim
pkgver=6.3
pkgrel=5
pkgdesc="VIM - Vi IMproved console"
url="http://www.vim.org"
depends=('glibc' 'ncurses')
if [ ! -z $WITH_PERL ];then
depends=($depends 'perl')
fi
if [ ! -z $WITH_PYTHON ];then
depends=($depends 'python')
fi
if [ ! -z $WITH_RUGBY ];then
depends=($depends 'ruby')
fi
backup=(etc/vimrc)
source=(ftp://ftp.vim.org/pub/vim/unix/$pkgname-$pkgver.tar.bz2
vim.patch filetype.patch)
md5sums=('821fda8f14d674346b87e3ef9cb96389' '386938c7bd7890b7d1900615f40ee9a7'
'916fd94f2546007c637ad08e88400d1a')
build() {
cd $startdir/src/vim63
patch -Np1 -i ../vim.patch || return 1
patch -Np1 -i ../filetype.patch || return 1
cd src
PKGBUILDOPTIONS=""
if [ ! -z $WITH_PERL ];then
PKGBUILDOPTIONS="$PKGBUILDOPTIONS --enable-perlinterp"
fi
if [ ! -z $WITH_PYTHON ];then
PKGBUILDOPTIONS="$PKGBUILDOPTIONS --enable-pythoninterp"
fi
if [ ! -z $WITH_RUGBY ];then
PKGBUILDOPTIONS="$PKGBUILDOPTIONS --enable-pythoninterp"
fi
./configure --prefix=/usr --localstatedir=/var/lib/$pkgname
--disable-gpm --with-x=no --enable-gui=no --enable-multibyte
--enable-cscope $PKGBUILDOPTIONS
# --enable-perlinterp --enable-pythoninterp --enable-rubyinterp
make CPPFLAGS=-DSYS_VIMRC_FILE="/etc/vimrc" VIMRTDIR= auto/pathdef.c
make CPPFLAGS=-DSYS_VIMRC_FILE=\"/etc/vimrc\" VIMRTDIR= || return 1
make DESTDIR=$startdir/pkg VIMRTDIR= install
cd $startdir/pkg/usr/bin
ln -sf vim vi
mkdir -p $startdir/pkg/etc
cp $startdir/pkg/usr/share/vim/vimrc_example.vim $startdir/pkg/etc/vimrc
No modification needed to abs or pacman or anything else.
no more need, create our own PKGBUILD in order to get some usefull options, the default behaviour is still the same.
Are we allowed to do that (I've seen that the less we use vars the better it is)
I think there could be a rule to define the use of such can of vars, in order to prevent getting to much options like gentoo.
I hope I was clear, waiting for your suggestion

baptux wrote:I think if it's written as a rule, and every maintainer follow this rule, there won't be any problem nor a hudge number of options
it's just that simple! ok everyone, get to work!
baptux, this isn't going to happen.  it doesn't make sense in Arch.  I think this happens about twice a month "Hey, I found this neat feature in distro X and want to shoe-horn it into Arch!!" and then a few weeks later, that user is never heard from again.
PKGBUILDs are made to be simple and straightforward.  Can you imagine a package with, say, 20 of your "arch-flags" (you seem offended when I call them use flags, which is exactly what they are)? And what about, say, adding an "arch-flag" to vim which also requires a recompile of, say, cscope? now you get into the realm of cyclic recompiles... ok, so I want to "use" feature "Z" with vim, which requires cscope to be recompiled to support feature "Y", but feature "Y" requires perl to be installed, and also compiled with feature "Z"... it's just too complicated...
The Arch Way wrote:If you try to hide the complexity of the system, you'll end up with more complex system.
You're trying to extrapolate configuration options made by developers to a system which anyone can use like switches without knowing the full impact (i.e. USE=gtk emerge vim, ENABLE_GTK=y makepkg, etc).  This is how you get from 150 lines (xorg PKGBUILD) to 3000+ lines (xorg ebuild).
It's too impractical and goes against the standard arch mantra of simplicity and the KISS philosophy.
I'll use a real example based on the PKGBUILD you've changed: in my entire time I've been with arch, no one has ever complained "why isn't vim compiled with option X??" people who cared (like myself) simply used abs to get the PKGBUILD, added "--enable-pythoninterp" at the right place and ran "makepkg -i" - problem solved... no wacky "arch-flags", no excess work on the package maintainers... it's simple, and simplicity rules here

Similar Messages

  • Request for the creation of a new Unemployment account for tax

    Hi Guys,
    This is a question with regard to US tax. We have received a request for the creation of a new Unemployment account for the payment of taxes. This is because the account assignment number has changed for a particular company code in Tennassee state. Please let me know where this change could be made in SAP.
    Thanks,
    Subbaiah

    Subbaiah,
    Table T5UTL is used for New Tax Company Codes. If this is a new legal entity, youu2019ll need to set up the Tax Company here. Youu2019ll also need to assign at least one Personnel Area to this new Tax Company. This must be established in order to update the next table shown below, but only if itu2019s a new legal entity. The user will know.
    Table T5UTH is for establishing the account number to be used in BSI. It must be established in order to update the next table shown below.
    Table T5UTI is for assigning account numbers by Tax Company Code. Youu2019ll need one for Tax Authority TN, Tax Type 10. The user will need to supply this information to you.
    Table BTXRATE will need to be updated with the Tax Company Code, year, and the State Unemployment Insurance rate & taxable wage amount.
    Once this is done, youu2019ll need to update BSI.
    If Tennessee is a new state, youu2019ll have work to do with the tax models.
    Regards,
    Howard

  • Approval procedure for the creation of a new item

    I would like to have an approval procedure for the creation of new items. In that when one gets added, it gets placed on hold immediately and an alert gets sent to a manager.
    thx, Richard

    The solution would be the combination of SBO_SP_TransactionNotification stored procedure allowing only for some authorized persons to add an item with not ‘On Hold’ status, and an alert to the authorized persons.

  • Error while maintaining the Update Rules for the Infostructure

    Hi,
    I have added 2 new characteristics for the existing infostructure S9xx and executed the same. While maintaining the Update Rules for the same, system is giving the error message 1. "Field 'PARVW' unknown" and 2. Error generating program RMCX0011.
    Please guide me in resolving the issue.
    Thanks & Regards,
    Kumar.

    Hi,
    This is with reference to my earlier question that an error is occuring while maintaining the update rules for the existing Infostructure.
    Solution provider for this will be rewarded with good points.
    Regards,
    Kumar.

  • New Look For the HP Support Forum!

    On December 1st, we will launch a new layout for the community. The new layout will not change the underlying functionality of the community. All of the boards and features that you use will remain unchanged. The new layout was specifically created to incorporate community feedback about the navigation and display.
    Here are some of the highlights:
    The community pages are less complex and easier to navigate
    Buttons are now easier to find because they are brightly colored. 
    A new modular approach gives us greater freedom to launch improvements more quickly.
    Here’s a sneak peek at some of the updated community pages.
    New, expandable category menus reduce home page clutter and give us more room to add information to assist and showcase the members of the HP Consumer Support community:
    The Best of the Community blog is now located in an expandable menu the top of every community page:
    Here is an FAQ thread that will guide you through many actions that have been slightly tweaked; processes like editing your user information and uploading images has been simplified.
    There will also be a Temporary Feedback board created for you to post feedback about the layout. The layout change is the first step in an ongoing process to improve the community. We hope you enjoy the new layout and encourage your feedback.
    I work for HP, supporting the HP Experts who volunteer their time and technical knowledge to help others.
    --Say "Thanks" by clicking the Kudos Star in the post that helped you.
    --Please mark the post that solves your problem as "Accepted Solution"

    Hi m5brokenlaptop,
    No one can see your profile information except for you.  Any information like your name and personal email are hidden from regular users.
    Thanks,
    SunshineF
    Clicking the "Kudos star" to the left is a great way to say thanks!
    When your problem has been solved, accept the solution by clicking the "Accept as Solution" button to help other members in the future!
    Rules of Participation

  • Errors with the global conversion rule for the field 0SOURSYSTEM.

    Hello Gurus,
        We are implementing CRM Activities. I enhanced the data source and when I add new info objects to 0SAL_DS01 DSO and trying to activate I'm getting there errors. Can some one please help me out in this problem?
    Error in global conversion rule for InfoObject 0SOURSYSTEM
    Message no. RSAR263
    Diagnosis
    Errors with the global conversion rule for the field 0SOURSYSTEM.
    System Response
    The function module delivers the following error message:
    Field "" is unknown. It is neither in one of t
    Procedure
    Check the definition of the global conversion rule for an InfoObject
    What does this error mean? We are using BI 7.
    Thanks
    RKR

    I have around 9 source systems, do I have to maintain data for all of them for 0SOURCESYSTEM?
    I set data for CRM system and then tried to activate.. but still I'm getting same error.
    I;m getting this warning too...
    InfoObject 0FISCVARNT needs to be in key for DataStore object C_0SAL_D
    Message no. RSDODSO123
    Diagnosis
    Characteristic 0FISCVARNT is included in the data part of ODS object C_0SAL_D.
    System Response
    The fiscal year variant cannot be used in the update rules for calculating business hour characteristics.
    Does this matter???
    Thanks
    RKR
    Message was edited by:
            RKR M

  • How to set the default settment rule for the same kind project.

    hi experts:
       the project of the same kind of the project profile have the same settment rule to one account (G/L).
    how to set the default settment rule for the project of  this kind of the project profile.
    regards

    Hi,
      You need to define the settlement profile and allocation structure.
    next you need to define the  Strategy for settlement rule.
    navigation-PS> costs> automatic and periodic allocations> settlement> Settlement rule for WBS
    --> Define strategy for settlement rule.
    Select the strategy and click on settings. in that new entries, check the Acc Assg element, enter Settlement profile and mention accass category as reposnsible cost center.
    Save this transaction.
    Now create a project assgin responsible costcenter for the WBS element in the project buider and save the transaction.
    Now run CJB2 transaction for the project, settlement rule will generated automatically.
    even you can configure the same for profitability segment.
    Rgds
    Sudhir Reddy

  • SPRO settings for the Creation of treatment codes.

    Hi Experts,
    Let us know SPRO settings for the creation of the new treatment codes and suggest us where it can be checked once created eg. Sales order,Delivery,Invoice.
    Regards,
    harmesh

    Hi
    What is Treatment Code??
    If you mean Sales Order / Delivery / Billing Document Type then you may follow the below path in SPRO :-
    Order :- IMG> Sales and Distribution>Sales > sales Document>Sales Document header(VOV8)
    Delivery :- IMG--> Logistics Execution > Shipping>Deliveries --> Define delivery Type (0VLK)
    Billing :- IMG --> Sales & Dist. > Billing> Billing Document--> Define Billing type (VOFA)
    Regards
    Amitesh Anand

  • Create a new rule for printing form to use in time statement form

    Hello,
    we need to print an information on time statement form in dependence of a special substitution. Is there any possibility to create a new rule for printing form to use in time statement form? I can't find any information about this.
    Thanks for your help.
    Regards,
    Daniela

    Yes, I've tried this, but I get the error message:
    Form class TEDT can only be displayed with this editor.
    What am I doing wrong? Do I have to create a customer form class and assign a customer time statement form?
    Thanks for your information.
    Regards,
    Daniela

  • How do I create a new window for the iTunes store?

    Hi,
    I have the latest iTunes update on a Windows PC, but I can't seem to open any new windows for the iStore like you used to be able to, so you have to come out of your iTunes library (annoying if you want to check that you haven't already purchased a song you're looking at etc.).
    Please tell me there is a fix (easy or difficult) for this!!
    Matt
    P.s. I have the latest iTunes update.
    PLEASE HELP!!!!

    Reboot the ATV and try it again. If it still won't play correctly, find the file in your iTunes store purchase history, click on the "Report a Problem" link, and report it to iTunes store support.

  • How do I create a new calendar for the current year, using last years calendar's birthday's/photos and comments from the lower pages?

    Each year for the past 5 years I make a family calendar and send copies to all he family members around the globe.  I hate that I have to recreate all the birthdays and special occasions from scratch, and re-drag all the photos onto these dates, in the lower half of the page of each month on the new calendar.  How can I create a new calendar for the current year and port all of these photos/comments into the new calendar from last years calendar, to save having to redo all this work!!  I am not talking about the upper half page of the photos only...I am referring to the calendar page of each month.
    Thanks in advance. 
    Colin

    Welcome to the Apple Discussions. Open iWeb so you see your original site in the left hand pane. Use the File->New Site menu option to create a new site. Give it the name you want.
    Now select a page in your original site and type Command+D. That will duplicate the page. Drag the duplicate page down to the new site and rename it as needed. Do that for the other pages you need in the original site.
    OT

  • How can I activate the transfer rules for the ODS updating a data target.

    We are on BW 3.5 and I'm loading data into the 0FIGL_O10 ODS  and then uploading the data into the cube 0FIGL_C10. The data loads just fine to the ODS but when I try to <u><b>'update the data target'</b></u> I get a date & time stamp' error on the info-package transfer rules.
    I then Replicate the datasource 80FIGL_O01.
    I must then <u><b>'activate' the transfer rules</b></u>.
    However I cannot get the transfer rules for 80FIGL_O10 in CHANGE MODE to activate them.
    How can I activate the transfer rules for the ODS updating a data target.
    The error text is as follows:
    DataSource 80FIGL_O10 has to be replicated (time stamp, see long text)
    Message no. R3016
    Diagnosis
    DataSource 80FIGL_O10 does not have the same status as the source system in the Business Information Warehouse.
    The time stamp in the source system is 02/15/2007 10:42:33.
    The time stamp in the BW system is 11/07/2006 13:11:54.
    System response
    The load process has been terminated.
    <b>Procedure
    Copy the DataSource again and then activate the transfer rules that belong to it. You have to activate the transfer rules in every case, even if they are still active after the DataSource has been copied.</b>
    Thanks for your assistance.
    Denny

    Hi Dennis,
           Try, using Business Content to activate your data source
           hope this will help you
    How activate business content?
    http://help.sap.com/saphelp_nw04/helpdata/en/80/1a66d5e07211d2acb80000e829fbfe/frameset.htm

  • How do I add another Iphone to my laptop?? I have creadted a new user for the other Iphone however it wont let me sync to the new user??? HELP

    How do I add another Iphone to my laptop?? I have creadted a new user for the other Iphone however it wont let me sync to the new user??? PLEASE HELP

    Never mind, disregard.  I went in and reset my password to my AirPort Express, and for some reason, it then went through, and is all working and good.

  • HT4623 I have an ipad3, iPhone3gs and iPhone5, my problem is my apple ID works all 3 devices but I need a second ID for the iPhone 5. How do I delete my ID and set up a new one for the iPhone5 but keeping my own apple ID for the iPad and iPhone 3GS

    I have an ipad3, iPhone3gs and iPhone5, my problem is my apple ID works all 3 devices but I need a second ID for the iPhone 5. How do I delete my ID and set up a new one for the iPhone5 but keeping my own apple ID for the iPad and iPhone 3GS.

    http://support.apple.com/kb/he37

  • How to add a new tab for the project?

    Dear All Experts,
        Could you tell me how to add a new tab for the project?
        Pls refer to the screenshot as below:
    Thanks!
    Xinling Zhang

    Hi,
        The new tab in cj20n , and the new tab can only be displayed in the highed level.Pls refer to below
        And in cj02, there is no this tab also in the wbs detailed screen,
    Thanks!
    Xinling

Maybe you are looking for