[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
slackwarearm:sft-repos [2023/04/20 09:19 (UTC)] – created mozes | slackwarearm:sft-repos [2023/05/26 07:19 (UTC)] (current) – mozes | ||
---|---|---|---|
Line 10: | Line 10: | ||
===== Example ===== | ===== Example ===== | ||
+ | |||
+ | For this example we will build the package ' | ||
+ | |||
+ | |||
+ | === Prepare the build environment on your local machine === | ||
+ | |||
+ | Elevate yourself to the root user: | ||
+ | |||
+ | < | ||
+ | su - | ||
+ | </ | ||
+ | |||
+ | Create a directory to hold the SlackBuilds.org recipes and application source archives: | ||
+ | < | ||
+ | mkdir -p / | ||
+ | cd / | ||
+ | </ | ||
+ | |||
+ | |||
+ | == Import the GPG key for the SlackBuilds.org project == | ||
+ | |||
+ | < | ||
+ | wget https:// | ||
+ | gpg --import GPG-KEY | ||
+ | </ | ||
+ | |||
+ | The output from gpg should look similar to this: | ||
+ | < | ||
+ | gpg: directory `/ | ||
+ | gpg: new configuration file `/ | ||
+ | gpg: WARNING: options in `/ | ||
+ | gpg: keyring `/ | ||
+ | gpg: keyring `/ | ||
+ | gpg: / | ||
+ | gpg: key 9C7BA3B6: public key " | ||
+ | gpg: Total number processed: 1 | ||
+ | gpg: | ||
+ | gpg: no ultimately trusted keys found | ||
+ | </ | ||
+ | |||
+ | === Locate the package you're interested in === | ||
+ | |||
+ | Open the [[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Select the version of Slackware you're using from the drop down menu on the right hand side. | ||
+ | |||
+ | <note tip>For Slackware -current (the development trunk), select the latest version of Slackware.</ | ||
+ | |||
+ | === Download the components === | ||
+ | |||
+ | Typically there are a minimum of three assets to download: | ||
+ | |||
+ | - The SlackBuilds.org build recipe archive. | ||
+ | - The build recipe archive' | ||
+ | - The source archive of the software application | ||
+ | |||
+ | == Download the SlackBuilds.org recipe archive == | ||
+ | |||
+ | Right click on the URLs for the SlackBuilds.org recipe archive: | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | Use '' | ||
+ | |||
+ | Type '' | ||
+ | |||
+ | < | ||
+ | wget https:// | ||
+ | </ | ||
+ | |||
+ | == Download the SlackBuilds.org recipe archive digital signature == | ||
+ | |||
+ | Right click on the URL for the SlackBuilds.org recipe archive digital signature. | ||
+ | Type '' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | < | ||
+ | wget https:// | ||
+ | |||
+ | === Verify the SlackBuilds.org recipe archive === | ||
+ | |||
+ | < | ||
+ | gpg --verify p7zip.tar.gz.asc | ||
+ | gpg: assuming signed data in `p7zip.tar.gz' | ||
+ | gpg: Signature made Sat 28 Jan 2023 01:30:52 AM GMT using DSA key ID 9C7BA3B6 | ||
+ | gpg: Good signature from " | ||
+ | gpg: WARNING: This key is not certified with a trusted signature! | ||
+ | gpg: There is no indication that the signature belongs to the owner. | ||
+ | Primary key fingerprint: | ||
+ | </ | ||
+ | |||
+ | You should see '' | ||
+ | |||
+ | |||
+ | === Unpack the SlackBuilds recipe archive === | ||
+ | |||
+ | < | ||
+ | tar xf p7zip.tar.gz | ||
+ | cd p7zip | ||
+ | </ | ||
+ | |||
+ | === Download the software' | ||
+ | |||
+ | Right-click the URL of the software' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Use '' | ||
+ | |||
+ | < | ||
+ | wget https:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Verify the integrity of the source archive === | ||
+ | |||
+ | MD5 sums are displayed on the SlackBuilds page for the software archives: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | You need to compare this to the version you have downloaded and ensure they match. | ||
+ | |||
+ | < | ||
+ | openssl md5 p7zip-17.04.tar.gz | ||
+ | MD5(p7zip-17.04.tar.gz)= 00acfd6be87848231722d2d53f89e4a5 | ||
+ | </ | ||
+ | |||
+ | You can either compare this visually or use a command to do it. | ||
+ | You can copy and paste the md5sum from the web page into the shell: | ||
+ | |||
+ | < | ||
+ | [ "$( openssl md5 p7zip-17.04.tar.gz | awk ' | ||
+ | good | ||
+ | </ | ||
+ | |||
+ | === Adjust the SlackBuild build recipe for AArch64 === | ||
+ | |||
+ | An [[https:// | ||
+ | the SlackBuilds.org repository, but at present (April 2023) most/all packages will require minor changes to handle Slackware AArch64. | ||
+ | |||
+ | Fortunately in 99% of the cases we can use a single command to fix them up. Paste in the following command: | ||
+ | |||
+ | < | ||
+ | sed -i '/ | ||
+ | </ | ||
+ | |||
+ | === Build the package === | ||
+ | |||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | If the package builds successfully it will be stored in ''/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | == Build failures due to compiler flags == | ||
+ | |||
+ | In some cases the use of the '' | ||
+ | |||
+ | Open the '' | ||
+ | |||
+ | Locate the following section: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Remove '' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Save the edited build script and re-build. | ||
+ | |||
+ | == Build failures due to other reasons == | ||
+ | |||
+ | The vast majority of the SlackBuilds.org package maintainers do not test their packages on ARM, and so some packages may fail to build. | ||
+ | In such cases if you're able to fix it yourself, you should do so and submit the fix to the maintainer. | ||
+ | |||
+ | If you are unable to resolve it, you can post to the [[https:// | ||
+ | |||
+ | |||
+ | === Install the package === | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||