├── debian ├── changelog ├── compat ├── control ├── copyright ├── install ├── maintscript ├── mintsystem.lintian-overrides ├── postinst ├── postrm ├── rules ├── source │ └── format └── triggers ├── etc ├── apt │ ├── apt.conf.d │ │ └── 90mintsystem │ └── preferences.d │ │ └── official-extra-repositories.pref ├── bash_completion.d │ └── apt-linux-mint ├── init.d │ └── mintsystem └── sudoers.d │ └── 0pwfeedback ├── lib └── systemd │ └── system │ └── mintsystem.service └── usr ├── bin ├── check_signals ├── mint-drivers └── rtfm ├── lib └── linuxmint │ └── mintsystem │ ├── mint-adjust.py │ ├── mint-apt-download.py │ └── mint-apt-recommends.py ├── local └── bin │ ├── apt │ ├── highlight-mint │ └── search └── share ├── glib-2.0 └── schemas │ └── com.linuxmint.gschema.xml ├── linuxmint ├── adjustments │ ├── 15-mintsystem.menu │ ├── 15-mintsystem.overwrite │ ├── 20-apt-set-recommends.execute │ └── README └── mintsystem │ └── apt │ ├── install │ └── official-package-repositories.pref └── man └── man1 └── rtfm.1.gz /debian/changelog: -------------------------------------------------------------------------------- 1 | mintsystem (8.6.2) xia; urgency=medium 2 | 3 | * apt-download: Use a local repository 4 | 5 | -- Clement Lefebvre Thu, 26 Dec 2024 15:30:53 +0000 6 | 7 | mintsystem (8.6.1) xia; urgency=medium 8 | 9 | [ SurinameClubcard ] 10 | * Fixed command line options parsing (#139) 11 | 12 | -- Clement Lefebvre Tue, 03 Dec 2024 10:15:53 +0000 13 | 14 | mintsystem (8.6.0) xia; urgency=medium 15 | 16 | * Remove dns-fix 17 | * Remove resolv.conf template 18 | 19 | -- Clement Lefebvre Thu, 28 Nov 2024 13:54:30 +0000 20 | 21 | mintsystem (8.5.9) wilma; urgency=medium 22 | 23 | * APT prefs: Remove unnecessary priorities 24 | 25 | -- Clement Lefebvre Fri, 21 Jun 2024 16:59:07 +0100 26 | 27 | mintsystem (8.5.8) virginia; urgency=medium 28 | 29 | * Fix apt search 30 | 31 | -- Clement Lefebvre Tue, 28 Nov 2023 09:55:14 +0000 32 | 33 | mintsystem (8.5.7) virginia; urgency=medium 34 | 35 | [ terminalforlife ] 36 | * Optimize & clean up handling of terminal size 37 | * Allow simulate flags to get through 38 | * Improve `Usage()` & use `pass` with an exception 39 | 40 | [ Clement Lefebvre ] 41 | * Code: Make tuple more explicit 42 | * Usage: Explain the difference between apt and upstream apt 43 | * Usage: Update wording 44 | 45 | -- Clement Lefebvre Mon, 27 Nov 2023 15:31:05 +0000 46 | 47 | mintsystem (8.5.6) victoria; urgency=medium 48 | 49 | * search: Make the help section more useful 50 | 51 | -- Clement Lefebvre Wed, 31 May 2023 12:35:21 +0100 52 | 53 | mintsystem (8.5.5) vera; urgency=medium 54 | 55 | * Remove mint-sha256sum 56 | 57 | -- Clement Lefebvre Mon, 21 Nov 2022 12:41:53 +0000 58 | 59 | mintsystem (8.5.4) vanessa; urgency=medium 60 | 61 | [ Tibladar ] 62 | * Fix Steam not receiving params (#129) 63 | 64 | -- Clement Lefebvre Tue, 26 Apr 2022 12:19:26 +0100 65 | 66 | mintsystem (8.5.3) una; urgency=medium 67 | 68 | [ Butterfly ] 69 | * Add autopurge argcommand for /usr/bin/apt (#127) 70 | 71 | [ McModknower ] 72 | * Fix a crash when using apt search in non-tty enviroments (#128) 73 | 74 | -- Clement Lefebvre Mon, 22 Nov 2021 13:19:56 +0000 75 | 76 | mintsystem (8.5.2) uma; urgency=medium 77 | 78 | * apt: Accept arguments preceeding command 79 | 80 | -- Clement Lefebvre Wed, 26 May 2021 11:08:21 +0100 81 | 82 | mintsystem (8.5.1) ulyssa; urgency=medium 83 | 84 | * apt download: Switch from dpkg to apt to enable conflicts resolution 85 | 86 | -- Clement Lefebvre Sun, 03 Jan 2021 13:23:12 +0000 87 | 88 | mintsystem (8.5.0) ulyana; urgency=medium 89 | 90 | * apt-set-recommends: Restart packagekit 91 | 92 | -- Clement Lefebvre Thu, 05 Nov 2020 17:38:07 +0000 93 | 94 | mintsystem (8.4.9) ulyana; urgency=medium 95 | 96 | [ Michael Webster ] 97 | * Use a system adjustment to enable apt recommends. 98 | * Don't create /etc/apt/apt.conf.d/99synaptic if it doesn't already exist. 99 | 100 | [ Clement Lefebvre ] 101 | * APT: Enable recommends in synaptic even if 00recommends does not exist 102 | 103 | -- Clement Lefebvre Tue, 29 Sep 2020 12:51:32 +0100 104 | 105 | mintsystem (8.4.8) ulyana; urgency=medium 106 | 107 | [ Vincent Vermeulen ] 108 | * handle Ctrl+C in apt (#117) 109 | * Make apt work with apt patterns (#118) 110 | 111 | [ Clement Lefebvre ] 112 | * APT Changelog: Add compatibility with old versions of mintcommon 113 | * Re-enable APT recommends 114 | 115 | -- Clement Lefebvre Mon, 21 Sep 2020 13:36:04 +0100 116 | 117 | mintsystem (8.4.7) debbie; urgency=medium 118 | 119 | [ nardholio ] 120 | * mintsystem: don't fail on apt-get purge 121 | 122 | [ Clement Lefebvre ] 123 | * Packaging: Switch to interest-noawait triggers 124 | 125 | -- Clement Lefebvre Tue, 17 Mar 2020 11:59:34 +0000 126 | 127 | mintsystem (8.4.6) tricia; urgency=medium 128 | 129 | [ Chris Laplante ] 130 | * apt: fix bash completion handling of -- arguments (#106) 131 | 132 | -- Clement Lefebvre Wed, 13 Nov 2019 18:20:13 +0100 133 | 134 | mintsystem (8.4.5) tina; urgency=medium 135 | 136 | * Remove Python 3.6 code 137 | 138 | -- Clement Lefebvre Mon, 05 Aug 2019 13:08:08 +0200 139 | 140 | mintsystem (8.4.4) tina; urgency=medium 141 | 142 | * APT preferences: Don't specify priority for Ubuntu repositories 143 | 144 | -- Clement Lefebvre Sun, 07 Jul 2019 11:20:40 +0200 145 | 146 | mintsystem (8.4.3) tina; urgency=medium 147 | 148 | [ Clement Lefebvre ] 149 | * apt: Use mint-common's version function 150 | * Don't rely on mintcommon's version module 151 | 152 | [ gm10 ] 153 | * Pin the official daily builds PPA (#95) 154 | 155 | [ Clement Lefebvre ] 156 | * Add lintian overrides 157 | 158 | [ gm10 ] 159 | * Remove unused templates (#96) 160 | 161 | [ Clement Lefebvre ] 162 | * apt recommends: Fix OR-dependency detection 163 | * search: Make filenames more visible 164 | * download: Fix wrong extension in success message 165 | * apt: Add showsrc command 166 | * apt: Use mint-common's changelog module 167 | 168 | [ yotabits ] 169 | * apt-preference: Cosmetic (#97) 170 | 171 | -- Clement Lefebvre Sun, 30 Jun 2019 16:00:30 +0200 172 | 173 | mintsystem (8.4.2) tessa; urgency=medium 174 | 175 | * APT: Clean downloaded files automatically 176 | 177 | -- Clement Lefebvre Thu, 07 Feb 2019 12:17:25 +0000 178 | 179 | mintsystem (8.4.1) tessa; urgency=medium 180 | 181 | [ gm10 ] 182 | * enable sudo password feedback (#93) 183 | 184 | [ Thomas Praxl ] 185 | * Fix highlight package unusable when path ommitted (#81) 186 | 187 | -- Clement Lefebvre Wed, 28 Nov 2018 12:21:22 +0000 188 | 189 | mintsystem (8.4.0) tara; urgency=medium 190 | 191 | [ gm10 ] 192 | * apt: fix apt download 193 | 194 | -- Clement Lefebvre Mon, 22 Oct 2018 13:58:28 +0100 195 | 196 | mintsystem (8.3.9) tara; urgency=medium 197 | 198 | * Don't depend on gist 199 | 200 | -- Clement Lefebvre Fri, 27 Jul 2018 10:41:54 +0200 201 | 202 | mintsystem (8.3.8) tara; urgency=medium 203 | 204 | * Add missing commands to bash completition 205 | 206 | -- Clement Lefebvre Tue, 19 Jun 2018 13:44:26 +0200 207 | 208 | mintsystem (8.3.7) tara; urgency=medium 209 | 210 | [ NikoKrause ] 211 | * Nemo action: use symbolic icon 212 | 213 | -- Clement Lefebvre Sat, 16 Jun 2018 10:19:26 +0200 214 | 215 | mintsystem (8.3.6) tara; urgency=medium 216 | 217 | [ monsta ] 218 | * properly remove old files from /etc/linuxmint/adjustments (#71) 219 | 220 | -- Clement Lefebvre Wed, 30 May 2018 18:02:19 +0100 221 | 222 | mintsystem (8.3.5) tara; urgency=medium 223 | 224 | [ Clement Lefebvre ] 225 | * Remove fortunes 226 | 227 | [ Steve M ] 228 | * Fix for apt failing when not run from a terminal. (#70) 229 | 230 | [ Clement Lefebvre ] 231 | * Fix https://bugs.launchpad.net/linuxmint/+bug/1536291 232 | * Switch adjustments directory to /usr/share 233 | 234 | -- Clement Lefebvre Thu, 08 Feb 2018 17:06:05 +0000 235 | 236 | mintsystem (8.3.4) sylvia; urgency=medium 237 | 238 | [ mrg0029 ] 239 | * Fix "apt recommends" catching e.g. "apt d" (#68) 240 | 241 | -- Clement Lefebvre Thu, 23 Nov 2017 09:49:23 +0000 242 | 243 | mintsystem (8.3.3) sylvia; urgency=medium 244 | 245 | [ Paul Jähne ] 246 | * Use Mimetypes instead of Extensions 247 | * Put translations for Name directly und Name 248 | * Add German translation 249 | 250 | [ jtsagata ] 251 | * Adapt "apt search" cmd output to terminal width (#1) (#67) 252 | 253 | [ Paul Jähne ] 254 | * Add progress dialog and title (#65) 255 | 256 | [ Clement Lefebvre ] 257 | * mint-sha256sum: Don't brand the window title. 258 | 259 | -- Clement Lefebvre Fri, 27 Oct 2017 13:19:53 +0100 260 | 261 | mintsystem (8.3.2) sonya; urgency=medium 262 | 263 | * Remove pastebin command (moved to xapps-common) 264 | 265 | -- Clement Lefebvre Fri, 02 Jun 2017 13:17:49 +0100 266 | 267 | mintsystem (8.3.1) sonya; urgency=medium 268 | 269 | [ Vladislav Naumov ] 270 | * Added markauto and markmanual feature. 271 | 272 | -- Clement Lefebvre Sun, 07 May 2017 13:16:21 +0100 273 | 274 | mintsystem (8.3.0) serena; urgency=medium 275 | 276 | * Replace system call with subprocess.call 277 | * Fixed output highlighting and sorting. 278 | * Fix apt download 279 | 280 | -- Clement Lefebvre Sat, 05 Nov 2016 14:30:44 +0000 281 | 282 | mintsystem (8.2.9) sarah; urgency=medium 283 | 284 | [ monsta ] 285 | * remove xchat-systray script as xchat is gone 286 | 287 | [ Two_Dogs ] 288 | * Use github's gist for pastebin 289 | 290 | -- Clement Lefebvre Thu, 01 Sep 2016 10:00:40 +0100 291 | 292 | mintsystem (8.2.8) sarah; urgency=medium 293 | 294 | * Gave "apt download" rainbow powers 295 | 296 | -- Clement Lefebvre Fri, 24 Jun 2016 22:56:03 +0100 297 | 298 | mintsystem (8.2.7) sarah; urgency=medium 299 | 300 | * Init.d: Don't depend on remote filesystems being ready 301 | * Init.d: Remove syslog from list of dependencies 302 | * Provide a "simple" systemd service file 303 | 304 | -- Clement Lefebvre Fri, 24 Jun 2016 12:38:41 +0100 305 | 306 | mintsystem (8.2.6) sarah; urgency=medium 307 | 308 | * Hide menu item: insert a line break before NoDisplay=true 309 | 310 | -- Clement Lefebvre Mon, 30 May 2016 14:03:36 +0100 311 | 312 | mintsystem (8.2.5) sarah; urgency=medium 313 | 314 | * APT: Rely on aptitude for "apt search" 315 | 316 | -- Clement Lefebvre Thu, 05 May 2016 11:45:01 +0100 317 | 318 | mintsystem (8.2.4) sarah; urgency=medium 319 | 320 | * Don't overwrite base files (rely on pinning instead) 321 | * Switch MD5 nemo action to SHA256 322 | 323 | -- Clement Lefebvre Mon, 02 May 2016 15:38:20 +0100 324 | 325 | mintsystem (8.2.3) sarah; urgency=medium 326 | 327 | * Don't depend on fortunes/cowsay 328 | 329 | -- Clement Lefebvre Thu, 28 Apr 2016 19:47:30 +0100 330 | 331 | mintsystem (8.2.2) sarah; urgency=medium 332 | 333 | * Fixed regression on "exec" menu adjustments. 334 | 335 | -- Clement Lefebvre Fri, 22 Apr 2016 12:56:04 +0100 336 | 337 | mintsystem (8.2.1) sarah; urgency=medium 338 | 339 | [ Clement Lefebvre ] 340 | * Adjustment: Don't rename files which don't exist (make the test explicit) 341 | * APT: Little change in usage() 342 | * APT wrapper: Refactored code a bit 343 | 344 | [ Daniel Alley ] 345 | * Formatting 346 | * Use sets instead of lists for arg lookup 347 | * Turned "apt" into a wrapper around the "apt" debian binary in /usr/bin/apt 348 | * Added dependency on apt binary 349 | * Added new descriptions, reduced conditional to 1 level, added support for aliases 350 | * Formatting 351 | * Renamed folders from camelCase to lowercase 352 | 353 | -- Clement Lefebvre Fri, 22 Apr 2016 11:57:19 +0100 354 | 355 | mintsystem (8.2.0) sarah; urgency=medium 356 | 357 | [ Daniel Alley ] 358 | * update all python to python3 and quit using dh_python 359 | 360 | [ Clement Lefebvre ] 361 | * Fixed pastebin (broken when migrated to python3) 362 | 363 | -- Clement Lefebvre Fri, 19 Feb 2016 11:56:17 +0000 364 | 365 | mintsystem (8.1.9) sarah; urgency=medium 366 | 367 | [ monsta ] 368 | * apt script: use apt-mark for hold/unhold/held commands 369 | 370 | [ Clement Lefebvre ] 371 | * In the case of menu renames, also consider the timestamp of the names file 372 | * Get rid of ConfigObj 373 | * Stop using the commands module 374 | * Switch adjustment system to python3 375 | 376 | -- Clement Lefebvre Thu, 21 Jan 2016 11:33:08 +0000 377 | 378 | mintsystem (8.1.8) sarah; urgency=medium 379 | 380 | * Report processing time 381 | * Turn the adjustment system into a class 382 | * Skip identical files (using filecmp) when overwriting 383 | * Improve logs, skip duplicate overwrites, use os.path.join() when appropriate 384 | * Record timestamps after modifications and only modify when files have changed 385 | * Don't time/flush each log entry 386 | * Support show and onlyshowin 387 | 388 | -- Clement Lefebvre Tue, 19 Jan 2016 18:08:04 +0000 389 | 390 | mintsystem (8.1.7) sarah; urgency=medium 391 | 392 | * Reviewed shebangs, indentation and trailing spaces 393 | 394 | -- Clement Lefebvre Mon, 11 Jan 2016 16:25:00 +0000 395 | 396 | mintsystem (8.1.6) rosa; urgency=medium 397 | 398 | * Revert "Mark mintsystem as Essential" (needs all dependencies to be essential as well, we're not ready for this just yet). 399 | 400 | -- Clement Lefebvre Fri, 27 Nov 2015 11:05:08 +0000 401 | 402 | mintsystem (8.1.5) rosa; urgency=medium 403 | 404 | * APT: Elevate the priority of live.linuxmint.com to 750 (needs to override upstream to guarantee we keep langpacks in sync with the versions present on the ISO) 405 | 406 | -- Clement Lefebvre Thu, 26 Nov 2015 10:54:08 +0000 407 | 408 | mintsystem (8.1.4) rosa; urgency=medium 409 | 410 | * Switch official-package-repositories.pref from a conffile to an adjustment (takes care of upgrades and gives more flexibility) 411 | * Call adjustment system on mintsystem install/upgrade 412 | 413 | -- Clement Lefebvre Wed, 25 Nov 2015 14:04:50 +0000 414 | 415 | mintsystem (8.1.3) rosa; urgency=medium 416 | 417 | * Switch APT priorities to 500 for main/import/extra 418 | 419 | -- Clement Lefebvre Wed, 25 Nov 2015 13:36:55 +0000 420 | 421 | mintsystem (8.1.2) rosa; urgency=medium 422 | 423 | * Mark mintsystem as Essential 424 | 425 | -- Clement Lefebvre Wed, 25 Nov 2015 13:27:10 +0000 426 | 427 | mintsystem (8.1.1) rosa; urgency=medium 428 | 429 | [ monsta ] 430 | * Make "apt contains" command sort its output 431 | 432 | [ Michael Tunnell ] 433 | * Added a add-repository command 434 | 435 | [ Clement Lefebvre ] 436 | 437 | -- Clement Lefebvre Tue, 24 Nov 2015 14:59:02 +0000 438 | 439 | mintsystem (8.1.0) rosa; urgency=medium 440 | 441 | * APT: Raised Kubuntu Backports and LibreOffice PPA to priority 700 442 | 443 | -- Clement Lefebvre Sun, 08 Nov 2015 20:33:29 +0000 444 | 445 | mintsystem (8.0.9) rosa; urgency=medium 446 | 447 | * Added a keys to store the choice of wm for MATE and Xfce 448 | 449 | -- Clement Lefebvre Fri, 06 Nov 2015 16:40:40 +0000 450 | 451 | mintsystem (8.0.8) rafaela; urgency=medium 452 | 453 | * Added "apt recommends" command 454 | 455 | -- Clement Lefebvre Tue, 16 Jun 2015 13:02:48 +0200 456 | 457 | mintsystem (8.0.7) rafaela; urgency=medium 458 | 459 | [ Timothy Sharitt ] 460 | * Changed apt sources to first try EDITOR then fallback to /usr/bin/editor 461 | 462 | [ Clement Lefebvre ] 463 | * Added a command to list signal handlers for a given process ID 464 | * implement required options in init.d script 465 | * Added menu/exec support and fixed Steam window not closing when close button is pressed 466 | 467 | -- Clement Lefebvre Mon, 08 Jun 2015 14:31:03 +0200 468 | 469 | mintsystem (8.0.6) betsy; urgency=medium 470 | 471 | * Fixed menu adjustment removing categories line in renamed applications 472 | 473 | -- Clement Lefebvre Mon, 02 Mar 2015 11:59:47 +0100 474 | 475 | mintsystem (8.0.5) betsy; urgency=medium 476 | 477 | * Updated postinst 478 | 479 | -- Clement Lefebvre Mon, 02 Mar 2015 11:08:48 +0100 480 | 481 | mintsystem (8.0.4) betsy; urgency=medium 482 | 483 | * Don't chmod scripts before executing them (their permissions should be properly set already) 484 | 485 | -- Clement Lefebvre Sat, 28 Feb 2015 18:45:54 +0100 486 | 487 | mintsystem (8.0.3) betsy; urgency=medium 488 | 489 | * Added the ability to rename desktop files 490 | 491 | -- Clement Lefebvre Fri, 27 Feb 2015 13:34:54 +0100 492 | 493 | mintsystem (8.0.2) betsy; urgency=medium 494 | 495 | * Modified init.d script to start mintsystem in runlevels 2,3,4,5 instead of rcS. 496 | 497 | -- Clement Lefebvre Fri, 27 Feb 2015 12:30:23 +0100 498 | 499 | mintsystem (8.0.1) betsy; urgency=medium 500 | 501 | * Revert "Added /usr/share/applications to the list of triggers" 502 | 503 | -- Clement Lefebvre Tue, 03 Feb 2015 14:12:23 +0100 504 | 505 | mintsystem (8.0.0) betsy; urgency=medium 506 | 507 | * Added Virtualbox repository to list of 700 sources 508 | 509 | -- Clement Lefebvre Tue, 03 Feb 2015 12:27:43 +0100 510 | 511 | mintsystem (7.9.9) betsy; urgency=medium 512 | 513 | * Added support for menu adjustments (hiding and changing categories) 514 | * Added /usr/share/applications to the list of triggers 515 | 516 | -- Clement Lefebvre Mon, 02 Feb 2015 14:58:32 +0100 517 | 518 | mintsystem (7.9.8) betsy; urgency=medium 519 | 520 | * Added mint-drivers binary to detect common hardware 521 | 522 | -- Clement Lefebvre Fri, 30 Jan 2015 14:42:46 +0100 523 | 524 | mintsystem (7.9.7) rebecca; urgency=medium 525 | 526 | * Added bash-completion for apt. 527 | 528 | -- Clement Lefebvre Mon, 10 Nov 2014 17:15:55 +0100 529 | 530 | mintsystem (7.9.6) rebecca; urgency=medium 531 | 532 | * Added priorities for common 3rd party sources 533 | 534 | -- Clement Lefebvre Mon, 10 Nov 2014 15:59:23 +0100 535 | 536 | mintsystem (7.9.5) rebecca; urgency=medium 537 | 538 | * Make "apt content" command sort its output 539 | * Search: Fixed indentation, don't search when directory or text aren't defined 540 | * Search: Use . as default directory 541 | * Fixed "apt download" downloading a little too much 542 | 543 | -- Clement Lefebvre Mon, 03 Nov 2014 23:13:54 +0100 544 | 545 | mintsystem (7.9.4) rebecca; urgency=medium 546 | 547 | * Removed unneeded adjustments (they're in Synaptic repo now) 548 | * Removed obsolete trigger 549 | * Proper removal of /etc/linuxmint/adjustments/10-mintsystem-synaptic.overwrite 550 | * Updated prior-version field 551 | * Don't require dbus in the init script 552 | * Added pastebin command 553 | * Use subprocess to workaround issues with quotes 554 | 555 | -- Clement Lefebvre Tue, 30 Sep 2014 13:07:13 +0200 556 | 557 | mintsystem (7.9.3) qiana; urgency=medium 558 | 559 | * Fixed Synaptic freezez 560 | 561 | -- Clement Lefebvre Mon, 02 Jun 2014 11:43:12 +0100 562 | 563 | mintsystem (7.9.2) qiana; urgency=medium 564 | 565 | * Fixed a typo in the logs 566 | 567 | -- Clement Lefebvre Wed, 21 May 2014 10:45:33 +0100 568 | 569 | mintsystem (7.9.1) petra; urgency=low 570 | 571 | * Re-enable mintfortune 572 | 573 | -- Clement Lefebvre Fri, 22 Nov 2013 10:43:50 +0000 574 | 575 | mintsystem (7.9.0) petra; urgency=low 576 | 577 | * Disabled mintfortune for now (using gsettings in the background is risky until systemd fixes the XDG_RUNTIME_DIR issue) 578 | 579 | -- Clement Lefebvre Mon, 11 Nov 2013 18:21:46 +0000 580 | 581 | mintsystem (7.8.9) petra; urgency=low 582 | 583 | * Fixed MD5 nemo action not working when filename contains space characters 584 | 585 | -- Clement Lefebvre Fri, 08 Nov 2013 15:04:09 +0000 586 | 587 | mintsystem (7.8.8) petra; urgency=low 588 | 589 | * Trigger on /usr/lib/firefox 590 | 591 | -- Clement Lefebvre Thu, 31 Oct 2013 13:06:56 +0000 592 | 593 | mintsystem (7.8.7) olivia; urgency=low 594 | 595 | * Test presence of Glib before using it in postinst 596 | 597 | -- Clement Lefebvre Thu, 30 May 2013 12:24:48 +0100 598 | 599 | mintsystem (7.8.6) olivia; urgency=low 600 | 601 | * Added trigger on MDM 602 | 603 | -- Clement Lefebvre Tue, 14 May 2013 23:44:04 +0100 604 | 605 | mintsystem (7.8.5) olivia; urgency=low 606 | 607 | * Added mint-md5sum nemo action 608 | 609 | -- Clement Lefebvre Fri, 10 May 2013 12:50:54 +0100 610 | 611 | mintsystem (7.8.4) olivia; urgency=low 612 | 613 | * Migrated mintfortunes to gsettings 614 | 615 | -- Clement Lefebvre Wed, 13 Mar 2013 13:47:04 +0000 616 | 617 | mintsystem (7.8.3) nadia; urgency=low 618 | 619 | * Added dns-fix and xchat-systray commands 620 | 621 | -- Clement Lefebvre Tue, 16 Oct 2012 16:36:11 +0100 622 | 623 | mintsystem (7.8.2) maya; urgency=low 624 | 625 | * Don't highlight when stdout isn't a tty (called by a script or using piped commands) 626 | 627 | -- Clement Lefebvre Fri, 07 Sep 2012 10:05:24 +0100 628 | 629 | mintsystem (7.8.1) maya; urgency=low 630 | 631 | * Switch mint-fortune to use mateconf instead of gconf 632 | 633 | -- Clement Lefebvre Wed, 09 May 2012 15:22:46 +0100 634 | 635 | mintsystem (7.8.0) lisa; urgency=low 636 | 637 | * Added support for .execute adjustments 638 | 639 | -- Clement Lefebvre Mon, 31 Oct 2011 12:38:00 +0000 640 | 641 | mintsystem (7.7.9) katya; urgency=low 642 | 643 | * Fixed unary operator bug in show_fortune check 644 | * Don't show fortunes if the default setting for it isn't set 645 | 646 | -- Clement Lefebvre Wed, 18 May 2011 12:20:00 +0000 647 | 648 | mintsystem (7.7.8) katya; urgency=low 649 | 650 | * adjusted synaptic 651 | 652 | -- Clement Lefebvre Wed, 4 May 2011 23:11:00 +0000 653 | 654 | mintsystem (7.7.7) katya; urgency=low 655 | 656 | * added aptitude in dependencies 657 | 658 | -- Clement Lefebvre Sat, 30 Apr 2011 10:57:00 +0000 659 | 660 | mintsystem (7.7.6) katya; urgency=low 661 | 662 | * apt download now fetches all dependencies 663 | 664 | -- Clement Lefebvre Fri, 15 Apr 2011 19:04:00 +0000 665 | 666 | mintsystem (7.7.5) katya; urgency=low 667 | 668 | * Katya updates 669 | * Updated Synaptic adjustment 670 | 671 | -- Clement Lefebvre Tue, 12 Apr 2011 11:02:00 +0000 672 | 673 | mintsystem (7.7.4) julia; urgency=low 674 | 675 | * Don't show fortunes if gconf says not to. 676 | 677 | -- Clement Lefebvre Fri, 18 Feb 2011 12:09:00 +0000 678 | 679 | mintsystem (7.7.3) julia; urgency=low 680 | 681 | * Carriage return added in /etc/issue 682 | 683 | -- Clement Lefebvre Fri, 18 Feb 2011 09:53:00 +0000 684 | 685 | mintsystem (7.7.2) julia; urgency=low 686 | 687 | * Removed small from cowsay. Don't highlight apt contains. 688 | 689 | -- Clement Lefebvre Mon, 04 Oct 2010 15:29:00 +0000 690 | 691 | mintsystem (7.7.1) julia; urgency=low 692 | 693 | * Added LSB tags to mintsystem init.d script 694 | 695 | -- Clement Lefebvre Sat, 25 Sep 2010 11:00:00 +0000 696 | 697 | mintsystem (7.7.0) julia; urgency=low 698 | 699 | * highlight only highlights one arg now, but more reliably and faster (using sed) 700 | * Trigger in /opt/firefox/firefox (for LMDE) 701 | 702 | -- Clement Lefebvre Sat, 25 Sep 2010 10:31:00 +0000 703 | 704 | mintsystem (7.6.9) isadora; urgency=low 705 | 706 | * Added /usr/bin/firefox to list of triggers 707 | 708 | -- Clement Lefebvre Fri, 23 Jul 2010 12:47:00 +0000 709 | 710 | mintsystem (7.6.8) isadora; urgency=low 711 | 712 | * Added dependency on fortunes-husse. 713 | 714 | -- Clement Lefebvre Fri, 9 Apr 2010 15:24:00 +0000 715 | 716 | mintsystem (7.6.7) isadora; urgency=low 717 | 718 | * Changed cat | grep to grep, and fixed a typo in the adjustment system. 719 | 720 | -- Clement Lefebvre Mon, 29 Mar 2010 14:57:00 +0000 721 | 722 | mintsystem (7.6.6) isadora; urgency=low 723 | 724 | * Added hold, unhold, held commands to apt 725 | 726 | -- Clement Lefebvre Tue, 23 Mar 2010 11:49:00 +0000 727 | 728 | mintsystem (7.6.5) helena; urgency=low 729 | 730 | * LSB DISTRIB_ID is now configurable 731 | 732 | -- Clement Lefebvre Sun, 17 Jan 2010 13:20:00 +0000 733 | 734 | mintsystem (7.6.4) helena; urgency=low 735 | 736 | * Removed CTRL+ALT+BACKSPACE tweak, now taken care of in gconf 737 | 738 | -- Clement Lefebvre Tue, 10 Nov 2009 3:51:00 +0000 739 | 740 | mintsystem (7.6.3) helena; urgency=low 741 | 742 | * Added synaptic adjustments 743 | 744 | -- Clement Lefebvre Mon, 2 Nov 2009 15:13:00 +0000 745 | 746 | mintsystem (7.6.2) helena; urgency=low 747 | 748 | * Added triggers 749 | 750 | -- Clement Lefebvre Mon, 2 Nov 2009 15:13:00 +0000 751 | 752 | mintsystem (7.6.1) helena; urgency=low 753 | 754 | * Fixed path for configobj 755 | 756 | -- Clement Lefebvre Sun, 25 Oct 2009 17:45:00 +0000 757 | 758 | mintsystem (7.6.0) helena; urgency=low 759 | 760 | * Added triggers, removed update-grub config 761 | 762 | -- Clement Lefebvre Sun, 25 Oct 2009 14:51:00 +0000 763 | 764 | mintsystem (7.5.9) helena; urgency=low 765 | 766 | * Removed splash screens, moved to mint-artwork-* 767 | 768 | -- Clement Lefebvre Sun, 25 Oct 2009 13:50:00 +0000 769 | 770 | mintsystem (7.5.8) helena; urgency=low 771 | 772 | * Adjusted mint-adjust paths 773 | 774 | -- Clement Lefebvre Thu, 22 Oct 2009 17:50:00 +0000 775 | 776 | mintsystem (7.5.7) helena; urgency=low 777 | 778 | * Moved resources to mint-common 779 | 780 | -- Clement Lefebvre Wed, 7 Oct 2009 18:07:00 +0000 781 | 782 | mintsystem (7.5.6) helena; urgency=low 783 | 784 | * Dependency on mint-common 785 | 786 | -- Clement Lefebvre Wed, 7 Oct 2009 16:20:00 +0000 787 | 788 | mintsystem (7.5.5) helena; urgency=low 789 | 790 | * Replaced dontzap solution with command line one for CTRL ALT BACKSPACE 791 | 792 | -- Clement Lefebvre Wed, 7 Oct 2009 13:46:00 +0000 793 | 794 | mintsystem (7.5.4) helena; urgency=low 795 | 796 | * Introduced /etc/linuxmint/adjustments configuration for adjustment mechanism 797 | 798 | -- Clement Lefebvre Fri, 4 Sep 2009 18:00:00 +0000 799 | 800 | mintsystem (7.5.3) helena; urgency=low 801 | 802 | * Helena build 803 | 804 | -- Clement Lefebvre Thu, 30 Jul 2009 11:20:00 +0000 805 | 806 | mintsystem (7.5.2) gloria; urgency=low 807 | 808 | * Bug fix on apt deb 809 | 810 | -- Clement Lefebvre Mon, 27 Jul 2009 16:18:00 +0000 811 | 812 | mintsystem (7.5.1) gloria; urgency=low 813 | 814 | * Bug fix: apt content mint-artwork-gnome doesn't return anything (https://bugs.launchpad.net/bugs/399280) 815 | 816 | -- Clement Lefebvre Thu, 16 Jul 2009 15:40:00 +0000 817 | 818 | mintsystem (7.5.0) gloria; urgency=low 819 | 820 | * Bug fix: splash screens aren't edition-specific (https://bugs.launchpad.net/bugs/399289) 821 | 822 | -- Clement Lefebvre Tue, 14 Jul 2009 20:48:00 +0000 823 | 824 | mintsystem (7.4.9) gloria; urgency=low 825 | 826 | * apt: Migration from bash to python 827 | * apt: Color highlighting for search, show, content, contains, version, policy, depends, rdepends 828 | * apt: Doesn't use sudo when un-necessary 829 | * apt: Improved help 830 | * apt: Added Super Cow Powers 831 | * apt: In certain cases, now deals with multiple packages, for instance "apt search firefox tomboy mozilla" now highlights all three keywords with different colors. 832 | * Took the opportunity to create a "highlight" command which colorizes keywords --> "produce_some_text | highlight keyword [more_keywords]" 833 | 834 | -- Clement Lefebvre Thu, 9 Jul 2009 15:08:00 +0000 835 | 836 | mintsystem (7.4.8) gloria; urgency=low 837 | 838 | * Added dpkg triggers for the adjustment mechanism 839 | 840 | -- Clement Lefebvre Wed, 17 Jun 2009 10:25:00 +0000 841 | 842 | mintsystem (7.4.7) gloria; urgency=low 843 | 844 | * Checks to see if dontzap is already set in xorg.conf 845 | 846 | -- Clement Lefebvre Sun, 14 Jun 2009 17:26:00 +0000 847 | 848 | mintsystem (7.4.6) gloria; urgency=low 849 | 850 | * Updated translations 851 | 852 | -- Clement Lefebvre Tue, 19 May 2009 18:48:00 +0000 853 | 854 | mintsystem (7.4.5) gloria; urgency=low 855 | 856 | * Updated translations 857 | 858 | -- Clement Lefebvre Sun, 17 May 2009 19:56:00 +0000 859 | 860 | mintsystem (7.4.4) gloria; urgency=low 861 | 862 | * Added translations 863 | 864 | -- Clement Lefebvre Sun, 17 May 2009 17:40:00 +0000 865 | 866 | mintsystem (7.4.3) gloria; urgency=low 867 | 868 | * Updated Gimp splash (same design, better quality) 869 | * Added restoration of the execute permissions on /usr/sbin/update-grub in the adjustment system 870 | 871 | -- Clement Lefebvre Wed, 13 May 2009 21:04:00 +0000 872 | 873 | mintsystem (7.4.2) gloria; urgency=low 874 | 875 | * Added checks to create global and restore dics in case /etc/linuxmint/mintSystem.conf does not exist 876 | 877 | -- Clement Lefebvre Mon, 11 May 2009 20:17:00 +0000 878 | 879 | mintsystem (7.4.1) gloria; urgency=low 880 | 881 | * Changed the way /etc/linuxmint/mintSystem.conf is read (to seamlessly add new values in case of upgrades) 882 | * Added restoration of the CTRL ALT BACKSPACE shortcut to restart X11 883 | 884 | -- Clement Lefebvre Mon, 11 May 2009 18:42:00 +0000 885 | 886 | mintsystem (7.4) gloria; urgency=low 887 | 888 | * Removed ipv6 related code -- too unstable 889 | 890 | -- Clement Lefebvre Fri, 1 May 2009 23:00:00 +0000 891 | 892 | mintsystem (7.3) gloria; urgency=low 893 | 894 | * Added IPv6 disabling capability to the adjustment system 895 | 896 | -- Clement Lefebvre Fri, 1 May 2009 18:08:00 +0000 897 | 898 | mintsystem (7.2) gloria; urgency=low 899 | 900 | * Added /usr/bin/mint-fortune and dependencies on cowsay and fortune 901 | 902 | -- Clement Lefebvre Thu, 23 Apr 2009 23:07:00 +0000 903 | 904 | mintsystem (7.1) gloria; urgency=low 905 | 906 | * Changed default OpenOffice splash screens 907 | 908 | -- Clement Lefebvre Thu, 23 Apr 2009 00:33:00 +0000 909 | 910 | mintsystem (7.0) gloria; urgency=low 911 | 912 | * Added locale folder 913 | * Added /usr/bin/mint-which-launcher 914 | 915 | -- Clement Lefebvre Wed, 22 Apr 2009 17:00:00 +0000 916 | 917 | mintsystem (6.9) gloria; urgency=low 918 | 919 | * Changed default Gimp splash 920 | 921 | -- Clement Lefebvre Tue, 21 Apr 2009 22:35:00 +0000 922 | 923 | mintsystem (6.8) gloria; urgency=low 924 | 925 | * apt policy can now accept arguments 926 | 927 | -- Clement Lefebvre Tue, 14 Apr 2009 18:56:00 +0000 928 | 929 | mintsystem (6.7) gloria; urgency=low 930 | 931 | * Added /etc/issue and /etc/issue.net to adjustment service 932 | 933 | -- Clement Lefebvre Tue, 14 Apr 2009 16:15:00 +0000 934 | 935 | mintsystem (6.6) gloria; urgency=low 936 | 937 | * Externalized release related info to new mint-info package and add a dependency on it 938 | 939 | -- Clement Lefebvre Tue, 14 Apr 2009 10:06:00 +0000 940 | 941 | mintsystem (6.5) felicia; urgency=low 942 | 943 | * Added /usr/bin/rtfm shortcut to /usr/bin/man 944 | 945 | -- Clement Lefebvre Tue, 14 Apr 2009 9:32:00 +0000 946 | 947 | mintsystem (6.4) felicia; urgency=low 948 | 949 | * Added mint-adjust service 950 | 951 | -- Clement Lefebvre Sun, 12 Apr 2009 19:25:00 +0000 952 | 953 | mintsystem (6.3) felicia; urgency=low 954 | 955 | * Added mint-apt-version and "apt version" 956 | 957 | -- Clement Lefebvre Sun, 12 Apr 2009 15:08:00 +0000 958 | 959 | mintsystem (6.2) felicia; urgency=low 960 | 961 | * Fixed apt purge 962 | * apt source doesn't use sudo anymore 963 | 964 | -- Clement Lefebvre Wed, 18 Feb 2009 20:11:00 +0000 965 | 966 | mintsystem (6.1) felicia; urgency=low 967 | 968 | * Added /usr/local/bin/mint-md5sum 969 | 970 | -- Clement Lefebvre Thu, 6 Nov 2008 18:25:00 +0000 971 | 972 | mintsystem (6.0) felicia; urgency=low 973 | 974 | * Changed version to suit Linux Mint 6 Felicia 975 | 976 | -- Clement Lefebvre Mon, 27 Oct 2008 13:09:00 +0000 977 | 978 | mintsystem (5.5) elyssa; urgency=low 979 | 980 | * Added /usr/local/bin/search 981 | * Added content and contains to apt 982 | * apt doesn't use sudo in root mode anymore 983 | 984 | -- Clement Lefebvre Mon, 6 Oct 2008 00:09:00 +0000 985 | 986 | mintsystem (5.4) elyssa; urgency=low 987 | 988 | * Added configobj.py 989 | 990 | -- Clement Lefebvre Tue, 2 Sep 2008 18:35:00 +0000 991 | 992 | mintsystem (5.3) elyssa; urgency=low 993 | 994 | * Added GPL.txt 995 | 996 | -- Clement Lefebvre Tue, 26 Aug 2008 18:39:00 +0000 997 | 998 | mintsystem (5.2) elyssa; urgency=low 999 | 1000 | * Changed versioning, first number for Mint release, second for revision (starting with 1) 1001 | * Added icon.png 1002 | * Added portals.list for mintInstall 1003 | 1004 | -- Clement Lefebvre Tue, 26 Aug 2008 18:31:00 +0000 1005 | 1006 | mintsystem (1.3) elyssa; urgency=low 1007 | 1008 | * Added apt policy 1009 | * Added apt sources 1010 | * Added apt deb 1011 | * Added apt build 1012 | * Changed apt purge to use apt-get instead of aptitude 1013 | 1014 | -- Clement Lefebvre Fri, 30 May 2008 12:17:00 +0000 1015 | 1016 | mintsystem (1.2) elyssa; urgency=low 1017 | 1018 | * Changed sources.list (Romeo becomes a section) 1019 | 1020 | -- Clement Lefebvre Mon, 19 May 2008 21:37:00 +0000 1021 | 1022 | mintsystem (1.1) elyssa; urgency=low 1023 | 1024 | * Added /usr/local/bin/apt 1025 | 1026 | -- Clement Lefebvre Thu, 1 May 2008 20:50:00 +0000 1027 | 1028 | mintsystem (1.0) elyssa; urgency=low 1029 | 1030 | * Initial release 1031 | 1032 | -- Clement Lefebvre Wed, 30 Jan 2008 22:56:00 +0000 1033 | 1034 | -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: mintsystem 2 | Section: admin 3 | Priority: optional 4 | Maintainer: Clement Lefebvre 5 | Build-Depends: debhelper (>= 9) 6 | Standards-Version: 3.9.5 7 | 8 | Package: mintsystem 9 | Architecture: all 10 | Depends: python3 (>= 3.3), 11 | perl, 12 | apt, 13 | aptitude, 14 | mint-common, 15 | mint-info, 16 | zenity, 17 | ${misc:Depends} 18 | Description: Linux Mint System Base Package 19 | Used by the desktop and other mint tools to gather 20 | information and process common system tasks. 21 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Upstream-Name: mintsystem 3 | Upstream-Contact: Clement Lefebvre 4 | Source: https://github.com/linuxmint/mintsystem 5 | 6 | Files: * 7 | Copyright: 2008-2014 Clement Lefebvre 8 | License: GPL-2.0+ 9 | This program is free software; you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation; either version 2 of the License, or 12 | (at your option) any later version. 13 | . 14 | This program is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | . 19 | You should have received a copy of the GNU General Public License 20 | along with this program. If not, see . 21 | . 22 | On Debian GNU/Linux systems, the complete text of the GNU General Public 23 | License version 2 can be found in '/usr/share/common-licenses/GPL-2'. 24 | -------------------------------------------------------------------------------- /debian/install: -------------------------------------------------------------------------------- 1 | etc 2 | usr 3 | lib 4 | -------------------------------------------------------------------------------- /debian/maintscript: -------------------------------------------------------------------------------- 1 | rm_conffile /etc/linuxmint/adjustments/10-mintsystem-synaptic.overwrite 7.9.4~ 2 | rm_conffile /etc/linuxmint/adjustments/15-mintsystem.menu 8.3.6~ 3 | rm_conffile /etc/linuxmint/adjustments/15-mintsystem.overwrite 8.3.6~ 4 | rm_conffile /etc/linuxmint/adjustments/README 8.3.6~ 5 | -------------------------------------------------------------------------------- /debian/mintsystem.lintian-overrides: -------------------------------------------------------------------------------- 1 | mintsystem: file-in-usr-local usr/local/bin/apt 2 | mintsystem: file-in-usr-local usr/local/bin/highlight-mint 3 | mintsystem: file-in-usr-local usr/local/bin/search 4 | mintsystem: dir-in-usr-local usr/local/bin/ 5 | mintsystem: package-installs-apt-preferences etc/apt/preferences.d/official-extra-repositories.pref -------------------------------------------------------------------------------- /debian/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postinst script 3 | # see: dh_installdeb(1) 4 | 5 | set -e 6 | 7 | # summary of how this script can be called: 8 | # * `configure' 9 | # * `abort-upgrade' 10 | # * `abort-remove' `in-favour' 11 | # 12 | # * `abort-deconfigure' `in-favour' 13 | # `removing' 14 | # 15 | # for details, see http://www.debian.org/doc/debian-policy/ or 16 | # the debian-policy package 17 | # 18 | 19 | case "$1" in 20 | configure) 21 | update-rc.d mintsystem defaults 22 | if which glib-compile-schemas >/dev/null 2>&1 23 | then 24 | glib-compile-schemas /usr/share/glib-2.0/schemas 25 | fi 26 | if which systemctl >/dev/null 2>&1 27 | then 28 | systemctl daemon-reload || true 29 | systemctl reenable mintsystem.service || true 30 | fi 31 | /usr/lib/linuxmint/mintsystem/mint-adjust.py 32 | ;; 33 | abort-upgrade|abort-remove|abort-deconfigure) 34 | 35 | ;; 36 | triggered) 37 | /usr/lib/linuxmint/mintsystem/mint-adjust.py 38 | ;; 39 | *) 40 | echo "postinst called with unknown argument \`$1'" >&2 41 | exit 1 42 | ;; 43 | esac 44 | 45 | # dh_installdeb will replace this with shell code automatically 46 | # generated by other debhelper scripts. 47 | 48 | #DEBHELPER# 49 | 50 | exit 0 51 | 52 | 53 | -------------------------------------------------------------------------------- /debian/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # postrm script 3 | # see: dh_installdeb(1) 4 | 5 | set -e 6 | 7 | # summary of how this script can be called: 8 | # * `remove' 9 | # * `upgrade' 10 | # * `failed-upgrade' 11 | # * `remove' `in-favour' 12 | # * `deconfigure' `in-favour' 13 | # `removing' 14 | # 15 | # for details, see http://www.debian.org/doc/debian-policy/ or 16 | # the debian-policy package 17 | 18 | 19 | case "$1" in 20 | purge|remove|upgrade|deconfigure) 21 | update-rc.d -f mintsystem remove 22 | ;; 23 | failed-upgrade) 24 | ;; 25 | *) 26 | echo "prerm called with unknown argument \`$1'" >&2 27 | exit 1 28 | ;; 29 | esac 30 | 31 | # dh_installdeb will replace this with shell code automatically 32 | # generated by other debhelper scripts. 33 | 34 | #DEBHELPER# 35 | 36 | exit 0 37 | 38 | 39 | -------------------------------------------------------------------------------- /debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | %: 4 | dh ${@} 5 | 6 | override_dh_usrlocal: 7 | # remove this override when there aren't 8 | # anymore files in /usr/local 9 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /debian/triggers: -------------------------------------------------------------------------------- 1 | interest-noawait /etc/lsb-release 2 | interest-noawait /etc/issue 3 | interest-noawait /etc/issue.net 4 | interest-noawait /usr/lib/firefox-addons/searchplugins/google.xml 5 | interest-noawait /usr/bin/firefox 6 | interest-noawait /usr/share/sounds/startup.wav 7 | interest-noawait /usr/share/system-config-printer 8 | interest-noawait /usr/share/linuxmint/adjustments 9 | interest-noawait /opt/firefox/firefox 10 | interest-noawait /usr/lib/firefox 11 | interest-noawait /usr/share/mdm/defaults.conf 12 | interest-noawait /usr/share/applications/vino-preferences.desktop 13 | interest-noawait /etc/xdg/autostart/user-dirs-update-gtk.desktop 14 | interest-noawait /etc/xdg/autostart/vino-server.desktop 15 | -------------------------------------------------------------------------------- /etc/apt/apt.conf.d/90mintsystem: -------------------------------------------------------------------------------- 1 | APT::Archives::MaxAge "7"; 2 | APT::Archives::MinAge "2"; 3 | APT::Archives::MaxSize "500"; 4 | -------------------------------------------------------------------------------- /etc/apt/preferences.d/official-extra-repositories.pref: -------------------------------------------------------------------------------- 1 | Package: * 2 | Pin: origin "build.linuxmint.com" 3 | Pin-Priority: 700 4 | -------------------------------------------------------------------------------- /etc/bash_completion.d/apt-linux-mint: -------------------------------------------------------------------------------- 1 | # 2 | # Bash completion file for Linux Mint apt utility. 3 | # 4 | 5 | have apt && 6 | _apt() 7 | { 8 | local cur opt 9 | COMPREPLY=() 10 | cur="${COMP_WORDS[COMP_CWORD]}" 11 | 12 | # Completion of commands. 13 | if [[ $COMP_CWORD == 1 ]]; then 14 | COMPREPLY=( $(compgen -W ' 15 | add-repository autoclean autopurge autoremove build build-dep changelog check clean 16 | contains content deb depends dist-upgrade download 17 | dselect-upgrade edit-sources full-upgrade held help hold install list policy purge recommends rdepends 18 | reinstall remove search show showhold source sources unhold update 19 | upgrade version --help 20 | ' -- "$cur" ) ) 21 | return 0 22 | fi 23 | 24 | # Completion of command parameters. 25 | opt="${COMP_WORDS[1]}" 26 | case $opt in 27 | # Commands which require filename. 28 | # Note: "search" command does not necessarilly require 29 | # filename, it can accept any pattern, but I put it in this 30 | # group in order to allow filename-completion for this command. 31 | "contains"|"search") 32 | _filedir 33 | return 0 34 | ;; 35 | 36 | # Commands which require .deb/.udeb file name. 37 | "deb") 38 | _filedir '?(u)deb' 39 | return 0 40 | ;; 41 | 42 | # Commands which require package name. 43 | "build"|"build-dep"|"changelog"|"depends"|"download"|"install"|"list"|\ 44 | "policy"|"recommends"|"rdepends"|"show"|"source") 45 | COMPREPLY=( $( apt-cache --no-generate pkgnames "$cur" \ 46 | 2> /dev/null ) ) 47 | return 0 48 | ;; 49 | 50 | # Commands which require name of installed package. 51 | "content"|"hold"|"purge"|"reinstall"|"remove"|"unhold"|"version"|"autopurge") 52 | if [ -f /etc/debian_version ]; then 53 | # Debian system 54 | COMPREPLY=( $( _xfunc dpkg _comp_dpkg_installed_packages $cur ) ) 55 | else 56 | # assume RPM based 57 | _xfunc rpm _rpm_installed_packages 58 | fi 59 | return 0 60 | ;; 61 | esac 62 | } && 63 | complete -F _apt apt 64 | -------------------------------------------------------------------------------- /etc/init.d/mintsystem: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: mintsystem 5 | # Required-Start: $local_fs 6 | # Required-Stop: 7 | # Default-Start: 2 3 4 5 8 | # Default-Stop: 9 | ### END INIT INFO 10 | 11 | . /lib/lsb/init-functions 12 | 13 | case $1 in 14 | start|restart|force-reload) 15 | /usr/lib/linuxmint/mintsystem/mint-adjust.py 16 | ;; 17 | stop) 18 | ;; 19 | status) 20 | exit 0 21 | ;; 22 | *) 23 | echo "Usage: $0 {start|stop|status|restart|force-reload}" >&2 24 | exit 3 25 | ;; 26 | esac 27 | 28 | exit 0 -------------------------------------------------------------------------------- /etc/sudoers.d/0pwfeedback: -------------------------------------------------------------------------------- 1 | Defaults pwfeedback 2 | -------------------------------------------------------------------------------- /lib/systemd/system/mintsystem.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Before=multi-user.target 3 | After=local-fs.target 4 | 5 | [Service] 6 | Type=simple 7 | Restart=no 8 | KillMode=process 9 | ExecStart=/etc/init.d/mintsystem start 10 | 11 | [Install] 12 | WantedBy=multi-user.target 13 | -------------------------------------------------------------------------------- /usr/bin/check_signals: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | # use as: $0 4 | 5 | use warnings; 6 | use strict; 7 | use bignum; 8 | use Config; 9 | 10 | defined $Config{sig_name} or die "Cannot find signal names in Config"; 11 | my @sigs = map { "SIG$_" } split(/ /, $Config{sig_name}); 12 | 13 | my $statfile = "/proc/$ARGV[0]/status"; 14 | 15 | open(S, "<", $statfile) or die "Cannot open status file $statfile"; 16 | 17 | while() { 18 | chomp; 19 | if (/^Sig(Blk|Ign|Cgt):\s+(\S+)/) { 20 | if (my @list = grep { oct("0x$2") & (1 << ($_ - 1)) } (1..64) ) { 21 | print "$1: " . join(", ", map { "$sigs[$_] ($_)" } @list) . "\n"; 22 | } 23 | } 24 | } 25 | 26 | close(S); 27 | -------------------------------------------------------------------------------- /usr/bin/mint-drivers: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import subprocess 4 | 5 | devices = subprocess.getoutput("lspci -n | grep 14e4:") 6 | ids = ['4311', '4312', '4313', '4315', '4727', '4328', '4329', '432a', '432b', '432c', '432d', '4365', '4353', '4357', '4358', '4359', '4331', '43a0'] 7 | 8 | for id in ids: 9 | pci_id = "14e4:%s" % id 10 | 11 | if pci_id in devices: 12 | print("broadcom-sta-dkms") 13 | -------------------------------------------------------------------------------- /usr/bin/rtfm: -------------------------------------------------------------------------------- 1 | man -------------------------------------------------------------------------------- /usr/lib/linuxmint/mintsystem/mint-adjust.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | import sys 5 | import time 6 | import datetime 7 | import fileinput 8 | import filecmp 9 | import configparser 10 | import glob 11 | 12 | TIMESTAMPS = "/var/log/mintsystem.timestamps" 13 | 14 | 15 | class MintSystem(): 16 | 17 | def __init__(self): 18 | self.start_time = datetime.datetime.now() 19 | self.logfile = open("/var/log/mintsystem.log", "w") 20 | self.time_log("mintSystem started") 21 | self.executed = [] 22 | self.overwritten = [] 23 | self.skipped = [] 24 | self.edited = [] 25 | self.original_timestamps = {} 26 | self.timestamps = {} 27 | self.timestamps_changed = False 28 | self.read_timestamps() 29 | 30 | def time_log(self, string): 31 | self.log("%s - %s" % (time.strftime("%Y-%m-%d %H:%M:%S"), string)) 32 | 33 | def log(self, string): 34 | self.logfile.writelines("%s\n" % string) 35 | 36 | def quit(self): 37 | stop_time = datetime.datetime.now() 38 | self.log("Execution time: %s" % (stop_time - self.start_time)) 39 | self.logfile.flush() 40 | self.logfile.close() 41 | sys.exit(0) 42 | 43 | def read_timestamps(self): 44 | if os.path.exists(TIMESTAMPS): 45 | filehandle = open(TIMESTAMPS) 46 | for line in filehandle: 47 | line = line.strip() 48 | line_items = line.split() 49 | if len(line_items) == 2: 50 | self.original_timestamps[line_items[0]] = line_items[1] 51 | self.timestamps[line_items[0]] = line_items[1] 52 | 53 | def write_timestamps(self): 54 | filehandle = open(TIMESTAMPS, "w") 55 | for filename in sorted(self.timestamps.keys()): 56 | line = "%s %s\n" % (filename, self.timestamps[filename]) 57 | filehandle.write(line) 58 | filehandle.close() 59 | 60 | def has_changed(self, filename, collection, description): 61 | if not os.path.exists(filename): 62 | return False 63 | 64 | timestamp = os.stat(filename).st_mtime 65 | if (filename not in self.original_timestamps): 66 | has_changed = True 67 | else: 68 | has_changed = (self.original_timestamps[filename] != str(timestamp)) 69 | 70 | if (has_changed): 71 | collection.append("%s (%s)" % (filename, description)) 72 | else: 73 | self.skipped.append("%s (%s)" % (filename, description)) 74 | return has_changed 75 | 76 | def update_timestamp(self, filename): 77 | timestamp = os.stat(filename).st_mtime 78 | self.timestamps[filename] = timestamp 79 | self.timestamps_changed = True 80 | 81 | def replace_file(self, source, destination): 82 | if os.path.exists(source) and os.path.exists(destination): 83 | if (destination not in self.overwritten) and (destination not in self.skipped): 84 | if filecmp.cmp(source, destination): 85 | self.skipped.append(destination) 86 | else: 87 | self.overwritten.append(destination) 88 | os.system("cp " + source + " " + destination) 89 | 90 | def adjust(self): 91 | try: 92 | # Read configuration 93 | try: 94 | config = configparser.RawConfigParser() 95 | config.read('/etc/linuxmint/mintSystem.conf') 96 | self.enabled = (config.get('global', 'enabled') == "True") 97 | except: 98 | config = configparser.RawConfigParser() 99 | config.add_section('global') 100 | config.set('global', 'enabled', 'True') 101 | config.add_section('restore') 102 | with open('/etc/linuxmint/mintSystem.conf', 'w') as configfile: 103 | config.write(configfile) 104 | self.enabled = True 105 | 106 | # Exit if disabled 107 | if not self.enabled: 108 | self.log("Disabled - Exited") 109 | self.quit() 110 | 111 | adjustment_directory = "/usr/share/linuxmint/adjustments/" 112 | 113 | # Perform file execution adjustments 114 | for filename in os.listdir(adjustment_directory): 115 | basename, extension = os.path.splitext(filename) 116 | if extension == ".execute": 117 | full_path = os.path.join(adjustment_directory, filename) 118 | os.system(full_path) 119 | self.executed.append(full_path) 120 | 121 | # Perform file overwriting adjustments 122 | array_preserves = [] 123 | if os.path.exists(adjustment_directory): 124 | for filename in os.listdir(adjustment_directory): 125 | basename, extension = os.path.splitext(filename) 126 | if extension == ".preserve": 127 | filehandle = open(os.path.join(adjustment_directory, filename)) 128 | for line in filehandle: 129 | line = line.strip() 130 | if (line): 131 | array_preserves.append(line) 132 | filehandle.close() 133 | 134 | overwrites = {} 135 | if os.path.exists(adjustment_directory): 136 | for filename in sorted(os.listdir(adjustment_directory)): 137 | basename, extension = os.path.splitext(filename) 138 | if extension == ".overwrite": 139 | filehandle = open(os.path.join(adjustment_directory, filename)) 140 | for line in filehandle: 141 | line = line.strip() 142 | line_items = line.split() 143 | if len(line_items) == 2: 144 | source, destination = line.split() 145 | if destination not in array_preserves: 146 | overwrites[destination] = source 147 | filehandle.close() 148 | 149 | for key in overwrites.keys(): 150 | source = overwrites[key] 151 | destination = key 152 | if os.path.exists(source): 153 | if "*" not in destination: 154 | self.replace_file(source, destination) 155 | else: 156 | # Wildcard destination, find all possible matching destinations 157 | for matching_destination in glob.glob(destination): 158 | self.replace_file(source, matching_destination) 159 | 160 | # Perform menu adjustments 161 | for filename in os.listdir(adjustment_directory): 162 | basename, extension = os.path.splitext(filename) 163 | if extension == ".menu": 164 | filehandle = open(os.path.join(adjustment_directory, filename)) 165 | for line in filehandle: 166 | line = line.strip() 167 | line_items = line.split() 168 | if len(line_items) > 0: 169 | if line_items[0] == "hide": 170 | if len(line_items) == 2: 171 | action, desktop_file = line.split() 172 | if self.has_changed(desktop_file, self.edited, "hide"): 173 | os.system("grep -q -F 'NoDisplay=true' %s || echo '\nNoDisplay=true' >> %s" % (desktop_file, desktop_file)) 174 | self.update_timestamp(desktop_file) 175 | elif line_items[0] == "show": 176 | if len(line_items) == 2: 177 | action, desktop_file = line.split() 178 | if self.has_changed(desktop_file, self.edited, "show"): 179 | os.system("sed -i -e '/^NoDisplay/d' \"%s\"" % desktop_file) 180 | self.update_timestamp(desktop_file) 181 | elif line_items[0] == "categories": 182 | if len(line_items) == 3: 183 | action, desktop_file, categories = line.split() 184 | if self.has_changed(desktop_file, self.edited, "categories"): 185 | categories = categories.strip() 186 | os.system("sed -i -e 's/Categories=.*/Categories=%s/g' %s" % (categories, desktop_file)) 187 | self.update_timestamp(desktop_file) 188 | elif line_items[0] == "onlyshowin": 189 | if len(line_items) == 3: 190 | action, desktop_file, onlyshowins = line.split() 191 | if self.has_changed(desktop_file, self.edited, "onlyshowin"): 192 | onlyshowins = onlyshowins.strip() 193 | os.system("sed -i -e 's/OnlyShowIn=.*/OnlyShowIn=%s/g' %s" % (onlyshowins, desktop_file)) 194 | self.update_timestamp(desktop_file) 195 | elif line_items[0] == "exec": 196 | if len(line_items) >= 3: 197 | action, desktop_file, executable = line.split(' ', 2) 198 | if self.has_changed(desktop_file, self.edited, "exec"): 199 | executable = executable.strip() 200 | found_exec = False 201 | for desktop_line in fileinput.input(desktop_file, inplace=True): 202 | if desktop_line.startswith("Exec=") and not found_exec: 203 | found_exec = True 204 | desktop_line = "Exec=%s" % executable 205 | print (desktop_line.strip()) 206 | self.update_timestamp(desktop_file) 207 | elif line_items[0] == "rename": 208 | if len(line_items) == 3: 209 | action, desktop_file, names_file = line.split() 210 | names_file = names_file.strip() 211 | if os.path.exists(names_file) and os.path.exists(desktop_file) and (self.has_changed(desktop_file, self.edited, "name") or self.has_changed(names_file, self.edited, "name")): 212 | # remove all existing names, generic names, comments 213 | os.system("sed -i -e '/^Name/d' -e '/^GenericName/d' -e '/^Comment/d' \"%s\"" % desktop_file) 214 | # add provided ones 215 | os.system("cat \"%s\" >> \"%s\"" % (names_file, desktop_file)) 216 | self.update_timestamp(desktop_file) 217 | self.update_timestamp(names_file) 218 | filehandle.close() 219 | 220 | self.log("Executed:") 221 | for filename in sorted(self.executed): 222 | self.log(" %s" % filename) 223 | 224 | self.log("Replaced:") 225 | for filename in sorted(self.overwritten): 226 | self.log(" %s" % filename) 227 | 228 | self.log("Edited:") 229 | for filename in sorted(self.edited): 230 | self.log(" %s" % filename) 231 | 232 | self.log("Skipped:") 233 | for filename in sorted(self.skipped): 234 | self.log(" %s" % filename) 235 | 236 | if self.timestamps_changed: 237 | self.write_timestamps() 238 | 239 | except Exception as detail: 240 | print (detail) 241 | self.log(detail) 242 | 243 | mintsystem = MintSystem() 244 | mintsystem.adjust() 245 | mintsystem.quit() 246 | -------------------------------------------------------------------------------- /usr/lib/linuxmint/mintsystem/mint-apt-download.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import apt 4 | import sys 5 | import subprocess 6 | import os 7 | 8 | if __name__ == "__main__": 9 | if len(sys.argv) == 2: 10 | package_name = sys.argv[1] 11 | cache = apt.Cache() 12 | 13 | # Update the cache first 14 | subprocess.call(["/usr/local/bin/apt", "update"]) 15 | print ("") 16 | 17 | if package_name not in cache: 18 | print("Error: package %s not found in APT cache!" % package_name) 19 | sys.exit(1) 20 | 21 | package = cache[package_name] 22 | if package.is_installed: 23 | os.system("/usr/bin/apt download %s" % package.name) 24 | print("") 25 | print("The package %s is already installed. Its deb file was downloaded in the current directory." % package.name) 26 | else: 27 | subprocess.call(["mkdir", "-p", package.name]) 28 | os.chdir(package.name) 29 | os.system("rm -rf *.deb") 30 | os.system("LC_ALL=C apt-get install --dry-run %s | grep ^Inst | awk {'print $2;'} | xargs apt-get download " % package.name) 31 | os.system("cp /usr/share/linuxmint/mintsystem/apt/install ./") 32 | os.system("chmod a+rx ./install") 33 | os.chdir("..") 34 | os.system("tar cvf %s.tar %s/ >/dev/null" % (package.name, package.name)) 35 | os.system("gzip %s.tar" % package.name) 36 | os.system("rm -rf '%s'" % package.name) 37 | print("") 38 | print("The packages were downloaded into %s.tar.gz. This archive contains all the packages necessary for an offline installation." % package.name) 39 | 40 | else: 41 | print("Usage: apt download [package]") 42 | sys.exit(1) 43 | -------------------------------------------------------------------------------- /usr/lib/linuxmint/mintsystem/mint-apt-recommends.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import apt 4 | import sys 5 | import subprocess 6 | 7 | class RecommendsFinder: 8 | 9 | def __init__(self, cache, package): 10 | self.cache = cache 11 | self.package = package 12 | self.missing_recommends = [] 13 | output = subprocess.getoutput("aptitude search '?broken-reverse-recommends(?installed)' | awk {'print $2;'}") 14 | for line in output.split("\n"): 15 | line = line.strip() 16 | self.missing_recommends.append(line) 17 | 18 | self.found_missing_recommends = [] 19 | self.already_looked_at = [] 20 | 21 | self.get_recommends(self.package, 1) 22 | 23 | def get_recommends(self, package, level): 24 | if package.name not in self.already_looked_at: 25 | 26 | # Uncomment this to debug ;) 27 | # prefix = "" 28 | # for i in range(level): 29 | # prefix = " %s" % prefix 30 | # print (prefix, package.name) 31 | 32 | self.already_looked_at.append(package.name) 33 | if package.is_installed: 34 | pkg = package.installed 35 | else: 36 | pkg = package.candidate 37 | # go through the recommends 38 | for recommend in pkg.recommends: 39 | for base_rec in recommend.or_dependencies: 40 | if base_rec.name in self.missing_recommends and base_rec.name not in self.found_missing_recommends: 41 | self.found_missing_recommends.append(base_rec.name) 42 | if base_rec.name in self.cache: 43 | rec_pkg = self.cache[base_rec.name] 44 | self.get_recommends(rec_pkg, level + 1) 45 | # go through the dependencies 46 | for dep in pkg.dependencies: 47 | for base_dep in dep.or_dependencies: 48 | dep_name = base_dep.name 49 | if dep_name in self.cache: 50 | dep_pkg = self.cache[dep_name] 51 | # if the package is installed but the dep isn't, ignore it (it means another dep honored the dependency) 52 | if package.is_installed and not dep_pkg.is_installed: 53 | continue 54 | # If the dependency is missing but is part of an OR dependency, ignore it 55 | # (it means another package honors the OR dependency) 56 | if not package.is_installed and len(dep.or_dependencies) > 1: 57 | continue 58 | self.get_recommends(dep_pkg, level + 1) 59 | 60 | if __name__ == "__main__": 61 | if len(sys.argv) == 2: 62 | package_name = sys.argv[1] 63 | cache = apt.Cache() 64 | if package_name in cache: 65 | package = cache[package_name] 66 | finder = RecommendsFinder(cache, package) 67 | missing_recommends = sorted(finder.found_missing_recommends) 68 | print("") 69 | if len(missing_recommends) > 0: 70 | print("The following missing recommended packages were found for %s:\n" % package_name) 71 | for missing in missing_recommends: 72 | print(" %s" % missing) 73 | print("") 74 | print("You can install them by typing the following command:") 75 | print("") 76 | print(" apt install --install-recommends %s" % " ".join(missing_recommends)) 77 | else: 78 | print("No missing recommended packages were found for %s" % package_name) 79 | print("") 80 | else: 81 | print("Error: package %s not found in APT cache!" % package_name) 82 | sys.exit(1) 83 | 84 | else: 85 | print("Usage: apt recommends [package]") 86 | sys.exit(1) 87 | -------------------------------------------------------------------------------- /usr/local/bin/apt: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import sys 4 | import os 5 | import subprocess 6 | import shlex 7 | import shutil 8 | 9 | def usage(): 10 | print(""" 11 | This is the Linux Mint "apt" command. 12 | 13 | This commands acts as a wrapper for the APT package manager and many other useful tools such as apt-get, apt-cache, apt-mark, dpkg, aptitude...etc. 14 | 15 | It is installed in /usr/local/bin/apt. To use the upstream apt command directly type /usr/bin/apt. 16 | 17 | Usage: apt command [options] 18 | apt help command [options] 19 | 20 | Commands: 21 | add-repository - Add entries to apt sources.list 22 | autoclean - Erase cache for packages no longer available 23 | autopurge - Erase system-wide config files left by removed packages 24 | autoremove - Remove dependency packages no longer required 25 | build - Build binary or source packages from sources 26 | build-dep - Configure build-dependencies for source packages 27 | changelog - View a package's changelog 28 | check - Verify there are no broken dependencies 29 | clean - Erase downloaded archive files 30 | contains - List packages containing a file 31 | content - List files contained in and installed by a package(s) 32 | deb - Install a local .deb package 33 | depends - Show package dependency information 34 | dist-upgrade - Fully upgrade the system by allowing other package changes 35 | download - Download packages to the current working directory 36 | edit-sources - Edit /etc/apt/sources.list with your preferred text editor 37 | dselect-upgrade - Follow dselect selections 38 | full-upgrade - Same as 'dist-upgrade' 39 | held - List all held packages 40 | help - Show help for a command 41 | hold - Hold a package 42 | install - Install and/or upgrade packages 43 | list - List packages handled by the system (e.g., installed) 44 | policy - Show policy settings 45 | purge - Remove packages and their system-wide configuration files 46 | recommends - List missing recommended packages for a particular package 47 | rdepends - Show reverse dependency information for a package 48 | reinstall - Reinstall packages or install if not yet installed 49 | remove - Remove packages 50 | search - Search for a package by name and/or expression 51 | show - Display detailed information about a package 52 | showhold - Same as 'held' 53 | showsrc - Display source package records matching the given package 54 | source - Download source archives 55 | sources - Same as 'edit-sources' 56 | unhold - Unhold a package 57 | update - Download lists of new/upgradable packages 58 | upgrade - Perform a safe upgrade 59 | version - Show the installed version of a package 60 | """) 61 | 62 | sys.exit(1) 63 | 64 | aliases = { 65 | "dist-upgrade": "full-upgrade", 66 | "sources": "edit-sources", 67 | "held": "showhold" 68 | } 69 | 70 | if len(sys.argv) < 2: 71 | usage() 72 | 73 | argcommand = sys.argv[1] 74 | argoptions = sys.argv[2:] 75 | 76 | for command in ["install", "remove", "update", "clean"]: 77 | if argcommand.startswith("-") and command in argoptions: 78 | while argcommand != command: 79 | temp = argoptions[0] 80 | for i in range(1, len(argoptions)): 81 | argoptions[i-1] = argoptions[i] 82 | argoptions[len(argoptions)-1] = argcommand 83 | argcommand = temp 84 | 85 | command = "" 86 | 87 | show_help = False 88 | sort = False 89 | highlight = False 90 | 91 | if argcommand == "help": 92 | if len(sys.argv) < 3: 93 | usage() 94 | show_help = True 95 | argcommand = sys.argv[2] 96 | argoptions = sys.argv[3:] 97 | 98 | if argcommand in aliases.keys(): 99 | argcommand = aliases[argcommand] 100 | 101 | if argcommand in ("autoremove", "list", "show", "install", "remove", "purge", "update", "upgrade", "full-upgrade", "edit-sources", "showsrc", "autopurge"): 102 | # apt 103 | command = ["/usr/bin/apt", argcommand] + argoptions 104 | elif argcommand in ("clean", "dselect-upgrade", "build-dep", "check", "autoclean", "source", "moo"): 105 | # apt-get 106 | command = ["apt-get", argcommand] + argoptions 107 | elif argcommand in ("reinstall", ): 108 | # aptitude 109 | command = ["aptitude", argcommand] + argoptions 110 | elif argcommand in ("stats", "depends", "rdepends", "policy"): 111 | # apt-cache 112 | command = ["apt-cache", argcommand] + argoptions 113 | elif argcommand in ("changelog", ): 114 | if os.path.exists("/usr/lib/python3/dist-packages/mintcommon/apt_changelog.py"): 115 | command = ["/usr/lib/python3/dist-packages/mintcommon/apt_changelog.py"] + argoptions 116 | else: 117 | command = ["aptitude", argcommand] + argoptions 118 | elif argcommand in ("recommends", ): 119 | command = ["/usr/lib/linuxmint/mintsystem/mint-apt-recommends.py"] + argoptions 120 | elif argcommand in ("showhold", "hold", "unhold"): 121 | # apt-mark 122 | command = ["apt-mark", argcommand] + argoptions 123 | elif argcommand in ("markauto", "markmanual"): 124 | # apt-mark 125 | command = ["apt-mark", argcommand[4:]] + argoptions 126 | elif argcommand == "contains": 127 | command = ["dpkg", "-S"] + argoptions 128 | elif argcommand == "content": 129 | command = ["dpkg", "-L"] + argoptions 130 | elif argcommand == "deb": 131 | command = ["dpkg", "-i"] + argoptions 132 | elif argcommand == "build": 133 | command = ["dpkg-buildpackage"] + argoptions 134 | elif argcommand == "version": 135 | command = ["dpkg-buildpackage"] + argoptions 136 | try: 137 | version = subprocess.check_output("dpkg-query -f '${Version}' -W %s 2>/dev/null" % shlex.quote(" ".join(argoptions)), shell=True).decode("UTF-8") 138 | print(version) 139 | except: 140 | pass 141 | sys.exit(0) 142 | elif argcommand == "download": 143 | command = ["/usr/lib/linuxmint/mintsystem/mint-apt-download.py"] + argoptions 144 | elif argcommand == "add-repository": 145 | command = ["add-apt-repository"] + argoptions 146 | elif argcommand == "search": 147 | columns = 80 148 | if sys.stdin.isatty(): 149 | columns, rows = shutil.get_terminal_size(fallback = (80, 24)) 150 | command = ["aptitude", "-w", str(columns), argcommand] + argoptions 151 | else: 152 | usage() 153 | sys.exit(1) 154 | 155 | # Sudo prefix, unless simulating an applicable command 156 | if os.getuid() != 0: 157 | if argcommand in ("autoremove", "install", "remove", "purge", "update", "upgrade", "full-upgrade", "edit-sources", "clean", "dselect-upgrade", "build-dep", "check", "autoclean", "reinstall", "deb", "hold", "unhold", "add-repository", "markauto", "markmanual", "autopurge"): 158 | # The above commands for which simulating is applicable 159 | simoptfound = False 160 | if argcommand in ("autoremove", "install", "remove", "purge", "upgrade", "full-upgrade", "clean", "dselect-upgrade", "build-dep", "check", "autoclean", "reinstall"): 161 | for simarg in ('-s', '--simulate', '--just-print', '--dry-run', '--recon', '--no-act'): 162 | if simarg in argoptions: 163 | simoptfound = True 164 | 165 | if not simoptfound: 166 | command = ["sudo"] + command 167 | 168 | # Color highlighting 169 | if argcommand in ("content", "version", "policy", "depends", "rdepends", "search") and len(argoptions) >= 1: 170 | highlight = True 171 | 172 | # Sorting 173 | if argcommand in ("content", "contains"): 174 | sort = True 175 | 176 | if show_help: 177 | print("\"apt " + argcommand + " " + " ".join(argoptions) + "\" is equivalent to \"" + " ".join(command) + "\"") 178 | else: 179 | try: 180 | if sort and highlight: 181 | ps1 = subprocess.Popen(command, stdout=subprocess.PIPE) 182 | ps2 = subprocess.Popen("sort", stdin=ps1.stdout, stdout=subprocess.PIPE) 183 | ps3 = subprocess.Popen(["highlight-mint"] + argoptions, stdin=ps2.stdout) 184 | ps3.wait() 185 | elif sort: 186 | ps1 = subprocess.Popen(command, stdout=subprocess.PIPE) 187 | ps2 = subprocess.Popen("sort", stdin=ps1.stdout) 188 | ps2.wait() 189 | elif highlight: 190 | ps1 = subprocess.Popen(command, stdout=subprocess.PIPE) 191 | ps2 = subprocess.Popen(["highlight-mint"] + argoptions, stdin=ps1.stdout) 192 | ps2.wait() 193 | else: 194 | return_code = subprocess.call(command) 195 | sys.exit(return_code) 196 | except KeyboardInterrupt: 197 | pass 198 | -------------------------------------------------------------------------------- /usr/local/bin/highlight-mint: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Don't try to add coloring escape characters if they're not going to 4 | # be understood. 5 | if ! test -t 1 || test $# -eq 0; then 6 | cat 7 | return 8 | fi 9 | 10 | sed "s/\($1\)/\x1b[31m\\1\x1b[39m/g" 11 | -------------------------------------------------------------------------------- /usr/local/bin/search: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function usage 4 | { 5 | echo """ 6 | Usage: 7 | 8 | To search for something simply use 'search for': 9 | 10 | search for [keyword] 11 | 12 | You can restrict the search to a particular path by adding 'in [path]': 13 | 14 | search for [keyword] in [path] 15 | 16 | The following options are also supported: 17 | 18 | -c | --case-sensitive 19 | -s | --show-filenames-only 20 | 21 | Examples: 22 | 23 | search for keyword in ./ 24 | 25 | search in ../ for Keyword --case-sensitive 26 | 27 | search -s in ../ for keyword 28 | """ 29 | } 30 | 31 | directory=. 32 | case=i 33 | verbose=H 34 | while [ "$1" != "" ]; do 35 | case $1 in 36 | for | -f | --for ) 37 | shift 38 | text=$1 39 | ;; 40 | in | --in | -i ) 41 | shift 42 | directory=$1 43 | ;; 44 | -h | --help ) 45 | usage 46 | exit 47 | ;; 48 | -c | --case-sensitive ) 49 | case= 50 | ;; 51 | -s | --show-filenames-only ) 52 | verbose=l 53 | ;; 54 | * ) 55 | usage 56 | exit 1 57 | esac 58 | shift 59 | done 60 | 61 | if [ "$directory" == "" -o "$text" == "" ]; then 62 | usage 63 | exit 1 64 | fi 65 | 66 | GREP_COLORS='fn=94' find $directory -type f -exec grep -$case$verbose "$text" --color=auto -n {} \; 67 | -------------------------------------------------------------------------------- /usr/share/glib-2.0/schemas/com.linuxmint.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | "marco-composite" 6 | 7 | 8 | 9 | 10 | "xfwm4-composite" 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /usr/share/linuxmint/adjustments/15-mintsystem.menu: -------------------------------------------------------------------------------- 1 | exec /usr/share/applications/steam.desktop sh -c 'STEAM_FRAME_FORCE_CLOSE=1 steam %U' 2 | -------------------------------------------------------------------------------- /usr/share/linuxmint/adjustments/15-mintsystem.overwrite: -------------------------------------------------------------------------------- 1 | /usr/share/linuxmint/mintsystem/apt/official-package-repositories.pref /etc/apt/preferences.d/official-package-repositories.pref 2 | 3 | -------------------------------------------------------------------------------- /usr/share/linuxmint/adjustments/20-apt-set-recommends.execute: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os 4 | 5 | FLAG_DIR = "/var/lib/linuxmint/mintsystem" 6 | FLAG_FILE = os.path.join(FLAG_DIR, "set-apt-recommends.flag") 7 | RECOMMENDS_FILE = "/etc/apt/apt.conf.d/00recommends" 8 | SYNAPTIC_FILE = "/etc/apt/apt.conf.d/99synaptic" 9 | 10 | if not os.path.exists(FLAG_DIR): 11 | os.system("mkdir -p %s" % FLAG_DIR) 12 | 13 | if not os.path.exists(FLAG_FILE): 14 | with open(FLAG_FILE, "w") as flag_file: 15 | # Remove the APT Recommends file 16 | if os.path.exists(RECOMMENDS_FILE): 17 | os.system("rm %s" % RECOMMENDS_FILE) 18 | flag_file.write("Removed %s\n" % RECOMMENDS_FILE) 19 | # Reset the synaptic configuration for recommends 20 | if os.path.exists(SYNAPTIC_FILE): 21 | outlines = [] 22 | with open(SYNAPTIC_FILE, "r") as synaptic_file: 23 | for line in synaptic_file: 24 | if "APT::Install-Recommends" in line: 25 | line = line.replace("false", "true") 26 | outlines.append(line) 27 | with open(SYNAPTIC_FILE, "w") as synaptic_file: 28 | for line in outlines: 29 | synaptic_file.write(line) 30 | flag_file.write("Set configuration in %s\n" % SYNAPTIC_FILE) 31 | # Restart packagekit 32 | os.system("service packagekit restart") 33 | -------------------------------------------------------------------------------- /usr/share/linuxmint/adjustments/README: -------------------------------------------------------------------------------- 1 | .overwrite files define files which are to be overwritten. Each line in these files trigger the overwriting of the destination by the source, with the line following the format: 2 | 3 | source destination 4 | 5 | .overwrites files are read by alphabetical order and all overwritings are done in the end. If a destination appears more than once, only its last occurence is taken into account. 6 | 7 | .preserve files are read at the beginning. They can contain a list of destinations (one by line). Each destination appearing in a .preserve file doesn't get overwriten, whether or not it appears in .overwrites files. 8 | -------------------------------------------------------------------------------- /usr/share/linuxmint/mintsystem/apt/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | import os 3 | import sys 4 | 5 | curr_dir = os.getcwd() 6 | 7 | if os.getuid() != 0: 8 | print("Call this script with sudo: `sudo ./install`.") 9 | sys.exit(1) 10 | 11 | 12 | with open("/etc/apt/sources.list.d/local.list", "w") as outfile: 13 | print(f"deb [trusted=yes] file://{curr_dir} ./", file=outfile) 14 | 15 | os.system("dpkg-scanpackages . /dev/null > Packages") 16 | os.system("apt-get update") 17 | os.system("apt install mint-meta-codecs") 18 | -------------------------------------------------------------------------------- /usr/share/linuxmint/mintsystem/apt/official-package-repositories.pref: -------------------------------------------------------------------------------- 1 | Package: * 2 | Pin: release o=linuxmint,c=upstream 3 | Pin-Priority: 700 4 | -------------------------------------------------------------------------------- /usr/share/man/man1/rtfm.1.gz: -------------------------------------------------------------------------------- 1 | man.1.gz --------------------------------------------------------------------------------