abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:43 | IT novinky

    Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »

    Ladislav Hagara | Komentářů: 2
    včera 18:33 | Nová verze

    Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Zajímavý projekt

    Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 12:44 | Bezpečnostní upozornění

    Zpráva Justičního výboru Sněmovny reprezentantů upozorňuje na cenzurní kampaň Evropské komise, mířenou proti svobodě projevu na sociálních sítích. V dokumentu se uvádí, že se Evropská komise během posledních šesti let účastnila více než 100 uzavřených jednání, během nichž po platformách požadovala úpravy pravidel moderování obsahu, přičemž toto úsilí Komise zahrnovalo i cenzuru politických názorů a pravdivých informací. Výbor zdůrazňuje, že tento přístup Bruselu ohrožuje ústavou zaručená práva Američanů na svobodu projevu.

    NUKE GAZA! 🎆 | Komentářů: 11
    včera 04:33 | Nová verze

    Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    8.2. 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 8
    7.2. 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 3
    7.2. 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    7.2. 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 6
    6.2. 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 24
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (5%)
     (0%)
     (11%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (28%)
    Celkem 819 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Sám sobě package maintainerem

    30.6.2005 23:01 | Přečteno: 1379× | poslední úprava: 30.6.2005 23:24

    Všechno v životě má svůj líc i rub a čím déle jsme na cestě za hledáním dokonalosti, tím více zjišťujeme, jak se nám vzdaluje.

    Na lícu distribuce Slackware Linuxu lze mj. spatřit kompaktnost a nekopromisní dodržování osvědčených principů a zásad, zajišťovaných "laskavým diktátorem života" Patrickem Volkerdingem jako jejím jediným správcem. Na stejném místě, ale na straně rubové, lze logicky najít omezenou množinu distribuovaných balíčků, která nemůže uspokojit všechny požadavky svých uživatelů.

    Tvorba binárních balíčků se řeší pomocí tzv. SlackBuild skriptů, což nejsou nic jiného než posloupnosti shellových příkazů, kterými se standardně daný software instaluje ze zdrojových souborů. Základy např. zde ( PDF), ale hlavně podstrom repozitáře sources. Pro svoji potřebu zmírnit nedostatek uvedený v předchozím odstavci, zbastlil jsem kdysi šablonu takového SlackBuild skriptu, který mi s drobnými úpravami slouží dodnes a který jsem si drze dovolil podstrčit do svého prvního blogu ;-) K dokonalosti má opravdu daleko, je tam minimum kontrol, aplikace případných patchů není automatizována atd. Nechť si dotyční dotčení kritici toto dopíší sami :-)

    Skript se sestává ze 4 logicky souvisejících pasáží(inicializace, konfigurace zdrojů, kompilace zdrojů a relokovaná instalace, sestavení balíčku). Spouští se pod rootem, kritické části 2 a 3 běží pod běžným uživatelem. Pro zdrojáky postavené kolem automake a autoconf většinou stačí jen doplnit hodnoty proměnných v části 1. Skript implicitně počítá, že obsah balíčku se zdrojovými soubory je uložen do adresáře formátu <název balíčku>-<verze>.

    Pro squid by mohly být proměnné nastavené např. takto:

    ...
    PKG_NAME="squid"				# basic name of a package
    PKG_VERSION="2.5.STABLE10"			# release version
    PKG_ARCH=${PKG_ARCH:-i486}			# architecture to build for
    PKG_BUILD=${PKG_BUILD:-2loj}			# id of build in one release
    PKG_DOCS="AUTHORS COPYING* LICENSE README NEWS \
      ChangeLog"					# distributed documents
    PKG_SRC=${PKG_NAME}-${PKG_VERSION}.tar.bz2 	# sources tarball name
    CONFIG_OPTIONS="--prefix=/usr/local \
                    --sysconfdir=/etc \
                    --localstatedir=/var \
                    --with-pthreads \
                    --enable-openssl"		# options for config. script
    
    TMP=/home/lojza/tmp				# temporary files directory
    PKG=${TMP}/package-${PKG_NAME}			# sources build path
    TAR_PARAMS=""					# tar extraction parameters
    SLACK_PKGDIR="/_archive/slackware/packages"	# package destination directory
    USER_BUILD=lojza				# account used to build srcs
    ...
    


    Následuje celá šablona.

    #!/bin/sh
    # SlackBuild template (cl) Triton, 2005
    
    cd `dirname "$0"`			       # dive into SlackBuild dir first
    
    ###############################################################################
    ### 1/4 ENVIRONMENT VARIABLES INITIALIZATION, BASIC CHECKS  ###################
    PKG_NAME=""					# basic name of a package
    PKG_VERSION=""					# release version
    PKG_ARCH=${PKG_ARCH:-i686}			# architecture to build for
    PKG_BUILD=${PKG_BUILD:-1trt}			# id of build in one release
    PKG_DOCS="AUTHORS COPYING* LICENSE README NEWS"	# distributed documents
    PKG_SRC=${PKG_NAME}-${PKG_VERSION}.tar.gz	# sources tarball name
    CONFIG_OPTIONS="--prefix=/usr/local \
                    --sysconfdir=/etc \
                    --localstatedir=/var"		# options for config. script
    TMP=/tmp					# temporary files directory
    PKG=${TMP}/package-${PKG_NAME}			# sources build path
    SLACK_PKGDIR="/_archive/slackware/packages"	# package destination directory
    TAR_PARAMS=""					# tar extraction parameters
    USER_BUILD=triton				# account used to build srcs
    CWD=`pwd`					# SlackBuild directory
    CALLWD="$OLDPWD"				# directory called from
    case ${PKG_ARCH} in
      ( i386 | i486 | i586 | i686 )
        SLKCFLAGS="-O2 -march=${PKG_ARCH} -mcpu=i686 -pipe";;
      ( s390 | x86_64 )
        SLKCFLAGS="-O2";;
      ( * ) {
        echo "Unsupported architecture $PKG_ARCH !"
        exit 1
      }
    esac
    export PKG_NAME PKG_VERSION PKG_ARCH PKG_BUILD PKG_DOCS PKG_SRC SLACK_PKGDIR CWD TMP PKG SLKCFLAGS
    
    [ ! -r slack-desc ] && { echo "slack-desc file is missing !"; exit 1; }
    [ ! -r ${PKG_SRC} ] && { echo "Source tarball ${PKG_SRC} is missing !"; exit 1; }
    if [ -z "$TAR_ARGS" ]; then
      if [ `expr "${PKG_SRC}" : ".*\.tar\.gz$"` -ne 0 ] || [ `expr "${PKG_SRC}" : ".*\.tgz$"` -ne 0 ]; then
        TAR_PARAMS="xzvf"
      elif [ `expr "${PKG_SRC}" : ".*\.tar\.bz[2]$"` -ne 0 ] || [ `expr "${PKG_SRC}" : ".*\.tbz[2]$"` -ne 0 ]; then
        TAR_PARAMS="xjvf"
      else
        echo "Source tarball ${PKG_SRC} doesn't look like an gzipped or bzipped tar !"
        exit 1
      fi
    fi
    
    export TAR_PARAMS
    
    # run parts 2/4 - 3/4 in "safe" user context
    su - "$USER_BUILD" -c "{
    
    
    ###############################################################################
    ### 2/4 SOURCES EXTRACTION, PATCHES APPLYING ##################################
    rm -rf ${PKG}
    mkdir -p ${PKG}
    cd ${TMP}
    rm -rf ${PKG_NAME}-${PKG_VERSION}
    tar ${TAR_PARAMS} ${CWD}/${PKG_SRC}
    cd ${PKG_NAME}-${PKG_VERSION}
    #zcat ${CWD}/${PKG_NAME}.diff.gz | patch -p1 --verbose --backup --suffix=.orig
    CFLAGS=\"$SLKCFLAGS\" \
    CXXFLAGS=\"$SLKCFLAGS\" \
    ./configure ${CONFIG_OPTIONS}
    
    
    ###############################################################################
    ### 3/4 SOURCES COMPILATION, INSTALL INTO PACKAGING DIRECTORY, STRIPPING  #####
    make -j3
    make install DESTDIR=${PKG}
    # Adjust docs to traditional Slackware location:
    [ -d ${PKG}/usr/doc/${PKG_NAME}-${PKG_VERSION} ] || mkdir -p ${PKG}/usr/doc/${PKG_NAME}-${PKG_VERSION} 
    mv ${PKG}/usr/share/doc ${PKG}/usr
    # Add a few more docs:
    cp -a ${PKG_DOCS} ${PKG}/usr/doc/${PKG_NAME}-${PKG_VERSION}
    mkdir ${PKG}/install
    cat ${CWD}/slack-desc > ${PKG}/install/slack-desc
    cp ${CWD}/doinst.sh ${PKG}/install/
    cd ${PKG}
    find . | xargs file | grep 'executable' | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
    find . | xargs file | grep 'shared object' | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
    find . -type d -name man | xargs -i find {} -type f -name "*.[1-9]" | xargs gzip -9
    
    }"	# exit "safe" user context to run 4/4 part as superuser
    
    
    ###############################################################################
    ### 4/4 POLICIES APPLYING, FINAL PACKAGE CREATING #############################
    cd ${PKG}
    chown -R root.root .
    chgrp -R bin bin sbin usr/bin usr/sbin usr/local/bin usr/local/sbin
    /sbin/makepkg -l y -c n ${SLACK_PKGDIR}/${PKG_NAME}-${PKG_VERSION}-${PKG_ARCH}-${PKG_BUILD}.tgz && \
      rm -rf ${TMP}/${PKG_NAME}-${PKG_VERSION} ${PKG}
    
    cd ${CALLWD}
    


    Tak a teď se ještě zapsat do příslušného mailing listu a jedna aktualizace může stíhat druhou ;-)        

    Hodnocení: -

    zatím nehodnoceno
            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    30.6.2005 23:31 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše ebuild :-)
    Sorry, ale ja si to neodpustim - to je nejaka parodie na ebuild ;-) ?
    30.6.2005 23:41 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše Re: ebuild :-)
    Škoda, že jsem to nedal jako hádanku. Určitě bys' vyhrál nějakou cenu ;-)
    Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R' 2V,*3$D-EG4PC!<*(%%I"<*$` `
    1.7.2005 09:08 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: ebuild :-)
    <troll>

    ebuid, ebuild... to je nějaká parodie na rpmbuild? ;-)

    </troll>
    1.7.2005 12:16 trocha pravdy | skóre: 3 | blog: nic
    Rozbalit Rozbalit vše Re: ebuild :-)
    Bomba spregacka neznamena nic. Kdyz jsem byl maly, rikali jsme necemu, co je strasne cool, ze je to spregy. Z ceho to vsak vzniklo to uz vakt nefim...
    3.9.2005 07:46 Frank J. Tomes | skóre: 29 | Plzeň
    Rozbalit Rozbalit vše Re: ebuild :-)
    Jasně, nejstarší linuxová distribuce bude schválně parodovat hype distribuce pro hobbisty :-)
    [frank]$ uname -prs FreeBSD 4.11-RELEASE-p25 i386
    Mikos avatar 1.7.2005 03:41 Mikos | skóre: 34 | blog: Jaderný blog | Praha
    Rozbalit Rozbalit vše Zajímavé
    Když vidím něco takového, hned si vzpomenu na to jak úžasné jsou ebuildy v Gentoo a PKGBUILDy v Archu... nemůžu si pomoct, ale tohle je fakt humus :-)
    CETERUM CENSEO DRM ESSE DELENDAM Ostatně soudím, že DRM musí být zničeno!
    1.7.2005 07:01 Michal Karas | skóre: 45 | blog: /dev/random
    Rozbalit Rozbalit vše Re: Zajímavé
    Tenhle zapisek jsem cetl uz vcera a napadlo me to same. :-) Jen jsem nechtel hned rypat, ale kdyz uz jsi zacal ty... ;-)
    1.7.2005 10:40 pepekvyskoc
    Rozbalit Rozbalit vše Re: Zajímavé
    to neni ani cilem, je to proste bash skript, ktery zkompiluje soft a udela balicek, nic jineho. nemuzes srovnavat s ebuildem - ebuild zase treba nelze pouzit samostatne, nemluve o dalsich funkcich

    btw. autor necht mrkne na portpkg.berlios.de - hromada slackbuildu v repozitari a ruzne tooly na jejich vytvareni a spravu - mozna inspirace
    1.7.2005 13:34 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše Re: Zajímavé
    Portpkg znám, ale mám s ním dva zásadní problémy. Jednak ty skripty nejsou zdaleka tak generické a druhak nedůvěřuji jiným zdrojům než je ten oficiální a sám sobě. Pro mě je jednodušší vyplnit hlavičku šablony a udělat pár případných úprav v instalační části, než luštit cizí skripty. To bych si rovnou mohl ušetřit komplikace instalováním hotových balíčků z linuxpackages.net .
    Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R' 2V,*3$D-EG4PC!<*(%%I"<*$` `
    1.7.2005 12:42 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše Re: Zajímavé
    No mě se taky líbí víc ABS z Arch Linuxu, ale takhle se prostě ve Slacku balíčky vyrábí. Dokonce si dovolím tvrdit, že ty originální jsou často méně konzistentní, než ty moje. Najděte si nějaké oficiální SlackBuildy např. odsud .
    Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R' 2V,*3$D-EG4PC!<*(%%I"<*$` `

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.