- Ок.
Собираю именно roxterm-3.2.1](https://sourceforge.net/projects/roxterm/files/roxterm/3.2.1/), т. к. при сборке самой последней версии возникают… дополнительные трудности)) Следую мануалу, который предлагает использовать для сборки и установки скрипт, идущий с исходниками (mscipt.py, по дефолту предполагается использование python3), и сборка и установка в …/local/bin проходят успешно, но пакета у меня естественно нет
Также автогенерируется спек-файл:
# roxterm.spec#
# Copyright (c) 2004-2011 Tony Houghton h@realh.co.uk
#
%define name roxterm
%define version 3.2.1
%define release 1
%define manifest %{_builddir}/%{name}-%{version}-%{release}.manifest
%define debug_package %{nil}
# required items
Name: %{name}
Version: %{version}
Release: %{release}
License: GPL
Group: Application/Misc
# optional items
#Vendor: Tony Houghton
#Distribution:
#Icon:
#URL:
#Packager: Tony Houghton h@realh.co.uk
# source + patches
Source: %{name}-%{version}.tar.xz
#Source1:
#Patch:
#Patch1:
# RPM info
#Provides:
#Requires:
#Conflicts:
#Prereq:
#Prefix: /usr
BuildRoot: /var/tmp/%{name}-%{version}
Summary: GTK+ 3.0 terminal emulator with tabs
%description
GTK+ 3.0 terminal emulator with tabs
@configure_input@
ROXTerm is aimed at users who require more configurability and flexibility
than gnome-terminal provides.
%prep
%setup -q
#%patch0 -p1
%build
./mscript.py configure PREFIX=/usr
./mscript.py build
# Deprecated autoconf rules:
#%configure
#make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT
./mscript.py install DESTDIR=$RPM_BUILD_ROOT
# Deprecated autoconf:
#%makeinstall
# __os_install_post is implicitly expanded after the
# install section... do it now, and then disable it,
# so all work is done before building manifest.
%{?__os_install_post}
%define __os_install_post %{nil}
# build the file list automagically into %{manifest}
cd $RPM_BUILD_ROOT
rm -f %{manifest}
find . -type d \
| sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' >> %{manifest}
find . -type f \
| sed 's,^\.,\%attr(-\,root\,root) ,' >> %{manifest}
find . -type l \
| sed 's,^\.,\%attr(-\,root\,root) ,' >> %{manifest}
#%pre
#%post
#%preun
#%postun
%clean
rm -f %{manifest}
rm -rf $RPM_BUILD_ROOT
%files -f %{manifest}
%defattr(-,root,root)
#%doc README
#%docdir
#%config
%changelog
но rpmbuild -ba roxterm.spec завершается с одной и той же ошибкой:
+ ./configure --host=x86_64-suse-linux-gnu --build=x86_64-suse-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/lib --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking
/var/tmp/rpm-tmp.SRloWV: line 39: ./configure: No such file or directory
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.SRloWV (%build)
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.SRloWV (%build)
что под пользователем, что под рутом.
Раньше я собирал большинство пакетов с checkinstall, но тут его применить кажется не выйдет.
Тем, что раньше ее не существовало
Ок, буду использовать ее вместо своей самоделки.
Все руки не доходили отписаться, оно собрано с какими-то странными зависимостями:
ошибка: Неудовлетворенные зависимости:
libdbus-1.so.3(LIBDBUS_1_3)(64bit) нужен для roxterm-3.3.1-1.2.x86_64
и в Leap не ставиццо. Обновлять системные библиотеки на версии из Tumbleweed я естественно не собираюсь.
Ну и в порядке оффтопика:
не понимаю (!!) этого помешательства на роллинг-релизах и Tumbleweed в частности. Это было бы простительно “арчешкольникам”* (собирательный образ, ничего против Арча не имею), но тут-то… вам вообще нужна стабильная_система_для_работы или что? Ставить по 50 обновлений в неделю ради самих обновлений… это какое-то извращение или психологическая аномалия, ИМХО.
Все руки не доходили отписаться, оно собрано с какими-то странными зависимостями:
Вроде бы должна удовлетворять зависимости, если подключен репозиторий обновлений:
http://download.opensuse.org/update/leap/42.1/oss/
Хотя нет, пакет собран с этой зависимостью:
http://download.opensuse.org/distribution/leap/42.1/repo/oss/suse/
В любом случае, пакет собирается с учетом репозитория обновлений.
Щаз я попробую сосредоточится, хотя вечером воскресенья это уже не просто lol!
zypper lr -U | grep -i update
7 | repo-update-non-oss | noss-upd | Да | (r ) Да | Нет | http://download.opensuse.org/update/leap/42.1/non-oss/
6 | repo-update | update | Да | (r ) Да | Да | http://download.opensuse.org/update/leap/42.1/oss/
Ну…, пересоберите локально сами:
zypper in osc
mkdir ~/build
cd ~/build
osc checkout home:joneone
user: joneone
passwd: *********
osc meta prj -e
все вырезаете и заполняете следующим содержимым:
<project name="home:joneone">
<title>Test Subproject</title>
<description/>
<person userid="joneone" role="maintainer"/>
<build>
<disable/>
<disable arch="i586" repository="openSUSE_Leap_42.1"/>
</build>
<publish>
<disable/>
</publish>
<repository name="openSUSE_Leap_42.1">
<path project="openSUSE:Leap:42.1" repository="standard"/>
<path project="openSUSE:Leap:42.1:Update" repository="standard"/>
<arch>x86_64</arch>
</repository>
</project>
Клонируете пакет:
osc branch home:AndnoVember:test/roxterm home:joneone/roxterm
Ну вот и все! Можете собрать пакет:
cd ~/build/home:joneone/roxterm
osc build openSUSE_Leap_42.1
Прям туториал. Спасибо, как-нибудь попробую - пора уже отказываться от порочной практики валить все в ~/bin/ и переходить к прогрессивным технологиям))
Не сработал у меня ваш рецепт. Но документацию я и не читал: лень. Тут же такое болотце)) Думаю кому нужно соберет и сам. Почему я не читал документацию? Элементарно! Меня интересуют довольно нетривиальные проекты, там нужно разбираться с основами- спеками и пр. Это не утилтку собрать! Доступных для новичка мануалов нет, а вики- не предлагать! Все *педии - это словари, и только. Пробуйте научиться английскому по словарю lol!
Пробуйте научиться английскому по словарю
Не думаю, что это удачный пример.
Здесь, скорее нужна не документация, а практика.
Как в детстве, если нужно починить велосипед берешь ключи и чинишь. И книжки никакой не надо - все схватываешь на лету.
Что же касается вики, то это скорее справочник. Надо собрать пакет, например на питоне, открыл: https://en.opensuse.org/openSUSE:Packaging_guidelines, да и посмотрел. А лучше заглядывать в другие спеки.
Но, а в целом, все это пустая трата времени, как и все, что связано со свободным движением. Здесь, выигрывают только программисты, получая бесценный опыт. Все остальные это альтруисты чистой воды.