Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
software/ ├── libdfmt │ ├── include │ │ └── devices.h │ ├── libdfmt.a │ ├── libdfmt.h │ ├── obj │ │ ├── devices.o │ │ └── libdfmt.o │ └── src │ ├── devices.c │ ├── libdfmt.c │ ├── libdfmt.c.autosave │ └── makefile ├── libdfmt.config ├── libdfmt.creator ├── libdfmt.creator.user ├── libdfmt.files ├── libdfmt.includes ├── Makefile ├── software.pro └── software.pro.user
Knihovna libdfmt má .c soubory v src/ .o v obj/ a hlavičky include/ Hlavička s exportovanými funkcemi je a knihovna je v kořeni (složka libdfmt)
Makefile jsme se snažil v rámci svých schopností udělat univerzální. jednoduše předpokládá že každému .c v src odpovídá .o v obj. Každý jeden objekt má v prerekvizitách všechny hlavičkové soubory. To sice není ideální, ale vzhledem k rozsáhlosti projektu je to jedno.
IDIR =../include ODIR=../obj NAME=libdfmt CC=gcc CFLAGS=-Wall -Werror -I$(IDIR) -I/usr/include/libusb-1.0/ LIBS= -lusb-1.0 DEPS = ../libdfmt.h $(wildcard $(IDIR)/*.h) OBJ = $(patsubst %.c,%.o,$(wildcard *.c)) VPATH = $(ODIR) ../ .PHONY: all all: static %.o: %.c $(DEPS) mkdir -p $(ODIR) $(CC) -c -o $(ODIR)/$@ $< $(CFLAGS) .PHONY: static static: $(OBJ) ar rsc ../$(NAME).a $(patsubst %, $(ODIR)/%, $(OBJ)) .PHONY: clean clean: rm -vf $(ODIR)/*.o *~ core $(INCDIR)/*~ $(NAME).a
(Odsazování je nutné provádět pomocí tabulátorů nikoliv mezer)
V případě importu projektu s vlastním makefilem je zbytečné vytvářet multiprojekt. V nápovědě k importování projektu se píše, že se creator použije pouze jako editor a kluci vývojářští se toho drží ve smyslu, že takto nevznikne plnohodnotný projekt, který se dá použít jako závislost k jinému (dá se obejít). Nicméně do adresáře s projektem se vám nasáčkuje pár souborů. Proto jsem při importu vybral složku s projektem o úroveň níž.
Soubory:
libdfmt/include/ libdfmt/ /usr/include/libusb-1.0/
Aby fungovala buildovací tlačítka creatoru je třeba změnit build directory u projektu na cestu do složky s makefilem (src).Hlavně to upravit u správného projektu.
Pokud současně píšu jak knihovnu tak další projekt, který ji využívá, je dobré v nastavení druhého projektu přidat jako první bod kompilace volání make knihovny.
Tiskni
Sdílej:
Pokud současně píšu jak knihovnu tak další projekt, který ji využívá, je dobré v nastavení druhého projektu přidat jako první bod kompilace volání make knihovny.
Především je dobré knihovnu a další projekt zcela oddělit a vydávat a kompilovat samostatně. Pak není třeba řešit, že v jednom chcete Make a v druhém něco klikacího.