@@ -10,6 +10,30 @@ upgrading apps.
1010
1111![ Screenshot] ( https://github.com/k9spud/appswipe/assets/39664841/754e807d-4e57-457e-8d54-554d38e8a070 )
1212
13+ What's New in v1.1.57?
14+ ======================
15+ Dependencies are now displayed for packages that haven't been installed
16+ yet, thanks to the information in repo metadata caches. Even better,
17+ App Swipe now does lookups on each dependency for an uninstalled package to
18+ determine what other packages you need to install. These unsatisfied
19+ dependencies show up highlighted in red.
20+
21+ Previously, the code for updating the internal SQLite database after
22+ installing/upgrading a package did not update the total installed disk
23+ space used by the package. Now we update the database with the size of the
24+ installed package.
25+
26+ Auto-keyword unmasking has been refactored. We no longer sudo a shell script
27+ to append to /etc/portage/package.accept_keyword/appswipe.tmp. Instead, we
28+ require the user to set up such a file and give it write permissions for
29+ so that sudo/doas is not required. App Swipe now does some checking to try
30+ to avoid adding accept_keyword entries for packages that have already been
31+ keyword unmasked so that this file doesn't get bloated as quickly.
32+
33+ Right click "List files owned" has been removed. Instead, a link on the app
34+ view page for the installed size can be used. This reduces the number
35+ of clicks needed to get to the installed files list.
36+
1337Help Get the Word Out
1438=====================
1539
@@ -61,6 +85,107 @@ emerge app-portage/appswipe
6185If all went well, you can now run the ` appswipe ` program from your normal
6286user-level account.
6387
88+ Root Privileges
89+ ================
90+ Do not run App Swipe as 'root.' For searching and browsing your local
91+ repository files, App Swipe never uses any elevated privileges. Only
92+ when you attempt to make system wide changes (install/upgrade/uninstall/etc)
93+ are elevated permissions necessary.
94+
95+ In order to execute ` emerge ` and other tools with elevated permissions,
96+ App Swipe will either use the ` doas ` or ` sudo ` command (whichever is
97+ installed on your system). If you've already got one of these configured to
98+ let you run commands as root, you probably don't need to do any additional
99+ configuration. However, if you want a more fine grained configuration, the
100+ following may be useful:
101+
102+ Example ` doas ` configuration
103+ ----------------------------
104+ When using [ doas] ( https://wiki.gentoo.org/wiki/Doas ) , you could add the
105+ following to ` /etc/doas.conf ` (substitute the username you run App Swipe
106+ under for USER):
107+
108+ ``` console
109+ permit USER cmd /usr/bin/emerge
110+ permit USER cmd /usr/bin/ebuild
111+ permit USER cmd /usr/sbin/dispatch-conf
112+ ```
113+
114+ Example ` sudo ` configuration
115+ ----------------------------
116+ When using [ sudo] ( https://wiki.gentoo.org/wiki/Sudo ) , you could add the
117+ following using the ` visudo ` command (substitute the username you
118+ run App Swipe under for USER):
119+
120+ ``` console
121+ USER localhost = /usr/bin/emerge
122+ USER localhost = /usr/bin/ebuild
123+ USER localhost = /usr/sbin/dispatch-conf ""
124+ ```
125+
126+ Using App Swipe
127+ ===============
128+
129+ The first thing App Swipe does is scrape up all the scattered data about
130+ installed packages from ` /var/db/pkg ` and packages available in repos
131+ at ` /var/db/repos ` . This data is inserted into a
132+ [ SQLite] ( https://www.sqlite.org/ ) database that is stored at
133+ ` $HOME/.AppSwipe/AppSwipe.db ` .
134+
135+ From that point on, you can do searches and browse your portage repos
136+ at blazing speed, thanks to the underlying SQLite database. As you install,
137+ upgrade, etc, App Swipe attempts to keep the SQLite database up-to-date,
138+ but this is currently not always perfect. If an emerge operation pulls in
139+ additional dependencies, for example, App Swipe currently has no way of
140+ knowing about these extra changes, so you may have to manually trigger
141+ a ` Reload Database ` operation from time to time, to bring App Swipe's
142+ internal database back up to matching what's really in your system at
143+ the moment.
144+
145+ Using the ` View Updates ` page
146+ -----------------------------
147+
148+ The ` View Updates ` page features a list of all potentionally upgradable
149+ packages that are currently installed on your system. The ` Upgrade ` link
150+ on this page lets you emerge all the upgradable packages that App Swipe
151+ shows here. This is similar to ` Update World ` , except App Swipe doesn't burn
152+ a bunch of CPU cycles determining which package dependencies descend from
153+ your @world list like emerge does. Instead, it lists any package
154+ already installed on your system that could be upgraded to a newer version.
155+
156+ The ` View Updates ` URL input box supports filters. Let's say you only want
157+ the subset of upgradable packages that contain the word ` qt ` for example.
158+ The URL ` update:qt ` will let you see only those packages, and the ` Fetch `
159+ or ` Upgrade ` links on this filtered page will be limited to only fetching
160+ or upgrading the ` qt ` subset as well.
161+
162+ Negative filters are supported. Let's say you want to upgrade Qt packages,
163+ but you want to avoid ` qtwebengine ` for now (because that one is * huge* and
164+ takes * forever* ). You could simply use the URL
165+ ` update:qt -qtwebengine `
166+
167+ ![ Filtering updates] ( https://github.com/k9spud/appswipe/assets/39664841/71df9665-d329-4db0-b6e1-d3b8238a0662 )
168+
169+ Automatic Keyword Unmasking
170+ ---------------------------
171+
172+ App Swipe can automatically keyword unmask packages when you attempt to
173+ fetch or install a "testing" or "unsupported" (non-keyworded) release.
174+
175+ To enable this feature, create an accept_keywords file with
176+ writable permissions for your username like this:
177+
178+ ``` console
179+ cd /etc/portage/package.accept_keywords
180+ touch appswipe.tmp
181+ chown USER:USER appswipe.tmp
182+ chmod 0644 appswipe.tmp
183+ ```
184+ This feature may have security implications; it's use is optional.
185+ If you don't provide user write permission to the file
186+ ` /etc/portage/package.accept_keywords/appswipe.tmp ` , App Swipe will
187+ silently skip doing automatic keyword unmasking.
188+
64189Keyboard Shortcuts
65190==================
66191
@@ -111,103 +236,22 @@ way to close a tab.
111236
112237` ALT-F ` Opens the app menu.
113238
114- What's New in v1.1.52?
115- ======================
116-
117- Split off database reload code into a separate command line program,
118- ` appswipebackend ` . Going forward, more and more code should be moved
119- into the backend so that only the bare essential code needed to keep the
120- GUI displayed is kept in resident memory.
121-
122- Database loading code now supports capturing data from the repo's
123- ` metadata/md5-cache/ ` instead of trying to parse the data out of .ebuild
124- files. This solves a lot of problems with slot numbers that were previously
125- showing bad data because the .ebuild files often do a lot of scripting
126- with regards to declaring a slot number. App Swipe will still continue to
127- fall back to parsing .ebuild files if the repo does not have metadata cache.
128-
129- Now supports displaying bzip2 compressed files.
130- Now supports displaying text files with markdown formatting.
131-
132- Now does a better job of sorting packages by version number. Previously,
133- version numbers containing alpha, beta, pre, rc (basically, any sort of
134- "pre-release") could end up sorting out as being newer than the final
135- release.
136-
137- Fixed a bug in applying masks to the right versions when using the ` <= `
138- operator.
139-
140- Now supports packages with excessive tuples in the version string
141- (such as ` net-ftp/ftp-0.17.34.0.2.5.1 ` ). The SQL database schema now supports
142- up to 10 tuples maximum.
143-
144- Available USE flags (IUSE) now shows the latest available set from
145- the latest release in the repo rather than showing what the available USE
146- flags were for that package at install. This seems more useful, as it may let
147- you know more about what's really available out there.
148-
149- Found some packages where the same IUSE flag is listed multiple times - we
150- now remove duplicates so App Swipe's display is less cluttered.
151-
152- We now filter out USE flags that aren't in the package's available IUSE flags
153- list. This cleans up the display of extraneous USE flags that seem more like
154- internal portage flags than actual options for the user.
155-
156- Hard reload (CTRL-R) when viewing an app page no longer blindly reloads all
157- mask files like it used to. Instead, we only execute SQL updates
158- for the masks that contain this app's atom string. This makes hard
159- reload work a lot faster while most likely still providing the same results.
160-
161- Pressing Return while a link is highlighted in the browser view now triggers
162- navigating to the linked page. This keyboard shortcut comes in handy after
163- doing a CTRL-F search for a particular package.
164-
165- What's New in v1.1.48?
166- ======================
167-
168- Added support for laptops that have no right mouse button. Now you can left
169- click and hold to trigger a "right click."
170-
171- ` View Updates ` now filters out live ebuilds with version numbers
172- 9999, 99999, 999999, 9999999, 99999999, or 99999999 (just to be sure).
173-
174- The ` View Updates ` screen now features an ` Upgrade ` button to let you emerge
175- all the upgradable packages that App Swipe sees. This is similar to
176- ` Update World ` , except App Swipe doesn't burn a bunch of CPU cycles
177- determining which package dependencies descend from your @world list like
178- emerge does. Instead, we just list any package already installed on your
179- system that could be upgraded to a newer version.
180-
181- The ` View Updates ` URL input box now supports adding filters.
182- Let's say you only want the subset of upgradable packages
183- that contain the word ` qt ` for example. The URL ` update:qt ` will let you see
184- only those packages, and the ` Fetch ` or ` Upgrade ` buttons on this page will
185- limit itself to only fetching or upgrading the ` qt ` subset as well.
186-
187- You can also apply negative filters. Let's say you want to upgrade Qt
188- packages, but you want to avoid ` qtwebengine ` for now (because that one is
189- * huge* and takes * forever* ). You could simply use the URL
190- ` update:qt -qtwebengine `
191-
192- ![ Filtering updates] ( https://github.com/k9spud/appswipe/assets/39664841/71df9665-d329-4db0-b6e1-d3b8238a0662 )
193-
194- ` Update System ` and ` Update World ` now add the ` --changed-use ` emerge flag.
195- This flag makes emerge pick up on packages that need re-building due to
196- any new USE flag changes made to your portage configuration files.
197-
198- We now trigger an automatic App Swipe database reload at the end of successful
199- ` emerge --update ` operations.
239+ Common Problems
240+ ===============
200241
201- Fixed a bug where the app could crash when saving state if there exists
202- a newly opened window that has no tabs.
242+ When I right click and "Reinstall from source," it just reinstalls the
243+ previously built binary?
244+ ----------------------------------------------------------------------
203245
204- Fixed a bug that made it impossible to view an app info page where the app name
205- has what might be a version number (but actually isn't). For example
206- ` media-fonts/font-bh-100dpi ` would previously show a blank page when
207- trying to bring it up.
246+ This can be caused by having "FEATURES=${FEATURES} getbinpkg" in your
247+ ` /etc/portage/make.conf ` file. App Swipe can't override FEATURES
248+ from the command line.
208249
209- Added code for removing /tmp/AppSwipe.XXX temporary file after it has been
210- used.
250+ The suggested workaround is to remove ` getbinpkg ` from the ` FEATURES `
251+ variable, and instead add ` --getbinpkg=y ` to the ` EMERGE_DEFAULT_OPTS `
252+ variable. This has the same effect, except now App Swipe can override
253+ the use of binary packages when doing a "Reinstall from source"
254+ operation.
211255
212256License
213257=======
0 commit comments