ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Arseny Maslennikov <arseny@altlinux.org>
To: devel@lists.altlinux.org
Subject: Re: [devel] [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm
Date: Mon, 11 Jan 2021 19:38:51 +0300
Message-ID: <X/x/Gydomqfpfga0@cello> (raw)
In-Reply-To: <20210111160945.GA1739369@lks.home>

[-- Attachment #1: Type: text/plain, Size: 10695 bytes --]

On Mon, Jan 11, 2021 at 05:09:45PM +0100, Konstantin Lepikhov wrote:
> Hi Arseny!
> 
> On 01/08/2021, at 12:18:41 AM you wrote:
> > УМВР. Может, мой почтовый клиент сломал ссылку или ваш не так показал?
> > 
> > Прикладываю файлом.
> 
> > diff --git a/llvm11.spec b/llvm11.spec

<...>

> > +%global v_major 11
> > +%global v_majmin %v_major.0
> > +%global v_full %v_majmin.0
> > +%global rcsuffix %nil
> а так ли нужны все эти приседания с версиями и rc? У нас же не daily
> builds собираются.

До поры до времени.
Начинать готовить адаптацию спека лучше с каких-то достаточно поздних
rc, особенно в случае, когда после выхода времени у мейнтейнера мало, а
чуть раньше — много.

> 
> > +%global llvm_name llvm%v_majmin
> > +%global clang_name clang%v_majmin
> > +%global clangd_name clangd%v_majmin
> > +%global lld_name lld%v_majmin
> т.е. планируется собирать раздельные версии clang/llvm/lld?

не в рамках одного исходного пакета.

<...>

> >  %def_disable tests
> >  %ifarch x86_64 aarch64
> >  %def_without clang
> почему? without_clang используется только если у нас bootstrap. Иначе
> будет сборка без LTO.

Внимательно посмотрите changelog и архив.

Одна из возможных причин:
http://git.altlinux.org/people/arseny/packages/?p=llvm11.0.git;a=commit;h=4b3c6c13e4d70fd201691c636d57b5b020e00709
Надо думать, что с этим делать.

> 
> > @@ -18,44 +39,62 @@
> >  %def_without clang
> >  %endif
> >  
> > +%define tarversion %v_full%rcsuffix
> > +
> >  Name: %llvm_name
> > -Version: 11.0.0
> > -Release: alt1
> > -Summary: The Low Level Virtual Machine
> > +Version: %v_full
> > +Release: alt2
> > +Summary: The LLVM Compiler Infrastructure

<...>

> >  %package libs
> >  Group: Development/C
> >  Summary: LLVM shared libraries
> > +%requires_filesystem
> >  
> >  %description libs
> > -Shared libraries for the LLVM compiler infrastructure.
> > +This package contains shared libraries needed to develop new
> > +native programs that use LLVM.
> ?

разве тут что-то неверно?
старый description был слишком неточным и подходил к нескольким бинарным
пакетам.

> 
> >  
> >  %package doc
> >  Summary: Documentation for LLVM
> >  Group: Documentation

<...>

> >  
> >  %build
> > +%define _cmake_skip_rpath -DCMAKE_SKIP_RPATH:BOOL=OFF
> >  %cmake -G Ninja \
> >  	-DLLVM_PARALLEL_LINK_JOBS=1 \
> >  	-DCMAKE_BUILD_TYPE=Release \
> > +	-DCMAKE_INSTALL_PREFIX=%llvm_prefix \
> > +	-DCMAKE_SKIP_INSTALL_RPATH:BOOL=OFF \
> >  	-DBUILD_SHARED_LIBS:BOOL=OFF \
> > -	-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF;NVPTX;" \
> > +	-DLLVM_TARGETS_TO_BUILD="all" \
> Почему нам нужны все TARGETS?

Я скоро буду собирать пакеты, которые этим будут пользоваться.

Ну, и для "clang -target aarch64-unknown-linux-gnu" какого-нибудь.

> 
> >  	-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='AVR' \
> >  	-DLLVM_ENABLE_LIBCXX:BOOL=OFF \
> >  	-DLLVM_ENABLE_ZLIB:BOOL=ON \
> > @@ -287,13 +395,13 @@ ninja -vvv -j %__nprocs -C BUILD
> >  
> >  %install
> >  pushd BUILD
> > -cmake -DCMAKE_INSTALL_PREFIX=%buildroot%prefix ../
> > +cmake -DCMAKE_INSTALL_PREFIX=%buildroot%llvm_prefix ../
> >  sed -i 's|man\ tools/lld/docs/docs-lld-html|man|' build.ninja
> >  sed -i '/^[[:space:]]*include.*tools\/lld\/docs\/cmake_install.cmake.*/d' tools/lld/cmake_install.cmake
> >  popd
> >  ninja -C BUILD install
> >  
> > -# And prepare Clang documentation
> > +# Prepare Clang documentation.
> >  rm -rf BUILD/clang-docs
> >  mkdir -p BUILD/clang-docs
> >  for f in LICENSE.TXT NOTES.txt README.txt; do
> > @@ -301,113 +409,295 @@ for f in LICENSE.TXT NOTES.txt README.txt; do
> >  done
> >  rm -rf tools/clang/docs/{doxygen*,Makefile*,*.graffle,tools}
> >  
> > -install -m 0755 BUILD/%_lib/LLVMHello.so %buildroot%_libdir/
> > -install -m 0755 BUILD/%_lib/BugpointPasses.so %buildroot%_libdir/
> > -mkdir -p %buildroot%_docdir/lld
> > -
> > -file %buildroot%_bindir/* | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
> > -file %buildroot%_libdir/*.so | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
> > +install -m 0755 BUILD/%_lib/LLVMHello.so %buildroot%llvm_libdir/
> > +install -m 0755 BUILD/%_lib/BugpointPasses.so %buildroot%llvm_libdir/
> > +mkdir -p %buildroot%llvm_docdir/lld
> >  
> >  %ifarch %ix86
> > -cd %buildroot%_libdir/clang/%version/lib/linux
> > +cd %buildroot%llvm_libdir/clang/%v_full/lib/linux
> >  ls *-i[3-9]86* | while read f; do ln -s $f $(echo $f | sed 's|i[3-9]86|i386|') ; done
> >  %endif
> >  
> > +# The following files are not used by LLVM builds for Linux.
> > +rm -f %buildroot%llvm_bindir/argdumper
> > +rm -f %buildroot%llvm_datadir/clang/clang-format-bbedit.applescript
> > +
> > +# Install the clang bash completion.
> > +mkdir -p %buildroot%_datadir/bash-completion/completions
> > +ln -sr %buildroot%llvm_datadir/clang/bash-autocomplete.sh %buildroot%_datadir/bash-completion/completions/clang-%v_major
> > +
> > +# Symlink executables to %_bindir.
> > +mkdir -p %buildroot%_bindir
> > +for b in %buildroot%llvm_bindir/*; do
> > +	bb="$(basename "$b")"
> > +	echo "$bb" | grep -q -- '-%v_major$' && continue # if already appended
> > +	ln -srv "$b" "%buildroot%_bindir/$bb-%v_major"
> > +done

Вот тут написано, почему man1dir не лишний:

> > +# Symlink man pages to the man dirs.
> > +for mand in %buildroot%llvm_datadir/man/man*; do
> > +	mand_index="${mand##*/man}"
> > +	for m in "$mand"/*.[1-9]*; do
> > +		# Let's force compress the man page, then symlink it.
> > +		# /usr/lib/llvm-11.0/share/man/manD/utilX.D.xz -> /usr/share/man/manD/utilX-11.D.xz
> > +		# Otherwise, brp-alt(compress) keeps fucking us up.
> > +		# It remakes the symlinks first, then compresses their targets,
> > +		# severing the symlinks.
> > +		/usr/lib/rpm/compress_files "$m"
> > +
> > +		mb="$(basename "$m")" # e. g. llvm-ar.1.xz
> > +		new_mb="${mb%%.[1-9]*}-%v_major.$mand_index" # e. g. llvm-ar-11.1.xz
> > +
> > +		mkdir -p "%buildroot%_mandir/man$mand_index"
> > +		ln -srv "$m" "%buildroot%_mandir/man$mand_index/$new_mb"
> > +	done
> > +done
> > +
> > +# Symlink sonamed shared libraries in %llvm_prefix/%_libdir to %_libdir.
> > +mkdir -p %buildroot%_libdir
> > +find %buildroot%llvm_libdir/*.so* -type f | grep -E '^%buildroot%llvm_libdir/.*(%v_major)' | sort | tee %_tmppath/shared-objects \
> > +	| sed 's)%llvm_libdir)%_libdir)' > %_tmppath/shared-object-links
> > +paste %_tmppath/shared-objects %_tmppath/shared-object-links | while read object link; do
> > +	ln -srv "$object" "$link"
> > +done
> > +
> > +# List all packaged binaries in this source package.
> > +find %buildroot%_bindir/*-%v_major > %_tmppath/PATH-executables
> > +
> > +# For paranoic reasons library packaging policy covers peculiar directory paths.
> > +# If there are $A.a and $A.so in %llvm_libdir/clang, they should not end up in the
> > +# same package (but can be co-installed on a system).
> > +# Let's list all the $A.so for which $A.a exists into a separate package.
> > +# We also consider i386-symlinks for iN86.
> > +find %buildroot%llvm_libdir/clang -type f,l -name '*.a' -or -name '*.so' | \
> > +    sed -r -n 's/^(\/.+)\.a$/\1/p; s/^(.+)\.so$/\1/p' | sort | uniq -d > %_tmppath/libclang-support-dupes
> > +sed < %_tmppath/libclang-support-dupes 's)^%buildroot)); s/$/.a/' > %_tmppath/libclang-support-static-runtimes
> > +sed < %_tmppath/libclang-support-dupes 's)^%buildroot)); s/$/.so/' > %_tmppath/libclang-support-shared-runtimes
> > +sed < %_tmppath/libclang-support-shared-runtimes 's/^/%%exclude /' > %_tmppath/dyn-files-libclang-support
> > +echo "Expelling likely redundant Clang shared runtimes:" && cat %_tmppath/dyn-files-libclang-support
> > +
> >  %check
> >  %if_enabled tests
> > -LD_LIBRARY_PATH=%buildroot%_libdir:$LD_LIBRARY_PATH
> > +LD_LIBRARY_PATH=%buildroot%llvm_libdir:$LD_LIBRARY_PATH
> >  export LD_LIBRARY_PATH
> >  ninja -C BUILD check-all || :
> >  %endif
> >  
> > +# Do not generate dependencies for clang-{format,rename} plugins.
> > +%add_findreq_skiplist %llvm_datadir/clang/*
> > +
> > +%files filesystem
> > +%dir %llvm_prefix
> > +%dir %llvm_bindir
> > +%dir %llvm_libdir
> > +%dir %llvm_includedir
> > +%dir %llvm_libexecdir
> > +%dir %llvm_datadir
> > +%dir %llvm_datadir/clang
> > +%dir %llvm_datadir/man
> > +%dir %llvm_man1dir
> > +%dir %llvm_docdir
> > +
> >  %files
> >  %doc CREDITS.TXT LICENSE.TXT README.txt
> > +%llvm_bindir/*
> >  %_bindir/*
> > +%llvm_man1dir/*
> >  %_man1dir/*
> %_man1dir/* - лишний

man не смотрит в llvm_man1dir.
Заморочиться и научить — вариант хуже, чем текущий, потому что программе
man надо ещё ман от правильной версии достать.

> 
> > +%exclude %llvm_bindir/llvm-config*
> >  %exclude %_bindir/llvm-config*
> > +%exclude %llvm_bindir/*clang*
> >  %exclude %_bindir/*clang*
> > -%exclude %_bindir/c-index-test
> > +%exclude %llvm_bindir/*clangd*
> > +%exclude %_bindir/*clangd*
> > +%exclude %llvm_bindir/c-index-test
> > +%exclude %_bindir/c-index-test-%v_major
> > +%exclude %llvm_bindir/find-all-symbols
> > +%exclude %_bindir/find-all-symbols-%v_major
> > +%exclude %llvm_bindir/scan-*
> >  %exclude %_bindir/scan-*
> > -%exclude %_man1dir/llvm-config.1.*
> > -%exclude %_man1dir/clang.1*
> > -%exclude %_man1dir/scan-build.1*
> > +%exclude %llvm_man1dir/llvm-config.1.*
> > +%exclude %_man1dir/llvm-config-%v_major.1.*
> > +%exclude %llvm_man1dir/clang.1*
> > +%exclude %_man1dir/clang-%v_major.1*
> > +%exclude %llvm_man1dir/scan-build.1*
> > +%exclude %_man1dir/scan-build-%v_major.1*
> > +%exclude %llvm_bindir/lld*
> >  %exclude %_bindir/lld*
> > -%exclude %_bindir/ld*.lld
> > -%exclude %_bindir/wasm-ld
> > +%exclude %llvm_bindir/ld*.lld
> > +%exclude %_bindir/ld*.lld-%v_major
> > +%exclude %llvm_bindir/wasm-ld
> > +%exclude %_bindir/wasm-ld-%v_major
> >  

<...>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2021-01-11 16:38 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-07 14:08                   ` Arseny Maslennikov
2021-01-07 20:52                     ` Konstantin Lepikhov
2021-01-07 21:18                       ` Arseny Maslennikov
2021-01-11  9:13                         ` Konstantin Lepikhov
2021-01-11 10:25                           ` [devel] hazardous girar builder (was: Re: [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm) Arseny Maslennikov
2021-01-11 10:44                             ` [devel] hazardous girar builder Dmitry V. Levin
2021-01-11 10:49                               ` Arseny Maslennikov
2021-01-11 10:56                                 ` Dmitry V. Levin
2021-01-11 11:08                                   ` Arseny Maslennikov
2021-01-11 11:22                                     ` Sergey V Turchin
2021-01-11 11:25                                       ` Anton Farygin
2021-01-11 11:32                                         ` Alexey Gladkov
2021-01-11 11:41                                           ` Yuri Sedunov
2021-01-11 12:00                                             ` Alexey Gladkov
2021-01-11 12:30                                           ` Arseny Maslennikov
2021-01-11 12:25                                         ` Sergey V Turchin
2021-01-12  7:44                                             ` Sergey V Turchin
2021-01-12 10:44                                               ` Alexey V. Vissarionov
2021-01-12 13:24                                                 ` Sergey V Turchin
2021-01-11 12:30                                   ` Michael Shigorin
2021-01-11 13:21                                     ` Sergey V Turchin
2021-01-11 13:58                                       ` Arseny Maslennikov
2021-01-11 14:17                                         ` Sergey V Turchin
2021-01-12  7:55                                     ` Anton V. Boyarshinov
2021-01-12  8:13                                       ` Anton Farygin
2021-01-12  8:26                                       ` Anton V. Boyarshinov
2021-01-12  9:10                                         ` Anton Farygin
2021-01-12 10:10                                           ` Anton V. Boyarshinov
2021-01-12 11:10                                       ` Alexey V. Vissarionov
2021-01-12 12:53                                       ` Arseny Maslennikov
2021-01-12 13:18                                         ` Alexey V. Vissarionov
2021-01-12 14:10                                           ` Arseny Maslennikov
2021-01-12 19:06                                           ` Leonid Krivoshein
2021-01-12 20:54                                             ` [devel] html email in devel@ (was: Re: hazardous girar builder) Arseny Maslennikov
2021-01-13  8:45                                                 ` Alexey V. Vissarionov
2021-01-13  8:54                                                 ` Arseny Maslennikov
2021-01-13  8:59                                                 ` Andrey Savchenko
2021-01-13  9:18                                                   ` Arseny Maslennikov
2021-01-13  9:30                                                     ` Vladimir D. Seleznev
2021-01-13  9:37                                                       ` Alexey Gladkov
2021-01-13  9:48                                                       ` Arseny Maslennikov
2021-01-13  9:21                                                   ` Alexey Gladkov
2021-01-13 10:00                                                     ` Andrey Savchenko
2021-01-13 10:10                                                       ` Alexey Gladkov
2021-01-13 10:47                                                         ` Andrey Savchenko
2021-01-13 11:48                                                           ` Alexey Gladkov
2021-01-13 12:49                                                       ` Dmitry V. Levin
2021-01-13  9:27                                                   ` Vladimir D. Seleznev
2021-01-13  9:55                                                     ` Andrey Savchenko
2021-01-13 10:14                                                       ` Vladimir D. Seleznev
2021-01-13 10:49                                                         ` Andrey Savchenko
2021-01-13 10:59                                                           ` [devel] [JT] fortunes-ALT (was: html email in devel@) Michael Shigorin
2021-01-13 12:45                                                           ` [devel] html email in devel@ (was: Re: hazardous girar builder) Dmitry V. Levin
2021-01-14  9:45                                                             ` Alexey V. Vissarionov
2021-01-13  9:03                                               ` Alexey Gladkov
2021-01-12 18:10                                         ` [devel] hazardous girar builder Anton V. Boyarshinov
2021-01-12 18:40                                           ` Dmitry V. Levin
2021-01-12 18:48                                             ` Anton V. Boyarshinov
2021-01-12 14:12                                       ` Arseny Maslennikov
2021-01-11 16:09                         ` [devel] [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm Konstantin Lepikhov
2021-01-11 16:31                           ` Michael Shigorin
2021-01-11 21:43                             ` Konstantin Lepikhov
2021-01-11 16:38                           ` Arseny Maslennikov [this message]
2021-01-11 21:41                             ` Konstantin Lepikhov
2021-01-11 23:16                               ` Dmitry V. Levin
2021-01-12 12:11                                 ` Arseny Maslennikov
2021-01-12 12:09                               ` Arseny Maslennikov
2021-01-14 21:12                                 ` Konstantin Lepikhov
2021-01-15  8:50                                   ` Arseny Maslennikov
2021-01-12 21:39                               ` Vitaly Lipatov
2021-01-14 20:55                                 ` Konstantin Lepikhov
2021-01-13 12:47                           ` Alexey Sheplyakov
2021-01-14 20:46                             ` Konstantin Lepikhov
2021-01-15  7:49                               ` Ivan A. Melnikov
2021-01-15  8:50                               ` Alexey Sheplyakov
2021-01-15  9:45                                 ` Konstantin Lepikhov
2021-01-15 12:38                                   ` [devel] И еще про кросс-компиляторы (Re: [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm) Alexey Sheplyakov
2021-06-17  8:46                                     ` Konstantin Lepikhov
2021-01-15 13:46                                 ` [devel] [#263468] EPERM (try 14) llvm-common.git=11.0.0-alt2 srpm=llvm11.0-11.0.0-alt2.src.rpm Alexey V. Vissarionov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=X/x/Gydomqfpfga0@cello \
    --to=arseny@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git