Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Deutsches Forum (German) Deutsche Dokumentation
  • Search

[HOWTO] ..build a Paludis enabled Stage3 Archive

Dokumentation, Tipps und Tricks.
Post Reply
  • Print view
Advanced search
1 post • Page 1 of 1
Author
Message
ruth
Retired Dev
Retired Dev
Posts: 640
Joined: Sun Sep 07, 2003 1:56 pm
Location: M / AN / BY / GER

[HOWTO] ..build a Paludis enabled Stage3 Archive

  • Quote

Post by ruth » Mon Aug 04, 2008 2:34 pm

Hallo,

nachdem wir uns hier:
http://forums.gentoo.org/viewtopic-t-688483.html
zu einem Stage3 Archiv emporgearbeitet haben, stellt sich natürlich die Frage, wie man ein Stage3 Archiv inklusive Paludis erzeugen könnte...
Nun, nachdem ja catalyst nicht mit paludis zusammenarbeitet, müssen wir das ganze anders angehen:

Das im folgenden erzeugte Stage3 Archiv ist technisch gesprochen nämlich kein Stage3 Archiv, sondern ein Stage4 Archiv.
Das target stage4 von catalyst erlaubt uns nämlich, folgende Variablen zu setzen:

Code: Select all

portage_confdir:
	/root/catalyst/portage
stage4/packages:
	sys-apps/paludis
stage4/fsscript:
	/root/catalyst/fsscript_paludis.sh
Das Vorgehen sollte jetzt schon eindeutiger sein:
Wir weisen catalyst an, paludis zu installieren
Die Datei /root/catalyst/portage/package.keywords muss dementsprechend folgende Einträge enthalten:

Code: Select all

sys-apps/paludis x86 ~x86
app-admin/eselect x86 ~x86
app-admin/eselect-news x86 ~x86
Damit wird dann paludis installiert.
Schlussendlich fehlen eigentlich nur noch zwei Dateien:

/root/catalyst/stage4_paludis.spec

Code: Select all

subarch:
	i686
target:
	stage4
version_stamp:
        XXX_VERSION_STAMP_XXX 
rel_type:
	default
profile:
	default/linux/x86/2008.0
snapshot:
	XXX_VERSION_STAMP_XXX
source_subpath:
	default/stage3-i686-XXX_VERSION_STAMP_XXX
portage_confdir:
	/root/catalyst/portage
stage4/packages:
	sys-apps/paludis
stage4/fsscript:
	/root/catalyst/fsscript_paludis.sh
stage4/empty:
	/usr/portage
	/var/paludis/distfiles
	/var/paludis/repositories
	/var/tmp/paludis
und die Datei:
/root/catalyst/fsscript_paludis.sh

Code: Select all

#!/bin/bash
# export HOME for paludis...
export HOME=/root
do_check_status () {
	if [ $? -eq 0 ]; then
		echo ">>> done"
	else
		echo ">>> Error"
		exit 1
	fi
}

if [ -d /etc/paludis ]; then
	echo ">>> /etc/paludis exists, ok..."
else
	echo ">>> creating /etc/paludis..."
	mkdir /etc/paludis
	do_check_status
fi
if [ -d /etc/paludis/keywords.conf.d ]; then
        echo ">>> /etc/paludis/keywords.conf.d exists, ok..."
else
        echo ">>> creating /etc/paludis/keywords.conf.d..."
        mkdir /etc/paludis/keywords.conf.d
        do_check_status
fi
if [ -d /etc/paludis/repositories ]; then
        echo ">>> /etc/paludis/repositories exists, ok..."
else
        echo ">>> creating /etc/paludis/repositories..."
        mkdir /etc/paludis/repositories
        do_check_status
fi
if [ -d /etc/paludis/use.conf.d ]; then
        echo ">>> /etc/paludis/use.conf.d exists, ok..."
else
        echo ">>> creating /etc/paludis/use.conf.d..."
        mkdir /etc/paludis/use.conf.d
        do_check_status
fi
# ok, minimal dir skeleton exists now...
# lets continue creating the config files...

# bashrc, please adjust CFLAGS, CXXFLAGS, CHOST _MANUALLY_...
# DO IT NOW; DONT FORGET TO ADJUST PARAMETERS BELOW, ELSE YOUR SYSTEM _WILL_ BREAK!!!
#
echo ">>> creating /etc/paludis/bashrc"
cat << EOF > /etc/paludis/bashrc
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
MAKEOPTS="-j2"

# export PATH="/usr/lib/ccache/bin/:$PATH"
# export CCACHE_DIR="/var/tmp/ccache"

SKIP_FUNCTIONS=test
case "\${PN}" in
        paludis|gcc)
        unset SKIP_FUNCTIONS
        ;;
esac

EOF
do_check_status

echo ">>> creating /etc/paludis/environment.conf"
cat << EOF > /etc/paludis/environment.conf
world = /var/db/pkg/world

