Предыстория:
на днях обновлялся в результате чего заметил, что калька сама подправила часть моих конфигов, в частности /etc/nsswitch и /etc/default/grub. мне это сильно не понравилось…
на #calculate-ru рассказали, что в кальке есть такая вещь, как шаблоны и они автоматом обновляют конфиги определённых пакетов при их обновлении… я назвал это костылями, поплевался, поматерился про себя, но по зрелому размышлению понял, что некий резон в этом есть. Единственное что мне очень не понравилось, что калька !!сама заменила мои конфиги в обход etc-update!!. соответственно мне захотелось отключить эту «полезную» фичу. для этого сделал sed ‘/cl_merges =/s/calculate-install,?//’ -i /etc/calculate/calculate2.env.
ко их…
История:
после всего этого обновил кеды 4.9.2 и кто-то !!в обход etc-update!! заменил /usr/share/config/kdm/kdmrc на тот, что пришёл с самим пакетом…
рассказали мне, что файл изменён пакетом calculate-merges,
предлагали решение использовать ctl файлы, чтобы защищать конфиги…
также интересовался, куда пропали файлы /usr/share/applications/calculate-*.desktop рассказали, что они создаются calculate-install
Возникли некоторые дополнительные вопросы:
почему calculate-merges не применил свой шаблон, а наложил тот что идёт с самим пакетом? это был баг? или это так и задумывалось?
решание с созданием ctl файлов я верным не считаю… а уж тем более не считаю верным, что утилиты должны напрямую менять конфиги, вместо того, чтобы создавать свои файлы, которые бы уже превносились в систему etc-update’ом. неужели это тоже так изначально и задумано? есть же CONFIG_PROTECT, зачем плодить сущности вроде ctl’ов с тем же смыслом? или это русская мера запретов правки: можно-запрещено-строго_запрещено?
также я интересовался, куда пропали файлы /usr/share/applications/calculate-*.desktop рассказали, что они создаются calculate-install. но кто же тогда часть из них удалил? и как ручками запустить calculate-install, чтобы он создал только их и ничего не попортил?
Инфа р системе:
alexander@goblin-book ~ $ uname -a
Linux goblin-book 3.5.4-calculate-goblin-book-0.4 #1 SMP Tue Oct 2 21:07:46 MSK 2012 x86_64 Intel(R) Atom(TM) CPU N570 @ 1.66GHz GenuineIntel GNU/Linux
alexander@goblin-book ~ $ grep -r . /etc/calculate
/etc/calculate/calculate2.env:#------------------------------------------------------------------------------
/etc/calculate/calculate2.env:# Modified Calculate-install 2.2.27
/etc/calculate/calculate2.env:# Processing template files:
/etc/calculate/calculate2.env:# /usr/share/calculate/templates/install/1live/00-calculate-install/calculate2.env
/etc/calculate/calculate2.env:# /usr/share/calculate/templates/install/1system/calculate-install/calculate2.env
/etc/calculate/calculate2.env:#------------------------------------------------------------------------------
/etc/calculate/calculate2.env:[install]
/etc/calculate/calculate2.env:os_install_net_settings = networkmanager
/etc/calculate/calculate2.env:[main]
/etc/calculate/calculate2.env:# Set auto-update configuration files.
/etc/calculate/calculate2.env:cl_autoupdate_set = off
/etc/calculate/calculate2.env:# keep value of root dev uuid (8 char) for kernel symlink
/etc/calculate/calculate2.env:cl_kernel_uid = c62f9e25
/etc/calculate/calculate2.env:# current linux build
/etc/calculate/calculate2.env:os_linux_build = 20111228
/etc/calculate/calculate2.env:cl_merges = calculate-desktop,calculate-client
/etc/calculate/ini.env:[desktop]
/etc/calculate/ini.env:videoplayer = smplayer
/etc/calculate/ini.env:calculator = kcalc
/etc/calculate/ini.env:audioplayer = amarok
/etc/calculate/ini.env:mail = kmail
/etc/calculate/ini.env:imageburn = k3b
/etc/calculate/ini.env:chat = konversation
/etc/calculate/ini.env:imageedit = gimp
/etc/calculate/ini.env:im = kopete
/etc/calculate/ini.env:textedit = kwrite
/etc/calculate/ini.env:terminal = konsole
/etc/calculate/ini.env:imageview = digikam
/etc/calculate/ini.env:dict = goldendict
/etc/calculate/ini.env:browser = chromium
/etc/calculate/ini.env:writer = libreoffice
/etc/calculate/ini.env:calc = libreoffice
alexander@goblin-book ~ $ eix -Ic cl-*
[i] app-misc/cl-base-meta [1] (12.0-r2@28.08.2012): Calculate Linux (base meta package)
[i] app-misc/cl-decoration-meta (12.0-r1[2]@25.06.2012): Calculate Linux (decoration meta package)
[i] app-misc/cl-kde-meta [1] (4.9.0@03.10.2012): Calculate Linux (kde meta package)
[i] app-misc/cl-network-meta [1] (12.0@22.06.2012): Calculate Linux (network tools meta package)
[i] app-misc/cl-office-meta [1] (12.0@25.06.2012): Calculate Linux (office meta package)
[i] app-misc/cl-printer-meta [1] (12.0@22.06.2012): Calculate Linux (printer/scanner meta package)
[i] app-misc/cl-tools-meta [1] (12.0-r1@10.08.2012): Calculate Linux (tools meta package)
[i] app-misc/cl-wireless-meta [1] (12.0@22.06.2012): Calculate Linux (wireless meta package)
[i] app-misc/cl-xorg-meta [1] (7.4-r3@22.04.2012): Calculate Linux (Xorg meta package)
[1] "calculate" /var/lib/layman/calculate
[2] "local-portage" /usr/local/portage
Нашёл 9 совпадений.
alexander@goblin-book ~ $ eix -Ic calculate-*
[i] app-misc/calculate-meta [1] (12.0.3@31.08.2012): Calculate Linux (meta package)
[i] sys-apps/calculate-builder [1] (2.2.30-r3@26.09.2012): The utilities for builder tasks of Calculate Linux
[i] sys-apps/calculate-client [1] (2.2.30@31.08.2012): The program of setting and storing the user account in the domain
[i] sys-apps/calculate-console [1] (3.0.2(3)@31.08.2012): Qt gui console client for WSDL Calculate 3
[i] sys-apps/calculate-console-gui [1] (3.0.2-r1(3)@17.09.2012): Qt gui console client for WSDL Calculate 3
[i] sys-apps/calculate-core [1] (3.0.2(3)@31.08.2012): The WSDL api for Calculate 3
[i] sys-apps/calculate-desktop [1] (2.2.30@31.08.2012): The program of the desktop configuration Calculate Linux
[i] sys-apps/calculate-i18n [1] (2.2.30-r1@06.09.2012 3.0.2(3)@31.08.2012): The internationalization package for calculate utilities
[i] sys-apps/calculate-install [1] (3.0.2(3)@31.08.2012): The program of installation Calculate Linux
[i] sys-apps/calculate-lib [1] (2.2.30(2.2)@31.08.2012 3.0.2-r1(3)@17.09.2012): The library for Calculate 3
[i] sys-apps/calculate-utilities [1] (2.2.30-r6@26.09.2012 3.0.2-r1(3)@17.09.2012): Calculate Utilities meta package
[D] sys-kernel/calculate-sources [1] (3.3.5(3.3.5)@18.06.2012 3.5.4-r1(3.5.4)@02.10.2012 -> 2.6.32.59(2.6.32.59)^bs 2.6.35.13(2.6.35.13)^bs 2.6.39.4-r1(2.6.39.4)^bs 3.0.42(3.0.42)^bs 3.2.28(3.2.28)^bs 3.3.8-r1(3.3.8)^bs 3.4.10(3.4.10)^bs 3.5.3-r2(3.5.3)^bs 3.5.4-r1(3.5.4)^bs): Full sources including the Calculate patchset for the 2.6 kernel tree
[1] "calculate" /var/lib/layman/calculate
Нашёл 12 совпадений.
alexander@goblin-book ~ $ emerge --info
Portage 2.2.0_alpha134 (!../var/lib/layman/calculate/profiles/calculate/desktop/CLD/amd64/binary, gcc-4.5.4, glibc-2.15-r2, 3.5.4-calculate-goblin-book-0.4 x86_64)
=================================================================
System uname: Linux-3.5.4-calculate-goblin-book-0.4-x86_64-Intel-R-_Atom-TM-_CPU_N570_@_1.66GHz-with-gentoo-12.0.3
Timestamp of tree: Wed, 03 Oct 2012 18:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [enabled]
app-shells/bash: 4.2_p37
dev-java/java-config: 2.1.11-r3
dev-lang/python: 2.7.3-r2, 3.2.3
dev-util/cmake: 2.8.9
dev-util/pkgconfig: 0.27.1
sys-apps/baselayout: 2.1-r1
sys-apps/openrc: 0.9.8.4
sys-apps/sandbox: 2.5
sys-devel/autoconf: 2.68
sys-devel/automake: 1.11.6
sys-devel/binutils: 2.22-r1
sys-devel/gcc: 4.5.4
sys-devel/gcc-config: 1.7.3
sys-devel/libtool: 2.4-r1
sys-devel/make: 3.82-r3
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc: 2.15-r2
Repositories: gentoo calculate qutim kde-sunset science local-portage
Installed sets: @custom
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=atom -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=atom -pipe"
DISTDIR="/home/portage/distfiles"
EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y --quiet-build=n --binpkg-respect-use y "
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distcc distlocks ebuild-locks fixlafiles getbinpkg metadata-transfer parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="ru ru_RU"
MAKEOPTS="-j4"
PKGDIR="/home/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/home/portage/tree"
PORTDIR_OVERLAY="/var/lib/layman/calculate /var/lib/layman/qutim /var/lib/layman/kde-sunset /var/lib/layman/science /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac aalib acl acpi alsa amd64 amr apm audiofile avahi avi bash-completion berkdb bittorrent bluetooth bzip2 cairo cdda cddb cdparanoia cdr chm clamav cli consolekit cpudetection cracklib crypt css cue cups cxx dbus djvu dri dv dvd dvdr dvdread ebook encode exif faac fbcon ffmpeg flac flash foomaticdb fortran ftp gd gdbm ggi gif git gphoto2 gpm gtk iconv id3tag ieee1394 imagemagick ipod ipv6 irc jabber jingle jpeg jpeg2k kde libcaca libnotify libwww lirc lm_sensors logrotate lzo mad matroska mbox mikmod mmx mmxext mng modules mp3 mpeg mplayer mudflap multilib musepack nas ncurses networkmanager nfs nls nptl nsplugin ogg oggvorbis openal opencore-amr openexr opengl openmp oscar pam pcre pdf png policykit portaudio ppp pppd qt3support qt4 quicktime raw rdesktop readline samba scanner sdl session smp speex spell srt sse sse2 sse3 sse4.1 sse4.2 sse4a sse5 ssl ssse3 subversion svg tcpd tga theora tiff truetype udev unicode usb userlocales v4l v4l2 vaapi vcd vdpau vhosts vim-syntax vorbis wavpack webkit wimax wmf wxwindows x264 xanim xcomposite xinerama xpm xv xvid xvmc yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALCULATE="nographics nomultimedia nonettools" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="* ptp2" CDISTRO="CLD desktop" CL="builder client desktop console consolegui" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FOO2ZJS_DEVICES="*" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev mutouch synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru ru_RU" LIRC_DEVICES="devinput" PHP_TARGETS="php5-3" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel i915 i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7"
Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
кросспост с linuxforum’а: http://linuxforum.ru/viewtopic.php?id=24581