[devel] %_prefix и mailman
Arseny Maslennikov
arseny на altlinux.org
Вс Июн 2 13:06:47 MSK 2024
On Thu, May 30, 2024 at 08:56:32PM +0300, Anton Farygin wrote:
> On 30.05.2024 14:16, Arseny Maslennikov wrote:
> > On Thu, May 30, 2024 at 02:19:46AM +0300, Dmitry V. Levin wrote:
> > > On Wed, May 29, 2024 at 09:54:53PM +0300, Alexey Shabalin wrote:
> > > > mailman lakostis ldv
> > > > sisyphus_check: check-subdirs ERROR: subdirectories packaging violation
> > > > /.out/mailman-2.1.39-alt1.x86_64.rpm: invalid systemd unit path:
> > > > /usr/share/mailman/lib/systemd/system/mailman.service
> > > > Думаю так и должно быть. Непонятно почему сейчас пропускают такой пакет.
> > > Сейчас там /lib/systemd/system/mailman.service, потому и пропускают.
> > > Непонятно, как его занесло в новое место.
> > > Может быть, потому что в пакете
> > > %define _prefix /usr/share/%name
Я удивлён, как этот пакет вообще работает; см. ниже.
> > > и новые макросы теперь используют %_prefix?
> > > В таком случае они зря используют %_prefix.
> > А как тогда /usr обозначать?
> >
> > И вообще: это что же, если какой-то пакет себе переопределит _bindir, то
> > и %_bindir использовать будет нельзя? Где-то должны быть границы.
> /usr/lib/rpm/x86_64-linux/macros:%_prefix /usr
> /usr/lib/rpm/x86_64-linux/macros:%prefix %_prefix
> /usr/lib/rpm/x86_64-linux/macros:%_menudir %_prefix/lib/menu
> /usr/lib/rpm/x86_64-linux/macros:%_rpmlibdir %_prefix/lib/rpm
Более того:
% git grep -C3 -w _prefix
doc/manual/macros-packaging similar to the autoconf variables that are used in building packages:
doc/manual/macros-
doc/manual/macros-\verbatim
doc/manual/macros: %_prefix /usr
doc/manual/macros: %_exec_prefix %{_prefix}
doc/manual/macros- %_bindir %{_exec_prefix}/bin
doc/manual/macros- %_sbindir %{_exec_prefix}/sbin
doc/manual/macros- %_libexecdir %{_exec_prefix}/libexec
doc/manual/macros: %_datadir %{_prefix}/share
doc/manual/macros: %_sysconfdir %{_prefix}/etc
doc/manual/macros- %_sharedstatedir /var/lib
doc/manual/macros- %_localstatedir /var/lib
doc/manual/macros- %_libdir %{_exec_prefix}/lib
doc/manual/macros: %_includedir %{_prefix}/include
doc/manual/macros- %_oldincludedir /usr/include
doc/manual/macros: %_infodir %{_prefix}/info
doc/manual/macros: %_mandir %{_prefix}/man
doc/manual/macros-\endverbatim
doc/manual/macros-
doc/manual/macros-*/
--
doc/manual/spec-\verbatim
doc/manual/spec- rm -f $RPM_BUILD_DIR/filelist.rpm
doc/manual/spec- echo '%defattr(-,root,root)' >> $RPM_BUILD_DIR/filelist.rpm
doc/manual/spec: find $RPM_BUILD_ROOT/%{_prefix} -type f -print | \
doc/manual/spec- sed "s!$RPM_BUILD_ROOT!!" | perl -pe 's/([?|*.\'"])/\\$1/g' \
doc/manual/spec- >> $RPM_BUILD_DIR/filelist.rpm
doc/manual/spec-
--
macros.in-# ---- configure macros.
macros.in-# Macro(s) slavishly copied from autoconf's config.status.
macros.in-#
macros.in:%_prefix @prefix@
macros.in:%_exec_prefix %{_prefix}
macros.in-%_bindir %{_exec_prefix}/bin
macros.in-%_sbindir %{_exec_prefix}/sbin
macros.in-%_libexecdir %{_exec_prefix}/lib
macros.in:%_datadir %{_prefix}/share
macros.in-%_sysconfdir /etc
macros.in-%_sharedstatedir %{_var}/lib
macros.in-%_localstatedir %{_var}/lib
macros.in-%_lib lib
macros.in-%_libdir %{_exec_prefix}/%{_lib}
macros.in:%_includedir %{_prefix}/include
macros.in-%_oldincludedir /usr/include
macros.in-%_infodir %{_datadir}/info
macros.in-%_mandir %{_datadir}/man
--
platform.in-#==============================================================================
platform.in-# ---- configure macros.
platform.in-#
platform.in:%_prefix @prefix@
platform.in-%_exec_prefix @exec_prefix@
platform.in-%_bindir @bindir@
platform.in-%_sbindir @sbindir@
--
platform.in- configure_runstatedir_flags= ; \
platform.in- %{?_configure_use_runstatedir:%{_configure_detect_runstatedir}} \
platform.in- %{_configure_script} %{?_configure_target:%{_configure_target}} \\\
platform.in: --prefix=%{_prefix} \\\
platform.in- --exec-prefix=%{_exec_prefix} \\\
platform.in- --bindir=%{_bindir} \\\
platform.in- --sbindir=%{_sbindir} \\\
--
platform.in-%_makeinstall_target install
platform.in-%makeinstall \
platform.in- %__make INSTALL="/usr/libexec/rpm-build/install -p" \\\
platform.in: prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\
platform.in- exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\
platform.in- bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\
platform.in- sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\
--
platform.in-
platform.in-%_internal_gpg_path /usr/lib/alt-gpgkeys
platform.in-
platform.in:%prefix %_prefix
platform.in-
platform.in-%clean_buildroot %{?buildroot:%([ -n "$(echo %buildroot |tr -d /.)" ] && echo "%__chmod -Rf u+rwX -- %buildroot 2>/dev/null ||:; %__rm -rf -- %buildroot")}
platform.in-
--
platform.in-%_man9dir %_mandir/man9
platform.in-
platform.in-# Desktop-related directories.
platform.in:%_menudir %_prefix/lib/menu
platform.in-%_iconsdir %_datadir/icons
platform.in-%_miconsdir %_iconsdir/hicolor/16x16/apps
platform.in-%_niconsdir %_iconsdir/hicolor/32x32/apps
--
platform.in-
platform.in-# Games directories.
platform.in-%_gamesdir games
platform.in:%_gamesbindir %{_prefix}/%{_gamesdir}
platform.in-%_gamesdatadir %{_datadir}/%{_gamesdir}
platform.in-
platform.in-# X11 directories.
platform.in:%_x11dir %{_prefix}
platform.in-%_x11bindir %{_bindir}
platform.in-%_x11libdir %{_libdir}
platform.in-%_x11x11libdir %{_libdir}/X11
--
platform.in-%_x11datadir %{_datadir}
platform.in-%_x11fontsdir %{_datadir}/X11/fonts
platform.in-%_x11modulesdir %{_libdir}/X11/modules
platform.in:%_x11drvddir %{_prefix}/libexec/X11/drv.d
platform.in-%_x11sysconfdir %{_sysconfdir}/X11
platform.in-%_x11appconfdir %{_sysconfdir}/X11/app-defaults
platform.in-
--
platform.in-%_emacslispdir %{_datadir}/emacs/site-lisp
platform.in-
platform.in-# RPM directories.
platform.in:%_rpmlibdir %_prefix/lib/rpm
platform.in-%_rpmmacrosdir %_rpmlibdir/macros.d
platform.in-
platform.in-# target libdir.
--
rpm-4_0.spec-%define def_without() %{expand:%%{!?_with_%{1}: %%{!?_without_%{1}: %%global _without_%{1} --without-%{1}}}}
rpm-4_0.spec-%define if_with() %if %{expand:%%{?_with_%{1}:1}%%{!?_with_%{1}:0}}
rpm-4_0.spec-%define if_without() %if %{expand:%%{?_without_%{1}:1}%%{!?_without_%{1}:0}}
rpm-4_0.spec:%define _rpmlibdir %_prefix/lib/rpm
rpm-4_0.spec-
rpm-4_0.spec-%def_with libelf
rpm-4_0.spec-%def_without apidocs
--
rpm-4_0.spec-# set-version helpers
rpm-4_0.spec-%rpmattr %_rpmlibdir/mkset
rpm-4_0.spec-%rpmattr %_rpmlibdir/setcmp
rpm-4_0.spec:%rpmattr %_prefix/libexec/rpm-build
rpm-4_0.spec-%if "%_lib" == "lib"
rpm-4_0.spec-%rpmdatattr %_rpmlibdir/verify-elf-non-lfs-funcs.list
rpm-4_0.spec-%endif
> Ну тогда и это надо чинить
Это не чинить, а ломать. Предложение уйти от _prefix — это что-то
навроде предложения уйти на что-то категорически не FHS-подобное.
Потребуются фундаментальные изменения вообще во всех спеках.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 833 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20240602/b4eeae08/attachment-0001.bin>
Подробная информация о списке рассылки Devel