воскресенье, 16 ноября 2014 г.

Вся жизнь переходит в облака.

Идиоты не учатся даже на своих ошибках...

Не наступайте на грабли других придурков!


Захотелось сервер L4D2 заиметь. Взял готовый тут http://www.myarena.ru/
Сделано удобно, все админки / конфиги / etc etc - великолепно, только мелкие придирки. Одно только но! Сервак крашится через каждые 30 минут при игре versus, на что супорт открыто намекает на мою криворукость.

Сообщение от специалиста технической поддержки Антона в 17.10.2014 21:17
Вообще то, я зашел в панель управления, когда сервер упал, при Вас и при мне, и не заметил, чтобы он был установлен. Устанавливал я его после сообщения, чтобы Вы не трогали.
Я не вижу проблем со стороны хостинга. Сервер работает исправно, если им нормально пользоваться.
Просто сперва все настройте.
Сам человек пробыл на серваке без единого плагина до типичного краша, после чего разнылся что удален сурмод при запущенной игре (удален до запуска сервера, раз 5 разными доступными формулировками пытался объяснить - пятница вечер, все понимаю), на этом тикет закрыт, пару попыток переустановок сервака тот же результат (coop тянет, версус 4х4 полчаса игры от силы).

Дедик!

гораздо приятнее настраивать на родном linux с sftp / консольками / apt-get -ми.
выбор пал на этот ТП
выбор по понятным причинам пал на этот тарифный план с виртуализацией KVM за 200 р/мес.


после оплаты получаешь ssh доступ к телу
Linux vm88852.local 3.10-0.bpo.3-amd64 #1 SMP Debian 3.10.52-1~bpo1 (2014-08-11) x86_64 GNU/Linux
uname  -a#1 SMP Debian 3.2.63-2 x86_64 GNU/Linux

$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub steam@serverip

Установка сервака:


# adduser steam
# su - steam
$ mkdir ~/steamcmd
$ mkdir ~/l4d2
$ cd ~/steamcmd
$ wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz 
$ tar -xvzf steamcmd_linux.tar.gz 
 немного магии


$ mkdir /home/steam/.steam 
$ ln -s /home/steam/steamcmd/linux32/ /home/steam/.steam/sdk32

при запуске  получаем сообщение что нет 32 либ (это же сообщение остановило на древнем виртуалхосте bsd, и на всех двух 7 дебианах):

доустанавливаем 
# dpkg --add-architecture i386
# apt-get update
# apt-get install ia32-libs 
После чего запустился steamcmd

$ ~/steamcmd$ ./steamcmd.sh 
...
Loading Steam API...OK.


далее по ману:
Steam>login anonymous
Steam>force_install_dir /home/steam/l4d2/
Steam>app_update 222860 validate

спустя 8Гб
 Update state (0x81) committing, progress: 93.00 (7574073846 / 8144478033)Success! App '222860' fully installed.

установка sourcemod/metamod

$ cd /l4d2/left4dead2/
$ wget http://sourcemod.otstrel.ru/sourcemod-1.6.2-linux.tar.gz
$ wget  http://mirror.pointysoftware.net/alliedmodders/mmsource-1.10.3-linux.tar.gz
$ tar xvzf mmsource-1.10.3-linux.tar.gz
$ tar xvzf sourcemod-1.6.2-linux.tar.gz


раньше нужно было вбивать вручную тут
http://www.metamodsource.net/?go=vdf

Game:  
Game Folder:  


сейчас в версии он идет в комплекте
/home/steam/l4d2/left4dead2/addons/metamod.vdf
со следующим содержимым.
"Plugin"
{
"file" "addons/metamod/bin/server"
}

пара трюков


  • имеет смысл запускать сервер в сеансе screen (сервер не вырубится в случае дисконнекта /краха ssh etc). Вторая команда добавляет нормальную прокрутку.

# apt-get install screen
прокрутка в скрине эпичная: ^a Esc стрелки или PageUp\Down
  • тестовый запуск:

/home/steam/l4d2/srcds_run -console -game left4dead2  +hostport 27015 +exec server.cfg +map c1m1_hotel
  • проверка метамод/сорсмод:

