Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.
Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.
Byla publikována Výroční zpráva Blender Foundation za rok 2024 (pdf).
Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.
Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.
Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.
Již nějaký ten pátek ve svých projektech používám pomocný script version.py který byl modifikován speciálně pro daný projekt a zajišťoval tyto věci:
V posledním projektu se ale s tímto scriptem vyskytly nějaké ty problémy a bylo třeba jej trochu poupravit, a v tu chvíli nastala ta nemilá situace kdy v x projektech byl zastaralý na míru pro projekt upravený version.py...
No co teď s tím že ? Řešení je jasné:
Přetavení version.py do univerzálního toolu na hromadnou změnu version stringu v projektu který může použít každý komu se hodí.A tak vznikl version (Ehm, GitHub)(GitLab)
$ version
NEBO
$ version status
$ version 1.0.1
NEBO
$ version mark 1.0.1
Pro posun se používá příkaz "+" ve formátu (+{1-3})({\d+}) kde první skupina detekuje počet "+" a dle toho určuje zda li se jedná o patch(+)/minor(++)/major(+++) změnu, druhá skupina určuje číslo posunu dané verze (default: 1)
+
Znamená posun o jedna v patch version++
Znamená posun o jedna v minor version+++
Znamená posun o jedna v major version+2
Znamená posun o dva v patch version++2
Znamená posun o dva v minor version+++2
Znamená posun o dva v major versionTakže příkazy pak vypadají takto
$ version + #pro posun o 1 v patch verzi OR $ version +10 #pro posun o 10 v patch verzi OR $ version ++1 #pro posun o 1 v minor verzi
Pro více možností viz:
version --help
Main entry-point into the 'version' application.
This is a version
License: GPL-3.0
Website: https://github.com/Salamek/version
Command details:
mark Mark project specified by --project_dir by <version>.
status Show current --project_dir version.
Usage:
version mark <version> [-p DIR] [-c FILE] [--dry] [--all_yes]
version status [-p DIR] [-c FILE]
version
version <version> [-p DIR] [-c FILE] [--dry] [--all_yes]
version (-h | --help)
version (-v | --version)
Options:
--dry Run as usually but don't change anything.
-p DIR --project_dir=DIR Project directory, if not set current is used.
-y --all_yes Answer YES to all prompts.
-d --project_dir=DIR Project directory, if not set current is used.
-c FILE --config_file=FILE Path to config file, if not set --project_dir/version.conf is used
--version Show version.
Přidejte repozitář těmito příkazy
$ wget -O - https://apt.salamek.cz/apt/conf/salamek.gpg.key|sudo apt-key add - $ echo "deb https://apt.salamek.cz/apt all main" | sudo tee /etc/apt/sources.list.d/salamek.cz.list
Pak můžete nainstalovat python3-version pomocí
$ apt update && apt install python3-version
Přidejte repozitář na konec souboru /etc/pacman.conf
[salamek] Server = https://arch.salamek.cz/any SigLevel = Optional
a pak nainstalujte příkazem
$ pacman -Sy version
Tohle všechno se samozřejmě neobejde bez nějaké té konfigurace která je uložena v $PROJECT_ROOT/.version.yml (Pouze REGEXPS a VERSION_FILES jsou povinné):
# GIT Configuration GIT: AUTO_COMMIT: true # Autocommitnout modifikované version soubory (default: true) AUTO_TAG: true # Vytvořit GIT TAG s novou verzí (default: true) AUTO_PUSH: true # Automaticky pushnout na server false=disabled, true=enabled, 'remote_name'=enabled and push to remote_name (default: true) COMMIT_MESSAGE: 'New version {version}' # Text použít v commit message {version} je kotva pro version string (default: 'New version {version}') # Pole regexpů použitých pro nalezení version stringů v VERSION_FILES # Klíč je název regexpu a hodnota je samotný regexp # Přidejte své vlastní a smažte neužitečné REGEXPS: 'python': __version__\s*=\s*\'(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\' # Regexp for version format commonly used in python 'setup.py': version\s*=\s*\'(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\' # Regexp for version format commonly used in python setup.py 'PKGBUILD': pkgver\s*=\s*(?P<version>.*) # Regexp used in PKGBUILD # Pole version souborů které mají být nalezeny a upraven, glob formát cest je podporován # Klíč je glob cesta a hodnota je jméno regexpu který se má použít k nalezení version string v nalezených souborech # Přidejte své vlastní a smažte neužitečné VERSION_FILES: 'version/__init__.py': 'python' 'setup.py': 'setup.py' 'archlinux/PKGBUILD': 'PKGBUILD'Tak snad se to někomu z vás bude hodit
Tiskni
Sdílej:
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...