Is pacman/repo's borked atm?

I keep getting packages not founf for things like xorg, gnome and a handful of others. Have I picked the wrong time for a new install.
Also I looked on the Package search and they don't seem to be there either.
I'm on 64bit arch, but seems to be same on 32bit. Can someone post some workin mirrors for uk cause I just aint sure if mine are anygood AGAIN, pffft...

Just tried the new mirror. Ran pacman -Syy and then tried again. I keep gettin things like this.
pacman -S xorg
xorg package not found, searching for group...
:: group xorg (including ignored packages):
    xf86-video-vesa  xorg-docs  xorg-fonts-100dpi  xorg-fonts-75dpi 
    xorg-res-utils  xorg-server  xorg-server-utils  xorg-twm  xorg-utils 
    xorg-xinit  xterm 
:: Install whole content? [Y/n]

Similar Messages

  • [HELP] Pacman Repos not fuctional

    Hi,
    I'm new to arch linux but not to linux,
    I've found interesting to give arch a try, people sad it was really fast
    Then i've got the voodoo version, it's been a long
    I've installed it but I couldn't be able to configure it I actually didn't know how
    So I gave up
    Now i've gave it a shot again, but since i'd the voodoo cd I thought i could install voodoo and just upgrade it
    Right know today i've installed it and as people recommended i've just installed the base system
    after installing i set the network and it worked just fine ( this time i learned how to). The i've tried to upgrade the system first to get the base system of Don't Panic, so I've set the /etc/pacman.conf just to enable the community repo and than i've tried pacman -Sy and pacman -Syu... it worked ok to get the database but then it asked if i wanted to upgrade pacman first, of course i said yes, but it said thad libarchive and another file were needed and were not in the sync db
    So i've tried changing in /etc/pacman.conf the current to core
    same error...
    I've tried also to just do pacman -Suyf and nothing and then pacman -Suyd and it just started to try to upgrade the pacman but it couldn't get the file from de repositories (any repository i used did the same error). I wanted to know what the hell was going on so i went to the repository and i found the wrong part that were almost making me get rid of arch.
    In the current repo the files have -686.pkg.tar.gz in the end but the current.db.tar.gz had no -i686 on the files and when i tried pacman -Syud again i realized that it were trying to download the pacman*.pkg.tar.gz without the -i686. so it kept failing and the problem is for every package in the current repos and some in the extra and some in the testing...
    So can anyone tells me if it's a common problem of arch linux or if it's a problem in some repos (of course that I've tried like 15 repos butnot all of them) and can some one explain me if the depedency problem is linked to the broken db.tar.gz files?
    Or is this a problem on my pacman version that has been modified and i have and elder pacman so if i download the Don't Panic I'm not going to have any troubles.
    Sorry for my english (not a native speaker)
    Should I give up on Arch Linux? I thought it could be a good plataform but now i'm concerned
    Thanks.

    I did pacman -Sy pacman and i said:
    Targets: libarchive-2.4.0-2 libdownload-1.1-4 pacman-3.0.6-2
    Total Package Size: 1.2 MB
    Proceed with upgrade? [Y/n] Y
    :: Retrieving packages from current ... (same error if i change currento to core)
    warning: failed to get filesize for libarchive-2.4.0-2.pkg.tar.gz
    faild downloading libarchive-2.4.0-2.pkg.tar.gz from ftp.heanet.ie: 550 libarchive-2.4.0-2.pkg.tar.gz: No such file or directory
    then i tried to do the sortmirror thing it said i had to have netselect first so i did pacman -Sy netselect and as it is from extra it installed perfectly than i did the sormirror and the same error.
    i went to the mirror i'm using and there there isn't a libarchive-2.4.0-2.pkg.tar.gz but there is a libarchive-2.4.0-2-i686.pkg.tar.gz
    Obs this community is really fast congratz
    sorry but as my arch linux is not with a graphical interface i'm having to write the outputs by hand on the other pc

  • Accessing custom pacman repo through SSH

    Hi,
    I have created a local custom repository with
    repo-add
    on a server accessible only through SSH.
    Is there a way to configure the clients'
    /etc/pacman.conf
    to access the files through SSH? I think pacman uses curl as its backend, so it would be technically possible to do this.
    Thanks!
    Last edited by valandil (2015-02-17 20:19:24)

    the proxy env is ok in superuser env
    ➜  ~ git:(master) ✗ export | grep proxy
    ftp_proxy=http://proxy.zte.com.cn:80
    http_proxy=http://proxy.zte.com.cn:80
    https_proxy=http://proxy.zte.com.cn:80
    rvm_proxy=''
    ➜  ~ git:(master) ✗ su   
    Password:
    [root@myhost jinleileiking]# export | grep proxy
    declare -x ftp_proxy="http://proxy.zte.com.cn:80"
    declare -x http_proxy="http://proxy.zte.com.cn:80"
    declare -x https_proxy="http://proxy.zte.com.cn:80"

  • Pacman repos refuse connection

    I  did a system upgrade last night and now when i try to pacman -Sy i get this error.
    :: Synchronizing package databases...
    error: failed retrieving file 'core.db.tar.gz' from ftp.archlinux.org : Connection refused
    error: failed retrieving file 'core.db.tar.gz' from ftp.nethat.com : Not logged in core is up to date
    error: failed retrieving file 'extra.db.tar.gz' from ftp.archlinux.org : Connection refused
    error: failed to synchronize extra: Connection refused
    error: failed retrieving file 'community.db.tar.gz' from ftp.archlinux.org : Connection refused
    error: failed to synchronize community: Connection refused
    kdemod is up to date
    local database is up to date

    yes. there is something going on with the ftp.archlinux.org server.
    Other mirrors are work fine.
    You are using other mirrors anyway...right?
    I am looking into the issue.

  • Issues with pacman repos?

    Hi, I'm installing GNOME arch linux x86_64, but no servers got libgnome 2.26, what is going on?
    EDIT: same with libgnomecanvas etc.
    Last edited by Roberth (2009-04-04 16:58:15)

    Gnome has been moved from testing to extra. You'll need to wait for the mirrors to sync.

  • Github as a source for an unofficial repo? https support in pacman

    I suspect the answer is no but can pacman handle a server over https?  I'd like to use my github repo as an unofficial pacman repo, but AFAIK, I can only do so via https, not http.
    Last edited by graysky (2011-01-14 22:28:20)

    Allan wrote:
    graysky wrote: Maybe Allan can do it in his spare time
    no need...  falconindy has already coded a switch from libfetch to libcurl.  https support will be there once that is finished.
    Oh man those pacman devs are so cool they just add features even if you don't want too 

  • Website is out of sync with pacman repository

    apolos is on the website package search facility, but not in pacman nor abs
    could it be that the pacman repos are not always in sync ?

    Are you using 64-bit arch?  Apolos hasn't been built for arch-64 yet.
    -edit- I see your reply to yourself has beaten my reply to you.    -/edit-
    Last edited by Cerebral (2007-08-23 18:36:44)

  • [SOLVED] Network Shared Pacman Cache problems

    Hi all,
    I've got a couple of Arch servers and an Arch workstation that I'm working on; only the workstation has internet access and I need to keep the servers up to date and be able to install packages.
    At the moment, the servers have the workstation's pacman package and cache directories mounted via SSHFS, but I've got problems with keys (pacman not being able to look up keys) and system upgrades. Nothing that I can't work around, but I'm thinking there must be a more "professional" way to get this done.
    TL;DR - What's the best way to set up internetless Arch servers with a network pacman repo/cache?
    Last edited by syngin (2012-04-03 07:00:21)

    Yep, well capable of doing that which is why I'm asking - I can't do that without having to have difficult conversations with the security team here. And, no, I don't need to be told about the lack of security implications in doing this
    As far as keys, I've just set the SigLevel to "Never" as I trust the packages on my workstation, but this all feels a little hinky.

  • [Solved] Cant get fglrx to load after an overdue pacman -Syu

    I tried to launch steam tonight after doing a long overdue pacman -Syu yesterday, and it gave an error about GL. Upon closer inspection, no GL apps will run, giving similar errors:
    $ glxgears
    X Error of failed request: BadRequest (invalid request code or no such operation)
    Major opcode of failed request: 155 (ATIFGLEXTENSION)
    Minor opcode of failed request: 66 ()
    Serial number of failed request: 13
    Current serial number in output stream: 13
    Here's what I've been able to track down:
    The fglrx module isnt loading. When I try to load it manually:
    $ sudo modprobe fglrx
    modprobe: ERROR: could not insert 'fglrx': Exec format error
    I checked in the Xorg error log:
    $ sudo grep '(WW)' /var/log/Xorg.0.log
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    [ 18.980] (WW) Falling back to old probe method for fglrx
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:17:0) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:18:0) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:18:1) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:18:2) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:19:0) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:19:1) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:19:2) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:0) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:1) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:2) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:3) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:4) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@0:20:5) found
    [ 19.147] (WW) fglrx: No matching Device section for instance (BusID PCI:0@1:0:1) found
    [ 19.700] (WW) fglrx(0): board is an unknown third party board, chipset is supported
    [ 20.668] (WW) fglrx(0): Dynamic Surface Resizing cannot be enabled
    [ 20.672] (WW) fglrx(0): ***********************************************************
    [ 20.672] (WW) fglrx(0): * DRI initialization failed *
    [ 20.672] (WW) fglrx(0): * kernel module (fglrx.ko) may be missing or incompatible *
    [ 20.672] (WW) fglrx(0): * 2D and 3D acceleration disabled *
    [ 20.672] (WW) fglrx(0): ***********************************************************
    [ 20.708] (WW) fglrx(0): Textured Video not supported without DRI enabled.
    [ 21.076] (WW) fglrx(0): Option "VendorName" is not used
    [ 21.076] (WW) fglrx(0): Option "ModelName" is not used
    I'm using the unofficial pacman repo from Vi0l0, so I also tried his catalyst-hook package, and the catalyst and catalyst-hook packages from AUR, running catalyst_build_module all and rebooting a couple times, but with no success. (his repos seem to have newer versions of the packages anyways)
    Any idea what the root of the problem might be, or what I should try next?
    my kernel is:
    $ uname -r
    3.10.10-1-ARCH
    Last edited by jxhcc (2013-09-17 06:14:02)

    Ok, so I'm gonna go ahead and answer my own question! (This is why I dont usually post in forums!)
    I installed catalyst-test from AUR. Everything is fine now.
    Guess I didnt see that the first time looking through the older forum posts.

  • Pacman & General Help

    Hi All
    I'm new to Linux and I've decided to opt for Arch as my first bash at it. I've installed and set up Arch with no problems, the system is running stably and everything is fine and dandy.
    The only issue I'm having is with installing programs that aren't in one of the pacman repos already.
    If I download a source .tar i can't figure out how to install it from there.
    If I tell pacman to install directly from a URL (using pacman -U <link>) I keep getting various errors about missing package metadata.
    I suppose my question is, are there any apps that will allow me to install straight from a downloaded archive? A la windows style?
    And if so how do I install them?
    I apologise in advance for the unprecedented noobishness of my request.
    Stu

    shyanel wrote:
    Okay started looking into that, working through it I now have a new problem - When I use makepkg, i'm getting a "PKGBUILD does not exist" error...
    Any ideas?
    Stu
    Have a look here too.
    http://wiki.archlinux.org/index.php/ABS

  • Pajman - my pacman improvement (updated)

    In page 2 of this topic you can find a big improvement of pajman
    pajman is a script that has my own version of pacman -Ss and -Qs and pacman -Sc.
    pajman -Ps [string] (search) will search for a package looking only in the package name. Lots of times faster than -Ss, and usually you only look for the package name.
    pajman -Psi [string] (search, info) is the same than "pajman -Ps" but it also shows the description of the package.
    pajman -Pc (clean) will remove from cache all packages that are not installed though they are not outdated. I thought of it after uninstalling gnome: lots of packages that I didn't want where kept in cache because they where up to date.
    Another point against usual pacman search is that it shows in yellow the packages that you have installed
    It also looks for packages that you have installed but that are not in a repo
    If you pass an argument different than -P?? it calls to srcpac if you've got it installed, otherwise it calls to pacman.
    looks like this:
    and here's the source:
    /usr/bin/pajman
    #!/bin/bash
    PACDIR="/var/lib/pacman/"
    TEMP_FILE="/tmp/busca.$USER.$$"
    REPOS=$(ls $PACDIR)
    function pinfo {
    PROPERA="0"
    RESP=""
    for linia in $(cat $1/desc); do
    if [ "$PROPERA" == "1" ]; then
    if (echo $linia|grep "%">/dev/null); then
    echo - $RESP
    break
    else
    RESP="$RESP $linia"
    fi
    fi
    if [ "$linia" == "%DESC%" ]; then
    PROPERA="1"
    fi
    done
    function search {
    # First we look for packages in the repos
    for repo in $REPOS; do
    if [ "$repo" != "local" ]; then
    if (ls $PACDIR$repo|grep -e $1>$TEMP_FILE); then
    echo -e "33[1;37m[$repo]33[m"
    for ii in $(cat $TEMP_FILE); do
    if [ -d "$PACDIR"local/"$ii" ]; then
    echo -e "33[1;33m$ii33[m"
    else
    echo $ii
    fi
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    done
    fi
    fi
    done
    #Then we look for packages that are not in a repo
    cd $PACDIR"/local"
    echo -e "33[1;37m* now looking for packages that are not in a repo. Ctrl + C to stop.33[m"
    for package in $(find -name "*"$1"*"); do
    trobat="0"
    for repo in $REPOS; do
    if [ "$repo" != "local" ]; then
    if [ -d $PACDIR/$repo/$package ]; then
    trobat="1"
    fi
    fi
    done
    if [ "$trobat" == "0" ]; then
    echo -e "33[1;33m$package33[m"|sed 's|./||'
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR/local/$package
    fi
    fi
    done
    function clean {
    for pack in $(ls /var/cache/pacman/pkg|sed 's|.pkg.tar.gz||'); do
    if [ ! -d $PACDIR/local/$pack ]; then
    echo "$pack not installed. Package removed from cache."
    rm /var/cache/pacman/pkg/$pack".pkg.tar.gz"
    fi
    done
    if (echo $1|grep P>/dev/null); then
    if (echo $1|grep s>/dev/null); then
    if (echo $1|grep i>/dev/null); then
    PINF="1"
    fi
    search $2
    elif (echo $1|grep c>/dev/null); then
    clean
    fi
    else
    if [ -f /usr/bin/srcpac ]; then
    srcpac $@
    else
    pacman $@
    fi
    fi

    <edit>
    - to avoid using a repo use NOREPOS as you would use REPOS. Example:
    NOREPOS="testing unstable" pajman -Pinst <package>
    </ediT>
    I've got it:
    HELP, PLEASE:
    I didn't made it to mark not explicitily installed dependencies as not explicitily installed. How is it done by pacman?
    TODO:
    * ¿download all files and then start installing? now it downloads and installs packages one by one. As pacman does this the other way I think I'll update the script once i've got it.
    * do not run if pacman or pajman are already running.
    WHAT DOES IT DO?
    See help below to see what it can do  (specially see TIPS)
    Please, submit bugs and improvements you can find
    pajman help:
    -P[options] will use pajman routines. All other options will be passed to pacman (or srcpac)
    options:
    s [string] Search for [string] in packages' names
    sq [string] Quick search (like -Ps but won't check if other versions installed. Much more faster)
    o Only search for installed packages. Use it when searching (-Pso -Psqo)
    i Show package description. Use it when searching or upgrading
    inst [packages] Install [packages]
    y Update database
    c Remove from cache all packages that are not installed
    u Compare local versions with database versions and upgrade.
    r [packages] Rollback. Install previos installed verisons of packages. Useless if you have
    cleaned package cache
    x [string] [str] Search for packages that match [string] and do not match [str] and remove them
    xs [string] [str] Same as x but pass 'recursive' parameter to pacman
    xg [group] Remove [group] group of packages
    xgs [group] Same as xg but pass 'recursive' parameter to pacman
    ESPECIAL FEATURE: Especify repo in command line:
    usage: REPOS="[repos]" pajman -P[x] [string or packages]
    example:
    REPOS="current extra tpowa" pajman -Pyinst kdebase
    - This example will update current, extra and tpowa databases, ask you if you want to install
    kdebase from extra or tpowa and either you choose extra or tpowa it will install any depencies
    you will need from extra
    NOREPOS is a list of repos that will be omited
    TIP: create an alias for pacman=pajman
    TIP: add export NOREPOS='testing' and add [testing] repo to your pacman.conf
    YSKICTUI TIP: you can run simultaneously many pajman instances.
    VERY YSKICTUI TIP: rename /sbin/ldconfig /sbin/ldconfig.pajman to speed up package install process
    (YSKICTUI = You Should Know Its Consequences To Use It)
    /usr/bin/pajman
    #!/bin/bash
    PACDIR="/var/lib/pacman/"
    SPACDIR='/var/lib/pacman/'
    TEMP_FILE="/tmp/busca.$USER.$$"
    function call_pacman {
    while [ -f /tmp/pacman.lck ]; do
    if ! (ps -A|grep pacman>/dev/null); then
    echo Removed pacman lock since pacman is not running
    rm /tmp/pacman.lck
    elif [ "$SAIDWAIT" == "" ]; then
    echo Pacman is running. Waiting for it to end
    SAIDWAIT="1"
    sleep 1
    else
    sleep 1
    fi
    done
    pacman $@
    function colorpc {
    if [ "$1" != "" ]; then
    REDPC=""
    YELLOWPC=""
    WHITEPC=""
    GREENPC=""
    ORANGEPC=""
    PINKPC=""
    NORMALPC=""
    else
    REDPC="33[1;31m"
    YELLOWPC="33[1;33m"
    WHITEPC="33[1;37m"
    GREENPC=""
    ORANGEPC="33[2;33m"
    PINKPC="33[1;35m"
    NORMALPC="33[m"
    fi
    if [ "$COLORPC" == "" ]; then
    colorpc
    fi
    function getserver {
    local REPOSER=$1
    local PROPERA="0"
    for linia in $(cat /etc/pacman.conf|sed 's/Server *= *//'|sed 's/Include *= *//'|sed 's/^#.*$//'); do
    if [ "$PROPERA" == "1" ]; then
    if ! (echo $linia|grep :>/dev/null); then
    for server in $(cat $linia|sed 's/Server *= *//'|sed 's/^[.*].*$//'|sed 's/^#.*$//'); do
    CURSERVER="$server"
    break
    done
    else
    CURSERVER="$linia"
    fi
    break
    fi
    if [ "$linia" == "[$REPOSER]" ]; then
    PROPERA="1"
    fi
    done
    if [ "$REPOS" == "" ]; then
    REPOS=$(ls $PACDIR --ignore=local --ignore=rollback)
    else
    for repo in $REPOS; do
    getserver $repo
    if [ "$CURSERVER" == "" ]; then
    echo -e $REDPC"ERROR: "$WHITEPC"Repo $repo not found in /etc/pacman.conf"$NORMALPC
    exit
    fi
    done
    DONTLOOKINLOCAL="1"
    fi
    if [ "$NOREPOS" != "" ]; then
    for i in $NOREPOS; do
    REPOS=$(echo $REPOS|sed 's/[ ]*^*'$i'[ ]*$*/ /g')
    done
    fi
    function pinfo {
    PROPERA="0"
    RESP=""
    for linia in $(cat $1/desc); do
    if [ "$PROPERA" == "1" ]; then
    if (echo $linia|grep "%">/dev/null); then
    echo - $RESP
    break
    else
    RESP="$RESP $linia"
    fi
    fi
    if [ "$linia" == "%DESC%" ]; then
    PROPERA="1"
    fi
    done
    function pgroup {
    PROPERA="0"
    RESP=""
    for linia in $(cat $1/desc); do
    if [ "$PROPERA" == "1" ]; then
    if (echo $linia|grep "%">/dev/null); then
    RESP="$RESP "
    break
    else
    RESP="$RESP $linia"
    fi
    fi
    if [ "$linia" == "%GROUPS%" ]; then
    PROPERA="1"
    fi
    done
    function localsearch {
    if [ "$DONTLOOKINLOCAL" == "1" ]; then
    return
    fi
    cd $PACDIR"/local"
    echo -e "$WHITEPC* now looking for packages that are not in a repo. Ctrl + C to stop."$NORMALPC
    for package in $(find -name "*"$1"*"); do
    trobat="0"
    for repo in $REPOS; do
    if [ -d $PACDIR/$repo/$package ]; then
    trobat="1"
    fi
    done
    if [ "$trobat" == "0" ]; then
    echo -e "$YELLOWPC$package"$NORMALPC|sed 's|./||'
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR/local/$package
    fi
    fi
    done
    function search {
    # First we look for packages in the repos
    local SSTR="$1"
    for repo in $REPOS; do
    if (ls $PACDIR$repo|grep -e $SSTR>$TEMP_FILE); then
    echo -e $WHITEPC"[$repo]"$NORMALPC
    for ii in $(cat $TEMP_FILE); do
    for LOCALVER in $(echo "$PACDIR"local/"$ii"|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')-*-*; do
    localv=$(echo "$LOCALVER"|sed s/$SPACDIR"local/"//)
    loca=$(echo $localv|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')
    if [ "$localv" == "$ii" ] && [ -d $LOCALVER ]; then
    echo -e "$YELLOWPC$ii"$NORMALPC
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    elif [ "$loca" == "$(echo $ii|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')" ] && [ -d $LOCALVER ]; then
    echo -e "$ORANGEPC$ii (localver is $(echo $LOCALVER|sed s/$SPACDIR"local/"//))"$NORMALPC
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    elif [ ! $ONLYINSTALLED ]; then
    echo $ii
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    fi
    done
    done
    fi
    done
    #Then we look for packages that are not in a repo
    localsearch $SSTR
    function clean {
    for pack in $(ls /var/cache/pacman/pkg|sed 's|.pkg.tar.gz||'); do
    if [ ! -d $PACDIR/local/$pack ]; then
    echo "$pack not installed. Package removed from cache."
    rm /var/cache/pacman/pkg/$pack".pkg.tar.gz"
    fi
    done
    function upgrade {
    LOCALS=$(ls -l $PACDIR'local/'|grep ^d|sed 's/^.*:[0-9][0-9] //');
    for repo in $REPOS; do
    DATA=$(ls $PACDIR$repo|grep -e -)
    echo -e $WHITEPC"[$repo]"$NORMALPC
    for ii in $DATA; do
    PACKNAME=$(echo $ii|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g');
    LOCALVER=$(echo $LOCALS|grep -o [ ,^]$PACKNAME-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*[ ,$])
    if [ "$LOCALVER" != "" ] && [ "$LOCALVER" != "$ii" ]; then
    VER1=$(echo $LOCALVER|sed 's/'$PACKNAME-'//'|sed 's/-[0-9,.,_,a-z,A-Z]*$//g')
    VER2=$(echo $ii|sed 's/'$PACKNAME-'//'|sed 's/-[0-9,.,_,a-z,A-Z]*$//g')
    checkver $VER1 $VER2
    if [ "$GREATVER" == "FIRST" ]; then
    echo -e "$ORANGEPC$ii local version is newer ($LOCALVER)"$NORMALPC
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    elif [ "$GREATVER" == "SECOND" ]; then
    echo -e "$PINKPC$ii must be upgraded ($LOCALVER)"$NORMALPC
    PACKSTOINST="$repo/$ii $PACKSTOINST"
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    else
    let "BUILD1=$(echo $LOCALVER|sed s/$PACKNAME-$VER1-//)"
    let "BUILD2=$(echo $ii|sed s/$PACKNAME-$VER1-//)"
    if [[ $BUILD1 > $BUILD2 ]]; then
    echo -e "$ORANGEPC$ii local version is newer ($LOCALVER)"$NORMALPC
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    elif [[ $BUILD1 < $BUILD2 ]]; then
    echo -e "$PINKPC$ii must be upgraded ($LOCALVER)"$NORMALPC
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    PACKSTOINST="$repo/$ii $PACKSTOINST"
    fi
    fi
    fi
    done
    done
    for packtoinst in $PACKSTOINST; do
    checkpacktoinst $packtoinst
    done
    # function to check if a package is installed
    function is_installed {
    LPAC="$PACDIR"local/"$1"-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*
    for llpac in $LPAC; do
    if [ $(echo $llpac|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g') == "$PACDIR"local/"$1" ]; then
    echo 1
    fi
    done
    function download {
    local SITE="$1"
    local PACK="$2"
    local REPO="$3"
    if [ -f /var/cache/pacman/pkg/$PACK ]; then
    MD5SUM=$(md5sum /var/cache/pacman/pkg/$PACK | sed 's/ .*$//')
    fi
    local PROPERA="0"
    for linia in $(cat $PACDIR$REPO/$(echo $2|sed 's/.pkg.tar.gz//')/desc); do
    if [ "$PROPERA" == "1" ]; then
    if [ "$linia" == "$MD5SUM" ]; then
    echo Package already downloaded
    else
    snarf $SITE/$PACK /var/cache/pacman/pkg/$PACK
    MD5SUM=$(md5sum /var/cache/pacman/pkg/$PACK | sed 's/ .*$//')
    if [ "$MD5SUM" != "$linia" ]; then
    echo -e $PINKPC"MD5SUMS do not match."$NORMALPC
    echo Downloading the package again...
    rm /var/cache/pacman/pkg/$PACK
    download $SITE $PACK $REPO
    fi
    fi
    return
    fi
    if [ "$linia" == "%MD5SUM%" ]; then
    PROPERA="1"
    fi
    done
    function ask {
    echo -e $1
    select opt in $2; do
    ANSWER=$opt
    return
    done
    function checkpacktoinst {
    local FOUNDS="$1"
    if [ ! -f $PACDIR$FOUNDS'/depends' ]; then
    echo -e $REDPC"ERROR: "$WHITEPC"Cannot find package info"$NORMALPC
    exit
    fi
    echo ==> Checking for conflicts
    PROPERA="0"
    for linia in $(cat $PACDIR$FOUNDS'/depends'); do
    if [ "$PROPERA" == "1" ]; then
    if (echo $linia|grep "%">/dev/null); then
    break
    else
    INSTANCE=$PACDIR'local/'$linia-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*
    for inst in $INSTANCE; do
    inst=$(echo $inst|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')
    if [ "$inst" == "$PACDIR"local/"$linia" ]; then
    echo "STOPING: The package conflicts with "$linia". Install it with 'pacman -S'"
    exit
    fi
    done
    fi
    fi
    if [ "$linia" == "%CONFLICTS%" ]; then
    PROPERA="1"
    fi
    done
    echo ==> Checking for dependencies
    PROPERA="0"
    for linia in $(cat $PACDIR$FOUNDS'/depends'); do
    if [ "$PROPERA" == "1" ]; then
    COMP=""
    NEEDEDVER=""
    if (echo $linia|grep '<='>/dev/null); then
    NEEDEDVER=$(echo $linia|sed 's/.*<=//')
    linia=$(echo $linia|sed 's/<=.*//')
    COMP="<="
    elif (echo $linia|grep '>='>/dev/null); then
    NEEDEDVER=$(echo $linia|sed 's/.*>=//')
    linia=$(echo $linia|sed 's/>=.*//')
    COMP=">="
    elif (echo $linia|grep '<'>/dev/null); then
    NEEDEDVER=$(echo $linia|sed 's/.*<//')
    linia=$(echo $linia|sed 's/<.*//')
    COMP="<"
    elif (echo $linia|grep '>'>/dev/null); then
    NEEDEDVER=$(echo $linia|sed 's/.*>//')
    linia=$(echo $linia|sed 's/>.*//')
    COMP=">"
    elif (echo $linia|grep '='>/dev/null); then
    NEEDEDVER=$(echo $linia|sed 's/.*=//')
    linia=$(echo $linia|sed 's/=.*//')
    COMP="="
    fi
    if [[ "$COMP" != "" ]]; then
    echo -e $REDPC"WARNING: "$WHITEPC" $FOUNDS needs a concrete version of $linia ( $linia $COMP $NEEDEDVER ). This check will be skiped. Use pacman -S to have this check done."$NORMALPC
    fi
    if (echo $linia|grep "%">/dev/null); then
    break
    elif (echo $PACKSTOINST|grep /$linia-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*>/dev/null); then
    echo "Needed $linia is to be installed"
    elif (echo $PROVIDENCES|grep "%$linia%">/dev/null); then
    echo "Dependency $linia is provided and has already been check."
    else
    INSTANCE=$PACDIR'local/'$linia-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*
    for inst in $INSTANCE; do
    inst=$(echo $inst|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')
    if [ "$inst" == "$PACDIR"local/"$linia" ]; then
    echo "Needed $linia is already installed"
    break
    elif [ "$inst" == "$PACDIR"local/"$linia"'-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*' ]; then
    echo
    echo "Needed $linia needs to be installed..."
    ipack $linia
    fi
    done
    fi
    fi
    if [ "$linia" == "%DEPENDS%" ]; then
    PROPERA="1"
    fi
    done
    # function to install a package
    function ipack {
    echo "==> Preparing to install $1"
    if [ "$(is_installed $1)" == "1" ]; then
    echo -e "$YELLOWPC==> Package already installed"$NORMALPC
    ask "Do you want to proceed? n"$YELLOWPC"WARNING:"$WHITEPC" saying yes will render useless to rollback this package"$NORMALPC "yes no"
    if [ "$ANSWER" != "yes" ]; then
    exit
    fi
    else
    echo ==> Package not installed
    fi
    local FOUNDS=""
    for repo in $REPOS; do
    CHECK=$PACDIR$repo/"$1"-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*
    for this in $CHECK; do
    tthis=$(echo $this|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')
    if [ "$tthis" == "$PACDIR"$repo/"$1" ]; then
    if [ -d $PACDIR'local/'$(echo $this|sed s/$SPACDIR$repo'/'//) ]; then
    this=$(echo -e "$YELLOWPC")$this$(echo -e $NORMALPC)
    fi
    this=$(echo $this|sed 's/'$SPACDIR'//g')
    FOUNDS="$FOUNDS $this"
    fi
    done
    done
    if (echo $FOUNDS|grep ' '>/dev/null); then
    echo -e $WHITEPC==> The package is avaible in more than one repo$NORMALPC
    echo "What version do you want to install?"
    select opt in $(echo $FOUNDS|sed 's/'$SPACDIR'//g'); do
    FOUNDS=$opt
    break
    done
    elif [ "$FOUNDS" == "" ]; then
    echo "Package not found"
    echo "Let's see if it is provided by another package"
    for possib in $(find $PACDIR -name depends); do
    PROPERA="0"
    PROVIDERS=""
    for linia in $(cat $possib); do
    if [ "$PROPERA" == "1" ]; then
    if (echo $linia|grep "%">/dev/null); then
    break
    elif (echo $linia|grep $1>/dev/null); then
    PROVIDER=$(echo $possib|sed s/$SPACDIR//|sed 's/[a-z]*///'|sed 's//depends//'|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')
    PROVIDERS="$PROVIDERS $PROVIDER"
    echo $PROVIDER provides $1
    PROVIDENCES="$PROVIDENCES%$PROVIDER%%$1%"
    if [ "$(is_installed $PROVIDER)" == "1" ]; then
    echo $PROVIDER is already installed. Keep going on.
    PROVIDERS=""
    return
    fi
    fi
    fi
    if [ "$linia" == "%PROVIDES%" ]; then
    PROPERA="1"
    fi
    done
    done
    if [ "$PROVIDERS" != "" ]; then
    select provider in $PROVIDERS; do
    $FOUNDS=$provider
    break
    done
    exit
    fi
    else
    echo ==> Only one coincidence found:
    fi
    # We remove coloring
    FOUNDS=$(echo $FOUNDS|cat -v|sed 'y/^[[;/§§§§/'|sed s/§§§1§33m//|sed s/§§§m//)
    echo $FOUNDS is going to be installed
    checkpacktoinst $FOUNDS
    PACKSTOINST="$FOUNDS $PACKSTOINST"
    function quicksearch {
    # First we look for packages in the repos
    for repo in $REPOS; do
    if [ "$repo" != "local" ]; then
    if (ls $PACDIR$repo|grep -e $1>$TEMP_FILE); then
    echo -e $WHITEPC"[$repo]"$NORMALPC
    for ii in $(cat $TEMP_FILE); do
    if [ -d "$PACDIR"local/"$ii" ]; then
    echo -e "$YELLOWPC$ii"$NORMALPC
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    elif [ ! $ONLYINSTALLED ]; then
    echo $ii
    if [ "$PINF" == "1" ]; then
    pinfo $PACDIR$repo/$ii
    fi
    fi
    done
    fi
    fi
    done
    #Then we look for packages that are not in a repo
    localsearch $1
    function needroot {
    if [ "$UID" != "0" ]; then
    echo -e $REDPC"ERROR: "$WHITEPC"You cannot perform "$1" unless you are root."$NORMALPC
    exit
    fi
    function partver {
    local CURRIT
    local NUMITS
    let "NUMITS=$2"
    let "CURRIT=0"
    for partver in $(echo $1|sed 's/./ /g'); do
    let "CURRIT=$CURRIT+1"
    if [[ $CURRIT == $NUMITS ]]; then
    PARTVER="$partver"
    return
    fi
    done
    PARTVER=""
    function checkver {
    local CURRIT
    let "CURRIT=0"
    SECVER="$2"
    for part in $(echo $1|sed 's/./ /g'); do
    let "CURRIT=$CURRIT+1"
    partver $SECVER $CURRIT
    if [[ "$part" != "0" ]]; then
    part=$(echo $part|sed 's/^0//')
    fi
    if [[ "$PARTVER" != "0" ]]; then
    PARTVER=$(echo $PARTVER|sed 's/^0//')
    fi
    if ! (echo $part|grep [a-z,A-Z,_]>/dev/null) && ! (echo $PARTVER|grep [a-z,A-Z,_]>/dev/null); then
    let "SUM=$part-$PARTVER"
    if [[ $SUM > 0 ]]; then
    GREATVER="FIRST"
    return
    elif [[ $SUM < 0 ]]; then
    GREATVER="SECOND"
    return
    fi
    else
    SUBVER1=$(echo $part|sed 's/[a-z,A-Z,_][0-9]*//g')
    SUBVER2=$(echo $PARTVER|sed 's/[a-z,A-Z,_][0-9]*//g')
    if ! (echo $SUBVER1|grep '^[0-9]'>/dev/null); then
    SUBVER1="0$SUBVER1"
    fi
    if ! (echo $SUBVER2|grep '^[0-9]'>/dev/null); then
    SUBVER2="0$SUBVER2"
    fi
    let "SUM=$SUBVER1-$SUBVER2"
    if [[ $SUM > 0 ]]; then
    GREATVER="FIRST"
    return
    elif [[ SUM < 0 ]]; then
    GREATVER="SECOND"
    return
    elif ! (echo $part|grep [a-z,A-Z,_]>/dev/null) && (echo $PARTVER|grep [a-z,A-Z,_]>/dev/null); then
    GREATVER="FIRST"
    return
    elif (echo $part|grep [a-z,A-Z,_]>/dev/null) && ! (echo $PARTVER|grep [a-z,A-Z,_]>/dev/null); then
    GREATVER="SECOND"
    return
    else
    if [[ $part > $PARTVER ]]; then
    GREATVER="FIRST"
    return
    elif [[ $part < $PARTVER ]]; then
    GREATVER="SECOND"
    return
    fi
    fi
    fi
    done
    let "CURRIT=$CURRIT+1"
    partver $SECVER $CURRIT
    if [ "$PARTVER" != "" ]; then
    GREATVER="SECOND"
    return
    fi
    GREATVER="NONE"
    function instpacks {
    if [ "$PACKSTOINST" == "" ]; then
    echo No packages to be installed
    return
    fi
    echo
    echo -e $WHITEPC"Is it ok to install next packages?"$NORMALPC
    echo $PACKSTOINST
    OPTS="yes no"
    select opt in $OPTS; do
    if [ "$opt" == "yes" ]; then
    break
    fi
    exit
    done
    echo
    echo ==> Installing:
    if (echo $PACKSTOINST|grep glibc>/dev/null); then
    echo glibc needs is to be installed. Please, install it with pacman -S.
    exit
    fi
    if [ ! -d /var/lib/pacman/rollback ]; then
    mkdir -p /var/lib/pacman/rollback
    fi
    for pack in $PACKSTOINST; do
    echo -e $WHITEPC"==> Installing $pack"$NORMALPC
    REPO=$(echo $pack|sed 's//.*//')
    PACKN=$(echo $pack|sed 's/.*///').pkg.tar.gz
    getserver $REPO
    download $CURSERVER $PACKN $REPO
    if [ -d $PACDIR/rollback/$PACKN ]; then
    rm -r $PACDIR/rollback/$PACKN
    fi
    OLDPACK=$(echo $PACKN|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*.pkg.tar.gz$//g')
    INSTANCE=$PACDIR'local/'$OLDPACK-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*
    for inst in $INSTANCE; do
    insta=$(echo $inst|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')
    if [ "$insta" == "$PACDIR"local/"$OLDPACK" ]; then
    cp $inst "$PACDIR"rollback -r
    break
    fi
    done
    if [ "$FORCE" == "1" ]; then
    call_pacman -Udf /var/cache/pacman/pkg/$PACKN
    else
    call_pacman -Ud /var/cache/pacman/pkg/$PACKN
    fi
    if [ "$(is_installed $OLDPACK)" != "1" ]; then
    echo -e $REDPC"ERROR: $WHITEPC"Package $pack has failed to install$NORMALPC
    ask "Do you want to install it again forcing file conflicts?" "yes no"
    if [ "$ANSWER" == "yes" ]; then
    call_pacman -Udf /var/cache/pacman/pkg/$PACKN
    if [ "$(is_installed $OLDPACK)" != "1" ]; then
    echo -e $REDPC"ERROR: $WHIETEPC"Package $pack has failed AGAIN to install$NOMALPC
    ask "Do you want to install remaining packages?" "yes no"
    if [ "$ANSWER" == "no" ]; then
    exit
    fi
    fi
    else
    ask "Do you want to install remaining packages?" "yes no"
    if [ "$ANSWER" == "no" ]; then
    exit
    fi
    fi
    fi
    done
    echo
    echo Updating shared library links. Ctrl + C to stop.
    if [ -f /sbin/ldconfig.pajman ]; then
    ldconfig.pajman
    fi
    function searchandremove {
    MATCHSTRING=$1
    shift
    echo -e $WHITEPC"==> Removing packages that match "$MATCHSTRING" and do not match "$@""$NORMALPC
    colorpc "no"
    local TOREMOVE=$(ONLYINSTALLED="1" quicksearch $MATCHSTRING|sed 's/[.*]$//g'|sed 's/* now looking for packages that are not in a repo. Ctrl + C to stop.//g')
    if [ "$COLORPC" == "" ]; then
    colorpc
    fi
    local NEWTOREMOVE=""
    for tore in $TOREMOVE; do
    local FOUND=""
    for noto in $@; do
    if (echo $tore|grep $noto>/dev/null); then
    FOUND="1"
    fi
    done
    if [ "$FOUND" == "" ]; then
    NEWTOREMOVE="$NEWTOREMOVE $tore"
    fi
    done
    TOREMOVE=$NEWTOREMOVE
    if [ "$TOREMOVE" == "" ]; then
    echo No package to be removed
    exit
    fi
    ask $WHITEPC"Is it ok to "$REDPC"REMOVE"$WHITEPC" this packages?"$YELLOWPC"n$(echo $TOREMOVE|sed 's/ /\n/g')$NORMALPC" "yes no"
    TOREMOVE=$(echo $TOREMOVE|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]* / /g')
    TOREMOVE=$(echo $TOREMOVE|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')
    echo $TOREMOVE
    if [ $ANSWER == "yes" ]; then
    call_pacman -R$RECURSIVEREMOVE $TOREMOVE
    fi
    function removegroup {
    echo -e $WHITEPC"==> Removing "$1" group"$NORMALPC
    local TOREMOVE=""
    for pack in $(ls $PACDIR/local); do
    pgroup $PACDIR"local/"$pack
    if [ "$RESP" == " $1 " ]; then
    TOREMOVE="$TOREMOVE $pack"
    echo -e $YELLOWPC$pack$WHITEPC
    fi
    done
    if [ "$TOREMOVE" == "" ]; then
    echo No package to be removed
    exit
    fi
    ask $WHITEPC"Is it ok to "$REDPC"REMOVE"$WHITEPC" above packages?"$NORMALPC "yes no"
    TOREMOVE=$(echo $TOREMOVE|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]* / /g')
    TOREMOVE=$(echo $TOREMOVE|sed 's/-[0-9,.,_,a-z,A-Z]*-[0-9,.,_,a-z,A-Z]*$//g')
    if [ $ANSWER == "yes" ]; then
    call_pacman -R$RECURSIVEREMOVE $TOREMOVE
    fi
    if (echo $1|grep P>/dev/null); then
    CHECKSNARF=$(snarf --help)
    if [ "$CHECKSNARF" == "" ]; then
    ask "Snarf not installed but required by pajman. Do you want to install it?" "yes no"
    if [ "$ANSWER" != "no" ]; then
    call_pacman -S snarf
    else
    echo If you do not install snarf, there is no pajman for you
    exit
    fi
    fi
    if (echo $1|grep y>/dev/null); then
    needroot "synchronize database"
    echo -e $WHITEPC==> Updating database$NORMALPC
    if [ ! -d /var/lib/pajman ]; then
    mkdir -p /var/lib/pajman
    fi
    for repo in $REPOS; do
    echo ==> Updating $repo
    getserver $repo
    snarf $CURSERVER/$repo.db.tar.gz /var/lib/pajman/$repo.db.tar.gz
    if [ -f /var/lib/pajman/$repo.db.tar.gz ]; then
    cd /var/lib/pajman
    tar xfz /var/lib/pajman/$repo.db.tar.gz
    rm *.db.tar.gz
    rm -r /var/lib/pacman/$repo
    mkdir /var/lib/pacman/$repo
    mv * /var/lib/pacman/$repo
    else
    echo -e $YELLOWPC"WARNING: "$WHITEPC"Repo $repo cannot be updated"$NORMALPC
    fi
    done
    rmdir /var/lib/pajman
    fi
    if (echo $1|grep f>/dev/null); then
    FORCE="1"
    fi
    if (echo $1|grep u>/dev/null); then
    needroot "update packages"
    if (echo $1|grep i>/dev/null); then
    PINF="1"
    fi
    echo -e $WHITEPC==> Upgrading system$NORMALPC
    upgrade
    instpacks
    fi
    if [ "$1" == "-P" ]; then
    needroot "install packages"
    while [ "$#" != "1" ]; do
    ipack $2
    shift
    done
    instpacks
    elif (echo $1|grep x>/dev/null); then
    needroot "search and remove"
    if (echo $1|grep g>/dev/null); then
    RECURSIVEREMOVE="s"
    fi
    if (echo $1|grep g>/dev/null); then
    needroot "remove groups"
    while [ "$#" != "1" ]; do
    removegroup $2
    shift
    done
    else
    shift
    searchandremove $@
    fi
    elif (echo $1|grep r>/dev/null); then
    needroot "rollback"
    while [ "$#" != "1" ]; do
    ROLLINGBACK="1"
    REPOS="$REPOS rollback"
    ipack $2
    shift
    done
    instpacks
    elif (echo $1|grep s>/dev/null); then
    if [ "$2" == "" ]; then
    echo No search string provided. Use "pajman -Ps -" to search for all packages
    exit
    fi
    if (echo $1|grep o>/dev/null); then
    ONLYINSTALLED="1"
    fi
    if ! (echo $1|grep q>/dev/null); then
    echo -e $WHITEPC==> Searching for "$2"$NORMALPC
    if (echo $1|grep i>/dev/null); then
    PINF="1"
    fi
    search $2
    else
    echo -e $WHITEPC==> QUICK-Searching for "$2"$NORMALPC
    if (echo $1|grep i>/dev/null); then
    PINF="1"
    fi
    quicksearch $2
    fi
    elif (echo $1|grep c>/dev/null); then
    clean
    elif ! (echo $1|grep [y,u]>/dev/null); then
    echo "Unknow paramater '$1'"
    fi
    elif [ "$1" == "--help" ] || [ "$#" == "0" ]; then
    echo "-P[options] will use pajman routines. All other options will be passed to pacman (or srcpac)
    options:
    s [string] Search for [string] in packages' names
    sq [string] Quick search (like -Ps but won't check if other versions installed. Much more faster)
    o Only search for installed packages. Use it when searching (-Pso -Psqo)
    i Show package description. Use it when searching or upgrading
    inst [packages] Install [packages]
    y Update database
    c Remove from cache all packages that are not installed
    u Compare local versions with database versions and upgrade.
    r [packages] Rollback. Install previos installed verisons of packages. Useless if you have
    cleaned package cache
    x [string] [str] Search for packages that match [string] and do not match [str] and remove them
    xs [string] [str] Same as x but pass 'recursive' parameter to pacman
    xg [group] Remove [group] group of packages
    xgs [group] Same as xg but pass 'recursive' parameter to pacman
    ESPECIAL FEATURE: Especify repo in command line:
    usage: REPOS="[repos]" pajman -P[x] [string or packages]
    example:
    REPOS="current extra tpowa" pajman -Pyinst kdebase
    - This example will update current, extra and tpowa databases, ask you if you want to install
    kdebase from extra or tpowa and either you choose extra or tpowa it will install any depencies
    you will need from extra
    NOREPOS is a list of repos that will be omited
    TIP: create an alias for pacman=pajman
    TIP: add export NOREPOS='testing' and add [testing] repo to your pacman.conf
    YSKICTUI TIP: you can run simultaneously many pajman instances.
    VERY YSKICTUI TIP: rename /sbin/ldconfig /sbin/ldconfig.pajman to speed up package install process
    (YSKICTUI = You Should Know Its Consequences To Use It)
    Now showing pacman (or srcpac) parameters:"
    if [ -f /usr/bin/srcpac ]; then
    srcpac --help
    else
    pacman --help
    fi
    else
    if [ -f /usr/bin/srcpac ]; then
    srcpac $@
    else
    call_pacman $@
    fi
    fi

  • Pacget: Super fast pacman downloads

    I spent all day (yes I'm a slow horrible programmer) writing this scrip. It takes the download url from pacman, then looks up the mirror list in /etc/pacman.d/<repo> and adds them all as mirrors to aria2.
    What ends up happening is aria2c connects to 10-20 servers downloading from all of them at the same time, which should give anyone on broadband a huge boost in download speed. This boosted my download speeds from 100-300KB/s to 2,000KB/s (my connections limit).
    http://wiki.archlinux.org/index.php/Fas … ror_Script
    Hope you guys like it.
    ps: would making a package out of this be overkill?, like one that auto installs everything?

    noriko, I liked your idea with changing the testing repo. I made it so the script now tests if the /etc/pacman.d/repo file exists, if it does it'll just use it, otherwise it'll just do one mirror. So if you have an /etc/pacman.d/testing, it should now use it.
    I mad a few revisions that I want to post up on here first to get some feedback on it before I change the wiki.
    Whats changed is the repo check, and I made it so:
    less then 5mb = 3 mirrors
    less then 10mb = 7 mirrors
    greater then 10mb = 30 mirrors
    Also to clearify:
    Any repo database file will only use one mirror (they are usually very small and not worth being split up).
    Sorry for the messy script, I'll clean it up soon and add comments/allow easy modifications to it.
    /usr/bin/pacget
    #!/bin/bash
    #pacget script
    rm -f *.aria2
    cachedir=/var/cache/pacman/pkg
    file=$(awk -F '/' '{ print $NF }' <<<$1)
    echo Downloading: $file|sed 's,/,,'
    #exit 0
    repo=$(awk -F '/' '{x=NF-3 } { print $x }' <<<$1)
    echo repo: $repo
    #exit 0
    function numir {
    size=$(sed -n '/^%CSIZE%$/{n;p}' /var/lib/pacman/$repo/$(sed 's/.pkg.tar.gz//'<<< $file)/desc)
    if [[ $size -lt 5000000 ]]; then
    m=3
    elif [[ $size -lt 10000000 ]]; then
    m=7
    else
    m=30
    fi
    if [[ $2 = *.db.tar.gz.part || ! -f /etc/pacman.d/$repo ]]; then
    echo "(using one mirror)"
    mirrors=$1
    else
    if [ -f /etc/pacman.d/$repo ]; then
    numir
    mirrors=$(sed -n 's/^Server = //; s,$,/'"$file"', ; /^ftp/p; /^http/p' /etc/pacman.d/$repo|head -$m)
    fi
    fi
    aria2c -t20 -m2 -l /root/log $mirrors -o $file.pacget
    if [ -f $cachedir/$file.pacget.aria2 ]; then
    rm $cachedir/$file.pacget $cachedir/$file.pacget.aria2
    exit 0
    fi
    mv $file.pacget $2
    exit 0
    PS: Tell me if I should post this version up on the wiki.
    PSS:
    noriko wrote:
    2000kb/s?? r u sure?
    i used it, works perfectly btw Wink but it's not enhancing anything lol.. my download is still still stuck at 240-5 kb/s ..
    hmm.. might me an isp limit of some sorts....
    :: Retrieving packages from extra...
    Downloading: openoffice-base-2.0.4-1.pkg.tar.gz
    repo: extra
    6,816,112/127,700,347 Bytes 5% 02m04s 2001.86 KB/s 24 connections

  • [Solved] Conflicting conflicts (and dependencies)

    Attempting to update an AMD x86_64 system this morning:
    07:55 Sun Dec 28
    [root@arch64://~]# pacman -Su
    :: Starting full system upgrade...
    resolving dependencies...
    looking for inter-conflicts...
    :: bluez-libs conflicts with bluez. Remove bluez? [Y/n] y
    error: failed to prepare transaction (could not satisfy dependencies)
    :: gnokii: requires bluez>=4.1
    07:55 Sun Dec 28
    [root@arch64://~]# pacman -Su
    :: Starting full system upgrade...
    resolving dependencies...
    looking for inter-conflicts...
    :: bluez-libs conflicts with bluez. Remove bluez? [Y/n] n
    error: unresolvable package conflicts detected
    error: failed to prepare transaction (conflicting dependencies)
    :: bluez-libs: conflicts with bluez
    I run LxDE and KDE3 (brand new install).
    I'm dead in the water, of course. My system's running fine, but pacman updates are borked here ATM.
    Last edited by grndrush (2008-12-28 14:34:21)

    I did a pacman -Syy *right before* the bash display above. Trying to strive for brevity. 
    I'm very current - the only packages I *expected* to be upgraded were the kernel and klibc-udev. I was current otherwise as of 6 AM this morning. No idea where this is coming from.
    FWIW, I use KDE3 as my primary D/E. It was installed after LXDE, but I didn't remove LXDE.
    gnokii is required by kde3-kdepim, so we're talking a good 100 MB of disk trashing. If I have to remove and reinstall both (although the latter IS optional, I guess...).

  • Samba died....

    I did an upgrade last night...added "unstable" to pacman repo's so I could get the latest kernel (to fix the cd burning issue) & I swear (unless sleep depriv. is causing me to imagine it) that samba was upgraded. Anyways, now when I select Windows Network I get this error message:
    "smb:///" is not a valid location.
    Any ideas???
    It was working before...i.e., I could connect to my 2 other Windows computers & browse the shared folders.

    Sudo will work for cd burning (when logged in as user), but I have the same issue as you. Just purchased an NEC dual layer dvd burner & dvd burning is a no-go w/ sudo k3b...k3b reports it cannot find growisofs. I don't often need to burn large files or big chunks of data, but I'd rather just use dvd's (since the Ridata are about $.47/ea. @ Newegg) if I can (which I can now...but no samba). The samba is definitely borked b/c I logged into XFCE & under its file manager I can load the Windows Network---or it sees the other computers, but then it just blanks the list...so it's some kinda bug (I've checked & rechecked all my settings---smb.conf, rc.conf, rc.local to make sure I didn't change anything, commented new additions out, took dnsmasq out of the daemons list, uninstalled & reinstalled samba....all to no avail). And it did work fine before. Guess I'll just hang for now, b/c burning dvd's/ cd's is more important than accessing the Windows network. Only thing I might copy over would be mp3's or .avi's. I don't use my home computers for anything business related other than ordering parts from Newegg for computer builds & such...so it's not critical, just a nice feature to have working (as it did before...  ). And it's definitely not Windows SOHO flaking, b/c I logged into XP on this very computer (1st time in awhile, btw) & I could access both of the other Windows boxes (2K & another XP  box).

  • [Solved] Error : The file or folder path /Probl?me 1 does not exist

    Hello,
    I encountered this error
    The file or folder <path>/Probl?me 2 does not exist
    while I was trying to open a directory already extracted from a zip file containing directories with special characters. In this case, it is a "è" that was misinterpreted as a "?".
    I searched the forums and on google, the solutions proposed do not work for me. Although, I have to deal with these files written in french, I would like to have my locale in english (US), with a system wide support for special characters.
    Attempt 1: Adding the option : iocharset=utf8 into the fstab, like this :
    fstab :
    # /etc/fstab: static file system information
    # <file system> <dir> <type> <options> <dump> <pass>
    none /dev/pts devpts defaults 0 0
    none /dev/shm tmpfs defaults 0 0
    /dev/cdrom /media/cd auto ro,user,noauto,unhide 0 0
    /dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0
    /dev/fd0 /media/fl auto user,noauto 0 0
    /dev/disk/by-uuid/24ba75ac-e52d-40eb-a599-83b394b500b2 /boot ext2 defaults 0 2
    /dev/disk/by-uuid/c797f409-00bc-479a-b4d6-ab49943f644b / ext4 defaults 0 1
    /dev/disk/by-uuid/668427a8-5f51-42bd-a316-fc7984bf5f4f /var ext4 defaults 0 2
    /dev/sda7 swap swap defaults 0 0
    /dev/disk/by-uuid/417cd1b7-8f06-414b-84d5-e8714d9646ab /home ext4 defaults 0 2
    /dev/disk/by-uuid/ef9aa00e-0515-4d7b-aa23-8096e787250d /usr ext4 defaults 0 2
    /dev/disk/by-uuid/17d401b7-2fc7-4d9f-8e17-657d86926d2e /tmp ext4 defaults,iocharset=utf8 0 0 <<<<<<<<<<<<<<
    /dev/disk/by-uuid/71e543b6-e06c-4b0e-b1e3-3b491ff1fefe /var/cache/pacman/repos ext4 defaults 0 2
    #/dev/sda12 /mnt/archive ext4 defaults 0 2
    #.host:/ /mnt/hgfs vmhgfs defaults 0 0
    This solution does not work, because after adding iocharset=utf8, in front or after a "defaults", after a reboot, while mounting the filesystem, there is the following error message:
    Mounting Locale Filesystem :
    mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
    missing codepage or helper program, or other error
    In some cases useful info is found in syslog - try
    dmesg | tail or so
    $ dmesg | tail
    phy0: Selected rate control algorithm 'iwl-agn-rs'
    EXT4-fs (sda5): re-mounted. Opts: (null)
    EXT4-fs (sda5): re-mounted. Opts: (null)
    EXT4-fs (sda6): mounted filesystem with ordered data mode. Opts: (null)
    EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null)
    EXT4-fs (sda9): mounted filesystem with ordered data mode. Opts: (null)
    EXT4-fs (sda10): Unrecognized mount option "iocharset=utf8" or missing value <<<<<<<<<<<<<<
    EXT4-fs (sda11): mounted filesystem with ordered data mode. Opts: (null)
    Adding 2104476k swap on /dev/sda7. Priority:-1 extents:1 across:2104476k
    tg3 0000:07:00.0: irq 44 for MSI/MSI-X
    Attempt 2: Changing all the locale features in KDE and in /etc/rc.conf as well.
    $ vim /etc/rc.conf
    LOCALE="fr_CA.utf8"
    HARDWARECLOCK=""
    TIMEZONE="America/Montreal"
    KEYMAP="us"
    CONSOLEFONT=
    CONSOLEMAP=
    USECOLOR="yes"
    It is complicated to remove these directories. I had to use the inum to get precisely these directories before removing them.
    $ ls -il
    total 8
    1577566 drwxr-xr-x 2 [username] [username] 4096 28 jan 07:09 Probl?me 1
    1577573 drwxr-xr-x 2 [username] [username] 4096 28 jan 07:09 Probl?me 2
    $ find . -inum 1577566 -exec rm -i {} \;
    rm: impossible de supprimer « ./Probl\212me 1 »: est un dossier
    Note that the hypothetical character 'è' is represented has a '\212', a 'È' if seen as a extended ASCII character.
    These directories cannot be deleted this way :
    $ rm -r Problème\ 1
    rm: cannot remove `Problème 1': No such file or directory
    or
    $ rm -r ProblÈme\ 1
    rm: cannot remove `ProblÈme 1': No such file or directory
    What should I do to be make the operating system recognize those special character, and interpret them correctly ?
    Last edited by ramboman (2011-01-29 21:45:50)

    I found a working solution, but better solution are also welcome
    I had to have fr_CA not only in utf8 but also in iso88591. I had to modify the /etc/rc.conf this way :
    LOCALE="fr_CA" <<<<<<<<<<<<<<
    HARDWARECLOCK=""
    TIMEZONE="America/Montreal"
    KEYMAP="us"
    CONSOLEFONT=
    CONSOLEMAP=
    USECOLOR="yes"
    To preserve the english US language system wide, I had to add the following line in the /etc/profile :
    # Allow french special character while in en_US
    export LANG=en_US
    The character misinterpreted by a "?" is now seen :
    as a "è" in dolphin
    as a "?" in the console
    It is now possible to access the folders.

Maybe you are looking for

  • How can I create a bulleted list where each line builds in independently?

    I would like to make a bulleted list in my video where each bullet fades in as the person says them in the video (it is not at a constant rate). So far the only way I've accomplished this is to stack 6 or 7 of the 'Fade' title generators on top of ea

  • IPod does not play music from the beginning

    Hi there! The music is properly good on the hard disk of the PC. The music is imported into iTunes, where it played well from the beginning. On the iPod, the music is also available. When playing the music now as follows: The title starts 6-10 second

  • Axis options

    I just picked up numbers in a hope of getting completely out of Microsoft's clutches, but there are two things I absolutely have to be able to do in my charts that I can't figure out. 1. Can I reverse the y-axis so the lowest numbers are on top (maki

  • Additional RAM needed

    Trying to load new software, both of which tell me I need 1-2 GB of RAM. Where do I determine how much RAM I have, and can I simply buy and upload additional RAM to this model? Thanks.

  • HT5312 I need to reset my security I'd questions and answer

    I'm having a problem remembering and recovering my Security ID questions and answers