ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Arseny Maslennikov <arseny@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] %_prefix и mailman
Date: Sun, 2 Jun 2024 13:06:47 +0300
Message-ID: <ZlxENwOunghL5rWY@cello> (raw)
In-Reply-To: <15c5531b-9cec-4adb-b022-d94f3f338f74@basealt.ru>

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

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-подобное.
Потребуются фундаментальные изменения вообще во всех спеках.

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

  reply	other threads:[~2024-06-02 10:06 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-29 18:54 [devel] I: изменение макросов systemd и udev Alexey Shabalin
2024-05-29 19:01 ` Alexey Shabalin
2024-05-29 23:19 ` Dmitry V. Levin
2024-05-30 11:06   ` Alexey Shabalin
2024-06-06 11:13       ` Yuri Sedunov
2024-06-20 14:41       ` Alexey Shabalin
2024-06-21 13:15         ` Alexey Shabalin
2024-07-03 14:24           ` Yuri Sedunov
2024-07-04  7:33             ` [devel] " Sergey V Turchin
2024-07-04 11:14             ` [devel] " Alexey Shabalin
2024-07-09 14:19               ` Alexey Shabalin
2024-07-15  8:10             ` [devel] " Sergey V Turchin
2024-07-15 12:12               ` [devel] " Alexey Shabalin
2024-05-30 11:16   ` Arseny Maslennikov
2024-05-30 11:27     ` Dmitry V. Levin
2024-05-30 17:56     ` Anton Farygin
2024-06-02 10:06       ` Arseny Maslennikov [this message]
2024-05-30  5:25 ` Yuri Sedunov
2024-05-30 11:09   ` Alexey Shabalin

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=ZlxENwOunghL5rWY@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