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 --]
next prev parent 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