devel@ where you _can_ ask
 help / color / mirror / Atom feed
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)




  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