Creating portage profile

atratsevskiy
root 15 years ago
parent e07314cbe6
commit c16a5f3c69

@ -0,0 +1,8 @@
sys-apps/openrc amd64
sys-apps/baselayout amd64
sys-apps/sysvinit amd64
=sys-apps/util-linux-2.16.1 amd64
sys-fs/aufs2 amd64
~sys-fs/udev-146 amd64
=sys-kernel/gentoo-sources-2.6.31-r4 amd64
x11-drivers/nvidia-drivers amd64

@ -0,0 +1,8 @@
app-emulation/wine amd64
=media-sound/amarok-2.2.0 amd64
app-office/openoffice amd64
dev-db/pgadmin3 amd64
media-gfx/gimp amd64
media-libs/libgphoto2 amd64
net-print/gutenprint amd64

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/amd64/10.0
../../../amd64
..

@ -0,0 +1,11 @@
<net-fs/samba-3.4.3
<net-nds/openldap-2.4.0
=net-print/foomatic-db-3.0.20060720
<app-crypt/qca-2.0.0
<dev-db/mysql-5.0.76
<app-cdr/k3b-1.68.0_alpha3
<dev-util/kdesvn-1.2.1
<kde-base/kdelibs-4.0
<media-gfx/digikam-0.10.0
<media-plugins/kipi-plugins-0.4.0

@ -0,0 +1,8 @@
app-emulation/wine x86
=media-sound/amarok-2.2.0 x86
app-office/openoffice x86
dev-db/pgadmin3 x86
media-gfx/gimp x86
media-libs/libgphoto2 x86
net-print/gutenprint x86

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/x86/10.0
../../../x86
..

@ -0,0 +1,5 @@
app-office/openoffice amd64
dev-db/pgadmin3 amd64
media-gfx/gimp amd64
media-libs/libgphoto2 amd64
net-print/gutenprint amd64

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/amd64/10.0
../../../amd64
..

@ -0,0 +1,6 @@
<net-fs/samba-3.4.3
<net-nds/openldap-2.4.0
=net-print/foomatic-db-3.0.20060720
<app-crypt/qca-2.0.0
<dev-db/mysql-5.0.76

@ -0,0 +1,5 @@
app-office/openoffice x86
dev-db/pgadmin3 x86
media-gfx/gimp x86
media-libs/libgphoto2 x86
net-print/gutenprint x86

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/x86/10.0
../../../x86
..

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/amd64/10.0
../../../amd64
..

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/x86/10.0
../../../x86
..

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/amd64/10.0
../../../amd64
..

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/x86/10.0
../../../x86
..

@ -0,0 +1,2 @@
<www-client/mozilla-firefox-3.5.4

@ -0,0 +1,6 @@
<net-print/foomatic-db-3.0.20080507
<net-print/foomatic-db-engine-3.0.20080507
<net-print/foomatic-db-ppds-3.0.20080507
<net-wireless/madwifi-ng-0.9.4.4030.20090529
<net-wireless/madwifi-ng-tools-0.9.4.4030.20090529

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/amd64/10.0
../../../amd64
..

@ -0,0 +1,10 @@
<net-dns/bind-9.6.1
<net-fs/samba-3.4.3
<net-nds/openldap-2.4.0
=net-print/foomatic-db-3.0.20060720
<dev-db/postgresql-base-9.5
<virtual/postgresql-base-9.5
<virtual/postgresql-server-9.5

@ -0,0 +1,3 @@
/usr/portage/profiles/default/linux/x86/10.0
../../../x86
..

@ -0,0 +1,9 @@
sys-apps/openrc x86
sys-apps/baselayout x86
sys-apps/sysvinit x86
=sys-apps/util-linux-2.16.1 x86
sys-fs/aufs2 x86
~sys-fs/udev-146 x86
=sys-kernel/gentoo-sources-2.6.31-r4 x86
x11-drivers/nvidia-drivers x86

