Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Paludis support thread (current v. 0.14.3) - Part 1
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3 ... 13, 14, 15 ... 19, 20, 21  Next  
This topic is locked: you cannot edit posts or make replies.    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
Gentree
Watchman
Watchman


Joined: 01 Jul 2003
Posts: 5350
Location: France, Old Europe

PostPosted: Mon Jan 08, 2007 9:12 pm    Post subject: Reply with quote

Ah, swamp fever, all starts to make sense. At least the etomology, not reason for the name.

I'd seem zxy's sig. that used to read Paludis support forum and thought it was some sort of charitable organisation. :roll:

I finally got annoyed and thought what is this crap? I clicked and discovered an potentially crucially useful tool.

So much for obscure project names.

8)
_________________
Linux, because I'd rather own a free OS than steal one that's not worth paying for.
Gentoo because I'm a masochist
AthlonXP-M on A7N8X. Portage ~x86
Back to top
View user's profile Send private message
Conan
Guru
Guru


Joined: 02 Nov 2004
Posts: 360

PostPosted: Mon Jan 08, 2007 9:15 pm    Post subject: Reply with quote

I believe its an acronym for something.. can't remember what though
Back to top
View user's profile Send private message
zxy
Veteran
Veteran


Joined: 06 Jan 2006
Posts: 1160
Location: in bed in front of the computer

PostPosted: Mon Jan 08, 2007 9:54 pm    Post subject: Reply with quote

@Gentree Maybe I should put the donation bank account near to my sig, 8)
_________________
Nature does not hurry, yet everything is accomplished.
Lao Tzu
Back to top
View user's profile Send private message
dhave
Apprentice
Apprentice


Joined: 28 Oct 2005
Posts: 298
Location: Still outside the Matrix ...

PostPosted: Mon Jan 08, 2007 10:49 pm    Post subject: Reply with quote

Gentree wrote:

I finally got annoyed and thought what is this crap? I clicked and discovered an potentially crucially useful tool.

It really is a good package manager. I felt like experimenting a bit and have been very pleasantly surprised. I've been using it just a week, though.
_________________
This space available!
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3065
Location: Korea

PostPosted: Mon Jan 08, 2007 11:17 pm    Post subject: Reply with quote

I made a script that'll let you add layman repositories automatically to your paludis configuration. I really just copied the section that does the same out of the portage2paludis.bash script then made it so it wouldn't exit with error when you hit a pre-existing overlay. Also, I removed references to portage scripts (portageq) and replaced it with simply doing "source /etc/make.conf" which works well since layman uses that file (indirectly) and most people will probably be using that file as a configuration starter anyway.

So here it goes:
Code:
#!/bin/bash
# This file is based on an excerpt from the portage2paludis.bash
# script Copyright (c) 2006 Mike Kelly <pioto@gentoo.org>

# The purpose of this file is to allow one to allow one to
# Add new repositories which may have been added through an
# external manager such as layman.
# It doesn't use any portage utilities other than sourcing
# /etc/make.conf to get the PORTDIR_OVERLAY variable to
# walk through the overlays that portage/layman would use


# FUNCTIONS #

# needs 3 params, value to test, var to show if true, var to show if false
# basically, acts like the ? ... : ... operator in C
qmark_oper() {
    if [[ "${1}" == "y" ]] ; then
        echo "${2}"
    else
        echo "${3}"
    fi
}

# Given a file path, will attempt to determine a sync url for a paludis
# repository config file.
function get_sync_url() {
    local path="${1}"

    if [[ -d "${path}/.svn" ]] ; then
        url=$(env LANG=C svn info "${path}" | grep -i "^url" | cut -d" " -f2)
        case ${url} in
            http://*|https://*)
                echo "svn+${url}"
                ;;
            svn://*|svn+ssh://*)
                echo "${url}"
                ;;
            *)
                return 1
                ;;
        esac
    elif [[ -d "${path}/CVS" ]] ; then
        return 1
    elif [[ -d "${path}/.git" ]] ; then
        url=$(grep -i "^url:" "${path}/.git/remotes/origin" | cut -d" " -f2)
        case ${url} in
            http://*)
                echo "git+${url}"
                ;;
            ssh://*)
                echo "git+${url}"
                ;;
            *)
                return 1
                ;;
            esac
    else
        return 1
    fi
}

