Portál AbcLinuxu, 1. května 2025 21:42
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() )
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.
$ 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.