EOF
do_check_status

echo ">>> creating /etc/paludis/licenses.conf"
cat << EOF > /etc/paludis/licenses.conf
*/* *

EOF
do_check_status

echo ">>> creating /etc/paludis/mirrors.conf"
cat << EOF > /etc/paludis/mirrors.conf
* http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/distfiles/

EOF
do_check_status

echo ">>> creating /etc/paludis/keywords.conf.d/base.conf"
cat << EOF > /etc/paludis/keywords.conf.d/base.conf
*/*                 x86

EOF
do_check_status

echo ">>> creating /etc/paludis/keywords.conf.d/paludis.conf"
cat << EOF > /etc/paludis/keywords.conf.d/paludis.conf
sys-apps/paludis x86 ~x86
app-admin/eselect x86 ~x86
app-admin/eselect-news x86 ~x86

EOF
do_check_status

echo ">>> creating /etc/paludis/use.conf.d/paludis.conf"
cat << EOF > /etc/paludis/use.conf.d/paludis.conf
sys-apps/paludis -python

EOF
do_check_status

echo ">>> creating /etc/paludis/repositories/gentoo.conf"
cat << EOF > /etc/paludis/repositories/gentoo.conf
location = /var/paludis/repositories/gentoo/
# sync = rsync://rsync.europe.gentoo.org/gentoo-portage/
sync = rsync://rsync.gentoo.org/gentoo-portage/
profiles = /var/paludis/repositories/gentoo/profiles/default/linux/x86/2008.0
format = ebuild
distdir = /var/paludis/distfiles
names_cache = \${location}/.cache/names
write_cache = /var/cache/paludis/metadata

EOF
do_check_status

echo ">>> creating /etc/paludis/repositories/installed.conf"
cat << EOF > /etc/paludis/repositories/installed.conf
location = /var/db/pkg/
format = vdb
names_cache = \${location}/.cache/names
provides_cache = \${location}/.cache/provides

EOF
do_check_status

echo ">>> creating /var/paludis/repositories"
mkdir -p /var/paludis/repositories
do_check_status

echo ">>> creating /var/paludis/distfiles"
mkdir -p /var/paludis/distfiles
do_check_status
echo ">>> adjusting ownership of /var/paludis/distfiles"
chown paludisbuild:paludisbuild /var/paludis/distfiles
do_check_status
echo ">>> chmod (1) for /var/paludis/distfiles"
chmod g+rwx /var/paludis/distfiles
do_check_status
echo ">>> chmod (2) for /var/paludis/distfiles"
chmod +s /var/paludis/distfiles
do_check_status
echo ">>> creating /var/tmp/paludis"
mkdir -p /var/tmp/paludis
do_check_status
echo ">>> chgrp for /var/tmp/paludis"
chgrp paludisbuild /var/tmp/paludis
do_check_status
echo ">>> chmod (1) for /var/tmp/paludis"
chmod g+rwx /var/tmp/paludis
do_check_status
echo ">>> chmod (2) for /var/tmp/paludis"
chmod +s /var/tmp/paludis
do_check_status

echo ">>> linking portage tree to paludis"
ln -s /usr/portage /var/paludis/repositories/gentoo
do_check_status
mkdir -p /var/paludis/repositories/gentoo/.cache/names
do_check_status

echo ">>> regenerating installed cache"
paludis --regenerate-installed-cache
do_check_status

echo ">>> regenerating installable cache"
paludis --regenerate-installable-cache
do_check_status

echo ">>> re-installing paludis with itself"
paludis -i --debug-build none paludis
do_check_status

echo ">>> re-installing system"
paludis --dl-reinstall always --debug-build none -i system
do_check_status
echo ">>> all done, exiting"
exit 0
Das ganze sollte so ziemlich selbsterklärend sein.
Das Resultat von:

Code: Select all

catalyst -v -f stage4_paludis.spec
ist jedenfalls ein (technisch gesehen Stage4) Stage3 Archiv, das paludis als Paketmanager verwendet.
Das fsscript_paludis.sh beinhaltet die von mir bevorzugte Paludiskonfiguration.
Viele werden diese also an ihre eigenen Bedürfnisse anpassen wollen...
Auch und insbesondere auf die CHOST, CFLAGS, CXXXFLAGS sollte geachtet werden.

Es ist im übrigen klar, dass sich im Laufe der Zeit für paludis benötigte Keywords, Supportpackages,... ändern können (und werden).
Ebenfalls die Konfiguration von Paludis selbst.
Der geneigte Leser und Anwender sollte dann allerdings in der Lage sein, die notwendigen Änderungen selbst durchzuführen...

HTH,
ruth
"The compiler has tried twice to abort and cannot do so; therefore, compilation will now terminate."
-- IBM PL/I (F) error manual
Top
Post Reply
  • Print view
1 post • Page 1 of 1

Return to “Deutsche Dokumentation”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic