2015年7月6日月曜日

emerge --syncをgitなリポジトリからするようにしてみました [追記あり]

こんにちは。私は元気です。


Gentoo Portageでのemerge --syncをrsyncからgitでやるように変えてみました。なんか最近は/etc/portage/make.confにではなく、/etc/portage/repos.conf/ディレクトリ下に書くみたいですね。

参考にしたもの

それではやったことを残しておきます。


各所mkdirやchownしておきます。

# mkdir -p /etc/portage/repos.conf /var/db/repos/gentoo
# chown portage:portage /var/db/repos/gentoo

なんかこんなふうに書くらしいです。
/etc/portage/repos.conf/gentoo.conf

[gentoo]
location = /var/db/repos/gentoo
sync-type = git
sync-uri = https://github.com/gentoo-mirror/gentoo
auto-sync = yes

gentoo.confのlocationをPOSTDIRが上書きしてしまうので、コメントアウトするか削って下さい。DISTDIRやPKGDIRも合わせて修正して下さい。
/etc/portage/make.conf

--- make.conf.old 2015-07-06 01:41:08.360123296 +0900
+++ make.conf.new 2015-07-06 02:15:56.790163553 +0900
@@ -13,9 +13,9 @@
 USE="bindist mmx mmxext sse sse2 ss3 jpeg png acpi scsi ibus fuse udev udisks upower consolekit policykit session wifi usb cdda dvd alsa cairo opengl cjk ibus nls X libnotify startup-notification gtk gtk3 -gnome -kde dbus pulseaudio bluetooth lm_sensors libav -hddtemp -cups"
 ABI_X86="64"
 CPU_FLAGS_X86="mmx mmxext sse sse2 sse3"
-PORTDIR="/usr/portage"
-DISTDIR="${PORTDIR}/distfiles"
-PKGDIR="${PORTDIR}/packages"
+#PORTDIR="/usr/portage"
+DISTDIR="/usr/portage/distfiles"
+PKGDIR="/usr/portage/packages"

/etc/portage/make.profileのリンクを修正するため、再度eselectでprofileを選びます。ls -lして古いリンクを確認すれば、何を選べばいいか分かると思います。

$ ls -l /etc/portage/make.profile
lrwxrwxrwx 1 root root   59  8月 16  2014 make.profile -> ../../usr/portage/profiles/default/linux/amd64/13.0/desktop
# eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0
  [2]   default/linux/amd64/13.0/selinux
  [3]   default/linux/amd64/13.0/desktop
  [4]   default/linux/amd64/13.0/desktop/gnome
  [5]   default/linux/amd64/13.0/desktop/gnome/systemd
  [6]   default/linux/amd64/13.0/desktop/kde
  [7]   default/linux/amd64/13.0/desktop/kde/systemd
  [8]   default/linux/amd64/13.0/desktop/plasma
  [9]   default/linux/amd64/13.0/desktop/plasma/systemd
  [10]  default/linux/amd64/13.0/developer
  [11]  default/linux/amd64/13.0/no-multilib
  [12]  default/linux/amd64/13.0/systemd
  [13]  default/linux/amd64/13.0/x32
  [14]  hardened/linux/amd64
  [15]  hardened/linux/amd64/selinux
  [16]  hardened/linux/amd64/no-multilib
  [17]  hardened/linux/amd64/no-multilib/selinux
  [18]  hardened/linux/amd64/x32
  [19]  hardened/linux/musl/amd64
  [20]  default/linux/uclibc/amd64
  [21]  hardened/linux/uclibc/amd64
# eselect profile set 3

あとはsyncしたりsearchしてみて大丈夫か確かめましょう。

# emerge --sync

大丈夫そうであれば、/usr/portage下のdistfilesやpackages以外のものは消すか、アーカイブしておきましょう。(私の場合は消しちゃいました)

# cd /usr/portage
# ls | grep -vE '^(distfiles|packages)$' | xargs rm -r


自分がやったことを書きつつ他の人向けに修正していますので、なにかおかしいところがあるかもしれません。あったらごめんなさい。

laymanも2.3.0からrepos.confで設定できるみたいですが、アップデートかかるまで気長に待ちます。


[追記: 2015/08/12]
GentooのPortageがgitに移ったらしいので、本家のリポジトリに変更しました


[追記: 2015/08/23]
Gentoo が公式に Git に移行 | wjn's repos' info.
http://gh.asis.li/blog/gentoo-moved-git-officially.htmlによると、
https://anongit.gentoo.org/git/repo/gentoo.git は開発者向けのリポジトリであり、/metadata/md5-cache/*が置かれていないので、依存関係の解決等に時間がかかる不適切な設定でした。誤った情報を記載してしまい、申し訳ありませんでした。

私はただの「OSS使ってる俺カッコいい」と思っているただのコピペマンでした。自分の脳で考えられるよう精進していきたいと思います。お見苦しいものをお見せして申し訳ありませんでした。
僻みすぎました。まあ懲りずに書いていきますので、改善していきたいと思います。

2015年5月2日土曜日

LinuxのWineでフォントが汚い場合のもうひとつ見るべきところ

お久しぶりです。(連投)

wineでフォントスムージングに関するあらゆる記事をよく読み、regeditを弄りまくった。でもフォントが汚い!という人。winecfgの"画面"タブの"画面解像度"のつまみを右へスライドして、フォントの様子を見てみましょう。あれ?ちょっと汚くなくなったぞ!?と思いませんか?(ちなみにこれはIPAゴシックです)

