Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Евгений Ламской/Записи в блоге |
Евгений Ламской
Голосов: 1 Адрес блога: http://lamskoy.livejournal.com/ Добавлен: 2010-05-18 17:01:15 |
|
Skype 2.1.0.47-r1 - проблема c USE="-qt-static"
2010-01-12 01:20:57 (читать в оригинале)Несколько дней назад я обновил дерево портов Gentoo, и при очередном emerge -avuDN world, увидел, что Skype пытается установиться с форсированным ключом сборки (qt-static), при чем ни правка /etc/make.conf, ни /etc/portage/package.use, не влияет на поведение этого флага.
Скачал более старый ебилд, та же история и с ним произошла - qt-static установился форсированно.
Статически прилинкованная либа qt мне и даром не нужна, я использую VLC и еще несколько программ, юзающих динамическую qt, в том числе и Skype.
Мне стало облом искать решение в текущем дереве портов, и я сделал руками свой ебилд, избавившись от флага qt-static, и поместил его в дерево оверлея.
Вот сам ебилд:
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-im/skype/skype-2.1.0.47-r1.ebuild,v 1.1 2010/01/06 16:39:51 ssuominen Exp $
EAPI=2
inherit eutils qt4 pax-utils
DESCRIPTION="A P2P-VoiceIP client."
HOMEPAGE="http://www.skype.com/"
DFILENAME=${P}.tar.bz2
SRC_URI="http://download.skype.com/linux/${DFILENAME}"
LICENSE="skype-eula"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
# http://bugs.gentoo.org/show_bug.cgi?id=299368
RESTRICT="mirror strip"
EMUL_VER=20091231
RDEPEND="amd64? ( >=app-emulation/emul-linux-x86-xlibs-${EMUL_VER}
>=app-emulation/emul-linux-x86-baselibs-${EMUL_VER}
>=app-emulation/emul-linux-x86-soundlibs-${EMUL_VER}
>=app-emulation/emul-linux-x86-qtlibs-${EMUL_VER} )
x86? ( >=media-libs/alsa-lib-1.0.11
x11-libs/libXScrnSaver
x11-libs/libXv
x11-libs/qt-gui:4[accessibility,dbus]
x11-libs/qt-dbus:4
x11-libs/libX11
x11-libs/libXau
x11-libs/libXdmcp ) "
# Required for lrelease command at buildtime
DEPEND="x11-libs/qt-core:4"
QA_EXECSTACK="opt/skype/skype"
QA_WX_LOAD="opt/skype/skype"
QA_DT_HASH="opt/skype/skype"
QA_PRESTRIPPED="opt/skype/skype"
src_install() {
# remove mprotect() restrictions for PaX usage - see Bug 100507
# NOTE. Commented out because it's breaking Skype 2.1.0.47.
# pax-mark m "${S}"/skype
exeinto /opt/${PN}
doexe skype || die
fowners root:audio /opt/skype/skype
make_wrapper skype /opt/${PN}/skype /opt/${PN} /opt/${PN} /usr/bin
insinto /opt/${PN}/sounds
doins sounds/*.wav || die
insinto /etc/dbus-1/system.d
doins ${PN}.conf || die
insinto /opt/${PN}/lang
#
#There have been some issues were lang is not updated from the .ts files
#but if we have qt we can rebuild it
#
lrelease lang/*.ts
doins lang/*.qm || die
insinto /opt/${PN}/avatars
doins avatars/*.png || die
insinto /opt/${PN}
for X in 16 32 48
do
insinto /usr/share/icons/hicolor/${X}x${X}/apps
newins "${S}"/icons/SkypeBlue_${X}x${X}.png ${PN}.png
done
dodoc README
# insinto /usr/share/applications/
# doins skype.desktop
make_desktop_entry ${PN} "Skype VoIP" ${PN} "Network;InstantMessaging;Telephony"
#Fix for no sound notifications
dosym /opt/${PN} /usr/share/${PN}
# TODO: Optional configuration of callto:// in KDE, Mozilla and friends
# doexe skype-callto-handler
}
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-im/skype/skype-2.1.0.47-r1.ebuild,v 1.1 2010/01/06 16:39:51 ssuominen Exp $
EAPI=2
inherit eutils qt4 pax-utils
DESCRIPTION="A P2P-VoiceIP client."
HOMEPAGE="http://www.skype.com/"
DFILENAME=${P}.tar.bz2
SRC_URI="http://download.skype.com/linux/${DFILENAME}"
LICENSE="skype-eula"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
# http://bugs.gentoo.org/show_bug.cgi?id=299368
RESTRICT="mirror strip"
EMUL_VER=20091231
RDEPEND="amd64? ( >=app-emulation/emul-linux-x86-xlibs-${EMUL_VER}
>=app-emulation/emul-linux-x86-baselibs-${EMUL_VER}
>=app-emulation/emul-linux-x86-soundlibs-${EMUL_VER}
>=app-emulation/emul-linux-x86-qtlibs-${EMUL_VER} )
x86? ( >=media-libs/alsa-lib-1.0.11
x11-libs/libXScrnSaver
x11-libs/libXv
x11-libs/qt-gui:4[accessibility,dbus]
x11-libs/qt-dbus:4
x11-libs/libX11
x11-libs/libXau
x11-libs/libXdmcp ) "
# Required for lrelease command at buildtime
DEPEND="x11-libs/qt-core:4"
QA_EXECSTACK="opt/skype/skype"
QA_WX_LOAD="opt/skype/skype"
QA_DT_HASH="opt/skype/skype"
QA_PRESTRIPPED="opt/skype/skype"
src_install() {
# remove mprotect() restrictions for PaX usage - see Bug 100507
# NOTE. Commented out because it's breaking Skype 2.1.0.47.
# pax-mark m "${S}"/skype
exeinto /opt/${PN}
doexe skype || die
fowners root:audio /opt/skype/skype
make_wrapper skype /opt/${PN}/skype /opt/${PN} /opt/${PN} /usr/bin
insinto /opt/${PN}/sounds
doins sounds/*.wav || die
insinto /etc/dbus-1/system.d
doins ${PN}.conf || die
insinto /opt/${PN}/lang
#
#There have been some issues were lang is not updated from the .ts files
#but if we have qt we can rebuild it
#
lrelease lang/*.ts
doins lang/*.qm || die
insinto /opt/${PN}/avatars
doins avatars/*.png || die
insinto /opt/${PN}
for X in 16 32 48
do
insinto /usr/share/icons/hicolor/${X}x${X}/apps
newins "${S}"/icons/SkypeBlue_${X}x${X}.png ${PN}.png
done
dodoc README
# insinto /usr/share/applications/
# doins skype.desktop
make_desktop_entry ${PN} "Skype VoIP" ${PN} "Network;InstantMessaging;Telephony"
#Fix for no sound notifications
dosym /opt/${PN} /usr/share/${PN}
# TODO: Optional configuration of callto:// in KDE, Mozilla and friends
# doexe skype-callto-handler
}
UPD: я зря старался, все лечится с помощью строки в /etc/portage/profile/use.force:
net-im/skype -qt-static
Спасибо за подсказку dimonbb
Утилита для быстрого создания дампа базы Magento
2010-01-11 13:14:43 (читать в оригинале)По долгу службы мне приходится часто делать дампы баз многочисленных установленных копий Magento.
Руками это делать довольно утомительно, так как приходится исключать из дампа самые большие по количеству данных таблицы со статистикой. Чтобы облегчить себе жизнь, написал небольшую консольную утилиту.
#!/bin/bash
usage()
{
cat << EOF
usage: $0 options
This script dumps magento database
excluding statistics
$0 -d magento -f dump
will cause writing to dump.sql.bz2 with contents of "magento" DB
OPTIONS [required]:
-d database name
-f file prefix to dump
OPTIONS [optional]:
-h msyql host (localhost by default)
-u mysql user (root by default)
-p password (empty by default)
-s show command only, not execute
-t log tables prefix (empty by default)
EOF
}
DB_HOST="localhost"
DB_USER="root"
DB_PASS=""
DB_NAME=""
SHOW_ONLY=""
OUT_FILE=""
TABLE_PREFIX=""
while getopts “t:f:u:p:d:h:s” OPTION
do
case $OPTION in
s) SHOW_ONLY="true" ;;
h) DB_HOST=$OPTARG ;;
u) DB_USER=$OPTARG ;;
p) DB_PASS=$OPTARG ;;
d) DB_NAME=$OPTARG ;;
f) OUT_FILE=$OPTARG ;;
t) TABLE_PREFIX=$OPTARG ;;
?) usage
exit
;;
esac
done
if [[ -z $DB_NAME ]] || [[ -z $OUT_FILE ]]
then
usage
exit 1
fi
PASS_PART=""
if [ ! -z $DB_PASS ]
then
PASS_PART="--password=$DB_PASS"
fi
COMMON="mysqldump ${DB_NAME} -h ${DB_HOST} --user=${DB_USER} ${PASS_PART}"
SKIPPED_TABLES=("log_url_info" "log_visitor" "log_visitor_info" "log_url" "report_event")
CMD="${COMMON}"
CMD2="${COMMON} -d --tables "
for table in ${SKIPPED_TABLES[@]}
do
CMD="$CMD --ignore-table=${DB_NAME}.${TABLE_PREFIX}${table}"
CMD2="$CMD2 ${TABLE_PREFIX}${table}"
done
if [ ! -z $SHOW_ONLY ]
then
echo "$CMD > $OUT_FILE.sql"
echo "$CMD2 >> $OUT_FILE.sql"
echo "bzip2 $OUT_FILE.sql"
else
$CMD > "$OUT_FILE.sql"
$CMD2 >> "$OUT_FILE.sql"
bzip2 "$OUT_FILE.sql"
ls -lash "$OUT_FILE.sql.bz2"
fi
#
usage()
{
cat << EOF
usage: $0 options
This script dumps magento database
excluding statistics
$0 -d magento -f dump
will cause writing to dump.sql.bz2 with contents of "magento" DB
OPTIONS [required]:
-d database name
-f file prefix to dump
OPTIONS [optional]:
-h msyql host (localhost by default)
-u mysql user (root by default)
-p password (empty by default)
-s show command only, not execute
-t log tables prefix (empty by default)
EOF
}
DB_HOST="localhost"
DB_USER="root"
DB_PASS=""
DB_NAME=""
SHOW_ONLY=""
OUT_FILE=""
TABLE_PREFIX=""
while getopts “t:f:u:p:d:h:s” OPTION
do
case $OPTION in
s) SHOW_ONLY="true" ;;
h) DB_HOST=$OPTARG ;;
u) DB_USER=$OPTARG ;;
p) DB_PASS=$OPTARG ;;
d) DB_NAME=$OPTARG ;;
f) OUT_FILE=$OPTARG ;;
t) TABLE_PREFIX=$OPTARG ;;
?) usage
exit
;;
esac
done
if [[ -z $DB_NAME ]] || [[ -z $OUT_FILE ]]
then
usage
exit 1
fi
PASS_PART=""
if [ ! -z $DB_PASS ]
then
PASS_PART="--password=$DB_PASS"
fi
COMMON="mysqldump ${DB_NAME} -h ${DB_HOST} --user=${DB_USER} ${PASS_PART}"
SKIPPED_TABLES=("log_url_info" "log_visitor" "log_visitor_info" "log_url" "report_event")
CMD="${COMMON}"
CMD2="${COMMON} -d --tables "
for table in ${SKIPPED_TABLES[@]}
do
CMD="$CMD --ignore-table=${DB_NAME}.${TABLE_PREFIX}${table}"
CMD2="$CMD2 ${TABLE_PREFIX}${table}"
done
if [ ! -z $SHOW_ONLY ]
then
echo "$CMD > $OUT_FILE.sql"
echo "$CMD2 >> $OUT_FILE.sql"
echo "bzip2 $OUT_FILE.sql"
else
$CMD > "$OUT_FILE.sql"
$CMD2 >> "$OUT_FILE.sql"
bzip2 "$OUT_FILE.sql"
ls -lash "$OUT_FILE.sql.bz2"
fi
#
Greasemonkey + jQuery
2010-01-09 03:25:07 (читать в оригинале)Экспериментировал с расширением GreaseMonkey для Firefox, чтобы прикрутить к пользовательскому скрипту jQuery.
Написал следующий каркас для скрипта:
// ==UserScript==
// @name Generic.script
// @namespace Generic.script
// @description Generic.script
// @include *
// ==/UserScript==
jQuery = {
instance: null,
get: function() {
return jQuery.instance;
},
loadInto: function(callback) {
if(typeof unsafeWindow.jQuery !== 'undefined') {
return callback(unsafeWindow.jQuery);
}
if(jQuery.instance !== null) {
return callback(unsafeWindow.jQuery);
}
jQuery.instance = document.createElement('script');
jQuery.instance.src = 'http://jquery.com/src/jquery-latest.js';
jQuery.instance.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(jQuery.instance);
(function() {
if(typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(arguments.callee,100);
} else {
callback(unsafeWindow.jQuery);
}
})();
},
}
jQuery.loadInto(function($) {
//alert($);
});
// @name Generic.script
// @namespace Generic.script
// @description Generic.script
// @include *
// ==/UserScript==
jQuery = {
instance: null,
get: function() {
return jQuery.instance;
},
loadInto: function(callback) {
if(typeof unsafeWindow.jQuery !== 'undefined') {
return callback(unsafeWindow.jQuery);
}
if(jQuery.instance !== null) {
return callback(unsafeWindow.jQuery);
}
jQuery.instance = document.createElement('script');
jQuery.instance.src = 'http://jquery.com/src/jquery-latest.js';
jQuery.instance.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(jQuery.instance);
(function() {
if(typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(arguments.callee,100);
} else {
callback(unsafeWindow.jQuery);
}
})();
},
}
jQuery.loadInto(function($) {
//alert($);
});
Приручение pulseaudio и alsa
2009-12-21 00:57:35 (читать в оригинале)Начнем с предыстории. Я долго возился с разными desktop environment-ами под Gentoo, при этом Gnome оставался установленным в системе.
Когда наконец мой выбор пал на Xfce, я решил снести к едреной фене всю обвязку Gnome. Сказано-сделано, Gnome убит, пакеты вычищены, система пересобрана с USE="-gnome", Xfce установлен.
Напоролся на проблему со звуком - Skype отказывался воспроизводить звуки через pulseaudio, когда в это время работал mplayer.
При использовании Gnome этого не наблюдалось, видимо его процессы делают особую уличную магию для этого :)
Погуглив и почитав суть проблемы, решил сделать так, чтобы все ALSA-приложения слали звук на pulseaudio по умолчанию.
Спасибо толковому мануалу по PulseAudio: http://www.pulseaudio.org/wiki/PerfectSetup
Создаем/правим файл /etc/asound.conf:
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
pcm.!default {
type pulse
}
#ctl.!default {
# type pulse
#}
По мануалу PulseAudio этого должно хватить.
Однако с snd_hda_intel есть проблемы с автоопределением устройств через edev/hal
Поэтому настраиваем дополнительно pulseaudio - лезем в /etc/pulse/default.pa
Комментируем строки:
### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
#load-module module-detect
#.endif
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
#load-module module-detect
#.endif
И добавляем:
load-module module-alsa-sink device=hw:0
load-module module-alsa-source device=hw:0
load-module module-alsa-source device=hw:0
Также необходимо собрать (если еще не собран) пакет alsa-plugins с поддержкой pulseaudio.
После всего вышеперечисленного лучше перезапустить систему.
Категория «Природа»
Взлеты Топ 5
+344 |
353 |
ГОРОСКОП |
+342 |
418 |
glois-en101 |
+318 |
355 |
ALTAR-NIK |
+308 |
361 |
Кладезь информации! djrich.info |
+284 |
351 |
Петербуржец |
Падения Топ 5
-2 |
87 |
Обойдемся без болезней |
-4 |
8 |
SUPER ANI - Информационно-познавательный проект. |
-16 |
396 |
Чтобы выжить |
-17 |
2 |
Красное Море Дайвинг |
-18 |
295 |
Marina Pletneva |
Популярные за сутки
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.