Portál AbcLinuxu, 9. prosince 2025 16:25
git describe. Prostě vygeneruju jeden malý soubor, který obsahuje definici konstanty, nebo je součástí konfigurace projektu.
U mnoha projektů je vidět ručně udržovaný ChangeLog a commity, které takovou konstantu někde upravují ručně, ale nikdy to není o moc víc jak jednořádková změna. Proč to tedy tak komplikovat?
export-subst (viz gitattributes(5)).
#! /usr/bin/env python3
from setuptools import setup
from setuptools import find_packages
changelog = open('CHANGELOG.rst').read()
long_description = open('README.rst').read() + "\n\n" + changelog
def get_version(data):
def all_same(s):
return all(x == s[0] for x in s)
def has_digit(s):
return any(x.isdigit() for x in s)
data = data.splitlines()
return list(
line for line, underline in zip(data, data[1:])
if (len(line) == len(underline) and
all_same(underline) and
has_digit(line) and
"." in line),
)[0]
setup(
name='...',
version=get_version(changelog),
description="...",
long_description=long_description,
url='...',
author='...',
author_email='...',
license='MIT',
packages=find_packages('src'),
package_dir={'': 'src'},
zip_safe=False,
include_package_data=True,
install_requires=open("requirements.txt").read().splitlines()
)
Jinak opreni o changelog neni spatny napad, mozna tam pridam spravu/automaticke generovani changelogu a odpadne srani i s changelogem
No ta tvoje znacka je vyresena v tom mem predchozim navrhu, proste misto spravne formatovaneho commitu budes v regexpu hledat onu znacku... No zkusim neco vymyslet a otestovat jak mi s tim pujde workflow.
co pak ale s PKGBUILDVygenerovat, případně přegenerovat, ten PKGBUILD na základě setuptools metadat z setup.py? Navíc nevím jakou výhodu má mít PKGBUILD soubor přímo v repu s kódem, když aby to k něčemu bylo, stejně ten PKGBUILD musím udržovat v AURu.
A na to existuje nejaky tool ?
Navíc nevím jakou výhodu má mít PKGBUILD soubor přímo v repu s kódem, když aby to k něčemu bylo, stejně ten PKGBUILD musím udržovat v AURu.Protoze mam CI (na vlastnim HW) ktere mi buildi balicky pri release do meho arch repa a je to tak pro me pohodlnejsi nez to lovit nekde na AUR ?
Jasne mohl bych v CI udelat release, stahnout archiv, spocitat sha256sum, vygenerovat ten PKGBUILD a nahrat jej na AUR, a pak ten balicek sestavit a uploadnout do repa. Ale to je ted pro me zbytecna prace. Ted jsem se jeste dival na AUR a zda se, ze se tam da vlozit jen jeden public key (netestoval jsem) a to situaci celkem komplikuje kdyz CI nemuze mit separe keypair.
A dokud nekdo nevytvori issue ze mu vadi ze neni v AUR...
$ version +a mam hotovo
Gitlab link => 404 The page could not be found or you don't have permission to view it.
Pekne. ale nie je to komplikované ? Nepoznám tento jazyk ale nešlo by to urobiť tak, že jednotlive súbory budú mať link na súbor s verziou ?
__version__ = '1.2.3'nebo
foo=bar pkgver=1.2.3 bar=foonebo
/** * Text * This is app version 1.2.3 * Text... */No a vsude tady treba potrebujes zmenit version na 1.2.4...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.