From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 10 Jun 2016 14:58:36 +0300 (MSK) From: Ivan Zakharyaschev To: ALT Linux Team development discussions In-Reply-To: Message-ID: References: User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="1807885841-1272409183-1465559916=:1381" Subject: Re: [devel] other specs with "if 64"; was: Re: [AArch64] python3 spec fix X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jun 2016 11:58:38 -0000 Archived-At: List-Archive: List-Post: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1807885841-1272409183-1465559916=:1381 Content-Type: text/plain; format=flowed; charset=KOI8-R Content-Transfer-Encoding: 8BIT Здравствуйте! Предстоит разобраться с проверками if 64 в остающемся списке из примерно 270 пакетов. (Список кусочков спеков я покажу чуть погодя.) Общее соображение такое, что %if упоминающий просто случай x86_64 или lib64 не очень хорош (если только пакет не явно ExclusiveArch: .... x86_64 ..., т.е. мейнтейнер разобрался с тем, на каких архитектурах оно должно быть собрано и записал это явно). if на просто x86_64 (или явный список подобных архитектур) или lib64 плох, потому что как бы говорит, что во всех остальных случаях не надо ничего осбенного делать и мы соберёмся. Но может быть другая не рассмотренная им архитектура, где "%_libdir" != "lib" (и при этом не lib64) или там в каком-то смылсе 64 бита, что потребует аналогичных x86_64 манипуляций. Если написан if, трудно, увидев его, автоматически проверить, хороший он или плохой. У меня даже возникла такая мысль -- чтобы эту проблему не прятать (за каким-нибудь бесполезным, как тут говорилось, %if64bit): в особо трудных случаях (вроде nss) для рассмотренных менйтейнером архитектур делать макросы со специальными действиями вида %setup_for_SOME_ARCH и потом пытаться экспандить setup_for_%_arch. (Такого рода switch вместо if.) Если архитектура не рассмотрена/неизвестна, это будет явно вызывать ошибку при обработке спека. (Возможно, это излишне и хватит ExclusiveArch, но не хочется повального бездумного проставления ExclusiveArch из-за этого моего обращения.) Обратите внимание на пакеты (ACL с @ переместил в конец). Я параллельно продолжаю их рассматривать и обрабатывать. Если у меня возникнут конретные предложения по пакетам или группам, я их либо воплощу (если всё довольно просто), либо сообщу для обсуждения. ssh girar acl sisyphus | while read p users; do set -- $users; for user; do echo "$user" "$p"; done; done | sort -k1 | { while read sect p; do if [[ "$prev" != "$sect" ]]; then echo "$prev:" "${pkgs[@]}"; prev="$sect"; pkgs=(); fi; pkgs=("${pkgs[@]}" "$p"); done; echo "$prev:" "${pkgs[@]}"; } ach: powder antohami: winff arc: sams aris: libfreeimage boris: mingw32-gcc boyarsh: util-linux cas: 389-ds-base freebasic jitsi cow: luajit crux: rust damir: calibre danil: runawfe4-gpd runawfe4-notifier dans: lxc drool: libprojectM uchardet ender: libmusicbrainz3 libquicktime111 evg: awesome pqiv george: cooldown fpc-units-ptcpas gforth gravit lugaru powdertoy python3 renpy violetland glebfm: binutils filesystem gcc3.4 gcc4.3 gcc4.4 gcc4.5 gcc4.7 gcc4.8 gcc4.9 gcc5 glibc-kernheaders jdkgcj libcaca python3 gray_graff: eiskaltdcpp greycat: erlang libqca hsv: erlang imz: python3 inger: mvapich-gcc karpov: extreme-tuxracer lakostis: mbuffer lav: audacious audacious-plugins dia gnustep-make imlib2 iozone libcds libcryptopp libmathgl libxerces-c mingw32-libnspr python-module-numpy python-module-wx sK1 wine wine-vanilla ldv: binutils filesystem gcc3.4 gcc4.3 gcc4.4 gcc4.5 gcc4.7 gcc4.8 gcc4.9 gcc5 glibc-kernheaders jdkgcj john procps python3 zlib legion: mozldap nspr nss util-linux manowar: qhull scribus mike: MySQL gromacs imlib2 pdfedit python-module-wx rpm-macros-uefi sK1 mithraen: apulse mongo speex unixODBC wanpipe mutabor: libquicktime111 mvk: freerdp pidgin-mra nenderus: SFML jreen miniupnpc qutim oddity: qgis pv: libuniset2 mosquitto real: CoinCsdp CoinLEMON CoinPFunc OpenAD Xdmf adolc allegro5.0 apiextractor armadillo atl berkeley_upc blitz blosc bml cca-spec-babel cca-spec-classic cercs_env chasm clipper coin3d cppcheck crlibm cudd dakota df_shm dill dolfin-complex dolfin-real elmerfem escript-finley evpath exodusii ffs fityk flake freecfd-complex freecfd-real freefemxx generatorrunner geos geos1 gl2ps glsl-optimizer gmsh gnustep-BDB gnustep-JIGS gnustep-ShengGuang gnustep-make gnustep-objc2 gpsynth hiredis hlsl2glsl hypre jsonxx ksocrat labplot lapack laspack libBatch libbotan1.11 libcuefile libdict libgibsonclient libhdf5-8-mpi libhdf5-8-seq libjson_spirit libmesh-complex libmesh-real libnetcdf7-mpi libnetcdf7-seq libnetcdf_c++-4-mpi libnetcdf_c++-4-seq libnetcdf_c++4-1-mpi libnetcdf_c++4-1-seq libnetcdff5-mpi libnetcdff5-seq libquicktime111 libreplaygain libsc libsocket libsuitesparse libvdpau-va-gl libxtract log4cplus logtop lout lz4 marsyas merkaartor mpip musepack mvapich-gcc mygui netgen nnti oofem-compl ex oofem-real open-axiom openblas openpdt oscpack pacoxx papi parmetis parmetis0 pastix petsc-complex petsc-real picosat plplot pnetcdf poco pyside-qt4 pyside-qt4-py3 qalculate-kde4 qhull qm-dsp qtm rakarrack reduce scotch scribus shiboken shiboken-py3 shogun simage tau tbb tinyxml2 trilinos10 trilinos10-docs vtk vtk6.2 xmlrpcxx xraylib yaafe yices redbaron: mlt rider: MySQL libbroadvoice php5-dba rom_as: kdeedu qt3 rt: gnustep-make ruslandh: palemoon sbolshakov: gcc4.5 gcc4.7 jdkgcj libquicktime111 x265 sem: nuxwdog serpiph: blender2.49 shaba: edk2 mariadb qemu shrek: Mesa dia sin: cca-spec-babel cca-spec-classic dolfin-complex dolfin-real hypre libnss-fallback libnss-tartarus mpip petsc-complex petsc-real tau vtk slazav: xfig snejok: e3 stanv: bro cpupower mvapich-gcc vitty: MySQL alterator-grub cegui mongo python3 viy: jdkgcj libquicktime111 pine speex vkni: i3 vsu: glibc-kernheaders zerg: apt-scripts-nvidia eigen2 kde4-settings-kmobile kde4-settings-knetbook libmygpo-qt libqca libringclient mlt qt3 qt4-webkit qt5-webengine : @everybody: 389-ds-base CoinCsdp CoinLEMON CoinPFunc OpenAD SFML Xdmf adolc allegro5.0 alterator-grub apiextractor apulse armadillo atl audacious-plugins berkeley_upc blender2.49 blitz blosc bml bro calibre cca-spec-babel cca-spec-classic cegui cercs_env chasm clipper coin3d cooldown cppcheck cpupower crlibm cudd dakota df_shm dia dill dolfin-complex dolfin-real e3 edk2 eiskaltdcpp elmerfem erlang escript-finley evpath exodusii ffs fityk flake fpc-units-ptcpas freebasic freecfd-complex freecfd-real freefemxx freerdp generatorrunner geos geos1 gforth gl2ps glsl-optimizer gnustep-BDB gnustep-JIGS gnustep-ShengGuang gnustep-objc2 gpsynth gravit gromacs hiredis hlsl2glsl hypre i3 jitsi jreen jsonxx kde4-settings-kmobile kde4-settings-knetbook kdeedu ksocrat labplot lapack laspack libBatch libbotan1.11 libbroadvoice libcaca libcds libcryptopp libcuefile libdict libgibsonclient libhdf5-8-mpi libhdf5-8-seq libjson_spirit libmathgl libmesh-complex libmesh-real libmusicbrainz3 libmygpo-qt lib netcdf7-mpi libnetcdf7-seq libnetcdf_c++-4-mpi libnetcdf_c++-4-seq libnetcdf_c++4-1-mpi libnetcdf_c++4-1-seq libnetcdff5-mpi libnetcdff5-seq libnss-tartarus libqca libreplaygain libsc libsocket libsuitesparse libuniset2 libvdpau-va-gl libxerces-c libxtract log4cplus logtop lout luajit lugaru lxc lz4 mariadb marsyas mbuffer merkaartor mingw32-gcc mingw32-libnspr miniupnpc mlt mongo mono mosquitto mpip musepack mygui netgen nnti oofem-complex oofem-real open-axiom openblas openpdt oscpack pacoxx palemoon papi parmetis parmetis0 pastix pdfedit petsc-complex petsc-real php5-dba picosat pidgin-mra pine plplot pnetcdf poco powder powdertoy pqiv pyside-qt4 pyside-qt4-py3 python-module-curve25519 python-module-cvxopt python-module-faketime python-module-gnureadline python-module-libmagic python-module-libxmp python-module-mathutils python-module-netCDF4 python-module-pivy python-module-pycudd python-module-pyices python-module-pymagic python-module-rtree python-module-scikits.audiolab pytho n-module-scikits.samplerate python-module-wx3.0 python-module-z3c.pt python3-module-pcap qalculate-kde4 qemu qgis qm-dsp qt3 qtm qutim rakarrack reduce renpy rpm-macros-uefi runawfe4-gpd runawfe4-notifier rust sK1 sams scotch scribus shiboken shiboken-py3 shogun simage tau tbb tinyxml2 trilinos10 trilinos10-docs uchardet unixODBC violetland vtk6.2 wanpipe winff x265 xmlrpcxx xraylib yaafe yices @mono: mono @nobody: allegro4.4 dmd libixp libopencv2.4 tremulous @python: cca-spec-babel cca-spec-classic dolfin-complex dolfin-real hypre mpip petsc-complex petsc-real python-module-curve25519 python-module-cvxopt python-module-faketime python-module-gnureadline python-module-libmagic python-module-libxmp python-module-mathutils python-module-netCDF4 python-module-numpy python-module-pivy python-module-pycudd python-module-pyices python-module-pymagic python-module-rtree python-module-scikits.audiolab python-module-scikits.samplerate python-module-wx python-module-wx3.0 python-module-z3c.pt python3-module-pcap tau vtk @qa: adolc armadillo audacious blitz cca-spec-babel cca-spec-classic chasm coin3d dia dolfin-complex dolfin-real erlang extreme-tuxracer freecfd-complex freecfd-real gmsh gnustep-make gromacs hypre imlib2 iozone labplot laspack libcryptopp libmathgl libmesh-complex libmesh-real libnss-tartarus libquicktime111 libsuitesparse libxerces-c lout mpip mvapich-gcc netgen nuxwdog oofem-complex oofem-real open-axiom papi parmetis pastix petsc-complex petsc-real python-module-cvxopt python-module-numpy qgis reduce sK1 scotch scribus tau vtk wine-vanilla xfig -- Best regards, Ivan --1807885841-1272409183-1465559916=:1381--