development

 

Linkdump #0003

  1. RTPG: вебинтерфейс для rtorrent
  2. WWW SQL Designer - простенький визуальный дизайнер БД, работающий в браузере
  3. Серия статей "Частые ошибки программирования а Bash". Бегло просмотрев мои скриптики нашел некоторые из них.
  4. Видео: интересная обзорная презентация о Erlang и его применении в highload

Fortune #002

Special cases aren't special enough to break the rules. /Tim Peters, "The Zen of Python"/

Особые случаи не настолько особые, чтобы не соблюдать правила. /Тим Петерс, "The Zen of Python"/

Fortune #001

"Premature optimization is the root of all evil (or at least most of it) in programming." // Donald Knuth

Преждевременная оптимизация - корень всех (или по крайне мере многих) бед в программировании. // Д. Кнут

Linkdump #0000

  1. И снова о кредитах и о кризисе
  2. IE7 javascript library
    IE7 is a JavaScript library to make Microsoft Internet Explorer behave like a standards-compliant browser. It fixes many HTML and CSS issues and makes transparent PNG work correctly under IE5 and IE6.
  3. Одноклассники начали активную монетизацию

EAPI 2: поддержка языков в doman

В EAPI-2 функиця doman - помощник для установки мануалов (man pages) научилась распозновать языки мануалов и устанавливать локализованые страницы в правильное место.

Иными словами, теперь

doman foo.1 foo.en.1 foo.en_GB.1

Будет работаь правильно. Ранее она установила бы в правильное место только foo.1.

Источник: http://ciaranm.wordpress.com/2008/10/01/eapi-2-doman-language-support/

EAPI 2: default_ фазовые функции

С EAPIs 0 and 1, если вы хотели добавить что-то допустим к src_unpack, необходимо было вручную копировать в переопределенный src_unpack его поведение по умолчанию и свои строки. Часто это приводило к ошибкам - очень легко забыть дописать || die или что-то подобное.

EAPI 2 делает умолчальные имплементации функций доступными как функции с префиксом default (default_src_unpack, default_src_configure и т.п.)

Благодаря этому можно писать такие функции:

EAPI 2: src_configure и src_compile

EAPI 2 разделяет src_compile на src_configure и src_compile. Как и src_prepare, это сделано исключительно для удобства - чтобы уменьшить необходимость копирования, кроме того это позволяет проще вставлять какие-либо действия между запуском configure и make.

По умолчанию src_configure выглядит так:

src_configure() {
    if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
        econf
    fi
}

Как видно, это первая часть src_compile из EAPI 1

EAPI 2: !! блокировки

Блокировки очень досаждают пользователям. Чтобы как-то решить эту проблему, в новых весриях poratge введен механизм автоматического удаления блокироующего пакета перед установкой.

EAPI 2 вводит новый вид блокировок, которые обозначаются двумя восклицательными знаками, парпример !!app-misc/other. Эта запись означает "этот пакет не должен быть установлен во время сборки требуемого", !app-misc.other означает "этот пакет должен быть удален после соборки требуемого".

К сожалению, это не сделало систему безопаснее: вы все еще можете сломать ее неосторожно удалив пакет.

EAPI 2: src_prepare

EAPI 2 имеет новую функцию с названием src_prepare. Она вызывается после src_unpack и может быть использована для применения патчей, вызова sed и тому подобного. По умолчанию она не делает ничего.

Эта функция создана исключительно для удобства. Вместо того чтобы переопределять src_unpack, копируя туда код src_unpack по умолчанию и добавив туда лишь вызов patch, удобнее воспользоваться этой функцией.

Оригинал: http://ciaranm.wordpress.com/2008/09/29/eapi-2-src_prepare/

EAPI-2: USE-зависимости

Это второй пост в серии постов описывающих EAPI 2.

USE-зависимостибыли востребованы очень давно. Они устраняют большинство built_with_use ошибок, которые происходят в pkg_setup, заменяя их на ошибки, которые видимы во время вычесления зависимостей.