LINUX.ORG.RU
решено ФорумTalks

app-portage/ibashrc::init6

 , , ,


2

1

Кому надо, вот app-portage/ibashrc::init6 ebuild, а вот сам проект.

Для Ъ - аналог epatch_user с автоподбором параметра -p NUM --strip=NUM Strip NUM leading components from file names. команды patch, заменитель lafilefixer-а и переключалка сборки любого пакета при помощи gcc/icc/clang+llvm.

Для тех кто не читал wiki /etc/portage/bashrc.

megabaks кастовать бесполезно… а для всех заинтересованных gentoo-шников тег.

★★★★★

Благодарю. Обязательно потестирую.

Fist
()

аналог epatch_user

Если точнее то не совсем аналог поскольку весь велосипед и нужен был для того чтобы накладывать свои собственные патчи кроме тех что есть в официальных portage gentoo и без вмешательства в сами ebuild-ы.

init_6 ★★★★★
() автор топика

И пример работы со слов Applying auto patches from и по Done with auto patching

 * Package:    sys-devel/gcc-4.9.1
 * Repository: local
 * USE:        cxx elibc_glibc kernel_linux mips nls nptl userland_GNU
 * FEATURES:   preserve-libs splitdebug userpriv usersandbox
>>> Unpacking source...
>>> Unpacking gcc-4.9.1.tar.bz2 to /opt/var/tmp/portage/sys-devel/gcc-4.9.1/work
>>> Source unpacked in /opt/var/tmp/portage/sys-devel/gcc-4.9.1/work
 * Applying auto patches from /opt/etc/portage/autopatch/sys-devel/gcc-4.9.1 ...
 * Failed AutoPatch: gcc-4.5-mips64_multilib.patch !
 *   -p1 gcc-4.6.2-ada-makefile.patch ...
 *   -p1 gcc-4.6.2-custom-libgcj_bc-rpath.patch ...
 *   -p1 gcc-4.6.2-multi-do-libdir.patch ...
 *   -p1 gcc-4.7.1-java-nomulti.patch ...
 *   -p1 gcc-4.7.1-mips_gcc_testsuite_fix_loop.patch ...
 *   -p1 gcc-4.7.1-uclibc-ldso-path.patch ...
 *   -p1 gcc-4.8.2-arm-gnuhash.patch ...
 *   -p1 gcc-4.8.2-arm_format_fix.patch ...
 *   -p1 gcc-4.8.2-hash-style-gnu.patch ...
 *   -p1 gcc-4.8.2-linux32.patch ...
 * Failed AutoPatch: gcc-4.9-PR-bootstrap_56714.patch !
 *   -p1 gcc-mips-libjava-interp.patch ...
 *   -p0 gcc32-pr7434-testcase.patch ...
 * Failed AutoPatch: gcc33-gpc-serialize-build.patch !
 *   -p1 gcc33-pass-slibdir.patch ...
 *   -p0 gcc33-pr11536-testcase.patch ...
 *   -p0 gcc33-pr11631.patch ...
 *   -p0 gcc33-pr8213-testcase.patch ...
 *   -p0 gcc33-pr9929-testcase.patch ...
 * Failed AutoPatch: gcc34-gpc-fixes.patch !
 *   -p1 gcc4-libltdl-multilib.patch ...
 *   -p1 gcc43-no-multilib-propertydir.patch ...
 *   -p0 gcc49-aarch64-GNU_STACK.patch ...
 *   -p0 gcc49-aarch64-async-unw-tables.patch ...
 *   -p0 gcc49-color-auto.patch ...
 *   -p0 gcc49-hack.patch ...
 *   -p0 gcc49-i386-libgomp.patch ...
 *   -p0 gcc49-java-nomulti.patch ...
 *   -p0 gcc49-libgo-p224.patch ...
 *   -p0 gcc49-libgomp-omp_h-multilib.patch ...
 *   -p0 gcc49-libstdc++-docs.patch ...
 *   -p0 gcc49-libtool-no-rpath.patch ...
 *   -p0 gcc49-no-add-needed.patch ...
 *   -p0 gcc49-ppc32-retaddr.patch ...
 *   -p0 gcc49-pr38757.patch ...
 *   -p0 gcc49-pr56493.patch ...
 *   -p0 gcc49-rh330771.patch ...
 *   -p0 gcc49-sparc-config-detection.patch ...
 * Failed AutoPatch: lsb-headers-3.1.1-mips-support.patch !
 * Failed AutoPatch: lsb-headers-3.1.1-misc.patch !
 * Done with auto patching ...
>>> Preparing source in /opt/var/tmp/portage/sys-devel/gcc-4.9.1/work/gcc-4.9.1 ...
 * Running elibtoolize in: gcc-4.9.1/
 *   Applying portage/2.2 patch ...
 *   Applying sed/1.5.6 patch ...
 *   Applying as-needed/2.2.6 patch ...
 * Using GNU config files from 
 * Can't read /config.sub, skipping..
 * Can't read /config.guess, skipping..
 * Fixing misc issues in configure files
 * Applying gcc-configure-texinfo.patch ...                                                                                                                                                             [ ok ]
 * Touching generated files
 *   Touching libjava/aclocal.m4
 *   Touching libjava/Makefile.in
 *   Touching libjava/configure
 *   Touching libjava/libltdl/aclocal.m4
 *   Touching libjava/libltdl/Makefile.in
 *   Touching libjava/libltdl/configure
 *   Touching libjava/libltdl/config-h.in
 * Applying gcc-spec-env-r1.patch ...                                                                                                                                                                   [ ok ]