もし私の様子と同じようであれば、wineのフォントに関する設定は十分正しいようです。それでは、一体何がいけないのかというと、FreeTypeでのフォントレンダリングがネックになっているかもしれません。

解決策としては、FreeTypeにinfinalityパッチを当てたものを導入すると良いです。infinalityは、FreeTypeのレンダリングをより良いものにするパッチです。deb系ではPPAとか、ArchではAURにて調べると比較的簡単に導入できると思います。もしパッケージが用意されていないディストリビューションを使っていれば(そんな人中々いないと思いますけど)、この方法を試してみてください。

Linux でフォントのレンダリングを好みのものにする方法 : アシアルブログ

infinalityパッチを当てた後、再起動すれば、IPAゴシックもこの通り。

ちなみに、Ubuntuでは何もしなくてもTakaoゴシックが綺麗に表示されるっぽいですが、UbuntuもFreeTypeに独自の変更を加えているようです。

Linuxでローカルのswfファイル(flash)が開けない問題について

お久しぶりです。

題の通り、ブラウザ等でswfを開こうとすると保存し直される(ブラウザでは開けない他のファイルと同じ挙動)になってしまう現象が前からありました。

話としてはこういうことで、つまりは/usr/share/mime/packages/freedesktop.org.xmlで設定されているswfのMIMEタイプが、'vnd.adobe.flash.movie'からエイリアスする形で'x-showckwave-flash'が提供されており、これとflashランタイムとの相性が良くない...のかもしれません。

ともかく、web上で示されている解決策はshared-mime-infoがアップデートされると元通りになってしまいますから、ここにhome下に置いた設定ファイルを晒しておきます。

~/.local/share/mime/packages/local-flash.xml

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
 <mime-type type="application/x-shockwave-flash">
    <comment>Shockwave Flash file</comment>
    <comment xml:lang="ar">ملف Shockwave Flash</comment>
    <comment xml:lang="be@latin">Fajł Shockwave Flash</comment>
    <comment xml:lang="bg">Файл — Shockwave Flash</comment>
    <comment xml:lang="ca">fitxer Shockwave Flash</comment>
    <comment xml:lang="cs">soubor Shockwave Flash</comment>
    <comment xml:lang="da">Shockwave Flash-fil</comment>
    <comment xml:lang="de">Shockwave-Flash-Datei</comment>
    <comment xml:lang="el">Αρχείο Shockwave Flash</comment>
    <comment xml:lang="en_GB">Shockwave Flash file</comment>
    <comment xml:lang="eo">dosiero de Shockwave Flash</comment>
    <comment xml:lang="es">archivo Shockwave Flash</comment>
    <comment xml:lang="eu">Shockwave Flash fitxategia</comment>
    <comment xml:lang="fi">Shockwave Flash -tiedosto</comment>
    <comment xml:lang="fo">Shockwave Flash fíla</comment>
    <comment xml:lang="fr">fichier Shockwave Flash</comment>
    <comment xml:lang="ga">comhad Shockwave Flash</comment>
    <comment xml:lang="gl">ficheiro sockwave Flash</comment>
    <comment xml:lang="he">קובץ של Shockwave Flash</comment>
    <comment xml:lang="hr">Shockwave Flash datoteka</comment>
    <comment xml:lang="hu">Shockwave Flash-fájl</comment>
    <comment xml:lang="ia">File Shockwave Flash</comment>
    <comment xml:lang="id">Berkas Shockwave Flash</comment>
    <comment xml:lang="it">File Shockwave Flash</comment>
    <comment xml:lang="ja">Shockwave Flash ファイル</comment>
    <comment xml:lang="kk">Shockwave Flash файлы</comment>
    <comment xml:lang="ko">Shockwave 플래시 파일</comment>
    <comment xml:lang="lt">Shockwave Flash failas</comment>
    <comment xml:lang="lv">Shockwave Flash datne</comment>
    <comment xml:lang="ms">Fail Shockwave Flash</comment>
    <comment xml:lang="nb">Shockwave Flash-fil</comment>
    <comment xml:lang="nl">Shockwave Flash-bestand</comment>
    <comment xml:lang="nn">Shockwave Flash-fil</comment>
    <comment xml:lang="pl">Plik Shockwave Flash</comment>
    <comment xml:lang="pt">ficheiro Shockwave Flash</comment>
    <comment xml:lang="pt_BR">Arquivo Shockwave Flash</comment>
    <comment xml:lang="ro">Fișier Shockwave Flash</comment>
    <comment xml:lang="ru">файл Shockwave Flash</comment>
    <comment xml:lang="sk">Súbor Shockwave Flash</comment>
    <comment xml:lang="sl">Datoteka Shockwave Flash</comment>
    <comment xml:lang="sq">File Flash Shockwave</comment>
    <comment xml:lang="sr">Шоквејв Флеш датотека</comment>
    <comment xml:lang="sv">Shockwave Flash-fil</comment>
    <comment xml:lang="uk">файл Shockwave Flash</comment>
    <comment xml:lang="vi">Tập tin Flash Shockwave</comment>
    <comment xml:lang="zh_CN">Shockwave Flash 文件</comment>
    <comment xml:lang="zh_TW">Shockwave Flash 檔案</comment>
    <alias type="application/futuresplash"/>
    <generic-icon name="video-x-generic"/>
    <magic priority="50">
      <match value="FWS" type="string" offset="0"/>
      <match value="CWS" type="string" offset="0"/>
    </magic>
    <glob pattern="*.swf"/>
    <glob pattern="*.spl"/>
  </mime-type>
</mime-info>