Skip to content

Instantly share code, notes, and snippets.

@minimum2scp
Last active December 22, 2015 11:58
Show Gist options
  • Save minimum2scp/6468983 to your computer and use it in GitHub Desktop.
Save minimum2scp/6468983 to your computer and use it in GitHub Desktop.
Vim 7.4.000 が、スペース80文字だけ(1行)の Ruby ファイル (拡張子rb)で SEGV するので、 パッチあててパッケージ野良ビルド。

ソース、ビルドツール、ビルド依存のインストール

% apt-get source vim
% apt-get install devscripts quilt fakeroot curl
% apt-get build-dep vim

パッチ入手

% curl -LO ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.003

パッチを quilt 管理下に追加

% cd vim-7.4.000
% quilt new upstream/7.4.003.patch
% quilt add src/regexp_nfa.c
% quilt add src/version.c
% patch -p0 < ../7.4.003
% quilt refresh

changelog 追加

% export [email protected]
% export DEBFULLNAME="YAMADA Tsuyoshi" 
% debchange -v "2:7.4.000-1+p003" -D unstable "apply a patch (ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.003)"

ビルド

% quilt pop -a
% debuild -rfakeroot -sa -j6

ビルドしなおすときは

% fakeroot debian/rules clean clean-vim-basic
% find . -name \*.pyc -delete
% rm -f src/po/vim.pot
% quilt refresh
% debuild -rfakeroot -sa -j6

ビルド成果ファイル

% ls -lh ..
合計 34M
-rw-r--r-- 1 tsuyoshi tsuyoshi 2.7K  9月  6 17:47 7.4.003
drwxr-xr-x 6 tsuyoshi tsuyoshi 4.0K 10月 31  2010 dotfiles/
drwxr-xr-x 9 tsuyoshi tsuyoshi 4.0K  4月 26  2011 my-scripts/
drwxr-xr-x 3 tsuyoshi tsuyoshi 4.0K  9月  6 19:19 tmp/
drwxr-xr-x 9 tsuyoshi tsuyoshi 4.0K  9月  6 19:22 vim-7.4.000/
-rw-r--r-- 1 tsuyoshi tsuyoshi 1.1M  9月  6 19:21 vim-athena_7.4.000-1+p003_amd64.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 172K  9月  6 19:22 vim-common_7.4.000-1+p003_amd64.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 6.7M  9月  6 19:22 vim-dbg_7.4.000-1+p003_amd64.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 1.7M  9月  6 19:21 vim-doc_7.4.000-1+p003_all.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 1.1M  9月  6 19:21 vim-gnome_7.4.000-1+p003_amd64.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 1.1M  9月  6 19:21 vim-gtk_7.4.000-1+p003_amd64.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 150K  9月  6 19:20 vim-gui-common_7.4.000-1+p003_all.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi  87K  9月  6 19:21 vim-lesstif_7.4.000-1+p003_all.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 950K  9月  6 19:22 vim-nox_7.4.000-1+p003_amd64.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 4.8M  9月  6 19:21 vim-runtime_7.4.000-1+p003_all.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 372K  9月  6 19:21 vim-tiny_7.4.000-1+p003_amd64.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 185K  9月  6 19:08 vim_7.4.000-1+p003.debian.tar.gz
-rw-r--r-- 1 tsuyoshi tsuyoshi 2.7K  9月  6 19:23 vim_7.4.000-1+p003.dsc
-rw-r--r-- 1 tsuyoshi tsuyoshi 3.0M  9月  6 19:23 vim_7.4.000-1+p003_amd64.build
-rw-r--r-- 1 tsuyoshi tsuyoshi 6.2K  9月  6 19:23 vim_7.4.000-1+p003_amd64.changes
-rw-r--r-- 1 tsuyoshi tsuyoshi 858K  9月  6 19:22 vim_7.4.000-1+p003_amd64.deb
-rw-r--r-- 1 tsuyoshi tsuyoshi 185K  9月  6 17:43 vim_7.4.000-1.debian.tar.gz
-rw-r--r-- 1 tsuyoshi tsuyoshi 1.8K  9月  6 17:43 vim_7.4.000-1.dsc
-rw-r--r-- 1 tsuyoshi tsuyoshi 6.9K  9月  6 17:43 vim_7.4.000-1_amd64.build
-rw-r--r-- 1 tsuyoshi tsuyoshi  12M  8月 11 02:04 vim_7.4.000.orig.tar.gz

reprepro にアップロードする

% sudo apt-get install dupload openssh-client
% cat > ~/.dupload.conf
package config;

$cfg{'heartbreakone'} = {
   fqdn => "minimum2scp.org",
   method => "scpb",
   incoming => "/var/www/repos/apt/debian/incoming",
   # files pass on to dinstall on ftp-master which sends emails itself
   dinstall_runs => 1,
};

1;
EOF
% dupload --to heartbreakone vim_7.4.000-1+p003_amd64.changes

reprepro で incoming を処理する

% sudo reprepro -v --confdir /var/www/repos/apt/debian/conf processincoming general
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment