From: Leonid Znamenok <respublica@altlinux.org>
To: devel-newbies@lists.altlinux.org
Subject: Re: [newbies] Сборка пакетов и безопасность кода (пакет uudeview)
Date: Sat, 11 Oct 2025 00:54:58 +0300
Message-ID: <d4cbe097-9831-4cd7-bf9f-c881bc6cefda@altlinux.org> (raw)
In-Reply-To: <ad2e91cf-9005-49cb-8a4b-3b647e575f3e@yandex.ru>
Привет!
В таких случаях стоит посмотреть, как это сделано в других дистрибутивах.
Например, найти этот пакет в fedora:
https://src.fedoraproject.org/rpms/uudeview
Видим следующую версию:
- 0.5.20^20241111git7ef9e26-5.fc43
Здесь:
- 0.5.20 - основная версия
- ^ - обозначение пост-релиза (версия с ^ будет больше,
чем без него. 1.2 > 1.1^201601 > 1.1)
(В альте не работает :) ). Вместо этого
используем сквозные релизы:
https://www.altlinux.org/Spec#Release
- 20241111 - дата сборки. Не интересно.
- git7ef9e26 - а вот это важно. Указано что идёт сборка из гита и указан
хэш коммита.
Проверяем апстрим на гитхабе. И там такой тег есть. Значит можно брать :)
Я посмотрел текущую схему сборки в альте, мне кажется, что стоит
перевести всё на сборку из master
(почти как из тега, только вместо тега используется просто upstream/HEAD)
Примерный алгоритм действий (похоже стоит написать статью на вики, но
пока так):
* Удалить старые исходники и патчи (лучше сделать явным коммитом, с
подписью о том, что меняется
схема сборки. Но это вкусовщина.).
* Добавить remote upstream на github: git remote add upstream ...
* git fetch upstream
* Выполнить merge с upstream/master
* Сохранить информацию об upstream в gear: gear-remotes-save
* Сохранить тег в gear: gear-update-tag master upstream/HEAD
* Прописать .gear/rules вида:
tar: master:.
spec: .gear/specname.spec
* Установить соответствующий релиз (с указание хеша коммита, из которого
идёт сборка):
https://www.altlinux.org/Spec#Release
Это самый удобный способ поддерживать промежуточные релизы.
Хэш придётся копипастить ручками, тут автоматизации нет :(
Команда:
git rev-parse --short upstream/master
Это достаточно сложная система сборки, но будет возможность разобраться
и помучаться с gear.
10.10.2025 23:32, Alexander Lubyagin:
> Добрый день.
>
> Я выбрал пакет из списка тех, которые не собрались в Сизифе: uudeview.
> Не догадался сразу посмотреть на github-е, и устранил в коде 2004 года
> все ошибки компиляции.
>
> Проект собрался.
>
> Но осталось много предупреждений компилятора.
> Основная масса - это типы char*/const char* и неиспользуемые
> переменные/результаты возврата.
>
> На устранение всех warnings уйдёт масса времени.
> И, по-идее, тут нужна полная интроспекция кода и погружение в него.
>
> Но... обнаружил развитие проекта на GitHub, где последние комитты - от
> марта 2025 года, и куча контрибьюторов. Есть там и ссылка на автора
> исходного кода (1994-2004):
> https://github.com/hannob/uudeview
>
> Наверное, правильным будет заменить дерево кода сразу на версию от
> 2025-го?
>
> Права на пакет: nobody@
> https://packages.altlinux.org/ru/sisyphus/binary/uudeview/x86_64/
--
---
WBR, Leonid (respublica@altlinux.org)
next prev parent reply other threads:[~2025-10-10 21:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-10 20:32 Alexander Lubyagin
2025-10-10 21:54 ` Leonid Znamenok [this message]
2025-10-10 21:59 ` Michael Shigorin
2025-10-10 22:04 ` Leonid Znamenok
2025-10-11 13:14 ` Anton Farygin
2025-10-11 13:17 ` Leonid Znamenok
2025-10-11 13:18 ` Anton Farygin
2025-10-11 13:51 ` Leonid Znamenok
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=d4cbe097-9831-4cd7-bf9f-c881bc6cefda@altlinux.org \
--to=respublica@altlinux.org \
--cc=devel-newbies@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
devel@ where you _can_ ask
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-newbies/0 devel-newbies/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-newbies devel-newbies/ http://lore.altlinux.org/devel-newbies \
devel-newbies@lists.altlinux.org devel-newbies@lists.altlinux.ru devel-newbies@lists.altlinux.com
public-inbox-index devel-newbies
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-newbies
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git