Silly makepkg.conf question

Does makepkg.conf dictate "make" behavior as well as "makepkg" behavior ?
For instance if I use MAKEFLAGS="-j3" will I be able to benefit from it using regular "make" ?

Cerebral wrote:
Well, if you want default CFLAGS and CXXFLAGS you can just set them before the alias:
export CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer"
export CXXFLAGS=${CFLAGS}
alias make='make -j3'
That would work as well.
Ah, brilliant, thank you. There's what I was looking for. I am assuming that this should work whether I put it in /etc/profile or ~/.bashrc. (I only have 1 user and root.)

Similar Messages

  • Question about optimizing packages int Makepkg.conf

    I edited my Makepkg.conf file so that it knows that I have a Intel Core 2 Duo. Do I need to rebuild any packages? How do I go about it if I do?

    Ranguvar wrote:
    SkonesMickLoud wrote:
    slughappy1 wrote:Isn't prescott the right config for an Intel Centrino Core 2 Duo? That's what the guide says. Although, I once tried to install Gentoo. I think I remember that someone told me that prescott is just the current form, and that for the core 2 duo it was going to change. Or something like that
    Prescott is for the i686 version, Nocona is for x86_64.
    Note that this is, I'm pretty sure, independent of what architecture your OS is running (32-bit vs 64-bit).
    Yeah.  What I meant was that if you're running i686 on your Core2Duo it's a Prescott.  If you're running x86_64, it's a Nocona.

  • Override CFLAGS and CXFLAGS from /etc/makepkg.conf [solved]

    This might be a stupid question, but here goes: if I redefine variables such as CFLAGS and CXXFLAGS from within a PKGBUILD, any subsequent make would use the new ones rather than the ones defined in /etc/makepkg.conf ...right?  I'm assuming that makepkg reads them once when the user invokes it.
    Thanks.
    Last edited by graysky (2011-01-15 11:58:58)

    Thanks.  I looked at /usr/bin/makepkg and I believe this is the case, but I don't know of a way to check after I compile them.  Is there some place I can look within the final NAME.tar.xz to see which CFLAGS were used?  (Again, I think the answer here is "no").

  • USE_COLOR In /etc/makepkg.conf

    OK, I'll bite. What file provides the controlling ANSI color sequences to the output once someone has set USE_COLOR to (y) in /etc/makepkg.conf and runs makepkg? I've looked around a bit in the /etc directory for logical suspects but can't find anything that makes sense.
    jlowell

    Just so anyone can know the answer to the question I raised here about USE_COLOR in makepkg, the governing file for the ANSI sequences is /usr/bin/makepkg.
    jlowell

  • [solved] Editing makepkg.conf (x86_64)

    Hello everyone,
    I just set up my first Arch 64bit-system, so I want get to know its abilities and advantages a bit better for my everyday work.
    Before installing any more stuff, I'm actually editing makepkg.conf, because I'd like to have the CPU usage optimzed, though I don't expect any significant performance boost -- I just want to learn about it and then use it. So far I read the specific Wikis Arch, Gentoo, and of course the Arch64 FAQ. -- However, tuning this file would only affect compiling PKGBUILDs from the AUR, or from other sources, because I'll mostly use the precompiled packages as they are, I suppose.
    The CPU is a Xeon Kentsfield, looking like an early "quad-core, appearing as a single core" to me:
    Wikipedia wrote:Intel released relabeled versions of its quad-core (2x2) Core 2 Quad processor as the Xeon 3200-series (,,,), these models only support single-CPU operation ...
    Four processors are found anyway:
    # cat /proc/cpuinfo
    processor : 0
    model name : Intel(R) Xeon(R) CPU X3210 @ 2.13GHz
    physical id : 0
    siblings : 4
    core id : 0
    cpu cores : 4
    processor : 1
    physical id : 0
    siblings : 4
    core id : 2
    cpu cores : 4
    processor : 2
    physical id : 0
    siblings : 4
    core id : 1
    cpu cores : 4
    processor : 3
    physical id : 0
    siblings : 4
    core id : 3
    cpu cores : 4
    So I wonder: how would this quad-or-no-quad appear or have to be adressed in a (desktop) system monitor -- as 1, 4 or even 2 (as it also a "2x2") CPUs?
    The related section of my makepkg.conf actually reads:
    CARCH="x86_64"
    CHOST="x86_64-unknown-linux-gnu"
    CFLAGS="-march=native -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
    CXXFLAGS="${CFLAGS}"
    #MAKEFLAGS="-j2"
    Well, I admit that I'm not sure that I got everything in details. But I guess with this I'd be able to use any PKBGUILD in the AUR (or provide my own that others could use without risk), right?
    Last, what about the MAKEFLAGS? The wiki says,
    Typically -j2, plus 1 for each additional core/processor is an adequate choice.
    If the Xeon is a "real" quad-core (see above), it should rather be
    MAKEFLAGS="-j5"
    as in this case there are three additional cores, right?
    Last edited by cameo (2012-08-19 23:56:24)

    I see.
    Alternatively, for i686 compiling on this very machine I probably must get to grips with this stuff (if I'm not mixing something up); well, that's a future plan.
    Thanks very much anyway.
    Hm, regarding that system monitoring matter, I've just a feeling, different programs could just use different hooks for showing the processor loads. I mean if that Xeon is physically a quad, but "acting" like a single, some could maybe show just 1 CPU, and others 4. -- Since my topic here is mainly about editing makepkg.conf, I'd better discuss this in detail in another thread later, if necessary. (But of course, if somebody has got some information about this, please let me know.)
    Seems to me, there's nothing more for me to question here then, so I'll mark this as solved.

  • [solved] makepkg.conf + local path

    Hi!
    I would like to create two packages that are needed to run my printer (canon).
    From the canon website, after long passages, I downloaded two .tar.gz  packages with the necessary sources.
    From wiki, I refer to the page that explains how to create the PKGBUILD, I realized that you can
    also specify a local directory as url to find the source package.
    To do this, however, you must edit the file makepkg.conf.
    The question is: how do I change the file makepkg.conf?
    Thank you!
    Last edited by trevi (2011-12-29 15:19:55)

    Just put the tarball names in the source= array, put the tarballs and PKGBUILD in the same dir, and run makepkg in that dir. No need to edit makepkg.conf.

  • Makepkg.conf the same as make.conf

    Simple question really, is makepkg the same as make? If I add in CFLAGS will they be used when compiling packages from source or does makepkg just work when using makepkg.

    makepkg is for compiling from source but the settings from makepkg.conf won't be used if you run
    ./configure && make && make install
    by hand (and it doesn't create an Arch package), they are used when you run 'makepkg'.
    'less /usr/bin/makepkg' will show you what 'makepkg' is.
    From the wiki: https://wiki.archlinux.org/index.php/Makepkg
    makepkg is a script that automates the building of packages; it can download and validate source files, check dependencies, configure build-time settings, compile the sources, install into a temporary root, make customizations, generate meta-info, and package everything together.
    Last edited by karol (2011-07-04 20:21:27)

  • Error after editing makepkg.conf

    As the topic, I have edited my makepkg.conf in order to build via abs according to my cpu. When I try to run makpkg -csi on a pkgbuild i get this error:
    ==> ERROR: openbox is not available for the '' architecture.
    Note that many packages may need a line added to their PKGBUILD
    such as arch=('').
    (there is nothing wrong with the pkgbuid in question).
    My modified makepkg.conf looks like this:
    # /etc/makepkg.conf
    # SOURCE ACQUISITION
    #-- The download utilities that makepkg should use to acquire sources
    # Format: 'protocol::agent'
    DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3'
    'http::/usr/bin/wget -c -t 3 --waitretry=3'
    'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate'
    'rsync::/usr/bin/rsync -z'
    'scp::/usr/bin/scp -C')
    # Other common tools:
    # /usr/bin/snarf
    # /usr/bin/lftpget -c
    # /usr/bin/curl
    # ARCHITECTURE, COMPILE FLAGS
    CHOST="x86_64-pc-linux-gnu"
    CFLAGS="-march=athlon64 -O2 -pipe"
    CXXFLAGS="${CFLAGS}"
    MAKEFLAGS="-j3"
    #-- Exclusive: will only run on -march=x86-64
    # -march (or -mcpu) builds exclusively for an architecture
    # -mtune optimizes for an architecture, but builds for whole processor family
    #-- Make Flags: change this for DistCC/SMP systems
    #MAKEFLAGS="-j2"
    # BUILD ENVIRONMENT
    # Defaults: BUILDENV=(fakeroot !distcc color !ccache !xdelta)
    # A negated environment option will do the opposite of the comments below.
    #-- fakeroot: Allow building packages as a non-root user
    #-- distcc: Use the Distributed C/C++/ObjC compiler
    #-- color: Colorize output messages
    #-- ccache: Use ccache to cache compilation
    #-- xdelta: Generate delta patch from previous to current package
    BUILDENV=(fakeroot !distcc color !ccache !xdelta)
    #-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
    #-- specify a space-delimited list of hosts running in the DistCC cluster.
    #DISTCC_HOSTS=""
    # GLOBAL PACKAGE OPTIONS
    # These are default values for the options=() settings
    # Default: OPTIONS=(strip !docs libtool emptydirs)
    # A negated option will do the opposite of the comments below.
    #-- strip: Strip symbols from binaries/libraries
    #-- docs: Save doc and info directories
    #-- libtool: Leave libtool (.la) files in packages
    #-- emptydirs: Leave empty directories in packages
    OPTIONS=(strip !docs libtool emptydirs)
    #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
    INTEGRITY_CHECK=(md5)
    #-- Info and doc directories to remove (if option set correctly above)
    DOC_DIRS=(usr/{,share/}{info,doc,gtk-doc} opt/*/{info,doc,gtk-doc})
    # PACKAGE OUTPUT
    # Default: put built package and cached source in build directory
    #-- Destination: specify a fixed directory where all packages will be placed
    #PKGDEST=/home/packages
    #-- Source cache: specify a fixed directory where source files will be cached
    #SRCDEST=/home/sources
    #-- Source root: specify location where PKGBUILDs are located for '--builddeps'
    #SRCROOT=/home/pkgbuilds
    #-- Packager: name/email of the person or organization building packages
    #PACKAGER="John Doe <[email protected]>"
    # BUILDSCRIPT/EXTENSION DEFAULTS
    # WARNING: Do NOT modify these variables unless you know what you are
    # doing.
    BUILDSCRIPT='PKGBUILD'
    PKGEXT='.pkg.tar.gz'
    SRCEXT='.src.tar.gz'
    DB_COMPRESSION='gz'
    DB_CHECKSUMS=(md5)
    # vim: set ft=sh ts=2 sw=2 et:
    ps. I have an amd athlon 64 x2.

    You are missing the CARCH- field(?). Add
    CARCH="x86_64"
    into your makepkg.conf (it's above CHOST by default).

  • Enabling -fstack-protector-strong in makepkg.conf?

    A little more than a year ago Google submitted a patch which added a -fstack-protector-strong option which was intended to strike a balance between -fstack-protector (used in Arch) and -fstack-protector-all which was considered too computationally expensive for google's chromiumos.  All of these options introduce measures to protect compiled programs against stack overflow attacks to varying degrees of security and performance.
    This google doc sums up what the new flag introduces: https://docs.google.com/document/d/1xXB … t?hl=en_US
    My recently installed default /etc/makepkg.conf shows -fstack-protector (not -strong) in CFLAGS.  Is there a specific reason that it has not yet been implemented in Arch, or has it simply just "not happened" yet? 
    Fedora 20 is now using -fstack-protector-strong.  After some searching I couldn't find anything here or on the arch bugtracker which discusses the new option.  I should add that I am by no means well-versed in security and this is something I would like to know more about.
    Last edited by oboenerd (2013-12-08 03:13:19)

    This is something that should be brought up in the bug tracker I think.  Though, interestingly this is not documented in the gcc man page nor the gcc info page.
    Edit: I didn't follow your links, but I do remember reading about this.  It would seem that this functionality has not been merged, as trying to use -fstack-protector-strong fails with:
    gcc: error: unrecognized command line option '-fstack-protector-strong'
    Last edited by WonderWoofy (2013-12-08 03:54:56)

  • Not all PKGBUILDS use makepkg.conf

    When bulding some packages (smplayer-svn, arora-git, qtscriptgenerator-git, qmpdclient - that's what i notticed) makepkg.conf doesn't influence.
    For example for smplayer-svn I have:
    g++ -c -m64 -pipe -march=x86-64 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DDOWNLOAD_SUBS -DDATA_PATH=\"/usr/share/smplayer\" -DDOC_PATH=\"/usr/share/doc/packages/smplayer\" -DTRANSLATION_PATH=\"/usr/share/smplayer/translations\" -DTHEMES_PATH=\"/usr/share/smplayer/themes\" -DSHORTCUTS_PATH=\"/usr/share/smplayer/shortcuts\" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include -Ifindsubtitles -Ivideopreview -Impcgui -Ifindsubtitles/filedownloader -Ifindsubtitles/quazip -I.moc -I.ui -o .obj/prefinterface.o prefinterface.cpp
    while in makepgs.conf:
    me$ cat /etc/makepkg.conf | grep -A 1 CFLAGS
    CFLAGS="-march=amdfam10 -O2 -pipe"
    CXXFLAGS="-march=amdfam10 -O2 -pipe"
    where is the trick? Arch x86_64 with testing repo enabled.
    P.S. maybe I'm wrong but they all use qmake for makefiles generation.
    Last edited by vit (2009-05-19 19:26:45)

    AUR pks mainteners often disables some makeflags to maintain compatibility look for options=('!makeflags') line - "!" sign before makeflags disables user-set makepkg.conf makeflags.

  • BUILDENV in new makepkg.conf is lowercase!

    I just discovered after upgrading to the new pacman that in the new makepkg.conf, BUILDENV=(foo) is actually buildenv=(foo).
    I kept getting these warnings about having fakeroot in the BUILDENV list. After being really confused I realized why it wasn't working, I vimdiffed my old one to see what the problem was.
    Just a heads up for anyone else that has this problem.

    I don't know why your BUILDENV was lowercase, but I doubt it was via pacman.. I don't see that typo in any of the revisions, nor in the pacnew files on my 2 Arch systems.
    i686 makepkg.conf revs
    x86_64 makepkg.conf revs

  • LDFLAGS in /etc/makepkg.conf

    Will adding
    export LDFLAGS="-Wl,-O1 -Wl,--sort-common -s
    to /etc/makepkg.conf, enable compilation with those flags when makepkg is executed?

    nightfrost wrote:
    Will adding
    export LDFLAGS="-Wl,-O1 -Wl,--sort-common -s
    to /etc/makepkg.conf, enable compilation with those flags when makepkg is executed?
    not all the time... it will in most though...
    however, some Makefiles don't pickup external CFLAGS/LDFLAGS, so you will see some sed usage to insert the CFLAGS... you'd have to do the same for LDFLAGS there too...
    I'd also add the --as-needed flag to those if you're recompiling something like KDE/gnome

  • I'm missing makepkg.conf

    Well, I accidentally deleted /etc/makepkg.conf, and I don't find a sample anywhere. How do I generate a new one?

    You can also grab https://projects.archlinux.org/svntogit … ges/pacman but I think you have to edit
    CARCH="@CARCH@"
    CHOST="@CHOST@"
    etc. to e.g.
    CARCH="i686"
    CHOST="i686-pc-linux-gnu"
    by hand.

  • NEEDED? makepkg.conf.pacnew and/or yaourt-git: WARNING: Unable to copy

    Hi....
    ISSUE:  when I try to install CERTAIN things via yaourt on my up to date system.
    At the end of the yaourt process I will sometimes get  the:
    ==> WARNING: Unable to copy WHATEVER PACKAGE to /tmp/ directory
    I'm pretty sure I deleted  makepkg.conf.pacnew.
    I am certain to have gone through the big 3.2 pacman upgrade a while back.
    I assumed the pacnew was a pacsave ...I guess.... can't assume of course.
    The only post I could find was this one...
    http://bbs.archlinux.org/viewtopic.php?id=53040
    As I very likely threw out the    makepkg.conf.pacnew
    and missed the merge thing.... could someone post it... or tell me the fix....
    OTHER FIX/ISSUE I READ ABOUT:
    yaourt-git needed instead of the release version ????
    I'm not at all sure if I need yaourt-git and the doing of the recommended MERGE with the   makepkg.conf.pacnew and the old one.
    After this gets resolved I will hopefully add t omy knowledge of AUR usage... and add the other install techniques!!  great!
    thanks!!!!!!!!
    Last edited by yvonney (2009-01-24 08:50:36)

    anonymous_user wrote:Pacman is 4.1 is not released yet. The wiki is just telling you about the new feature in the next pacman.
    I see, but I do not understand why I already encounter PKGBUILDs written with the aforementioned "style".
    For instance, giving a look to pacman-git, I find:
    source=(git://projects.archlinux.org/pacman.git)
    sha1sums=('SKIP')
    pkgver() {
    cd pacman
    git describe | sed 's/^v//;s/-/./g'
    build() {
    cd "pacman"
    ./autogen.sh
    ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --enable-doc \
    --enable-git-version \
    --enable-debug \
    --with-scriptlet-shell=/usr/bin/bash \
    --with-ldconfig=/usr/bin/ldconfig
    make
    make -C contrib
    As I said, my makepkg cannot handle that source and there is not an official way to fix it, apparently.

  • Alternate makepkg.conf?

    Is it possible to force makepkg to use an alternative makepkg.conf file, which would have different flags?

    I'm guessing you can override /etc/makepkg.conf with options in ~/.makepkg.conf since both are listed in the manpage:
    /usr/local/etc/makepkg.conf, ~/.makepkg.conf

Maybe you are looking for