>meta list
Listing 2 plugins:
  [01] SourceMod (1.6.2) by AlliedModders LLC
  [02] SDK Tools (1.6.2) by AlliedModders LLC
>sm plugins list
[SM] Listing 18 plugins:
  • прописываем админа в

echo '"STEAM_0:1:33282568" "99:z"' >> /home/steam/l4d2/left4dead2/addons/sourcemod/configs/admins_simple.ini


steam id можно узнать тут 
Aweal
Joined Steam:2010-06-21
Steam Level:5
Friendship:Sign in to check
Online Status:Online
Profile Privacy:Public
Trade Ban:None
VAC Ban:None
Community Ban:None





не забыть обновить список админов:
sm_reloadadmins
Раз уж есть сервак, то можно и пригласительное сообщение оставить.
Весь прикол в том, что на голом debian нет web-сервера.
Устанавливаем, минимальные настройки на выдачу статических файлов:

# mkdir /data/www/l4d2_servermessage/ -p
# chown www:www -Rfv  /data/
# apt-get install nginx-light

в /etc/nginx/nginx.conf в секцию http добавим

        server{


location / {
       root /data/www;
}
        location /data/www/l4d2_servermessage/ {
root /data/www/;
                        }
        }

автозапуск nginx
# update-rc.d -f nginx defaults


в моем случае вышло такое что можно прописать в motd.txt
если не отображается  - проверить переменную motd_enabled "1" в server.cfg

server.cfg
группа стим:
sv_steamgroup "6999149"

безопасность:

https://wiki.debian.org/iptables


 #####
 # Steam Ports
 #####
 # Game Client Traffic + Matchmaking and HLTV
 -A INPUT -p udp -m udp --dport 27000:27030 -j ACCEPT
 # Steam Downloads
 -A INPUT -p tcp -m tcp --dport 27014:27050 -j ACCEPT
 # Other ports for Steam
 -A INPUT -p udp -m udp --dport 4380 -j ACCEPT
 -A INPUT -p udp -m udp --dport 3478 -j ACCEPT
 -A INPUT -p udp -m udp --dport 4379 -j ACCEPT
 -A INPUT -p udp -m udp --dport 4380 -j ACCEPT

Дополнения


все плагины сваливаем
~$STEAM_HOME/addons/sourcemod/plugins/
или переапускаем сервер или

sm plugins load plugin_name.smx 

если компилить плагины (после небольших изменений), то необходимо сначала перейти в папку scripting и уже потом компилировать
сумарно так:
$ cd /home/steam/l4d2/left4dead2/addons/sourcemod/scripting/
./compile.sh plugin_name.sp
$ cp compiled/plugin_name.smx ../plugins/

!lerps
https://bitbucket.org/ProdigySim/misc-sourcemod-plugins/src/e14a8be7d647e485478d926ca4ea256ea0c97337/lerptrack/?at=default

Крики стоны etc
http://www.gamemaps.com/details/3568

Смена карты после игры
https://forums.alliedmods.net/showthread.php?p=1463891

!boss !tank !witch
https://github.com/CanadaRox/sourcemod-plugins/tree/master/l4d_boss_percent

анонсы задротов:
https://github.com/Tabbernaut/L4D2-Plugins/tree/master/skill_detect

sm_skill_report_enable 1
sm_skill_report_flags 1048575

!afk !s:
https://forums.alliedmods.net/showthread.php?p=1130434

reservedslots: https://github.com/alliedmodders/sourcemod/blob/master/plugins/reservedslots.sp

l4d2_tickrate_enabler
скомпилить не реально, проще проапргредить libc:

echo "deb http://http.debian.net/debian/ jessie main contrib non-free" >> /etc/apt/sources.list
aptitude update
apt-get -t jessie install libc6-amd64 libc6-dev libc6-dbg libc6-i386

и даже после этого не заработает ;)
замени на вот эту дрянь

    sv_maxupdaterate 100
    sv_maxcmdrate 100
    fps_max 150 // higher than 100 recommended, as ticks calculated seems to dip otherwise.
 sv_maxrate 0 // 0 = unlimited, but you can also set this manually. Default is 30k for 30tick, use math.
 // Setting higher sv_minrate can be used to force users to use higher data rates.
 
 Note that fps_max and sv_maxrate are hidden variables on most scenarios.

и в строке запуска добавляется -tickrate 100


$ /home/steam/l4d2/srcds_run -console -game left4dead2  +hostport 27015 +exec server.cfg +map c1m1_hotel -tickrate 100 -maxplayers 12



ссылки:
https://developer.valvesoftware.com/wiki/SteamCMD
http://tj-s.ru/tod/mouse-parallax.html
http://ramer.livejournal.com/94790.html

http://www.l4dnation.com/l4d2-discussion/l4d2-server-guide
http://steamcommunity.com/sharedfiles/filedetails/?id=276173458

настройка ssmod
http://beskuda.com/forum/16-19-1


Net / Rates
понятия: http://www.counterstrike.ru/pagestop-138-page-1.htmhttps://bitbucket.org/ProdigySim/l4d2_tickrate_enablerl
Изнутри:
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

клиент с его сс*ными лерпами:
http://steamcommunity.com/groups/xbrs/discussions/0/540731691228870837/


понедельник, 20 октября 2014 г.

Веселые истории.

Простой катэндпаст общения с инет компаниями (чую будет пополнятся).
Сразу скажу, что зовут меня не Иван и фамилия моя не Иванов 

Поехали
1. Сам виноват регистрировал домен до принятия идиотских законов (регистратор заполнял пустые поля как Anonim Anonimovich) (отжат домен aweal.ru).

Pavel Glazunov через regtime.net 

13 окт. (7 дн. назад)
кому: мне
Птн Окт 10 23:32:01 2014, gaweal@gmail.com писал:
> вопрос про блокировку домена, aweal.ru имя куплено через pwhost.ru год
> назад, регистрационные данные при покупке заполнены не были,


Данные были заполнены, при этом они были заполнены ложными данными.

> сейчах их можно изменить

Это невозможно.

> или тупо ждать когда закончится срок и заново покупать домен?


В данном случае, это наиболее оптимальный вариант.




2. После оплаты VDS flops.ru тихо мирно не могу войти в аккаунт, пароль не сбросить, к серверу не достучаться (один их плюс что отвечали весьма быстро, прям мгновенно, как будто не впервой).


Служба поддержки

18:27 (1 ч. назад)
кому: мне
> Зарегистрирован аккаунт 2 дня назад не
> могу войти в лк, не сбрасывается
> пароль.
>

Добрый день, ваш аккаунт временно заблокирован из-за некорректно указанных персональных данных. Необходимость предоставления корректной и достоверной информации о себе является одним из условий Договора об оказании услуг.


Служба поддержки
19:12 (29 мин. назад)
кому: мне
Как мы указали ранее, для этого вам следует идентифицироваться - этого требует законодательство РФ.



В ответ на шутку про скан паспорта!

Aweal gaweal@gmail.com

18:43 (1 ч. назад)
кому: support
я так понимаю ак заблокирован и деньги не вернут до скана паспорта или чего хотите от меня?
Был дан ответ:
20 октября 2014 г., 19:01 пользователь Служба поддержки <support@flops.ru>
написал:

> Операции с балансом также доступны только после идентификации аккаунта.
> Вам следует прислать скан или фотографию первого разворота паспорта в
> высоком разрешении, при необходимости мы можем попросить предоставить
> дополнительную информацию.





понедельник, 15 сентября 2014 г.

alsa Azalia (Intel HDA)

Кому может пригодиться настройка Master.

Почему не pulseaudio?

После настройки оптического выхода (обычная встроенная звуковая), через ресивер разницу ощущаю сразу - где п-шшаудио, а где alsa. Да, может быть я не умею ее готовить, но из коробки alsa звучит лучше.

сам поциент:
Nova ~ # lspci -vv
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40)
Subsystem: Micro-Star International Co., Ltd. [MSI] Device d693
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at fe400000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: snd_hda_intel

Nova ~ #  aplay -L
iec958:CARD=SB,DEV=0    HDA ATI SB, ALC892 Digital    IEC958 (S/PDIF) Digital Audio Output
из /etc/modprobe.d/alsa.conf 
изменил строчку только:
options snd-hda-intel model=auto
дальше веселее ...