@ -0,0 +1,96 @@
diff --git a/modules/profile.eselect b/modules/profile.eselect
index 813fea2..3d7da7f 100644
--- a/modules/profile.eselect
+++ b/modules/profile.eselect
@@ -11,6 +11,8 @@ MAINTAINER="eselect@gentoo.org"
SVN_DATE='$Date: 2009-09-20 22:26:07 +0200 (Sun, 20 Sep 2009) $'
VERSION=$(svn_date_to_version "${SVN_DATE}")
+CALCULATE_OVERLAY="/usr/local/portage/layman/calculate"
+
# get a list of valid profiles
find_targets() {
local arch p portdir=${1}
@@ -19,6 +21,17 @@ find_targets() {
arch=$(arch)
[[ -z ${arch} ]] && return 1
+ # add support calculate overlay
+ if [[ -f "${ROOT}${CALCULATE_OVERLAY}/profiles/profiles.desc" ]]
+ then
+ for p in $(sed -n -e \
+ "s|^${arch}[[:space:]]\+\([^[:space:]]\+\).*$|\1|p" \
+ "${ROOT}${CALCULATE_OVERLAY}/profiles/profiles.desc")
+ do
+ echo ${p}
+ done
+ fi
+
for p in $(sed -n -e "s|^${arch}[[:space:]]\+\([^[:space:]]\+\).*$|\1|p" \
"${ROOT}${portdir}/profiles/profiles.desc")
do
@@ -55,6 +68,24 @@ set_symlink() {
if [[ ${arch} != ${parch} && ${2} != "--force" ]] ; then
die -q "${target} is not a valid profile for ${arch}"
fi
+ # add support calculate overlay
+ elif [[ -n ${target} && -d ${ROOT}${CALCULATE_OVERLAY}/profiles/${target} ]]
+ then
+ local arch parch
+
+ # if the profile was explicitly specified (rather than a number)
+ # double check and make sure it's valid
+ arch=$(arch)
+ [[ -z ${arch} && ${2} != "--force" ]] && return 1
+
+ # do a reverse lookup and find the arch associated with ${target}
+ parch=$(sed -n -e \
+ "s|^\([[:alnum:]]\+\)[[:space:]].*${target}[[:space:]].*$|\1|p" \
+ "${ROOT}${CALCULATE_OVERLAY}/profiles/profiles.desc")
+
+ if [[ ${arch} != ${parch} && ${2} != "--force" ]] ; then
+ die -q "${target} is not a valid profile for ${arch}"
+ fi
fi
if [[ -z ${target} ]] ; then
@@ -69,6 +100,17 @@ set_symlink() {
fi
ln -s "..${portdir#"${EPREFIX}"}/profiles/${target}" \
"${EROOT}/etc/make.profile"
+ # add support calculate overlay
+ elif [[ -d ${ROOT}${CALCULATE_OVERLAY}/profiles/${target} ]] ; then
+ # we must call remove_symlink() here instead of calling
+ # it from do_set(), since if the link is removed, we
+ # cannot determine $ARCH in find_targets()
+ if [[ -L ${EROOT}/etc/make.profile ]] ; then
+ remove_symlink \
+ || die -q "Couldn't remove current make.profile symlink"
+ fi
+ ln -s "..${CALCULATE_OVERLAY}/profiles/${target}" \
+ "${EROOT}/etc/make.profile"
else
die -q "Target \"${1}\" doesn't appear to be valid!"
fi
@@ -87,6 +129,10 @@ do_show() {
local portdir=$(portageq portdir)
local profiledir=$(canonicalise "${ROOT}${portdir}/profiles")
link=${link##${profiledir}/}
+ # add support calculate overlay
+ calcprofiledir=$(canonicalise "${ROOT}${CALCULATE_OVERLAY}/profiles")
+ link=${link##${calcprofiledir}/}
+
write_kv_list_entry "${link}" ""
else
write_kv_list_entry "(unset)" ""
@@ -109,6 +155,10 @@ do_list() {
profiledir=$(canonicalise "${ROOT}${portdir}/profiles")
active=$(canonicalise "${EROOT}/etc/make.profile")
active=${active##${profiledir}/}
+ # add support calculate overlay
+ calcprofiledir=$(canonicalise "${ROOT}${CALCULATE_OVERLAY}/profiles")
+ active=${active##${calcprofiledir}/}
+
if [[ -n ${targets[@]} ]] ; then
local i
for (( i = 0 ; i < ${#targets[@]} ; i = i + 1 )) ; do

@ -0,0 +1,19 @@
--- kdelibs-4.3.1.orig/kdecore/services/kfoldermimetype.cpp
+++ kdelibs-4.3.1/kdecore/services/kfoldermimetype.cpp
@@ -77,11 +77,11 @@ QString KFolderMimeTypePrivate::iconName( const KUrl& _url ) const
// There are also other directories with 0 size, such as /proc, that may
// be mounted, but those are unlikely to contain .directory (and checking
// this would require KMountPoint from kio).
- KDE_struct_stat buff;
- if (KDE_stat( QFile::encodeName( _url.toLocalFile()), &buff ) == 0
- && S_ISDIR( buff.st_mode ) && buff.st_size == 0 ) {
- return KMimeTypePrivate::iconName( _url );
- }
+ //KDE_struct_stat buff;
+ //if (KDE_stat( QFile::encodeName( _url.toLocalFile()), &buff ) == 0
+ // && S_ISDIR( buff.st_mode ) && buff.st_size == 0 ) {
+ // return KMimeTypePrivate::iconName( _url );
+ //}
KUrl u( _url );
u.addPath( ".directory" );

@ -0,0 +1,12 @@
diff -uNr kdebase-workspace-4.2.0.old/kdm/kfrontend/kgapp.cpp kdebase-workspace-4.2.0/kdm/kfrontend/kgapp.cpp
--- kdebase-workspace-4.2.0.old/kdm/kfrontend/kgapp.cpp 2008-09-18 00:54:59.000000000 +0400
+++ kdebase-workspace-4.2.0/kdm/kfrontend/kgapp.cpp 2009-02-12 15:50:05.000000000 +0300
@@ -377,6 +377,8 @@
setCursor( dpy, app.desktop()->winId(), XC_left_ptr );
int rslt = ex_exit;
+ app.setStyle( _GUIStyle );
+ app.setFont( *_normalFont );
for (;;) {
int cmd = gRecvInt();

@ -0,0 +1,101 @@
diff --git a/configure b/configure
index f6e9e78..4138ba9 100755
--- a/configure
+++ b/configure
@@ -474,9 +474,9 @@ else
then
if test $Fnroff = "missing"
then
- nroff="nroff -Tascii -c -mandoc"
+ nroff="/usr/bin/man2nroff -Tascii -c -mandoc"
else
- nroff="$Fnroff -mandoc"
+ nroff="/usr/bin/man2nroff -mandoc -Tlatin1"
fi
troff="troff -mandoc"
echo "Warning: could not find groff"
@@ -485,7 +485,7 @@ else
then
nroff="$Fgroff -Tlatin1 -mandoc"
else
- nroff="$Fnroff -mandoc"
+ nroff="/usr/bin/man2nroff -mandoc -Tlatin1"
fi
troff="$Fgroff -Tps -mandoc"
jnroff="$Fgroff -Tnippon -mandocj"
@@ -1248,6 +1248,7 @@ man=$bindir/man
apropos=$bindir/apropos
whatis=$bindir/whatis
man2dvi=$bindir/man2dvi
+man2nroff=$bindir/man2nroff
makewhatis=$sbindir/makewhatis
man_config_dir=$confdir
man_config_file=$confdir/$conffilename
@@ -1351,6 +1352,7 @@ s,@man@,$man,
s,@apropos@,$apropos,
s,@whatis@,$whatis,
s,@man2dvi@,$man2dvi,
+s,@man2nroff@,$man2nroff,
s,@makewhatis@,$makewhatis,
s,@man_config_dir@,$man_config_dir,
s,@man_config_file@,$man_config_file,
diff --git a/src/Makefile.in b/src/Makefile.in
index 9e95cab..0db1ad4 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -105,6 +105,7 @@ install: all apropos whatis makewhatis
$(INSTALL) -c -m 755 apropos $(DESTDIR)$(PREFIX)@apropos@
$(INSTALL) -c -m 755 whatis $(DESTDIR)$(PREFIX)@whatis@
$(INSTALL) -c -m 755 man2dvi $(DESTDIR)$(PREFIX)@man2dvi@
+ $(INSTALL) -c -m 755 man2nroff $(DESTDIR)$(PREFIX)@man2nroff@
mkdir -p $(DESTDIR)$(PREFIX)@sbindir@
$(INSTALL) -c -m 754 makewhatis $(DESTDIR)$(PREFIX)@makewhatis@
mkdir -p $(DESTDIR)$(PREFIX)@man_config_dir@
diff --git a/src/man2nroff b/src/man2nroff
new file mode 100755
index 0000000..11b871a
--- /dev/null
+++ b/src/man2nroff
@@ -0,0 +1,42 @@
+#!/usr/bin/python
+#-*- coding: utf-8 -*-
+#------------------------------------------------------------------------------
+# manrc
+# Copyright ©2009 Mir Calculate Ltd.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#------------------------------------------------------------------------------
+
+import sys
+import subprocess
+import os
+
+buf = sys.stdin.read()
+
+# проверяем локаль и есть ли символы выше ascii
+if os.environ.get("LANG") == "ru_RU.UTF-8" and \
+ len([ i for i in buf if ord(i)>127 ]) > 0:
+ # конвертируем текст вначале через enconv, а в конце через iconv
+ convert_string = '/usr/bin/enconv -L ru -x KOI8-R |' \
+ '/usr/bin/nroff %s | iconv -f koi8-r' % " ".join(sys.argv[1:])
+else:
+ convert_string = '/usr/bin/nroff -mandoc -Tlatin1 -c'
+
+pipe = subprocess.Popen(convert_string,
+ stdin=subprocess.PIPE,
+ stdout=sys.stdout,
+ stderr=subprocess.PIPE,
+ close_fds=True,shell=True)
+pipe.stdin.write(buf)
+pipe.stdin.close()

@ -0,0 +1,6 @@
# Changing BRANDING for openrc
post_pkg_setup() {
export BRANDING="Calculate Linux"
}

@ -0,0 +1,61 @@
diff --git a/Makefile b/Makefile
index 2d36f45..61c69fb 100644
--- a/Makefile
+++ b/Makefile
@@ -43,6 +43,7 @@ slim: $(OBJECTS)
install: slim install-theme
install -D -m 755 slim $(DESTDIR)$(PREFIX)/bin/slim
+ install -D -m 755 slimd $(DESTDIR)$(PREFIX)/bin/slimd
install -D -m 644 slim.1 $(DESTDIR)$(MANDIR)/man1/slim.1
test -e $(DESTDIR)$(CFGDIR)/slim.conf || \
install -D -m 644 slim.conf $(DESTDIR)$(CFGDIR)/slim.conf
diff --git a/slimd b/slimd
new file mode 100644
index 0000000..d283a68
--- /dev/null
+++ b/slimd
@@ -0,0 +1,43 @@
+#!/bin/bash
+#------------------------------------------------------------------------------
+# slimd
+# Copyright ©2009 Mir Calculate Ltd.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#------------------------------------------------------------------------------
+
+stopslim() {
+ # force kill X
+ killall X &>/dev/null
+ # and kill slim, because slim may be hanged
+ killall -9 slim &>/dev/null
+ # removing slim lock file
+ rm -f /var/run/slim.lock
+ exit
+}
+
+workloop() {
+ trap stopslim TERM
+ # waiting TERM signal for killing X and slim
+ while true
+ do
+ sleep 10
+ done
+}
+
+rm -f /var/run/slim.lock
+killall -9 slim &>/dev/null
+/usr/bin/slim
+workloop &
+

@ -0,0 +1,24 @@
#############################################
# This is a list of valid profiles for each architecture. This file is used by
# repoman when doing a repoman scan or repoman full.
# DO NOT ADD PROFILES WITH A "die" or "exit" IN THEM OR IT KILLS REPOMAN
#
#layout:
#arch profile_directory status
# AMD64 Profiles
amd64 calculate/desktop/CLD/amd64 stable
amd64 calculate/desktop/CLDX/amd64 stable
amd64 calculate/desktop/CLSG/amd64 stable
amd64 calculate/desktop/CLS/amd64 stable
amd64 calculate/server/CDS/amd64 stable
# x86 Profiles
x86 calculate/desktop/CLD/x86 stable
x86 calculate/desktop/CLDX/x86 stable
x86 calculate/desktop/CLSG/x86 stable
x86 calculate/desktop/CLS/x86 stable
x86 calculate/server/CDS/x86 stable
# vim: set ts=8
Loading…
Cancel
Save