canonicalise() {
   case $(uname -s) in
      FreeBSD) realpath $@ ;;
      *) readlink -f $@ ;;
   esac
}

# MAIN #

echo "Please enter where you set up paludis"
echo
read -e -p "Paludis Config Directory [/etc/paludis]: " outputdir
echo
outputdir="${outputdir:-/etc/paludis}"

if [[ ! -d "${outputdir}" ]] ; then
    echo "No such directory ${outputdir}." 1>&2
    echo "Aborting." 1>&2
    exit 1
elif [[ $(ls -1 "${outputdir}" | wc -l) -eq 0 ]] ; then
    echo "No paludis setup at ${outputdir}" 1>&2
    exit 1
fi

read -n1 -p "Enable names cache? [y/N] " names_cache
echo
names_cache=${names_cache:-n}

if [[ -d "/var/cache/paludis/metadata" ]] ; then
   echo "Detected write cache directory; enabling write caches."
   write_cache="y"
else
   read -n1 -p "Enable local metadata cache (write_cache)? [y/N] " write_cache
   echo
   write_cache=${write_cache:-n}
   [[ "${write_cache}" == "y" ]] && mkdir -p "/var/cache/paludis/metadata"
fi

source /etc/make.conf

profile="$(canonicalise /etc/make.profile)"

echo
echo "* Overlays:"

[[ -z "${PORTDIR_OVERLAY}" ]] && echo "No overlays to configure."

# Needed for repo_name matching
shopt -s extglob

for o in ${PORTDIR_OVERLAY}; do
    # Get our repo_name
    repo_name=
    [[ -f "${o}/profiles/repo_name" ]] \
        && repo_name=$(< "${o}/profiles/repo_name")

    if [[ -z "${repo_name}" ]] ; then
        mkdir -p "${o}/profiles"
        echo
        echo "The repository at \"${o}\""
        echo "is not complete. It needs to have a name. (Set in the"
        echo "profiles/repo_name file). Please enter one now."
        echo
        echo "Legal characters are: The letters A-Z (upper and lower case),"
        echo "the digits 0-9, and the symbols - (\"dash\"), + (\"plus\"),"
        echo "and _ (\"underscore\")."
        echo
        read -e -p "Name for ${o}: " repo_name
        echo "${repo_name}" > "${o}/profiles/repo_name"
    fi
    while [[ "${repo_name}" != +([A-Za-z0-9+_-]) ]] ; do
        echo
        echo "Invalid name; try again."
        read -e -p "Name for ${o}: " repo_name
        echo "${repo_name}" > "${o}/profiles/repo_name"
    done

    repo_file="${outputdir}/repositories/${repo_name}.conf"

    if [[ -f "${repo_file}" ]] ; then
        echo "Using preconfigured settings for for the repo called"
        echo "\"${repo_name}\""

   # add cache variables if they're wanted   and not present
   [[ "${names_cache}" == "y" ]] && \
   [[ "`grep "names_cache" ${repo_file} | sed '/^\#/d'`" == "" ]] && \
   echo "names_cache = $(qmark_oper "${names_cache}" "\${location}/.cache/names" "/var/empty")" >> ${repo_file} && echo "Adding names cache to ${repo_name}"
   
   # add write cache variables if they're wanted and aren't present
   [[ "${write_cache}" == "y" ]] && \
   [[ "`grep "write_cache" ${repo_file} | sed '/^\#/d'`" == "" ]] && \
   echo "write_cache = $(qmark_oper "${write_cache}" "/var/cache/paludis/metadata" "/var/empty")" >> ${repo_file} && echo "Adding write cache to ${repo_name}"
        continue
    fi

    echo -n "Generating ${repo_name}.conf (${o}) (Pass 1 of 1)... "

    sync_url=$(get_sync_url "${o}")

    eclassdirs="${portdir}/eclass"
    [[ -d "${o}/eclass" ]] && eclassdirs="${eclassdirs} ${o}/eclass"

    if [[ ! -f "${o}/profiles/categories" ]] ; then
        echo
        echo -n "  creating profiles/categories file... "
        mkdir -p "${o}/profiles"
        for c in "${o}"/*-* "${o}"/virtual ; do
            [[ -d "${c}" ]] || continue
            echo "${c/${o}\/}" >> "${o}/profiles/categories"
        done
        echo "done."
    fi

    cat << EOF >"${repo_file}"
location = \${ROOT}${o}
sync = ${sync_url}
profiles = \${ROOT}${profile}
eclassdirs = ${eclassdirs}
distdir = ${DISTDIR}
format = portage
names_cache = $(qmark_oper "${names_cache}" "\${location}/.cache/names" "/var/empty")
write_cache = $(qmark_oper "${write_cache}" "/var/cache/paludis/metadata" "/var/empty")
EOF
    echo "done."
done

# Not needed anymore
shopt -u extglob
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3065
Location: Korea

PostPosted: Wed Jan 10, 2007 7:55 pm    Post subject: Reply with quote

paludis complains of a circular dependency if you try to install libwww-perl.

But AFAICT the actual circular dependency was fixed already.

Here's what I see:
If USE="ssl" then libwww-perl depends on Crypt-SSLeay. And it used to be that Crypt-SSLeay depended on libwww-perl.

So if you did "emerge libwww-perl" it would fail.

So they changed the Crypt-SSLeay ebuild to have libwww-perl be in the PDEPEND.

So now if I do "paludis -ip libwww-perl" I get
Code:
Dependency error:
  * In program /usr/bin/paludis -ip libwww-perl:
  * When performing install action from command line:
  * When executing install task:
  * When adding PackageDepAtom 'dev-perl/libwww-perl':
  * When adding package 'dev-perl/libwww-perl-5.803-r1::gentoo':
  * When adding build dependencies as pre dependencies:
  * When adding PackageDepAtom 'dev-perl/Crypt-SSLeay':
  * When adding package 'dev-perl/Crypt-SSLeay-0.51-r1::gentoo':
  * When adding post dependencies as post dependencies:
  * When adding PackageDepAtom 'dev-perl/libwww-perl':
  * Circular dependency: Atom 'dev-perl/libwww-perl' matched by merge list entry 'dev-perl/libwww-perl-5.803-r1::gentoo', which does not yet have its dependencies installed (N7paludis23CircularDependencyErrorE)


But if I do "paludis -ip Crypt-SSLeay" I get
Code:
Building dependency list...

These packages will be installed:

* dev-perl/Crypt-SSLeay-0.51-r1::gentoo [N]
* virtual/perl-libnet-1.19::gentoo [N]
* dev-perl/HTML-Tagset-3.10::gentoo [N]
* dev-perl/HTML-Parser-3.48::gentoo [N] unicode
* virtual/perl-MIME-Base64-3.07::gentoo [N]
* dev-perl/URI-1.35::gentoo [N]
* virtual/perl-Digest-MD5-2.36::gentoo [N]
* dev-perl/HTML-Tree-3.19.01::gentoo [N]
* dev-perl/Compress-Raw-Zlib-2.001::gentoo [N]
* virtual/perl-Scalar-List-Utils-1.18::gentoo [N]
* dev-perl/IO-Compress-Base-2.001::gentoo [N]
* dev-perl/IO-Compress-Zlib-2.001::gentoo [N]
* dev-perl/Compress-Zlib-2.001::gentoo [N]
* dev-perl/libwww-perl-5.803-r1::gentoo [N] ssl

Total: 14 packages (14 new)
Back to top
View user's profile Send private message
adekoba
Tux's lil' helper
Tux's lil' helper


Joined: 06 Oct 2006
Posts: 129

PostPosted: Wed Jan 10, 2007 8:37 pm    Post subject: Reply with quote

How do I update my configuration files? I get this:

Code:

 * Searching for configuration files requiring action...
 * Found 3 files in //etc
 * Found files in 1 directories
 * Your action is required


every time i install something.
_________________
website
Back to top
View user's profile Send private message
spb
Retired Dev
Retired Dev


Joined: 02 Jan 2004
Posts: 2135
Location: Cambridge, UK

PostPosted: Wed Jan 10, 2007 8:43 pm    Post subject: Reply with quote

dark_speedo wrote:
How do I update my configuration files?
Same way as normal -- use etc-update or dispatch-conf.
Back to top
View user's profile Send private message
Conan
Guru
Guru


Joined: 02 Nov 2004
Posts: 360

PostPosted: Wed Jan 10, 2007 8:51 pm    Post subject: Reply with quote

IOW you need to install either portage or cfg-update to use paludis
Back to top
View user's profile Send private message
adekoba
Tux's lil' helper
Tux's lil' helper


Joined: 06 Oct 2006
Posts: 129

PostPosted: Wed Jan 10, 2007 8:55 pm    Post subject: Reply with quote

spb wrote:
dark_speedo wrote:
How do I update my configuration files?
Same way as normal -- use etc-update or dispatch-conf.

ah, ok. it wasn't working before because i had CONFIG_PROTECT="-*" set. thanks.
_________________
website
Back to top
View user's profile Send private message
Gentree
Watchman
Watchman


Joined: 01 Jul 2003
Posts: 5350
Location: France, Old Europe

PostPosted: Wed Jan 10, 2007 9:29 pm    Post subject: Reply with quote

dark_speedo wrote:
"Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders"


hmm, I'd never thought of it like that. Maybe Java isn't so bad after all. :lol:
_________________
Linux, because I'd rather own a free OS than steal one that's not worth paying for.
Gentoo because I'm a masochist
AthlonXP-M on A7N8X. Portage ~x86
Back to top
View user's profile Send private message
lefou
Apprentice
Apprentice


Joined: 18 Feb 2004
Posts: 199
Location: Germany, Lusatia

PostPosted: Wed Jan 10, 2007 10:30 pm    Post subject: Reply with quote

Paludis wants to permanently downgrade x1-libs/qt if I run paludis -ip world.

Code:
These packages will be installed:

* x11-libs/qt-3.3.6-r4::gentoo {:3} [D 3.3.6-r5] cups -debug doc -examples -firebird gif -immqt% -immqt-bc% ipv6% -mysql -nas -nis odbc opengl -postgres sqlite xinerama <app-editors/kile-1.9.3::installed, app-misc/kheisereg-0.8::installed, 121 more>

Total: 1 package (1 downgrade)

As paludis has no "--tree" equvalent, I can not determine the package, which forced the downgrade; "--show-reasons full" isn't helpfull eigher, as it list many many packages without any further explanation...

Any hint?
Back to top
View user's profile Send private message
spb
Retired Dev
Retired Dev


Joined: 02 Jan 2004
Posts: 2135
Location: Cambridge, UK

PostPosted: Wed Jan 10, 2007 10:33 pm    Post subject: Reply with quote

lefou wrote:
Any hint?
Try -ip --show-reasons summary and `paludis -q qt`.
Back to top
View user's profile Send private message
lefou
Apprentice
Apprentice


Joined: 18 Feb 2004
Posts: 199
Location: Germany, Lusatia

PostPosted: Wed Jan 10, 2007 10:41 pm    Post subject: Reply with quote

paludis -q qt gives me the following:

Code:
* x11-libs/qt
    gentoo:                3.3.4-r8 3.3.6-r4 3.3.6-r5 {:3} 4.1.4-r2 4.2.1 4.2.2 {:4}
    installed:             3.3.6-r5 {:3} 4.2.2* {:4}
    x-kde-experimental:    (3.99)K {:3}
    lefous_portage_overlay: 4.2.1 {:4}
    Homepage:              http://www.trolltech.com/
    Description:           The Qt toolkit is a comprehensive C++ application development framework.
    License:               ( GPL-2 )
    Installed time:        Fri Dec 15 23:58:43 2006
    Use flags:             (-accessibility) (cups) (dbus) (-debug) (doc) (-examples) (-firebird) (gif) (-glib) (-input_devices_wacom) (jpeg) (mng) (-mysql) (-nas) (-nis) (odbc) (opengl) (pch) (png) (-postgres) (-qt3support) (sqlite) (sqlite3) (xinerama) (zlib)

Key to mask reasons:

* K: keyword


"--show-reasons summary" is my default.
Back to top
View user's profile Send private message
spb
Retired Dev
Retired Dev


Joined: 02 Jan 2004
Posts: 2135
Location: Cambridge, UK

PostPosted: Wed Jan 10, 2007 11:57 pm    Post subject: Reply with quote

Looks like something that's installed is depending upon that specific version for some reason. Nothing really I can suggest except to look through your installed packages for anything with a dep on a specific qt version.
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3065
Location: Korea

PostPosted: Thu Jan 11, 2007 12:41 am    Post subject: Reply with quote

Since you seem to not want it to downgrade you should:
1) Note which version it's trying to install
2) Mask all versions less than or equal to that
Then when you go to do your upgrading script it'll fail but it'll pinpoint where the dependency is coming from.
Back to top
View user's profile Send private message
zxy
Veteran
Veteran


Joined: 06 Jan 2006
Posts: 1160
Location: in bed in front of the computer

PostPosted: Thu Jan 11, 2007 10:51 am    Post subject: Reply with quote

I created a page on my site, where I have put the scripts from this thread.

You can see and download the scripts here:
Paludis - scripts.

If you think something should be added PM me.

Zxy


--- EDIT ---

I would like to ask the authors of the scripts, that are and will be added to the page, if they could send me a (brief) description.
Thanks
_________________
Nature does not hurry, yet everything is accomplished.
Lao Tzu


Last edited by zxy on Thu Jan 11, 2007 4:12 pm; edited 2 times in total
Back to top
View user's profile Send private message
lefou
Apprentice
Apprentice


Joined: 18 Feb 2004
Posts: 199
Location: Germany, Lusatia

PostPosted: Thu Jan 11, 2007 12:15 pm    Post subject: Reply with quote

slycordinator wrote:
Since you seem to not want it to downgrade you should:
1) Note which version it's trying to install
2) Mask all versions less than or equal to that
Then when you go to do your upgrading script it'll fail but it'll pinpoint where the dependency is coming from.


Strange, masking with "<" and/or with "<=" didn't trigger any downgrade nor problem/warning/error message. So, as it seems the problem can be avoided by hard masking the downgrade candidate, it is not abvious, which package (or which config setting) triggered that behavior. With portage's emerge, "--tree" exposed the package.

Thanks for your tips.
Back to top
View user's profile Send private message
zxy
Veteran
Veteran


Joined: 06 Jan 2006
Posts: 1160
Location: in bed in front of the computer

PostPosted: Thu Jan 11, 2007 12:28 pm    Post subject: Reply with quote

I have an idea.

What if an ebuild would be created, with all hooks, that were posted here.
It would be used like
Code:
paludis -i paludis-hooks

In /ets/paludis/use.conf you could then specify something like
Code:
sys-apps/paludis-hooks eix collision-protect update-prelink-orphans
or exclude some of course
Code:
sys-apps/paludis-hooks -eix collision-protect -update-prelink-orphans


I could host the file, if needed. I'm not good at writing ebuilds, so I could use some help.

What do you guys think?
_________________
Nature does not hurry, yet everything is accomplished.
Lao Tzu
Back to top
View user's profile Send private message
lefou
Apprentice
Apprentice


Joined: 18 Feb 2004
Posts: 199
Location: Germany, Lusatia

PostPosted: Thu Jan 11, 2007 12:37 pm    Post subject: Reply with quote

Good idea with the ebuild.

By the way. The hooks should be prefixed with a number, e.g. 10_, to declare the order of execution.
Back to top
View user's profile Send private message
lefou
Apprentice
Apprentice


Joined: 18 Feb 2004
Posts: 199
Location: Germany, Lusatia

PostPosted: Thu Jan 11, 2007 12:40 pm    Post subject: Reply with quote

To simmulate a "--ask" option, you can place a script /usr/share/paludis/hooks/install_all_pre/10_read-key.bash:
Code:
#!/bin/bash

echo "Press any key to continue or CTRL-C to abort"
read
Back to top
View user's profile Send private message
lefou
Apprentice
Apprentice


Joined: 18 Feb 2004
Posts: 199
Location: Germany, Lusatia

PostPosted: Thu Jan 11, 2007 12:47 pm    Post subject: Reply with quote

Belongs the idea with the ebuild for paludis hooks. Instead of using use flags, it would be great to use eselect to select any hook, just like bash-completion.

# eselect paludis-hook list
[1] install_all_pre : 10_read-key.bash : Read a key before installing
[2] install_all_post : 10_mail_me.bash : Email me a message about installed packages
[3] ...

(* for installed hooks)

# eselect paludis-hook enable 1
Enabled hook install_all_pre : 10_read_key.bash

# eselect paludis-hook list
[1] install_all_pre : 10_read-key.bash : Read a key before installing *
[2] install_all_post : 10_mail_me.bash : Email me a message about installed packages
[3] ...

(* for installed hooks)

You get the idea...

I can write ebuild, but never wrote an eselect script. Is this hard? What you think about the idea?
Back to top
View user's profile Send private message
zxy
Veteran
Veteran


Joined: 06 Jan 2006
Posts: 1160
Location: in bed in front of the computer

PostPosted: Thu Jan 11, 2007 12:48 pm    Post subject: Reply with quote

lefou wrote:
To simmulate a "--ask" option, you can place a script /usr/share/paludis/hooks/install_all_pre/10_read-key.bash:
Code:
#!/bin/bash

echo "Press any key to continue or CTRL-C to abort"
read

It would be even better to check first for the command line option like --ask or -a. (I don't know how to do that)

And after 'read' command the script should then check if you pressed y or n.

But generally good idea. I was missing 'ask', but never did anything about it.
_________________
Nature does not hurry, yet everything is accomplished.
Lao Tzu
Back to top
View user's profile Send private message
dleverton
Guru
Guru


Joined: 28 Aug 2006
Posts: 517

PostPosted: Thu Jan 11, 2007 1:01 pm    Post subject: Reply with quote

lefou wrote:
The hooks should be prefixed with a number, e.g. 10_, to declare the order of execution.

I don't think Paludis executes the hooks in any particular order. If it seems to do so on your machine, it might be because your filesystem is returning them in order, but it's not a good idea to rely on that.

Sounds like a good idea for a feature request, though.

EDIT: actually, I might be wrong about this. Best to test it, at least.

zxy wrote:
It would be even better to check first for the command line option like --ask or -a. (I don't know how to do that)

I don't think you can do that, but you could have an environment variable:
Code:
PALUDIS_ASK=yes paludis -i ...
or something.

Last edited by dleverton on Thu Jan 11, 2007 1:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
lefou
Apprentice
Apprentice


Joined: 18 Feb 2004
Posts: 199
Location: Germany, Lusatia

PostPosted: Thu Jan 11, 2007 1:04 pm    Post subject: Reply with quote

zxy wrote:
lefou wrote:
To simmulate a "--ask" option, you can place a script /usr/share/paludis/hooks/install_all_pre/10_read-key.bash:
Code:
#!/bin/bash

echo "Press any key to continue or CTRL-C to abort"
read

It would be even better to check first for the command line option like --ask or -a. (I don't know how to do that)

And after 'read' command the script should then check if you pressed y or n.

But generally good idea. I was missing 'ask', but never did anything about it.


This was just a simple but fast hack to accomplish the "--ask" behavior. With "emerge --ask" I always pressed just enter to continue, CTRL-C to abort, as entering 'y' or 'no' followed by an enter is/was to complicated (read complicated as 'slow').
Back to top
View user's profile Send private message
Display posts from previous:   
This topic is locked: you cannot edit posts or make replies.    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page Previous  1, 2, 3 ... 13, 14, 15 ... 19, 20, 21  Next
Page 14 of 21

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum