Setting build folder using ~/.makepkg.conf

Until recently, I manually downloaded source tarballs from the AUR or copied folders out of my abs tree into my ~/build directory. I recently switched to packer and pacbuilder and these tools by default build in their temporary directories. However, I can't seem to configure them to my liking. The problem is I do not want the src directories to be deleted every time because I build a few devel packages from git and svn and downloading those whole everytime you update them would be a PITA on my connection. It would kinda beat the purpose as well. Right now I have
BUILDDIR="/home/$USER/build/temp"
SRCDEST="/home/$USER/build/sources"
With that setup however, devel packages lose their repositories every time.
Edit: Wait, I think my setup actually works as intended. Please don't investigate this.
2nd edit: I think what confused me is that pacbuilder enforces the usage of /tmp if I understand /usr/bin/pacbuilder correctly. Can someone confirm this?
Last edited by IncredibleLaser (2013-01-01 14:05:11)

Until recently, I manually downloaded source tarballs from the AUR or copied folders out of my abs tree into my ~/build directory. I recently switched to packer and pacbuilder and these tools by default build in their temporary directories. However, I can't seem to configure them to my liking. The problem is I do not want the src directories to be deleted every time because I build a few devel packages from git and svn and downloading those whole everytime you update them would be a PITA on my connection. It would kinda beat the purpose as well. Right now I have
BUILDDIR="/home/$USER/build/temp"
SRCDEST="/home/$USER/build/sources"
With that setup however, devel packages lose their repositories every time.
Edit: Wait, I think my setup actually works as intended. Please don't investigate this.
2nd edit: I think what confused me is that pacbuilder enforces the usage of /tmp if I understand /usr/bin/pacbuilder correctly. Can someone confirm this?
Last edited by IncredibleLaser (2013-01-01 14:05:11)

Similar Messages

  • Building package using makepkg does not resolve dependency for another

    I am trying to install yaourt from the AUR. Yaourt required that package-query be installed, and this package further required another, etc.
    In short, package-query required yajl, which I downloaded from the AUR. This package does not actually have a PKGBUILD, but rather un-tars into a file that you need to merge with /usr. After doing so I tried to make the package-query package but was still met with a dependency discrepancy. Luckily, yajl was available in the official repositories (same version). After using pacman to install it everything went fine and package-query built and installed fine.
    When I went to build yaourt, using makepkg, it failed and informed that I was missing a dependency, package-query.
    So, in short, is there a registry or something that keeps track of these installed packages? I imagine that when running makepkg there is a query against installed packages to see if you meet the dependency requirements. What can I do to build yaourt in this situation?
    Last edited by sherrellbc (2014-06-08 18:37:19)

    cower doesn't have any dependencies that are not in the official repositories.  It doesn't build packages automatically, but it will download the source tarballs and unpack them for you.  It can also handle dependencies with the official repos and the AUR. 
    So for example, if you were to do cower -dd yaourt it would tell you that gettext, diffutils, and pacman are in the official repos.  Then it would download the source tarball for package-query and resolve all of its dependencies.  And it would download the yauort source tarball and unpack that for you.  So it gives you an idea of what depends on what and in which order you should build and install.
    But you really just shouldn't use yaourt.  Many of the upgrade issues that arise on these forums stem from people using yaourt (particularly those who blindly run yaourt -Syua).  The pacaur I mentioned above is a bash script that wraps cower.  So it too should be able to be built and installed without having to resolve other AUR dependencies.
    Edit:
    But none of this is really answering the question though. When I make a package from the AUR, the dependency requirement when trying to install another package is never met. That is, if package A requires B and I then installed B (from the AUR), when I try to make A again it still informs me that B was never installed.
    If this is the case, then you really don't know how to properly use the AUR, and thus should be reading up on that rather than trying to work around it with an AUR helper.
    Last edited by WonderWoofy (2014-06-08 19:18:47)

  • 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.

  • Makepkg.conf: Stripping /usr/local Docs Out Of Builds?

    Trying to strip out '/usr/local/gtk-doc/html' out of builds without resorting to 'without-html-dir'. Tried the following individually within makepkg.conf with no effect:
    OPTIONS=(!docs)
    DOC_DIRS=({usr{,/local}{,/share},opt/*}/{doc,gtk-doc}
    DOC_DIRS=({usr{,/local}{,/share},opt/*}/{doc,gtk-doc{,/html}}
    DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
    DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc{,/html}} opt/*/{doc,gtk-doc{,/html}})
    All fo the above appear to echo properly. No options=() within any PKGBUILD files I am testing. How to strip '/usr/local/gtk-doc/html'  out of builds using makepkg.conf (would rather not add an 'rm' statement to each and every PKGBUILD)?
    Last edited by adamlau (2009-03-29 21:43:48)

    Correct. This is my /etc/makepkg-git.conf (makepkg.conf backed up and removed from /etc):
    DLAGENTS=('ftp::/usr/bin/wget -c --passive-ftp -t 3 --waitretry=3 -O %o %u'
    'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u'
    'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
    'rsync::/usr/bin/rsync -z %u %o'
    'scp::/usr/bin/scp -C %u %o')
    CARCH="i686"
    CHOST="i686-pc-linux-gnu"
    CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
    CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
    LDFLAGS="-Wl,-O1,--as-needed,--hash-style=gnu"
    #MAKEFLAGS="-j2"
    BUILDENV=(fakeroot !distcc color !ccache !xdelta)
    OPTIONS=(strip !docs !libtool !emptydirs zipman purge)
    INTEGRITY_CHECK=(md5)
    MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
    DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
    STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin})
    PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
    PKGEXT='.pkg.tar.gz'
    SRCEXT='.src.tar.gz'

  • How to set  newer version of stored pages option as never using  httpd.conf

    How to set check for newer version of stored pages option(Tem Internet file-> Setting ) as never using httpd.conf file?

    See:
    *http://kb.mozillazine.org/browser.cache.check_doc_frequency
    To open the <i>about:config</i> page, type <b>about:config</b> in the location (address) bar and press the "<i>Enter</i>" key, just like you type the url of a website to open a website.<br />
    If you see a warning then you can confirm that you want to access that page.<br />
    *Use the Filter bar at to top of the about:config page to locate a preference more easily.
    *Preferences that have been modified show as bold(user set).
    *Preferences can be reset to the default or changed via the right-click context menu.

  • Can I set CFLAGS="-march=broadwell" optimizations in /etc/makepkg.conf

    Hi
    does the Arch Build System allow the new compiler optimizations
    -march=broadwell
    to be set as CFLAGS and CXXFLAGS in /etc/makepkg.conf?
    I recently installed Arch on a machine having this processor (an Intel Broadwell NUC) and I was wondering if I should change CFLAGS from the generic "x86-64" to the more specific broadwell setting. As far as I understood gcc > 4.9 does support this.
    What else needs to be adjusted in Arch in order to use this optimizations?
    Thanks
    gen2arch

    Thanks everyone for your input!
    graysky: actually the linux kernel is exactly the package in view of which I was looking into the Arch Build System; having come over from gentoo, I thought it would be a good idea to streamline the generic arch kernel and, in the process, apply processor specific optimizations. So your point that precisely the kernel doesn't honor these settings is indeed very helpful!
    Against which sources do I have to apply your patch: actually, where can I download the source package of Arch linux' own kernel build?
    Thanks again
    gen2arch

  • How can I open a local folder using flash builder or AS3?

    I need to open a local folder get the zip file and unzip it.
    I know that i cannot open a folder using flash builder, i did it using air app. now i do not know how do i integrate it with my flex program.
    Please help me with this issue.
    Thanks

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script source="Asset/folder.as" />
    <mx:Button x="10" y="10" label="My Button" width="122" height="31" id="myButton" click="folder()"/>
    <mx:ComboBox x="10" y="49" id="cbobx" dataProvider="{}"  ></mx:ComboBox>
    </mx:Application>
    and .as code is:
    // ActionScript file
    import flash.display.*;
    import flash.events.*;
    import flash.net.FileFilter;
    import flash.net.FileReference;
    import flash.net.FileReferenceList;
    import mx.controls.Alert;
    import mx.controls.ComboBox;
    private var fr:FileReferenceList;
    private var cmbobx:ComboBox = new ComboBox();
        private function folder():void
    fr = new FileReferenceList();
    fr.browse([new FileFilter("Zip Files", "*.zip")]);
    fr.addEventListener(Event.SELECT, listZipFiles);
    private function listZipFiles(e:Event):void
    Alert.show("selectHandler: " + fr.fileList.length + " files");
            var fls:Array = new Array();
            var file:FileReference;
            for (var i:uint = 0; i < fr.fileList.length; i++)
                file = FileReference(fr.fileList[i]);
                //Alert.show("File Name: " + fr.fileList[i]);
                Alert.show("File Name: " + file.name);
                fls.push(file);
                cmbobx.selectedItem = fls;
    private function getShpFiles(event:MouseEvent):void

  • 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).

  • Problems with Yaourt and makepkg.conf

    Hi all,
    So, I've recently switched all the way over to Arch Linux after playing around with it for some time.  And it's been great!  I am very glad I did it. 
    I've been using yaourt to install all of my humble indie bundle games, and it's been going well until I tried to install mark of the ninja. 
    Every time I try to install ANYTHING on yaourt now, I get these types of error messages:
    [nicholas@nicholas ~]$ yaourt -s markoftheninja-hib
    1 aur/markoftheninja-hib 1.38+h20131002-1 (4)
        Mark of the Ninja, a side-scrolling stealth game (Humble Bundle version)
    ==> Enter n° of packages to be installed (ex: 1 2 3 or 1-3)
    ==> -------------------------------------------------------
    ==> 1
    /etc/makepkg.conf: line 89: for: command not found
    ==> Downloading markoftheninja-hib PKGBUILD from AUR...
    x markoftheninja-hib.desktop
    x PKGBUILD
    markoftheninja-hib 1.38+h20131002-1  (Wed Sep 11 20:25:29 EDT 2013)
    ( Unsupported package: Potentially dangerous ! )
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> n
    /etc/makepkg.conf: line 89: for: command not found
    ==> WARNING: Running makepkg as an unprivileged user will result in non-root
    ownership of the packaged files. Try using the fakeroot environment by
    placing 'fakeroot' in the BUILDENV array in /etc/makepkg.conf.
    ==> markoftheninja-hib dependencies:
    - sdl (already installed)
    - libgl (already installed)
    - gcc-libs (already installed)
    - xdg-utils (already installed)
    ==> Continue building markoftheninja-hib ? [Y/n]
    ==> --------------------------------------------
    ==>
    ==> Building and installing package
    /etc/makepkg.conf: line 89: for: command not found
    ==> WARNING: Running makepkg as an unprivileged user will result in non-root
    ownership of the packaged files. Try using the fakeroot environment by
    placing 'fakeroot' in the BUILDENV array in /etc/makepkg.conf.
    ==> ERROR: markoftheninja-hib is not available for the '' architecture.
        Note that many packages may need a line added to their PKGBUILD
        such as arch=('').
    ==> ERROR: Makepkg was unable to build markoftheninja-hib.
    ==> Restart building markoftheninja-hib ? [y/N]
    ==> -------------------------------------------
    ==>
    [nicholas@nicholas ~]$ sudo gedit /etc/makepkg.conf
    So, I already have fakeroot properly activated IN makepkg.conf.  This is my makepkg.conf setup:
    # /etc/makepkg.conf
    # SOURCE ACQUISITION
    #-- The download utilities that makepkg should use to acquire sources
    #  Format: 'protocol::agent'
    DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
              'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
              'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
              'rsync::/usr/bin/rsync --no-motd -z %u %o'
              'scp::/usr/bin/scp -C %u %o'
              'hib::/usr/bin/find /home/nicholas/Downloads -name $(echo %u | cut -c 7-) -exec ln -s \{\} %o \; -quit')'
    # Other common tools:
    # /usr/bin/snarf
    # /usr/bin/lftpget -c
    # /usr/bin/wget
    # ARCHITECTURE, COMPILE FLAGS
    CARCH="x86_64"
    CHOST="x86_64-unknown-linux-gnu"
    #-- Compiler and Linker Flags
    # -march (or -mcpu) builds exclusively for an architecture
    # -mtune optimizes for an architecture, but builds for whole processor family
    CPPFLAGS="-D_FORTIFY_SOURCE=2"
    CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
    CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
    LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
    #-- Make Flags: change this for DistCC/SMP systems
    #MAKEFLAGS="-j2"
    #-- Debugging flags
    DEBUG_CFLAGS="-g -fvar-tracking-assignments"
    DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
    # BUILD ENVIRONMENT
    # Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
    #  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
    #-- check:    Run the check() function if present in the PKGBUILD
    #-- sign:     Generate PGP signature file
    BUILDENV=(fakeroot !distcc color !ccache check !sign)
    #-- 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=""
    #-- Specify a directory for package building.
    #BUILDDIR=/tmp/makepkg
    # GLOBAL PACKAGE OPTIONS
    #   These are default values for the options=() settings
    # Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
    #  A negated option will do the opposite of the comments below.
    #-- strip:      Strip symbols from binaries/libraries
    #-- docs:       Save doc directories specified by DOC_DIRS
    #-- libtool:    Leave libtool (.la) files in packages
    #-- staticlibs: Leave static library (.a) files in packages
    #-- emptydirs:  Leave empty directories in packages
    #-- zipman:     Compress manual (man and info) pages in MAN_DIRS with gzip
    #-- purge:      Remove files specified by PURGE_TARGETS
    #-- upx:        Compress binary executable files using UPX
    #-- debug:      Add debugging flags as specified in DEBUG_* variables
    OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
    #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
    INTEGRITY_CHECK=(md5)
    #-- Options to be used when stripping binaries. See `man strip' for details.
    STRIP_BINARIES="--strip-all"
    #-- Options to be used when stripping shared libraries. See `man strip' for details.
    STRIP_SHARED="--strip-unneeded"
    #-- Options to be used when stripping static libraries. See `man strip' for details.
    STRIP_STATIC="--strip-debug"
    #-- Manual (man and info) directories to compress (if zipman is specified)
    MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
    #-- Doc directories to remove (if !docs is specified)
    DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
    #-- Files to be removed from all packages (if purge is specified)
    PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
    # 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 packages: specify a fixed directory where all src packages will be placed
    #SRCPKGDEST=/home/srcpackages
    #-- Log files: specify a fixed directory where all log files will be placed
    #LOGDEST=/home/makepkglogs
    #-- Packager: name/email of the person or organization building packages
    #PACKAGER="John Doe <[email protected]>"
    #-- Specify a key to use for package signing
    #GPGKEY=""
    # COMPRESSION DEFAULTS
    COMPRESSGZ=(gzip -c -f -n)
    COMPRESSBZ2=(bzip2 -c -f)
    COMPRESSXZ=(xz -c -z -)
    COMPRESSLRZ=(lrzip -q)
    COMPRESSLZO=(lzop -q)
    COMPRESSZ=(compress -c -f)
    # EXTENSION DEFAULTS
    # WARNING: Do NOT modify these variables unless you know what you are
    #          doing.
    PKGEXT='.pkg.tar.xz'
    SRCEXT='.src.tar.gz'
    # vim: set ft=sh ts=2 sw=2 et:
    Here is line 89, which is the one that yaourt flags:
    - Options to be used when stripping binaries. See `man strip' for 
    It's almost as if it is treating "for" as a command.  This is very strange. 
    Also, I do have the architecture specified in the makepkg.  It doesn't matter which package I try to install: it does the same thing. 
    Does anyone have any ideas?  I'd really appreciate your help.
    Thank you.
    Sincerely,
    Corey Goettsch

    Karol,
    Thank you for the suggestion.  Here are the code outputs
    [nicholas@nicholas ~]$ yaourt -S markoftheninja-hib
    /etc/makepkg.conf: line 89: for: command not found
    ==> Downloading markoftheninja-hib PKGBUILD from AUR...
    x markoftheninja-hib.desktop
    x PKGBUILD
    markoftheninja-hib 1.38+h20131002-1 (Wed Sep 11 20:25:29 EDT 2013)
    ( Unsupported package: Potentially dangerous ! )
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> n
    /etc/makepkg.conf: line 89: for: command not found
    ==> WARNING: Running makepkg as an unprivileged user will result in non-root
    ownership of the packaged files. Try using the fakeroot environment by
    placing 'fakeroot' in the BUILDENV array in /etc/makepkg.conf.
    ==> markoftheninja-hib dependencies:
    - sdl (already installed)
    - libgl (already installed)
    - gcc-libs (already installed)
    - xdg-utils (already installed)
    ==> Continue building markoftheninja-hib ? [Y/n]
    ==> --------------------------------------------
    ==>
    ==> Building and installing package
    /etc/makepkg.conf: line 89: for: command not found
    ==> WARNING: Running makepkg as an unprivileged user will result in non-root
    ownership of the packaged files. Try using the fakeroot environment by
    placing 'fakeroot' in the BUILDENV array in /etc/makepkg.conf.
    ==> ERROR: markoftheninja-hib is not available for the '' architecture.
    Note that many packages may need a line added to their PKGBUILD
    such as arch=('').
    ==> ERROR: Makepkg was unable to build markoftheninja-hib.
    ==> Restart building markoftheninja-hib ? [y/N]
    ==> -------------------------------------------
    ==>
    [nicholas@nicholas ~]$ sudo gedit /etc/makepkg.conf
    [sudo] password for nicholas:
    (gedit:2211): Gtk-WARNING **: Theme parsing error: notebook.css:6:13: Theming engine 'unico' not found
    (gedit:2211): Gtk-WARNING **: Theme parsing error: nemo.css:90:13: Theming engine 'unico' not found
    And this is my makepkg.conf:
    # /etc/makepkg.conf
    # SOURCE ACQUISITION
    #-- The download utilities that makepkg should use to acquire sources
    # Format: 'protocol::agent'
    DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
    'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
    'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
    'rsync::/usr/bin/rsync --no-motd -z %u %o'
    'scp::/usr/bin/scp -C %u %o'
    'hib::/usr/bin/find /home/nicholas/Downloads -name $(echo %u | cut -c 7-) -exec ln -s \{\} %o \; -quit')'
    # Other common tools:
    # /usr/bin/snarf
    # /usr/bin/lftpget -c
    # /usr/bin/wget
    # ARCHITECTURE, COMPILE FLAGS
    CARCH="x86_64"
    CHOST="x86_64-unknown-linux-gnu"
    #-- Compiler and Linker Flags
    # -march (or -mcpu) builds exclusively for an architecture
    # -mtune optimizes for an architecture, but builds for whole processor family
    CPPFLAGS="-D_FORTIFY_SOURCE=2"
    CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
    CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
    LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
    #-- Make Flags: change this for DistCC/SMP systems
    #MAKEFLAGS="-j2"
    #-- Debugging flags
    DEBUG_CFLAGS="-g -fvar-tracking-assignments"
    DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
    # BUILD ENVIRONMENT
    # Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
    # 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
    #-- check: Run the check() function if present in the PKGBUILD
    #-- sign: Generate PGP signature file
    BUILDENV=(fakeroot !distcc color !ccache check !sign)
    #-- 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=""
    #-- Specify a directory for package building.
    #BUILDDIR=/tmp/makepkg
    # GLOBAL PACKAGE OPTIONS
    # These are default values for the options=() settings
    # Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
    # A negated option will do the opposite of the comments below.
    #-- strip: Strip symbols from binaries/libraries
    #-- docs: Save doc directories specified by DOC_DIRS
    #-- libtool: Leave libtool (.la) files in packages
    #-- staticlibs: Leave static library (.a) files in packages
    #-- emptydirs: Leave empty directories in packages
    #-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
    #-- purge: Remove files specified by PURGE_TARGETS
    #-- upx: Compress binary executable files using UPX
    #-- debug: Add debugging flags as specified in DEBUG_* variables
    OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
    #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
    INTEGRITY_CHECK=(md5)
    #-- Options to be used when stripping binaries. See `man strip' for details.
    STRIP_BINARIES="--strip-all"
    #-- Options to be used when stripping shared libraries. See `man strip' for details.
    STRIP_SHARED="--strip-unneeded"
    #-- Options to be used when stripping static libraries. See `man strip' for details.
    STRIP_STATIC="--strip-debug"
    #-- Manual (man and info) directories to compress (if zipman is specified)
    MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
    #-- Doc directories to remove (if !docs is specified)
    DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
    #-- Files to be removed from all packages (if purge is specified)
    PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
    # 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 packages: specify a fixed directory where all src packages will be placed
    #SRCPKGDEST=/home/srcpackages
    #-- Log files: specify a fixed directory where all log files will be placed
    #LOGDEST=/home/makepkglogs
    #-- Packager: name/email of the person or organization building packages
    #PACKAGER="John Doe <[email protected]>"
    #-- Specify a key to use for package signing
    #GPGKEY=""
    # COMPRESSION DEFAULTS
    COMPRESSGZ=(gzip -c -f -n)
    COMPRESSBZ2=(bzip2 -c -f)
    COMPRESSXZ=(xz -c -z -)
    COMPRESSLRZ=(lrzip -q)
    COMPRESSLZO=(lzop -q)
    COMPRESSZ=(compress -c -f)
    # EXTENSION DEFAULTS
    # WARNING: Do NOT modify these variables unless you know what you are
    # doing.
    PKGEXT='.pkg.tar.xz'
    SRCEXT='.src.tar.gz'
    # vim: set ft=sh ts=2 sw=2 et:
    And, last, here is the output from line 89:
    #-- Options to be used when stripping binaries. See `man strip' for details.
    So, the problem is that "for" in line 89 is being treated like a command.  Which is very strange.  Also, I already have fakeroot set up in makepkg.conf.  And, last, I also have the architecture specified in the PKGBUILD.  So, I'm a bit at a loss here.  I would really appreciate any help.

  • Using makepkg to cross-compile (for sparc64)

    I recently acquired a Sun Ultra 5 system with a TI UltraSparc IIi CPU (sparc64).  I am in the middle of doing some compiling on it using Debian as the host system while dabbling into cross-compiling for it.  It would be superb to have a sparc64 toolchain installed and in the $PATH on a modern x86_64 system while using makepkg to cross-compile sparc64 packages.  I would copy /etc/makepkg.conf to a working directory, make the necessary changes, and run makepkg --config /working/dir/makepkg.conf.  makepkg would then (theoretically) pick up that I'm cross compiling, see the proper toolchain in the path, and cross compile.
    Is this possible?  If not, what kind of work/patching would be necessary to make it happen?

    cedeel wrote:A Sparc64 chroot isn't possible. The closest thing would be to run a chroot-like environment in QEMU.
    A cross toolchain should be preferred, although I have no idea on how to set it up.
    Yeah.  I'm building a toolchain atm.  As long as the PKGBUILDs know that I'm cross compiling, I should be okay.  There will be a bit of hand-cranking needed since not all sources use autotools.  Not really looking forward to cross-compiling openssl, and the kernel will take a bit of screwing around to work right, but, meh, that's part of the fun, right?  There's only 100-ish packages for a base install, so just getting to a functional system won't be too bad.
    I'm going to experiment with an auto-build system when I have the system running.  I'm very comfortable with bash scripting and am learning c++, so I have some good ideas.  I work as a sysadmin too, so I could even give some of the meatier servers at work an extra job to do.  That is, if all goes well
    Last edited by synthead (2012-01-02 20:18:18)

  • 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.)

  • [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.

  • 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)

  • Makepkg.conf and active ftp

    I'm trying to build some arch-packages but having problems with makepkg while downloading the tarballs. I think it has something to do with the use of active ftp, but passive doesn't work in the network I use.
    My makepkg.conf:
    DLAGENTS=('ftp::/usr/bin/wget -c --no-passive-ftp -t 3 --waitretry=3 -O %o %u'
    'http::/usr/bin/wget -c -t 3 --waitretry=3 -O %o %u'
    'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
    'rsync::/usr/bin/rsync -z %u %o'
    'scp::/usr/bin/scp -C %u %o')
    CARCH="i686"
    CHOST="i686-pc-linux-gnu"
    CFLAGS="-march=i686 -mtune=generic -O2 -pipe"
    CXXFLAGS="-march=i686 -mtune=generic -O2 -pipe"
    BUILDENV=(fakeroot !distcc color !ccache !xdelta)
    OPTIONS=(strip docs libtool emptydirs zipman)
    INTEGRITY_CHECK=(md5)
    DOC_DIRS=(usr/{,share/}{info,doc,gtk-doc} opt/*/{info,doc,gtk-doc})
    STRIP_DIRS=(bin lib sbin usr/{bin,lib,sbin,local/{bin,lib,sbin}} opt/*/{bin,lib,sbin})
    BUILDSCRIPT='PKGBUILD'
    PKGEXT='.pkg.tar.gz'
    SRCEXT='.src.tar.gz'
    DB_COMPRESSION='gz'
    DB_CHECKSUMS=(md5)
    with makepkg I get the following output:
    --2008-10-07 23:05:26-- ftp://...
      (try: 3) => 'package'
    Connecting to ftp.... connected.
    Logging in as anonymous ... Logged in!
    ==> SYST ... done.    ==> PWD ... done.
    ==> TYPE I ... done.   ==> CWD /packagedir ... done.
    ==> SIZE package ... size
    ==> PORT ... done.    ==> RETR package ...
    Error in server response, closing control connection.
    can someone help me?

    It's the only one package. And it fails to build every time on different files with the same error. And if I just enter ./src/arora-build and run qmake && make it does compile ok.
    The error example:
    .obj/moc_settings.o: file not recognized: File truncated                                         
    collect2: ld returned 1 exit status
    P.S. PKGBUILD is community/arora-git
    Last edited by vit (2009-05-06 18:02:36)

  • Downloading images used to go automatically to the last folder used to save images, even when reopening Firefox. In just the past few days, possibly coinciding wih the most recent updates, the folder defaults to the 'Downloads' folder. This is most annoyi

    Downloading images used to go automatically to the last folder used to save images, even when reopening Firefox. In just the past few days, possibly coinciding wih the most recent updates, the folder defaults to the 'Downloads' folder. This is most annoying. What happened? Internet Explorer 8.0 did the same thing. This was one of the reasons why I started using Firefox to download all images. I went into Tools>Options and it only lets me set another folder. I dont want to set a specific folder I want it to always go to the last folder used. So what gives?
    == This happened ==
    Every time Firefox opened
    == possibly when the most recent updates were installed, a few days ago

    Thanks jscher 2000. I guess I didn't make it clear. "It restarts with all the addons activated, and resumes with the tabs that were open before closing it." IE, it's running fine now with all the extensions activated. Everything is OK now.
    So something in the Firefox code was causing the bad behavior. It's not essential that I find out what the problem was - I'm just curious. And if anybody else has this same problem, it might be nice to have it corrected at the source.

Maybe you are looking for