долго мучил .asoundrc, но как оказалось нулевой конфиг рабочий, просто просто канал по умолчанию выключен.
включаем:
aweal@Nova ~ $
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
 aweal@Nova ~ $ amixer set 'IEC958' 100 unmute

Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined
  Playback channels: Mono
  Mono: Playback [on]
через gui аналогично:
(в alsamixer кнопкой M)



Регулировка звука.

По умолчанию регулировка мультимедийными клавишами VOL +/- (gnome: XF86AudioRaiseVolume/XF86AudioVowerVolume) приводят к изменению канала Master (не PCM)

в .asoundrc заменяем мастер канал:

aweal@Nova ~ $ cat .asoundrc
pcm.softvol {
    type            softvol
    slave {
        pcm         "iec958:SB"
    }
    control {
        name        "Master"
        #card        0
    }
}

upd:
решил что проще все из коробки

LDFLAGS="-lm" emerge gnome-media
aweal@Nova ~ $  gconftool-2 -s --type string  /desktop/gnome/sound/default_mixer_device alsamixer
aweal@Nova ~ $ gconftool-2 -s --type list --list-type string  /desktop/gnome/sound/default_mixer_tracks [PCM]

суббота, 13 сентября 2014 г.

про gnome 2

на основной машине до сих пор сижу с блокировками gnome3 уже писал как осуществить  /etc/portage/package.mask/package.mask.gnome3

