User talk:Det

From ArchWiki
Revision as of 20:24, 25 February 2012 by Greyscale (talk | contribs) ("I changed the sed line too but I really don't understand how the exclution thing (with !) works)": new section)
Jump to: navigation, search

Templates vs links

I'm talking about [1] and [2]. Why did you change them to direct links? --Karol 17:24, 29 October 2011 (EDT)

The thing is that the {{Package AUR|}} templates sadly only lead to a search page showing (only) the said package, while actual links go straight to the package's "home page". --Det 18:33, 29 October 2011 (EDT)
I think we should file a bug report. The AUR should send you to the package page if you run an "exact name" search and there's a result. The search bar is already visible on all pages and the advanced options can still be opened on package pages so it can be left open after a search using "exact name" just like it is now. -- thestinger 23:45, 29 October 2011 (EDT)
@Det, I understand your point, but we're trying to give a more consistent, standardized style to articles (see Help:Style), so please don't use direct links, probably the most proper way to improve this situation is pursuing thestinger's idea on the bug tracker. Can you restore Template:AUR where you removed it? Thank you, we all recognize the valuable work you've been doing on the wiki for so long :) -- Kynikos 10:56, 30 October 2011 (EDT)
Been a while since I last came here. I'll do the bug report in a week or so. My exam week starts tomorrow. --Det 10:30, 23 November 2011 (EST)
Please note: The AUR is essentially in maintenance mode. No new features are planned. If you want a bug fixed, or a feature implemented it's probably best to write a patch and send it to the aur-dev mailing list.
I glanced over the relevant code that would require modification:
This change would not be trivial but is certainly feasible. However, I see nothing wrong with returning a single-result search page.
-- pointone 14:43, 1 December 2011 (EST)
Yeah, well, it's completely unnecessary. The user is going to click the single result anyway. --Det 04:42, 2 December 2011 (EST)
You know, I meant that _having_ to click the single result is completely unnecessary. Is the AUR still in maintenance mode? --Det 16:31, 22 February 2012 (EST)
Note: The AUR is essentially in maintanence mode. No new features are planned. I have no idea if this answers your question and whether the feature request will be implemented or not. Was any such request opened or patch sent? -- Karol 18:04, 22 February 2012 (EST)
I don't think a patch has been sent, however this problem can be solved in two ways:
  1. We use the current query string and if the search returns one value, we output the details of the package instead of the search results. The problem here is that we should probably modify pkg_search_page(), which is already quite complex.
  2. We introduce a new GET variable, e.g. NAME, composing the URL like and just modify a bit packages.php at the bottom, adding a simple elseif:
if (isset($_GET['ID'])) {
} elseif (isset($_GET['NAME'])) {
    if (!$_GET['NAME'] = urldecode($_GET['NAME'])) {
        print __("Error trying to retrieve package details.")."<br />\n";
    } else {
        if (isset($_COOKIE["AURSID"])) {
            package_details(pkgid_from_name($_GET['NAME']), $_COOKIE["AURSID"]);
        else {
            package_details(pkgid_from_name($_GET['NAME']), null);
} else ...
Of course I can't test this, can somebody confirm?
-- Kynikos 18:50, 22 February 2012 (EST)
This one may work too, still in theory (merging if and elseif):
if (isset($_GET['ID']) || isset($_GET['NAME'])) {
	$id = (isset($_GET['ID'])) ? intval($_GET['ID']) : pkgid_from_name(urldecode($_GET['NAME']));
	if (!$id) {
		print __("Error trying to retrieve package details.")."<br />\n";
	} else {
		if (isset($_COOKIE["AURSID"])) {
			package_details($id, $_COOKIE["AURSID"]);
		else {
			package_details($id, null);
} else ...
-- Kynikos 19:14, 22 February 2012 (EST)

"I changed the sed line too but I really don't understand how the exclution thing (with !) works)"

Haven't used sed much but the perl part is straight forward. Replace each /sbin/ with /usr/bin/ except if it's followed by modprobe, since it still is in /sbin/ so we don't want to change those onces.

So /sbin/lsmod turns into /usr/bin/lsmod but /sbin/modprobe stays as /sbin/modprobe

If one would use

sed -i "s|/sbin/|/usr/bin/|g" /etc/rc.d/vmware

then the path for modprobe would been changed too.

So in that case one would have to change it into something like this:

sed -i -e "s|/sbin/|/usr/bin/|g" -e "s|/usr/bin/modprobe|/sbin/modprobe|g" /etc/rc.d/vmware

(someone that have used sed more than I have will probably have a better version than I do)

Greyscale 15:24, 25 February 2012 (EST)