You are not logged in.

#1 2016-07-27 05:09:32

AndrewK
Member
From: Burnaby, Canada
Registered: 2015-12-18
Posts: 10

ABS patch to aisleriot gone wrong

I'm trying to add a game to Aisleriot solitaire -- but I'm floundering.

I've followed the directions for setting up the ABS tree and have copied Aisleriot to a build directory.  The modification I want to start seems to be best considered a patch, so I'm following the article "Patching in ABS" in the ArchWiki.  I then read the README in the source code, telling how to add a game.  This gives me a list of things to do, not all of which are possible (e.g. a script I'm supposed to run doesn't exist), but I more-or-less do what it says and create a patch file.

However, when I run /makepkg/ it doesn't quite work:  The new game appears to compile, but it doesn't appear in the drop-down list of games, so can't be invoked. I'm not quite sure where to turn, so I ask if there's an expert here in this forum who'd be willing to give guidance.

What info should I post? How much detail?

Aisleriot is written with guile/scheme, so there's the possibility that it can install a new game at run time, but the README doesn't seem to say so.

Help would be much appreciated.

Andrew


Clever.  Too clever.

Offline

#2 2016-07-28 12:57:52

Awebb
Member
Registered: 2010-05-06
Posts: 6,286

Re: ABS patch to aisleriot gone wrong

Your PKGBUILD in code tags here and the build output pasted to a paste service would be a start.

Offline

#3 2016-08-15 13:01:25

AndrewK
Member
From: Burnaby, Canada
Registered: 2015-12-18
Posts: 10

Re: ABS patch to aisleriot gone wrong

Thanks to you Awebb.  The Gnome/Aisleriot expert uses Git and GNU-style build, so I went that way.  I would like to understand the difference between that and ABS. It seems that Git is so popular these days that competing methods are being left behind.  If my patch is incorporated into the main Git branch, will it flow down into the Arch repo somewhere?


Clever.  Too clever.

Offline

#4 2016-08-16 23:49:35

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,922

Re: ABS patch to aisleriot gone wrong

ABS is exclusive to arch and solely for PKGBUILD related files.

The git repo you submitted a request to is the location where the sourcecode for the program is stored/maintained.

ABS and git are not competitors.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2016-08-20 19:39:10

AndrewK
Member
From: Burnaby, Canada
Registered: 2015-12-18
Posts: 10

Re: ABS patch to aisleriot gone wrong

All right.  So at some point someone from the Arch world takes a particular Git commit, runs ABS on it, and makes a PKGBUILD package.  Who?

That is to say, if it's not the original programmers, is it a special person from each category?  A games-list person?  Or a Pacman person?


Clever.  Too clever.

Offline

#6 2016-08-20 20:44:43

Awebb
Member
Registered: 2010-05-06
Posts: 6,286

Re: ABS patch to aisleriot gone wrong

Look up the terms "upstream" and "downstream". The developer of, say, LibreOffice is upstream, all distributions (say, Arch, Debian, Hannah Montana Linux) are called downstream. Imagine a river, the programmer is a well, sending code downstream and so on.

There are the official repositories (the default ones in the pacman.conf). Those are being managed by "the Arch team" (see the main page for a link to an overview of who you're dealing with). Those maintainers use the official sources of the respective projects (http/ftp provided tarballs or, if those are unavailable or otherwise not preferable, tagged vcs commits from the respective project's system (git, svn, hg...) and write a PKGBUILD, so the "Arch Build System", a collection of tools and servers made by Arch developers for Arch, can build the packages and make them available. Volunteers will also mirror the Arch package servers (those from the mirror list and others). A part of ABS (the Arch Build System) is a command line tool called "abs", a tool that allows you to download one or all PKGBUILD files from the official repositories (base, base-devel ..., see pacman.conf).

The tools are being developed by members of the Arch team. I will not list all the tools (look it up yourself). To name a few: pacman, makepkg, mkinitcpio (this is actually Arch sort-of-specific, to the dismay of some upstream devs) and abs.

Find the "Packages" page in the navigation on the top right of this page. Search for a package and look up the maintainer. The Arch team is not as big as, say, the Debian team, so you may find that the Arch maintainers are not entirely category based, but rather assigned by interest and capability. If a maintainer has experience with and interest in a certain package, he or she will most likely be able to maintain it, because it actually is work and not always fun in its pure form, although it has a tendency to be somewhat rewarding, so I reckon it's more often an issue of finding a maintainer for a package, than it is to decide, to whom the privilege to maintain a package falls.

Then there is the AUR, a user run repository of PKGBUILD files (not of final packages understood by pacman). It is being maintained together by the Arch core team with help from so called "Trusted Users", who are also involved in the community repository (see pacman.conf).

From there on you should be able to read and understand the wiki. Read (or at least scan) the articles about ABS, makepkg, AUR, Trusted Users and Mirrors. There will be a quiz.


BUT, HOWEVER you actually asked, whether

If my patch is incorporated into the main Git branch, will it flow down into the Arch repo somewhere?

If you submit a patch upstream and the patch is accepted into their main branch, then eventually upstream will release a stable version (in whatever form). Then the maintainer of the Arch package will update the package and you get your changes. This can be as fast as a day or as long as never, but it will eventually happen.

If you can't wait between one day and until the sun explodes, you can either try to influence the maintainer (I heard bribery works well, but there have been reports of successful tearful pleads) or write your own PKGBUILD. If you want to build a git package for an existing package, then you should either use the cli tool "abs" to download the tarball with the PKGBUILD or use the Packages page to get it and modify it to for your git source (see the "Creating packages" wiki article and /usr/share/pacman/PKGBUILD-vcs.proto).

Offline

Board footer

Powered by FluxBB