при попытке новой установки gnome-light / мета gnome вылет на gnome-keyring:
-f 'egg-libgcrypt.c' || echo './'`egg-libgcrypt.c
make[4]: *** [libegg_la-egg-asn1x.lo] Error 1make[4]: *** Waiting for unfinished jobs....
libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wsign-compare -O2 -pipe -march=amdfam10 -Wno-strict-aliasing -Wno-sign-compare -c egg-libgcrypt.c -fPIC -DPIC -o .libs/libegg_la-egg-libgcrypt.o
egg-libgcrypt.c: In function 'glib_thread_mutex_init':
egg-libgcrypt.c:57:2: warning: 'g_mutex_new' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:273) [-Wdeprecated-declarations]egg-libgcrypt.c: In function 'glib_thread_mutex_destroy':
egg-libgcrypt.c:64:2: warning: 'g_mutex_free' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:275) [-Wdeprecated-declarations]make[4]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1/egg' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1/egg'make[3]: *** [all-recursive] Error 1make[3]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1/egg'make[2]: *** [all] Error 2make[2]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1/egg' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1'make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1'make: *** [all] Error 2 * ERROR: gnome-base/gnome-keyring-2.32.1-r2::localoverlay failed (compile phase):
* emake failed
* * If you need support, post the output of `emerge --info '=gnome-base/gnome-keyring-2.32.1-r2::localoverlay'`,
* the complete build log and the output of `emerge -pqv '=gnome-base/gnome-keyring-2.32.1-r2::localoverlay'`.
* The complete build log is located at '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/build.log'.
* The ebuild environment file is located at '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/environment'.
* Working directory: '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1' * S: '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1'
>>> Failed to emerge gnome-base/gnome-keyring-2.32.1-r2, Log file:

>>> '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/build.log'
* Messages for package gnome-base/gnome-keyring-2.32.1-r2:

* ERROR: gnome-base/gnome-keyring-2.32.1-r2::localoverlay failed (compile phase):
* emake failed
* * If you need support, post the output of `emerge --info '=gnome-base/gnome-keyring-2.32.1-r2::localoverlay'`,
* the complete build log and the output of `emerge -pqv '=gnome-base/gnome-keyring-2.32.1-r2::localoverlay'`.
* The complete build log is located at '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/build.log'.
* The ebuild environment file is located at '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/temp/environment'.
* Working directory: '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1' * S: '/tmp/portage/gnome-base/gnome-keyring-2.32.1-r2/work/gnome-keyring-2.32.1'

есть рабочий patch
но, он не подхватывается автоматом из /etc/portage/patches!
решим правкой ебилда

с установкой локального оверлея:

папка для оверлея:
mkdir -p /home/allusr/localoverlay/gnome-base/gnome-keyring/files
прописываем его в make.conf: 
PORTDIR_OVERLAY=/home/allusr/localoverlay
чтобы portage не ругался (папки создать нужно):
echo "masters = gentoo" >> /home/allusr/localoverlay/metadata/layout.conf
echo "localoverlay" >> /home/allusr/localoverlay/profiles/repo_name
сам  ебилд
  1. # Copyright 1999-2014 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2
  3. # $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-keyring/gnome-keyring-2.32.1-r1.ebuild,v 1.11 2014/03/01 22:29:51 mgorny Exp $ 
  4. EAPI="4"
  5. GCONF_DEBUG="yes"
  6. GNOME2_LA_PUNT="yes"
  7. GNOME_TARBALL_SUFFIX="bz2"
  8.  inherit autotools eutils gnome2 multilib pam virtualx
  9.  DESCRIPTION="Password and keyring managing daemon"
  10. HOMEPAGE="http://live.gnome.org/GnomeKeyring"
  11.  LICENSE="GPL-2+ LGPL-2+"
  12. SLOT="0"
  13. KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
  14. IUSE="debug pam test"
  15. # USE=valgrind is probably not a good idea for the tree
  16. RDEPEND=">=dev-libs/glib-2.25:2
  17.         >=x11-libs/gtk+-2.20:2
  18.         gnome-base/gconf:2
  19.         >=sys-apps/dbus-1.0
  20.         pam? ( virtual/pam )
  21.         >=dev-libs/libgcrypt-1.2.2:0
  22.         >=dev-libs/libtasn1-1"
  23. #       valgrind? ( dev-util/valgrind )"
  24. DEPEND="${RDEPEND}
  25.         >=dev-util/gtk-doc-am-1.9
  26.         >=dev-util/intltool-0.35
  27.         sys-devel/gettext
  28.         virtual/pkgconfig"
  29. PDEPEND="gnome-base/libgnome-keyring"
  30. # tests fail in several ways, they should be fixed in the next cycle (bug #340283),
  31. # revisit then.
  32. RESTRICT="test" 
  33. src_prepare() {
  34.         DOCS="AUTHORS ChangeLog NEWS README"
  35.         G2CONF="${G2CONF}
  36.                 $(use_enable debug)
  37.                 $(use_enable test tests)
  38.                 $(use_enable pam)
  39.                 $(use_with pam pam-dir $(getpam_mod_dir))
  40.                 --with-root-certs=${EPREFIX}/usr/share/ca-certificates/
  41.                 --enable-acl-prompts
  42.                 --enable-ssh-agent
  43.                 --enable-gpg-agent
  44.                 --with-gtk=2.0"
  45. #               $(use_enable valgrind)
  46.          epatch "${FILESDIR}/${P}-glib-2.32.patch"
  47.         epatch "${FILESDIR}"/egg-asn1x.patch
  48.         eautoreconf
  49.         gnome2_src_prepare
  50.         # Remove silly CFLAGS
  51.         sed 's:CFLAGS="$CFLAGS -Werror:CFLAGS="$CFLAGS:' \
  52.                 -i configure.in configure || die "sed failed"
  53.         # Remove DISABLE_DEPRECATED flags
  54.         sed -e '/-D[A-Z_]*DISABLE_DEPRECATED/d' \
  55.                 -i configure.in configure || die "sed 2 failed"
  56.         # Fix undefined type in egg-asn1x.c
  57.         epatch "${FILESDIR}/${PN}-2.32.1-fix-undefined.patch"
  58. }
  59.  
  60. src_test() {
  61.         unset DBUS_SESSION_BUS_ADDRESS
  62.         Xemake check || die "emake check failed!"
  63. } 
копируем необходимые патчи:
cp -rfv /usr/portage/gnome-base/gnome-keyring/files/* /home/allusr/localoverlay/gnome-base/gnome-keyring/files
сам patch тудаже запихиваем  (cd /home/allusr/localoverlay/gnome-base/gnome-keyring/files && wget https://raw.githubusercontent.com/openembedded/meta-oe/master/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/egg-asn1x.patch):
  1. Fixed build error with gcc 4.8
  2.  Errors like below
  3.  egg-asn1x.c: In function 'anode_encode_build':
  4. egg-asn1x.c:1280:7: warning: variable 'type' set but not used [-Wunused-but-set-variable]
  5. egg-asn1x.c: In function 'traverse_and_prepare':
  6. egg-asn1x.c:3354:3: warning: passing argument 1 of 'egg_asn1x_create' from incompatible pointer type [enabled by default]
  7. In file included from egg-asn1x.c:50:0:
  8. egg-asn1x.h:38:8: note: expected 'const struct static_struct_asn *' but argument is of type 'const struct asn1_static_node *'
  9. egg-asn1x.c: At top level:
  10. egg-asn1x.c:3509:1: error: conflicting types for 'egg_asn1x_create'
  11. In file included from egg-asn1x.c:50:0:
  12. egg-asn1x.h:38:8: note: previous declaration of 'egg_asn1x_create' was here
  13. egg-asn1x.c:3572:1: error: conflicting types for 'egg_asn1x_create_quark'
  14. In file included from egg-asn1x.c:50:0:
  15. egg-asn1x.h:41:8: note: previous declaration of 'egg_asn1x_create_quark' was here
  16. egg-asn1x.c:3579:1: error: conflicting types for 'egg_asn1x_create_and_decode'
  17. In file included from egg-asn1x.c:50:0:
  18. egg-asn1x.h:44:8: note: previous declaration of 'egg_asn1x_create_and_decode' was here
  19. make[4]*** [libegg_la-egg-asn1x.lo] Error 1
  20.  
  21. Signed-off-by: Khem Raj <raj.khem@gmail.com>
  22.  
  23. Upstream-Status: Pending
  24. Index: gnome-keyring-2.32.1/egg/egg-asn1x.h
  25. ===================================================================
  26. --- gnome-keyring-2.32.1.orig/egg/egg-asn1x.h 2010-10-18 19:11:38.000000000 -0700
  27. +++ gnome-keyring-2.32.1/egg/egg-asn1x.h 2013-06-11 15:15:00.675399263 -0700
  28. @@ -25,6 +25,7 @@
  29.  #define EGG_ASN1X_H_
  30.  
  31.  #include <glib.h>
  32. +#include <libtasn1.h>
  33.  
  34.  #ifndef HAVE_EGG_ALLOCATOR
  35.  typedef void* (*EggAllocator) (void* p, gsize);
  36. @@ -35,13 +36,13 @@
  37.  
  38.  struct static_struct_asn;
  39.  
  40. -GNode*              egg_asn1x_create                 (const struct static_struct_asn *defs,
  41. +GNode*              egg_asn1x_create                 (const ASN1_ARRAY_TYPE *defs,
  42.                                                        const gchar *type);
  43.  
  44. -GNode*              egg_asn1x_create_quark           (const struct static_struct_asn *defs,
  45. +GNode*              egg_asn1x_create_quark           (const ASN1_ARRAY_TYPE *defs,
  46.                                                        GQuark type);
  47.  
  48. -GNode*              egg_asn1x_create_and_decode      (const struct static_struct_asn *defs,
  49. +GNode*              egg_asn1x_create_and_decode      (const ASN1_ARRAY_TYPE *defs,
  50.                                                        const gchar *type,
  51.                                                        gconstpointer data,
  52.                                                        gsize n_data);


после чего:

ebuild /home/allusr/localoverlay/gnome-base/gnome-keyring/gnome-keyring-2.32.1-r2.ebuild digest
>>> Creating Manifest for /home/allusr/localoverlay/gnome-base/gnome-keyring
EMERGE_DEFAULT_OPTS="--quiet-build=n"  emerge gnome-keyring


ключевая строчка:

* Applying egg-asn1x.patch ...      [ ok ]


PS: ссылки

https://www.linux.org.ru/forum/general/7169422#comment-7170433
http://forums.gentoo.org/viewtopic-p-7601564.html
https://github.com/openembedded/meta-oe/blob/master/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/egg-asn1x.patch
http://highlight.hohli.com/