Desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. V programovacím jazyce Rust s využitím stavebních bloků z projektu Smithay jej napíše Brian Tarricone. Úprava stávajícího xfwm4 tak, aby paralelně podporoval X11 i Wayland, se ukázala jako špatná cesta.
Desktopové prostředí KDE Plasma 6.8 poběží už pouze nad Waylandem. Vývojáři, kteří s rozhodnutím nesouhlasí, vytvořili fork KDE Plasma s názvem SonicDE (Sonic Desktop Environment) s cílem zachovat a vylepšovat podporu X11.
Byla vydána nová stabilní verze 7.8 dnes již jedenáctiletého webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 144. Přehled novinek i s náhledy v příspěvku na blogu.
GNU gettext (Wikipedie), tj. sada nástrojů pro psaní vícejazyčných programů, dospěl do verze 1.0. Po více než 30 letech vývoje. Přehled novinek v souboru NEWS.
Chris Kühl (CEO), Christian Brauner (CTO) a Lennart Poettering (Chief Engineer) představili svou společnost Amutable. Má přinést determinismus a ověřitelnou integritu do linuxových systémů.
Byla vydána (𝕏) nová verze 26.1 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.1 je Witty Woodpecker. Přehled novinek v příspěvku na fóru.
Deník TO spustil vlastní zpravodajský webový portál ToHledej.CZ s internetovým vyhledávačem a bezplatnou e-mailovou schránkou. Dle svého tvrzení nabízí 'Zprávy, komentáře, analýzy bez cenzury' a 'Mail bez šmírování a Velkého bratra'. Rozložením a vizuálním stylem se stránky nápadně podobají portálu Seznam.cz a nejspíše je cílem být jeho alternativou. Z podmínek platformy vyplývá, že portál využívá nespecifikovaný internetový vyhledávač třetí strany.
Computer History Museum (Muzeum historie počítačů) zpřístupnilo své sbírky veřejnosti formou online katalogu. Virtuálně si tak můžeme prohlédnout 'rozsáhlou sbírku archivních materiálů, předmětů a historek a seznámit se s vizionáři, inovacemi a neznámými příběhy, které revolučním způsobem změnily náš digitální svět'.
Ruský hacker VIK-on si sestavil vlastní 32GB DDR5 RAM modul z čipů získaných z notebookových 16GB SO-DIMM RAM pamětí. Modul běží na 6400 MT/s a celkové náklady byly přibližně 218 dolarů, což je zhruba třetina současné tržní ceny modulů srovnatelných parametrů.
Národní identitní autorita (NIA), která ovlivňuje přihlašování prostřednictvím NIA ID, MEP, eOP a externích identit (např. BankID), je částečně nedostupná.
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()
)
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...