Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.
V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem
… více »V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Byla vydána nová verze 15.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.
Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.
Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.
V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.
Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být
… více »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...