>>> Source prepared.
>>> Configuring source in /opt/var/tmp/portage/sys-devel/gcc-4.9.1/work/gcc-4.9.1 ...
 * CFLAGS=""
 * CXXFLAGS=""
 * LDFLAGS="-Wl,-O1 -Wl,--as-needed"

 * PREFIX:          /opt/usr
 * BINPATH:         /opt/usr/mipsel-pc-linux-gnu/gcc-bin/4.9.1
 * LIBPATH:         /opt/usr/lib/gcc/mipsel-pc-linux-gnu/4.9.1
 * DATAPATH:        /opt/usr/share/gcc-data/mipsel-pc-linux-gnu/4.9.1
 * STDCXX_INCDIR:   /opt/usr/lib/gcc/mipsel-pc-linux-gnu/4.9.1/include/g++-v4

 * Languages:       c,c++

 * Configuring GCC with: 
 * 	--host=mipsel-pc-linux-gnu 
 * 	--build=mipsel-pc-linux-gnu 
 * 	--prefix=/opt/usr 
 * 	--bindir=/opt/usr/mipsel-pc-linux-gnu/gcc-bin/4.9.1 
 * 	--includedir=/opt/usr/lib/gcc/mipsel-pc-linux-gnu/4.9.1/include 
 * 	--datadir=/opt/usr/share/gcc-data/mipsel-pc-linux-gnu/4.9.1 
 * 	--mandir=/opt/usr/share/gcc-data/mipsel-pc-linux-gnu/4.9.1/man 
 * 	--infodir=/opt/usr/share/gcc-data/mipsel-pc-linux-gnu/4.9.1/info 
 * 	--with-gxx-include-dir=/opt/usr/lib/gcc/mipsel-pc-linux-gnu/4.9.1/include/g++-v4 
 * 	--with-python-dir=/opt/share/gcc-data/mipsel-pc-linux-gnu/4.9.1/python 
 * 	--enable-languages=c,c++ 
 * 	--enable-obsolete 
 * 	--enable-secureplt 
 * 	--disable-werror 
 * 	--with-system-zlib 
 * 	--enable-nls 
 * 	--without-included-gettext 
 * 	--enable-checking=release 
 * 	--with-bugurl=https://bugs.gentoo.org/ 
 * 	--with-pkgversion=Gentoo 4.9.1 
 * 	--enable-libstdcxx-time 
 * 	--enable-shared 
 * 	--enable-threads=posix 
 * 	--enable-__cxa_atexit 
 * 	--enable-clocale=gnu 
 * 	--disable-multilib 
 * 	--disable-altivec 
 * 	--disable-fixed-point 
 * 	--with-abi= 
 * 	--disable-libgcj 
 * 	--disable-libgomp 
 * 	--disable-libmudflap 
 * 	--disable-libssp 
 * 	--disable-libquadmath 
 * 	--enable-lto 
 * 	--without-cloog
init_6 ★★★★★
() автор топика
Ответ на: комментарий от PreciousProtection

IMO, правильнее пинать разработчиков, чтобы внедряли epatch_user в ебилды.

Тебе надо? Бери и пинай. А мне проще положить нужный мне патчик в /etc/portage/autopatch и забить на разработчиков и аппстрим gentoo.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от PreciousProtection

Правильнее чтобы это автоматически выполнялось перед, например, src_prepare(), без прописывания в каждом ебилде.

tides
()

где-то я уже такое видел...

megabaks кастовать бесполезно…

точно, у него и было.

чем они отличаются-то?

funeralismatic ★★★
()
Ответ на: комментарий от tides

Правильнее чтобы это автоматически выполнялось перед, например, src_prepare(), без прописывания в каждом ебилде.

Правильнее, как собственно и сделано, в post_src_unpack потому что он идет ещё задолго до src_prepare. В любом случае тот кому оно надо поменяет без проблем.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от PreciousProtection

Может, лучше написать отличия, ты ведь, как автор, лучше знаешь. Зачем так резко отвечать?

Особенности app-portage/ibashrc::init6 описаны в шапке. И я не обязан знать что пилил в своих велосипедах megabaks.

init_6 ★★★★★
() автор топика
Ответ на: комментарий от init_6

полегче! я знаю, как ты любишь мегабакса.

читал я шапку, и сам скрипт читал (по диагонали, но читал).

вообще, надо пробовать, но мне не на чем.

funeralismatic ★★★
()
Ответ на: комментарий от funeralismatic

полегче! я знаю, как ты любишь мегабакса.

Он тут вообще не при чем.

Тебе нужна „аналитика“, „результаты сравнений“, „соцопросы“? Бери и сравнивай я ничего против не имею.

+ Другое дело забрать че нить интересное, если оно там есть, ещё и из его велосипеда.

init_6 ★★★★★
() автор топика
Последнее исправление: init_6 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.